Информация о размещении разделов на жёстком диске хранится в таблице разделов (англ. partition table), которая является частью главной загрузочной записи (MBR). MBR располагается в первом физическом секторе жёсткого диска.
Функция MBR – «переход» в тот раздел жёсткого диска, с которого следует исполнять «дальнейший код» (обычно - загружать ОС). На стадии обращения к MBR происходит выбор раздела диска, загрузка кода ОС происходит на более поздних этапах алгоритма. В процессе запуска компьютера, после окончания начального теста (Power-on self-test - POST), базовая система ввода-вывода (BIOS) загружает код MBR в ОЗУ и передаёт управление находящемуся в MBR загрузочному коду.
MBR состоит из двух частей: в первой части записана программа IPL1- Initial Program Loading 1, при выполнении которой компьютер исследует содержимое второй части MBR- таблицу разделов диска Partition Table, в которой указаны номера первого и последнего секторов каждого из разделов диска. В Partition Table также хранится информация о типе файловой системы раздела и признак того - является раздел загрузочным (активным) или нет.
Раздел может быть либо первичным (основным), либо дополнительным.
В первом секторе каждого основного (активного) раздела находится загрузочный сектор (Boot Record), отвечающий за загрузку операционной системы с этого раздела. Информация о том, какой из основных разделов будет использован для загрузки операционной системы, тоже записана в главной загрузочной записи.
В MBR под таблицу разделов выделено 64 байта. Каждая запись занимает 16 байт. Таким образом, всего на жестком диске может быть создано не более 4 разделов. Когда разрабатывалась структура MBR, это считалось достаточным.
По правилам дополнительный раздел может быть только один. Таким образом, в максимальной конфигурации MBR на жёстком диске может быть сформировано три основных раздела и один дополнительный либо четыре основных. При этом некоторые операционные системы способны загружаться только с основного раздела; а те, которые могут загружаться с дополнительного раздела, вынуждены держать на основном разделе свой загрузчик.
После создания раздела необходимо произвести форматирование (программный процесс разметки области хранения данных, формирование структур файловой системы)
Файловые системы.
Файловая система FAT
Аббревиатура FAT (File Allocation Table) означает «таблица размещения файлов». Этот термин относится к линейной табличной структуре со сведениями о файлах – именами файлов, их атрибутами и другими данными, определяющими местоположение файлов или их фрагментов в среде FAТ. Элемент FAТ определяет фактическую область диска, в котором хранится начало физического файла. В файловой системе FA T логическое дисковое пространство любого логического диска состоит из двух областей:
- системная область – создается при форматировании диска и обновляется при манипулировании файловой структурой;
- область данных – содержит файлы и каталоги, подчиненные корневому каталогу, доступна через пользовательский интерфейс.
Системная область состоит из следующих компонентов:
- загрузочной записи;
- зарезервированных секторов;
- таблицы размещения файлов (FA T);
- корневого каталога.
Таблица размещения файлов представляет собой карту (образ) области данных, в которой описывается состояние каждого участка области данных. Область данных разбивается на кластеры. Один или несколько смежных секторов в логическом дисковом адресном пространстве (только в области данных) объединяются в единый дисковый блок – кластер.
Кластер – минимальная адресуемая единица дисковой памяти, выделяемая файлу или некорневому каталогу. Например, в FAT16 размер кластера составляет 32 кбайт. Файл или каталог занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью, что приведет к заметной потере дискового пространства при большом размере кластера.
В таблице FA T кластеры, принадлежащие одному файлу (некорневому каталогу), связываются в цепочки. Для указания номера кластера в системе управления файлами FAT16 используется 16-битовое слово, следовательно, можно хранить информацию максимум о 65536 кластерах. Так как FAT используется при доступе к диску очень интенсивно, она загружается в оперативную память и находится там максимально долго.
Корневой каталог отличается от обычного каталога тем, что он размещается в фиксированном месте логического диска и имеет фиксированное число элементов. Структура системы файлов является иерархической. Файлам присваиваются первые доступные адреса кластеров в томе. Номер начального кластера файла представляет собой адрес первого кластера, занятого файлом, в таблице размещения файлов. Каждый кластер содержит указатель на следующий кластер, использованный файлом, или индикатор, указывающий, что данный кластер является последним кластером файла.
Файлы на дисках имеют 4 атрибута, которые могут сбрасываться и устанавливаться пользователем: Archive (архивный), System (системный), Hidden (скрытый) и Read-only (только чтение).
Файловая система FAT не обеспечивает функций защиты данных и автоматического восстановления.
Файловая система NTFS
Аббревиатура NTFS (New Technology File System) означает новая технология файловой системы. NTFS является наиболее надежной системой специально разработанной для Windows NT и усовершенствованной в более поздних версиях Windows. Она обладает характеристиками защищенности, поддерживая контроль доступа к данным и привилегии владельца, играющие важную роль в обеспечении целостности конфиденциальных данных. Папки и файлы NTFS могут иметь назначенные им права доступа вне зависимости от того, являются они общими или нет. Если файл будет скопирован из раздела или тома NTFS в раздел или на том FA T, все права доступа и другие уникальные атрибуты, присущие NTFS, будут утрачены.
Одно из важнейших свойств NTFS – самовосстановление. При неожиданном сбое системы информация о структуре папок и файлов на томе FAT может быть утеряна. NTFS протоколирует все вносимые изменения, что позволяет избежать разрушения данных о структуре тома (в некоторых случаях данные файлов могут быть утеряны).
Способность самовосстановления и поддержка целостности реализуется за счет использования протокола выполняемых действий и ряда других механизмов. NTFS рассматривает каждую операцию, модифицирующую системные файлы на NTFS -томах, как транзакцию (совокупность операций над данными, которая, с точки зрения обработки данных, либо выполняется полностью, либо совсем не выполняется) и сохраняет информацию о такой транзакции в протоколе. Начатая транзакция может быть либо полностью завершена (commit), либо откатывается (rollback).
В последнем случае NTFS -том возвращается в состояние, предшествующее началу транзакции. Для того чтобы управлять транзакциями, NTFS записывает все операции, входящие в транзакцию, в файл протокола, перед тем как осуществить запись на диск. После того как транзакция завершена, все операции выполняются. Таким образом, под управлением NTFS не может быть незавершенных операций. В случае дисковых сбоев незавершенные операции отменяются.
Под управлением NTFS также выполняются операции, позволяющие определять дефектные кластеры и отводить новые кластеры для файловых операций. Этот механизм называется cluster remapping. NTFS, по сравнению с FAT, поддерживает ряд дополнительных возможностей, основные из них:
- защита файлов и каталогов;
- сжатие файлов;
- поддержка многопоточных файлов;
- отслеживание связей;
- дисковые квоты;
- шифрование;
- точки повторной обработки;
- точки соединения;
- теневые копии.
Защита файлов и папок. Структурой NTFS предусмотрено хранение для каждого файла и каждой папки специального блока безопасности, который содержит следующую информацию:
- идентификатор (имя) пользователя, создавшего файл;
- список контроля доступа, в котором перечислены разрешения доступа к файлу или папке для пользователей и групп;
- системный список контроля доступа, в котором перечислено, какие действия (например, чтение, запись и т.п.) для каких пользователей и групп необходимо фиксировать в журнале аудита.
Это позволяет операционной системе обеспечивать разграничение доступа к файлам и папкам и фиксировать действия, выполняемые пользователями над объектами. Поскольку на томах FAT подобная информация не хранится, то защита файлов и папок на них не осуществляется.
Сжатие файлов и каталогов. NTFS обеспечивает динамическое сжатие файлов и каталогов. Сжатие является атрибутом файла или каталога, который можно снять или установить. Сжатие возможно только на разделах, размер блока которых не превышает 4096 байтов. Если каталог имеет атрибут сжатый (compressed), все файлы, копируемые в него, тоже получат этот атрибут. Производительность компьютера при использовании сжатых файлов возрастает до 50% в зависимости от типа хранимых данных. Такой результат достигается за счет повышения загрузки процессора в 3-5 раз. Однако на больших разделах и на отказоустойчивых томах производительность заметно снижается. Поэтому рекомендуется использовать функцию сжатия на небольших томах в компьютерах с быстрыми процессорами или в многопроцессорных системах.
Многопоточные файлы. Например, нужно иметь две версии текста контракта: одну на русском, другую на языке, приемлемом для фирмы. Можно создать несколько разных версий файлов и пересылать их вместе, но удобнее использовать специальную версию текстового процессора, в меню которого можно указать желаемый язык документа, и он будет извлечен из одного общего файла. Для реализации такой функциональности применяются именованные потоки NTFS. При создании нового файла (например, текстовым редактором), данные по умолчанию заносятся в неименованный поток файла.
Однако у того же файла могут быть и именованные потоки, которые записываются следующим образом: файл.txt: первый поток; файл.txt: второй поток; файл.txt: третий поток. В каждый из этих потоков заносится своя информация. Именованные потоки используются только на NTFS. При копировании многопоточного файла на диск, отформатированный под FAT, операционная система предупредит о потере данных; при копировании посредством командной строки скопирован будет только неименованный поток и система не предупредит о потере данных.
Квоты дискового пространства. В случае одновременной работы нескольких пользователей возникают ситуации учета дискового пространства, занятого их файлами. Ситуация разрешается с помощью введения квот на дисковое пространство, доступное для работы каждому пользователю. Администратор может квотировать дисковое пространство по каждому тому и для каждого пользователя. (Нельзя задать квоту для подкаталога или для группы.). Windows учитывает пространство, занимаемое файлами, владельцем которых является контролируемый пользователь: если пользователь владеет файлом, размер последнего добавляется к общей сумме занимаемого пользователем дискового пространства. Поскольку квотирование выполняется по каждому тому, то не имеет значение, находятся ли тома на одном физическом диске или на различных устройствах.
После установки квот дискового пространства пользователь может хранить на томе ограниченный объем данных, в то время как на этом томе может оставаться свободное пространство. Если пользователь превышает выданную ему квоту, в журнал событий вносится соответствующая запись. Затем, в зависимости от конфигурации системы, пользователь либо сможет записать информацию на том (более мягкий режим), либо ему будет отказано в записи из-за отсутствия свободного пространства. Устанавливать и просматривать квоты на диске можно только в разделе с NTFS 5.0 и при наличии необходимых полномочий (задаваемых с помощью локальных или доменных групповых политик) у пользователя, устанавливающего квоты.
Шифрование данных. Шифрование обеспечивается дополнительным компонентом операционной системы «Шифрованной файловой системой» (Encrypted File System, EFS), который представляет собой серьезный механизмом защиты данных, поскольку зашифрованные данные могут быть доступны только пользователю, имеющему специальный ключ для расшифровки. EFS обеспечивает следующие функции:
- прозрачное шифрование – шифрование/расшифровка происходят прозрачно при чтении или записи файла на диск и не требуют от владельца файла расшифровывать/зашифровывать файл при каждом к нему обращении;
- защита ключей шифрования – в EFS ключи, используемые для шифрования файла, зашифрованы наиболее эффективным открытым ключом сертификата пользователя, который хранится вместе со списком зашифрованных уникальных ключей, использованных для шифрования файла; для расшифровки этих ключей владелец файла использует свой закрытый ключ;
- восстановление данных – если закрытый ключ владельца не доступен, агент восстановления откроет файл своим закрытым ключом; в системе может быть несколько агентов восстановления, каждый со своим открытым ключом, но для восстановления файла, при его шифровании должен существовать и использоваться минимум один открытый ключ восстановления;
- безопасные временные и страничные файлы – в связи с тем, что многие приложения в процессе редактирования документов создают временные файлы, система EFS шифрует временные копии зашифрованного файла; EFS располагается в ядре операционной системы Windows и хранит ключи шифрования в невыгружаемом пуле, что позволяет предотвратить их копирование в страничный файл.
Теневые копии. Служба теневого копирования реализуется только на томах NTFS -формата и позволяет создавать копии томов по расписанию, она создает мгновенные снимки состояния томов, обеспечивая архивацию файлов. Благодаря такой технологии пользователь быстро восстанавливать удаленные файлы или старые версии файлов.
Вопросы по дисциплине «Операционные системы»:
1. Определение ОС. Основные и дополнительные функции ОС.
2. Состав ОС. Описание компонентов.
3. Классификации ОС.
4. Ядро ОС. Функции.
5. Архитектуры ядра и особенности реализаций
6. Объекты ядра (процессы, файлы, потоки, семафоры, мьютексы)
7. Загрузчики ОС. Функции. Примеры.
8. Пользовательский интерфейс. Виды, особенности, реализация.
9. Однопользовательские и многопользовательские ОС. Особенности.
10. Разделение времени и многозадачность в ОС.
11. Параллельная и псевдопараллельная многозадачность в ОС.
12. Системы пакетной обработки.
13. Системы реального времени.
14. Системы разделения времени.
15. Вытесняющая и невытесняющая многозадачность.
16. Мультипроцессирование. Симметричная и асимметричная ОС.
17. Многослойная структура ОС. Состав и функции каждого слоя.
18. Аппаратная зависимость и переносимость ОС.
19. Набор средств аппаратной поддержки ОС. Описание компонентов.
20. Совместимость и множественные прикладные среды.
21. Понятия процесса и потока.
22. Управление процессами и потоками.
23. Межпроцессное взаимодействие в ОС.
24. Многопоточность в ОС.
25. Состояния потока.
26. Концепция квантования.
27. Приоритетные алгоритмы планирования.
28. Смешанные алгоритмы планирования.
29. Синхронизация процессов и потоков.
30. Критические секции.
31. Блокирующие переменные.
32. Управление памятью.
33. Виртуальная память и свопинг.
34. Алгоритмы управления виртуальной памятью.
35. Страничное распределение.
36. Сегментное распределение
37. Странично-сегментное распределение.
38. Структура диска. MBR, PT, типы разделов, логические диски, форматирование.
39. Файловая система FAT32.
40. Файловая система NTFS.
Основное учебное пособие – Э. Таненбаум, Х. Бос. "Современные операционные системы", изд-во Питер, 2015 год.
Доступно по ссылке http://math.kubsu.ru/Debian_Tanenbaum.pdf






