Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Взаимодействие ОС и выполняемой программы
В работе в режиме пользователя часто необходимое выполнение действий, реализованных в ядре ОС (например, во время записи на диск из прикладной программы). Для этого надо обеспечить взаимодействие программы пользователя и ОС. Рассмотрим особенности такого взаимодействия. Системные вызовы и интерфейс между прикладной программой и ОС Системный вызов - это средство доступа к определенной функции ядра операционной системы из прикладных программ. Набор системных вызовов определяет действие, которые ядро может выполнить по запросу процессов пользователя. Системные вызовы организуют интерфейс между прикладной программой и ядром ОС. Рассмотрим последовательность выполнения системного вызова. 1. Предположим, что для процесса, который выполняется в режиме пользователя, нужна функция, реализованная в ядре системы. 2. Для того чтобы обратиться к этой функции, процесс должен передать управление ядру ОС, для чего необходимо задать параметры вызова и выполнить программное прерывание (инструкцию системного вызова). Происходит переход в привилегированный режим. 3. После получения управления ядро считывает параметры вызова и определяет, что нужно сделать. 4. После этого ядро выполняет нужны действия, сохраняет в памяти значения, которые следует возвратить, и передает управление программе, которая его вызвала. Происходит переход назад в режим пользователя. 5. Программа считывает из памяти сохраненные значения и продолжает свою работу. Как видим, каждый системный вызов служит причиной перехода в привилегированный режим и назад (в микроядровой архитектуре, таких переходов может быть и больше). Рассмотрим способы передачи параметров в системном вызове. К ним принадлежат: ♦ передача параметров в регистры процессора; ♦ занесение параметров в определенный участок памяти и передача указателя на нее в регистре процессора. Системные вызовы предназначены для непосредственного доступа к службам ядра ОС. На практике они не исчерпывают (а иногда и не определяют) те функции, которые можно использовать в прикладных программах для доступа к службам ОС или средств системных библиотек. Для обозначения этого набора функций используют термин интерфейс программирования приложений (API).
Взаимосвязь между функциями АРI и системными вызовами неодинаковы в разных ОС. Во-первых, каждому системному вызову может быть поставленная в соответствие библиотечная функция, единственной задачей которой являются выполнения этого вызова. Такую функцию называют упаковщиком системного вызова. Для программиста в этом случае набор функций АРI выглядит как совокупность таких упаковщиков и дополнительных функций, реализованных библиотеками полностью или частично в режиме пользователя. Это решение принято за основу в UNIX и в таком случае принято говорить об использовании системных вызовов в прикладных программах (на самом деле программы вызывают упаковщики системных вызовов). Во-вторых, можно предоставить для использования в прикладных программах универсальный интерфейс программирования применений (АРI режима пользователя) и полностью спрятать за ним набор системных вызовов. Для программиста каждая функция такого АРI является библиотечной функцией режима пользователя, упаковщика в этом случае нет, сведения о системных вызовах есть деталями реализации ОС. Это присуще WINDOWS -системам, где подобный универсальный набор функций называют Win32 АРI.
Выводы ♦ Архитектуру ОС определяет набор ее компонентов, а также порядок их взаимодействия друг с другом и с внешней средой. ♦ Важнейшим для изучения архитектуры ОС есть понятия ядра системы. Основной характеристикой ядра является то, что оно выполняется в привилегированном режиме. ♦ Основными типами архитектуры ОС есть монолитная архитектура и архитектура на базе микроядра. Монолитная архитектура требует, чтобы главные функции системы были сконцентрированы в ядре, важнейшим ее преимуществом является производительность. В системах на базе микроядра в привилегированном режиме выполняются только базовые функции, основными преимуществами таких систем является надежность и гибкость. ♦ Операционная система непосредственно взаимодействует с аппаратным обеспечением компьютера. Современные компьютерные архитектуры предлагают много средств поддержки работы операционных систем. Для связи с аппаратным обеспечением в ОС выделяется уровень абстрагирования от оборудования.
♦ Операционная система взаимодействует с прикладными программами. Она предоставляет набор системных вызовов для доступа к функциям, реализованным в ядре. Для прикладных программ системные вызовы вместе со средствами системных библиотек доступные через интерфейс программирования приложений (АРI).
Контрольные вопросы Расскажите о важнейших функциях ОС. 1. Что является характерным признаком ядра ОС, особенности этого режима. 2. Режим пользователя. Что принадлежит этому системному программному обеспечению. 3. Перечислите различные архитектуры ОС. 4. Расскажите о монолитных системах. 5. Расскажите о многоуровневых системах. 6. Расскажите о системах с микроядром. 7. Расскажите о концепции виртуальных машин. 8. Расскажите о средствах аппаратной поддержки ОС. 9. Расскажите о взаимодействии ОС и выполняемой программы.
Лекция 4
|
||||||
Последнее изменение этой страницы: 2017-02-06; просмотров: 1261; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.169.110 (0.029 с.) |