Бурно развивается применение в локальных сетях беспроводных технологий (Wi-Fi), которые часто объединяют общим термином Radio Ethernet – стандарт IEEE 802.11:
IEEE 802.11 b – скорость передачи до 10 Мбит/с в диапазоне 2,4 ГГц;
IEEE 802.11 а – скорость передачи до 24 Мбит/с в диапазоне 5 ГГц;
IEEE 802.11 g – скорость передачи до 54 Мбит/с в диапазоне 2,4 ГГц.
В настоящее время стало практически обязательным оснащение ноутбуков и КПК (карманных персональных компьютеров) устройствами технологии Wi-Fi, превратив их в мобильные сетевые компьютеры. Для подключения их к локальным сетям последние оснащаются беспроводными точками доступа – базовыми станциями.
Глобальные сети отличаются от локальных сетей в первую очередь большой протяженностью телекоммуникационных каналов, что существенно увеличивает их стоимость, а следовательно, остро поднимает вопрос эффективности их использования. С этой целью в технологиях глобальных компьютерных сетей применяют технику виртуальных каналов, службу качества обслуживания трафика (Quality of Service, QoS), пытаются решать задачу инжиниринга трафика.
В России, кроме уже устаревшей технологии глобальных сетей X 25, широко используется технология frame relay и внедряется перспективная технология ATM, которая в скором будущем может стереть техническую границу между локальными и глобальными сетями.
1.2.2. Назначение и функциональные компоненты сетевых операционных систем
По своему назначению операционная система компьютерной сети аналогична ОС автономного компьютера – она также представляет собой комплекс взаимосвязанных программ, который обеспечивает удобство работы пользователям и программистам путем предоставления им некоторой виртуальной вычислительной системы, и реализует эффективный способ разделения ресурсов между множеством выполняемых в сети процессов.
При организации сетевой работы операционная система играет роль интерфейса, экранирующего от пользователя все детали работы программно-аппаратных средств транспортного, сетевого, канального и физического уровней компьютерной сети.
Например, вместо числовых адресов компьютеров сети МАС-адреса и IP-адреса операционная система компьютерной сети позволяет оперировать удобными символьными именами.
Различают сетевые операционные системы и распределенные операционные системы.
Пользователь сетевой ОС при использовании ресурсов компьютеров сети всегда помнит, что он имеет дело с сетевыми ресурсами и что для доступа к ним нужно выполнить некоторые особые операции (указать сетевой путь, подключить сетевой диск и т. п.). Правда эти действия за пользователя может выполнить администратор сети, настроив его сетевое окружение необходимым образом.
По умолчанию при работе сетевой ОС пользовательские задания выполняются на том компьютере, на котором пользователь выполнил логический вход в сеть.
Распределенная ОС, динамически и автоматически распределяя работы по различным машинам системы для обработки, заставляет набор сетевых машин работать как один многопроцессорный компьютер. Этим достигается эффективная работа всей сети.
Пользователь распределенной ОС не имеет сведений о том, на каком компьютере сети выполняется его приложение.
В настоящее время все сетевые ОС еще далеки от истинной распределенности, поэтому в дальнейшем будем рассматривать только сетевые ОС.
Различают две трактовки понятия сетевая операционная система.
Во-первых, сетевая ОС рассматривается как совокупность операционных систем отдельных компьютеров, составляющих сеть. Причем на разных компьютерах могут быть разные ОС, функционирующие автономно при создании и завершении своих процессов и управлении локальными ресурсами. Но они должны иметь согласованный набор коммуникационных протоколов, систему адресации и маршрутизации для организации:
· взаимодействия процессов, выполняющихся на разных компьютерах сети;
· разделения ресурсов сети между пользователями сети.
Во-вторых, сетевая ОС рассматривается как операционная система отдельного компьютера, способного работать в сети, т. е. предоставлять свои ресурсы в общее пользование и потреблять ресурсы других компьютеров. С этих позиций все современные ОС являются сетевыми, т. к. обеспечивают работу компьютеров в сети. В дальнейшем будем применять термин сетевая ОС именно в такой трактовке.
Функциональные компоненты сетевой ОС:
1. Средства управления локальными ресурсами компьютера, которые реализуют все функции ОС автономного компьютера.
2. Сетевые средства:
o серверная часть – средства предоставления локальных ресурсов и услуг в общее пользование;
o клиентская часть – средства запроса доступа к удаленным ресурсам и услугам;
o транспортные средства ОС, которые совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети.
Рис. 1.1 иллюстрирует взаимодействие сетевых операционных систем различных компьютеров сети.

