Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Физическая организация NTFS




 

NTFS появилась позже FAT и HPFS (для OS/2). Отличительные черты этой системы:

· Поддержка больших дисков и файлов (объемом до 2 64 байт)

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

· Высокая скорость операций

· Относительно низкий уровень фрагментизации

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

· Поддержка длинных символьных имен

· Контроль доступа к файлам и каталогам

 

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

 

На томе (логическом диске) размещаются только файлы или части файлов. Каталоги представляют такие же файлы (в том числе и корневой). В начале тома размещается загрузочный сектор, затем главная таблица файлов (Master File Table – MFT). MFT – это файл, содержащий по одной или больше записей (размером, обычно, 2 К) для каждого файла тома. В нулевой записи – сведения о самом файле MFT. В последующих 15 записях - сведения о стандартных служебных файлах. Далее идут сведения о всех создаваемых на томе файлах.

 

В качестве системных файлов, кроме самой MFT, выступают:

· Копия первых трех записей MFT

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

· Файл с именем тома, версией NTFS, другой информацией о томе

· Файл с таблицей определения атрибутов. Для каждого атрибута хранится имя типа, номер, описание.

· Файл корневого каталога

· Файл с битовой картой логических кластеров тома (по 1 биту на кластер, для определения занят он или свободен)

· Файл с адресом загрузочного сектора тома

· Файл со списком плохих кластеров тома

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

· Файл с таблицей преобразования регистра символов для кодировки Unicode

 

Четыре записи (11-15) в MFT зарезервированы для последующих модификаций NTFS.

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

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

