Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

• Операционные системы относятся к системному программному обеспечению.

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

• Для автоматизации труда программиста (кодера) стали разрабатывать специальные алгоритмические языки высокого уровня, а для автоматизации труда оператора вычислительного комплекса была разработана специальная управляющая программа, загрузив которую в память один раз оператор мог ее далее использовать неоднократно и более не обращаться к процедуре программирования ЭВМ через пульт оператора. Именно эту управляющую программу и стали называть операционной системой. Со временем на нее стали возлагать все больше задач, она стала расти в объеме.

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

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

• Основные функции операционных систем: 1) прием от пользователя (или от оператора системы) заданий, или команд, сформированных на соответствующем языке, и их обработка.

2) загрузка в оперативную память подлежащих исполнению программ;

3) распределение памяти, а в большинстве современных систем и организация виртуальной памяти;

4) запуск программы;

5) идентификация всех программ и данных;

6) прием и исполнение различных запросов от выполняющихся приложений;

7) обслуживание всех операций ввода-вывода;

8) обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД);

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

10) планирование и диспетчеризация задач;

11) организация механизмов обмена сообщениями и данными между выполняющимися программами;

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

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

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

15) удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени);

16) обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы;

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

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

2.

Понятие операционных сред и оболочек

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

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

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

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

• Помимо основной операционной среды в операционной системе организованы (путем эмуляции иной операционной среды) дополнительные программные среды.

• Параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что операционная система (в общем случае) может поддерживать несколько операционных сред.

• Операционная среда может включать несколько интерфейсов (оболочек): пользовательские и программные.

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

• Некоторые программы не заменяют «штатную оболочку», а дополняют ее или добавляют в нее новые функции.

3. Прерывания.

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

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

• Механизм прерываний реализуется аппаратно-программными средствами. Прерывание непременно влечет за собой изменение порядка выполнения команд процессором.

• Механизм обработки прерываний подразумевает выполнение шагов:

1) установление факта прерывания;

2) запоминание состояния прерванного процесса вычислений.

3) управление аппаратно передается на подпрограмму обработки прерывания;

4) сохранение информации о прерванной программе, которую не удалось спасти помощью аппаратуры;

5) собственно выполнение программы, связанной с обработкой прерывания;

6) восстановление информации, относящейся к прерванному процессу;

7) возврат на прерванную программу.

• Шаги 1-3 реализуются аппаратно, шаги 4-7 — программно.

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

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

• Наконец, существуют собственно программные прерывания.

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

• Программное управление специальными регистрами маски (маскирование сигнала прерывания) позволяет реализовать различные дисциплины обслуживания:

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

• с абсолютными приоритетами, то есть всегда обслуживается прерывание с наивысшим приоритетом.

• по принципу стека (последним пришел, первым обслужен).

4. Вычислительный процесс и его состояния, дескриптор процесса

• Как понятие процесс является определенным видом абстракции. Последовательный процесс, иногда называемый задачей (task), — это отдельная программа с ее данными, выполняющаяся на последовательном процессоре. Под последовательным мы понимаем такой процессор, в котором текущая команда выполняется после завершения предыдущей.

• Концепция процесса предполагает два аспекта: во-первых, он является носителем данных и, во-вторых, он собственно и выполняет операции, связанные с обработкой этих данных.

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

• Супервизор – центральный управляющий модуль ОС.

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

• Процесс может находиться в активном и пассивном состоянии. В активном состоянии процесс может конкурировать за ресурсы вычислительной системы, а в пассивном состоянии он известен системе, но за ресурсы не конкурирует.

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

• выполнения — все затребованные процессом ресурсы выделены;

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

• блокирования, или ожидания, — затребованные ресурсы не могут быть предоставлены, или не завершена операция ввода-вывода.

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

• идентификатор процесса;

• тип (класс) процесса;

• приоритет процесса,

• переменную состояния процесса;

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

• информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться;

• место (или его адрес) для организации общения с другими процессами;

• параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры);

• адрес задачи на диске в ее исходном состоянии и адрес на диске, куда она выгружается из оперативной памяти, если ее вытесняет другая задача.

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

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

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

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

• Мультипрограммирование стало применяться все чаще и шире в 60-х годах XX века

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

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

• Организовать параллельное выполнение нескольких задач можно разными способами. Если на каждую задачу поочередно выделяется некий квант времени, после чего процессор передается другой задаче, готовой к продолжению вычислений, то такой режим принято называть режимом разделения времени. Системы разделения времени активно развивались в 60-70 годы, и сам термин означал именно мультитерминальную и мультипрограммную систему.

6. Виды ресурсов и возможности их разделения

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

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

• Основные виды ресурсов вычислительной системы:

• 1. Процессор, точнее — процессорное время. Процессорное время делится попеременно (параллельно).

• 2. Память. Оперативная память может делиться и одновременно, и попеременно. Внешняя память может разделяться и одновременно, а доступ к ней всегда разделяется попеременно.

• 3. Внешние устройства, как правило, могут разделяемыми и выделенными.

• 4. Программные модули (прежде всего, системные). Могут быть однократно и многократно используемыми. Однократно используемые могут быть правильно выполнены только один раз, являются неделимым ресурсом. Повторно используемые программные модули могут быть непривилегированными, привилегированными и реентерабельными.

• Привилегированные программные модули работают при отключенной системе прерываний. Непривилегированные программные модули могут быть прерваны во время своей работы (нельзя считать разделяемыми). В реентерабельных модулях обеспечено сохранение промежуточных результатов для прерываемых вычислений.

• Существуют еще повторно входимые программные модули. Они состоят привилегированных секций.

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

7. Процессы и потоки.

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

• Термин «мультизадачный режим работы» стали применять как раз для тех случаев, когда необходимо обеспечить взаимодействие между вычислениями.

• Понятие процесса было введено для реализации идей мультипрограммирования.

• Для реализации мультизадачности было введено понятие легковесные (thin) процессы, или, как их теперь называют, потоки выполнения, нити, или треды (threads).

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

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

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

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

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

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

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

• По способу взаимодействия с компьютером ОС разделяют на диалоговые системы и системы пакетной обработки.

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

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

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





Дата публикования: 2014-12-08; Прочитано: 2744 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...