Общее описание функционирования ОС
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Разработка проекта состоит в последовательной детализации описаний операционной системы. На основании требований варианта задания формируется командный язык. На этом этапе ОС представляет собой "черный ящик", исполняющий команды. Далее "черный ящик" структурируется путем выделения ядра, системных процессов, а также отдельных функциональных модулей ядра и базы данных ОС. В настоящей работе необходимо выполнить описание функционирования ОС на уровне, отображающем взаимодействие элементов структуры: системных процессов, модулей ядра, объектов базы данных.

Основное назначение мультипрограммной ОС - обеспечить исполнение множества процессов, совместно использующих ресурсы компьютера. Поэтому ключом к пониманию функционирования ОС является диаграмма состояний процесса. Как правило, процесс может находиться в одном из трех состояний: представление, готовность, выполнение, ожидание (блокировка), завершение. При составлении диаграммы состояний необходимо в соответствии с вариантом задания обеспечить детальное отображение всех возможных уровней готовности и видов блокировок. Диаграмма представляется в виде ориентированного графа, вершины которого соответствуют состояниям процесса, а дуги отображают допустимые способы изменения состояний.

Нагрузками дуг являются события (прерывания), вызвавшие изменение состояния, а также модули ОС, осуществляющие это изменение. Таким образом, полная диаграмма состояний раскрывает функции основных модулей ОС и события, инициирующие их вызов.

 Диаграмма состояний характеризует действия ОС с позиций отдельно взятого процесса. На общей схеме функционирования ОС необходимо отобразить взаимодействие пользователей, прикладных и системных процессов, модулей ядра и аппаратных средств компьютера. Схема определяет порядок исполнения основных интерактивных команд, а также системных вызовов, которые переадресуются для выполнения системным процессам (специализированным процессорам).

 Ядро ОС обеспечивает создание мультипроцессной среды и исполнение системных вызовов (примитивов) управления процессами, оперативной памятью и устройствами. Общая схема работы ядра раскрывает порядок выполнения основных системных вызовов и обработки прерываний. Так как язык системных вызовов реализуется, как правило, посредством механизма программных прерываний, ядро ОС является, по-существу, совокупностью обработчиков прерываний. При описании работы ядра следует обратить внимание на действия по переключению контекста процессора, обеспечивающие фактический переход от исполнения одного процесса к исполнению ядра и далее к исполнению следующего процесса.

Содержание отчета

 

Описание функционирования ОС:

- диаграмма состояний процесса;

- общая схема функционирования ОС;

- схема работы ядра ОС: взаимосвязи модулей, управление прерываниями, переключение контекста процессора.


Пример общей схема работы ядра приведен на рисунке 8.1

 

 
                       │              ┌───────┴─────────┐ Save ( Current )   Вход в ядро│ KERNEL _ ENTRY │              └───────┬─────────┘ Set ( Kernel )       ┌──────────────┴───────────────────┐   ┌───┴───┐ . . . . . . . . . . ┌───┴───┐ ┌───>│ М1 │                     │ МN │ Модули   │ └───┬───┘ . . . . . . . . . . └───┬───┘ │ ───┴───────────┬────────┬────────────┬┴─── │         Конец │   │Переплани- │Выход без │         кванта│ . . . │рование │перепланирования │            ┌──┴────────┴──┐    │ └────────────────>│ Планировщик │    │ Изменить состояние└──────┬───────┘    │ процесса        │ ┌────────────┘               ┌───────┴────┴──┐ Выход из ядра│KERNEL _ EXIT │ Set ( Current )               └───────┬───────┘                       │  

 

 


Рисунок 8.1 – Общая схема работы ядра ОС


Л И Т Е Р А Т У Р А

 

Основная:

1. Таненбаум Э. Современные операционные системы / Э.Таненбаум, Х.Бос // 4-е изд. –СПб.: Питер, 2015. – 1120 с.: ил.

2. Руссинович М. Внутреннее устройство Microsoft Windows / М. Руссинович, Д. Соломон // 6-е изд. — СПб.: Питер, 2013. — 800 с.: ил.

3. Кофлер М. Linux. Полное руководство. — СПб.: Питер, 2011. — 800 с.: ил.

4. Голощапов А. Л. Google Android: системные компоненты и сетевые коммуникации. — СПб.: БХВ-Петербург, 2012. — 384 с.: ил.

