Подсистема управления процессами
Запущенная на выполнение программа порождает в системе один или более процессов (или задач). Подсистема управления процессами контролирует:
- Создание и удаление процессов
- Распределение системных ресурсов (памяти, вычислительных ресурсов) между процессами
- Синхронизацию процессов
- Межпроцессное взаимодействие
Очевидно, что в общем случае число активных процессов превышает число процессоров компьютера, но в каждый конкретный момент времени на каждом процессоре может выполняться только один процесс. Операционная система управляет доступом процессов к вычислительным ресурсам, создавая ощущение одновременного выполнения нескольких задач.
Специальная задача ядра, называемая распорядителем или планировщиком процессов (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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
