Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
02.05.2014
Размер:
1.46 Mб
Скачать

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

Запущенная на выполнение программа порождает в системе один или более процессов (или задач).

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

  1. Создание и удаление процессов.

  2. Распределение системных ресурсов (памяти, вычислительных ре­сурсов) между процессами.

  3. Синхронизацию процессов.

  4. Межпроцессорное взаимодействие.

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

Специальная задача ядра, называемая распорядителем или плани­ровщиком процессов (scheduler), разрешает конфликты между про­цессами в конкуренции за системные ресурсы (процессор, память, устройства ввода/вывода). Планировщик запускает процесс на вы­полнение, следя за тем, чтобы процесс монопольно не захватил раз­деляемые системные ресурсы. Процесс освобождает процессор, ожидая длительной операции ввода-вывода, или по прошествии кванта времени. В этом случае планировщик выбирает следующий процесс с наивысшим приоритетом и запускает его на выполнение.

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

Модуль межпроцессорного взаимодействия отвечает за уве­домление процессов о событиях с помощью сигналов и обеспечи­вает возможность передачи данных между различными процессами.

Подсистема ввода/вывода.

Подсистема ввода/вывода выполняет запросы файловой под­системы и подсистемы управления процессами для доступа к ПУ (дискам, магнитным лентам, терминалам и т. д.). Она обеспечивает необходимую буферизацию данных и взаимодействует с драйверами устройств – специальными модулями ядра, непосредственно обслу­живающими внешние устройства.

Файловая система ос unix.

Понятие файла в ОС UNIX максимально унифицировано. Файлами считаются обычные файлы, каталоги, каналы; внешние устройства представляются в виде специальных файлов: байт-ориен­тированных (например терминал, принтер, последовательный порт) и блок-ориентированных (накопители на магнитных дисках) в зави­симости от единиц передаваемых данных.

Доступ к файлам любого вида однотипен, то есть доступ к внешним устройствам такой же как к обычным файлам.

Такой подход обеспечивает независимость программы пользо­вателя от особенностей ввода-вывода на конкретное устройство. Помимо этого, файлы в UNIX определяют привилегии пользовате­лей, поскольку права пользователя контролируются с помощью прав доступа к файлам.

Как и во многих ОС-ах, в UNIX файлы организованы в виде древовидной структуры, называемой файловой системой. Корнем этого дерева является корневой каталог, имеющий имя «/». Имена всех остальных файлов содержат путь – список каталогов (ветвей), которые необходимо пройти, чтобы достичь файла. Таким образом, полное имя любого файла начинается с «/» и не содержит идентифи­катора устройства, на котором он фактически хранится. UNIX до­пускает существование нескольких файловых систем, присоединен­ных к корневому каталогу.

В UNIX существует 6 типов файлов, различающихся по функ­циональному назначению и действиям операционной системы при выполнении операций над файлами.

  1. Обычный файл (regular file).

  2. Каталог (directory).

  3. Специальный файл устройства (special device file).

  4. FIFO или именованный канал (named pipe).

  5. Связь (link).

  6. Сокет.

Обычный файл представляет собой наиболее общий тип фай­лов, содержащий данные в некотором формате. Для ОС такие файлы представляют собой просто последовательность байтов. Эти файлы обрабатываются прикладной программой.

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

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

/home/andrei

10245 . - текущий каталог

12432 .. - родительский каталог

  1. file1.txt

12567 first

13678 report

номер имя

метаданные файла

Специальный файл устройства обеспечивает доступ к физиче­скому устройству. В UNIX различают символьные (character) и блочные (block) файлы устройств. Доступ к устройствам осуществ­ляется путем открытия, чтения и записи в специальный файл уст­ройства.

Символьные файлы устройств используются для не буферизо­ванного обмена данными с устройством, в противоположность этому блочные файлы позволяют производить обмен данными в виде пакетов фиксированной длины – блоков. Доступ к некоторым устройствам может осуществляться как через символьные, так и че­рез блочные специальные файлы.

FIFO или именованный канал – это файл, используемый для связи между процессами. FIFO впервые появился в System V UNIX, и большинство современных систем поддерживают этот механизм.

Связь. Как уже отмечалось, каталог содержит имена файлов и указатели на их метаданные. В то же время сами метаданные не со­держат ни имени файла, ни указателя на его имя. Такая архитектура позволяет одному файлу иметь несколько имен в файловой системе. Имена тесно связаны с метаданными и, соответственно, с данными файла, в то время как файл существует независимо от того, как его называют. Такая связь имени файла с его данными называется жест­кой связью (hard link). Жесткая связь является естественной формой связи имени файла с его метаданными и не принадлежит к особому типу файла. Особым типом файла является символическая связь, по­зволяющая косвенно адресовать файл. Символическая связь адре­сует файл, который, в свою очередь, ссылается на другой файл. Дан­ные файла, являющиеся символической связью, содержат только имя целевого файла, и ОС работает с такими файлами не так, как с обычными.

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

Соседние файлы в папке Операционные системы