5. Олифер Н. А., Олифер В. Г. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов, 4-е изд. - СПб.: Питер, 2011. – 944 с.: ил.

6. Олифер Н. А., Олифер В. Г. Сетевые операционные системы- СПб.: Питер, 2007. – 864 с.: ил.

 

Дополнительная:

7. .Мешков А.,Тихонов Ю. Visual C++ и MFC. Программирование для Windows NT и Windows 95-:В трех томах. Том 1.-СПб.:BHV- Санкт-Петербург,1997.-464с.,ил.

8. Вильямс А. Системное программирование в Windows 2000 для профессионалов – СПб: Питер, 2001. – 624 с.: ил. Харт, Джонсон, М. Системное программное обеспечение в среде Windows, 3-е издание. :Пер.с англ. М. Издательский дом «Вильямс», 2005. – 592 с.:ил.

9. Альфред Ахо, Рави Сети, Джеффри Ульман Компиляторы: принципы, технологии и инструменты. : Пер. с англ. – М. : Издательский дом «Вильямс», 2001.-768 с. :ил.

 


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

 ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

 

 

КП-6.050103-13-027.001.ПЗ                Кафедра программного обеспечения                  

                                                                                    интеллектуальных систем

 

 

КУРСОВАЯ РАБОТА

по дисциплине: «Операционные системы»

Тема: «Проектирование операционной системы с заданными характеристиками»

 

                                                  Руководители: 

                                                                          (дата, подпись)                ст.преп. А.И. Ольшевский

                                                                                    (дата, подпись)                    ст.преп. Р.А. Сорокин

                                                  Нормоконтроль: 

                                                                          (дата, подпись)                ст.преп. А.И. Ольшевский

                                                                                    (дата, подпись)                    ст.преп. Р.А. Сорокин

Разработал:

(дата, подпись) ст. гр. ПОС-12а Д. В. Шепляков 

 

Донецк

2013


Форма № У 6.01

 

                              Донецкий национальный технический университет __________________

(назва вищого навчального закладу)

 

Кафедра Программного обеспечения интеллектуальных систем_________________________

Дисципліна Операционные системы________________________________________________

Спеціальність Программное обеспечение систем                                                     

Курс _3_________ Група _____ПЗС-12а_____________ Семестр __________________5______

 






З А В Д А Н Н Я

на курсовий проект (роботу) студента

 

                                            Головко Владимира Михайловича

 (прізвище, ім’я, по батькові)

 

1. Тема проекту (роботи) Проектирования операционной системы с заданными характеристиками (аппаратная платформа – сверхпроизводительные ЭВМ и системы (супер-ЭВМ), алгоритм управления ресурсами – (многозадачные, многопользовательские, вытесняющая многозадачность), особенности областей использования (системы пакетной обработки, системы реального времени), организация оперативной памяти без использования внешней памяти с переменными разделами и уплотнением памяти, средства взаимодействия процессов: критические секции и потоки, управление процессами –абсолютные приоритеты, организация файловой системы – HPFS ( OS /2).__________________

_________________________________________________________________________________

_________________________________________________________________________________ _________________________________________________________________________________

2. Строк здачі студентом закінченого проекту (роботи) 20.12.2013________________________

3. Вихідні дані до проекту (роботи) архитектура аппаратных средств компьютера, интерфейс пользователя (командный язык), состав и общая структура ОС, базы данных ОС, средства взаимодействия процессов, структура и реализация логики управления файловой системы, общее описание функционирования ОС ____________________________________________________

_________________________________________________________________________________

_________________________________________________________________________________

_________________________________________________________________________________      

4. Зміст розрахунково-пояснювальної записки (перелік питань, які підлягають розробці) _____

состав и общая структура ОС, базы данных ОС, средства взаимодействия процессов, структура и реализация логики управления файловой системы_____________________________________

_________________________________________________________________________________      

_________________________________________________________________________________

_________________________________________________________________________________

5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень) ____________

_________________________________________________________________________________      

_________________________________________________________________________________

_________________________________________________________________________________ _________________________________________________________________________________

6. Дата видачі завдання 05.09.2013__________________________________________________



КАЛЕНДАРНИЙ ПЛАН