Рис. 1.1. Взаимодействие сетевых операционных систем
Клиентская часть операционной системы одного компьютера не может получить непосредственный доступ к ресурсам другого компьютера сети. Она может лишь «попросить» об этом серверную часть его ОС. Эти «просьбы» в виде сообщений передаются при помощи транспортных средств по сети.
Очень удобной и полезной функцией клиентской части ОС является способность отличить запрос к удаленному ресурсу, например файлу на диске другого компьютера, от запроса к локальному ресурсу. В этом случае приложение не должно заботиться о том, с локальным или удаленным ресурсом оно работает, – клиентская программа сама распознает и перенаправляет (redirect) запрос к удаленному компьютеру. Отсюда часто клиентскую часть сетевой ОС называют редиректор. Иногда это отдельный программный модуль.
Совокупность серверной и клиентской частей ОС, предоставляющих доступ к конкретному типу ресурса компьютера через сеть, называется сетевой службой. Например, удаленный доступ к файлам выполняется файловой службой, а удаленный доступ к принтерам – службой печати.
Каждая сетевая служба предоставляет пользователям набор услуг, которые иногда называют сетевым сервисом. Среди сетевых служб есть службы, ориентированные не на простого пользователя, а на администратора сети. Такие службы используются для организации работы сети. Например, служба каталогов при доменной организации работы сети.
В операционной системе каждого компьютера сетевая служба может быть представлена как обеими частями – клиентской и серверной, так и только одной из них – клиентской или серверной. Говорят, что сервер предоставляет свои услуги клиенту, а клиент ими пользуется.
Принципиальной разницей между клиентом и сервером является то, что инициатором выполнения работы сетевой службы всегда выступает клиент, а сервер всегда находится в режиме пассивного ожидания.
На практике сетевые службы могут быть реализованы тремя способами:
· сетевые службы встроены в операционную систему, например, как во всех операционных системах Windows;
· сетевые службы объединены в виде некоторого набора – оболочки, например, LAN Server и LAN Manager, которые имеют модификации для разных ОС; сетевые оболочки часто делят на клиентские и серверные и к ним также применяют термин «сетевая операционная система»;
· сетевые службы производятся и поставляются в виде отдельного продукта и расширяют тем самым возможности сетевых ОС; они также могут иметь клиентскую и серверную часть, например, Symantec – сетевая антивирусная служба.
1.2.3. Компоненты сети
В зависимости от принятого порядка размещения сетевых служб компьютерные сети могут быть трех типов.
Одноранговая сеть, в которой каждый компьютер имеет как клиентскую, так и серверную часть сетевой службы. Поэтому все компьютеры равны в возможностях доступа к ресурсам друг друга. Компонентами сети являются только рабочие станции.
Сетевые ОС такого типа называют одноранговыми. Причем в одноранговой сети отдельные компьютеры могут выступать только клиентами или только серверами. В этом случае у них просто не используется какая-либо часть сетевой службы. Обычно одноранговая сеть организуется в том случае, если число компьютеров не превышает 10…20. На компьютерах одноранговой сети могут использоваться различные сетевые ОС.
Сеть с выделенным сервером, в которой серверные и клиентские части сетевых служб размещены на разных компьютерах. Как правило, все серверные части размещаются на ограниченном количестве компьютеров (от одного до нескольких), которые работают под управлением специальных вариантов сетевых ОС, которые оптимизированы для работы в роли серверов и называются серверными ОС.
Пользовательские компьютеры, на которых имеются клиентские части сетевых служб, в таких сетях работают под управлением клиентских ОС. Так как клиентов в сетях обычно много, а серверов ограниченное количество и они должны обрабатывать большой поток запросов, то в качестве серверных компьютеров обычно используются более производительные машины, зачастую мультипроцессорные.
Чем меньше функций выполняет операционная система, тем более эффективно можно их реализовать. Поэтому для оптимизации серверных операций разработчики серверных ОС вынуждены ущемлять некоторые другие ее функции, причем иногда до полного их отбрасывания.
Следовательно, использовать серверную операционную систему в качестве универсальной ОС, например в одноранговой сети, нецелесообразно.
В клиентских ОС разработчики основное внимание уделяют пользовательскому интерфейсу.
В последнее время разработчики сетевых операционных систем, как правило, выпускают два варианта одной и той же ОС. Один вариант предназначен для работы в качестве серверной ОС, другой – в качестве клиентской. Пример серверной и клиентской ОС – Windows 2000 Professional и Windows 2000 Server.
Гибридная сеть, в которой совмещено использование обоих вариантов размещения сетевых служб. Обычно применяется в больших сетях, где требуются не только отношения клиент-сервер, но и одноранговые связи.
1.3. Архитектура операционных систем
Большинство современных операционных систем представляют собой хорошо структурированные программные модули системы, приспособленные к развитию, расширению и переносу на другие аппаратные платформы. Какой-либо единой архитектуры операционных систем не существует, но существуют универсальные подходы к структурированию ОС.
1.3.1. Архитектура операционной системы,
основанная на ядре
При реализации этой архитектуры все программные модули ОС делятся на модули ядра и вспомогательные модули.
Ядро операционной системы образуют программные модули, решающие внутрисистемные задачи организации вычислительного процесса. Кроме этого именно ядро содержит функции, образующие интерфейс прикладного программирования n–API, через который приложения обращаются к операционной системе посредством системных вызовов.
Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями ОС, поэтому скорость их выполнения определяет производительность всей системы в целом.
Для обеспечения высокой скорости работы операционной системы все модули ядра или большая их часть постоянно находятся в оперативной памяти, т. е. являются резидентными.
Формат программного модуля ядра обычно отличается от формата приложений.
Остальные модули операционной системы, выполняющие вспомогательные функции ОС, оформляются в виде приложений или в виде библиотек процедур. Некоторые из них могут включаться в состав операционной системы даже пользователем, как в процессе ее инсталляции, так и в процессе эксплуатации ОС.
Вспомогательные модули для выполнения своих функций обращаются к функциям ядра, как и обычные приложения, посредством системных вызовов. Поэтому трудно провести четкую грань между операционной системой и приложениями (рис. 1.2).

