Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач.docx
Скачиваний:
31
Добавлен:
02.09.2019
Размер:
693.96 Кб
Скачать

83

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

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

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

Д080403.1.01.09/151.КП

Кафедра программного обеспечения

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

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

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

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

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

_____________ доц. А.И. Ольшевский

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

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

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

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

_____________ доц. А.И. Ольшевский

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

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

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

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

_____________ ст.гр. ПО-09б Е.А. Магдайчук

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

Донецк

2012

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

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

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

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

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

ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ

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

Студентке

Магдайчук Екатерине Александровне

группы

ПО-09б

(фамилия, имя, отчество)

Тема проекта

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

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

Исходные данные к проекту

аппаратная платформа - персональный

компьютер, теоретическая информация об элементах классификатора,

Перечень искомых результатов

архитектура аппаратных средств компьюте-

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

Рекомендуемая литература

ДСТУ 3008-95, ГОСТ 34. 602-89;

Таненбаум Э. Современные операционные системы. 3-е изд. –СПб.: Питер, 2010. – 1120 с.: ил.; Немнюгин С., Чаунин М., Кололкин А. Эффективная работа: UNIX. – СПб.: Питер,2001 -688 с.:ил.; Методические указания к курсовому проекту по дисциплине «Операционные системы». – Д., 2012.

Дата выдачи задания 26.01.2012

Дата защиты проекта 18.04.2012

Руководитель доц. А.И. Ольшевский

(подпись) (должность, Ф.И.О.)

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

(подпись) (должность, Ф.И.О.)

Разработчик Е.А. Магдайчук

(подпись) (ФИО)

РЕФЕРАТ

Пояснительная записка: с., рис., 4 приложения, таблица.

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

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

ОПЕРАЦИОННАЯ СИСТЕМА, ПЕРСОНАЛЬНЫЙ КОМПЬЮТЕР, ФАЙЛОВАЯ СИСТЕМА, ПРОЦЕСС, СВОПИНГ ПРОЦЕССОВ, СОБЫТИЯ

Д080404.1.01.09/151.КП

Фамилия

Подпись

Дата

Разработала

Магдайчук Е.А

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

Литера

Лист

Листов

Рук.проекта

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

у

3

Литвин С.С.

ИИиИИ,

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

Н. контр.

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

Литвин С.С.

Зав.каф.

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

СОДЕРЖАНИЕ

Введение……………………………………………………………………...

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

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

1.2Цель и задачи проекта…………………………………………………….

1.3 Выбор средств…………………………………………………………….

2 Описание метода решения…………………………………………………

2.1 Теоретические данные……………………………………………….......

2.2 Описание входных и выходных данных……………………………......

3 Метод решения…………………………………………………………......

3.1 Объектно-ориентированный анализ предметной области………….....

3.2 Объектно-ориентированное проектирование………………………......

3.2.1 Диаграмма классов…………………………………………………......

3.2.2 Диаграмма объектов……………………………………………………

3.2.3 Диаграмма состояний и переходов……………………………………

3.2.4 Диаграмма взаимодействия……………………………………………

3.3 Объектно-ориентированное программирование……………………….

3.3.1 Диаграмма модулей…………………………………………………….

3.3.2 Диаграмма процессов………………………………………………......

3.3.3 Протоколы классов …………………………………………………….

Выводы……………………………………………………………………......

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

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

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

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

6

7

7

8

8

9

9

10

11

11

12

13

14

14

16

16

17

17

18

20

21

22

26

27

35

Разработала

Фамилия

Подпись

Дата

Д05013.1.01.09/151.КП

Лист

ст.гр. ПО-09б

Е.А. Магдайчук

4

перечень обозначений, символов, единиц

сокращений и терминов

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

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

ПК - Персональный компьютер

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

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

ГОСТ - Государственный стандарт

ДСТУ - Государственный стандарт Украины

Разработала

Фамилия

Подпись

Дата

Д080403.1.01.09/151.КП

Лист

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

Магдайчук Е.А.

5

