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



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

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

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

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

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

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

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

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

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

 

Работа в операционной системе UNIX

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

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

 


Файлы и файловая подсистема. Типы файлов.

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

В UNIX существуют 6 типов файлов, различающихся по функциональному назначению и действиям операционной системы при выполнении тех или иных операций над файлами: Обычный файл (regular file), каталог (directory), специальный файл устройства (special device file), FIFO или именованный канал (named pipe), связь (link), сокет.

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

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

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

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

Связь. Каталог содержит имена файлов и указатели на их метаданные. В то же время сами метаданные не содержат ни имени файла, ни указателя на это имя. Такая архитектура позволяет одному фай­лу иметь несколько имен в файловой системе. Имена жестко связаны с метаданными и, соответственно, с данными файла, в то время как сам файл существует независимо от того, как его называют в файловой систе­ме. Такая связь имени файла с его данными называется жесткой связью (hard link). Например, с помощью команды lп(1) можно создать еще одно имя (second)файла. Жесткие связи абсолютно равноправны. В списках файлов каталогов, ко­торые можно получить с помощью команды ls(1), файлы first и secondбу­дут отличаться только именем. Все остальные атрибуты файла будут абсо­лютно одинаковыми. С точки зрения пользователя- это два разных фай­ла. Изменения, внесенные в любой из этих файлов, затронут и другой, по­скольку оба они ссылаются на одни и те же данные файла. Можно пе­реместить один из файлов в другой каталог - все равно эти имена будут связаны жесткой связью с данными файла. Легко проверить, что удаление одного из файлов (first или second)не приведет к удалению самого файла, т.е. его метаданных и данных (если это не специальный файл устройства).Информацию о наличии у файла нескольких имен, связанных с ним жест­кими связями, можно получить, просмотрев подробный листинг файлов с помощью команды

Is - I . Жесткая связь является естественной формой связи имени файла с его метаданными и не принадлежит к особому типу файла. Особым типом файла является символическая связь, позволяющая косвенно адресовать файл. В отличие от жесткой связи, символическая связь адресу­ет файл, который, в свою очередь, ссылается на другой файл. В результате, последний файл адресуется символической связью косвенно. Данные файла, являющегося символической связью, содержат только имя целевого файла.

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


10 Структура файловой системы UNIX. Краткое описание основных каталогов: /bin,/dev,/ect,/lost+found,/mnt,/usr,/home, /var, /tmp.

Использование общепринятых имен основных файлов и структуры ката­логов существенно облегчает работу в операционной системе, ее админи­стрирование и переносимость. Эта структура используется в работе систе­мы, например при ее инициализации и конфигурировании, при работе почтовой системы и системы печати. Нарушение этой структуры может привести к неработоспособности системы или отдельных ее компонентов.

Корневой каталог "/" является основой любой файловой системы UNIX. Все остальные файлы и каталоги располагаются в рамках структуры, порожденной корневым каталогом, независимо от их физического местона­хождения..

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

Каталог /dev содержит специальные файлы устройств, являющиеся интер­фейсом доступа к периферийным устройствам.Каталог /dev может содержать несколько подкаталогов, группирующих специальные файлы устройств одного типа. Например, каталог /dev/dskсодержит специальные файлы устройств для доступа к гибким и жестким дискам системы.

В каталоге /etc находятся системные конфигурационные файлы и многие утилиты администрирования. Среди наиболее важных файлов — скрипты инициализации системы. Эти скрипты хранятся в каталогах /etc/rc0.d, /etc/гс1.d, /etc/rc2.dи т. д, соответствующих уровням выполнения системы (run level), и управляются скриптами /etc/rc0, /etc/reI, /etc/rc2 и т. д. Во многих версиях BSD UNIX указанные каталоги отсутствуют, и загрузка сис­темы управляется скриптами /etc/rc.boot, /etc/rс и /etc/rc.local.В UNIX ветви System V здесь находится подкаталог default,где хранятся параметры по умолчанию многих команд (например, /etc/default/suсодержит парамет­ры для команды su()). В UNIX System V большинство исполняемых фай­лов перемещены в каталог /sbinили /usr/sbin.

В каталоге /libнаходятся библиотечные файлы языка С и других языков программирования. Стандартные названия библиотечных файлов имеют вид libx.a(или libx.so),где х— это один или более символов, определяю­щих содержимое библиотеки. Например, стандартная библиотека С назы­вается libc.a,библиотека системы X Window System имеет имя libX11.а.Часть библиотечных файлов также находится в каталоге /usr/lib.

Каталог /lost+found -“потерянных" файлов. Ошибки целостности файловой системы, возникающие при неправильном останове UNIX или аппаратных сбоях, могут привести к появлению т. н. "безымянных" файлов — структура и содержимое файла являются правильными, однако для него отсутствует имя  каком-либо из каталогов. Программы проверки и восстановления фай­ловой системы помещают такие файлы в каталог /lost+foundпод системными числовыми именами.

/mnt -стандартный каталог для временного связывания (монтирования) физиче­ских файловых систем к корневой для получения единого дерева логиче­ской файловой системы. Обычно содержимое каталога /mntпусто, по­скольку при монтировании он перекрывается связанной файловой систе­мой

/u или /home -Общеупотребительный каталог для размещения домашних каталогов пользо­вателей. Например, имя домашнего каталога пользователя andrei будет, ско­рее всего, называться /home/andreiили /u/andrei.В более ранних версиях UNIX домашние каталоги пользователей размещались в каталоге /usr.

/usr -В этом каталоге находятся подкаталоги различных сервисных подсистем — системы печати, электронной почты и т. д. (/usr/spool),исполняемые фай­лы утилит UNIX (/usr/bin), дополнительные программы, используемые на данном компьютере (/usr/local),файлы заголовков (/usr/include),элек­тронные справочники (/usr/man)n т. д.

/var В UNIX System V этот каталог является заменителем каталога /usr/spool,используемого для хранения временных файлов различных сервисных под­систем — системы печати, электронной почты и т. д.

/tmp -Каталог хранения временных файлов, необходимых для работы различных подсистем UNIX. Обычно этот каталог открыт на запись для всех пользо­вателей системы.



Дата добавления: 2018-05-09; просмотров: 573; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!