Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shporka.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
623.62 Кб
Скачать

12. Состояния процессов в unix.

Системные процессы

Системные процессы являются частью ядра и всегда расположены в оперативной памяти. Системные процессы не имеют соответствующих им программ в виде исполняемых файлов и запускаются особым образом приинициализации ядра системы. Выполняемые инструкции и данные этих процессов находятся в ядре системы, таким образом они могут вызывать функции и обращаться к данным, недоступным для остальных процессов. Системными процессами являются: shed (диспетчер свопинга), vhand (диспетчер страничного замещения), (диспетчер буферного кэша) и kmadaemon (диспетчер памяти ядра). К системным процессам следует отнести ink, являющийся прародителем всех остальных процессов в UNIX. Хотя init не является частью ядра, и его запуск происходит из исполняемого файла (/etc/init), его работа жизненно важна для функционирования всей системы в целом.

Демоны

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

Прикладные процессы

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

14 Файловая система s5fs

Файловая система s5fs занимает раздел диска и имеет следующую структуру:

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

- тип файловой системы;

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

- размер массива индексных дескрипторов;

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

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

- флаг модификации;

- флаг режима монтирования;

- размер логического блока (512, 1024, 2048);

- список номеров свободных индексных дескрипторов;

- список адресов свободных блоков.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]