Разновидности современных ОС. Классификация ОС. Операционная система: назначение и классификация операционных систем. Общая характеристика и основные механизмы операционной системы Windows

Билет.

1. 1. СТРУКТУРА КОМПЬЮТЕРА:

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

а) несимметричную четырехгранную пирамидку;

б) симметричную и однородную четырехгранную пирамидку.

1.Микропроцессор -центральное обрабатывающее устройство, исполняющее машинные инструкции (код программ). Мат. плата - объединяет и координирует работу комплектующих, как процессор, оперативная память, платы расширения и всевозможные накопители. Арифметико-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций преобразования информации. Микропроцессорная память - память небольшой емкости, но чрезвычайно высокого быстродействия, она предназначена для кратковременного хранения, записи и выдачи информации. Интерфейсная сист. пк - Системная шина (FSB) – канал, по которому процессор соединен с другими устройствами компьютера.К шине напрямую подключен только процессор, другие устройства компьютера подключены к ней через разнообразные контроллеры. Центральный процессор через Системную шину (FSB) подключается к системному контроллеру (Северный Мост илиNorth Bridge). Шина - в архитектуре компьютера подсистема, которая передаёт данные между функциональными блоками компьютера. Обычно шина управляется драйвером. Северный мост - системный контроллер - обеспечивает подключение ЦПУ к узлам, использующим высокопроизводительные шины: ОЗУ, графический контроллер. Обычно к системному контроллеру подключается ОЗУ. В таком случае он содержит в себе контроллер памяти. Южный мост - периферийный контроллер - содержит контроллеры периферийных устройств (жёсткого диска, Ethernet, аудио), контроллеры шин для подключения периферийных устройств (шины PCI, PCI Express и USB), а также контроллеры шин, к которым подключаются устройства, не требующие высокой пропускной способности.Оперативная память(ОЗУ) - энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения им операции. Постоянное запоминающее устройство (ПЗУ) - энергонезависимая память, используется для хранения массива неизменяемых данных. Внешняя память – Накопители на гибких магнитных дисках (НГМД), Накопители на жестких магнитных дисках (НЖМД) информационной емкостью от 1 до десятков Гб, Накопители CD-ROM емкостью 640 Мб, Накопители DVD-ROM емкостью до 17 Гб.BIOS - реализованная в виде микропрограмм часть системного программного обеспечения, которая предназначается для предоставления операционной системе API доступа к аппаратуре компьютера и подключенным к нему устройствам.


2. Формула Хартли

I = log 2 K ,
Где К - количество равновероятных событий; I - количество бит в сообщении.

K=2 I ,I = log 2 K = log 2 (1 / р) = - log 2 р, р = 1 / К, то К = 1 / р.

Будем бросать несимметричную четырехгранную пирамидку.
Вероятность отдельных событий будет такова:
р1 = 1 / 2,
р2 = 1 / 4,
р3 = 1 / 8,
р4 = 1 / 8,
тогда количество информации, получаемой после реализации одного из этих событий, рассчитывается по формуле:
I = -(1 / 2 log2 1/2 + 1 / 4 log2 1/4 + 1 / 8 log2 1/8 + 1 / 8 log2 1/8) = 1 / 2 + 2 / 4 + + 3 / 8 + 3 / 8 = 14/8 = 1,75 (бит).
б) Теперь рассчитаем количество информации, которое получится при бросании симметричной и однородной четырехгранной пирамидки:
I = log2 4 = 2 (бит).

Билет.

1. ЧТО ПОНИМАЕТСЯ ПОД ОПЕРАЦИОННОЙ СИСТЕМОЙ? РАЗНОВИДНОСТИ ОПЕРАЦИОННЫХ СИСТЕМ. КЛАССИФИКАЦИЯ ПО.

  1. Вероятность перового события составляет 0,5, а второго и третьего 0,25. Какое количество информации мы получим после реализации одного из них?

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

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

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

-однопользовательские однозадачные с фоновой печатью , которые позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную, как правило, на вывод информации на печать. Это ускоряет работу при выдаче больших объёмов информации на печать;

-однопользовательские многозадачные , которые обеспечивают одному пользователю параллельную обработку нескольких задач. Например, к одному компьютеру можно подключить несколько принтеров, каждый из которых будет работать на "свою" задачу;

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

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

