Классификация операционных систем. Выше мы уже дали определение операционной системы (ОС)

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

' Реентерабельный драйвер может управлять параллельно несколькими однотипными устройствами — более подробно см. в главе 5.


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

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

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

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

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

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


48_____________________________________________ Глава 1, Основные понятия

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

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

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


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

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

1. Что такое операционная система? Перечислите основные функции операци­
онных систем.

2. Что означает термин «авторизация»? Что означает термин «аутентификация»?
Какая из этих операций выполняется раньше и почему?

3. Что такое операционная среда? Какие основные, наиболее известные опера­
ционные среды вы можете перечислить?

4. Что такое прерывание? Какие шаги выполняет система прерываний при воз­
никновении запроса на прерывание? Какие бывают прерывания?

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

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

7. Как можно и как следует толковать процесс — одно из основных понятий опе­
рационных систем? Объясните, в чем заключается различие между такими
понятиями, как «процесс» и «задача»?

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

9. Объясните значения терминов «задача», «процесс», «поток выполнения»? Как они между собой соотносятся?

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

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

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

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

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









Дата добавления: 2016-09-20; просмотров: 1700;


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

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.