№ п/п Найменування етапів дипломного проекту (роботи) Строк виконання етапів проекту (роботи)   Примітка
1 Выбор исходных элементов из классификатора для изучение проектного решения 1-2 недели  
2 Разработка архитектуры аппаратных средств компьютера для реализации ОС 2-3 недели  
3 Разработка интерфейса пользователя (командного языка) 3-4 недели  
4 Проектирование основных структур данных и базы данных ОС 5-8 недели  
5 Программирование и отладка средства взаимодействия процессов 9-11 недели  
6 Программирование и отладка логики управления файловой системы 12-14 недели  
7 Написание программной документации и оформление пояснительной записки 15 неделя  
8 Защита КП 16 неделя  
       
       
       
       
       
       
       
       
       
       
       
       
       

 

Студент________________________________

                                           (підпис)

Керівник __________________________________             Ольшевский А.И._____

                                           (підпис)                                             (прізвище, ім’я, по батькові)

 

 

«____» ____________________ 20 ___ р.

 


 

 


РЕФЕРАТ

 

Пояснительная записка: 95 с., 9 табл., 22 рис., 10 источников, 4 прил.

 

Целью создания проекта является приобретение практических навыков создания операционных систем и комплексного инженерного проектирования программного обеспечения, а также изучение особенностей различных алгоритмов управления ресурсами, организации оперативной памяти, средств взаимодействия процессов, а также организации файловых систем.

     Проект предназначен для демонстрации работы алгоритмов, связанных с операционными системами. Проектируемая операционная система может быть использована в учебных заведениях в качестве наглядного пособия при обучении приемам и правилам построения интерактивной операционной системы. Данный курсовой проект может ознакомить всех желающих с особенностями операционных систем и алгоритмов, применяемых ОС в управлении ресурсами. А также принципами работы файловой системы UNIX.

 

АРХИТЕКТУРА, ЯДРО, СИСТЕМНЫЙ ВЫЗОВЫ, ПРОЦЕССОР, МОДУЛЬ, БАЗА ДАННЫХ, СИСТЕМА КОМАНД, СЕМАФОР, ПАМЯТЬ, СИНХРОНИЗАЦИЯ, ПРОЦЕСС

 

         

 

         
    Фамилия Подпись Дата

Разработал

     

Проектирование операционной системы с заданными характеристиками

Литера

Лист Листов

Рук. проекта

Ольшевский А.И       у   3 95

 

     

ИИИИ,

каф. ПОИС,

группа ПОС-12а

Н. контр.

     

Зав. каф.

Шевченко А.И.    
                     

 

 

СОДЕРЖАНИЕ

 

Введение………………………………………………………………………… 8
1 Постановка задачи……………………………………………………………. 10
1.1 Общая постановка задачи………………………………………………….. 10
1.2 Цель создания курсового проекта…………………………………………. 10
1.3 Актуальность разработки и область применения ………………………... 10
2 Теоретические сведения……………………………………………………… 11
2.1 Классификация ОС ………………………………………………………… 11
2.2 Особенности алгоритмов управления ресурсами………………………… 11
2.2.1 Поддержка многозадачности…………………………………………….. 11
2.2.2 Поддержка многопользовательского режима…………………………... 11
2.2.3 Вытесняющая и невытесняющая многозадачнсть……………………… 12
2.2.4 Многопроцессорная обработка …………………………………………. 12
2.3 Особенности аппаратных платформ………………………………………. 13
2.4 Особенности областей использования…………………………………….. 15
2.5 Особенности методов построения………………………………………… 17
2.6 Уплотнение памяти…………………………………………………………. 20
2.7 Средства синхронизации и взаимодействия процес сов и потоков……... 21
2.8 Алгоритмы планирования, основанные на приоритетах………………… 21
2.9 Обзор файловой системы HPFS (OS/2)……………………………………. 22
3 Выбор архитектуры вычислительной системы……………………………... 24
3.1 Общая схема архитектуры вычислительной системы…………………… 24
3.2 Описание ВС………………………………………………………………... 26
3.3 Векторные суперкомпьютеры  SIMD ……………………………………. 28
3.4 Многопроцессорные векторные суперкомпьютеры MIMD……………... 30
3.5 Архитектура процесора ……………………………………………………. 32
3.6 Спецификация интерфейсов ВУ…………………………………………… 35
3.6.1 Система прерываний……………………………………………………... 35
3.6.2 Аппаратные средства обеспечения защиты…………………………… 38
4 Вытесняющая многозадачность и средства взаимодействия в ОС Windows XX и Windows NT…………………………………………………….   40
4.1 Структура проекта в виде графа…………………………………………… 40
4.2 Реализация алгоритмов…………………………………………………….. 40
4.2.1 Метод левых прямоугольников …………………………………………. 40
4.2.2 Метод правых прямоугольников ………………………………………... 41
4.2.3 Метод трапеций…………………………………………………………... 41
4.3 Выбор средств взаимодействия потоков………………………………….. 41

 

 