Базовое ПО включает в себя: операционные системы; оболочки; сетевые операционные системы.

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

Прикладное ПО – это комплекс программ для решения задач определённого класса конкретной предметной области. Прикладное ПО работает только при наличии системного ПО.

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

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

Инструментальное программное обеспечение состоит из:

Систем программирования,

Средств разработки и отладки программ.

Системы программирования - это комплекс программ, который облегчает работу программиста.

2. Формула Хартли

I = log 2 K, К = 1 / р (р-вероятность)
K = 1/0,5,I=1 бит

K=1/0,25,I = 2 бит

Билет

1. ОДНОПРОЦЕССОРНЫЕ И МНОГОПРОЦЕССОРНЫЕ ОС. КЛАССИФИКАЦИЯ МНОГОПРОЦЕССОРНЫХ ОС.

2. Сколько различных чисел можно закодировать с помощью 8 бит?

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

Однопроцессорные;

Многопроцессорные.

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

Поддержка мультипроцессирования является важным свойством операционных систем и приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорная обработка реализована в операционных системах: Linux, Solaris, Windows NT и др. Многопроцессорные операционные системы подразделяются:

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

– асимметричные – системы, в которых процессоры неравноправны, обычно существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор.

2. I=8 бит, K=2 I =2 8 =256 различных чисел.

Билет

1. КЛАССИФИКАЦИЯ ОС ПО ТИПУ АППАРАТУРЫ. КЛАССИФИКАЦИЯ МНОГОЗАДАЧНЫХ ОС

2. В коробке 32 карандаша, все карандаши разного цвета. Наугад вытащили красный. Какое количество информации при этом было получено?

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

Многозадачные операционные системы – системы, которые поддерживают параллельное выполнение нескольких программ в рамках одной вычислительной системы в один момент времени, например: UNIX, OS/2, Windows.

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

К многозадачным относятся операционные системы:

пакетной обработки

разделения времени

реального времени

2. Так как вытаскивание карандаша любого цвета из имеющихся в коробке 32 карандашей является равновероятным, то число возможных событий равно 32.

N = 32, i = ? N = 2 i , 32 = 25, i = 5 бит.

Билет

1. ПОНЯТИЕ СЕТЕВОЙ ОС, ВАРИАНТЫ ИХ ПОСТРОЕНИЯ. КЛАССИФИКАЦИЯ МНОГОЗАДАЧНЫХ ОС

  1. В коробке 50 шаров, из них 40 белых и 10 чёрных. Определить количество информации в сообщении о вытаскивании наугад белого шара и чёрного шара

1.Сетевая операционная система - операционная система со встроенными возможностями для работы в компьютерных сетях.

В сетевой операционной системе отдельной машины можно выделить несколько частей:

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

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

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

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

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

Примеры сетевых операционных систем:

Novell NetWare, LANtastic, Microsoft Windows (NT, XP, Vista, Seven), Различные UNIX системы, такие как Solaris, FreeBSD и др.

К многозадачным относятся операционные системы:

пакетной обработки – из программ, подлежащих выполнению, формируется пакет (набор) заданий, вводимых в ЭВМ и выполняемых в порядке очередности с возможным учетом приоритетности;

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

реального времени – системы, которые обеспечивают определенное гарантированное время ответа машины на запрос пользователя при управлении им внешними событиями, процессами или объектами по отношению к ЭВМ.

2. Вероятность вытаскивания белого шара
P1 = 40/50 = 0,8
Вероятность вытаскивания чёрного шара
P2 = 10/50 = 0,2
Количество информации о вытаскивании белого шара I1 = log2(1/0,8) = log21,25 = log1,25/log2 = 0,32 бит
Количество информации о вытаскивании чёрного шара I2 = log2(1/0,2) = log25 = log5/log2 = 2,32 бит
Ответ: 0,32 бит, 2,32 бит

Билет

1. ФАЙЛОВАЯ СИСТЕМА. ТИПЫ ФАЙЛОВ, АТРИБУТЫ ФАЙЛОВ

