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


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

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

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

По режиму обработки задач различают ОС, обеспечивающие однопрограммный и мультипрограммный режимы. Под мультипрограммированием понимается спо­соб организации вычислений, когда на однопроцессорной вычислительной сис­теме создается видимость одновременного выполнения нескольких программ. Любая задержка в решении программы (например, для осуществления операций ввода/вывода данных) используется для выполнения других (таких же, либо ме­нее важных) программ. Иногда при этом говорят о мультизадачном режиме. При этом, вообще говоря, мультипрограммный и мультизадачный режимы – это не синонимы, хотя и близкие понятия. Основное принципиальное отличие в этих терминах заключается в том, что мультипрограммный режим обеспечивает па­раллельное выполнение нескольких приложений и при этом программисты, соз­дающие эти программы, не должны заботиться о механизмах организации их параллельной работы. Эти функции берет на себя сама ОС; именно она распре­деляет между выполняющимися приложениями ресурсы вычислительной систе­мы, осуществляет необходимую синхронизацию вычислений и взаимодействие. Мультизадачный режим, наоборот, предполагает, что забота о параллельном вы­полнении и взаимодействии приложений ложится как раз на прикладных про­граммистов. В современной технической и, тем более, научно-популярной лите­ратуре об этом различии часто забывают, тем самым внося некоторую путаницу. Можно, однако, заметить, что современные ОС для ПК реализуют и мультипро­граммный, и мультизадачный режимы.

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

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

По основному архитектурному принципу ОС разделяются на микроядерные и монолитные. В некоторой степени это разделение тоже условно, однако можно в качестве яркого примера микроядерной ОС привести ОСРВ QNX, тогда как в качестве монолитной можно назвать Windows 95/98 или ОС Linux. Ядро ОС Windows мы не можем изменить, нам не доступны его исходные коды и у нас нет программы для сборки (компиляции) этого ядра. А вот в случае с Linux мы можем сами собрать ядро, которое нам необходимо, включив в него те необходимые про­граммные модули и драйверы, которые мы считаем целесообразным включить именно в ядро (а не обращаться к ним из ядра).

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

Вопросы для проверки

1 Объясните, в чём заключается различие между такими понятиями, как про­цесс и задача.

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

3 Объясните значения следующих терминов: task (задача), process (процесс), thread (поток, нить). Как они между собой соотносятся?

4 Для чего каждая задача получает соответствующий дескриптор? Какие поля, как правило, содержатся в дескрипторе процесса (задачи)? Что такое «кон­текст задачи»?

5 Объясните понятие ресурса. Почему понятие ресурса является одним из фун­даментальных при рассмотрении ОС? Какие виды и типы ресурсов вы знаете?

6 Как вы считаете: сколько и каких списков дескрипторов задач может быть в системе? От чего должно зависеть это число?

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

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

9 В чём заключается различие между повторно-входимыми (re-entrance) и по­вторно-прерываемыми (re-enterable) программными модулями? Как они реа­лизуются?

10 Что такое привилегированный программный модуль? Почему нельзя создать мультипрограммную ОС, в которой бы не было привилегированных программ­ных модулей?

 



Дата добавления: 2022-02-05; просмотров: 234;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.