Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Куровой.doc
Скачиваний:
13
Добавлен:
05.09.2019
Размер:
1.48 Mб
Скачать

6

Министерство образованиЯ и науки, МОЛОДЕЖИ и СПОРТА УКРАИНЫ

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

Институт информатики и искусственного интеллекта

Д6.050103.1.01.09/183.КП Кафедра программного обеспечения

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

КУРСОВОЙ ПРОЕКТ

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

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

характеристиками»

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

____________ ст. пр. Сорокин Р.А.

(дата, подпись)

____________ асс. Литвин С.С.

(дата, подпись)

Разработала:

___________ ст.гр. ПОС-09в ФедишинА.А.

(дата, подпись)

Донецк 2012

Форма № У 6.01

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

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

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

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

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

Курс 3 Група ПОС-09в Семестр 6 .

З А В Д А Н Н Я

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

Федишина Александра Анатолийвича ____________________ .

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

1. Тема проекту (роботи) Проектирование операционной системы с заданными . характеристиками .

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

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

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

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

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

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

К алендарний план

п/п

Найменування етапів

дипломного проекту (роботи)

Строк виконання

етапів проекту (роботи)

Примітка

1

Выбор исходных элементов из классфикатора для изучения проектного решения

1-2 недели

2

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

2-3 недели

3

Разработка интерфейса пользователя (командного языка)

3-4 недели

4

Проектирование основних структур данных и базы данных ОС

5-8 недели

5

Программирование и отладка средства взаимодействия процессов

9-10 недели

6

Программирование и отладка логики управления файловой системы

11-12 недели

7

Написание программной документации и оформление пояснительной записки

13 неделя

8

Защита КП

14 неделя

Студент ____________________________ Федишин А.А. .

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

Керівник __________________________________ Сорокин Р.А . .

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

Керівник __________________________________ Литвин С.С.. .

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

«____» ____________________ 2012 р.

РЕФЕРАТ

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

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

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

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

Д050103.1.01.09/183.КП

Фамилия

Подпись

Дата

Разработал

ФедишиА.А.

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

Литера

Лист

Листов

Рук. проекта

Сорокин Р.А.

у

3

95

Литвин С.С.

ИИИИ,

каф. ПОИС,

группа ПОС-09в

Н. контр.

Зав. каф.

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

СОДЕРЖАНИЕ

Введение 7

1 Постановка задачи 9

1.1 Общая постановка задачи 9

1.2 Цель создания курсового проекта 9

1.3 Область применения 9

1.4 Характеристики операционной системы 9

1.4.1 Особенности аппаратных платформ 9

1.4.2 Особенности алгоритмов управления ресурсами 11

1.4.3 Особенности областей использования 12

1.4.4 Организация оперативной памяти 12

1.4.5 Средства взаимодействия процессов 16

1.4.7 Управление процессами 18

1.4.8 Организация файловой системы 18

2 Выбор архитектуры вычислительной системы 22

2.1 Общая схема архитектуры вычислительной системы 22

2.2 Архитектура процессора 24

2.2.1 Архитектура процессора 24

2.2.2 Режимы адресации 25

2.3 Система команд 25

2.4 Спецификации интерфейсов с ВУ 28

2.5 Система прерываний 30

2.6 Аппаратные средства обеспечения защиты ………………………………30

3 Проектирование командного языка ос 33

3.1 Интерактивные команды 33

3.2 Системные вызовы 34

3.3 Язык пакетных файлов 35

4 Определение состава и общей структуры системы 37

4.1 Общее описание ядра и ОС 37

4.2 Ядро и вспомогательные модули ОС 39

4.3 Загрузка ОС 42

4.4 Структура ядра ОС 44

4.5 Системные вызовы 45

5 Формирование базы данных ОС 53

5.1 Структура управляющих блоков базы данных ОС 53

5.2 Схема взаимодействия управляющих блоков базы данных ОС 53

6 Программная реализация 56

6.1 Средства взаимодействия процессов 56

Разработала

Фамилия

Подпись

Дата

Д050103.1.01.09/183.КП

Лист

ст. гр. ПОС-09в

Федишин А.А.

4

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

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

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

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

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

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

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

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

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

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

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

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

Разработала

Фамилия

Подпись

Дата

Д050103.1.01.09/183.КП

Лист

ст. гр. ПОС-09в

Федишин А.А.

6

6.2 Реализация логики управления файловой системой 58

7 Определение состава и общей структуры ос 60

7.1 Структура системы 60

7.2 Первоначальная загрузка 61

7.3 Файловая система ОС 61

7.4 Устройства 61

7.5 Процессы 62

7.6 Общий алгоритм диспетчеризации 67

7.7 Архитектура ядра UNIX 67

7.8 Прерывания и особые ситуации 68

7.9 Функции операционной системы 69

Выводы 70

Список использованных источников 71

Приложение А. Техническое задание 72

Приложение Б. Руководство пользователя 75

Приложение В. Экранные формы 76

Приложение Г. Листинг программы 79

Разработала

Фамилия

Подпись

Дата

Д050103.1.01.09/183.КП

Лист

ст. гр. ПОС-09в

Федишин А.А,

5

ВВЕДЕНИЕ

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

Использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно, надо анализировать. Даже если не входить в курс реальных проблем программирования ввода-вывода, ясно, что среди программистов нашлось бы не много желающих непосредственно заниматься программированием этих операций. При работе с диском программисту-пользователю достаточно представлять его в виде некоторого набора файлов, каждый из которых имеет имя. Работа с файлом заключается в его открытии, выполнении чтения или записи, а затем в закрытии файла. Вопросы подобные таким, как следует ли при записи использовать усовершенствованную частотную модуляцию или в каком состоянии сейчас находится двигатель механизма перемещения считывающих головок, не должны волновать пользователя. Программа, которая скрывает от программиста все реалии аппаратуры и предоставляет возможность простого, удобного просмотра указанных файлов, чтения или записи - это, конечно, операционная система. Точно также, как ОС ограждает программистов от аппаратуры дискового накопителя и предоставляет ему простой файловый интерфейс, операционная система берет на себя все малоприятные дела, связанные с обработкой прерываний, управлением таймерами и оперативной памятью, а также другие низкоуровневые проблемы. В каждом случае та абстрактная, воображаемая машина, с которой, благодаря операционной системе, теперь может иметь дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины.

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

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

  • планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;

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

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