2. . В озере живут караси и окуни. Подсчитано, что карасей 1500, а окуней - 500. Сколько информации содержится в сообщениях о том, что рыбак поймал карася, окуня, поймал рыбу?

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

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

«Обыкновенный файл» - файл, позволяющий операции чтения, записи, перемещения внутри файла

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

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

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

READ ONLY- только для чтения, в файл запрещено писать, опер. сист - DOS, OS/2, Windows

SYSTEM – системный, критический для работы операционной системы файл, опер. сист. - DOS, OS/2, Windows

HIDDEN- скрытый, файл скрывается от показа, пока явно не указано обратное, опер.сист - DOS, OS/2, Windows

ARCHIVE- архивный (требующий архивации), файл изменён после резервного копирования или не был скопирован программами резервного копирования, опер. сист.- DOS, OS/2, Windows

SUID - Установка пользовательского ID, выполнение программы от имени владельца, опер.сист.- Unix-like

SGID- Установка группового ID, выполнение программы от имени группы (для каталогов: любой файл созданный в каталоге с установленным SGID, получит заданную группу-владельца), опер.сист.- Unix-like

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

2. События поимки карася или окуня не являются равновероятными, так как окуней в озере меньше, чем карасей.
Общее количество карасей и окуней в пруду 1500 + 500 = 2000.
Вероятность попадания на удочку карася
p1 = 1500/2000 = 0,75, окуня p2 – 500/2000 = 0,25.
I1 = log2(1/p1), I1 = log2(1/p2), где I1 и I2 – вероятности поймать карася и окуня соответственно.
I1 = log2(1 / 0,75) = 0,43 бит, I2 = log2(1 / 0,25) = 2 бит – количество информации в сообщении поймать карася и поймать окуня соответственно.
Количество информации в сообщении поймать рыбу (карася или окуня) рассчитывается по формуле Шеннона
I = - p1log2p1 - p2log2p2
I = - 0,75*log20,75 - 0,25*log20,25 = - 0,75*(log0,75/log2)-0,25*(log0,25/log2) =
= 0,604 бит = 0.6 бит.

Билет.

1. ПОНЯТИЕ ИНФОРМАЦИИ. ИЗМЕРЕНИЕ ИНФОРМАЦИИ. ЕДИНИЦЫ ИЗМЕРЕНИЯ ИНФОРМАЦИИ.

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

1. Информация – это знания или сведения о ком-либо или о чем-либо.

Информация – это сведения, которые можно собирать, хранить, передавать, обрабатывать, использовать.

Каждому символу в компьютере соответствует последовательность

из 8 нулей и единиц, называемая байтом:

1 байт = 8 битам

Количество информации при вероятностном подходе можно вычислить, пользуясь следующими формулами:

1). Формула Хартли.

I = log 2 N или 2 I = N,

где N - количество равновероятных событий (число возможных выборов),

I - количество информации.

2). Модифицированная формула Хартли.

и формула имеет вид

I = log 2 (1/p) = - log 2 p

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

3). Формула Шеннона.

H = S p i h i = - S p i log 2 p i

где pi - вероятность появления в сообщении i-го символа алфавита;

hi = log 2 1/p i = - log 2 p i - количество собственной информации, переносимой одним символом;

Н - среднее значением количества информации.

2. Количество информации вычисляется по формуле: 2i = N, где i - искомая величина, N - количество событий. Следовательно, 23 =8.

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

­ область использования ОС;

­ типы аппаратной платформы;

­ методы проектирования;

­ реализация внутренних алгоритмов управления ресурсами.

Классификация по области использования:

­ настольные ОС (Desktop Operating System) - ОС, ориентированные на работу отдельного пользователя в различных предметных областях (разработка программ, работа с документами и т.п.). Основными чертами настольных ОС являются универсальность и ориентированность на пользователя; представители – MacOS, Windows;

­ серверные ОС , использующиеся в серверах сетей как центральное звено, а также в качестве элементов систем управления; основной чертой серверных ОС является надежность; представители – семейство UNIX, Windows NT;

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

­ мобильные ОС – вариант развития настольных ОС на аппаратной платформе КПК; основные черты – удобство использования и компактность; представители PalmOS, Windows CE.