Рис. 1.2. Нечеткость границы между операционной системой и приложениями
Вспомогательные модули операционной системы обычно загружаются в основную память только на время выполнения своих функций, т. е. являются транзитными.
Разделение ОС на ядро и модули-приложения обеспечивает легкую расширяемость системы. Добавление новой функции в ОС заключается в разработке нового модуля-приложения без модификации ядра.
Важным свойством архитектуры операционной системы, основанной на ядре, является возможность защиты кодов и данных ОС за счет выполнения функций ядра в привилегированном режиме.
Для этого аппаратура компьютера (процессор) должна поддерживать как минимум два режима работы – пользовательский режим (user mode) и привилегированный режим, который также называют режимом ядра (kernel mode). Приложения ставятся в подчиненное положение за счет запрета выполнения в пользовательском режиме некоторых критичных команд, связанных с переключением процессора с задачи на задачу, управлением устройствами ввода-вывода, доступом к механизмам распределения и защиты памяти.
Очень важно, что механизмы защиты памяти используются ОС не только для защиты своих областей памяти от приложений, но и для защиты областей памяти, выделенных операционной системой какому-нибудь приложению, от остальных приложений. Каждое приложение работает в своем адресном пространстве, так что его ошибки не оказывают влияние на остальные приложения и операционную систему.
Однако во всех типах процессоров из-за дополнительной двукратной задержки на переключение из привилегированного режима в пользовательский и обратно переход на процедуру со сменой режима выполняется медленнее, чем вызов процедуры без смены режима.
Вычислительную систему, работающую под управлением операционной системы на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев: нижний слой образует аппаратура, промежуточный – ядро, а вспомогательные модули и приложения составляют верхний слой системы (рис. 1.3).