Разработал Фамилия Подпись Дата

КП-6.050103-13-063.001.ПЗ

Лист
ст. гр. ПОС-11а Головко В.М     4
         

 

 

 

4.4 Содержание log-файла после работы системы…………………………… 43
5 Проектирование командного языка ОС …………………………………….. 44
5.1 Требования к системе команд……………………………………………… 44
5.2 Интерактивные команды…………………………………………………… 44
5.3 Системные вызовы…………………………………………………………. 47
5.4 Язык пакетных файлов……………………………………………………... 48
6 Определение состава и общей структуры системы ………………………... 50
6.1 Ядро и вспомогательные модули ОС……………………………………… 50
6.2 Многослойная структура ОС………………………………………………. 53
6.3 Системные процессы……………………………………………………….. 57
6.4 Системные вызовы управления процессами……………………………… 58
6.5 Структура ядра ОС ………………………………………………………… 58
6.6 Подсистема управления файлами…………………………………………. 60
6.7 Подсистема управления процессами……………………………………… 60
7 Формирование базы данных ОС…………………………………………….. 62
7.1 Перечень, назначение и структура управляючих блоков………………... 62
7.2 Системная таблица файлов………………………………………………… 62
7.3 Список загружаемых драйверов устройств……………………………….. 63
7.4 Блок описания дисков DINFO……………………………………………... 64
7.5 Общая схема организации БД……………………………………………... 65
8 Проектирование структуры и реализация логики управления файловой системы…………………………………………………………………………..   67
8.1 Общее описание файловой системы HPFS (OS/2)………………………... 67
8.2 Описание команд………………………………………………………….. 68
9 Общее описание команд функционирования ОС ………………………… 69
9.1 Состояние процессов……………………………………………………… 69
9.2 Описание процессов………………………………………………………. 77
9.3 Управление процессами…………………………………………………... 78
9.4 Общая структура проектируемой ОС……………………………………. 79
Выводы………………………………………………………………………… 80
Список используемых источников…………………………………………… 81
Приложение А Техническое задание………………………………………… 82
Приложение Б Листинги……………………………………………………… 84
Б.1 Листинг реализации многопоточности………………………………….. 84
Б.2 Листинг программы реализации файловой системы…………………… 95
Приложение В Экранные формы…………………………………………….. 99
   
   

 

Разработал Фамилия Подпись Дата

КП-6.050103-13-063.001.ПЗ

Лист
ст. гр. ПОС-11а Головко В.М     5
         

 

 


ПЕРЕЧЕНЬ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ,

СОКРАЩЕНИЙ И ТЕРМИНОВ

 

КП    — Курсовой проект

ПО    — Программное обеспечение

ПП    — Программный продукт

ОС    — Операционная система

ЭВМ — Электронная вычислительная машина

БД     — База данных

ФС    — Файловая система

ОЗУ  — Оперативное запоминающее устройство

ОП    — Оперативная память

БД     — База данных

 

Разработала Фамилия Подпись Дата

 

Лист
       

6

       

Приложение А

 

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

 

А.1 Общие сведения

 

Полное наименование курсового проекта: «Проектирование операционной системы с заданными характеристиками».

Программный продукт проектируется студенткой 3-го курса ВУЗ ДонНТУ, факультета КНТ, группы СИИ-11 Фамилия Имя Отчество

Основанием для разработки данного проекта является задание, выданное кафедрой Программного обеспечения интеллектуальных систем (ПОИС) ИиИИ ВУЗ ДонНТУ.

Дата выдачи задания: 05.09.2018

Срок сдачи проекта:   20.12.2018

 

А.2 Назначение и цели создания проекта

 