Безусловно, данная классификация не является абсолютно жесткой, т.е. одна и та же система может исполнять различные функции. Примером тому служит использование Linux с графической оболочкой в качестве настольной ОС или Windows NT в качестве серверной. Однако каждая ОС «сильна» только в своем классе.

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

­ ОС для платформы х86, однопроцессорные варианты;

­ ОС для платформы х86, многопроцессорные варианты;

­ ОС для RISC платформ;

­ ОС для мобильных устройств;

­ встраиваемые ОС (ОС таких устройств, как принтеры, ЦФК и т.п.).

По внутренним алгоритмам управления ресурсами можно создать несколько бинарных классификаций:

­ многозадачные /однозадачные ОС;

­ многопользовательские /однопользовательские ОС и т.п.

Сетевые и распределенные ОС

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

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

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

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

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

­ взаимно согласованный набор коммуникационных протоколов для организации взаимодействия процессов, выполняющихся на разных компьютерах;

­ разделения ресурсов этих компьютеров между пользователями сети;

­ подсистемы, организующие работу по этим протоколам.

В итоге ОС получает возможность предоставления своих ресурсов в общее пользование и/или потребления ресурсов других компьютеров. Под сетевой ОС будем понимать операционную систему отдельного компьютера, включающую средства для работы в сети. ОС Windows, начиная с NT, различные варианты ОС Unix (HP-UX компании Hewlett-Packard, Solaris компании Sun, FreeBSD и др.), различные варианты ОС Linux, ОС MacOS, ОС NetWare компании Novell являются сетевыми. Основные функциональные компоненты сетевой ОС показаны на рисунке 1.1.

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

Сетевые средства подразделяются на три компонента:

­ серверная часть ОС – средства предоставления локальных ресурсов и услуг в общее пользование;

­ клиентская часть ОС – средства запроса доступа к удаленным (т.е. принадлежащим другим компьютерам сети) ресурсам и услугам;

­ транспортные, или коммуникационные средства ОС – средства, совместно с коммуникационной системой обеспечивающие обмен сообщениями в сети.

Рис1.1 Основные функциональные компоненты сетевой ОС.

Правила взаимодействия компьютеров при передаче сообщений по сети фиксируются в коммуникационных протоколах (Ethernet, Token Ring, IP, IPX и пр.).

Упрощенная схема работы сетевых ОС иллюстрируется на рисунке 1.2. на примере взаимодействия двух компьютеров.

Рис1.2 Упрощенная схема работы сетевых ОС

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

Для компьютера 1 дисковое пространство диска 2 является запрашиваемым удаленным ресурсом, следовательно, запрос на этот ресурс формируется клиентской частью ОС1. ОС2 предоставляет ресурс, следовательно, запрос будет обрабатываться серверной частью ОС2.

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

Требования к современным ОС

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

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

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

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

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

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

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

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

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

­ количеству одновременно работающих пользователей: однопользовательские, многопользовательские;

­ числу процессов, одновременно выполняемых под управлением системы: однозадачные, многозадачные;

­ количеству поддерживаемых процессоров: однопроцессорные, многопроцессорные;

­ разрядности кода ОС: 8-разрядные, 16-разрядные, 32-разрядные, 64-разрядные;

­ типу интерфейса: командные (текстовые) и объектно-ориентированные (графические);

­ типу доступа пользователя к ЭВМ: с пакетной обработкой, с разделением времени, реального времени;

­ типу использования ресурсов: сетевые, локальные.

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

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

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

Четвертый признак подразделяет операционные системы на 8-, 16-, 32- и 64-разрядные. При этом подразумевается, что разрядность операционной системы не может превышать разрядности процессора.

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

Согласно шестому признаку ОС подразделяются на системы:

­ пакетной обработки , в которых из программ, подлежащих выполнению, формируется пакет (набор) заданий, вводимых в ЭВМ и выполняемых в порядке очередности с возможным учетом приоритетности;

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

­ реального времени , обеспечивающих определенное гарантированное время ответа машины на запрос пользователя с управлением им какими-либо внешними по отношению к ЭВМ событиями, процессами или объектами.

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

Контрольные вопросы

1. Какие основания являются наиболее существенными для построения классификации ОС?

2. Перечислите известную Вам классификацию ОС по области использования.

