СОДЕРЖАНИЕ
1.2.1 Ос как виртуальная машина
1.2.2 Ос как система управления ресурсами
1.3 Интерфейс прикладного программирования
1.4 Структура операционных систем
1.4.2 Многоуровневая структура ос
1.4.4 Микроядерная архитектура (модель клиент-сервер)
1.4.5 Обобщение сравнения моделей
2.2.3 Преимущества использования потоков
2.2.4 Реализация потоков в пространстве пользователя, ядра и смешанное
2.2.5 Особенности реализации Windows
3.1 Взаимодействие между процессами
3.1.1 Передача информации от одного процесса другому
3.1.4 Взаимное исключение с активным ожиданием
3.1.5 Примитивы взаимодействия процессов
4.1 Основные понятия планирования процессов
4.2 Планирование в системах пакетной обработки
4.3.2 Приоритетное планирование
4.3.3 Методы разделения процессов на группы
4.4 Планирование в системах реального времени
4.4.1 Планирование однородных процессов
4.4.2 Общее планирование реального времени
5.1 Взаимоблокировка процессов
5.2 Моделирование взаимоблокировок
5.3 Методы борьбы с взаимоблокировками
5.3.1 Пренебрежением проблемой в целом (страусовый алгоритм)
5.3.2 Обнаружение и устранение взаимоблокировок
5.3.3 Динамическое избежание взаимоблокировок
5.3.4 Предотвращение четырех условий, необходимых для взаимоблокировок
6.2 Методы без использования внешней памяти
6.2.1 Однозадачная система без подкачки на диск
6.2.2 Распределение памяти с фиксированными разделами.
6.2.3 Распределение памяти динамическими разделами
6.3 Методы с использованием внешней памяти (свопинг и виртуальная память)
7.1 Алгоритмы замещения страниц
7.2.1 Политика распределения памяти
7.2.3 Совместно используемые страницы
7.2.4 Политика очистки страниц
7.3 Особенности реализации в unix
7.4 Особенности реализации в Windows
8.1 Основные понятия сегментации
8.2.1 Сегментация с использованием страниц: multics
8.2.2 Сегментация с использованием страниц: Intel Pentium
8.3 Особенности реализации в unix
9.1 Принципы аппаратуры ввода-вывода
9.1.3 Отображаемый на адресное пространство памяти ввод-вывод
9.1.4 Прямой доступ к памяти (dma - Direct Memory Access)
9.2 Принципы программного обеспечения ввода-вывода
9.2.1 Задачи программного обеспечения ввода-вывода
9.2.3 Управляемый прерываниями ввод-вывод
9.2.4 Ввод-вывод с использованием dma
9.3 Программные уровни и функции ввода-вывода
9.3.3 Независимое от устройств программное обеспечение ввода-вывода
9.3.4 Программное обеспечение ввода-вывода пространства пользователя
9.3.5 Обобщение уровней и функций ввода-вывода
10.1.2 Raid (Redundant Array of Independent Disk - массив независимых дисков с избыточностью)
10.1.3.1 Компакт-диски с возможностью записи cd-r
10.1.3.2 Многократно перезаписываемые компакт-диски cd-rw
10.1.3.3 Универсальный цифровой диск dvd (Digital Versatile Disk)
10.2 Форматирование дисков (программная часть)
10.2.1 Низкоуровневое форматирование
10.2.3 Высокоуровневое форматирование
10.3 Алгоритмы планирования перемещения головок
10.3.1 Алгоритм "первый пришел - первым обслужен" fcfs (First Come, First Served)
10.3.3 Алгоритмы сканирования (scan, c-scan, look, c-look)
10.5 Стабильное запоминающее устройство
10.6.1 Аппаратная часть таймеров
10.6.2 Программное обеспечение таймеров
11.1.7 Файлы, отображаемые на адресное пространство памяти
12.2.3 Связные списки при помощи таблиц в памяти
12.3.1 Реализация длинных имен файлов
12.3.2 Ускорение поиска файлов
12.3.2.1 Использование хэш-таблицы для ускорения поиска файла.
12.3.2.2 Использование кэширования результатов поиска файлов для ускорения поиска файла.
12.4 Совместно используемые файлы
12.5 Организация дискового пространства
12.6 Надежность файловой системы
12.6.2 Непротиворечивость файловой системы
12.7 Производительность файловой системы
13.1.2 Рок-ридж расширения для unix
13.1.3 Joliet расширения для Windows
13.2 Файловая система ms-dos (fat-12,16,32)
13.2.4 Расширение Windows 98 для fat-32
14.1.2 Блокировка данных файла
14.1.3 Создание и работа с файлом
14.4 Сравнительная таблица некоторых современных файловых систем
14.4.1 Архитектура файловой системы nfs
Это расширение было создано, чтобы файловая система UNIX была представлена на CD-ROM.
Для этого используется поле System use.
Расширения содержат следующие поля:
PX - атрибуты POSIX (стандартные биты rwxrwxrwx, (чтение, запись, запуск) (владелец, группа, все) )
PN - старший и младший номер устройств (чтобы можно было записать каталог /dev, который содержит устройства)
SL - символьная связь
NM - альтернативное имя, позволяет использовать произвольные имена, без ограничений
CL - расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)
PL - расположение дочернего узла (чтобы обойти ограничение на вложенность каталогов)
RE - перераспределение (чтобы обойти ограничение на вложенность каталогов)
TF - временные штампы (время создания, последнее изменение , последний доступ)
Это расширение было создано, чтобы файловая система ОС Windows 95 была представлена на CD-ROM.
Для этого используется поле System use.
Расширения содержат следующие поля:
Длинные имена файлов (до 64 символов)
Набор символов Unicode (поддержка различных языков)
Преодоление ограничений на вложенность каталогов
Имена каталогов с расширениями
13.1.4 Romeo расширения для Windows
Стандарт Romeo предоставляет другую возможность записи файлов с длинными именами на компакт-диск. Длина имени может составлять 128 символов, однако использование кодировки Unicode не предусмотрено. Альтернативные имена в этом стандарте не создаются, поэтому программы MS-DOS не смогут прочитать файлы с такого диска.
Вы можете выбрать стандарт Romeo только в том случае, если диск предназначен для чтения приложениями Windows 95 и Windows NT.
13.1.5 HFS расширения для Macintosh
Иерархическая файловая система компьютеров Macintosh, не совместима ни с какими другими файловыми системами и называется Hierarchical File System (HFS).
13.1.6 Файловая система UDF (Universal Disk Format)
Изначально созданная для DVD, с версии 1.50 добавили поддержку CD-RW и CD-R.
Сейчас последняя версия 2.01. Официальную информацию (и спецификацию) можно получить на сервере www.osta.org - сервер Optical Storage Technology Association.
Эта файловая система позволяет отформатировать CD-диск и работать с ним, как с обычным диском, копируя, удаляя и создавая файлы.
Недостаток, еще меньший объем диска (из 700Мбайт остается 550МБайт).
13.2 Файловая система CP/M
CP/M (Control Program for Microcomputers) - операционная система, предшественник MS-DOS.
В ее файловой системе только один каталог, с фиксированными записями по 32 байта.
Имена файлов - 8+3 символов верхнего регистра.
После каждой перезагрузки рассчитывается битовый массив занятых и свободных блоков. Массив находится постоянно в памяти (для 180Кбайтного диска 23 байта массива). После завершения работы, он не записывается на диск.