ВВЕДЕНИЕ

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

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

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

  1. ПОСТАНОВКА ЗАДАЧИ

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

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

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

реализация особенностей аппаратных платформ: персональные компьютеры;

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

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

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

выполнение средств взаимодействия процессов: события(events);

управление процессами: свопинг процессов;

выполнение организации файловой системы: MS DOS.

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

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

1.3 Актуальность разработки и область применения

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

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

1.4 Реализация особенностей аппаратных платформ

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

В соответствии с архитектурными особенностями, определяющими свойства системы команд, различают:

Микропроцессоры с CISC архитектурой.

CISC (Complex Instruction Set Computer) - Компьютер со сложной системой команд. Исторически они первые и включают большое количество команд. Все микропроцессоры корпораций Intel (Integrated Electronics)  и AMD (Advanced Micro Devices) относятся к категории CISC.

Микропроцессоры с RISC архитектурой.

RISC (Reduced Instruction Set Computer) - Компьютер с сокращенной системой команд. Упрощена система команд и сокращена до такой степени, что каждая инструкция выполняется за единственный такт. Вследствие этого упростилась структура микропроцессора, и увеличилось его быстродействие.

Пример микропроцессора с RISC-аpхитектуpой - Power PC. Микропроцессор Power PC начал разрабатываться в 1981 году тремя фирмами: IBM, Motorola, Apple.

Микропроцессоры с MISC архитектурой.

MISC (Minimum Instruction Set Computer) - Компьютер с минимальной системой команд. Последовательность простых инструкций объединяется в пакет, таким образом,  программа  преобразуется  в  небольшое  количество длинных команд.

Разрядность – максимальное количество разрядов двоичного кода, которые могут обрабатываться или передаваться одновременно.

Современные микропроцессоры построены на 32-х битной архитектуре   x86 или IA-32 (Intel Architecture 32 bit), но совсем скоро произойдет переход на более совершенную, производительную 64-х битную архитектуру IA-64 (Intel Architecture 64 bit). Фактически переход уже начался, этому свидетельствует массовый выпуск и выход в продажу в 2003 году нового микропроцессора Athlon 64 корпорации AMD (Advanced Micro Devices), этот микропроцессор примечателен тем, что может работать как с 32-х битными приложениями, так и с 64-х битными. Производительность 64-х битных микропроцессоров   намного выше.

Объем адресуемой памяти –  максимальный объем памяти, который может обслужить микропроцессор.

 32-х разрядный микропроцессор может обслужить 64 Гб (4х109 байт) памяти, а 64-х разрядный микропроцессор может обслужить 64 Тб (64х1012 байт) памяти.

Набор дополнительных инструкций (Instruction Set) - применяются в современных CISC-микропроцессорах и способны значительно ускорить их работу. Естественно только при условии поддержки данных наборов со стороны приложения. Все традиционные современные процессоры поддерживают набор инструкций MMX, который был самым первым (разработан корпорацией Intel еще в 1997 году). MMX расшифровывается как MultiMedia eXtensions (мультимедийные расширения). Он представил дополнительные возможности, ориентированные на обработку цифрового изображения и звука. В основе технологии лежит концепция (микроархитектура) SIMD (Single Instruction Many Data – "одна команда, много данных"), когда при помощи одной инструкции одновременно обрабатывается несколько элементов данных. SSE, SSE2, 3DNow! - дальнейшее развитие этой идеи. Микропроцессоры Intel Pentium 3 поддерживают SSE, а Pentium 4 и AMD Athlon 64 еще и SSE2 (это относится и к соответствующим микропроцессорам Intel Celeron). Процессоры AMD Athlon и Duron поддерживают наборы инструкций 3DNow!Professional и MMX, в Athlon XP была добавлена поддержка SSE (на уровне микрокода ядра).

         Технологический процесс производства (Process Technology) – техпроцесс определяет размеры элементов и соединений между ними в интегральной схеме. Измеряется в микрометрах (0,35 μm; 0,25 μm;…). Чем меньше число, тем меньше сам кристалл, следовательно, меньше потребляемая мощность и тепловыделение. А ведь тепловыделение сильно препятствует увеличению частоты, на которой работает микропроцессор.  Где-то в 1997 году произошел переход с 0,25 μm на 0,18 μm технологию производства. А уже в 2001 году произошел переход на 0,13 μm технологию, что позволило намного увеличить частоту. Вот-вот произойдет переход на 0,09 μm.

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

