Основные концепции операционных систем 


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



ЗНАЕТЕ ЛИ ВЫ?

Основные концепции операционных систем



ГЛАВА 1

ВВЕДЕНИЕ

Основные концепции операционных систем

ГЛАВА 2

Архитектура операционных систем

Рекомендуемая литература:

1. В.Г.Олифер, Н.А.Олифер. Сетевые операционные системы. Учебное пособие.-СПб.:БХВ-Петербург, 2006.-536с.

2. В.А.Шеховцов. Операційні системи.Підручник.-К.:Виканавча група ВНV. 2005. 576с.

3. Столлингс В. Операционные системы. М.: Вильямс, 2001. -672с.

Раздел 1 ВВЕДЕНИЕ

Основные концепции операционных систем

♦ Понятие операционной системы и ее назначение

♦ История развития операционных систем

♦ Классификация операционных систем

♦ Основные функции операционной системы

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

Понятие операционной системы, ее назначение и функции

Понятие операционной системы

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

Компьютерная система -это совокупность аппаратного и программного обеспечения компьютера.

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

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

Можно дать такое определение операционной системы.

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

Функциональные компоненты операционных систем

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

Управление памятью

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

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

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

Управление вводом-выводом

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

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

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

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

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

Сетевая поддержка

Сетевые системы

Современные операционные системы приспособленны к работе в сети, их называют сетевыми операционными системами. Средства сетевой поддержки дают ОС возможность:

♦ предоставлять локальные ресурсы (дисковое пространство, принтеры и т.п.) в общее пользование через сеть, т.е. функционировать как сервер;

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

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

Распределенные системы

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

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

Безопасность данных

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

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

Интерфейс пользователя

Различают два типа средств взаимодействия пользователя с ОС: командный интерпретатор (shell) и графический интерфейс пользователя (GUI).

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

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

Выводы

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

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

Контрольные вопросы и задачи

1. Какие основные функции операционной системы?

2. Приведите несколько примеров пространственного и временного распределения ресурсов компьютера. От чего зависит выбор того или другого метода распределения?

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

4. Почему большинство встроенные системы разработаны как системы реального времени? Приведите примеры встроенных систем, для которых поддержка режима реального времени не является обязательной.

5. Что общего и в чем отличия между сетевой и распределенной операционными системами? Какая из них более сложная в реализации и чему?

 

Раздел 2

Архитектура операционных систем

 

• Базовые понятия архитектуры операционных систем

• Реализация архитектуры ОС

• Операционная система и её окружение

• Особенности архитектур различных ОС

 

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

Монолитные системы

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

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

Многоуровневые системы

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

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

Уровни могут выделяться и в монолитном ядре; в таком случае они поддерживаются программно и упрощают реализацию системы. В монолитном ядре определяют уровни, пересчитанные ниже.

♦ Средства абстрагирования от оборудования, которые взаимодействуют с аппаратным обеспечением непосредственно, освобождая от реализации такого взаимодействия другие компоненты системы.

♦ Базовые средства ядра, которые отвечают за основные, простейшие действия ядра, такие как запись блока данных на диск. С помощью этих средств выполняются указания верхних уровней, связанные с управлением ресурсами.

♦ Средства управления ресурсами (или менеджеры ресурсов), что реализуют основные функции ОС (управление процессами, памятью, вводом-выводом и т.п.). На этом уровне принимаются важнейшие решения управления ресурсами, которые выполняются с использованием базовых средств ядра.

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

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

Системы с микроядром

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

Микроядро осуществляет связь между компонентами системы и выполняет базовое распределение ресурсов. Чтобы выполнить системный вызов, процесс (пользовательская программа) обращается к микроядру. Микроядро посылает серверу запрос, сервер выполняет работу и пересылает ответ назад, а микроядро переправляет его клиенту (рис. 2.1). Клиентами могут быть не только процессы пользователя, а и другие модули ОС.

 

Преимущества подхода системы с микроядром:

♦ небольшие размеры микроядра, которое упрощает его разработку и отладку;

♦ высокая надежность системы, вследствие того что серверы работают в режиме пользователя и в них нет прямого доступа к аппаратному обеспечению;

