
- •Вопрос 1. Виды ресурсов вычислительной системы. §1.1 Виды ресурсов вычислительной системы.
- •Вопрос 2. Структура и виды программного обеспечения (по). Характеристика системного по. §1.2 Структура программного обеспечения.
- •Вопрос 3. Классификация ос. §2.1 Классификация операционных систем.
- •Вопрос 4. Назначение и основные функции операционной системы (ос) для автономного компьютера. §2.2 Операционные системы для автономного компьютера
- •Функциональные компоненты ос для автономного компьютера
- •Вопрос 5. Сетевые операционные системы: функциональные компоненты и варианты построения. §2.3 Сетевые операционные системы.
- •Функциональные компоненты сетевой ос
- •Варианты построения сетевых ос
- •Вопрос 6. Одноранговые и серверные операционные системы. §2.4 Одноранговые и серверные операционные системы.
- •Операционные системы в одноранговых сетях
- •Операционные системы в сетях с выделенными серверами
- •Вопрос 7. Принципы построения ос. §3.1 Принципы построения ос.
- •Вопрос 8. Виды программных модулей. §3.2 Виды программных модулей.
- •Вопрос 9. Ядро и вспомогательные модули ос. §3.3 Ядро и вспомогательные модули операционной системы.
- •Вопрос 10. Классическая архитектура ос. §3.4 Классическая архитектура операционной системы.
- •Вопрос 11. Микроядерная архитектура ос. §3.5 Микроядерная архитектура ос.
- •Вопрос 12. В чем заключается принцип безопасности и как он обеспечивается операционной системой? §3.6 Обеспечение безопасности вычислительной системы.
- •Вопрос 13. Что такое мультипрограммирование (многозадачность)? Реализация мультипрограммирования в системах пакетной обработки, разделения времени, реального времени. §4.1.1 Мультипрограммирование.
- •§4.1.2.Мультипрограммирование в системах пакетной обработки.
- •§4.1.3.Мультипрограммирование в системах разделения времени.
- •Мультипрограммирование в системах реального времени.
- •Вопрос 14. Мультипроцессорная обработка, архитектуры мультипроцессорных систем. §4.1.4.Мультипроцессорная обработка.
- •Вопрос 15. Что такое вычислительный процесс, поток? Состояния процесса. §4.2.1.Планирование процессов и потоков. Понятия «процесс» и «поток».
- •Вопрос 16. Реализация (создание) процессов и потоков. Дескрипторы. §4.2.2.Реализация (создание) процессов и потоков.
- •Вопрос 17. Планирование и диспетчеризация процессов и потоков. Вытесняющие и невытесняющие алгоритмы планирования. §4.2.3.Планирование и диспетчеризация потоков
- •§4.2.4.Вытесняющие и невытесняющие алгоритмы планирования
- •Вопрос 18. Алгоритмы планирования, основанные на квантовании, приоритетах, смешанные алгоритмы. §4.2.5.Алгоритмы планирования, основанные на квантовании.
- •Алгоритмы планирования, основанные на приоритетах.
- •Смешанные алгоритмы планирования.
- •Вопрос 19. Планирование в системах реального времени. §4.2.6.Планирование в системах реального времени.
- •Моменты перепланировки.
- •Вопрос 20. Мультипрограммирование на основе прерываний. Механизм прерываний. §4.3.1.Мультипрограммирование на основе прерываний. Назначение и типы прерываний.
- •§4.3.2.Механизм прерываний.
- •Вопрос 21. Необходимость синхронизации процессов и потоков. Критическая секция. §4.4 Синхронизация процессов и потоков.
- •§4.4.1.Критическая секция.
- •Вопрос 22. Способы реализации взаимных исключений путем запрещения прерываний, использования блокирующих переменных, системных вызовов. §4.4.2.Запрещение прерываний.
- •§4.4.3.Блокирующие переменные.
- •Вопрос 23. Назначение и использование семафоров. §4.4.4Семафоры.
- •Вопрос 24. Взаимные блокировки процессов. Методы предотвращения, обнаружения и ликвидации тупиков. §4.4.6. Синхронизирующие объекты ос.
- •Тупики.
- •Вопрос 25. Функции ос по управлению памятью. Типы адресов. Преобразование адресов. §5.1 Функции ос по управлению памятью.
- •§5.2 Типы адресов.
- •Вопрос 26. Методы распределения памяти без использования диска (фиксированными, динамическими, перемещаемыми разделами). §5.3.1. Методы распределения памяти.
- •§5.3.1 Распределение памяти без использования диска. Распределение памяти фиксированными разделами.
- •Распределение памяти динамическими разделами.
- •§5.3.1.Распределение памяти перемещаемыми разделами.
- •Вопрос 27. Понятие виртуальной памяти, ее назначение. Свопинг. §5.3.2.1. Виртуальная память. Понятие виртуальной памяти.
- •Вопрос 28. Страничное распределение оперативной памяти. §5.3.2.2.Страничное распределение памяти.
- •Вопрос 29. Сегментное распределение оперативной памяти. §5.3.2.3.Сегментное распределение памяти.
- •Вопрос 30. Странично-сегментное распределение оперативной памяти. §5.3.2.4.Странично-сегментное распределение памяти.
- •Вопрос 31. Кэш-память. Принцип функционирования кэш-памяти. §5.4.1. Кэширование данных.
- •§5.4.2.Функционирование кэш-памяти.
- •Вопрос 32. Способы отображения оперативной памяти на кэш (случайное, детерминированное, комбинированное отображение). § 5.4.3. Способы отображения основной памяти на кэш.
- •Вопрос 33. Физическая организация устройств ввода-вывода. §6.1 Физическая организация устройств ввода-вывода.
- •Вопрос 34. Принципы организации программного обеспечения ввода-вывода. §6.2 Организация программного обеспечения ввода-вывода.
- •Обработка прерываний.
- •Драйверы устройств.
- •Независимый от устройств слой операционной системы.
- •Пользовательский слой программного обеспечения.
- •§7.1.2.Типы файлов.
- •§7.1.3.Логическая организация файла.
- •Вопрос 36. Физическая организация файловой системы. Структура жесткого диска. §7.2 Физическая организация файловой системы.
- •Структура жесткого диска.
- •Вопрос 37. Физическая организация и адресация файла. Права доступа к файлу. §7.2.1.Физическая организация и адресация файла.
- •§7.2.2.Права доступа к файлу.
- •Кэширование диска.
- •Вопрос 38. Общая модель файловой системы. §7.3 Общая модель файловой системы.
- •Вопрос 39. Современные архитектуры файловых систем. §7.3. Современные архитектуры файловых систем.
- •Вопрос 40. Физические организации файловой системы fat. §7.6 Физическая организация файловой системы fat.
- •Вопрос 41. Физические организации файловой системы ntfs. §7.7. Физические организации файловой системы ntfs.
- •7.8 Сравнение файловых систем
- •Вопрос 42. Системы программирования: состав систем программирования. Этапы разработки по. §8 Состав систем программирования.
- •8.2 Компоненты систем программирования Текстовые редакторы
- •Трансляторы, компиляторы и интерпретаторы
- •Список литературы
Вопрос 40. Физические организации файловой системы fat. §7.6 Физическая организация файловой системы fat.
Как уже отмечалось, аббревиатура FAT (file allocation table) расшифровывается как «таблица размещения файлов». Файловая система FAT поддерживает всего два типа файлов: обычный файл и каталог.
Структура раздела FAT. Логический раздел диска, отформатированный под файловую систему FAT, состоит из следующих областей (рис. 7.11).
Загрузочный сектор – содержит программу начальной загрузки операционной системы. Вид этой программы зависит от типа операционной системы, которая будет загружаться из этого раздела.
Основная копия FAT – содержит информацию о размещении файлов и каталогов на диске.
Резервная копия FAT.
Корневой каталог состоит из записей, содержащих информацию о файлах и каталогах, хранящихся на диске.
Каждая запись в корневом каталоге занимает 32 байта и имеет следующий формат (см. рис. 7.1, а):
- имя файла (8 байт);
- расширение файла (3 байта);
- атрибуты файла (1 байт);
- резервное поле (10 байт);
- время создания (2 байта);
- дата создания (2 байта);
- номер первого кластера – вход в FAT (2 байта);
- размер файла (4 байта).
Байт атрибутов файла содержит 6 указателей: 5 – архив; 4-3 – метка тома; 2 – системный файл; 1 – скрытый; 0 – только для чтения.
*Сразу после форматирования раздела (диска) корневой каталог пуст. При создании файла или каталога его имя и другие перечисленные выше сведения заносится в корневой каталог, после удаления – стираются из этого каталога. Визуальное отображение этого можно увидеть в окне программы-коммандера, например, для дискеты.
Область данных – предназначена для размещения всех файлов и всех каталогов, кроме корневого каталога. FAT распределяет память только из этой области.
Область данных поделена на кластеры. Кластер представляет собой один или несколько смежных секторов в области данных. Кластер – это минимальная адресуемая единица дисковой памяти, выделяемая файлу.
Таблица FAT представляет собой массив индексных указателей, каждый из которых описывает текущее состояние одного кластера области данных (свободен, занят, дефектный и т.д.). С помощью FAT данные файла распределяются по кластерам.
Для указания номера кластера используются индексный указатель, который представляет собой битовое слово 2n. Чем больше n, тем большее число кластеров может адресоваться файловой системой. Различают файловые системы FAT12 (n=12), FAT16 (n=16) и FAT32 (n=32).
Количество индексных указателей (2n) в таблице FAT (как основной, так и резервной копии) равно количеству кластеров области данных. Между кластерами и индексными указателями имеется однозначное соответствие – нулевой указатель соответствует нулевому кластеру и т. д. (индексный указатель имеет такой же номер, как и у кластера).
Р
ис.
7.11. Физическая структура файловой
системы FAT
Индексный указатель может принимать следующие значения, характеризующие состояние связанного с ним кластера:
- кластер свободен (не используется);
- кластер используется файлом и не является последним кластером файла; в этом случае индексный указатель содержит номер следующего кластера файла;
- последний кластер файла;
- дефектный кластер;
- резервный кластер.
Функционирование FAT. В исходном состоянии (после форматирования) все кластеры раздела свободны и все индексные указатели (кроме тех, которые соответствуют резервным и дефектным блокам) принимают значение «кластер свободен».
При размещении файла ОС просматривает FAT, начиная с начала, и ищет первый свободный индексный указатель. После его обнаружения в поле записи каталога «номер первого кластера» фиксируется номер этого указателя. В кластер с этим номером записываются данные файла, он становится первым кластером файла. Если файл умещается в одном кластере, то в указатель, соответствующий данному кластеру, заносится специальное значение «последний кластер файла». Если же размер файла больше одного кластера, то ОС продолжает просмотр FAT и ищет следующий указатель на свободный кластер. После его обнаружения в предыдущий указатель заносится номер этого кластера, который теперь становится следующим кластером файла. Процесс повторяется до тех пор, пока не будут размещены все данные файла. Так создается связный список всех кластеров файла. Кроме номера первого кластера в соответствующие поля каталога записываются имя файла, расширение и другие сведения.
При чтении механизм доступа к файлам аналогичен. В корневом каталоге считывается номер первого кластера файла – точка входа в FAT. Далее ОС последовательно считывает файл, пока не встретит маркер, обозначающий последний кластер файла.
В начальный период после форматирования файлы будут размещаться в последовательных кластерах области данных. По мере удаления и записи файлов область данных становится похожей на лоскутное одеяло, где области свободных кластеров перемежаются с занятыми кластерами. Файлы, хранящиеся в различных областях диска, называют фрагментированными, а в одной области – непрерывными. Фрагментации способствует используемый алгоритм выбора в качестве первого кластера файла первого от начала FAT свободного индексного указателя. (На диске есть и большие области идущих подряд свободных кластеров, где файл мог бы уместиться целиком.)
Выбор размера кластера. Каждый файл занимает целое число кластеров, следовательно, чем больше размер кластера, тем менее эффективно будет использоваться дисковое пространство. Во-первых, даже самому маленькому файлу будет выделен целый кластер (например, файл объемом 480 байт будет занимать на диске кластер в 32 Кб). Во-вторых, у файлов, занимающих несколько кластеров, в среднем 50 % пространства будет теряться в последнем не до конца заполненном кластере.
Размер кластера выбирается из компромиссных соображений. Для уменьшения потерь дискового пространства из-за фрагментации файла желательно кластеры делать небольшими, а для сокращения объема адресной информации и повышения скорости обмена наоборот – чем больше, тем лучше. Размер кластера кратен размеру физического сектора и в зависимости от размера раздела FAT составляет от 1 до 128 секторов (от 512 байт до 64 Кбайт).
Существует несколько разновидностей FAT, отличающихся разрядностью индексных указателей, которая и используется в качестве условного обозначения: FAT12, FAT16 и FAT32. В файловой системе FAT12 используются 12-разрядные указатели, что позволяет поддерживать 4096 кластеров в области данных диска, в FAT16 – 16-разрядные указатели (65 536 кластеров) и в FAT32 – 32-разрядные (4,3 миллиарда кластеров). Когда говорят просто FAT, чаще всего подразумевают FAT16.
Поскольку число кластеров, которое может адресоваться файловой системой, равно 2n, минимальный размер кластера будет зависеть от объема раздела (объем раздела / 2n). Чем больше размер раздела диска, тем больше размер кластера. Размер кластера устанавливается автоматически самой операционной системой (табл. 7.1) или задается вручную при форматировании диска.
Таблица 7.1. Типичный размер кластера по умолчанию в Windows
Размер раздела |
Размер кластера в FAT16 |
Размер кластера в FAT32 |
Размер кластера в NTFS |
До 32 Мб |
512 байт |
Не поддерживается |
512 байт |
33-64 Мб |
1 Кб |
512 байт Не поддерживается* |
512 байт |
65-128 Мб |
2 Кб |
1 Кб Не поддерживается* |
512 байт |
129-256 Мб |
4 Кб |
2 Кб Не поддерживается* |
512 байт |
257-512 Мб |
8 Кб |
4 Кб Не поддерживается* |
512 байт |
513 Мб-1,024 Гб |
16 Кб |
4 Кб |
1 КБ |
1,025-2 Гб |
32 Кб |
4 Кб |
2 Кб |
2-4 Гб |
64 Кб |
4 Кб |
4 Кб |
4-8 Гб |
Не поддерживается |
4 Кб |
4 Кб |
8-16 Гб |
Не поддерживается |
8 Кб |
4 Кб |
16-32 Гб |
Не поддерживается |
16 Кб |
4 Кб |
32 Гб-2 Тб |
Не поддерживается |
32 Кб |
4 Кб |
* По другим данным
В гибких дисках FAT кластер состоит из одного сектора (512 байт), в жестких дисках FAT16 – до 128 секторов (64 Кб). Из приведенных данных видно, что FAT32 более эффективна, поскольку, при том же объеме раздела использует меньший размер кластера. Чтобы не использовать кластеры более 4 Кбайт, FAT12 применяется на дисках объемом не более 16 Мбайт. Windows использует FAT12 как формат 3,5-дюймовых дискет, способных хранить до 1,44 Мб данных. FAT16 целесообразна для дисков с объемом не более 512 Мбайт. Для больших дисков лучше подходит FAT32, которая способна использовать кластеры 4 Кбайт при работе с дисками до 8 Гбайт и только для дисков большего объема начинает использовать 8, 16 и 32 Кбайт.
В флэш-дисках наряду с FAT используются и другие файловые системы.
Максимальный размер раздела FAT16 ограничен 4 Гбайт (216 кластеров по 64 Кбайт). FAT32 использует 32-разрядные идентификаторы кластеров, но при этом резервирует старшие 4 бита, так что эффективный размер идентификатора кластера составляет 28 бит, т. е. максимальный размер раздела превышает 8,5 Тбайт (228 кластеров по 32 Кбайт).
Таблица FAT при фиксированной разрядности индексных указателей имеет переменный размер, зависящий от объема области данных диска.
Надежность хранения данных. При удалении файла из файловой системы FAT в первый байт соответствующей записи каталога заносится специальный признак, свидетельствующий о том, что эта запись свободна, а во все индексные указатели файла заносится признак «кластер свободен». Остальные данные в записи каталога, в том числе номер первого кластера файла, остаются нетронутыми, что оставляет шансы для восстановления ошибочно удаленного файла с помощью специальных утилит.
Резервная копия FAT синхронизируется с основной копией при любых операциях с файлами, поэтому резервную копию нельзя использовать для отмены ошибочных действий пользователя, выглядевших для системы корректными. Резервная копия может быть полезна только в том случае, когда секторы основной памяти оказываются физически поврежденными и не читаются.
Используемый в FAT метод хранения адресной информации о файлах не отличается высокой надежностью – при разрыве списка индексных указателей в одном месте, например из-за сбоя в работе ОС по причине помех, теряется информация обо всех последующих кластерах файла.
Файловые системы FAT12 и FAT16 использовались в операционных системах MS-DOS и Windows 3.x. В современных ОС из-за постоянно растущих объемов жестких дисков и повышающихся требований к надежности, применяются другие файловые системы, в частности FAT32 (впервые появившаяся в Windows 95 OSR2).