Тактовая частота (Частота ядра) (Internal clock) – это количество электрических импульсов в секунду. Каждый импульс несет в себе некую информацию - это могут быть команды процессору или данные памяти. Тактовая частота задается кварцевым генератором - одним из блоков, расположенных на материнской плате. Тактовая частота кварцевого генератора выдерживается с очень высокой точностью и лежит в мега или гигагерцовом диапазоне. Один герц - один импульс, один мегагерц - один миллион импульсов, один гигагерц - тысяча мегагерц. Микропроцессор, работающий на тактовой частоте 800 МГц, выполняет 800 миллионов рабочих тактов в секунду. В зависимости от сложности обрабатываемой команды процессору для выполнения задачи необходимы сотни и тысячи тактов. Но для выполнения простых операций бывает достаточно одного такта. Чем выше тактовая частота ядра, тем выше скорость обработки данных. Современные микропроцессоры работают на частотах от 300 МГц до 4,7 ГГц.

Частота системной шины (System clock или Front Side Bus) – системная шина служит для связи микропроцессора с остальными устройствами. Микропроцессор имеет две частоты: тактовая частота ядра и частота системной шины. Чем выше частота системной шины, тем выше скорость передачи данных между микропроцессором и остальными устройствами. Частота системной шины современных микропроцессоров от 66 МГц до 266МГц.

Объем Кэш-памяти (Cache) – Кэш-память быстрая память малой емкости, используемая процессором для ускорения операций, требующих обращения к памяти. Кеш – промежуточное звено между микропроцессором и опретивной памятью. Различают несколько уровней кэша: кэш первого уровня (L1) - кэш команд (инструкций) которые предстоит исполнить, кэш первого уровня размещается на одном кристалле с процессором. Кэш второго уровня (L2) - кэш данных - используется для ускорения операций с данными (в первую очередь чтения). На общую производительность влияет размер кэша L2. Чем больше L2, тем дороже процессор, т.к. память для кэша еще очень дорога. Поэтому эффективнее увеличивать частоту кэша, а для этого он должен находиться как можно ближе к ядру процессора. Кэш-память может работать на частоте 1/4, 1/3, 1/2, 1/1 от частоты ядра. Современные микропроцессоры имеют кэш объемом от 8 Кб до 5Мб.

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

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

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

однозадачные (например, MS-DOS, MSX) и

многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

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

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

  • однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

  • многопользовательские (UNIX, Windows NT).

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

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

невытесняющая многозадачность (NetWare, Windows 3.x);

вытесняющая многозадачность (Windows NT, OS/2, UNIX).

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

Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

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

Системы пакетной обработки данных.

Оператор создавал пакет заданий, последовательно записывая их на МЛ. Задания отделялись друг от друга специальными маркерами. После составления пакета и установки его на НМЛ оператор, используя пульт управления, запускал пакет на выполнение. Для того чтобы пакет заданий мог последовательно выполняться на ЭВМ, в е¨ памяти должна храниться специальная программа – монитор пакетной обработки. Такой монитор отслеживал момент окончания выполнения очередного задания и загружал в ОП следующее задание. Кроме того, монитор фиксировал время выполнения каждого задания и реагировал на ряд нештатных ситуаций (попытка деления на ноль, зацикливание и т. п.). По своему назначению монитор пакетной обработки являлся управляющей программой, а по способу реализации – системной. Можно сказать, что такой монитор являлся простейшей операционной системой.

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

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

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

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

Без использования внешней памяти: фиксированными разделами.

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

Системы могут иметь:

- общую очередь ко всем разделам;