Целью создания проекта является приобретение практических навыков комплексного инженерного проектирования программного обеспечения на примере создания операционной системы с заданными характеристиками. Проект предназначен для демонстрации работы алгоритмов управления потоками и выполнению основных команд файловой системы.

Проектируемая операционная система может быть использована в учебных заведениях в качестве наглядного пособия при обучении приемам и правилам проектирования операционной системы.

 

А.3 Требования к КП

 

Необходимо спроектировать компьютерную операционную систему.

 

А.3.1 Требования к задачам КП

 

В КП должны быть решены следующие задачи:

12. Сформулировать цели проектирования ОС.

13. Провести анализ требований к системе и выбрать способ их реализации.

14. Разработать архитектуру аппаратных средств компьютера для реализации ОС.

15. Определить состав и общую структуру ОС: перечень и внешние спецификации модулей.

16. Разработать интерфейс пользователя (командный язык архитектуры ОС: интерактивные команды ОС; системные вызовы; язык пакетных файлов).

17. Спроектировать базу данных ОС: перечень и описание управляющих блоков и очередей.

18. Описать общее функционирования ОС:

¾  состояние процесса;

¾  схему работы ядра ОС;

¾  алгоритмы управления процессами для реализации многозадачности и средств взаимодействия процессов.

19. Спроектировать структуру и реализовать логику управления заданной файловой системы.

20. Выполнить оценку работоспособности системы и ее эксплуатационных характеристик.

21. Сформулировать выводы по результатам проектирования.

 

А.3.2 Требования к функциональности КП

 

Разрабатываемый в рамках данного проекта программный продукт должен удовлетворять следующим требованиям к его функциональности по классификатору:

 

1. реализация особенностей аппаратных платформ: большие ЭВМ (универсальные ЭВМ общего назначения);

2. реализация особенностей алгоритмов управления ресурсами: многозадачные, многопользовательские, вытесняющая многозадачность;

3. реализация особенности областей использования: системы пакетной обработки и системы разделения времени;

4. организация оперативной памяти: с использованием внешней памяти: страничное распределение ;

5. выполнение средств взаимодействия процессов: взаимоисключения ( mutexes);

6. управление процессами: относительные приоритеты;

7. выполнение организации файловой системы: NTFS( Windows NT).

А.3.4 Требования к видам обеспечения

 

А.3.4.1 Требования к программному обеспечению

 

1. Программный продукт должен проектироваться как операционная система.

2. При разработке проекта должен использоваться объектно-ориентированный язык программирования С++.

 

А.3.4.2 Требования к техническому обеспечению

 

К техническому обеспечению предъявляются следующие требования:

1. Процессор с тактовой частотой 1000 MHz и выше, системой команд, включающей команды микропроцессора Pentium .

2. Объём оперативной памяти 1 Гб.

3. Клавиатура.

4. Мышь.

 

А.3.4.3 Требования к организационному обеспечению

 

Организационным обеспечением по данному проекту составляет пояснительная записка. Она должна включать в себя следующие элементы:

1. Техническое задание на курсовой проект.

2. Руководство пользователя.

3. Экранные формы.

4. Листинг программы.

 

А.4 Порядок защиты проекта

 

При защите проекта должны соблюдаться следующие требования:

1. Защита проекта проводится в присутствии соответствующей приемной комиссии.

2. Для защиты проекта необходимо в оговоренные сроки представить:

- задание на курсовой проект;

- пояснительную записку на курсовой проект;

- исполняемый файл программы.

 

А.5 Сроки выполнения курсового проекта

 

Стадии и этапы разработки КП представлены в таблице 5.1.

 

Таблица 5.1. Стадии и этапы разработки КП

 

Этапы работы Срок выполнения
1 Выбор исходных элементов из классификатора для изучение проектного решения. 1-2 недели
2 Разработка архитектуры аппаратных средств компьютера для реализации ОС 2-3 недели
3 Разработка интерфейса пользователя (командного языка) 3-4 недели
4 Проектирование основных структур данных и базы данных ОС 5-8 недели
5 Программирование и отладка средства взаимодействия процессов 9-13 недели
6 Отладка программы 14 неделя
7 Оформление ПЗ 15 неделя
8 Защита КП 16 неделя

 





Дата: 2019-02-25, просмотров: 236.