- •Введение
- •Понятие операционной системы. Типы операционных систем
- •Функции операционной системы
- •Структура операционной системы. Ос ms dos
- •Файлы и каталоги на дисках
- •Драйверы устройств
- •Базовая система ввода-вывода (bios)
- •Загрузчик операционной системы
- •Ядро ms dos
- •Командный процессор dos
- •Внешние команды dos
- •Файловая структура диска
- •Стартовый сектор
- •Каталоги
- •Область данных
- •Операционные системы Windows
- •Выбор платформы Windows
- •Термины
- •Архитектура Windows Режимы выполнения программного кода
- •Многозадачность
- •Управление памятью в Windows
- •Выполнение приложений
- •Интерфейс прикладного программирования Win32
- •Реестр Windows
- •Операционная система unix
- •Ядро и процессы unix
- •Диспетчер unix
- •Процессы unix
- •Дескриптор и контекст процесса
- •Иерархия процессов
- •Идентификаторы процесса
- •Группы процессов
- •Взаимодействие процессов
- •Процессы-«демоны»
- •Межпроцессные коммуникации unix
- •Сигналы
- •Сигналы unix по мере возрастания их значений:
- •Семафоры
- •Программные каналы (Pipes)
- •Очереди сообщений
- •Разделяемая память
- •Многопользовательская защита в unix
- •Идентификаторы пользователя и группы
- •Код защиты файла
- •Привилегированный пользователь
- •Эффективные и реальные идентификаторы
- •Свопинг и пейджинг в unix
- •Буфер кеш-памяти
- •Управление вводом/выводом
- •Специальные файлы
- •Взаимодействие драйверов с программной и аппаратной средой
- •Файловая система unix
- •Основные системные каталоги
- •Корневой каталог /
- •Каталог /var
- •Каталог /etc
- •Каталог /usr
- •Каталог /home (/export/home)
- •Каталог/opt (/opti, /opt2, ... /optn)
- •Команды управления swap
- •Команда mkfile
- •Специальные файлы
- •Класс устройства
- •Тип и номер
- •Связь физической и логической структур
- •Создание и монтирование файловой системы
- •Дисковые устройства в unix
- •Внутренняя структура файловой системы Распределение дискового пространства
- •Индексные дескрипторы
- •Системные вызовы unix для работы с файлами
- •Стандартные библиотечные функции ввода/вывода
- •Поточные функции ввода/вывода
- •Литература
- •Оглавление
-
Загрузчик операционной системы
Загрузчик – это очень короткая программа, находящаяся в первом секторе каждого диска с операционной системой. Функция этой программы заключается в считывании в память ядра операционной системы.
На жестком диске загрузчик ОС состоит из двух частей. Это связано с тем, что жесткий диск может быть разбит на несколько разделов (логических дисков). Первая часть загрузчика находится в первом секторе жесткого диска, она выбирает , с какого из разделов жесткого диска следует продолжить загрузку. Вторая часть загрузчика находится в первом секторе этого раздела, она считывает ядро операционной системы и передает ему управление.
-
Ядро ms dos
Ядро операционной системы MS DOS составляют дисковые файлы IO.SYS – модуль расширения BIOS и MSDOS.SYS – модуль обработки прерываний. Они загружаются в память компьютера загрузчиком ОС и остаются в памяти компьютера постоянно. Файл IO.SYS представляет собой дополнение к базовой системе ввода- вывода и отвечает за установку драйверов внешних устройств, обрабатывая файл конфигурации CONFIG.SYS, и обработку аппаратных прерываний. Файл MSDOS.SYS реализует основные высокоуровневые услуги DOS, а именно занимается обработкой программных прерываний.
-
Командный процессор dos
Командный процессор обрабатывает команды, вводимые пользователем. Находится в дисковом файле COMMAND.COM на диске, с которого загружается операционная система. Некоторые команды пользователя командный процессор выполняет сам (Dir, Copy, Move, Delete). Они называются внутренними. Для других команд ищет на диске программу с соответствующим именем и если находит ее, то загружает в память и передает ей управление. По окончании ее работы командный процессор удаляет ее из памяти и выводит сообщение о готовности к выполнению команд (приглашение DOS).
-
Внешние команды dos
Внешние команды операционной системы - это программы, поставляемые вместе с операционной системой в виде отдельных файлов. Такие программы выполняют действия обслуживающего характера – форматирование дискет, проверку дисков, разметку дисков.
-
Файловая структура диска
Файловая структура диска образуется из четырех элементов:
-
стартовый сектор;
-
таблица размещения файлов: FAT – File Allocation Table;
-
каталог;
-
область данных.
-
Стартовый сектор
Стартовый сектор – это идентификатор диска, где записаны данные, необходимые операционной системе для работы с диском. Под стартовый сектор выделяется сектор № 2 дорожки № 0, поверхности № 0. В него записываются следующие характеристики:
-
идентификатор системы, если на диске записана операционная система;
-
размер секторов диска в байтах;
-
количество секторов в кластере;
-
количество резервных секторов в начале диска (один);
-
количество копий FAT на диске (обычно две);
-
количество элементов в каталоге;
-
количество секторов на диске;
-
указатель формата диска;
-
количество секторов в FAT;
-
количество секторов на дорожку;
-
количество поверхностей.
-
кроме того, стартовый сектор хранит короткую программу в машинных кодах, используемую для загрузки в память операционной системы, если она размещена на диске.
За стартовым сектором на диске следует таблица размещения файлов.
-
Таблица размещения файлов
В процессе работы пользователей на компьютере содержимое диска меняется: добавляются новые файлы, удаляются ненужные, некоторые файлы расширяются. Выполнение этих операций требует наличия специального механизма распределения запоминающего пространства диска между файлами и обеспечения доступа к ним. В операционной системе MS DOS этот механизм реализуется путем использования таблицы размещения файлов.
При выполнении операций чтения-записи данных обмен информацией между дисковым накопителем и памятью компьютера осуществляется блоками. Минимальный объем блока равен сектору.
Для уменьшения количества обращений к дисковому накопителю за одно обращение может записываться или считываться информация из нескольких последовательно расположенных секторов, образующих некоторый суперблок, называемый кластером. Размер кластера зависит от используемого физического формата диска. На гибких дисках кластер объединяет два сектора. На жестком диске кластер равен четырем – шести секторам в зависимости от объема диска.
Файлу, записываемому на диск, выделяется целое количество кластеров, причем выделяемые кластеры могут находиться в различных местах диска. В отличие от непрерывных файлов, хранящихся в одной области памяти, файлы, занимающие на диске несколько областей, называются фрагментированными. Назначение FAT — хранить данные о местонахождении на диске фрагментов файлов.
Механизм доступа к файлам в MS DOS с использованием FAT реализуется следующим образом. Область данных диска рассматривается как последовательность пронумерованных кластеров. Каждому кластеру ставится в соответствие элемент FAT с тем же номером. Например, элемент 2 FAT соответствует кластеру 2 области данных диска, элемент 3 FAT — кластеру 3.
В каталоге, содержащем сведения о файлах на диске, для каждого файла указан номер первого кластера, занимаемого файлом. Этот номер называется точкой входа в FAT. Система, прочитав в каталоге номер первого кластера файла, обращается к этому кластеру, например, записывает в него данные, затем она обращается к соответствующему элементу FAT (элементу, номер которого равен номеру первого кластера файла). Этот элемент FAT содержит номер следующего кластера, отведенного для файла на диске.
Фрагменты файла |
||||||||
|
1 |
|
2 |
|
||||
|
|
|
|
|
|
|
||
… |
Кластер 9 |
Кластер 10 |
Кластер 11 |
Кластер 12 |
Кластер 13 |
… |
||
|
|
|
|
|
|
|
||
|
|
|
Дефектный кластер |
|
|
|
Фрагмент файла |
||||||
|
|
3 |
|
|
||
|
|
|
|
|
|
|
… |
Кластер 44 |
Кластер 45 |
Кластер 46 |
Кластер 47 |
Кластер 48 |
… |
Рис.1. Схема занятости кластеров диска
Пример, приведенный на рис.1, иллюстрирует использование FAT при обращении к файлу, имеющему три фрагмента на диске. Как видно из рисунка, первый фрагмент файла занимает кластеры 9 и 10, второй фрагмент — кластер 12. Кластер 11 не используется как дефектный (в процессе форматизации диска система обнаружила на этом участке диска дефекты поверхности, препятствующие нормальному считыванию-записи данных). Третий фрагмент файла занимает кластеры 45, 46.
Номера элементов FAT |
||||
|
Значения элементов FAT |
|||
|
|
|
|
Пояснения: |
Точка |
|
9 |
10 |
Следующий кластер файла – кластер 10 |
Входа |
|
10 |
12 |
Следующий кластер файла – кластер 12 |
в FAT |
|
11 |
FF7 |
Кластер 11 отмечен как дефектный и не используется |
|
|
12 |
45 |
Следующий кластер файла – кластер 45 |
|
|
13 |
000 |
Кластер отмечен как свободный |
|
|
… |
… |
|
|
|
44 |
000 |
Кластер отмечен как свободный |
|
|
45 |
45 |
Следующий кластер файла – кластер 45 |
|
|
46 |
FFF |
Последний из кластеров, занимаемых файлом |
|
|
47 |
000 |
Кластер отмечен как свободный |
|
|
48 |
000 |
Кластер отмечен как свободный |
|
… |
|
… |
|
Рис. 2. Структура FAT - таблицы
На рис. 2 приведено условное изображение соответствующего фрагмента FAT и пояснены значения элементов для каждого из кластеров, изображенных на рис.1. Кластеры 13, 44, 47 — свободны и поэтому значения их равны 0. Кластер 11 отмечен как дефектный специальным кодом FF7, а кластер 46 отмечен кодом FFF, как последний кластер файла.
Если файл удаляется, то занимаемые им кластеры освобождаются, и в соответствующие элементы FAT записывается код 000 – признак свободного кластера. При этом, данные удаленного файла остаются на диске до тех пор, пока занимаемые ими кластеры не будут выделены системой другим файлам, вновь создаваемым или расширяемым. Пока этого не случится, удаленный файл может быть восстановлен.
Таблица размещения файлов следует на диске за стартовым сектором, то есть начинается с сектора 3 дорожки 0 и занимает обычно от 14 секторов (на дискете) и выше. На диске сохраняются обычно две копии FAT на случай, если одна будет испорчена. Вслед за копиями FAT на диске располагается каталог диска.