♦ большая гибкость и расширяемость системы (ненужные компоненты не занимают места в памяти, расширение функциональности системы сводится к добавлению у нее нового сервера);

♦ возможность адаптации к условиям сети (способ обмена данными между клиентом и сервером не зависит от того, связанные они сетью или находятся на одном компьютере).

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

Указанный недостаток скорее теоретический, так как на практике производительность и надежность микроядра зависят, прежде всего, от качества его реализации.

Концепция виртуальных машин

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

Впервые концепция виртуальных машин была реализована в 70-те года в операционной системе VМ фирмы ІВМ. В СССР вариант этой системы (VМ/370) был широко распространен в 80-те года и имел название Система виртуальных машин ЕС ЭВМ (СВМ ЕС). Рассмотрим архитектуру этой ОС, которая показана на рис. 2.2.

Ядро системы, которое называлось монитором виртуальных машин (VМ Мопіtог, МВМ), выполнялось на физической машине, непосредственно взаимодействуя с ее аппаратным обеспечением. Монитор реализовывал набор виртуальных машин (ВМ). Каждая ВМ была точной копией аппаратного обеспечения, на ней могла быть запущенная любая ОС, разработанная для этой архитектуры. Чаще всего на ВМ устанавливали специальную однопользовательскую ОС СМS (подсистема диалоговой обработки, ПДО). На разных ВМ могли одновременно функционировать разные ОС.

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

Виртуальные машины совместно использовали ресурсы реального компьютера; например, дисковое пространство распределялось между ними в виде виртуальных дисков, названных минидисками. ОС, запущенная во ВМ, использовала минидиски так же, как физические диски.

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

Программная совместимость

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

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

Для совместимости на уровне исходных текстов необходимо, чтобы для всех ОС существовала реализация компилятора языка и АРI, который его использует программа.

Сегодня такую совместимость обеспечивает стандартизация разработки программного обеспечения, а именно:

♦ наличие стандарта на языки программирования (прежде всего на С и С++) и стандартных компиляторов;

♦ наличие стандарта на интерфейс операционной системы (АРI).

Работа со стандартизации интерфейса операционных систем происходит в рамках проекта POSIX(Рогtable Орегating System Interface). Наиболее важным стандартом есть POSIX 1003.1, который описывает набор библиотечных процедур (таких, как открытие файла, создание нового процесса и т.п.), которые должны быть реализованы в системе. Этот процесс стандартизации длится до сих пор, последней редакцией стандарта является базовая спецификация Open Group/ІЕЕЕ. Указанные стандарты отображают традиционный набор средств, реализованных в UNIX-совместимых системах.

Задача обеспечения бинарной совместимости возникает тогда, когда нужно запустить на выполнение файл прикладной программы в среде другой операционной системы. Такая задача значительно сложнее в реализации, наиболее распространенный подход к его решению - эмуляция среды выполнения. В этом случае программа запускается под управлением другой программы - эмулятора, который обеспечивает динамическое преобразование инструкций программы в инструкции нужной архитектуры. Примером такого эмулятора является программа wine, которая дает возможность запускать программы, разработанные для Win32 АРI, в среде Linux через эмуляцию функций Win32 АРI системными вызовами Linux.

Особенности архитектур

2.4.1. Базовая архитектура UNIX

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

Базовая структура классического ядра UNIX изображена на рис. 2.3

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

 

Подсистема управления процессами контролирует создание и изъятие процессов, распределение системных ресурсов между ними, межпроцессорное взаимодействие и управление памятью.

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

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

Современные UNIX-системы отличаются своей архитектурой.

♦ В них выделено отдельный менеджер памяти, ответственный за поддержку виртуальной памяти.

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

♦ В этих системах поддерживается многопроцессорная обработка, а также многопото-ковость.

Базовые архитектурные решения, такие как доступ ко всем устройствам ввода-вывода через интерфейс файловой системы или организация системных вызовов, остаются неизменными во всех реализациях UNIX.

 

2.4.2 Особенности архитектуры Windows ХР

Основные компоненты Windows ХР изображены на рис. 2.4

Рис.2.4 Базовые компоненты Windows XP

 