Рис. 1.3. Трехслойная структура вычислительной системы
Многослойный подход является универсальным и эффективным способом декомпозиции сложных систем любого типа, в том числе и программных. Каждый слой обслуживает вышележащий слой, выполняя для него некоторый набор функций, которые образуют межслойный интерфейс. На основе функций нижележащего слоя следующий (вверх по иерархии) слой строит свои функции – более сложные и более мощные, которые в свою очередь оказываются примитивами для создания еще более мощных функций вышележащего слоя.
Строгие правила касаются только взаимодействия между слоями системы. А между модулями внутри слоя связи могут быть произвольными. Такая организация системы существенно упрощает ее разработку и модернизацию.
Многослойный подход обычно распространяется и на структуру ядра. Ядро может состоять из следующих слоев:
· средства аппаратной поддержки ОС – аппаратные узлы процессора, которые прямо участвуют в организации вычислительных процессов;
· машинно-зависимые компоненты ОС – программные модули, отражающие специфику аппаратной платформы компьютера, которые экранируют вышележащие слои от аппаратуры;
· базовые механизмы ядра – модули, выполняющие примитивные операции ядра, которые не принимают решений о распределении ресурсов;
· менеджеры (диспетчеры) ресурсов – модули, реализующие принятые в ОС стратегии управления основными ресурсами;
· интерфейс системных вызовов взаимодействует с приложениями и вспомогательными модулями ОС, образует прикладной программный интерфейс ОС (API).
Выбор количества слоев ядра является ответственным и сложным делом: увеличение числа слоев ведет к некоторому замедлению работы ядра за счет дополнительных накладных расходов на межслойное взаимодействие, а уменьшение числа слоев ухудшает расширяемость и логичность системы.
Обычно операционные системы, прошедшие долгий путь эволюционного развития, например, многие версии UNIX, имеют неупорядоченное ядро с небольшим числом четко выделенных слоев, а у сравнительно «молодых» ОС, таких как семейство Windows на технологии NT, ядро разделено на большое число слоев и их взаимодействие формализовано в гораздо большей степени.
Почти все современные аппаратные платформы (процессоры) имеют типичный набор средств аппаратной поддержки ОС:
· средства поддержки привилегированного режима, обеспечивающие переключение процессора в привилегированные режимы из пользовательского и обратно;
· средства трансляции адресов, выполняющие преобразование виртуальных адресов, которые содержатся в кодах процессов, в адреса физической оперативной памяти; таблицы трансляции тоже находятся в оперативной памяти, а в процессоре хранятся только указатели на эти области памяти;
· средства переключения процессов, предназначенные для быстрого сохранения контекста приостанавливаемых процессов и восстановления контекстов активизируемых процессов;
· систему прерываний, которая позволяет компьютеру реагировать на внешние события, например завершение операции ввода-вывода внешним устройством и т. п.; сигнал прерывания заставляет процессор прервать выполнение последовательности команд, задаваемых выполняемым процессом, и вызывает переход на определенную процедуру, называемую процедурой обработки прерываний; после завершения обработки прерывания происходит возврат к исполняемому процессу;
· системный таймер, который реализуется как счетчик тактовых импульсов процессора (счетчик считает в обратную сторону до нуля) и обеспечивает системе выдержку необходимых интервалов времени; при достижения нуля возникает прерывание от системного таймера, которое можно использовать, например, для смены исполняемого процесса;
· средства защиты областей памяти, которые обеспечивают на аппаратном уровне проверку возможности программного кода осуществлять какие-либо операции с определенной областью памяти.
Одна и та же операционная система не может без каких-либо изменений устанавливаться на компьютерах, отличающихся типом процессора или способом организации всей аппаратуры. В модулях ОС не могут не отразиться такие особенности аппаратной платформы, как количество типов прерываний, состав регистров общего назначения и системных регистров, состояние которых нужно сохранять в контексте процесса, особенности подключения внешних устройств и многие другие.
Многослойное проектирование ядра позволяет выделить машинно-зависимые модули в отдельный слой, при этом остальные модули ядра не будут зависеть от особенностей аппаратной платформы. Такая локализация машинно-зависимых модулей существенно упрощает перенос операционной системы на другую аппаратную платформу.
Для уменьшения количества машинно-зависимых модулей производители ОС обычно ограничивают их универсальность, т. е. независимость распространяется только на несколько типов процессоров. Например, независимость Windows NT ограничена четырьмя типами процессоров, кроме этого поставляются различные варианты ядра для однопроцессорных и многопроцессорных компьютеров.
Для компьютеров на основе процессоров Intel x 86/Pentium разработка экранирующего машинно-зависимого слоя ОС несколько упрощается за счет встроенной в ПЗУ компьютера базовой системы ввода-вывода – BIOS.
BIOS содержит драйверы для всех устройств, входящих в базовую конфигурацию компьютера: жестких и гибких дисков, клавиатуры, монитора и т. д. Эти драйверы выполняют самые примитивные операции с управляемыми устройствами, например чтение группы секторов с определенной дорожки диска, но за счет этих операций экранируются различия аппаратных платформ компьютеров на процессорах Intel разных производителей.
Следовательно, BIOS предоставляет одинаковый интерфейс машинно-зависимой части для работы машинно-независимой части операционной системы.
Разработчики операционных систем могут пользоваться слоем драйверов BIOS как частью машинно-зависимого слоя ОС, а могут и заменить все или часть драйверов BIOS компонентами операционной системы.
Если код операционной системы может быть легко перенесен с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа, то такую ОС называют переносимой или мобильной.
Для реализации переносимости кроме локализации слоя машинно-зависимых модулей большая часть кода машинно-независимого слоя ядра должна быть написана на стандартизованном языке высокого уровня, трансляторы которого имеются на всех машинах, куда предполагается переносить систему. Обычно это язык С.
Модуль операционной системы, написанный на ассемблере, является переносимым только в тех случаях, когда перенос ОС планируется на компьютер, обладающий той же системой команд.
1.3.2. Микроядерная архитектура
Суть микроядерной архитектуры состоит в следующем: в привилегированном режиме остается работать только очень небольшая часть операционной системы, называемая микроядром.
В состав микроядра входят машинно-зависимые модули, а также модули, выполняющие функции базовых механизмов обычного ядра по:
· управлению процессами;
· обработке прерываний;
· управлению виртуальной памятью;
· управлению устройствами ввода-вывода, связанными с загрузкой или чтением регистров устройств.
Все остальные функции ядра оформляются в виде приложений, работающих в пользовательском режиме.
Многие менеджеры ресурсов (файловая система, подсистема управления виртуальной памятью и процессами и т. п.), являющиеся неотъемлемой частью обычного ядра, становятся «периферийными» модулями, работающими в пользовательском режиме.
Менеджеры ресурсов, работающие в пользовательском режиме, имеют принципиальные отличия от традиционных вспомогательных модулей операционной системы. Последние вызываются пользователями системы, а менеджеры ресурсов обслуживают запросы приложений. Поэтому в ОС с классической архитектурой отсутствуют механизмы, с помощью которых одно приложение могло бы вызвать функцию другого.
В микроядерной архитектуре менеджеры ресурсов становятся серверами операционной системы, т. е. модулями, основным назначением которых является обслуживание запросов локальных приложений и других модулей ОС.
Очевидно, что для реализации микроядерной архитектуры необходимым условием является наличие в ОС удобного и эффективного способа вызова процедур одного процесса из другого. Поддержка такого механизма и является одной из главных задач микроядра (рис. 1.4).

