Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен по курсу ОСс и ОСТ20081.doc
Скачиваний:
7
Добавлен:
28.09.2019
Размер:
1.57 Mб
Скачать

47. Системные вызовы и библиотечные функции.

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

Системный вызов определяет функцию, выполняемую ядром ОС, и является интерфейсом самого низкого уровня взаимодействия прикладных процессов с ядром.

Замечание:

Различные версии UNIX включают в себя от 10 до нескольких сотен системных вызовов.

SVR4 – более 120 системных вызовов.

Системные вызовы обычно документированы в разделе 2 электронного справочника.

Электронный справочник:

Раздел 1 – названия всех команд/утилит.

Раздел 2 – системные вызовы.

Раздел 3 – библиотечные функции.

man lint

lint (1) – информация из первого раздела

Системные вызовы в среде программирования UNIX определяются как функции языка Си (независимо от фактической реализации вызова функции) ядром ОС. Каждый вызов имеет соответствующую функцию с таким же именем.

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

Библиотечный код выполняет только роль оболочки.

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

Но в процессе выполнения многие из них выполняют системные вызовы.

Подробное описание функций общего назначения находится в разделе 3 электронного справочника.

Функции общего назначения хранятся в соответствующих библиотеках.

Функции общего назначения наряду с системными вызовами составляют основу среды программирования в UNIX

1.Функция printf (3) – использует системный вызов write (2).

2.Функции strcpy (3) и atoi (3) – не прибегают к услугам ОС.

Часть библиотечных функций являются надстройкой над ОС – более удобный способ получения системных услуг.

Пример:

Процесс получения текущей даты и времени соответствует системному вызову time (2), который возвращает время в секундах с момента 1 января 1970 года. Для получения более удобной для восприятия информации (дата и время) используются функции:

ctime (3), localtime (3) и др.

Взаимодействие приложения (процесса) с ядром ОС при использовании системных вызовов и библиотечных функций может быть проиллюстрировано:

48. Сетевые ос (сос). Структура сос.

Любая ОС выполняет следующие основные задачи:

1.Управление ресурсами (компьютера и сетевыми ресурсами).

2.Организация интерфейса с пользователями, т. е. предоставление пользователю (программисту) услуг, которые значительно облегчают решение проблем программирования.

При организации сетевой работы ОС играет роль интерфейса, экранирующего (скрывающего) все детали низкоуровневых программно-аппаратных средств сети.

В результате (в представлении пользователя) сеть с ее множеством сложных и запутанных деталей превращается в достаточно понятный набор разделяемых ресурсов.

Структура сетевой ОС.

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

В сетевой ОС отдельной машины (с точки зрения первой задачи) можно выделить несколько частей.

1.Средства управления локальными ресурсами.

Реализация функции распределения оперативной памяти между процессами, управление периферийными устройствами, функции планирования и диспетчеризации процессов, управление ресурсами.

2. Серверная часть (сервер).

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

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

3. Клиентская часть (клиент).

Выполняет распознавание и перенаправление в сеть запросов к удалённым ресурсам от приложений пользователя. Запрос поступает от приложения в локальной форме, а передаётся в сеть в другой форма – в соответствии с требованиями сервера.

Также осуществляется приём ответов от серверов (других компьютеров) и преобразование их в локальный формат.

Вывод: для приложения выполнение локальных и удалённых запросов не различима (если не учитывать время).

4. Коммуникационные средства.

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

Замечание:

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