Каталоговая запись CP/M
Видно, что максимальный размер файла 16Кбайт (16*1Кбайт).
Для файлов размером от 16 до 32 Кбайт можно использовать две записи. Для до 48 Кбайт три записи и т.д.
Порядковый номер записи хранится в поле экстент.
Код пользователя - каждый пользователь мог работать только со своими файлами.
Порядок чтения файлов:
Файл открывается системным вызовом open
Читается каталоговая запись, из которой получает информацию о всех блоках.
Вызывается системный вызов read
В первых версиях был только один каталог (MS-DOS 1.0).
С версии MS-DOS 2.0 применили иерархическую структуру.
Каталоговые записи, фиксированны по 32 байта.
Имена файлов - 8+3 символов верхнего регистра.
Порядок чтения файлов:
Файл открывается системным вызовом open, которому указывается путь к файлу (может быть абсолютным и относительным).
Файловая система открывает каталоги (согласно пути), считывает последний каталог в память.
Ищет описатель файла.
Читается дескриптор файла, из которого получает информацию о всех блоках.
Вызывается системный вызов read

Каталоговая запись MS-DOS, обратите внимание на пустые 10 байт, они будут задействованы в Windows 98
Атрибут архивный нужен для программ резервного копирования, по нему они определяют надо копировать файл или нет.
Поле время (16 разрядов) разбивается на три подполя:
секунды - 5бит (2^5=32 поэтому хранятся с точностью до 2-х секунд)
минуты - 6бит
часы - 5бит
Поле даты (16 разрядов) разбивается на три подполя:
день - 5бит
месяц - 4бита
год - 7бит (начинается с 1980г, т.е. максимальный 2107г.)
Теоретически размер файлов может быть до 4Гбайт (32 разряда).
Все блоки файла в записи не хранятся, а только первый блок. Этот номер используется в качестве индекса для 64К (для FAT-16) элементов FAT-таблицы, хранящейся в оперативной памяти.
В зависимости от количества блоков на диске в системе MS-DOS применяется три версии файловой системы FAT:
FAT-12
FAT-16
FAT-32 - для адреса используются только 28 бит, поэтому правильнее назвать FAT-28
Размер блока (кластера) должен быть кратным 512 байт.
В первой версии MS-DOS использовалась FAT-12 с 512 байтовыми блоками, поэтому максимальный размер раздела мог достигать 2Мбайта (2^12*512байта).
С увеличением дисков, этого стало не хватать, стали увеличивать размер блоков 1,2 и 4 Кбайта (2^12) (при этом эффективность использования диска падает).
FAT-12 до сих пор применяется для гибких дисков.
Особенности:
16-разрядные дисковые указатели
Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт (2^15)
Таблица постоянно занимала в памяти 128 Кбайт.
Максимальный размер раздела диска мог достигать 2Гбайта (2^16*32Кбайта).
Причем кластер в 32 Кбайта для файлов со средним размером в 1Кбайт, не эффективен.
Особенности:
28-разрядные адреса
Размеры кластеров 512, 1, 2, 4, 8, 16 и 32Кбайт
Максимальный размер раздела диска мог бы достигать 2^28*2^15, но здесь уже вступает другое ограничение - 512 байтные сектора адресуются 32-разрядным числом, а это 2^32*2^9, т.е. 2 Тбайта.
Максимальный размер раздела для различных размеров кластеров
|
Размер кластера, Кбайт |
Fat-12, Мбайт |
Fat-16, Мбайт |
Fat-32, Тбайт |
|
0.5 |
2 |
32 |
0.13 |
|
1 |
4 |
64 |
0.27 |
|
2 |
8 |
128 |
0.54 |
|
4 |
16 |
256 |
1 |
|
8 |
|
512 |
2 |
|
16 |
|
1024 |
2 |
|
32 |
|
2048 |
2 |
Из таблицы видно, что FAT-16 использовать не эффективно уже при разделах в 256 Мбайт, учитывая, что средний размер файла 1Кбайт.
Для расширения были задействованы 10 свободных бит.

