Обзор операционных систем

ГЛАВА 2

Обзор операционных систем

2.2. Эволюция операционных систем 2.3. Основные достижения 2.4. Характеристики современных операционных систем

Операционная система как интерфейс между пользователем и компьютером

   

Операционная система как диспетчер ресурсов

Компьютер представляет собой набор ресурсов, поддерживающих выполне­ние задач накопления, перемещения, хранения и обработки данных, а также… Можно ли сказать, что именно операционная система управляет перемещением,… • Функции операционной системы работают точно так же, как и все остальное программное обеспечение; т.е. они…

Возможность развития операционной системы

Большинство операционных систем постоянно развиваются. Происходит это в силу следующих причин. • Обновление и возникновение новых видов аппаратного обеспечения. На­ пример,…  

ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ

 

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

 

Последовательная обработка данных

В самых первых компьютерах, в период от конца 40-х до средины 50-х го­дов, программы непосредственно взаимодействовали с аппаратным обеспечением… Ранние системы имели две основные проблемы. •Расписание работы. На большинстве машин нужно было предварительно заказать машинное время, записавшись в специальный…

Простые пакетные системы

Чтобы повысить эффективность работы, была предложена концепция пакетной операционной системы. Похоже, первые пакетные операционные системы (и вообще… Главная идея, лежащая в основе простых пакетных схем обработки, состоит в… Чтобы понять работу этой схемы, рассмотрим ее с точки зрения монитора и процессора.

Многозадачные пакетные системы

Процессору часто приходилось простаивать даже при автоматическом вы­полнении заданий под управлением простой пакетной операционной системы. Проблема…   Чтение одной записи из файла 0.0015 s

ОСНОВНЫЕ ДОСТИЖЕНИЯ

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

Процессы

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

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

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

Защита информации и безопасность

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

Совместное использование ресурсов и управление ими

• Равноправность. Обычно желательно, чтобы всем процессам, претендующим на какой-то определенный ресурс, предоставлялся к нему одинаковый доступ. В… • Дифференциация отклика. С другой стороны, может понадобиться, чтобы… • Эффективность. Операционная система должна повышать пропускную способность системы, сводить к минимуму время ее…

Структура системы

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

Уровень Название Объекты Пример операций

13 Оболочка Пользовательская среда про- Инструкции командного

граммирования языка оболочки

12 Пользовательские Пользовательские процессы Завершение процесса,

процессы приостановка, возобновле-

ние работы

11 Каталоги Каталоги Создание, удаление,

подключение, поиск

10 Устройства Внешние устройства (принтер, Открытие, закрытие,

монитор, клавиатура) чтение, запись

9 Файловая Файлы Создание, удаление,

система открытие, закрытие, чте-

ние, запись

8 Коммуникации Конвейеры Создание, удаление,

открытие, закрытие, чтение, запись

7 Виртуальная Сегменты, страницы Чтение, запись, выборка

память

6 Локальная вто- Блоки данных, каналы Чтение, запись, распреде-

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

5 Примитивные Примитивные процессы, се- Приостановка, возобновле-

процессы мафоры, список процессов ние выполнения, ожидание

и передача сигнала

4 Прерывания Программы обработки пре- Вызов, маскирование,

рываний повтор

3 Процедуры Процедуры, стеки вызова, Вызов, возврат

дисплеи3

2 . Набор команд Стек вычисления, интерпрета- Загрузка, сохранение,

Тор микропрограмм, данные сложение, вычитание,

ветвление

1 Электронные Регистры, шлюзы, шины и т.п. Очистка, пересылка,

схемы активация

 

.

ХАРАКТЕРИСТИКИ СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ

Год за годом происходит эволюция структуры и возможностей операцион­ных систем. В последнее время в состав новых операционных систем и новых версий… Неуклонный рост требований к операционным системам приводит не только к… • Архитектура микроядра.

ОБЗОР ОПЕРАЦИОННОЙ СИСТЕМЫ WINDOWS 2000

 

В этом разделе изложены основные особенности операционной системы Win­dows 2000. Описание операционной системы UNIX представлено в следующем разде­ле. Для краткости вместо Windows 2000 мы будем употреблять название W2K.

История возникновения

Операционная система W2K появилась в результате развития операционной системы под названием MS-DOS (или PC-DOS), разработанной фирмой Microsoft для… Когда фирма IBM начала выпускать персональные компьютеры PC XT с жест­ким… Когда в 1984 году фирма IBM объявила о выпуске компьютера PC AT, Mi­crosoft выставила на рынок программных продуктов…

Однопользовательская многозадачность

Операционная система W2K является типичным представителем операци­онных систем для микрокомпьютеров (в качестве других примеров можно при­вести OS/2… Одна из наиболее примечательных особенностей этих операционных систем состоит… 1. Открыть программу для создания изображений.

Архитектура

На рис. 2.13, взятом из [SOLO98b], представлена общая структура операци­онной системы W2K. Модульная структура этой системы делает ее довольно… Как и прочие операционные системы, W2K различает прикладные про­граммы и…  

Организация операционной системы

В операционной системе W2K трудно однозначно выделить микроядро. Вместо этого W2K имеет структуру, которую фирма Microsoft называет модифицированной… Одной из целей создателей операционной системы W2K была ее переноси­мость,… • Уровень аппаратных абстракций. На этом уровне формируется отображение между общими командами и ответными сигналами…

Пользовательские процессы

Операционная система W2K поддерживает четыре основных типа пользова­тельских процессов. • Специальные процессы системной поддержки. К таким процессам относят­ся… • Серверные процессы. Другие сервисы W2K, такие, как журнал регистра­ции событий.

Модель клиент/сервер

Структура исполнительной системы, защищенных подсистем и прило­жений выполнена в соответствии с вычислительной моделью кли­ент/сервер — общепринятой… Каждая подсистема среды и каждая исполнительная служебная подсистема… К преимуществам модели клиент/сервер можно отнести следующие.8

Потоки и симметричная многопроцессорность

Возможности поддержки потоков и поддержки симметричной многопроцес­сорности, о которых мы говорили в разделе 2.4, — две важные характеристики… • Служебные программы операционной системы могут выполняться на любом из… • Серверные процессы могут использовать несколько потоков при одновременной обработке запросов, поступающих от разных…

Объекты Windows 2000

Устройство операционной системы W2K в значительной мере основано на объектно-ориентированных концепциях. Этот подход способствует совместному… • Инкапсуляция.Объект состоит из одного или нескольких полей данных… • Классы объектов и экземпляры.Класс объекта представляет собой шаблон, в котором перечислены его атрибуты и сервисы,…

ТРАДИЦИОННЫЕ СИСТЕМЫ UNIX

Историческая справка

Изначально операционная система UNIX была разработана компанией Bell Labs и запущена в эксплуатацию в 1970 году на системе PDP-7. Некоторые… В результате разработки системы UNIX в компании Bell Labs, а впоследст­вии — и… Ранние версии UNIX были очень популярны в пределах компании Bell Labs. В 1974 году система UNIX была впервые описана в…

Описание

Рис. 2.15 дает общее представление об архитектуре системы UNIX. Лежащее в основе аппаратное обеспечение окружено программным обеспечением…  

СОВРЕМЕННЫЕ СИСТЕМЫ UNIX

В процессе развития операционной системы UNIX появилось много ее реа­лизаций, каждая из них обладала своими полезными возможностями. Впослед­ствии… А теперь перейдем к рассмотрению некоторых примеров современных сис­тем… System V Release 4 (SVR4)

Solaris 2.x

BSD

Важную роль в развитии теории устройства операционных систем сыг­рала серия версий системы UNIX, разработанных в Калифорнийском универ­ситете. Серия 4.xBSD широко используется в академических организациях; она послужила основой для создания многих коммерческих продуктов UNIX.

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

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

Linux

История возникновения

Залогом успеха системы Linux является то, что она бесплатно распростра­няется при поддержке Фонда бесплатно распространяемых программ (Free… Linux используется не только многими отдельными программистами; она проникла и…

Модульная структура

Ядра большинства версий операционной системы UNIX являются монолит­ными. Напомним, что монолитное ядро — это ядро, которое виртуально включа­ет в… Для решения этой проблемы система Linux организована в виде набора… • Динамическое связывание. Любой модуль ядра может быть загружен в па­мять и подсоединен к ядру в то время, когда само…

РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА

Написано много книг по операционным системам, в которых также описы­вается и архитектура компьютера. В [SILB00], [NUTT00] и [CROW97] речь идет об основных принципах (с использованием результатов исследований нескольких важнейших операционных систем).

В [VAHA96] рассматривается внутреннее устройство операционной системы UNIX, приводится сравнительный анализ нескольких ее вариантов. Полное и точное описание версии UNIX SVR4 со множеством технических подробностей представлено в [GOOD94]. Настоятельно рекомендуем популярное в академиче­ских кругах издание по UNIX 4.4BSD [MCKU96], вышедшее в Беркли. Собрание статей по операционной системе UNIX, представляющее большой интерес, было опубликовано в июле-августе 1987 года в журнале Bell System Technical Journal и в октябрьском издании 1984 года журнала AT&T Bell Laboratories Technical Journal. Эти статьи были переизданы [АТТ87а, АТТ87Ь]. В [GRAH95] дается в сжатой форме полное описание операционной системы Solaris 2.x.

О внутреннем устройстве операционной системы Linux подробно рассказано в [ВЕСК98] и [CARD97].

О внутреннем устройстве операционной системы Windows 2000 пока что написано немного. Прекрасное описание внутреннего устройства Windows NT можно найти в [SOLO98].

АТТ87а AT&T. UNIX System Readings and Examples. Volume 1, — Englewood
: Cliffs, NJ: Prentice Hall, 1987. '•

ATT87b AT&T. UNIX System Readings and Examples. Volume II. — Englewood Cliffs, NJ: Prentice Hall, 1987.

BECK98 Beck M. et al. Linux Kernel Internals. — Reading, MA: Addison-Wesley, 1998.

CARD97 Card R., Dumas E., Mevel F. The Linux Kernel Book. — New York: Wiley, 1997.

CROW97 Crowley C. Operating Systems: A Design-Oriented Approach. — Chicago: Ir-win, 1997.

GOOD94 Goodheart В., Сох J. The Magic Garden Explained: The Internals of UNIX System V Release 4. — Englewood Cliffs, NJ: Prentice Hall, 1994.

GRAH95 Graham J. Solaris 2.x: Internals and Architecture. — New York: McGraw-Hill, 1995.

MCKU96 McKusick M., Bostic K., Karels M., Quartermain J. The Design and Imple­mentation of the 4.4BSD UNIX Operating System. — Reading, MA: Addison-Wesley, 1996.

NUTTOO Nutt G. Operating Systems: A Modern Perspective. — Reading, MA: Addi­son-Wesley, 2000.

SILBOO Silberschatz A., Galvin P., Gagne G. Applied Operating System Concepts. — I
Reading, MA: Addison-Wesley, 2000.

SOLO98 Solomon D. Inside Windows NT. — Redmond, WA: Microsoft Press, 1998. j

VAHA96 Vahalia U. UNIX Internals: The New Frontiers. — Upper Saddle River, NJ: I
Prentice Hall, 1996.

ЗАДАЧИ

2.1.Предположим, у нас есть многозадачный компьютер, в котором каждое задание имеет идентичные характеристики. В течение цикла вычисления одного задания
Т половину времени занимает ввод-вывод, а вторую половину — работа процес­сора. Для выполнения каждого задания требуется N циклов. Допустим, что для
планирования используется простой алгоритм циклического обслуживания и что
ввод-вывод может выполняться одновременно с работой процессора. Определите
значения следующих величин.

• Реальное время, затрачиваемое на выполнение задания.

• Среднее количество заданий, которое выполняется в течение одного цикла Т.

• Доля времени, в течение которого процессор активен (не находится в режи­ме ожидания).

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

а. В течение первой половины периода выполняется ввод-вывод, а в течение второй — работа процессора.

б. В течение первой и четвертой четвертей выполняется ввод-вывод, а в течение второй и третьей — работа процессора.

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

2.3. В компьютере есть кэш, основная память и диск, который используется для ор­ганизации виртуальной памяти. Если слово, к которому производится обращение, находится в кэше, для доступа к нему требуется 20 ns. Если это слово находится в основной памяти, но отсутствует в кэше, то оно сначала загружается в
кэш за 60 ns, а затем к нему производится обращение. Если нужного слова нет в
основной памяти, то чтобы найти его на диске и загрузить в основную память,
требуется 12 ms; еще 60 ns нужны, чтобы скопировать его в кэш, и только затем
к этому слову производится обращение. Результативность обращений к кэшу
равна 0.9, а результативность обращений к основной памяти — 0.6. Найдите
среднее время, которое требуется для доступа системы к нужному ей слову.

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

2.5. В чем заключается предназначение системных вызовов и как они соотносятся с опе­рационной системой и с концепцией работы в режиме ядра и режиме пользователя?

2.6.Одним из основных модулей ядра операционной системы OS/390 для мейнфреймов IBM является System Resource Manager (SRM). Этот модуль распределяет
ресурсы между адресными пространствами (процессами). Именно этот модуль
делает операционную систему OS/390 одной из самых интеллектуальных. Ника­кие другие операционные системы для мейнфреймов, а тем более другие виды
операционных систем не могут выполнять функций, аналогичных тем, которые выполняет модуль SRM. В концепцию ресурсов входят: процессор, реальная память и каналы ввода-вывода. SRM собирает статистику относительно исполь­зования процессора, каналов и различных ключевых структур данных; на осно­ве анализа собранной статистики обеспечивается оптимальная производитель­ность системы. Может производиться дополнительная настройка модуля для различных целей, в соответствии с которыми модуль динамически изменяет конфигурацию и характеристики производительности выполнения заданий. Мо­дуль SRM, в свою очередь, составляет отчеты, на основании которых подготов­ленный оператор может улучшить производительность и изменить настройку системы с целью улучшения обслуживания клиентов.

В этой задаче идет речь об одном из видов деятельности модуля SRM. Реальная па­мять подразделяется на блоки одинакового размера, которые называются кадрами. Компьютер может содержать многие тысячи кадров, в каждом из которых может находиться блок виртуальной памяти, называющийся страницей. Управление к мо­дулю SRM переходит с частотой примерно 20 раз в секунду; при этом происходит проверка каждой из страниц памяти. Если данная страница не запрашивалась и не изменялась, показания счетчика увеличиваются на 1. Время от времени модуль SRM усредняет эти числа и определяет среднее время, в течение которого система не ис­пользует данную страницу кадра памяти. Для чего можно использовать эти данные, и что для этого должен предпринять модуль SRM?

 


1 Краткое рассмотрение страничной организации памяти приведено в последую­щих разделах данной главы; более подробно этот материал изложен в главе 7, "Управление памятью".

 

2 Заштрихованная область представляет аппаратное обеспечение

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

5 Фирме IBM удалось собственными усилиями разработать операционную систему OS/2. Как и Windows NT, OS/2 Warp является современной многозадачной многопоточной операционной системой.

6 Только 16-битовые приложения OS/2. — Прим. ред

7 Здесь и в предыдущем пункте имеются в виду только 16-битовые приложения OS/2.

8 Подробнее об этой модели в приложении к W2K можно узнать, например, из кни­ги Оберг Р. Технология СОМ+. Основы и программирование. — М.: Издательский дом "Вильяме", 2000

9 Более полное генеалогическое дерево приведено в [MCKU96].