Рис.1.4. Иллюстрация системного вызова в микроядерной архитектуре
Преимущества микроядерной архитектуры:
· высокая степень переносимости, обусловленная тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор требуется меньше изменений и они все сгруппированы вместе;
· высокая расширяемость – добавление новой подсистемы требует разработки только нового приложения, что никак не затрагивает целостность микроядра;
· легкая конфигурируемость ОС – достаточно изменить файл с настройками начальной конфигурации системы или же остановить ненужные больше серверы (менеджеры ресурсов) в ходе работы системы обычными для остановки приложений средствами;
· повышенная надежность ОС – каждый сервер выполняется в виде отдельного процесса в своей собственной области памяти и таким образом защищен от других серверов ОС, что не наблюдается в традиционных ОС, где все модули ядра могут влиять друг на друга. Кроме этого, уменьшенный объем кода ядра снижает вероятность появления ошибок программирования;
· возможна поддержка распределенных вычислений, т. к. используются механизмы, аналогичные сетевым: взаимодействие клиентов и серверов путем обмена сообщениями. Серверы микроядра могут работать как на одном, так и на разных компьютерах.
Недостаток микроядерной архитектуры:
· более низкая производительность, чем при классической архитектуре – системный вызов сопровождается не двумя переключениями режима (пользовательского и привилегированного), а четырьмя (рис. 1.4 и 1.5).