Некоторые компоненты Windows ХР выполняются в привилегированном режиме, другие компоненты - в режиме пользователя. Начнем рассмотрение системы c компонентов режима ядра.

Компоненты режима ядра

В традиционном понимании (см. раздел 1.1.2) ядро ОС содержит все компоненты привилегированного режима, однако в Windows ХР понятие ядра закреплено только за одним из этих компонентов.

Ядро

Ядро Windows ХР отвечает за базовые операции системы. К его основным функциям принадлежат:

♦ переключение контекста, сохранение и восстановление состояния потоков;

♦ планирование выполнения потоков;

♦ реализация средств поддержки аппаратного обеспечения, более сложных, чем средства НАL (например, передача управления обработчикам прерываний).

Ядро Windows ХР соответствует базовым службам ОС и предоставляет набор механизмов для реализации политики управления ресурсами.

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

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

Исполнительная система

Исполнительная система (ИС) Windows ХР (Windows ХР Ехесutive) - это набор компонентов, ответственных за важнейшие службы ОС (управление памятью, процессами и потоками, вводом-выводом и т.п.).

Основными компонентами ИС являются базовые средства поддержки, это:

Менеджер объектов - отвечает за распределение ресурсов в системе, поддерживая их универсальное представление через объекты.

Средство локального вызова процедур (LPC) - обеспечивает механизм связи между процессами и подсистемами на одном компьютере.

Другие компоненты ИС реализуют важнейшие службы Windows ХР. Остановимся на некоторые из них.

Менеджер процессов и потоков — создает и завершает процессы и потоки, а также
распределяет для них ресурсы.

Менеджер виртуальной памяти - реализует управление памятью в системе, прежде всего поддержку виртуальной памяти.

Менеджер ввода-вывода — руководит периферийными устройствами, предоставляя
другим компонентам аппаратно-независимые средства ввода-вывода. Этот ме­неджер реализует единый интерфейс для драйверов устройств.

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

Менеджер конфигурации - отвечает за поддержку работы с системным реестром (registry) - иерархически организованным хранилищем информации о налаживании системы и прикладных программ.

Справочный монитор защиты - обеспечивает политику безопасности на изолированном компьютере, т.е. защищает системные ресурсы.

Драйверы устройств

В Windows ХР драйверы не обязательно связаны с аппаратными устройствами. Программы, которым нужны средства, доступные в режиме ядра, всегда следует оформлять как драйвер. Это связанное с тем, что для внешних разработчиков режим ядра доступный только из кода драйверов.

Подсистемы среды

Подсистемы среды предоставляют программам пользователя доступ к службам операционной системы, реализуя соответствующий АРI. Мы остановимся на двух подсистемах среды: Win32 и POSIX.

Подсистема Win32, которая реализует Win32 АРI, является обязательным компонентом Windows ХР. В неё входят такие компоненты:

♦ процесс подсистемы Win32 (csrss.ехе), который отвечает, за реализацию текстового (консольного) ввода-вывода, создание и уничтожение процессов и потоков;

♦ библиотеки подсистемы Win32, которые предоставляют прикладным программам функции Win32 АРI. Чаще всего используют библиотеки gdi32.dll (низкоуровневые графические функции, независимые от устройства), user32.dll (функции интерфейса пользователя) и kernel32.dll (функции, реализованные в ИС и ядре).

После того как программа обратится к функции Win32 АРI, сначала будет вызвана соответствующая функция из библиотеки подсистемы Win32. Рассмотрим варианты выполнения такого вызова.

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

2. Если нужен переход в режим ядра, из кода библиотеки подсистемы выполняется системный вызов. Так происходит в большинстве случаев, например во время создания окон или элементов управления.

3. Функция библиотеки подсистемы может обратиться к процессу подсистемы Win32, при этом:

♦ когда нужна только функциональность, реализованная данным процессом, перехода в режим ядра не происходит;

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

Подсистема POSIX работает в режиме пользователя и реализует набор функций, определенных стандартом POSIX 1003.1. Поскольку процессы, или прикладные программы, написанные для одной подсистемы, не могут использовать функции других, в POSIX-программах нельзя пользоваться средствами Win32 АРI (в частности, графическими и сетевыми функциями), что снижает важность этой подсистемы.