Формат каталоговой записи в системе FAT-32 с расширениями для Windows 98
Пять добавленных полей:
NT - предназначено для совместимости с Windows.
Sec - дополнение к старому полю время, позволяет хранить время с точностью до секунды (было 2 секунды)
Дата и время создания файла (Creation time)
Дата (но не время) последнего доступа (Last access)
Для хранения номера блока выделено еще 2 байта (16 бит), т.к. номера блоков стали 32-разрядные.
Основная надстройка над FAT-32, это длинные имена файлов.
Для каждого файла стали присваивать два имени:
Короткое 8+3 для совместимости с MS-DOS
Длинное имя файла, в формате Unicode
Доступ к файлу может быть получен по любому имени.
Если файлу дано длинное имя (или используются пробелы), то система делает следующие шаги:
берет первые шесть символов
преобразуются в верхний регистр ASCII, удаляются пробелы, лишние точки, некоторые символы преобразуются в "_"
добавляется суффикс ~1
если такое имя есть, то используется суффикс ~2 и т.д.
Короткие имена хранятся в в обычном дескрипторе файла.
Длинные имена хранятся в дополнительных каталоговых записях, идущих перед основным описателем файла. Каждая такая запись содержит 13 символов формата Unicode (для символа Unicode нужно два байта).

Формат каталогов записи с фрагментом длинного имени файла в Windows 98
Поле "Атрибуты" позволяет отличить фрагмент длинного имени (значение 0х0F) от дескриптора файла. Старые программы MS-DOS каталоговые записи со значением поля атрибутов 0х0F, просто игнорируют.
Последовательность - порядковый номер в последовательности фрагментов.
Длина имени файла ограничена 260 символами не из-за порядкового номера (1 байт), для номера используются только 6 бит 6х13=819 символов.
Контрольная сумма нужна для выявления ошибок, т.к. файл с длинным именем может удалить MS-DOS и создать новый, и тогда останутся не удаленные записи, которые "прилипнут" к новому файлу. Т.к. это поле один байт, есть вероятность 1/256 что Windows 98 не заметит подмены.
| 2014 biblioonline ru |