Автор: Пользователь скрыл имя, 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
Перечень ссылок
3.3 Интерактивный режим работы ОС
Интерактивный режим — режим работы ОС, при котором основными источниками команд являются пользователи, оперативно взаимодействующие с компьютером посредством терминалов. В интерактивном режиме необходимо обеспечить приемлемое для пользователя время исполнения команды (как правило, в пределах нескольких секунд). В данной курсовой работе при работе с файловой системой и процессами пользователь общается с системой посредствами командной строки. Он вводит команда, если он ошибся, то система выдаст ему сообщение. Если все верно, то выполнится заданная команда и пользователь получит требуемые данные.
3.4 Пакетный режим работы
Пакетный режим — режим работы ОС, при котором основными источниками команд являются специальные пакетные файлы, предварительно подготовленные пользователями. В пакетном режиме время исполнения конкретной команды не столь существенно как в интерактивном. Главный критерием работы пакетной ОС является, как правило, максимальная загрузка оборудования. Для достижения этой цели в системах пакетной обработки используются следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается "выгодное" задание.
В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач.
Поэтому, для обеспечения интерактивности работы разрабатываемая операционная система должна совмещать в себе свойства систем разных типов, а именно: часть задач может выполняться в режиме пакетной обработки, а часть - в режиме реального времени или в режиме разделения времени. В этом случае режим пакетная обработка будет называться фоновым режимом.
4 Структура операционной системы
4.1 Общая структура проектируемой ОС
Структуру проектируемой ОС можно представить в виде трехуровневой модели, где верхний уровень пользовательский интерфейс, средний уровень — ядро системы, к которому можно включить подсистемы управления памятью и процессами, подсистему управления устройствами и файловую подсистему. Третий уровень — это непосредственно оборудование. Подробная схема проектируемой ОС представлена на рисунке 4.1.
Рисунок 4.1 - Структура проектируемой ОС
Пользовательский интерфейс предназначен для работы операционной системы с пользователем. На него возлагаются все внешние команды для работы с файловой системой, процессами и устройствами. То есть, уровень пользователя является внешней оболочкой проектируемой операционной системы. На уровне пользователя находится графическая оболочка и интерпретатор.
Уровень оборудования представляет собой собственно саму аппаратуру, на которой функционирует ОС.
У каждого универсального компьютера есть по крайней мере одна клавиатура и один дисплей (монитор или плоский экран), используемые для общения с компьютером. Хотя клавиатура и дисплей персонального компьютера технически являются отдельными устройствами, они сообща образуют пользовательский интерфейс. К мэйнфреймам часто присоединяются специальные устройства, состоящие из клавиатуры и дисплея, за которыми могут работать удаленные пользователи. Такие устройства исторически называются терминалами. Мы будем продолжать использовать этот термин даже при обсуждении персональных компьютеров (по большей части из-за отсутствия лучшего термина).
4.1.1 Внешние устройства (НМД)
Магнитные диски организованы в цилиндры, каждый из которых содержит столько дорожек, сколько есть у устройства головок, установленных вертикально. Дорожки делятся на секторы, их количество обычно варьируется от 8 до 32 у гибких дисков и до нескольких сот у жестких дисков. Число головок варьируется от 1 до 16.
У некоторых магнитных дисков мало электроники, они предоставляют на выходе простой поток битов. На этих дисках контроллер выполняет совсем немного работы. На других дисках, в частности на IDE-дисках (IDE, Integrated Drive Electronics — встроенный интерфейс накопителей), само устройство содержит микроконтроллер, выполняющий значительный объем работ, и позволяющий собственно контроллеру обращаться к нему с набором команд высокого уровня.
IDE-диски обладают одним
свойством, обладающим важными
4.1.2 Внешние устройства (видеотерминалы)
Существует много разновидностей терминалов. На практике сегодня наиболее часто встречаются следующие три типа терминалов:
1. Автономные терминалы с последовательным интерфейсом RS-232 для связи с мэйнфреймами.
2. Дисплеи персональных компьютеров с графическим интерфейсом пользователя.
3. Сетевые терминалы.
Каждый из этих типов терминалов занимает свою «экологическую» нишу. Терминалы являются алфавитно-цифровыми. Это означает, что экран или окно отображает определенное количество строк текста. Обычный размер такого окна составляет 25 строк по 80 символов. Хотя иногда такие терминалы (и эмуляторы) поддерживают определенные специальные символы, в основном они являются исключительно текстовыми.
Программное обеспечение, работающее с клавиатурой и дисплеем ничем не отличается от программного обеспечения, использующегося для настоящих терминалах. Чтобы вывести символ на экран, драйвер терминала записывает этот символ в интерфейсную карту, в которой она буферизируется, после чего поразрядно выдвигается в последовательную линию универсальным асинхронным приемопередатчиком.
4.2 Структура ядра ОС
Ядро — это сердце ОС. Ядро реализует основные системные вызовы управления процессами и оперативной памятью, а также функции обмена информацией с внешними устройствами на физическом уровне (драйверы).
Условно ядро можно разделить на следующие составляющие:
4.3 Структура управляющих блоков базы данных ОС
База данных операционной системы содержит всю информацию, необходимую ей для функционирования. Она состоит из статической и динамической части. Размер статической части не меняется, а динамическая часть может менять свой размер в процессе работы системы.
База данных состоит из следующих управляющих блоков:
При входе в систему пользователь регистрируется с помощью блока управления пользователями, при выходе пользователя из системы запись о нем, соответственно, удаляется. При запуске процесса блок управления процессами регистрирует процесс, при завершении процесса запись о нем удаляется.
При обращении к оперативной памяти блок управления памятью это регистрирует, определяет по ряду признаков возможность доступа и права пользователя, при завершении работы процесса с этим сегментом блок позволяет другому процессу занять этот сегмент.
Блок управления устройствами регистрирует все устройства, их текущее состояние, при необходимости меняет его в ходе работы.
Блок управления файлами заносит запись об открытом файле в таблицу, устанавливает признаки, при закрытии файла запись удаляется из таблицы.
4.4 Схема взаимодействия
управляющих блоков базы
4.4.1 Блоки управления
На рисунке 4.2 приведена схема взаимодействия управляющих блоков базы данных операционной системы.
Рисунок 4.2 - Взаимодействие управляющих блоков базы данных ОС
Блок управления процессами имеет следующую структуру:
Блок управления памятью хранит информацию об оперативной памяти (располагается в статической части базы данных). Структура блока управления памятью имеет вид:
Блок управления файлами — динамическая часть базы данных, размер этого блока изменяется при изменении системной переменной, определяющей количество открытых файлов.
При открытии файла в БД создается запись для этого файла, при его закрытии он удаляется. Если с файлом работает несколько процессов одновременно, то все связи с процессами этого файла указываются.
Структура блока управления файлами представляет собой следующее:
В динамической части базы данных содержится информация о пользователях, работающих в системе в настоящее время. Структура блока управления пользователями:
Операционная система автоматически проверяет статус устройства. При отсутствии устройства, который был подключен, драйвер выгружается из памяти. При обнаружении нового устройства операционная система, получает данные об устройстве и загружает соответствующий драйвер. Каждое устройство имеет свой запрос на прерывание и порт ввода вывода. При загрузке драйвера ему сообщается эта информация, и дальнейшая работа с устройством ведется только с помощью драйвера.
Блок управления устройством содержит следующую информацию:
4.4.2 Обеспечение ввода-вывода данных
Ключевая концепция разработки программного обеспечения ввода-вывода известна как независимость от устройств. Эта концепция означает возможность написания программ, способных получать доступ к любому устройству ввода-вывода, без предварительного указания конкретного устройства. Например, программа, читающая данные из входного файла, должна с одинаковым успехом работать с файлом на дискете, жестком диске или компакт-диске. При этом не должны требоваться какие-либо изменения в программе.
Информация о работе Проектирование гипотетической операционной системы