3. Какие существуют классы классификации ОС по типу аппаратной платформы?

4. Какие классификации ОС можно создать по внутренним алгоритмам управления ресурсами?

5. Расшифруйте термин «сетевая ОС».

6. Каково назначение сетевых ОС?

7. Что представляет собой распределенная ОС?

8. Какие средства для работы в сети должны включать сетевые операционные системы?

9. На какие компоненты подразделяются сетевые средства?

10. Какие требования предъявляются к современным ОС?

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

Операционные системы (ОС) классифицируют :

    по особенностям алгоритмов управления ресурсами – локальные и сетевые ОС. Локальные ОС управляют ресурсами отдельного компьютера. Сетевые ОС участвуют в управлении ресурсами сети;

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

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

    по возможности распараллеливания вычислений в рамках одной задачи - поддержка многонитевости . Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями – нитями;

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

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

    по ориентации на аппаратные средства - операционные системы персональных компьютеров , серверов , мейнфреймов , кластеров ;

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

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

    по структурной организации и концепциям, положенным в основу:

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

    по построению на базе объектно-ориентированного подхода ;

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

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

Структуру ОС составляют следующие модули :

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

    командный процессор - расшифровывает и исполняет команды пользователя, поступающие прежде всего через клавиатуру;

    драйверы периферийных устройств - программно обеспечивают согласованность работы этих устройств с процессором (каждое периферийное устройство обрабатывает информацию по-разному и в различном темпе);

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

В общем случае операционная система выполняет следующие четыре функции:

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

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

    реализует с той или иной степенью сложности принцип “виртуальной машины”, что позволяет группе программ использовать общие вычислительные ресурсы, например процессор (процессоры) и основную память;

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

    Обеспечивает работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т.д

    Предоставляет стандартный доступ к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.

    Предоставляет некоторый пользовательский интерфейс. Часть систем ограничивается командной строкой, в то время как другие на 90% состоят из средств интерфейса пользователя.

Более развитые ОС предоставляют также следующие возможности:

    Параллельное (точнее, псевдопараллельное, если машина имеет только 1 процессор) исполнение нескольких задач.

    Распределение ресурсов компьютера между задачами.

    Организация взаимодействия задач друг с другом.

    Взаимодействие пользовательских программ с нестандартными внешними устройствами.

    Организация межмашинного взаимодействия и разделения ресурсов.

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

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

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

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

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

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

Однозадачные и многозадачные операционные системы. По числу одновременно выполняемых задач операционные системы делятся на два класса:

однозадачные (например, MS DOS, MSX);

многозадачные (ОС ЕС, OS/2, Unix, ОС семейства Windows) и др.

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



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

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

Невытесняющая многозадачность (NetWare, Windows 3.x);

Вытесняющая многозадачность (Windows NT, OS/2, Unix).

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

В зависимости от областей использования многозадачные ОС подразделяются на три типа:

системы пакетной обработки (например, ОС ЕС);

системы с разделением времени (Unix, VMS, Windows, Linux);

системы реального времени (QNX, RT/11).

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

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

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

Системы реального времени (ОС РВ) применяются для управления различными техническими объектами (такими, как станок, спутник, научная экспериментальная установка) или технологическими процессами (гальваническая линия, доменный процесс и т.п.). Применяют ОС РВ и в банковском деле. Критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы – реактивностью. Среди наиболее известных ОС РВ для IBM PC – RTMX, AMX, OS-9000, FLEX OS, QNX и др. Среди перечисленных ОС наиболее полным набором инструментальных средств обладает ОС РВ QNX, которая выполняет 32-разрядные приложения и может работать совместно с ОС семейства Unix.

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

Многопользовательский и однопользовательский режимы. По числу одновременно работающих пользователей ОС могут быть разделены на однопользовательские (MS DOS, Windows 3.x) и многопользовательские (Unix, Windows NT, Windows XP, Linux).

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

Многопроцессорные и однопроцессорные системы. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки. В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.

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

Одним из важных признаков классификации ОС является деление их на сетевые и локальные.

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

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

Сетевая операционная система составляет основу любой вычислительной сети.

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

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

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

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

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