Подсистема POSIX не является обязательным компонентом Windows ХР.

Применение пользователя

Процессы пользователя могут быть созданы для разных подсистем среды. Такие процессы используют только функции соответствующего АРI. Вызовы этих функций превращаются в системные вызовы с помощью динамических библиотек подсистем среды.

Структура заголовка объекта

Объекты состоят из двух частей: заголовка и теле объекта. В заголовке содержится информация, общая для всех объектов, в теле - специфическая для объектов конкретного типа.

К атрибутам заголовка объекта принадлежат:

♦ имя объекта и его место в пространстве имен;

♦ дескриптор защиты (определяет права, необходимые для использования объекта);

♦ использование квоты (цена открытия дескриптора объекта, дает возможность регулировать количество объектов, которые разрешено создавать);

♦ список процессов, которые получили доступ к дескрипторам объекта.

Менеджер объектов осуществляет управление объектами на основании информации из их заголовков.

Объекты типа

Формат и содержимое тела объекта определяется его типом. Новый тип объектов может быть определен любым компонентом ИС. Существует определенный набор типов объектов, которые создаются во время загрузки системы (такие объекты, например, отвечают процессам, открытым файлам, устройствам ввода-вывода).

Часть характеристик объектов являются общими для всех объектов этого типа. Для хранения сведений о таких характеристиках используют специальные объекты типа (tipe objects). В таком объекте, в частности, сохраняют:

♦ имя типа объекта («процесс», «поток», «открытый файл» и т.п.);

♦ режима доступа (зависят от типа объекта: например, для файла такими режимами могут быть «чтения» и «запись»).

Объекты типа недоступны в режиме пользователя.

Методы объектов

Когда компонент ИС создает новый тип объекта, он может зарегистрировать в диспетчере объектов один или несколько методов. После этого диспетчер объектов вызывает эти методы на определенных этапах жизненного цикла объекта. Приведем некоторые из методов объектов:

ореп - вызывается при открытии дескриптора объекта;

close - вызывается при закрытии дескриптора объекта;

delete - вызывается перед изъятием объекта из памяти.

Указатели на код реализации методов также сохраняются в объектах типа.

Пространство имен объектов

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

♦ Device - имена устройств введения-вывода;

Driver - загруженные драйверы устройств;

ObjectTypes - объекты типов.

Пространство имен объектов, как и отдельные объекты, не сохраняется после перезагрузки системы.

 

Выводы

♦ Архитектуру ОС определяет набор ее компонентов, а также порядок их взаимодействия друг с другом и с внешней средой.

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

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

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

♦ Операционная система взаимодействует с прикладными программами. Она предоставляет набор системных вызовов для доступа к функциям, реализованным в ядре. Для прикладных программ системные вызовы вместе со средствами системных библиотек доступные через интерфейс программирования применений (АРI).

Контрольные вопросы и задачи

1. Перечислите причины, по которым ядро ОС должны выполняться в привилегированном режиме процессора.

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

3. В чем заключается главный недостаток традиционной многоуровневой архитектуры ОС? Имеет ли такой недостаток архитектура с выделением уровней в монолитном ядре?

4. Почему переход к использованию микроядровой архитектуры может вызвать снижение производительности ОС?

5. Автор Linux Линус Торвальдс утверждает, что мобильность Linux должны распространяться на системы с «приемлемой» архитектурой. Какие аппаратные средства должна поддерживать такая архитектура?

6. Приведите преимущества и недостатки реализации взаимодействия прикладной программы с операционной системой в Linux и Windows ХР.

7. Не противоречит ли использования модулей ядра принципам монолитной архитектуры Linux? Объясните свой ответ.

8. Перечислите преимущества и недостатки архитектуры ОС, в соответствии с которой оконная и графическая подсистемы в Windows ХР выполняются в режиме ядра.

9. Почему некоторые диагностические утилиты Windows ХР состоят из прикладной программы и драйвера устройства?

 

 

ГЛАВА 1

ВВЕДЕНИЕ

Основные концепции операционных систем

ГЛАВА 2



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 1420; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.94.98.40 (0.128 с.)