· Attribute List – список атрибутов (используется редко, если список атрибутов не помещается в первую запись MFT для файла

· File Name – имя файла – содержит длинное имя файла в Unicode и номер записи в таблице MFT для родительского каталога. Если файл зафиксирован в нескольких каталогах, то у него будет несколько атрибутов типа Eile Name, по одному для каждого каталога

· MS-DOS Name – имя файла в формате MS-DOS (8+3)

· Version – номер последней версии файла

· Security Description – атрибут хранит информацию о защите файла - список прав доступа ACL и поле аудита – указания, какие операции с файлом нужно регистрировать

· Volume Version – версия тома (только для системных файлов)

· Volume Name – имя тома (только для системных файлов)

· MFT bitmap – карта использования кластеров тома (только для системного файла)

· Index Root – Корень двоичного дерева для поиска файлов в каталоге (только для каталогов)

· Index Allocation – размещение продолжений каталога, когда он не помещается в одну запись (т.е. для больших каталогов)

· Standard Information – стандартная информация о файле – в частности, время создания, последней модификации файла и т.д.

 

Если данные файла занимают мало места (в пределах 1500 байт) то весь он помещается в запись MFT вместе с остальными атрибутами. Такие файлы называются резидентными, а запись в MFT состоит из 4-х атрибутов:

1. SI – стандартной информации

2. FN – имени файла

3. Data – собственно данных файла

4. SD – дескриптора безопасности

Если он длиннее, то запись содержит средства поиска отрезков, составляющих файл. Однако атрибуты SI, FN и SD содержатся всегда. Большой файл вместо данных содержит списки отрезков, где расположены данные, очень большие данные вместо атрибута данные содержит номер записи MFT, где содержатся списки отрезков файла, а сверхбольшие файлы вместо атрибута данных содержат список записей MFT, в которых хранятся списки отрезков с данными файла.

Каждый каталог NTFS состоит из резидентной части, хранящейся в записи MFT, и возможно (для длинных каталогов) дополнительных отрезков вне MFT. При этом в резидентной части оставляются только имена файлов, завершающих каждый отрезок каталога, но дополняют ссылкой на начало такого отрезка. Отметим, что атрибуты SI, FN и SD также хранятся в резидентной части каталога.

 

Управление процессами

 

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

Процесс – единица работы, связанная с обработкой заявки на ресурсы ВС.

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

 

Потоки

Процесс может состоять из нескольких потоков. Хотя бы один поток будет в процессе всегда. В таком случае «поток»=«процесс».

Все потоки процесса разделяют его адресное пространство и множество переменных среды.

 

Процесс представляет собой изолированное пространство + ряд ресурсов ВС, которые даны ему в соответствии с правами. Изолированность позволяет сохранить целостность самих процессов и ОС в целом. Это не позволяет процессам непосредственно обращаться друг к другу – это происходит через ядро. Используются средства IPC.

Подсистема управления процессами занимается:

· Планирование взаимодействия процессов

· Порождение/уничтожение процессов

· Обеспечение необходимыми ресурсами

 

Жизненный цикл процесса:

· Готовность – пассивное состояние – процесс имеет все необходимые ресурсы, но нет процессорного времени.

· Выполнение – активное состояние процесса, когда процессорный ресурс предоставлен процессу.

· Ожидание – пассивное состояние – процесс не имеет любого другого ресурса, кроме процессора.

Очереди: готовности (по приоритетам – prio 0.. prio n) и ожидания (по типу ресурсов – res0... res m)

 

 

8->3 если есть место в ОЗУ, если нет, то 8->5

4, 6 – ожидание

1, 2 – выполнение

3, 5, 7 - готовность

Образ процесса – совокупность его кодов и данных и ресурсов.

Управление процессом в режиме задач возможно, если мы сами создаем процесс с помощью специальных системных вызовов (напр. fork()). Момент возвращения из ядра определяется только ОС.

1 <-> 2 может быть много переходов, это связано с внутренними прерываниями и событиями.

4 – ждем предоставления ресурса.

5 – swapping – если нужно освободить ОЗУ.

7 – если есть место в ОЗУ. Процесс возвращен из привилегированного режима в непривилегированный режим. Ядро резервирует его и переключается на другой процесс такая ситуация возможна при прерывании.

Жизненный цикл процесса в UNIX-подобных ОС: создание нового процесса (fork(), выделение ресурсов) -> готовность в ОЗУ (завершение fork(), exec()) -> выполнение в режиме ядра (runnable) -> завершение процесса (exit(), defunct zombie) -> полный возврат ресурсов. Если ресурсы заняты, то после fork() переход в готовность вне ОЗУ.

Контекст и дескриптор

 

Для возобновления выполнения процесса необходимо сохранить информацию о состоянии ОС:

Контекст – информация, которая отражает состояние операционной среды, та информация, которая необходима для выполнения процесса:

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

· Режим работы процессора

· Указатели на открытые файлы

· Информация о незавершенных операциях ввода/вывода

· Коды ошибок, выполняемых системных вызовов

Дескриптор процесса – информация, необходимая для планирования:

· Идентификатор процесса

· Состояние процесса

· Данные о степени его привилегированности

· Место нахождения сегмента кода

· Права доступа

· Информация о соседних дескрипторах в очереди

 

В дескрипторе хранится более оперативная информация, которая должна быть доступна извне => дескриптор всегда в ОЗУ, в отличие от контекста, который может быть вынесен в область swapping’a.

Очереди процессов представляются как списки дескрипторов, т.е. дескриптор содержит ссылку на соседей в очереди дескрипторах. Управление очередями = управление списками.

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

Создать процесс – значит создать информационную структуру (контекст/дескриптор).

Необходимо:

1) Создать структуру данных, описывающих данный процесс.

2) Включить дескриптор в очередь готовых процессов.

3) Загрузить кодовый сегмент в ОЗУ или область swapping’a.





Поделиться с друзьями:


Дата добавления: 2016-11-02; Мы поможем в написании ваших работ!; просмотров: 419 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Своим успехом я обязана тому, что никогда не оправдывалась и не принимала оправданий от других. © Флоренс Найтингейл
==> читать все изречения...

2351 - | 2156 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.