Проектирование гипотетической операционной системы

Автор: Пользователь скрыл имя, 23 Марта 2015 в 00:35, курсовая работа

Краткое описание

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

Оглавление

Техническое задание

1
Реферат

2
Введение

4
1 Структура проектируемой файловой системы

5
1.1 Общая организация файловой системы

5
1.2 Виртуальные страницы

10
1.3 Команды для работы с ФС

13
1.4 Системные вызовы для работы с ФС

14
1.5 Способы организации файлов

14
1.6 Алгоритмы работы некоторых системных вызовов ФС.

15
2 Процессы в ОС

16
2.1 Команды для работы с процессами

16
2.2 Системные вызовы управления процессами

16
2.3 Диаграмма состояний процесса

17
2.4 Приоритеты процессов

19
2.5 Выбор дисциплины обслуживания планировщика процессов. Алгоритм работы планировщика процессов.

19
2.6 Межпроцессное взаимодействие.

21
2.7 Свопинг процессов.

23
3 Режимы работы проектируемой ОС

29
3.1 Мультипрограммный режим работы ОС

29
3.2 Многопользовательская защита

30
3.3 Интерактивный режим работы ОС

31
3.4 Пакетный режим работы

31



4 Структура операционной системы

33
4.1 Общая структура проектируемой ОС.

33
4.2 Структура ядра проектируемой ОС.

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

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

37
Перечень ссылок

Файлы: 1 файл

Курсовая работа ТОС.doc

— 653.00 Кб (Скачать)

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

Государственное высшее учебное заведение

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

Кафедра “Прикладная математика и информатика”

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

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

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

 

 

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

Ст. преп. каф. ПМИ А. В. Чернышева

Отметка о защите  _____________

«____» _____________ 2012 г.

 

 

Выполнил:

студент  гр. ЦПИН-11п Н. А. Астафьев

 

 

Донецк, 2012 г.

 

Утверждено

зав. кафедры ПМИ

_________ Башков Е. А.

«____» ________ 2012 г.

 

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

на курсовую работу по дисциплине

«Теория операционных систем»

студента группы ЦПИН-11п

 

Тема: "Проектирование гипотетической операционной системы"

Задача к варианту № 1:

1. Режим работы ОС: мультипрограммный, многопользовательская защита, интерактивный, пакетный.

2. Управление  процессами: абсолютные приоритеты, статические приоритеты.

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

4. Организация  оперативной памяти: динамические разделы.

5. Перечень  внешних устройств: видеотерминал, НМД.

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

 

 

РЕФЕРАТ

 

Курсовой проект: 43 листа пояснительной записки, 14 рисунков, 8 ссылок.

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

При создании проекта применялся научный и экспериментально-аналитический подход.

Исходные данные тесно связаны с существующими операционными системами, в создаваемой операционной системе используются продуманный подход к проектированию системы.

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

 

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

 

 

СОДЕРЖАНИЕ

Техническое задание

 

1

Реферат

 

2

Введение

 

4

1 Структура проектируемой файловой системы

 

5

   1.1 Общая организация файловой системы

 

5

   1.2 Виртуальные страницы

 

10

   1.3 Команды для работы с ФС

 

13

   1.4 Системные вызовы для работы с ФС

 

14

1.5 Способы организации  файлов

 

14

1.6 Алгоритмы работы некоторых системных вызовов ФС.

 

15

2 Процессы в ОС

 

16

   2.1 Команды для работы с процессами

 

16

   2.2 Системные вызовы управления процессами

 

16

   2.3 Диаграмма состояний процесса

 

17

   2.4 Приоритеты процессов

 

19

2.5 Выбор  дисциплины обслуживания планировщика процессов. Алгоритм работы планировщика процессов.

 

19

2.6 Межпроцессное  взаимодействие.

 

21

2.7 Свопинг процессов.

 

23

3 Режимы работы  проектируемой ОС

 

29

3.1 Мультипрограммный режим  работы ОС

 

29

3.2 Многопользовательская  защита

 

30

3.3 Интерактивный режим  работы ОС

 

31

3.4 Пакетный режим работы

 

31


 

 

4 Структура операционной  системы 

 

33

    4.1 Общая структура проектируемой ОС.

 

33

4.2 Структура  ядра проектируемой ОС.

 

36

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

 

36

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

 

37

Перечень ссылок

 

43


 

 

 

 

ВВЕДЕНИЕ

 

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

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

Проектирование операционной системы — это сложный процесс, требующий больших затрат времени и труда. В рамках этой работы мы постараемся раскрыть суть операционной системы, спроектировав гипотетическую операционную систему, соответствующую заданным критериям и параметрам. Гипотетическая операционная система будет наглядно демонстрировать определенные возможности реальной операционной системы.

 

1 Структура проектируемой  файловой системы 

 