Рис. 1.5. Смена режимов при выполнении системных вызовов в операционной системе с классическим ядром (a) и с микроядерной архитектурой (б)
Из-за этого недостатка разработчики не всегда жестко придерживаются принципа минимизации функций ядра, часто жертвуя этим ради повышения производительности. Таким образом, главная проблема разработки микроядерной ОС – что включать в микроядро, а что выносить в пользовательское пространство.
1.3.3. Совместимость операционных систем
Если архитектурные особенности операционных систем касаются только системных программистов, то совместимость операционных систем непосредственно связана с нуждами конечных пользователей.
Различают совместимость на двоичном уровне (в котором хранятся приложения в ОС) и совместимость на уровне исходных текстов.
Двоичная совместимость достигается в том случае, когда можно запустить исполняемую программу на выполнение в среде другой операционной системы. Для этого операционные системы должны иметь одинаковые API.
Совместимость на уровне исходных текстов требует наличия соответствующего компилятора в составе программного обеспечения компьютера, на котором предполагается выполнять данное приложение. При этом необходима перекомпиляция имеющегося исходного текста в новый исполняемый модуль.
Для конечного пользователя практическое значение имеет только двоичная совместимость. Обладает ли новая ОС двоичной совместимостью, в первую очередь зависит от архитектуры процессора, на котором работает новая ОС. На процессорах, имеющих разную архитектуру, достичь двоичной совместимости (реализовать такой же API) сложнее.
Один из путей – использование специальных программ – эмуляторов. Эмулятор должен последовательно выбирать каждую двоичную инструкцию, предназначенную для эмулируемого процессора, дешифровать ее программным способом, чтобы определить, какие действия она задает, а затем выполнять эквивалентную подпрограмму, написанную в инструкциях своего процессора.
При этом имитируются регистры, флаги и внутреннее арифметико-логическое устройство эмулируемого процессора. Это простая, но очень медленная работа, т. к. одна команда процессора выполняется значительно быстрее, чем эмулирующая работу этого процессора последовательность команд на другом процессоре.
Более эффективно использование так называемых прикладных программных сред. Сегодня в типичных программах 60…80 % времени тратится на выполнение функций GUI (графического интерфейса пользователя) и других библиотечных вызовов ОС.
Тщательно спроектированная программная прикладная среда имеет в своем составе библиотеки, имитирующие внутренние библиотеки GUI, но написанные на своем «родном» коде.
Таким образом, достигается существенное ускорение выполнения программ с API другой операционной системы. Такой подход называют трансляцией, чтобы отличить от более медленного процесса эмулирования кода по одной команде.
В зависимости от архитектуры ОС трансляторы прикладных сред могут реализовываться в виде обычных приложений или как серверы пользовательского режима (в микроядерной архитектуре).
В других вариантах реализации множественных прикладных сред ядро ОС имеет несколько равноправных прикладных программных интерфейсов (API), где функции каждой API реализуются ядром с учетом специфики соответствующей ОС.
Выводы
1. Операционная система является посредником между пользователем (приложением, запущенным пользователем) и аппаратурой, предоставляя пользователю удобный интерфейс и эффективно распределяя ресурсы вычислительной системы между различными приложениями. В качестве аппаратуры могут выступать не только средства локального компьютера, но и средства компьютерной сети. В последнем случае операционная система называется сетевой операционной системой. Все современные операционные системы являются сетевыми.
2. Все задачи, решаемые операционной системой, выполняют ее четыре основные подсистемы: подсистема управления процессами, подсистема управления памятью, подсистема управления файлами и внешними устройствами, подсистема защиты данных и администрирования.
3. При построении современных операционных систем используют многослойный подход в их архитектуре, что позволяет выделить машинно-зависимые модули ОС в отдельный слой, при этом остальные модули операционной системы не будут зависеть от особенностей аппаратной платформы. Кроме этого, многослойный подход позволяет выполнять независимую разработку и модернизацию отдельных слоев операционной системы.
4. Операционные системы, построенные на основе микроядерной архитектуры, более надежны и расширяемы, но менее производительны, чем операционные системы, не содержащие микроядро.
Вопросы для самопроверки
1. Дайте определение операционной системы.
2. Какие функции операционная система предоставляет для пользователя?
3. Какие функции операционная система предоставляет для прикладного программиста?
4. Какие задачи решает операционная система в отношении аппаратуры вычислительной системы?
5. Что такое API?
6. В чем суть мультипрограммирования?
7. Какие задачи операционной системы относятся к работе подсистемы управления процессами?
8. Какие задачи операционной системы относятся к работе подсистемы управления памятью?
9. Какие задачи операционной системы относятся к работе подсистемы управления файлами и внешними устройствами?
10. Какие задачи операционной системы относятся к работе подсистемы защиты данных и администрирования?
11. Дайте определение понятия "файл" и "каталог"?
12. Дайте определение сетевой операционной системы
13. Какие операционные системы называют распределенными?
14. Какие функциональные компоненты входят в состав сетевой операционной системы?
15. Что называется сетевой службой?
16. Как могут быть реализованы сетевые службы в одноранговой сети?
17. Как реализуются сетевые службы в сети с выделенным сервером?
18. В чем суть многослойного подхода к построению операционной системы?
19. Зачем нужен привилегированный режим работы процессора?
20. Каковы особенности функционирования ядра операционной системы?
21. Какие слои обычно выделяют при построении ядра операционной системы? Их назначение?
22. Каковы особенности функционирования вспомогательных модулей операционной системы?
23. Какие задачи решают средства аппаратной поддержки операционной системы?
24. Какие особенности функционирования менеджеров ресурсов в операционной системе с микроядерной архитектурой?
25. Каковы достоинства и недостатки микроядерной архитектуры операционной системы?
26. В чем заключается совместимость операционных систем?
27. В чем суть механизма эмуляции работы операционной системы?
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 |