- к каждому разделу отдельную очередь.

Недостаток системы многих очередей очевиден, когда большой раздел может быть свободным, а к маленькому выстроилась очередь.

Алгоритмы планирования в случае одной очереди:

- поочередный;

- выбирается задача, которая максимально займет раздел.

Также может быть смешанная система.

1.8 Выполнение средств взаимодействия процессов: события(events)

Обычно событие - некоторый объект, который может находиться в одном из двух состояний: занятом или свободном. Переключение состояний осуществляется явным вызовом соответствующих функций; при этом любой процесс/поток, имеющий необходимые права доступа к объекту "событие", может изменить его состояние.

В Windows различают события с ручным и с автоматическим сбросом (тип и начальное состояние задаются при создании события функцией CreateEvent ). События с ручным сбросом ведут себя обычным образом: функция SetEvent переводит событие в свободное (сигнальное) состояние, а функция ResetEvent - в занятое (не сигнальное). События с автоматическим сбросом переводятся в занятое состояние либо явным вызовом функции ResetEvent, либо ожидающей функцией WaitFor....

#define DEFAULT_SECURITY (LPSECURITY_ATTRIBUTES)NULL

VOID CALLBACK ApcProc( ULONG_PTR dwData )

{

SetEvent( (HANDLE)dwData );

}

int main( void )

{

HANDLE hEvent;

hEvent = CreateEvent( DEFAULT_SECURITY, TRUE, FALSE, NULL );

QueueUserAPC(ApcProc, GetCurrentThread(), (ULONG_PTR)hEvent);

WaitForSingleObject(hEvent,100);

/* код завершения WAIT_TIMEOUT */

SleepEx( 100, TRUE );

/* APC процедура освобождает событие */

WaitForSingleObject(hEvent,100);

/* код завершения WAIT_OBJECT_0 */

WaitForSingleObject(hEvent,100);

/* код завершения WAIT_OBJECT_0 */

CloseHandle( hEvent );

return 0;

}

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

Если в приведенном примере изменить событие с ручным сбросом на событие с автоматическим сбросом (второй параметр функции CreateEvent должен быть FALSE ), то при втором обращении к WaitForSingleObject функция завершится также с кодом WAIT_OBJECT_0, но при этом событие автоматически будет переведено в занятое состояние. В результате третий вызов функции WaitForSingleObject завершится по таймауту.

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

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

1.9 Свопинг процессов

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

1.10 Организации файловой системы: MS DOS

Файловая система MS-DOS (FAT-12,16,32)

В первых версиях был только один каталог (MS-DOS 1.0).

С версии MS-DOS 2.0 применили иерархическую структуру.

Каталоговые записи, фиксированы по 32 байта.

Имена файлов - 8+3 символов верхнего регистра.

Порядок чтения файлов:

Файл открывается системным вызовом open, которому указывается путь к файлу (может быть абсолютным и относительным).

Файловая система открывает каталоги (согласно пути), считывает последний каталог в память.

Ищет описатель файла.

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

Вызывается системный вызов read

Каталоговая запись MS-DOS

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

Поле время (16 разрядов) разбивается на три подполя:

секунды - 5бит (2^5=32 поэтому хранятся с точностью до 2-х секунд)

минуты - 6бит

часы - 5бит

Поле даты (16 разрядов) разбивается на три подполя:

день - 5бит

месяц - 4бита

год - 7бит (начинается с 1980г, т.е. максимальный 2107г.)

Теоретически размер файлов может быть до 4Гбайт (32 разряда).

Все блоки файла в записи не хранятся, а только первый блок. Этот номер используется в качестве индекса для 64К (для FAT-16) элементов FAT-таблицы, хранящейся в оперативной памяти.

В зависимости от количества блоков на диске в системе MS-DOS применяется три версии файловой системы FAT:

FAT-12

FAT-16

FAT-32 - для адреса используются только 28 бит, поэтому правильнее назвать FAT-28

Размер блока (кластера) должен быть кратным 512 байт.