Файловая система — это способ организации данных, используемых операционной системой для хранения информации.

Часть операционной системы (далее ОС), работающей с файлами, называется файловой системой (далее ФС).

Наиболее важным аспектом ФС с точки зрения пользователя является ее внешнее представление, т.е.:

— именование и защита файлов;

— операции с файлами.

Все современные ОС в качестве имен файлов используют 8-ми символьные текстовые строки. В именах файлов также разрешается использование цифр и специальных символов. Многие файловые системы поддерживают имена файлов до 255 символов.

В проектируемой файловой системе должно быть различие между прописными и строчными буквами. Имена файлов могут состоять из 2-х частей, разделенных точкой (имя файла и расширение файла). При этом расширения файлов необязательны.

 

1.1 Общая организация файловой  системы

 

На диске с файловой системой находится один раздел с проектируемой файловой системой. За ее основу взяты некоторые принципы файловой системы «S5FS». Основными характеристиками ФС являются:

1. Многоуровневость, т.е. иерархическая  организация данных.

2. Контроль свободных  блоков данных на диске с  помощью битовой карты свободных / занятых блоков.

3. Метод индексных дескрипторов  для размещения файлов на диске.

Каждый дисковый раздел начинается с загрузочного блока, даже если в нем не содержится загружаемая ОС.

Структура разрабатываемой файловой системы изображена на рисунке 1.1.

 

Суперблок

Битовая карта

Массив

i-узлов

Корневой каталог

Данные


Рисунок 1.1 - Структура ФС

В «суперблоке» содержатся ключевые параметры файловой системы и считывается в память при загрузке компьютера или при первом обращении к ФС. Информация, хранящаяся в суперблоке, включает число, позволяющее различать системные файлы, количество блоков в ФС, а также ключевую административную информацию. Его структуру можно увидеть в таблице 1.1.

Таблица 1.1

Название поля

Размер в байтах

Описание

fs_name

3

Название файловой системы

fs_size

2

Размер файловой системы

block_size

2

Размер блока данных

free_ block _count

2

Количество свободных блоков

free_inode_count

2

Количество свободных i -узлов


 

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

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

В таблице 1.2 показана структура i-узла, с помощью которых происходит размещение файлов на диске. Они содержатся в массиве i-узлов и каждому файлу соответствует один элемент этого массива. I-узел содержит информацию о файле, его атрибуты, но не содержит данных и имени файла. Последнее, а также номер i-узла файла находятся в специальных файлах - каталогах.

На логическом уровне каталог представляет собой таблицу, каждый элемент которого имеет размер 16 байт. Первые 14 байта хранят имя файла, последние 2 - его номер i-узла.

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

Таблица 1.2

Название поля

Размер в байтах

Описание

is_free

1

Состояние i -узла

f_size

2

Размер файла

rights

1

Права доступа к файлу

uid

1

Идентификатор владельца

is_dir

1

Флаг : файл или каталог

create_time

8

Время создания файла

last_mod_time

8

Время последней модификации

addr[1..10]

20

Указатели на блоки данных файла


 

Права доступа к файлам представляются как целое число, принимает значения от 0 до 5 в зависимости от установленных прав. Эта зависимость представлена в таблице 1.3.

Таблица 1.3

Права

Значения числа

Для владельца файла

Для других пользователей

r

-

0

r

r

1

r

w

2

w

-

3

w

r

4

w

w

5


 

После i-узлов следует корневой каталог, содержащий вершину дерева ФС. Остальное место дискового раздела занимают все остальные файлы и каталоги.

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

Этот метод является простейшей схемой выделения файлам определенных блоков на диске. Это система, в которой файлы представляют собой непрерывные наборы соседних блоков диска. Тогда на диске, состоящем из блоков по 1 Кбайт, файл размером в 50 Кбайт будет занимать 50 последовательных блоков. Схематично он представлен на рисунке 1.2

Рисунок 1.2 - Метод последовательных блоков

Преимущества такого метода состоят в том, что его легко реализовать, так как системе, чтобы определить какие блоки принадлежат тому или иному файлу, нужно следить всего лишь за двумя числами: номером первого блока файла и числом блоков в файле.

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

Недостаток: со временем диск становится фрагментированным.

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

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

 

Рисунок 1.3 - Структура многоуровневой ФС

 

Системные вызовы для работы с каталогами:

Create – создание каталога.

Delete – удаление каталога.

Opendir – открытие каталога.

Closedir – закрытие каталога.

Readdir – чтение следующего элемента открытого каталога.

Rename – переименование каталога.

Link – установление связей.

Unlink – удаление ссылки на файл из каталога.

Флаг «Только чтение»- 0 –для чтения/записи; 1- только чтение

Флаг «Скрытый» - 0 – нормальный, 1 – не отображать в перечне файлов каталога

Информация о работе Проектирование гипотетической операционной системы