Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Функционирование системы UNIX



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

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

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

Интерфейс между любой пользовательской программой (процессом) и ядром ОС UNIX (программный интерфейс ОС UNIX), реализуется с помощью системных вызовов. Синтаксически, применение системного вызова (СВ) похоже на вызов подпрограммы, однако, код, реализующий этот СВ, на­ходится в ядре ОС UNIX. При осуществлении СВ, как правило, использу­ется механизм прерываний, реализуемый аппаратно. Более подробно эту процедуру можно описать так: при осуществлении СВ, в стек пользова­тельского процесса заносятся соответствующие параметры (как и в слу­чае вызова подпрограммы), после чего на процессор вызывается инструкция программного прерывания (в случае вызова подпрограммы на процессор вызывается инструкция перехода по стартовому адресу вызы­ваемой подпрограммы). В результате обработки прерывания аппаратурой центрального процессора ЭВМ, управление передается по адресу, храня­щемуся в некоторой заранее определенной ячейке памяти ЭВМ, так на­зываемом векторе прерывания, и, тем самым, начинается выполнение подпрограммы обработки прерывания, исполняемый код которой находится в ядре ОС UNIX. Подпрограмма обработки прерывания прежде всего из­влекает из стека пользовательского процесса ранее помещенные туда параметры, а затем передает управление подпрограмме, реализующей системную функцию, соответствующую осуществленному СВ; исполняемый код этой подпрограммы также находится в ядре ОС UNIX. После того, как подпрограмма, реализующая указанную системную функцию, завер­шится, ядро ОС UNIX передаст управление в пользовательскую програм­му, осуществившую СВ, точно так же, как если бы завершилась подпрог­рамма, вызванная на выполнение пользовательской программой.

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

В следующем разделе будут рассмотрены наиболее употребляемые системные вызовы.





Дата публикования: 2015-10-09; Прочитано: 203 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...