русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 1537; Нарушение авторских прав


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

' Реентерабельный драйвер может управлять параллельно несколькими однотипными устройствами — более подробно см. в главе 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. Что такое привилегированный программный модуль? Почему нельзя создать
мультипрограммную операционную систему, в которой бы не было привиле­
гированных программных модулей?




<== предыдущая лекция | следующая лекция ==>
И возможности их разделения | Глава 2. Управление задачами


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.566 сек.