Разделы презентаций


Файловые системы

Содержание

Операционные системы4.2.4. Обеспечение логического интерфейса между устройствами и остальной частью системы 4.2.5. Поддержка широкого спектра драйверов 4.2.6. Динамическая выгрузка и загрузка драйверов4.2.7. Поддержка нескольких файловых систем4.2.8. Основные системные таблицы ввода-вывода4.2.9.

Слайды и текст этой презентации

Слайд 1Операционные системы


Тема 4: Подсистема ввода/вывода и файловые системы
4.1. Устройства ввода-вывода 4.2.

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

процессора
4.2.2. Согласование скоростей обмена и кэширование данных
4.2.3. Разделение устройств и данных между процессами
Операционные системыТема 4: Подсистема ввода/вывода и файловые системы4.1. Устройства ввода-вывода 4.2. Основные функции подсистемы ввода/вывода4.2.1. Организация параллельной

Слайд 2Операционные системы


4.2.4. Обеспечение логического интерфейса между устройствами и остальной

частью системы 4.2.5. Поддержка широкого спектра драйверов
4.2.6. Динамическая выгрузка и

загрузка драйверов
4.2.7. Поддержка нескольких файловых систем
4.2.8. Основные системные таблицы ввода-вывода
4.2.9. Поддержка синхронных и асинхронных операций ввода-вывода

Тема 4: Подсистема ввода/вывода и файловые системы

Операционные системы4.2.4. Обеспечение логического интерфейса между устройствами и остальной  частью системы 4.2.5. Поддержка широкого спектра драйверов

Слайд 3Операционные системы

4.4. Файловая система
4.4.1. Основные понятия. Цели и задачи файловой

системы
4.4.2. Архитектура файловой системы
4.4.3. Организация файлов и доступ к ним
4.4.4.

Каталоговые системы
4.4.5. Физическая организация файловой системы

4.3. Многослойная модель подсистемы ввода/вывода

Тема 4: Подсистема ввода/вывода и файловые системы

Операционные системы4.4. Файловая система4.4.1. Основные понятия. Цели и задачи файловой системы4.4.2. Архитектура файловой системы4.4.3. Организация файлов и

Слайд 4Операционные системы


4.1. Устройства ввода-вывода
Типы устройств по функциональному назначению;
1. Работающие с

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

манипуляторы (мышь, джойстик и т. п.).
2. Работающие с компьютером. Используются для связи с электронным оборудованием (диски, магнитные ленты, датчики, контроллеры, преобразователи и т. п.).
3. Коммуникации. Используются для связи с удаленными устройствами (модемы, адаптеры цифровых линий и др.).

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



Операционные системы4.1. Устройства ввода-выводаТипы устройств по функциональному назначению;1. Работающие с пользователем. Используются для связи с пользователем компьютера

Слайд 5Операционные системы
Различия в характеристиках устройств ввода-вывода
Скорость передачи данных (различия на

несколько порядков).
Применение. Один и тот же тип устройства может требовать

различного ПО и стратегии операционной системы (диск для хранения файлов приложений и файла подкачки, терминал пользователя и администратора).
Сложность управления (для принтера относительно простой интерфейс управления, для диска – намного сложнее).
Единицы передачи данных. Данные могут передаваться блоками или потоком байтов или символов.
Представление данных. Различные устройства используют разные схемы кодирования данных, включая различную кодировку символов и контроль четности.
Условия ошибок. Природа ошибок, способ сообщения о них, возможные ответы резко отличаются от одного устройства к другому.
Операционные системыРазличия в характеристиках устройств ввода-выводаСкорость передачи данных (различия на несколько порядков).Применение. Один и тот же тип

Слайд 6Операционные системы
101
102
103
104
105
106
107
108
109
Gigabit Ethernet

Графический монитор
Жесткий диск
Ethernet
Оптический диск
Сканер
Лазерный принтер
Гибкий диск
Модем
Мышь
Клавиатура
Бит в секунду

Операционные системы101102103104105106107108109Gigabit EthernetГрафический мониторЖесткий дискEthernetОптический дискСканерЛазерный принтерГибкий дискМодемМышьКлавиатураБит в секунду

Слайд 7Операционные системы

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

Обычно их выполняют в форме отдельных модулей - собственно устройство

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

Состав устройств ввода/вывода

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

Слайд 8Операционные системы

Если интерфейс между контроллером и устройством является официальным

стандартом (ANSI, IEEE или ISO) или фактическим стандартом, то различные

компании могут выпускать отдельно контроллеры и устройства, удовлетворяющие данному интерфейсу.

Состав устройств ввода/вывода

Операционные системы	 Если интерфейс между контроллером и устройством является официальным стандартом (ANSI, IEEE или ISO) или фактическим

Слайд 9Операционные системы

Состав устройств ввода/вывода

Операционные системыСостав устройств ввода/вывода

Слайд 10Операционные системы

Контроллер
Каждый контроллер взаимодействует с драйвером системным программным модулем, предназначенным

для управления данным устройством.
Для работы с драйвером контроллер имеет несколько

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

Слайд 11Операционные системы

Контроллер
Используя регистры контроллера, ОС может узнать состояние устройства (например,

готово ли оно к работе), а также выдавать команды управления

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

Слайд 12Операционные системы

4.2. Основные функции подсистемы ввода-вывода
Драйверы управляют внешними устройствами.
В работе

подсистемы ввода-вывода активно участвует диспетчер прерываний. Основная нагрузка диспетчера прерываний

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



Основные компоненты: драйверы, файловая система, система прерываний, супервизор ввода-вывода

Операционные системы4.2. Основные функции подсистемы ввода-вывода	Драйверы управляют внешними устройствами.В работе подсистемы ввода-вывода активно участвует диспетчер прерываний. Основная

Слайд 13Операционные системы
4.2. Основные функции подсистемы ввода-вывода
Она активно использует остальные

части подсистемы ввода-вывода.
Кроме того, модель файла лежит в основе большинства

механизмов доступа к периферийным устройствам.

Супервизор ввода-вывода – это компонентом операционной системы, который управляет вводом-выводом.



Операционные системы4.2. Основные функции подсистемы ввода-вывода	 Она активно использует остальные части подсистемы ввода-вывода.	Кроме того, модель файла лежит

Слайд 14Операционные системы
4.2. Основные функции подсистемы ввода-вывода
Любые операции по управлению вводом-выводом

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

Как правило, в режиме супервизора (режим ядра) выполнение команд ввода-вывода разрешено, а в пользовательском режиме — запрещено.



Самый главный принцип организации ввода вывода в мультизадачных ОС

Операционные системы4.2. Основные функции подсистемы ввода-выводаЛюбые операции по управлению вводом-выводом объявляются привилегированными и могут выполняться только кодом

Слайд 15Операционные системы
4.2. Основные функции подсистемы ввода-вывода
Обращение к командам ввода-вывода в

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

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



Самый главный принцип организации ввода вывода в мультизадачных ОС

Операционные системы4.2. Основные функции подсистемы ввода-выводаОбращение к командам ввода-вывода в пользовательском режиме вызывает исключение, и управление через

Слайд 16Операционные системы
4.2.1. Основные функции подсистемы ввода-вывода
Организация параллельной работы устройств ввода-вывода

и процессора.
2. Согласование скоростей обмена и кэширование данных.
3. Разделение устройств

и данных между процессами.
4. Обеспечение удобного логического интерфейса между устройствами и остальной частью системы.
5. Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера.
6. Динамическая загрузка и выгрузка драйверов.
7. Поддержка нескольких файловых систем.
8. Поддержка синхронных и асинхронных операций ввода-вывода.



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

Слайд 17Операционные системы
4.2.1. Основные функции подсистемы ввода-вывода
Основные задачи, возлагаемые на супервизор


1.

Модуль супервизора операционной системы , иногда называемый супервизором задач, получает

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

Слайд 18Операционные системы
4.2.1. Основные функции подсистемы ввода-вывода
Основные задачи, возлагаемые на супервизор


4.

Супервизор ввода-вывода инициирует операции ввода-вывода (передает управление соответствующим драйверам) и

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

Слайд 19Операционные системы
4.2.2. Организация параллельной работы устройств ввода-вывода и процессора
Эволюция ввода

– вывода
1. Процессор непосредственно управляет периферийным устройством.
2. Устройство

управляется контроллером. Процессор использует программируемый ввод - вывод без прерываний (переход к абстракции интерфейса ввода - вывода) – режим обмена с опросом готовности.
3. Использование контроллера прерываний. Ввод-вывод, управляемый прерываниями – режим обмена с прерываниями.
4. Использование модуля (канала) прямого доступа к памяти. Перемещение данных в память (из нее) без использования процессора.
5. Использование отдельного специализированного процессора ввода-вывода, управляемого центральным процессором.
6. Использование отдельного компьютера для управления устройствами ввода-вывода при минимальном вмешательстве центрального процессора.
Операционные системы4.2.2. Организация параллельной работы устройств ввода-вывода и процессораЭволюция ввода – вывода 1. Процессор непосредственно управляет периферийным

Слайд 20Операционные системы







Системный вызов для выполнения операции ввода-вывода
Запрос

состояния контроллера ввода-вывода
Проверка состояния
Не готов
Готов
Получить слово от контроллера ввода-вывода
Записать слово

в память

Все выполнено ?

Вызов драйвера


Текущая команда программы

Нет

Да

Следующая команда

Программируемый ввод-вывод без прерываний
Процессор посылает необходимые команды контроллеру устройства ввода-вывода и переводит процесс в состояние ожидания завершения операции ввода-вывода. Контроллер транслирует принятые команды в сигналы управления устройством ввода вывода.
После выполнения команды устройством его контроллер выдает сигнал готовности.
Процессор (через драйвер устройства) периодически проверяет состояние устройства ввода вывода с целью проверки завершения операций ввода вывода и готовности к принятию новой команды
Недостаток: большие потери процессорного времени

Ошибка

Операционные системыСистемный вызов для выполнения    операции ввода-выводаЗапрос состояния контроллера ввода-выводаПроверка состоянияНе готовГотовПолучить слово от

Слайд 21Операционные системы
Программируемый ввод-вывод без прерываний

В

операционных системах Windows (и Windows 9х, и Windows NT/ 2000)

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

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

Слайд 22Операционные системы







Системный вызов для выполнения операции ввода-вывода
Запрос

состояния контроллера ввода-вывода
Проверка состояния
Не готов
Готов
Ошибка
Получить слово от контроллера ввода-вывода
Записать слово

в память

Все выполнено ?

Вызов драйвера. Передача команды контроллеру.


Текущая команда программы

Нет

Да

Следующая команда

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

Выполнение других
действий

ПРЕРЫВАНИЕ

Операционные системыСистемный вызов для выполнения    операции ввода-выводаЗапрос состояния контроллера ввода-выводаПроверка состоянияНе готовГотовОшибкаПолучить слово от

Слайд 23Операционные системы





Жесткий диск
Контроллер диска

Регистры контроллера
Контроллер прерываний
Центральный процессор

1
Драйвер программирует контроллер и

переходит в состояние ожидания

2
Контроллер запускает устройство

3
Контроллер устройства ввода-вывода завершил операцию

3

4
Возбуждение

сигнала прерывания


5


5

Обработка прерывания, перемещение данных в область программы, передача управления программе

2. Ввод вывод, управляемый прерываниями

Операционные системыЖесткий дискКонтроллер дискаРегистры контроллераКонтроллер прерыванийЦентральный процессор1Драйвер программирует контроллер и переходит в состояние ожидания2Контроллер запускает устройство3Контроллер устройства

Слайд 24Операционные системы
Режим обмена с прерываниями по своей сути является режимом

асинхронного управления. Для того чтобы не потерять связь с устройством,

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

2. Ввод вывод, управляемый прерываниями

Операционные системыРежим обмена с прерываниями по своей сути является режимом асинхронного управления. Для того чтобы не потерять

Слайд 25Операционные системы
Драйверы, работающие в режиме прерываний, представляют собой сложный комплекс

программных модулей и могут иметь несколько секций: секцию запуска, одну

или несколько секций продолжения и секцию завершения.

2. Ввод вывод, управляемый прерываниями

Секция запуска инициирует операцию ввода-вывода. Эта секция запускается для включения устройства ввода-вывода или просто для инициализации очередной операции ввода-вывода.

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