В сетевой операционной системе отдельной машины можно выделить несколько частей:

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

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

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

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

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

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

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

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

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

    Поддержка многозадачности (многопрограммности). По числу одновременно выполняемых задач ОС делятся на 2 класса: однопрограммные (однозадачные) – например, MS-DOS, MSX, и многопрограммные (многозадачные) – например, ОС ЕС ЭВМ, OS/360, OS/2, UNIX, Windows разных версий.

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

    Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся: на однопользовательские (MS-DOS, Windows 3х, ранние версии OS/2) и многопользовательские (UNIX, Windows NT/2000/2003/XP/Vista).

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

    Виды многопрограммной работы. Специфику ОС во многом определяет способ распределения времени между несколькими одновременно существующими в системе процессами (или потоками). По этому признаку можно выделить 2 группы алгоритмов: не вытесняющая многопрограммность (Windows3.x, NetWare) и вытесняющая многопрограммность (Windows 2000/2003/XP, OS/2, Unix).

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

    Многопроцессорная обработка. Важное свойство ОС – отсутствие или наличие средств поддержки многопроцессорной обработки. По этому признаку можно выделить ОС без поддержки мультипроцессирования (Windows 3.x, Windows 95) и с поддержкой мультипроцессирования (Solaris, OS/2, UNIX, Windows NT/2000/2003/XP).

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

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

    системы пакетной обработки (OS/360, OC EC);

    системы разделения времени (UNIX, VMS);

    системы реального времени (QNX, RT/11).

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

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

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

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

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

    Встроенные операционные системы. Управляют карманными компьютерами (lialm OS, Windows CE – Consumer Electronics – бытовая техника), мобильными телефонами, телевизорами, микроволновыми печами и т.п.

    Операционные системы для персональных компьютеров, например, Windows 9.x, Windows ХР, Linux, Mac OSX и др.

    Операционные системы мини-ЭВМ, например, RT-11 для PDP-11 – OC реального времени, RSX-11 M для PDP-11 – ОС разделения времени, UNIX для PDP-7.

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

    Серверные операционные системы, например, UNIX, Windows 2000, Linux. Область применения – ЛВС, региональные сети, Intranet, Internet.

    Кластерные операционные системы. Кластер – слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений и представляющихся пользователю единой системной, например, Windows 2000 Cluster Server, Windows 2008 Server, Sun Cluster (базовая ОС – Solaris).

Знакомство с архитектурой UNIX начнем с рассмотрения таких неотъемлимых для неё характеристических понятий, как стандартизация и многозадачность:

Стандартизация

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

Многозадачность

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

Два кита UNIX: файлы и процессы

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

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

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

Беглый взгляд на архитектуру UNIX

Презентация 2-02: беглый взгляд на архитектуру UNIX

Самый общий взляд на архитектуру UNIX позволяет увидеть двухуровневую модель системы, состоящую из пользовательской и системной части (ядра) (см. Рисунок 1.20, «Архитектура операционной системы UNIX»). Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы (процессы в пользовательской части операционной системы) от особенностей ее архитектуры. Ядро имеет набор услуг, предоставляемых прикладным программам посредством системных вызовов. Таким образом, в системе можно выделить два уровня привилегий: уровень системы (привиегии специального пользователя root) и уровень пользователя (привилегии всех остальных пользователей). Подробнее об управлении доступом рассказывается в следующих главах (Глава 3, Безопасность операционной системы UNIX).

Рисунок 1.20. Архитектура операционной системы UNIX

Важной частью системных программ являются демоны. Демон – это процесс, выполняющий опеределенную функцию в системе, который запускается при старте системы и не связан ни с одним пользовательским терминалом. Демоны предоставляют пользователям определенные сервисы, примерами которых могут служить системный журнал, веб-сервер и т.п.. Аналогом демонов в операционной системе Windows NT и более поздних версиях являются системные службы.

Презентация 2-03: ядро UNIX

Операционная система UNIX обладает классическим монолитным ядром (см. «Архитектура операционной системы»), в котором можно выделить следующие основные части:

Файловая подсистема

Доступ к структурам ядра осуществляется через файловый интерфейс.

Управление процессами

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

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

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

Рисунок 1.21. Ядро операционной системы UNIX

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

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