Слайд 26Операционные системы
2. Ввод вывод, управляемый прерываниями
Секция продолжения (их может быть

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

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

Слайд 27Операционные системы





Запрос состояния контроллера ввода-вывода
Проверка состояния
Не готов
Готов
Ошибка
Запуск контроллера. Перенос данных

в буфер. Сигнал в DMA.
Запрос от DMA на перенос данных.

Запись слова в память контроллером. Сигнал в DMA.

Все выполнено ?


Системный вызов для выполнения операции ввода-вывода. Вызов драйвера. Программирование DMA

Нет

Да

Прерывание

Выполнение других действий

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


DMA увеличивает адрес памяти и уменьшает счетчик байтов


Текущая команда программы

Операционные системыЗапрос состояния контроллера ввода-выводаПроверка состоянияНе готовГотовОшибкаЗапуск контроллера. Перенос данных в буфер. Сигнал в DMA.Запрос от DMA

Слайд 28Операционные системы


1







Адрес
Счетчик
Управляющий регистр
Центральный процессор

Прерывание после выполнения


1
1
Центральный процессор программирует DMA

1

3
DMA запрашивает

перенос данных


5
4

5
Подтверждение

Буфер

Диск

DMA
2



2
4
4
Перенос данных
Оперативная память
Контроллер
Шина
2
3. Ввод вывод через DMA

Операционные системы1АдресСчетчикУправляющий регистрЦентральный процессорПрерывание после выполнения11Центральный процессор программирует DMA13DMA запрашивает перенос данных545ПодтверждениеБуферДискDMA2244Перенос данныхОперативная памятьКонтроллерШина23. Ввод вывод через

Слайд 29Операционные системы
1
1
3
4
2
2
Работа DMA-контроллера
2
DMA-контроллер имеет доступ к системной шине независимо от

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

чтения и записи (регистр адреса памяти, счетчик байтов, управляющие регистры).
Управляющие регистры задают, какой порт ввода-вывода должен быть использован, направление переноса данных (чтение или запись в устройство ввода-вывода), единицу переноса (побайтно, пословно), а также число байтов, которые следует перенести за одну операцию.
Операционные системы113422Работа DMA-контроллера2	DMA-контроллер имеет доступ к системной шине независимо от центрального процессора. 	Контроллер содержит несколько регистров, доступных

Слайд 30Операционные системы
1
1
3
4
2
2
Работа DMA-контроллера
2
Перед выполнением операции обмена ЦП программирует DMA-контроллер, устанавливая

его регистры (шаг 1).
Затем ЦП дает команду дисковому контролеру прочитать

данные во внутренний буфер и проверить контрольную сумму. После этого процессор продолжает свою работу. Когда данные получены и проверены контроллером диска, DMA может начинать работу.
Операционные системы113422Работа DMA-контроллера2	Перед выполнением операции обмена ЦП программирует DMA-контроллер, устанавливая его регистры (шаг 1).	Затем ЦП дает команду

Слайд 31Операционные системы
1
1
3
4
2
2
Работа DMA-контроллера
2
DMA-контроллер начинает перенос данных, посылая дисковому контроллеру по

шине запрос чтения (шаг 2). Адрес памяти уже находится на

адресной шине, так что контроллер знает, куда пересылать следующее слово из своего буфера.
Запись в память является еще одним стандартным циклом шины (шаг 3). Когда запись закончена, контроллер диска посылает сигнал подтверждения контролеру DMA (шаг 4).
Затем контролер DMA увеличивает используемый адрес памяти и уменьшает значение счетчика байтов.
Операционные системы113422Работа DMA-контроллера2	DMA-контроллер начинает перенос данных, посылая дисковому контроллеру по шине запрос чтения (шаг 2). Адрес памяти

Слайд 32Операционные системы
1
1
3
4
2
2
Работа DMA-контроллера
2
После этого шаги 2, 3 и 4 повторяются,

пока значение счетчика не станет равным нулю. По завершении цикла

копирования контроллер DMA инициирует прерывание процессора, сообщая ему о завершении операции ввода-вывода.
Особенность работы шины в этом процессе обмена данными. Шина может работать в двух режимах: пословном и поблочном. В первом случае контроллер DMA выставляет запрос на перенос одного слова и получает его. Если процессору также нужна эта шина (в основном он работает с кэш-памятью), ему приходится подождать.
Операционные системы113422Работа DMA-контроллера2	После этого шаги 2, 3 и 4 повторяются, пока значение счетчика не станет равным нулю.

Слайд 33Операционные системы
Цикл процессора
Цикл процессора
Цикл процессора
Ц и к л

к о м а н д ы
Выборка команды
Декодиро-вание команды
Выборка

операнда

Выполнение команды

Сохранение результата

Прерывание процесса

Точка прерывания

Точки прерывания DMA

Цикл процессора

Цикл процессора

Цикл процессора

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

Операционные системыЦикл процессораЦикл процессораЦикл процессораЦ и к л    к о м а н д

Слайд 34Операционные системы
1
1
3
4
2
2
Работа DMA-контроллера
2
Приостановка процессора происходит только при необходимости использования шины.

После этого устройство DMA выполняет передачу слова и возвращает управление

процессору.
Однако это не является прерыванием: процессор не сохраняет контекст с переходом к выполнению другого задания. Он просто делает паузу на время одного цикла шины.
Операционные системы113422Работа DMA-контроллера2	Приостановка процессора происходит только при необходимости использования шины. После этого устройство DMA выполняет передачу слова

Слайд 35Операционные системы
1
1
3
4
2
2
Работа DMA-контроллера
2
В блочном режиме работы контроллер DMA занимает шину

на серию пересылок (пакет). Этот режим более эффективен, однако при

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

Слайд 36Операционные системы
1
1
3
4
2
2
Работа DMA-контроллера
2
С другой стороны, необходимо минимизировать загрузку процессора

задачами ввода-вывода.
Решение этих задач достигается на основе многоуровневой приоритетной схемы

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

Слайд 37Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных




















Пользовательский процесс
Пользовательский процесс
Пользовательский

процесс
Пользовательский процесс
Ввод
Ввод
Ввод
Ввод
Устройства ввода
Без буферизации
Одинарная буферизация
Двойная буферизация
Циклическая буферизация
Перемещение
Перемещение
Перемещение
T
C
M

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхПользовательский процессПользовательский процессПользовательский процессПользовательский процессВводВводВводВводУстройства  вводаБез буферизацииОдинарная буферизацияДвойная буферизацияЦиклическая

Слайд 38Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
При обмене данными

всегда возникает задача согласования скоростей работы устройств. Решение этой задачи

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

T

C

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

Слайд 39Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Другим решением проблемы

является использование большой буферной памяти в контроллерах внешних устройств (пример

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

T

C

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

Слайд 40Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Вторые выполняют передачу

в виде неструктурированных потоков байтов (терминалы, принтеры, манипулятор мыши, сканеры

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данных	Вторые выполняют передачу в виде неструктурированных потоков байтов (терминалы, принтеры,

Слайд 41Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Когда она

завершится, процесс перемещает блок в пользовательское пространство и немедленно производит

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

T

C

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

Слайд 42Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Двойной буферизации

может оказаться недостаточно, если процесс часто выполняет ввод или вывод.
Решить

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

T

C

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

Слайд 43Операционные системы
Время обработки блока данных
Без буферизации

T + C

Одинарная буферизация max {T, C} + M
в большинстве случаев T + C > max {T, C}
Двойная буферизация max {T, C}
если C <= T, то блочно-ориентированное устройство может работать с максимальной скоростью;
если C > T, то процесс избавляется от необходимости ожидания завершения ввода-вывода.
Буферизация данных позволяет сократить количество реальных операций ввода за счет кэширования данных.

Операционные системыВремя обработки блока данныхБез буферизации

Слайд 44Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Буферы (буфер) являются

критическим ресурсом в отношении внутренних (программных) и внешних процессов (аппаратуры

ввода-вывода), которые при параллельном своем выполнении информационно взаимодействуют.

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхБуферы (буфер) являются критическим ресурсом в отношении внутренних (программных) и

Слайд 45Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Управления системными буферами

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

Супервизор решает

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

T

C

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

Слайд 46Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Супервизор ввода-вывода для

решения перечисленных задач использует стандартные средства синхронизации, принятые в данной

операционной системе.

T

C

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

Слайд 47Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Необходимость кэширования.
Накопители на

магнитных дисках обладают крайне низким быстродействием по сравнению с процессорами

и оперативной памятью.
Средняя скорость работы процессора с оперативной памятью на 2-3 порядка выше, чем средняя скорость передачи данных из внешней памяти на магнитных дисках в оперативную память.
Для того чтобы сгладить такое сильное несоответствие в производительности основных подсистем, используется буферизация и/или кэширование данных в дисковом кэше (disk cache).

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхНеобходимость кэширования.Накопители на магнитных дисках обладают крайне низким быстродействием по

Слайд 48Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Простейший вариантом ускорения

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

применяется кэширование.

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

T

C

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

Слайд 49Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Устройство и принцип

действия дискового кэша
Дисковый кэш (упрощенно) есть некий пул буферов, которые

управляются с помощью соответствующего системного процесса.

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхУстройство и принцип действия дискового кэшаДисковый кэш (упрощенно) есть некий

Слайд 50Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Устройство и принцип

действия дискового кэша
При записи: данные помещаются в кэш, и для

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхУстройство и принцип действия дискового кэшаПри записи: данные помещаются в

Слайд 51Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Устройство и принцип

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

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

T

C

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

Слайд 52Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Устройство и принцип

действия дискового кэша
Упреждающее чтение (read ahead) основано на чтении с

диска гораздо большего количества информации, чем на самом деле запрошено приложением или операционной системой.

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхУстройство и принцип действия дискового кэшаУпреждающее чтение (read ahead) основано

Слайд 53Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Устройство и принцип

действия дискового кэша
Если процесс вновь обратится к диску, вероятность того,

что нужные ему данные уже находятся в кэше, будет достаточно высока.

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхУстройство и принцип действия дискового кэшаЕсли процесс вновь обратится к

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

дискового кэша
Информация от диска к процессу пролегает как через буфер,

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

T

C

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

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

дискового кэша
При следующем обращении процесса к диску программа кэширования прежде

всего проверяет, не находятся ли уже в памяти затребованные данные.

Если это так, то она копирует их в буфер, если же их в КЭШе нет, то запрос на чтение диска передается операционной системе.

Когда процесс изменяет данные в буфере, они копируются в кэш.

T

C

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

Слайд 56Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизаци кэша
Увеличение объема

памяти кэша может и не привести к росту быстродействия системы.
Поиск

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизаци кэшаУвеличение объема памяти кэша может и не привести к

Слайд 57Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизаци кэша
Для оптимизации

работы кэша в ряде операционных систем имеется возможность указать в

явном виде параметры кэширования, в то время как в других за эти параметры отвечает сама операционная система.

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизаци кэшаДля оптимизации работы кэша в ряде операционных систем имеется

Слайд 58Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизаци кэша
В системах

семейства Windows 9.х можно указать:
объем памяти, отводимый для кэширования;

объем порции (ChunkSize) данных, из которых набирается кэш;
предельное количество имен файлов; параметры кэширования каталогов.

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизаци кэшаВ системах семейства Windows 9.х можно указать: объем памяти,

Слайд 59Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизаци кэша
В файле

SYSTEM.INI, расположенном в основном каталоге такой операционной системы (обычно это

каталог Windows), в секции [vcache] есть возможность прописать, например, следующие значения:

[vcache]
MinFileCache=4096
MaxFileCache=32768
ChunkSize=512

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизаци кэшаВ файле SYSTEM.INI, расположенном в основном каталоге такой операционной

Слайд 60Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизаци кэша
Здесь указано,

что минимально под кэширование данных зарезервировано 4 Мбайт оперативной памяти,

максимальный объем кэша может достигать 32 Мбайт, а размер данных, которыми манипулирует менеджер кэша, равен одному сектору.

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизаци кэшаЗдесь указано, что минимально под кэширование данных зарезервировано 4

Слайд 61Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизаци кэша
Во всех

ОС от Microsoft принята стратегия активного кэширования файлов, при которой

для кэширования отводится вся свободная память.

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизаци кэшаВо всех ОС от Microsoft принята стратегия активного кэширования

Слайд 62Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизаци кэша
В операционных

системах Windows NT 4.0, Windows 2000 и Windows ХР также

можно управлять некоторыми параметрами кэширования, задаваемыми в реестре.
Так в разделе [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] реестра параметр IOPageLockLimit задает в байтах объем физической памяти для хранения буферов дискового кэша. Эта память не может быть выгружена в файл подкачки.

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизаци кэшаВ операционных системах Windows NT 4.0, Windows 2000 и

Слайд 63Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизаци кэша
В ОС

от Microsoft кэшируемые файлы отображаются на виртуальное адресное пространство, а

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

T

C

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

Слайд 64Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизация перемещения головок

НЖМД
Операционная система может оптимизировать перемещение головок чтения/записи данных, связанное с

выполнением запросов от параллельно выполняющихся задач.

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


T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизация перемещения головок НЖМДОперационная система может оптимизировать перемещение головок чтения/записи

Слайд 65Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизация перемещения головок

НЖМД
Основные затраты времени уходят на поиск данных.

В мультипрограммных операционных

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

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизация перемещения головок НЖМДОсновные затраты времени уходят на поиск данных.

Слайд 66Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизация перемещения головок

НЖМД
Необходимо переупорядочивание этих запросов с целью минимизации затрат времени на

поиск данных.

Применяются следующие дисциплины, в соответствии с которыми можно перестраивать очередь запросов на операции чтения/записи данных.
• SSTF (Shortest Seek Time First — запрос с наименьшим временем позиционирования выполняется первым).

T

C

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

Слайд 67Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизация перемещения головок

НЖМД
В соответствии с этой дисциплиной при позиционировании магнитных головок следующим

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизация перемещения головок НЖМДВ соответствии с этой дисциплиной при позиционировании

Слайд 68Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизация перемещения головок

НЖМД
• Scan (сканирование). При сканировании головки поочередно перемещаются то в одном,

то в другом «привилегированном» направлении, обслуживая «по пути» подходящие запросы. Если при перемещении головок чтения/записи более нет попутных запросов, то движение начинается в обратном направлении.

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизация перемещения головок НЖМД•	Scan (сканирование). При сканировании головки поочередно перемещаются

Слайд 69Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизация перемещения головок

НЖМД
• Next-Step Scan (отложенное сканирование). Отличается от предыдущей дисциплины тем, что

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизация перемещения головок НЖМД•	Next-Step Scan (отложенное сканирование). Отличается от предыдущей

Слайд 70Операционные системы
4.2.3. Согласование скоростей обмена и кэширование данных
Оптимизация перемещения головок

НЖМД
• С-Scan (циклическое сканирование). По этой дисциплине головки перемещаются циклически с

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

T

C

Операционные системы4.2.3. Согласование скоростей обмена и кэширование данныхОптимизация перемещения головок НЖМД•	С-Scan (циклическое сканирование). По этой дисциплине головки

Слайд 71Операционные системы
4.2.4. Разделение устройств и данных между процессами
Устройства ввода-вывода могут

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

этом ОС должна обеспечивать контроль доступа теми же способами, что и при доступе процессов к другим ресурсам вычислительной системы - путем проверки прав пользователя или группы пользователей, от имени которых действует процесс, на выполнение той или иной операции над устройством.
Операционные системы4.2.4. Разделение устройств и данных между процессами	Устройства ввода-вывода могут предоставляться процессам как в монопольном, так и

Слайд 72Операционные системы
4.2.4. Разделение устройств и данных между процессами
ОС может контролировать

доступ не только к устройству в целом, но и к

отдельным порциям данных, хранимых этим устройством (например, диск). В последнем случае непременным является задание режима совместного использования устройства в целом.
Одно и то же устройство в разные периоды времени может использоваться как в разделяемом, так и монопольном режимах.
Операционные системы4.2.4. Разделение устройств и данных между процессами	ОС может контролировать доступ не только к устройству в целом,

Слайд 73Операционные системы
4.2.4. Разделение устройств и данных между процессами
Существуют устройства, для

которых характерен один из этих режимов, например последовательные порты и

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

Слайд 74Операционные системы
4.2.4. Разделение устройств и данных между процессами
Чтобы организовать совместное

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

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

Слайд 75Операционные системы
4.2.4. Разделение устройств и данных между процессами
Понятие виртуального устройства

шире понятия спулинга. Спулинг – это имитация работы с устройством

в режиме непосредственного подключения к нему).
Основное назначение спулинга — создать видимость разделения устройства ввода-вывода, которое фактически является устройством с последовательным доступом и должно использоваться только монопольно и быть закрепленным за процессом.
Системные процессы, которые управляют спул-файлом, называются спулером чтения (spool-reader) или спулером записи (spool-writer).
Операционные системы4.2.4. Разделение устройств и данных между процессамиПонятие виртуального устройства шире понятия спулинга. Спулинг – это имитация

Слайд 76Операционные системы
4.2.4. Разделение устройств и данных между процессами
Для таких устройств

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

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

Слайд 77Операционные системы
4.2.4. Разделение устройств и данных между процессами
Достаточно рационально организована

работа с виртуальными устройствами в системах Windows 9x/NT/2000/XP компании Microsoft.


Пример - подсистема печати.
Microsoft различает термины «принтер» и «устройство печати».
Принтер — это некоторая виртуализация, объект операционной системы, а устройство печати — это физическое устройство, которое может быть подключено к компьютеру.
Принтер может быть локальным или сетевым.
Операционные системы4.2.4. Разделение устройств и данных между процессамиДостаточно рационально организована работа с виртуальными устройствами в системах Windows

Слайд 78Операционные системы
4.2.4. Разделение устройств и данных между процессами
При установке локального

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

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

Слайд 79Операционные системы
4.2.4. Разделение устройств и данных между процессами
Если же некоторый

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

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

Слайд 80Операционные системы
4.2.4. Разделение устройств и данных между процессами
Для получения управляющих

кодов принтера устанавливается программное обеспечение (компания Microsoft называет его высокоуровневым

драйвером).
Эти управляющие коды посылаются на устройство печати по соответствующему интерфейсу через назначенные принтеру порты и управляют работой устройства печати.
При получении операционной системой от приложения запроса на печать она выделяет для этого процесса виртуальный принтер.
Операционные системы4.2.4. Разделение устройств и данных между процессамиДля получения управляющих кодов принтера устанавливается программное обеспечение (компания Microsoft

Слайд 81Операционные системы
4.2.4. Разделение устройств и данных между процессами
Операционная система закрепляет

за процессом виртуальный принтер, а не устройство печати.
Обработанные драйвером

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

Слайд 82Операционные системы
4.2.5. Обеспечение логического интерфейса между устройствами и остальной частью

системы
Разнообразие устройств ввода-вывода делает актуальной функцию операционной системы по созданию

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

Слайд 83Операционные системы
4.2.5. Обеспечение логического интерфейса между устройствами и остальной частью

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

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

Слайд 84Операционные системы
4.2.6. Поддержка широкого спектра драйверов
Разнообразный набор драйверов для широкого

круга популярных периферийных устройств - непременное условие популярности ОС у

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

Слайд 85Операционные системы

4.2.6. Поддержка широкого спектра драйверов



Операционная система
Драйвер
Контроллер
Внешнее устройство
Интерфейс драйвер –

устройство (Driver Device Interface, DDI)
Интерфейс драйвер – ядро (Driver Kernel

Interface, DKI)

Аппаратный низкоуровневый интерфейс контроллер - устройство

Поэтому существует два вида интерфейсов: интерфейс «драйвер-ядро» (Driver Kernel Interface, DKI) и интерфейс «драйвер-устройство» (Driver Device Interface).

Операционные системы4.2.6. Поддержка широкого спектра драйверовОперационная системаДрайверКонтроллерВнешнее устройствоИнтерфейс драйвер – устройство (Driver Device Interface, DDI)Интерфейс драйвер –

Слайд 86Операционные системы
4.2.6. Поддержка широкого спектра драйверов
Интерфейс «драйвер-ядро» должен быть стандартизован

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

DKI/DDI, предоставляя специфический интерфейс для устройств определенного класса.
К наиболее общим классам относятся блочные устройства, например диски и символьные устройства, такие как клавиатура и принтеры. Может существовать класс сетевых адаптеров и др.
В большинстве современных ОС определен стандартный интерфейс, который должен поддерживать все блочные драйверы, и второй стандартный интерфейс, поддерживаемый всеми символьными адаптерами.
Операционные системы4.2.6. Поддержка широкого спектра драйверов	Интерфейс «драйвер-ядро» должен быть стандартизован в любом случае. Подсистема ввода-вывода может поддерживать

Слайд 87Операционные системы
4.2.6. Поддержка широкого спектра драйверов
Эти интерфейсы включают наборы

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

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

Слайд 88Операционные системы
Функции драйвера
Обработка запросов записи-чтения от программного обеспечения управления устройствами.

Постановка запросов в очередь
Проверка входных параметров запросов и обработка ошибок
Инициализация

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

Слайд 89Операционные системы
4.2.6. Поддержка широкого спектра драйверов
Управление устройством подразумевает выдачу

ему серии команд. Именно в драйвере определяется последовательность команд в

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

Слайд 90Операционные системы
4.2.6. Поддержка широкого спектра драйверов
Такая последовательность действий продолжается

до тех пор, пока контроллеру не будут переданы все команды.
После

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

Слайд 91Операционные системы
4.2.6. Поддержка широкого спектра драйверов
В любом случае по

завершении выполнения операции драйвер должен проверить, завершилась ли операция без

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

Слайд 92Операционные системы
4.2.6. Поддержка широкого спектра драйверов
Для поддержки процесса разработки

драйверов операционной системы выпускается так называемый пакет DDK (Driver Development

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

Слайд 93Операционные системы
4.2.7. Динамическая выгрузка и загрузка драйверов
Так как набор потенциально

поддерживаемых данных ОС периферийных устройств всегда шире набора устройств, которыми

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

Слайд 94Операционные системы
4.2.7. Динамическая выгрузка и загрузка драйверов
Альтернативой динамической загрузке драйверов

при изменении текущей конфигурации внешних устройств компьютера является повторная компиляция

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

Слайд 95Операционные системы
4.2.7. Динамическая выгрузка и загрузка драйверов
Поэтому поддержка динамической загрузки

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

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

Слайд 96Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Для управления всеми операциями

ввода-вывода и отслеживания состояния всех ресурсов, занятых в обмене данными,

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

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

Слайд 97Операционные системы
4.2.8. Основные системные таблицы ввода вывода
адреса размещения драйверов

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

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

Слайд 98Операционные системы
4.2.8. Основные системные таблицы ввода вывода
адреса тех областей

памяти, которые содержат данные, собственно и участвующие в операциях ввода-вывода

(получаемые при операциях ввода данных и выводимые на устройство при операциях вывода данных).

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

Слайд 99Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Каждая операционная система ведет

свои таблицы ввода-вывода, их состав (и количество, и назначение каждой

таблицы) может сильно отличаться.

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

Слайд 100Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Первая таблица (или список)

- таблица оборудования (equipment table) содержит информацию обо всех устройствах

ввода-вывода, подключенных к вычислительной системе.
Каждый элемент этой таблицы называется UСВ (Unit Control Block — блок управления устройством ввода-вывода).
Каждый элемент UCB таблицы оборудования, как правило, содержит следующую информацию об устройстве:
тип устройства, его конкретная модель, символическое имя и характеристики устройства;
Операционные системы4.2.8. Основные системные таблицы ввода выводаПервая таблица (или список) - таблица оборудования (equipment table) содержит информацию

Слайд 101Операционные системы
4.2.8. Основные системные таблицы ввода вывода
способ подключения устройства

(через какой интерфейс, к какому разъему, какие порты и линия

запроса прерывания используются и т. д.);
номер и адрес канала (и подканала), если такие используются для управления устройством;
информация о драйвере, который должен управлять этим устройством, адреса секции запуска и секции продолжения драйвера;
информация о том, используется или нет буферизация при обмене данными с устройством, «имя» (или просто адрес) буфера, если такой выделяется из системной области памяти;
Операционные системы4.2.8. Основные системные таблицы ввода вывода способ подключения устройства (через какой интерфейс, к какому разъему, какие

Слайд 102Операционные системы
4.2.8. Основные системные таблицы ввода вывода
установка тайм-аута и

ячейки для счетчика тайм-аута;
состояние устройства;
поле указателя для связи

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

Слайд 103Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Пояснения. Поскольку во многих

операционных системах драйверы могут обладать свойством реентерабельности (это означает, что

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

Слайд 104Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Важнейшим компонентом элемента таблицы

оборудования является указатель на дескриптор той задачи, которая в настоящий

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

Слайд 105Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Вторая системная таблица -

таблица виртуальных логических устройств (Device Reference Table, DRT) — выполняет

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

DRT позволяет супервизору перенаправить запрос на ввод-вывод из приложения в те программные модули и структуры данных, которые (или адреса которых) хранятся в соответствующем элементе первой таблицы.
Операционные системы4.2.8. Основные системные таблицы ввода выводаВторая системная таблица - таблица виртуальных логических устройств (Device Reference Table,

Слайд 106Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Во многих многопользовательских системах

таких таблиц несколько: одна общая и по одной на каждого

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

Слайд 107Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Третья таблица — таблица

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

и устройствами ввода-вывода.

Эта таблица указывает для каждого сигнала запроса на прерывание тот элемент UCB, который сопоставлен данному устройству.
Каждое устройство либо имеет свою линию запроса на прерывание, либо разделяет линию запроса на прерывание с другими устройствами, но при этом имеется механизм второго уровня адресации устройств ввода-вывода.
Операционные системы4.2.8. Основные системные таблицы ввода выводаТретья таблица — таблица прерываний — необходима для организации обратной связи

Слайд 108Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Таблица прерываний отображает связи

между сигналами запроса на прерывания и самими устройствами ввода-вывода.
Как и

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

Другими словами, можно сразу из основной таблицы прерываний компьютера передать управление на программу обработки (драйвер), связанную с элементом UCB.
Операционные системы4.2.8. Основные системные таблицы ввода выводаТаблица прерываний отображает связи между сигналами запроса на прерывания и самими

Слайд 109Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Взаимосвязи системных таблиц ввода-вывода

Операционные системы4.2.8. Основные системные таблицы ввода выводаВзаимосвязи системных таблиц ввода-вывода

Слайд 110Операционные системы
4.2.8. Основные системные таблицы ввода вывода
В ряде сложных операционных

систем (все современные 32-разрядные системы для персональных компьютеров), имеется гораздо

больше системных таблиц или списков, используемых для организации управления операциями ввода-вывода.

Например --- блок управления данными (Data Control Block, DCB).
Операционные системы4.2.8. Основные системные таблицы ввода выводаВ ряде сложных операционных систем (все современные 32-разрядные системы для персональных

Слайд 111Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Назначение DCB — подключение

препроцессоров (высокоуровневых драйверов) к процессу подготовки данных на ввод-вывод, то

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

Слайд 112Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Процесс управления вводом-выводом

Операционные системы4.2.8. Основные системные таблицы ввода выводаПроцесс управления вводом-выводом

Слайд 113Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Процесс управления вводом-выводом
Шаг 1.

Запрос на операцию ввода-вывода от выполняющейся программы поступает на супервизор

задач.
Этот запрос представляет собой обращение к операционной системе и указывает на конкретную функцию API.
Вызов сопровождается некоторыми параметрами, уточняющими требуемую операцию.
Модуль операционной системы, принимающий от процессов запросы на те или иные действия, часто называют супервизором задач ( Не путать с диспетчером задач!).
Операционные системы4.2.8. Основные системные таблицы ввода выводаПроцесс управления вводом-выводомШаг 1. Запрос на операцию ввода-вывода от выполняющейся программы

Слайд 114Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Процесс управления вводом-выводом
Шаг

1-1. Супервизор задач проверяет системный вызов на соответствие принятым спецификациям

и в случае ошибки возвращает задаче соответствующее сообщение.
Шаг 2. Если же запрос корректен, то он перенаправляется на супервизор ввода-вывода. Последний по логическому (виртуальному) имени с помощью таблицы DRT находит соответствующий элемент UCB в таблице оборудования.
Операционные системы4.2.8. Основные системные таблицы ввода выводаПроцесс управления вводом-выводом Шаг 1-1. Супервизор задач проверяет системный вызов на

Слайд 115Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Процесс управления вводом-выводом
Если устройство

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

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

Слайд 116Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Процесс управления вводом-выводом
Шаг 4.

Когда «программа» управления операцией ввода-вывода будет готова, супервизор ввода-вывода передает

управление соответствующему драйверу на секцию запуска.
Шаг 5. Драйвер инициализирует операцию управления, обнуляет счетчик тайм-аута и возвращает управление супервизору (диспетчеру задач) с тем, чтобы он поставил на процессор готовую к исполнению задачу.
Операционные системы4.2.8. Основные системные таблицы ввода выводаПроцесс управления вводом-выводомШаг 4. Когда «программа» управления операцией ввода-вывода будет готова,

Слайд 117Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Процесс управления вводом-выводом
Шаг 6.

Когда устройство ввода-вывода отработает посланную ему команду, оно выставляет сигнал

запроса на прерывание, по которому через таблицу прерываний управление передается на секцию продолжения.
Получив новую команду, устройство вновь начинает ее обрабатывать, а управление процессором опять передается диспетчеру задач, и процессор продолжает выполнять полезную работу.
Операционные системы4.2.8. Основные системные таблицы ввода выводаПроцесс управления вводом-выводомШаг 6. Когда устройство ввода-вывода отработает посланную ему команду,

Слайд 118Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Процесс управления вводом-выводом
Таким образом,

получается параллельная обработка задач, на фоне которой процессор осуществляет управление

операциями ввода-вывода.

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

Операционные системы4.2.8. Основные системные таблицы ввода выводаПроцесс управления вводом-выводомТаким образом, получается параллельная обработка задач, на фоне которой

Слайд 119Операционные системы
4.2.8. Основные системные таблицы ввода вывода
Процесс управления вводом-выводом
В случае

использования каналов прямого доступа в память последние исполняют соответствующие канальные

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

Слайд 120Операционные системы
4.2.9. Поддержка синхронных и асинхронных операций ввода-вывода
Операция ввода-вывода может

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

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

Слайд 121Операционные системы
4.2.9. Поддержка синхронных и асинхронных операций ввода-вывода
При асинхронном режиме

ввода-вывода процесс продолжает выполняться в мультипрограммном режиме одновременно с операцией

ввода-вывода (нижняя диаграмма).
Операционные системы4.2.9. Поддержка синхронных и асинхронных операций ввода-вывода		При асинхронном режиме ввода-вывода процесс продолжает выполняться в мультипрограммном режиме

Слайд 122Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода





P3
Контроллер




Операция ввода-вывода
ПроцессорP2





P1
P2
P3
P2
P1
Завершение операции

ввода-вывода
Контроллер




Операция ввода-вывода
Процессор




P1
P2
P3
P2
P1
Синхронизация (событие, Мьютекс)

P1

P1

P2
P3

P3
P1

P1

Операционные системы4.2.8. Поддержка синхронных и асинхронных операций ввода-выводаP3КонтроллерОперация ввода-выводаПроцессорP2P1P2P3P2P1Завершение операции ввода-выводаКонтроллерОперация ввода-выводаПроцессорP1P2P3P2P1Синхронизация (событие, Мьютекс)P1P1P2P3P3P1P1

Слайд 123Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Простейший вариант асинхронного

вывода - буферизованный вывод данных на внешнее устройство, при котором

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

Слайд 124Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Реальный вывод данных

из системного буфера выполняет супервизор ввода-вывода.
Выделение буфера из системной

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

Слайд 125Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Для выполнения асинхронного

ввода данных необходимо выделить область памяти для временного хранения считываемых

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

Слайд 126Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
В первом запросе

указывается операция на считывание данных, подобно тому как это делается

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

Слайд 127Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Получив имя буфера,

процесс продолжает свою работу.
В результате запроса на асинхронный ввод данных

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

Слайд 128Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
В этом втором

запросе (имеющем другой код или имя), процесс указывает имя системного

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

Слайд 129Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
В этом втором

запросе (имеющем другой код или имя), процесс указывает имя системного

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

Слайд 130Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Операция ввода-вывода может

быть инициирована не только пользовательским процессом - в этом случае

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

Слайд 131Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Внутренние вызовы операций

ввода-вывода из модулей ядра обычно выполняются в виде асинхронных процедур,

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

Слайд 132Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Асинхронный ввод-вывод характерен

для большинства мультипрограммных операционных систем, особенно если операционная система поддерживает

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

Слайд 133Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Аппаратуру ввода-вывода можно

рассматривать как совокупность аппаратных процессоров, способных работать параллельно друг другу,

а также параллельно центральному процессору (процессорам).

На таких «процессорах» выполняются так называемые внешние процессы.
Операционные системы4.2.8. Поддержка синхронных и асинхронных операций ввода-выводаАппаратуру ввода-вывода можно рассматривать как совокупность аппаратных процессоров, способных работать

Слайд 134Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Пример: для печатающего

устройства (внешнее устройство вывода данных) внешний процесс может представлять собой

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

Слайд 135Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Внешние процессы, используя

аппаратуру ввода-вывода, взаимодействуют как между собой, так и с обычными

«программными» процессами, выполняющимися на центральном процессоре.

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

Слайд 136Операционные системы
4.2.8. Поддержка синхронных и асинхронных операций ввода-вывода
Для своей нормальной

работы внешние и внутренние процессы должны синхронизироваться.

Для сглаживания эффекта значительного

несоответствия скоростей между внутренними и внешними процессами используют буферизацию.
Операционные системы4.2.8. Поддержка синхронных и асинхронных операций ввода-выводаДля своей нормальной работы внешние и внутренние процессы должны синхронизироваться.Для

Слайд 137Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
При большом разнообразии устройств ввода-вывода,

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

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

4.3.1. Общая схема

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

Слайд 138Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
При этом нижние слои подсистемы

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

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

4.3.1. Общая схема

Операционные системы4.3. Многослойная модель подсистемы ввода/вывода	При этом нижние слои подсистемы ввода-вывода должны включать индивидуальные драйверы, написанные для

Слайд 139Операционные системы



4.3. Многослойная модель подсистемы ввода-вывода


Системные

вызовы
















Диспетчер прерываний, функции доступа к аппаратуре









Байт-ориентированный интерфейс

VFS

Блок-ориентированный интерфейс

UFS











NTFS

FAT

Дисковый кэш

Драйвер HD

Драйвер FD

Контроллеры
устройств ввода-вывода


Диски

Графические устройства

Дисковые устройства

Сетевые устройства

Низкоуровневые графические драйверы

Диспетчер окон

Высокоуровневые графические драйверы

HTTP

FTP

SMB

TCP/UDP

SPX

IP

IPX

NetBEUI

Ethernet

FR

ATM

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

Операционные системы4.3. Многослойная модель подсистемы ввода-выводаСистемные

Слайд 140Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
Как видно из рисунка, программное

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

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

4.3.1. Общая схема

Операционные системы4.3. Многослойная модель подсистемы ввода/вывода	Как видно из рисунка, программное обеспечение подсистемы ввода-вывода делится не только на

Слайд 141Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
В каждой вертикальной подсистеме несколько

слоев модулей. Нижний слой образует аппаратные драйверы, управляющие аппаратурой внешних

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

4.3.1. Общая схема

Операционные системы4.3. Многослойная модель подсистемы ввода/вывода	В каждой вертикальной подсистеме несколько слоев модулей. Нижний слой образует аппаратные драйверы,

Слайд 142Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
Наряду с модулями, отражающими специфику

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

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

4.3.1. Общая схема

Операционные системы4.3. Многослойная модель подсистемы ввода/вывода	Наряду с модулями, отражающими специфику внешних устройств, в подсистеме ввода-вывода имеются модули

Слайд 143Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
Верхний слой менеджера составляют системные

вызовы ввода-вывода, которые принимают от пользовательских процессов запросы на ввод-вывод

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

4.3.1. Общая схема

Операционные системы4.3. Многослойная модель подсистемы ввода/вывода	Верхний слой менеджера составляют системные вызовы ввода-вывода, которые принимают от пользовательских процессов

Слайд 144Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
Нижний слой менеджера реализует непосредственное

взаимодействие с контроллерами внешних устройств, экранируя драйверы от особенностей аппаратной

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

4.3.1. Общая схема

Операционные системы4.3. Многослойная модель подсистемы ввода/вывода	Нижний слой менеджера реализует непосредственное взаимодействие с контроллерами внешних устройств, экранируя драйверы

Слайд 145Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
Диспетчер прерываний может входить в

состав менеджера ввода-вывода или представлять отдельный модуль ядра.
В последнем случае

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

4.3.1. Общая схема

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

Слайд 146Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
Эта задача решается созданием

стандартного внутреннего интерфейса взаимодействия модулей ввода-вывода.
Это облегчает включение новых драйверов

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

4.3.1. Общая схема

Операционные системы4.3. Многослойная модель подсистемы ввода/вывода	 Эта задача решается созданием стандартного внутреннего интерфейса взаимодействия модулей ввода-вывода.	Это облегчает

Слайд 147Операционные системы
4.3. Многослойная модель подсистемы ввода/вывода
Еще одной функцией менеджера ввода-вывода

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

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

4.3.1. Общая схема

Операционные системы4.3. Многослойная модель подсистемы ввода/выводаЕще одной функцией менеджера ввода-вывода является организация взаимодействия модулей ввода-вывода с модулями

Слайд 148Операционные системы
Первоначально под драйвером понимался программный модуль, который:
входит в

состав ядра ОС, работая в привилегированном режиме;
непосредственно управляет внешним

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

4.3.2. Драйверы

Операционные системыПервоначально под драйвером понимался программный модуль, который: входит в состав ядра ОС, работая в привилегированном режиме;

Слайд 149Операционные системы
Согласно этому определению драйвер вместе с контроллером устройства и

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

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

4.3.2. Драйверы

Операционные системы	Согласно этому определению драйвер вместе с контроллером устройства и прикладной программой воплощали идею многослойного подхода к

Слайд 150Операционные системы
По мере развития операционных систем и усложнения структуры подсистемы

ввода-вывода, наряду с традиционными драйверами в ОС появились так называемые

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

4.3.2. Драйверы

Операционные системы	По мере развития операционных систем и усложнения структуры подсистемы ввода-вывода, наряду с традиционными драйверами в ОС

Слайд 151Операционные системы
Эти низкоуровневые операции составляют фундамент, на котором можно

построить тот или иной набор операций в драйверах более высоких

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

4.3.2. Драйверы

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

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

можно рассматривать как один многоуровневый драйвер.
Высокоуровневые драйверы оформляются по тем

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

4.3.2. Драйверы

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

Слайд 153Операционные системы
Другим примером модуля, который чаще всего не оформляется

в виде драйвера, является диспетчер окон графического интерфейса.
Иногда этот модуль

вообще выносится из ядра ОС и реализуется в виде пользовательского интерфейса (Windows NT 3.5 и 3.51). Этот микроядерный подход заметно замедляет графические операции, поэтому в Windows 4.0 диспетчер окон и высокоуровневые графические драйверы, а также графическая библиотека GDI были перенесены в пространство ядра.

4.3.2. Драйверы

Операционные системы	 Другим примером модуля, который чаще всего не оформляется в виде драйвера, является диспетчер окон графического

Слайд 154Операционные системы
Аппаратные драйверы после запуска операции ввода-вывода должны своевременно

реагировать на завершение контроллером заданного действия путем взаимодействия с системой

прерывания.
Драйверы более высоких уровней вызываются не по прерываниям, а по инициативе аппаратных драйверов или драйверов вышележащего уровня.
Не все процедуры аппаратного драйвера нужно вызывать по прерываниям, поэтому драйвер обычно имеет определенную структуру, в которой выделяется секция обработки прерываний (Interrupt Service Routine, ISR), которая и вызывается от соответствующего устройства диспетчером прерываний.

4.3.2. Драйверы

Операционные системы	 Аппаратные драйверы после запуска операции ввода-вывода должны своевременно реагировать на завершение контроллером заданного действия путем

Слайд 155Операционные системы
В унификацию драйверов большой вклад внесла ОС UNIX,

в которой все драйверы были разделены на два класса: блок-ориентированные

(Block-oriented) и байт-ориентированные (Character-oriented) драйверы.
Блок-ориентированные драйверы управляют устройствами прямого доступа, которые хранят информацию в блоках фиксированного размера, каждый из которых имеет свой адрес.
Устройства, с которыми работают байт-ориентированные драйверы, не адресуют данные и не позволяют производить операции поиска данных, они генерируют или потребляют последовательность байта (терминалы, принтеры, сетевые адаптеры и т. п.).

4.3.2. Драйверы

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

Слайд 156Операционные системы
Однако не все устройства, управляемые подсистемой ввода-вывода можно

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

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

4.3.2. Драйверы

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

Слайд 157Операционные системы
Подобная идея реализована позже в MS DOS, где последовательные

устройства - монитор, принтер и клавиатура считаются файлами со специальными

именами: con, prn.

4.3.2. Драйверы

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

Слайд 158Операционные системы



Драйверы

Операционные системыДрайверы

Слайд 159Операционные системы

4.4. Файловая система
4.4.1. Основные понятия. Цели и задачи файловой

системы
Причины создания файловых систем:
Необходимость длительного (иногда вечного) и надежного хранения

больших объемов информации.
Обеспечение возможности совместного использования информации различными приложениями. Эффективное разделение, защита и восстановление данных.
Решение этих проблем заключается в хранении информации в файлах.
Файл – это поименованная совокупность данных, хранящаяся на каком-либо носителе информации.
Операционные системы4.4. Файловая система4.4.1. Основные понятия. Цели и задачи файловой системыПричины создания файловых систем:Необходимость длительного (иногда вечного)

Слайд 160Операционные системы
4.4. Файловая система
4.4.1. Основные понятия. Цели и задачи файловой

системы
При рассмотрении файлов используются следующие понятия:
Поле (field) – основной элемент

данных, содержит единственное значение, имеет тип и длину, может быть фиксированной и переменной длины. Идентифицируется именем.
Запись (record) – набор связанных полей, которые могут обрабатываться как единое целое. Могут быть фиксированной и переменной длины
Файл (file) – совокупность однородных записей. Обращение к файлу производится по имени.
База данных (database) – набор связанных данных, представленных совокупностью файлов
Операционные системы4.4. Файловая система4.4.1. Основные понятия. Цели и задачи файловой системыПри рассмотрении файлов используются следующие понятия:Поле (field)

Слайд 161Операционные системы

Файловая система – это часть операционной системы, включающая:
совокупность всех

файлов на различных носителях информации (магнитные диски, магнитные ленты, CD-ROM

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

Слайд 162Операционные системы
Задачи файловой системы
соответствие требованиям управления данными и требованиям

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

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

Слайд 163Операционные системы

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

общего назначения
1. Создание, удаление, чтение и изменения файлов.
2.

Контролируемый доступ к файлам других пользователей.
3. Управление доступом к своим файлам.
4. Реструктурирование файлов в соответствии с решаемой задачей.
5. Перемещение данных между файлами.
6. Резервирование и восстановление файлов в случае повреждения.
7. Доступ к файлам по символическим именам.
Операционные системыТребования к файловой системе со стороны пользователя диалоговой системы общего назначения 1. Создание, удаление, чтение и

Слайд 164Операционные системы
4.4.2. Архитектура файловой системы
Файловая система позволяет программам обходиться набором

достаточно простых операций для выполнения действий над некоторым абстрактным объектом,

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

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

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

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

Слайд 166Операционные системы
4.4.2. Архитектура файловой системы






Смешанный файл
Последова- тельный
Индексно- последовате- ный


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

Логический ввод - вывод
Диспетчер (супервизор) базового

ввода - вывода

Базовая файловая система (уровень физического ввода-вывода)

Д Р А Й В Е Р Ы

Методы доступа

Доступ к записям

Выбор устройства, пла-нирование распределе-ния внешней памяти

Буферизация, обмен блоками

Инициализация, выпол-нение и завершение опе-рации

Операционные системы4.4.2. Архитектура файловой системыСмешанный файлПоследова- тельныйИндексно- последовате- ный   Индексиро-ванныйПрямого доступаПользовательская программаЛогический  ввод -

Слайд 167Операционные системы
4.4.2. Архитектура файловой системы
На нижнем уровне драйверы устройств непосредственно

связаны с периферийными устройствами или их контроллерами либо каналами. Драйвер

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

Слайд 168Операционные системы
4.4.2. Архитектура файловой системы
Он оперирует блоками данных, которыми

обменивается с дисками, магнитной лентой и другими устройствами. Поэтому он

связан с размещением и буферизацией блоков в оперативной памяти. На этом уровне не выполняется работа с содержимым блоков данных или структурой файлов. Базовая файловая система обычно рассматривается как часть операционной системы. (В MS DOS эти функции выполняет BIOS, не относящийся к ОС.)
Диспетчер базового ввода-вывода отвечает за начало и завершение файлового ввода-вывода. На этом уровне поддерживаются управляющие структуры, связанные с устройством ввода-вывода, планированием и статусом файлов.
Операционные системы4.4.2. Архитектура файловой системы	 Он оперирует блоками данных, которыми обменивается с дисками, магнитной лентой и другими

Слайд 169Операционные системы
4.4.2. Архитектура файловой системы
Диспетчер осуществляет выбор устройства, на

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

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

Слайд 170Операционные системы
4.4.2. Архитектура файловой системы
Наиболее близкий к пользователю

уровень ФС часто называется методом доступа.
Он обеспечивает стандартный интерфейс между

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

Слайд 171Операционные системы
4.4.3. Организация файлов и доступ к ним
4.4.3.1. Типы, именование

и атрибуты файлов
Обычные файлы (регулярные файлы) – содержат информацию, занесенную

пользователем, системной или прикладной программой. Подразделяются на ASCII файлы, состоящие из текстовых строк, и двоичные файлы, имеющие определенную внутреннюю структуру, известную приложению, использующему данный файл.
Каталоги – системные файлы, поддерживающие структуру файловой системы. Содержат системную справочную информацию о наборе файлов, сгруппированных пользователем по какому-либо признаку. Во многих ОС в каталог могут другие файлы, в том числе другие каталоги.
Специальные файлы – фиктивные файлы, ассоциированные с устройствами ввода-вывода и используемые для унификации доступа к последовательным устройствам ввода-вывода.
Именованные конвейеры (каналы) – циклические буферы, позволяющие выходной файл одной программы соединить со входным файлом другой программы.
Операционные системы4.4.3. Организация файлов и доступ к ним4.4.3.1. Типы, именование и атрибуты файловОбычные файлы (регулярные файлы) –

Слайд 172Операционные системы
4.4.3. Организация файлов и доступ к ним
4.4.3.1. Типы, именование

и атрибуты файлов
Отображаемые файлы – обычные файлы, отображаемые на адресное

пространство процесса по указанному виртуальному адресу.

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

Операционные системы4.4.3. Организация файлов и доступ к ним4.4.3.1. Типы, именование и атрибуты файловОтображаемые файлы – обычные файлы,

Слайд 173Операционные системы
4.4.3. Организация файлов и доступ к ним
4.4.3.1. Типы, именование

и атрибуты файлов
Часто в именах разрешается использование цифр и

специальных символов. В некоторых файловых системах различаются прописные и строчные символы, тогда как в других, например в MS DOS, нет.
Во многих ОС имя файла состоит из двух частей, разделенных точкой. Часть имени после точки называется расширением файла и обычно означает его тип. Так, в MS DOS имя файла может содержать от 1 до 8 символов, а расширение от 0 (отсутствует) до 3.
В некоторых ОС, например Windows, расширение указывает на программу, создавшую файл.
Другие ОС, например UNIX, не принуждают пользователя строго придерживаться расширений.
Операционные системы4.4.3. Организация файлов и доступ к ним4.4.3.1. Типы, именование и атрибуты файлов 	Часто в именах разрешается

Слайд 174Операционные системы
4.4.3. Организация файлов и доступ к ним
4.4.3.1. Типы, именование

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

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

Слайд 175Операционные системы
4.4.3. Организация файлов и доступ к ним
4.4.3.1. Типы, именование

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

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

Слайд 176Операционные системы
4.4.3. Организация файлов и доступ к ним
4.4.3.1. Типы, именование

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

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

Слайд 177Операционные системы
Атрибут
Значение
Тип файла

Обычный, каталог, специальный и т. д.
Владелец файла Текущий владелец
Создатель файла Идентификатор пользователя, создавшего файл
Пароль Пароль для получения доступа к файлу
Время Создания, последнего доступа, последнего изменения
Текущий размер файла Количество байтов в записи
Максимальный размер Количество байтов, до которого можно увеличивать размер файла
Флаг «только чтение» 0 – чтение-запись, 1 – только чтение
Флаг «скрытый» 0 – нормальный, 1 – не показывать в перечне файлов каталога
Флаг «системный» 0 – нормальный, 1 – системный
Флаг «архивный» 0 – заархивирован, 1- требуется архивация
Флаг ASCII/двоичный 0 – ASCII, 1 – двоичный
Флаг произвольного доступа 0 – только последовательный доступ, 1 – произвольный доступ
Флаг «временный» 0 – нормальный, 1 – удаление после окончания работы процесса
Позиция ключа Смещение до ключа в записи
Длина ключа Количество байтов в поле ключа


Операционные системыАтрибутЗначениеТип файла

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

файле, имеют некоторую логическую структуру. Эта структура (организация) файла является

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


Поле

Операционные системы4.4.3.2. Логическая организация файлов	В общем случае данные, содержащиеся в файле, имеют некоторую логическую структуру. Эта структура

Слайд 179Операционные системы
4.4.3.2. Логическая организация файлов
Все действия, связанные со структуризацией и

интерпретацией содержимого файла целиком относятся к ведению приложения, файл представляется

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

Поле

Модель 1. Неструктурированная последовательность байт (ОС UNIX).

Операционные системы4.4.3.2. Логическая организация файлов	Все действия, связанные со структуризацией и интерпретацией содержимого файла целиком относятся к ведению

Слайд 180Операционные системы
4.4.3.2. Логическая организация файлов
Неструктурированная модель файла позволяет легко организовать

разделение файла между несколькими приложениями, поскольку разные приложения могут по-своему

структурировать и интерпретировать данные, содержащиеся в файле.

Поле

Модель 1. Неструктурированная последовательность байт (ОС UNIX).

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

Слайд 181Операционные системы
4.4.3.2. Логическая организация файлов
В этом случае поддержание структуры файла

поручается файловой системе. Файловая система видит файл как упорядоченную последовательность

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


Поле

Модель 2. Структурированный файл : смешанный, последовательный, индексно-последовательный, индексированный, прямого доступа.

Операционные системы4.4.3.2. Логическая организация файловВ этом случае поддержание структуры файла поручается файловой системе. Файловая система видит файл

Слайд 182Операционные системы
4.4.3.2. Логическая организация файлов

Смешанный файл








Поле 1
Поле 2
Поле 3
Поле 1
Поле

1
Поле 2
Поле 2
Поле 3
Достоинства: рациональное использование дискового пространства, хорошо подхо-дят

для полного перебора

Недостатки: сложность встав-ки и обновления записей

Каждое поле описывает само себя (имя, длина, значение). Длина указывается явно либо посредством разделителя Доступ – полный перебор всех записей файла.

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


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

Операционные системы4.4.3.2. Логическая организация файловСмешанный файлПоле 1Поле 2Поле 3Поле 1Поле 1Поле 2Поле 2Поле 3Достоинства: рациональное использование дискового

Слайд 183Операционные системы
4.4.3.2. Логическая организация файлов









Последовательный файл
Поле 1
Поле 1
Поле 1
Поле 2
Поле

2
Поле 2
Поле 3
Поле 3
Поле 3
Достоинства: оптимальный вариант для пакетных приложений,

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

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

Недостатки: малоэффективен для диалоговых приложений

Операционные системы4.4.3.2. Логическая организация файловПоследовательный файлПоле 1Поле 1Поле 1Поле 2Поле 2Поле 2Поле 3Поле 3Поле 3Достоинства: оптимальный вариант

Слайд 184Операционные системы
4.4.3.2. Логическая организация файлов
Последовательный файл
Обычно последовательный файл сохраняется с

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

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

Слайд 185Операционные системы
4.4.3.2. Логическая организация файлов
Последовательный файл
В каждом физическом блоке сохраняется

одна или несколько записей, и каждый блок содержит указатель на

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

Слайд 186Операционные системы
Индексно-последовательный файл
Файл состоит из трех частей (файлов): главный файл,

содержащий записи с последовательно идущими ключами, индексный файл, содержащий индексное

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

Слайд 187Операционные системы

Индексно-последовательный файл





Индекс
Указатель
123………….
1000
0
2000
3000
Адрес 1
Адрес 2
Адрес 3
Индексный файл
0001
1000
1001
Ключ

Поля записи
Указатель на файл

переполнения
Файл переполнения
1
2
3
Главный файл
Достоинства: сокращение времени доступа при увеличении уровней индексации.

Недостатки: 1. Эффективная работа с файлом ограничена работой с ключевым полем. 2. Дополнительные затраты времени на периодическое слияние с файлом переполнения.
Операционные системыИндексно-последовательный файлИндексУказатель123………….1000020003000Адрес 1Адрес 2Адрес 3Индексный файл000110001001КлючПоля записиУказатель на файл переполненияФайл переполнения123Главный файлДостоинства: сокращение времени доступа при

Слайд 188Операционные системы
Индексно-последовательный файл
Для поиска нужной записи по ее ключу сначала

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

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

Слайд 189Операционные системы
Индексно-последовательный файл
Запись в главном файле, непосредственно предшествующая новой

записи в логической последовательности, обновляется и указывает на новую запись

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

Слайд 190Операционные системы
Индексированный файл
Для достижения гибкости необходимо использование большого количества индексов,

по одному для каждого типа поля, которое может быть объектом

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

Слайд 191Операционные системы

Индексированный файл
Типы индексов:
1. Полный индекс – содержит по

одному элементу для каждой записи главного файла.
2. Частный индекс содержит

элементы для записей, в которых имеется интересующее пользователя поле.
3. При добавлении новой записи в главный файл необходимо обновлять все индексные файлы.
4. Индексы организуются в виде последовательных файлов.
Достоинство: быстрый доступ. Недостатки: большая избыточность данных, неэффективность обработки всех записей файла.




Полный индекс 1

Полный индекс 2

Частичный индекс

Основной файл (записи переменной длины)

Файл прямого доступа

1. Обеспечивает прямой доступ к любой записи фиксированной длины по известному адресу (ключу) при хранении файлов на диске.
2. Достоинства: быстрый доступ к любой записи, простота вставки, удаления и модификации записей.
3. Недостатки: записи фиксированной структуры и длины.

Операционные системыИндексированный файлТипы индексов: 1. Полный индекс – содержит по одному элементу для каждой записи главного файла.2.

Слайд 192Операционные системы

4.4.4. Каталоговые системы

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





Файлы

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









User 1
User 2
User 3
ДЕРЕВО
Корневой каталог








User

1
User 1
User 2
User 3
СЕТЬ
Один файл – одно полное имя
Один файл

– много полных имен

Файловый каталог является связующим звеном между системой управления файлами и набором файлов

Операционные системы4.4.4. Каталоговые системыКорневой каталогФайлыКорневой каталогUser 1User 2User 3ДЕРЕВОКорневой каталогUser 1User 1User 2User 3СЕТЬОдин файл – одно

Слайд 193Операционные системы
4.4.4. Каталоговые системы
Простейшая форма системы каталогов состоит в том,

что имеется один каталог, в котором содержатся все файлы. Каталог

содержит информацию о файлах, включая атрибуты, местоположение, принадлежность. Пользователи обращаются к файлам по символьным именам.
Современные каталоговые системы имеют иерархическую структуру. Граф, описывающий иерархию каталогов, может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог и сеть, если файл может входить в несколько каталогов.
В MS DOS и Windows каталоги образуют древовидную структуру, а в UNIX - сетевую.
Операционные системы4.4.4. Каталоговые системыПростейшая форма системы каталогов состоит в том, что имеется один каталог, в котором содержатся

Слайд 194Операционные системы
4.4.4. Каталоговые системы
В общем случае вычислительная система может иметь

несколько дисковых устройств, даже в ПК всегда имеется несколько дисков:

гибкий, винчестер, CD-ROM (DVD). Как организовать хранение файлов в этом случае?
Первый способ. На каждом из устройств размещается автономная файловая система, т. е. файлы, находящиеся на этом устройстве, описываются деревом каталогов, никак не связанным с деревьями каталогов на других устройствах. В таком случае для однозначной идентификации файла пользователь вместе с составным символьным именем файла должен указывать идентификатор логического устройства. Примером такого автономного существования может служить MS DOS, Windows 95/98/Me.
Операционные системы4.4.4. Каталоговые системы	В общем случае вычислительная система может иметь несколько дисковых устройств, даже в ПК всегда

Слайд 195Операционные системы
4.4.4. Каталоговые системы
Второй способ. Такая организация хранения файлов, при

которой пользователю предоставляется возможность объединить файловые системы, находящиеся на разных

устройствах, в единую файловую систему, описываемую единым деревом каталогов. Такая операция называется монтированием.
Операционные системы4.4.4. Каталоговые системы	Второй способ. Такая организация хранения файлов, при которой пользователю предоставляется возможность объединить файловые системы,

Слайд 196Операционные системы


























Файловая система 1
Файловая система 2
Общая файловая система после монтирования
Обычный

файл
Каталог
Специальный файл-устройство
Монтирование
/ (root)
/ (root)
/ (root)
dev
dev
t

t
t

r
r
r
user
user
home
home
bin
bin
man
man
loc
loc
man1
man1
man2
man2
f1
f1
f2
f2

Операционные системыФайловая система 1Файловая система 2Общая файловая система после монтированияОбычный файлКаталогСпециальный файл-устройствоМонтирование/ (root)/ (root)/ (root)devdevtttrrruseruserhomehomebinbinmanmanloclocman1man1man2man2f1f1f2f2

Слайд 197Операционные системы
4.4.4. Каталоговые системы
В ОС UNIX монтирование осуществляется следующим образом.

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

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

Слайд 198Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков
Принцип

размещения файлов, каталогов и системной информации на реальном устройстве описывается

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

Слайд 199Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков

Нумерация дорожек начинается с 0 от внешнего края к центру

диска.
Когда диск вращается, магнитные головки, имеющиеся над (под) каждой поверхностью диска, считывают или записывают двоичные данные на магнитные дорожки.
Головки могут позиционировать над каждой дорожкой, если на одну поверхность диска в устройстве имеется одна головка. Некоторые диски имеют по отдельной головке на каждую дорожку, тогда позиционирования головок не требуется, что повышает быстродействие диска.
Операционные системы4.6. Физическая организация файловой системы4.6.1. Информационная структура магнитных дисков	 Нумерация дорожек начинается с 0 от внешнего

Слайд 200Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков

Совокупность дорожек одного радиуса на всех поверхностях пластин пакета называется

цилиндром (cylinder).
Каждая дорожка разбивается на фрагменты, называемые секторами (sectors) или блоками (blocks), так что все дорожки имеют равное число секторов, в которые можно максимально записать одно и то же число байт. Сектор имеет фиксированный для данной системы размер, выражающийся степенью двойки (чаще всего 512 байт).
Сектор - наименьшая адресуемая единица обмена данными диска с оперативной памятью. Для того чтобы контроллер мог найти на диске нужный сектор, ему необходимо задать все составляющие адреса сектора: номер цилиндра, номер поверхности и номер сектора.
Операционные системы4.6. Физическая организация файловой системы4.6.1. Информационная структура магнитных дисков	 Совокупность дорожек одного радиуса на всех поверхностях

Слайд 201Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков
Операционная

система при работе с диском использует, как правило, единицу дискового

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

Слайд 202Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков
Разметку

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

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

Слайд 203Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков
В

IBM-совместных ПК сектор 1 диска называется главной загрузочной записью (MBR

- Master Boot Record) и используется для загрузки компьютера.
В конце MBR содержится таблица разделов. В ней хранятся начальные и конечные адреса (номера блоков) каждого раздела.
Один из разделов помечен в таблице как активный. При загрузке компьютера BIOS считывает и исполняет MBR-запись, после чего загрузчик в MBR-записи определяет активный раздел диска, считывает его первый блок (загрузчик) и исполняет его.
Программа, находящаяся в загрузочном блоке, загружает операционную систему, содержащуюся в этом разделе.
Операционные системы4.6. Физическая организация файловой системы4.6.1. Информационная структура магнитных дисков	В IBM-совместных ПК сектор 1 диска называется главной

Слайд 204Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков

Для единообразия каждый дисковый раздел начинается с загрузочного блока, даже

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

Слайд 205Операционные системы


Адресация блоков данных диска
1 способ: c – h -

s

с – номер цилиндра, h – номер головки, s – номер сектора

2 способ: LBA (Logical Block Addressing) A = (c * H + h) * S + s – 1 H – число рабочих поверхностей в цилиндре, S – количество секторов на дорожке

Структура элемента таблицы разделов


Системные идентификаторы: 06h – FAT16, 07h – NTFS, 0Bh – FAT32

Операционные системыАдресация блоков данных диска1 способ: c – h - s

Слайд 206Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков

Каждый элемент таблицы описывает один раздел, причем двумя способами: через

координаты C-H-S начального и конечного секторов, а также через номер первого сектора в спецификации LBA (Logical Block Addressing) и общее число секторов в разделе. Последние два байта MBR имеют значение 55AAh, т. е. чередующиеся значения 0 и 1. Эта сигнатура выбрана для того, чтобы проверить работоспособность всех линий передачи данных. Значение 55AAh, присвоенное последним двум байтам, имеется во всех загрузочных секторах.
Разделы дисков могут быть двух типов: первичные (primary) и расширенные (extended). Максимальное число разделов равно четырем. Из них только один может быть активным.
Операционные системы4.6. Физическая организация файловой системы4.6.1. Информационная структура магнитных дисков	 Каждый элемент таблицы описывает один раздел, причем

Слайд 207Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков
Загрузчику,

расположенному в активном разделе, передается управление при включении компьютера с

помощью внесистемного загрузчика. Согласно принятым спецификациям, на одном жестком диске может быть только один расширенный раздел, который может быть разделен на логические диски.
Расширенный раздел содержит вторичную запись MBR, в состав которой вместо таблицы разделов входит аналогичная ей таблица логических дисков (logical Disks Table, LDT). Эта таблица описывает размещение и характеристики раздела, содержащего единственный логический диск, а также может специфицировать следующую запись SMBR (Secondary MBR).
Операционные системы4.6. Физическая организация файловой системы4.6.1. Информационная структура магнитных дисков	Загрузчику, расположенному в активном разделе, передается управление при

Слайд 208Операционные системы
Первичный раздел
Расширенный раздел
Не использован
Не использован
Главная таблица разделов

Master Boot Record
Загрузочный

сектор диска C:
Карта дискового пространства

Данные

Первичный раздел (диск C:)

Данные
Карта дискового пространства
Secondary

Master Boot Record

Загрузочный сектор диска D:



Secondary Master Boot Record

Загрузочный сектор диска D:

Карта дискового пространства


Данные

Логический диск D:

Логический диск E:


Расширенный раздел

Логический диск D:

Логический диск E:

Адрес таблицы для диска E:

0 – конец цепочки

Не использован

Не использован

Не использован

Не использован

Первая таблица логического диска

Вторая таблица логического диска

Разбиение диска на разделы

Операционные системыПервичный разделРасширенный разделНе использованНе использованГлавная таблица разделовMaster Boot RecordЗагрузочный сектор диска C:Карта дискового пространстваДанныеПервичный раздел (диск

Слайд 209Операционные системы
4.6. Физическая организация файловой системы

4.6.1. Информационная структура магнитных дисков
Во

всем остальном строение раздела диска меняется от системы к системе.

Часто файловая система содержит некоторые элементы, как показано на рисунке ниже.
Один из таких элементов называется суперблоком и содержит ключевые параметры файловой системы и считывается в память при загрузке компьютера.
Следом располагается информация о свободных блоках файловой системы.
За этими данными может следовать информация об i-узлах, содержащих информацию о файлах.
Следом может размещаться корневой каталог, а затем остальные файлы и каталоги.
На разных логических устройствах одного и того же физического диска могут располагаться файловые системы разного типа.
Операционные системы4.6. Физическая организация файловой системы4.6.1. Информационная структура магнитных дисков	Во всем остальном строение раздела диска меняется от

Слайд 210Операционные системы
4.6. Физическая организация файловой системы
A:

Р А З Д Е

Л Ы (первичные и расширенные)
Загрузочный блок


MBR
Таблица разделов
С:
D:
E:





Суперблок –таблица параметров
Карта дискового

пространства

i-узлы

Каталоги и файлы

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

Системная область

Область данных

З

С

NSB


NSB (Non –System Bootstrap) – внесистемный загрузчик

4.6.1. Информационная структура магнитных дисков

Операционные системы4.6. Физическая организация файловой системыA:Р А З Д Е Л Ы (первичные и расширенные)Загрузочный блокMBRТаблица разделовС:D:E:Суперблок

Слайд 211Операционные системы
4.6.2. Физическая организация и адресация файла
Критерии эффективности физической организации

файла:
скорость доступа к данным;
объем адресной информации файла;
степень

фрагментированности дискового пространства;
максимально возможный размер файла.
Возможные схемы размещения файлов:
- непрерывное размещение (непрерывные файлы);
- связный список блоков (кластеров) файла;
- связный список индексов блоков (кластеров) файла;
- перечень номеров блоков (кластеров) файлов;
- структуры, называемые I-узлами (index-node – индекс-узел).

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

Операционные системы4.6.2. Физическая организация и адресация файлаКритерии эффективности физической организации файла: скорость доступа к данным; объем адресной

Слайд 212Операционные системы

123456789

Файл А
Файл B











123456789




3
6
8

Достоинства: высокая скорость доступа, минимальный объем адресной

информации, нет ограничений на размер файла.
Недостатки: нет возможностей для изменения

размера файла, высокая степень возможной внешней фрагментации

Область применения – компакт-дики

Достоинства: минимальная адресная информация, отсутствие внешней фрагментации, возможность изменения размеров файла.

Недостатки: медленный доступ, сложность доступа к произвольному блоку файла, некратность блока файла степени двойки.

Непрерывное размещение в наборе соседних кластеров

Связный список кластеров

А)

Б)

Первое слово каждого кластера указывает на следующий кластер. Расположение файла задается номером его первого кластера.

Операционные системы123456789Файл АФайл B123456789368Достоинства: высокая скорость доступа, минимальный объем адресной информации, нет ограничений на размер файла.Недостатки: нет

Слайд 213Операционные системы









123456789



3
5
6


Область индексов
Связный список индексов





































Перечень номеров кластеров, занимаемых файлом
123456789
Файл 2,

4, 5
В)
Г)
Все достоинства варианта А), быстрый доступ к произвольному кластеру

файла, полное заполнение кластера, кратное степени двойки

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

Недостаток: рост адресной информации с увеличением емкости диска

Файл 1, 3, 5, 6

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

Этот перечень и есть адрес файла.

Операционные системы123456789356Область индексовСвязный список индексовПеречень номеров кластеров, занимаемых файлом123456789Файл 2, 4, 5В)Г)Все достоинства варианта А), быстрый доступ

Слайд 214Операционные системы
Связный список индексов - FAT
Примером такой таблицы индексов является

FAT-таблица (File Allocation Table), используемая в файловых системах MS DOS

и Windows (FAT 16 и FAT 32).
Файлу выделяется память на диске в виде связного списка кластеров. Номер первого кластера запоминается в записи каталога, где хранятся характеристики этого файла. С каждым кластером диска связывается индекс.
Индексы располагаются в FAT-таблице в отдельной области диска. Когда память свободна, все индексы равны нулю. Если некоторый кластер N назначен файлу, то индекс этого кластера либо становится равным номеру М следующего кластера файла, либо принимает специальное значение, являющееся признаком того, что кластер является последним для файла.
Операционные системыСвязный список индексов - FAT	Примером такой таблицы индексов является FAT-таблица (File Allocation Table), используемая в файловых

Слайд 215Операционные системы
Связный список индексов - FAT
Вообще индексы могут содержать следующую

информацию о кластере диска (для FAT 32):
• не используется (Unused)

- 0000.0000;
• используется файлом (Cluster in us by a file) - значение, отличное от 000.000, FFFF.FFFF и FFFF.FFF7;
• плохой кластер (Bad cluster) - FFFF.FFF7;
• последний кластер файла (Last cluster in a file) - FFFF.FFFF.
Операционные системыСвязный список индексов - FATВообще индексы могут содержать следующую информацию о кластере диска (для FAT 32):•

Слайд 216Операционные системы

Атрибуты файла
Адрес кластера 1
Адрес кластера 2
Адрес кластера 3
I- узел

(index node)
Адрес кластера указателей

Кластер, содержащий дополнительные дисковые адреса
Достоинства: каждый конкретный

I-узел находится в памяти только при открытии файла, что сокращает объем адресной информации; объем адресной информации не зависит от емкости диска, а лишь от числа открытых файлов; высокая скорость доступа к произвольному кластеру файла благодаря прямой адресации.
Недостатки: фиксированного количества адресов может оказаться недостаточным для адресации файла, отсюда необходимость сочетания прямой и косвенной адресации (пример – ufs).

Содержит атрибуты файла и адреса кластеров файла

Операционные системыАтрибуты файлаАдрес кластера 1Адрес кластера 2Адрес кластера 3I- узел (index node)Адрес кластера указателейКластер, содержащий дополнительные дисковые

Слайд 217Операционные системы





0 1 2

3 4 5

6 7 8 9 10 11 12 13 14


2048 записей














2048 записей

2048 записей

2048 записей

2048 записей

2048 записей

2048 записей

2048 записей

2048 записей

2048 записей

2048 записей

Непосредственная адресация

Простая косвенная адресация













Двойная косвенная адресация

Тройная косвенная адресация

Максимальный размер файла 7,0403*10 13 байт
Объем адресной информации – 0,05 % от адресуемых данных

Файловая система ОС UNIX ufs

А д р е с н а я и н ф о р м а ц и я ф а й л а

Размер кластера 8 Кбайт

Операционные системы 0   1    2   3    4

Слайд 218Операционные системы
Для хранения адреса файла выделено 15 полей, каждое из

которых состоит из 4 байт.
Если размер файлов меньше или равен

12 кластерам, то номера этих кластеров непосредственно перечисляются в первых двенадцати полях адреса.
Если кластер имеет размер 8 Кбайт, то можно адресовать файл размером до 8 Кбайт * 12 = 98304 байт.
Если размер кластера превышает 12 кластеров, то следующее, 13-е поле содержит адрес кластера, в котором могут быть расположены номера следующих кластеров и размер файла может возрасти до
8192 * (12 + 2048) = 16.875.520 байт.
Следующий уровень адресации, обеспечиваемый 14-м полем, позволяет адресовать до 8192 * (12 + 2048 + 20482) - 3,43766*1020 байт.

Тройная косвенная адресация

Файловая система ОС UNIX ufs

Операционные системы	Для хранения адреса файла выделено 15 полей, каждое из которых состоит из 4 байт.	Если размер файлов

Слайд 219Операционные системы
Если и этого недостаточно, используется следующее 15-е поле.

В этом случае максимальный размер файла может составить
8192 * (12

+ 2048 + 20482 +20483) = 7,0403*1013 байт.
Метод перечисления адресов кластеров файла задействован и в файловой системе NTFS, используемой в Windows NT/2000/2003.
Для сокращения объема адресной информации в NTFS адресуются не кластеры файла, а непрерывные области, состоящие из смежных кластеров диска.
Каждая такая область называется экстентом (extent) и описывается двумя числами: номером начального кластера и количеством кластеров.

Тройная косвенная адресация

Файловая система ОС UNIX ufs

Операционные системы	 Если и этого недостаточно, используется следующее 15-е поле. В этом случае максимальный размер файла может

Слайд 220Операционные системы
Для обеспечения доступа приложений к файлам операционная система с

файловой системой FAT использует следующие структуры:
загрузочные сектора главного и

дополнительных разделов;
загрузочные сектора логических дисков (разделов);
корневой каталог;
область данных;
цилиндр для выполнения диагностических операций чтения-записи.
На дискетах, в отличие от жесткого диска, нет загрузочных секторов главного и дополнительных разделов и диагностического цилиндра.
Эти структуры создаются программой Fdisk, которая не применяется для дискет, так как они на разделы не разбиваются.

Физическая организация FAT

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

Слайд 221Операционные системы
Чтобы установить на один жесткий диск несколько операционных систем,

его надо разбить на разделы. В загрузочном секторе главного раздела

создается таблица списка разделов.

Физическая организация FAT

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

Слайд 222Операционные системы
Загрузочный сектор главного раздела (называемый главной загрузочной записью -

Master Boot Record - MBR) является первым сектором на жестком

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

Физическая организация FAT

Операционные системыЗагрузочный сектор главного раздела (называемый главной загрузочной записью - Master Boot Record - MBR) является первым

Слайд 223Операционные системы
Загрузочный сектор раздела содержит:
блок параметров диска, в котором

содержится информация о разделе (размер, количество секторов, размер кластера, метка

тома и др.);
загрузочный код - программа, с которой начинается процесс загрузки операционной системы (для MS DOS и Windows 9x -файл Io.sys).
Загрузочные секторы логических дисков создаются программой Format. Они похожи на загрузочные диски разделов. Однако при загрузке выполняется код только того сектора, который находится в активном разделе.

Физическая организация FAT

Операционные системыЗагрузочный сектор раздела содержит: блок параметров диска, в котором содержится информация о разделе (размер, количество секторов,

Слайд 224Операционные системы
Логический диск, отформатированный программой FORMAT, состоит из следующих областей:

загрузочный сектор;
основная FAT-таблица, содержащая информацию о размещении файлов и

каталогов на диске;
копия FAT-таблицы;
корневой каталог - фиксированная область (16 Кбайт для жесткого диска), позволяющая хранить 512 записей о файлах и каталогах (каждая запись состоит из 32 байтов);
область данных для размещения всех файлов и каталогов, кроме корневого каталога.
Первые две записи FAT зарезервированы и содержат информацию о самой FAT, все остальные указывают на соответствующие кластеры диска.

Физическая организация FAT

Операционные системы	Логический диск, отформатированный программой FORMAT, состоит из следующих областей: загрузочный сектор; основная FAT-таблица, содержащая информацию о

Слайд 225Операционные системы
Размер FАТ-таблицы определяется количеством кластеров. Разрядность индексного указателя FАТ-таблицы

должна быть такой, чтобы можно было задать максимальный номер кластера

диска определенного объема.
В соответствии с разрядностью дискового указателя существует несколько разновидностей FAT: FAT12, FAT16, FAT32 (соответственно 212, 216 и 232 кластеров). Тип используемой FAT определяется программой Fdisk, хотя и записываются они в процессе форматирования высокого уровня программы Format.
На всех дискетах применяется FAT12, на жестких дисках до 512 Мбайт - FAT16, на жестких дисках, имеющих большую емкость при использовании Windows 95 OSR2 и Windows98 -FAT32 (вообще размер кластера может быть от 1 до 128 секторов или от 512 байт до 64 Кбайт).

Физическая организация FAT

Операционные системы	Размер FАТ-таблицы определяется количеством кластеров. Разрядность индексного указателя FАТ-таблицы должна быть такой, чтобы можно было задать

Слайд 226Операционные системы
Максимальный размер раздела FAT16 ограничен объемом 4 Гбайт (216

= 65536 кластеров по 64 Кбайт).
Максимальный размер раздела FAT32 практически

не ограничен (232 кластеров по 32 Кбайт).
За копией FAT-таблицы следует корневой каталог - база данных, содержащая информацию о записанных на диске данных. Каждая запись в ней имеет длину 32 байта и содержит всю информацию о файле, которой располагает операционная система. Формат записи приведен ниже.
Информация о расположении файла, т. е. о расположении оставшихся кластеров, содержится в FAT-таблице. В процессе работы системы кластеры файла могут оказаться не в смежных областях, а будут чередоваться с кластерами других файлов. Однако эту цепочку кластеров легко выделить, зная начальный кластер файлов.

Физическая организация FAT

Операционные системы	Максимальный размер раздела FAT16 ограничен объемом 4 Гбайт (216 = 65536 кластеров по 64 Кбайт).	Максимальный размер

Слайд 227Операционные системы








Загрузочный сектор (512 байт)
0 1 2

3
FAT 1
FAT 2 (копия)



Запись каталога (32 байт)
Root

directory (512 записей)

0 1 2 3

Data

Индексные указатели, связанные с кластерами принимают значения:
кластер свободен (0000h); последний кластер файла (fff8h – ffffh); кластер поврежден (fff7h); резервный кластер (fff0h - fff6h), кластер используется (любое другое значение)

Физическая организация FAT

Формат каталога

Длина поля Описание




8 байт Имя файла
3 байт Расширение файла
1 байт Атрибуты файла
1 байт Зарезервировано
3 байт Время создания
2 байт Дата создания
2 байт Дата последнего доступа
2 байт Зарезервировано
2 байт Время последней модификации
2 байт Дата последней модификации
2 байт Начальный кластер
4 байт Размер файла

Операционные системыЗагрузочный сектор (512 байт) 0  1  2  3  FAT 1FAT 2 (копия)Запись

Слайд 228Операционные системы

























16
24
32
File 1
File 2
17
41
19
23
23
31
39
29
Посл.
40
20
21
22
42
43
44
Посл.


Элементы, указывающие на кластеры файла 1
Элементы, указывающие

на кластеры файла 2
Пример FAT - таблицы

Операционные системы162432File 1File 21741192323313929Посл.40202122424344Посл.Элементы, указывающие на кластеры файла 1Элементы, указывающие на кластеры файла 2Пример FAT - таблицы

Слайд 229Операционные системы
В корневом каталоге имеются записи не только о файлах,

но и подкаталогов. Эти записи имеют точно такую же структуру,

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

Физическая организация FAT

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

Слайд 230Операционные системы
Физическая организация FAT

Операционные системыФизическая организация FAT

Слайд 231Операционные системы
Файловые системы FAT 12 и FAT 16 оперируют с

именами файлов, составленных по схеме 8.3 (имя, расширение). В Windows

95 с появлением 32-разрядной виртуальной FAT-VFAT (Virtual file allocation table) поддерживаются имена длиной 255 символов.
Для обеспечения обратной совместимости ОС создает его псевдоним, удовлетворяющий стандарту 8.3. Делается это следующим образом:
1. Первые 3 символа после последней точки в длинном имени файла становятся расширением псевдонима.
2. Первые шесть символов длинного имени файла, за исключением пробелов, которые игнорируются, преобразуются в символы верхнего регистра и становятся шестью символами стандартного имени файла.

Физическая организация FAT

Операционные системы	Файловые системы FAT 12 и FAT 16 оперируют с именами файлов, составленных по схеме 8.3 (имя,

Слайд 232Операционные системы
Недопустимые символы (+ ,; - []), которые могут использоваться

в Windows 95, преобразуются в символы подчеркивания.
3. Добавляются символы ~1

(седьмой и восьмой) к псевдониму имени файла.
Если первые шесть символов нескольких файлов одни и те же, то добавляются символы ~2, ~3 и т. д.
VFAT хранит псевдонимы длинных имен в поле стандартных имен файлов записи каталога файла.
Таким образом, все версии DOS и Windows могут получить доступ к файлу под длинным именем с помощью его псевдонима.
Для хранения символов длинных имени файлов были добавлены дополнительные записи каталога.

Физическая организация FAT

Операционные системы	Недопустимые символы (+ ,; - []), которые могут использоваться в Windows 95, преобразуются в символы подчеркивания.3.

Слайд 233Операционные системы
Имя формата MS-DOS хранится в каталоге прямо в описателе

(базовой каталоговой записи). Если у файла есть также длинное имя,

оно хранится в одной или нескольких каталоговых записях, предшествующих базовой каталоговой записи файла с именем в формате MS-DOS.
Каждая такая запись содержит до 13 символов формата Unicode. Элементы имени хранятся в обратном порядке, начинаясь сразу перед описателем файла в формате MS-DOS и последующими фрагментами перед ним. Формат каждого фрагмента длинного имени показан на следующем рисунке.

Физическая организация FAT

Операционные системы	Имя формата MS-DOS хранится в каталоге прямо в описателе (базовой каталоговой записи). Если у файла есть

Слайд 234Операционные системы
Формат каталоговой записи с фрагментом длинного имени файла в

Windows 98
Физическая организация FAT

Операционные системы	Формат каталоговой записи с фрагментом длинного имени файла в Windows 98Физическая организация FAT

Слайд 235Операционные системы
Для того, чтобы Windows отличала каталоговые записи, содержащие имя

файла в формате MS-DOS, от фрагментов длинных имен поле Attributes

(атрибуты) для фрагмента длинного имени содержит значение 0x0F, что соответствует невозможной комбинации атрибутов для описателя файла в MS-DOS.
Старые программы, написанные для работы в MS-DOS, читая каталог, просто игнорируют такие описатели как неверные.
Порядок фрагментов имени учитывается в первом байте каталоговой записи. Последний фрагмент имени отмечается добавлением к порядковому номеру числа 64.
Поскольку для порядкового номера используется всего 6 бит, теоретически максимальная длина имени файла может составить 63 х 13 = 819 символов. На практике она ограничена 260 символами по историческим причинам.

Физическая организация FAT

Операционные системы	Для того, чтобы Windows отличала каталоговые записи, содержащие имя файла в формате MS-DOS, от фрагментов длинных

Слайд 236Операционные системы
Каждый фрагмент длинного имени содержит поле Checksum (контрольная сумма)

во избежание следующей проблемы. Сначала программа, работающая в системе Windows

98 (и последующих), создает файл с длинным именем. Затем компьютер перезагружается в MS-DOS или Windows 3.x. После этого старая программа, удаляя файл, удаляет из каталога имя формата MS-DOS, но оставляет в нем предшествующее ему длинное имя (так как ей ничего не известно о длинных именах). Наконец, какая-то программа создает новый файл, используя освободившееся место в каталоге.

Физическая организация FAT

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

Слайд 237Операционные системы
К этому моменту мы имеем верную последовательность фрагментов длинного

имени, предшествующую описателю файла формата MS-DOS, который не имеет к

ней никакого отношения.
Поле Checksum позволяет системе Windows 98 (и последующих) обнаружить такую ситуацию.
Конечно, поскольку для поля Checksum используется всего один байт, есть один шанс из 256, что Windows 98 не заметит подмены.

Физическая организация FAT

Операционные системы	К этому моменту мы имеем верную последовательность фрагментов длинного имени, предшествующую описателю файла формата MS-DOS, который

Слайд 238Операционные системы
Чтобы предыдущие версии не повредили эти дополнительные записи

каталога, VFAT устанавливает для них атрибуты, которые нельзя использовать для

обычного файла: только для чтения, скрытый, системный и метка тома.
Такие атрибуты DOS игнорирует, а следовательно, длинные имена файлов остаются нетронутыми. Подобным же образом решается проблема длинных имен в Windows NT/2000, использующих для хранения имен двухбайтовый формат на каждый символ - Unicode.
Выбор типа FAT-системы во многом определяется емкостью жесткого диска. При использовании FAT16 нельзя создать раздел емкостью более 2 Гбайт. Для устранения этого ограничения фирма Microsoft разработали FAT32.

Физическая организация FAT

Операционные системы	 Чтобы предыдущие версии не повредили эти дополнительные записи каталога, VFAT устанавливает для них атрибуты, которые

Слайд 239Операционные системы
Она работает как FAT16, но имеет отличие в организации

хранения данных. Впервые FAT32 была реализована в Windows 95 OEM

Service Release 2 (OSR2). Она встроена и в Windows 98/Me/NT/2000.
Основное преимущество FAT32 - возможность использования 32-разрядных записей вместо 16-разрядных, что приводит к увеличению кластеров (вместо 216 = 65536) до 268 435 456 в разделе. Это значение в Windows 95 OSR2 эквивалентно 228, а не 232, поскольку 4 бита из 32 зарезервированы для других целей.
При использовании FAT 32 размер раздела может достигать 2 Тбайт при кластере размером 8, 16 или 32 Кбайт. Новая файловая система может иметь 232 кластеров размером 512 байт, а размер единичного файла может составить 4 Гбайт. Реально FAT 32 поддерживает максимальный размер тома до 32 Гбайт.

Физическая организация FAT

Операционные системы	Она работает как FAT16, но имеет отличие в организации хранения данных. Впервые FAT32 была реализована в

Слайд 240Операционные системы
Это связано с тем, что в Windows 2000 это

ограничение обусловлено программой Format. Вообще максимально возможный том - 2

Тбайт при кластере 32 Кбайт.
В FAT32 в отличие от ее предшественниц корневой каталог может располагаться в любом месте раздела и иметь любой размер. Это обеспечивает динамическое изменение размера раздела.
Файловая система FAT32 также использует преимущество двух копий FAT. Как и в FAT16, в FAT32 первая копия является основной и периодически копирует данные в дополнительную копию FAT. При проблемах с главной копией FAT системы переключаются в дополнительную копию, которая становится главной.

Физическая организация FAT

Операционные системы	Это связано с тем, что в Windows 2000 это ограничение обусловлено программой Format. Вообще максимально возможный

Слайд 241Операционные системы
В отличие от FAT16 ФС FAT32 вместо массива из

65 536 элементов в ней используется столько, сколько нужно, чтобы

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

Физическая организация FAT

Операционные системы	В отличие от FAT16 ФС FAT32 вместо массива из 65 536 элементов в ней используется столько,

Слайд 242Операционные системы
Файловая система Windows 2000
Основные свойства файловой системы NTFS:
1. Поддержка

больших файлов и больших дисков (объем до 264 байт).

2. Восстанавливаемость после сбоев и отказов программ и аппаратуры управления дисками. 3. Высокая скорость операций, в том числе для больших дисков. 4. Низкий уровень фрагментации, в том числе для больших дисков. 5. Гибкая структура, допускающая развитие за счет добавления новых типов записей и атрибутов файлов с сохранением совместимости с предыдущими версиями ФС. 6. Устойчивость к отказам дисковых накопителей. 7. Поддержка длинных символьных имен. 8. Контроль доступа к каталогам и отдельным файлам.
Операционные системыФайловая система Windows 2000Основные свойства файловой системы NTFS:1. Поддержка больших файлов и больших дисков (объем до

Слайд 243Операционные системы

Структура тома NTFS
Основой структуры тома является главная таблица файлов

(Master File Table, MFT), которая содержит одну или несколько записей

для каждого файла тома и одну запись для самой себя (размер записи – 1, 2 или 4 Кбайт).
Том состоит из последовательности кластеров, порядковый номер кластера в томе – логический номер кластера (Logical Cluster Number, LCN).
Файл состоит из последовательности кластеров, порядковый номер кластера внутри файла называется виртуальным номером кластера (Virtual Cluster Number, VCN). Размер кластера от 512 байт до 64 Кбайт.
Базовая единица распределения дискового пространства – отрезок – непрерывная область кластеров.
Адрес отрезка – (LCN, k), k –количество кластеров в отрезке.
Адрес файла (или его части) – (LCN, VCN, k).

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

Операционные системыСтруктура тома NTFSОсновой структуры тома является главная таблица файлов (Master File Table, MFT), которая содержит одну

Слайд 244Операционные системы





Загрузочный блок




0
1
2
15






Системный файл 1
Системный файл 2
Системный файл n

Копия MFT

(первые 3 записи)

Копия загрузочного блока
Файл M


MFT
MFT


Загрузочный блок содержит стандартный блок

параметров BIOS, количество блоков в томе, начальный логический номер кластера основной и зеркальной копии MFT.

0. Описание MFT, в том числе адреса всех ее отрезков. 1. Зеркальная копия 3-х первых записей MFT. 2. Журнал для восстановления файловой системы. 3. Файл тома (имя, версия и др. информация). 4. Таблица определения атрибутов. 5. Индекс корневого каталога. 6. Битовая карта кластеров. 7. Загрузочный сектор раздела. 8. Список дефектных кластеров. 9. Описатели защиты файлов. 10. Таблица преобразования регистра символов (для Unicode). 11. Таблица квот, точек повторного анализа и др. 12 – 15 – зарезервировано.

1-й отрезок MFT

2-й отрезок MFT

3-й отрезок MFT

Файл K


MFT

Операционные системыЗагрузочный блок01215Системный файл 1Системный файл 2Системный файл nКопия MFT (первые 3 записи)Копия загрузочного блокаФайл MMFTMFTЗагрузочный блок

Слайд 245Операционные системы

Структура файлов NTFS
Файлы и каталоги состоят из набора атрибутов.

Атрибут содержит следующие поля: тип, длина, имя (образуют заголовок) и

значение.

Системные атрибуты: 1. Стандартная информация (сведения о владельце, флаговые биты, время создания, время обновления и др.). 2. Имя файла в кодировке Unicode, м.б. повторено для имени MS DOS. 3. Список атрибутов (содержит ссылки на номера записей MFT, где расположены атрибуты), используется для больших файлов. 4. Версия – номер последней версии файла. 5. Дескриптор безопасности – список прав доступа ACL. 6. Версия тома –используется в системных файлах тома. 7. Имя тома. 8. Битовая карта MFT – карта использования блоков тома. 9. Корневой индекс – используется для поиска файлов в каталоге. 10. Размещение индекса – нерезидентная часть индексного списка ( для больших файлов). 11. Идентификатор объекта – 64-разрядный идентификатор файла, уникальный для данного тома. 12. Данные файла. 13. Точка повторного анализа (монтирование и симв. ссылки)

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

Слайд 246Операционные системы
Файлы NTFS в зависимости от способа размещения делятся на

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

файла

Заголовок данных

ДАННЫЕ

Заголовок ACL

Список прав доступа

НЕ используется

Пример небольшого файла NTFS




Стандартная информация



Имя файла



ДАННЫЕ

Список прав доступа

Список прав доступа

VCN

K

K

K

K

LCN

LCN

LCN

0

9

20

4

64

2

80

3


20 – 23, 64 – 65, 80 - 82

Блоки диска

Пример большого файла NTFS

Заголовок данных

Заголовок ACL

Операционные системыФайлы NTFS в зависимости от способа размещения делятся на небольшие, большие, очень большие и сверхбольшие.Заголовок записиСтандартный

Слайд 247Операционные системы
Каждый том NTFS (то есть дисковый раздел) организован как

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

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

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

Операционные системыКаждый том NTFS (то есть дисковый раздел) организован как линейная последовательность блоков (кластеров по терминологии Microsoft).

Слайд 248Операционные системы
Для управления содержимым тома в системе NTFS используется главная

файловая таблица MFT (Master File Table), представляющая собой линейную последовательность

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

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

Операционные системыДля управления содержимым тома в системе NTFS используется главная файловая таблица MFT (Master File Table), представляющая

Слайд 249Операционные системы
В частности корневой каталог представляет собой файл метаданных. Записи

в MFT, начиная с 16-й, хранят сведения о нормальных файлах

и подкаталогах.
Каждая запись MFT состоит из заголовка записи, за которым следует последовательность пар: заголовок атрибута, значение. В файловой системе NTFS определено 13 атрибутов, которые могут появляться в записях MFT.

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

Операционные системыВ частности корневой каталог представляет собой файл метаданных. Записи в MFT, начиная с 16-й, хранят сведения

Слайд 250Операционные системы
В частности определены атрибуты: стандартная информация (содержит сведения о

владельце файла, информацию о защите, флаговые биты, временные штампы и

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

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

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

Слайд 251Операционные системы
Если значение атрибута достаточно короткое, чтобы поместиться в запись

MFT, оно помещается туда непосредственно за заголовком и такой атрибут

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

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

Операционные системыЕсли значение атрибута достаточно короткое, чтобы поместиться в запись MFT, оно помещается туда непосредственно за заголовком

Слайд 252Операционные системы
Такая запись начинается с заголовка, определяющего смещение относительно начала

файла первого блока и число всех блоков, выделенных для размещения

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

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

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

Слайд 253Операционные системы
Рис. Запись MFT для 9-блочного файла, состоящего из трех

сегментов
Структура файловой системы NTFS

Операционные системыРис. Запись MFT для 9-блочного файла, состоящего из трех сегментов Структура файловой системы NTFS

Слайд 254Операционные системы
Если файл будет настолько фрагментирован, что информация о блоках

размещения значения нерезидентного атрибута не поместится в одну запись MFT,

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

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

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

Слайд 255Операционные системы
Рис. Файл, которому требуется три записи MFT для хранения

данных обо всех своих сегментах
Структура файловой системы NTFS

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

Слайд 256Операционные системы
Если потребуется так много записей MFT, что в базовой

записи в список атрибутов не поместятся все индексы MFT, то

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

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

Операционные системыЕсли потребуется так много записей MFT, что в базовой записи в список атрибутов не поместятся все

Слайд 257Операционные системы
В файловой системе NTFS каталоги хранятся в виде файлов.

Каждый файл каталога содержит атрибут под названием index, содержащий список

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

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

Операционные системыВ файловой системе NTFS каталоги хранятся в виде файлов. Каждый файл каталога содержит атрибут под названием

Слайд 258Операционные системы
Файловая система NTFS поддерживает прозрачное сжатие файлов и целых

папок: процессы, читающие такой файл или пишущие в него, не

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

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

Операционные системыФайловая система NTFS поддерживает прозрачное сжатие файлов и целых папок: процессы, читающие такой файл или пишущие

Слайд 259Операционные системы
Когда пользователь сообщает системе, что хочет зашифровать определенный файл,

формируется случайный 128-разрядный ключ, с помощью которого осуществляется шифрование. Ключи

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

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

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

Слайд 260Операционные системы
Содержимое NTFS-файла (то есть реальные данные) могут храниться внутри

одного или нескольких потоков данных (data streams).
Поток данных представляет собой

простой атрибут файла в файловой системе NTFS, в котором хранятся данные файла.
Стандартный поток данных без названия — это то, что большинство людей считают содержимым файла. Файлы в NTFS могут содержать несколько альтернативных потоков данных (alternate data stream).

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

Операционные системыСодержимое NTFS-файла (то есть реальные данные) могут храниться внутри одного или нескольких потоков данных (data streams).Поток

Слайд 261Операционные системы
В дополнительных потоках хранятся метаданные, например, автор файла или

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

для предварительного просмотра картинки либо резервная копия текстового файла.
Файловая система NTFS в Windows Server 2003 и Windows XP поддерживает дисковые квоты (disk quotas), позволяющие ограничивать объем дискового пространства, с которым может работать тот или иной пользователь.

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

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

Слайд 262Операционные системы
Соединение каталогов (directory junctions) — средство, позволяющее соединять каталоги

NTFS. Соединение каталогов позволяет отображать локальные тома, а также общие

сетевые ресурсы на локальную папку NTFS, тем самым, объединяя локальные и удаленные элементы в одно локальное пространство имен.
Точки подключения томов (volume mount points) или подключаемые тома — еще одно новое средство, позволяющее поместить том NTFS в папку другого тома NTFS так, как если бы он физически находился на данном томе.

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

Операционные системыСоединение каталогов (directory junctions) — средство, позволяющее соединять каталоги NTFS. Соединение каталогов позволяет отображать локальные тома,

Слайд 263Операционные системы

Основные характеристики файловых систем
FAT

Разрядность Число

Максимальный Максимальный Имя файла

указателя кластеров объем кластера размер раздела


FAT12 12 4096 4 Кбайт 16 Мбайт 8.3
FAT16 16 65536 64 Кбайт 4 Гбайт 8.3 255.3
FAT 32 32 4 Г 32 Кбайт 232 по 32 Кбайт 255.3
NTFS 64 264 4 Кбайт 264 по 4 Кбайт 255.3

Программа Fdisk автоматически определяет размер кластера на основе выбранной файловой системы и размера раздела. Существует недокументированный параметр команды Format, позволяющий явно указать размер кластера:
Format /z:n, где n – размер кластера в байтах, кратный 512.

Операционные системыОсновные характеристики файловых систем FAT      Разрядность     Число

Слайд 264Операционные системы
4. 7. Операции управления каталогами и файловые операции

4.7.1. Набор файловых операций
Файловая система ОС должна предоставлять пользователям

набор операций для работы с файлами, оформленный в виде системных вызовов.
В различных ОС имеются различные наборы файловых операций. К наиболее часто встречающимся системным вызовам для работы с файлами относятся:
1. Create (создание). Файл создается без данных. Этот системный вызов объявляет о появлении нового файла и позволяет установить некоторые его атрибуты.
2. Delete (удаление). Ненужный файл удаляется, чтобы освободить пространство на диске.
3. Open (открытие). До использования файла его нужно открыть. Данный вызов позволяет прочитать атрибуты файла и список дисковых адресов для быстрого доступа к содержимому файла.
Операционные системы4. 7. Операции управления каталогами и файловые операции   4.7.1. Набор файловых операций	Файловая система ОС

Слайд 265Операционные системы
4. 7. Операции управления каталогами и файловые операции

4.7.1. Набор файловых операций
4. Close (закрытие). После завершения операций

с файлом его атрибуты и дисковые адреса не нужны. Файл следует закрыть, чтобы освободить пространство во внутренней таблице.
5. Read (чтение). Файл читается с текущей позиции. Процесс, работающий с файлом, должен указать (открыть) буфер и количество читаемых данных.
6. Write (запись). Данные записываются в файл в текущую позицию. Если она находится в конце файла, его размер автоматически увеличивается. В противном случае запись производится поверх существующих данных.
7. Append (добавление). Это усеченная форма предыдущего вызова. Данные добавляются в конец файла.
8. Seek (поиск). Данный системный вызов устанавливает файловый указатель в определенную позицию.
Операционные системы4. 7. Операции управления каталогами и файловые операции   4.7.1. Набор файловых операций4. Close (закрытие).

Слайд 266Операционные системы
4. 7. Операции управления каталогами и файловые операции

4.7.1. Набор файловых операций
9. Get attributes (получение атрибутов). Процессам

для работы с файлами бывает необходимо получить их атрибуты.
10. Set attributes (установка атрибутов). Этот вызов позволяет установить необходимые атрибуты файлу после его создания.
11. Rename (переименование). Этот системный вызов позволяет изменить имя файла. Однако такое действие можно выполнить копированием файла. Поэтому данный системный вызов не является необходимым.
12. Execute (выполнить). Используя этот системный вызов, файл можно запустить на выполнение.
Операционные системы4. 7. Операции управления каталогами и файловые операции   4.7.1. Набор файловых операций9. Get attributes

Слайд 267Операционные системы
4. 7. Операции управления каталогами и файловые операции

4.7.1. Набор файловых операций
В Windows 2000 есть свой набор

системных вызовов, которые она может выполнять. Однако корпорация Microsoft никогда не публиковала список системных вызовов Windows, кроме того, она постоянно меняет их от одного выпуска к другому.
Вместо этого Microsoft определила набор функциональных вызовов, называемый Win 32 API (Win 32 Application Programming Interface).
Они представляют собой библиотечные процедуры, которые либо обращаются к системным вызовам, чтобы выполнить требуемую работу, либо выполняют прямо в пространстве пользователя.
Операционные системы4. 7. Операции управления каталогами и файловые операции   4.7.1. Набор файловых операцийВ Windows 2000

Слайд 268Операционные системы
4. 7. Операции управления каталогами и файловые операции

4.7.1. Набор файловых операций
Win 32 API предоставляет всеобъемлющий интерфейс,

с возможностью выполнить одно и то же требование несколькими (тремя-четырьмя) способами.
В ОС UNIX все системные вызовы формируют минимальный интерфейс: удаление даже одного из них приведет к снижению функциональности ОС.
Многие вызовы API создают объекты ядра того или иного типа (файлы, процессы, потоки, каналы и т.д.). Каждый вызов, создающий объект, возвращает вызывающему процессу результат, называемый дескриптором (небольшое целое число). Дескриптор используется впоследствии для выполнения операций с объектами. Он не может быть передан другому процессу и использован им.
Операционные системы4. 7. Операции управления каталогами и файловые операции   4.7.1. Набор файловых операций	Win 32 API

Слайд 269Операционные системы
4. 7. Операции управления каталогами и файловые операции

4.7.1. Набор файловых операций
Однако при определенных обстоятельствах дескриптор

может быть дублирован и передан другому процессу защищенным способом, что предоставляет второму процессу контролируемый доступ к объекту, принадлежащему первому процессу.
С каждым объектом ассоциирован дескриптор безопасности, описывающий, кто и какие действия может, а какие не может выполнять с данным объектом.
Операционные системы4. 7. Операции управления каталогами и файловые операции   4.7.1. Набор файловых операций	 Однако при

Слайд 270Операционные системы
4. 7. Операции управления каталогами и файловые операции

Win32 API

UNIX Описание

CreateDirectory mkdir Создать новый каталог
RemoveDirectory rmdir Удалить пустой каталог
FindFirstFile opendir Инициализация для начала чтение записей каталога
FindNextFile readdir Прочитать следующую запись каталога
MoveFile rename Переместить файл из одного каталога в другой
SetCurrentDirectory chdir Изменить текущий рабочий каталог
CreateFile open Создать (открыть) файл, вернуть дескриптор файла
DeleteFile unlink Удалить существующий файл
CloseHandle close Закрыть файл
ReadFile read Прочитать данные из файла
WriteFile write Записать данные в файл
SetFilePointer lseek Уст-вить указатель в файле в определенную позицию
GetFileAttributes stat Вернуть атрибуты файла
LockFile fcntl Заблокировать файл для взаимного исключения
Unlock File fcntl Отменить блокировку области файла

Операционные системы4. 7. Операции управления каталогами и файловые операции   Win32 API

Слайд 271Операционные системы
4.7.2. Способы выполнения файловых операций
Последовательность универсальных действий:
1. По символьному

имени файла найти его характеристики, которые хранятся в файловой системе

на диске.

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

3. На основании характеристик файла проверить права пользователя на выполнение запрошенной операции (чтение, запись, удаление и т. п.).

4. Очистить область памяти, отведенную под временное хранение характеристик файла.









open

open

open

open

close

close

close

close

Read 1

Read 2

Read 3

Read 1

Read 2

Read 3

Примеры системных вызовов для работы с файлами:

fd = create (“abc”, mode); fd = open (“file”, how); read (fd, buffer, nbytes); write(fd, buffer, nbytes);

Стандартные файлы ввода – вывода, перенаправление вывода

read (stdin, buffer, nbytes); write(stdout, buffer, nbytes); < file - перенаправление ввода, > file – перенаправление вывода на файл

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

Слайд 272Операционные системы
4.7.2. Способы выполнения файловых операций
Кроме того, каждая операция включает

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

диска, удаление файла, изменение его атрибутов и т. п.
ОС может выполнить последовательность действий над файлами двумя способами:
1. Для каждой операции выполняются как универсальные, так и уникальные действия. Такая схема иногда называется схемой без заполнения состояния операции (stateless).
2. Все универсальные действия выполняются в начале и в конце последовательности операций, а для каждой промежуточной операции выполняются только уникальные действия.
Операционные системы4.7.2. Способы выполнения файловых операций	Кроме того, каждая операция включает ряд уникальных для нее действий, например чтение

Слайд 273Операционные системы
4.7.2. Способы выполнения файловых операций
Подавляющее большинство файловых систем поддерживает

второй способ как более экономичный и быстрый. Первый способ иногда

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

Слайд 274Операционные системы
4.7.2. Способы выполнения файловых операций
Вызов close освобождает буфер с

характеристиками файла и делает невозможным продолжение операций с файлами без

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

Слайд 275Операционные системы

Примеры системных вызовов для работы с файлами
fd = creat

(“name”, mode) – файла с заданным режимом защиты;

fd = open (“name”, how) – открыть файл для чтения, записи или и того и другого; s = close (fd) – закрыть открытый файл; n = read (fd, buffer, nbytes) – прочитать данные из файла в буфер; n = write (fd, buffer, nbytes) – записать данные из буфера в файл; position = lseek (fd, offset, whence) – переместить указатель в файле; s = fstat | stat (fd | “name”, &buf) - получить информацию о состоянии файла.
При выполнении программы стандартным образом файлы с дескрипторами 0, 1 и 2 уже открыты для стандартного ввода, стандартного вывода и стандартного потока сообщений об ошибках.
n = read (stdin, buffer, nbytes); n = write (stdout, buffer, nbytes)

stdin = 0; stdout =1; stderr = 2.

Операционные системыПримеры системных вызовов для работы с файламиfd = creat (“name”, mode) – файла с заданным режимом

Слайд 276Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Файлы наряду с

некоторыми другими ресурсами являются разделяемыми ресурсами, доступ к которым ОС

должна контролировать.
Операционные системы4.7.3. Контроль доступа к файлам и каталогамФайлы наряду с некоторыми другими ресурсами являются разделяемыми ресурсами, доступ

Слайд 277Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Для каждого типа

объекта существует набор операций, которые можно с ним выполнять. Система

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

Слайд 278Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
У каждого объекта

доступа существует владелец. Владелец объекта имеет право выполнить с ним

любые допустимые для данного объекта операции.
Во многих ОС существует особый пользователь - администратор «superuser», который имеет все права по отношению к объектам системы, необязательно являясь их владельцем. Эти права (полномочия) необходимы администратору для управления политикой доступа.
Различают два основных подхода к определению прав доступа:
1. Избирательный доступ - ситуация, когда владелец объекта определяет допустимые операции с объектом. Этот подход называется также произвольным доступом, так как позволяет администратору и владельцам объекта определить права доступа произвольным образом, по их желанию. Однако администратор по умолчанию наделен всеми правами.
Операционные системы4.7.3. Контроль доступа к файлам и каталогам	У каждого объекта доступа существует владелец. Владелец объекта имеет право

Слайд 279Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
2. Мандатный доступ

(от mandatory - принудительный) - подход к определению прав доступа,

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

Слайд 280Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Каждый пользователь (группа)

имеют символьное имя, а также уникальный числовой идентификатор. При выполнении

процедуры логического входа в систему пользователь сообщает свое символьное имя или пароль. Все идентификационные данные, а также сведения о вхождении пользователя в группы хранятся в специальном файле (UNIX) или базе данных (Windows NT).
Вход пользователя в систему порождает процесс-оболочку, который поддерживает диалог с пользователем и запускает для него другие процессы. Любой порождаемый процесс наследует идентификаторы пользователя и групп от процесса родителя.
В разных ОС для одних и тех же типов ресурсов может быть определен свой список дифференцируемых операций доступа. Для файловых объектов этот список может включать операции, которые рассмотрены выше.
Операционные системы4.7.3. Контроль доступа к файлам и каталогам	Каждый пользователь (группа) имеют символьное имя, а также уникальный числовой

Слайд 281Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Набор файловых операций

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

каталогов: читать, писать и выполнять.
Возможна комбинация двух подходов - детальный уровень и укрупненный. Например, в Windows NT/2000/2003 администратор работает на укрупненном уровне, а при желании может перейти на детальный.
В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, а строки - всем пользователям.
На пересечении строк и столбцов указываются разрешенные операции. Однако реально для тысяч и десятков тысяч файлов в системе пользоваться такой матрицей неудобно.
Операционные системы4.7.3. Контроль доступа к файлам и каталогам	Набор файловых операций может включать всего несколько укрупненных операций, например,

Слайд 282Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Поэтому она хранится

по частям, т. е. для каждого файла и каталога создается

список управления доступом (Access Control List, ACL), в котором описываются права на выполнение операций пользователей и групп пользователей по отношению к этому файлу или каталогу.
Список управления доступом является частью характеристик файла или каталога и хранится на диске в соответствующей области. Не все файловые системы поддерживают списки управления доступом, например FAT не поддерживает, поскольку разрабатывалась для однопрограммной, однопользовательской ОС MS DOS.
Обобщенно формат списка управления доступом (ACL) можно представить в виде набора идентификаторов пользователей и групп пользователей, в котором для каждого идентификатора указывается набор разрешенных операций над объектом.
Операционные системы4.7.3. Контроль доступа к файлам и каталогам	Поэтому она хранится по частям, т. е. для каждого файла

Слайд 283Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Сам список

ACL состоит из элементов управления доступом (Access Control Element, АСЕ),

которые соответствуют одному идентификатору. Список ACL с добавлением идентификатора владельца называют характеристиками безопасности.
Для разделяемых ресурсов в Windows XP применяется общая модель объекта, которая содержит такие характеристики безопасности, как набор допустимых операций, идентификатор владельца, список управления доступом.
Проверки прав доступа для объектов любого типа выполняются централизованно с помощью монитора безопасности (Security Reference Monitor), работающего в привилегированном режиме.
Операционные системы4.7.3. Контроль доступа к файлам и каталогам	 Сам список ACL состоит из элементов управления доступом (Access

Слайд 284Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Для системы

безопасности Windows характерно большое количество различных встроенных (предопределенных) субъектов доступа

- отдельных пользователей и групп (Administrator, System, Guest, группы Users, Administrators, Account, Operators и др.).
Смысл этих встроенных пользователей и групп состоит в том, что они наделены определенными правами. Это облегчает работу администратора по созданию эффективной системы разграничения доступа. Во-первых, за счет того, что нового пользователя можно внести в какую-либо группу. Во-вторых, можно добавлять (изымать) права встроенных групп. Наконец, можно создавать новые группы с уникальным набором прав.
Операционные системы4.7.3. Контроль доступа к файлам и каталогам	 Для системы безопасности Windows характерно большое количество различных встроенных

Слайд 285Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Все объекты

при создании снабжаются дескрипторами безопасности, содержащими список управления доступом и

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

Слайд 286Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
В Windows

NT/2000/XP администратор может управлять доступом пользователей к каталогам и файлам

только в разделах диска, в которых установлена файловая система NTFS, разделы FAT не поддерживаются, так как в этой ФС у файлов и каталогов отсутствуют атрибуты для хранения списков управления доступом.
Разрешения в Windows бывают индивидуальные (специальные) и стандартные. Индивидуальные относятся к элементарным операциям над каталогами и файлами, а стандартные разрешения являются объединением нескольких индивидуальных разрешений.
Операционные системы4.7.3. Контроль доступа к файлам и каталогам	 В Windows NT/2000/XP администратор может управлять доступом пользователей к

Слайд 287Операционные системы
4.7.3. Контроль доступа к файлам и каталогам
Стандартные разрешения
Специальные разрешения

Операционные системы4.7.3. Контроль доступа к файлам и каталогамСтандартные разрешенияСпециальные разрешения

Слайд 288Операционные системы
4.7.3. Контроль доступа к файлам и каталогам

Операционные системы4.7.3. Контроль доступа к файлам и каталогам

Слайд 289Операционные системы
Квоты дискового пространства
Файловая система NTFS в Windows Server 2003

поддерживает дисковые квоты (disk quotas), позволяющие ограничивать объем дискового пространства,

с которым может работать тот или иной пользователь.
Установка квот дает возможность более эффективно управлять размещением информации на диске, поскольку теперь дисковое пространство можно распределять между пользователями в соответствии с их потребностями.
Кроме того, введение дисковых квот принуждает пользователей более аккуратно работать с компьютером, в частности систематически удалять ненужные файлы.
Операционные системыКвоты дискового пространства	Файловая система NTFS в Windows Server 2003 поддерживает дисковые квоты (disk quotas), позволяющие ограничивать

Слайд 290Операционные системы
Квоты дискового пространства

Операционные системыКвоты дискового пространства

Слайд 291Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Операционные системы класса Windows NT имеют

возможность загружать не одну операционную систему, а несколько, то есть

системный загрузчик Windows NT/ 2000/ХР является менеджером загрузки.

Для указания установленных операционных систем и выбора одной из них используется файл boot.ini. Этот файл является текстовым. Он обрабатывается программой ntldr, которая, собственно, и является системным загрузчиком и на которую передается управление из внесистемного загрузчика.
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaОперационные системы класса Windows NT имеют возможность загружать не одну операционную систему, а

Слайд 292Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Файл boot.ini состоит из двух секций.


Пример файла boot.ini
[boot loader]
timeout=10
default=mult1(0)disk(0)rdisk(0)part1tion(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)part1tion(2)\WINNT="IT.MTC.EDU Microsoft Windows 2000 Server RUS"

/fastdetect
multi(0)disk(0)rdisk(1)partition(2)\WIN2KP="Staff.MTC.EDU Microsoft Windows 2000 Professional RUS" /fastdetect
multi(0)disk(0)rdisk(0)partition(4)\WIN2K_S="SQL server on M$ Windows 2000 Server RUS" /fastdetect
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaФайл boot.ini состоит из двух секций. Пример файла boot.ini[boot loader]timeout=10default=mult1(0)disk(0)rdisk(0)part1tion(2)\WINNT[operating systems]multi(0)disk(0)rdisk(0)part1tion(2)\WINNT=

Слайд 293Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
multi(0)disk(0)rdisk(2)partition(2)\WIN2K.PR0="Microsoft Windows 2000 Professional RUS"/fastdetect
C:\="Microsoft Windows

98"
C:\CMDCONS\BOOTSECT.DAT="Recovery Console Microsoft Windows 2000" /cmdcons

Операционные системыСистемный загрузчик Windows NT/2000/XP/Vistamulti(0)disk(0)rdisk(2)partition(2)\WIN2K.PR0=

Слайд 294Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
В первой секции этого файла, названной

[boot loader], строка timeout задает время в секундах, по истечении

которого будет загружаться операционная система, указанная в строке default этой секции.

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

Если же значение timeout равняется - 1 , то загрузка не будет происходить до тех пор, пока пользователь явно не выберет в меню одну из операционных систем и не нажмет клавишу Enter.
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaВ первой секции этого файла, названной [boot loader], строка timeout задает время в

Слайд 295Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Инструкция default указывает, где (на каком

накопителе и в каком разделе этого накопителя) располагается операционная система,

загружаемая по умолчанию.

В большинстве там примерно такая строка:
clefault=mult1(0)d1sk(0)rcl1sk(0)part1t1on(2)\WINNT

Слово multi в этой строке означает, что при работе программы ntldr должны использоваться драйверы из BIOS компьютера (используется прерывание int13h).
Номер в скобках должен быть равен 0.
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaИнструкция default указывает, где (на каком накопителе и в каком разделе этого накопителя)

Слайд 296Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Слово disk на персональных компьютерах с

подключением накопителей на магнитных дисках через IDE-интерфейс фактически не несет

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

Слово rdisk определяет порядковый номер накопителя. Всего при использовании IDE-интерфейса может быть до 4 накопителей на жестких дисках; они нумеруются от 0 до 3.
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaСлово disk на персональных компьютерах с подключением накопителей на магнитных дисках через IDE-интерфейс

Слайд 297Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Слово partition определяет номер раздела, на

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

в котором расположены файлы этой операционной системы.

Во второй секции, обозначенной как [operating systems], построчно перечисляются пути к установленным операционным системам с текстовыми полями, заключенными в кавычки. Именно тот текст и отображается при работе загрузчика ntldr, когда он выводит меню с операционными системами.
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaСлово partition определяет номер раздела, на который установлена операционная система. После указания раздела

Слайд 298Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Если на компьютере установлены помимо систем

Windows NT/2000/XP еще какие-нибудь операционные системы (например, DOS, Windows 9х,

Linux и т. д.), то их можно будет также загрузить. Для этого в секции необходимо указать полный путь к файлу, в котором должен содержаться соответствующий системный загрузчик (загрузочный сектор). Этот файл обязательно должен располагаться на том же диске С:, иначе программа ntldr не сможет его найти.
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaЕсли на компьютере установлены помимо систем Windows NT/2000/XP еще какие-нибудь операционные системы (например,

Слайд 299Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Следует отметить, что для MS DOS

и Windows 9.х можно не указывать имя файла с загрузочным

сектором, а указать только сам корневой каталог диска С:. Но это возможно только в том случае, если имя файла, содержащего системный загрузчик, будет стандартным — bootsect.dos.

Настройка, запрос или изменение параметров файла boot.ini выполняется утилитой Bootcfg, которая запускается в командной строке. Запуск этой утилиты без параметров приводит к отображению информации файла boot.ini. Что узнать поддерживаемые этой утилитой команды необходимо запустить в командной строке bootcfg /?. Описание утилиты приведено также в справочной системе.
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaСледует отметить, что для MS DOS и Windows 9.х можно не указывать имя

Слайд 300Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
В ОС Windows Vista (и более

поздних )файл boot.ini заменен файлом данных конфигурации загрузки (BCD -

Boot Configuration Data). Этот файл более универсален, чем boot.ini; его можно применять на платформах, в которых для загрузки используются другие средства, а не базовая система ввода-вывода (BIOS).

Чтобы внести изменения в файл данных конфигурации BCD, например, удалить записи из списка операционных систем, необходимо воспользоваться утилитой Bcdedit (дополнительное средство для администраторов и специалистов в области информационных технологий), запускаемой из командной строки под правами администратора.
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaВ ОС Windows Vista (и более поздних )файл boot.ini заменен файлом данных конфигурации

Слайд 301Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Запуск утилиты Bcdedit без параметров приводит

к выводу параметров загрузки. Запуск утилиты с ключом /? Приводит

к выводу и описанию поддерживаемых ее команд.

Редактировать меню загрузки можно также с помощью средства «Конфигурация системы», доступ к которому – Пуск->Панель управления->Администрирование->Конфигурация системы, вкладка Загрузка (или в строке «Выполнить» набрать msconfig и нажать Enter. Откроется окно конфигурации системы. Перейти на вкладку «Загрузка»).


Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaЗапуск утилиты Bcdedit без параметров приводит к выводу параметров загрузки. Запуск утилиты с

Слайд 302Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista

Операционные системыСистемный загрузчик Windows NT/2000/XP/Vista

Слайд 303Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista
Редактировать меню загрузки можно с помощью

окна «Загрузка и восстановление», доступ к которому Пуск –>Панель управления

-> Система -> Дополнительные параметры системы. В открывшемся окне перейти на вкладку «Дополнительно». Далее кнопка «Параметры» секции «Загрузка и восстановление».
Операционные системыСистемный загрузчик Windows NT/2000/XP/VistaРедактировать меню загрузки можно с помощью окна «Загрузка и восстановление», доступ к которому

Слайд 304Операционные системы
Системный загрузчик Windows NT/2000/XP/Vista

Операционные системыСистемный загрузчик Windows NT/2000/XP/Vista

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика