Что не входит в состав операционной системы драйверы интерфейс ядро эл таблицы
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Что такое ядро операционной системы
Основные функции, которые выполняет ядро:
Теперь давайте разберемся подробнее в этих функциях ядра.
Функции ядра в операционной системе
Управление процессами
Создание, выполнение и завершение процессов выполняются внутри системы всякий раз, когда система находится во включенном состоянии (режиме ON). Процесс содержит всю информацию о задаче, которую необходимо выполнить. Таким образом, для выполнения любой задачи внутри системы создается процесс. В то же время существует множество процессов, которые находятся в активном состоянии внутри системы. Управление всеми этими процессами очень важно для предупреждения тупиковых ситуаций и для правильного функционирования системы, и оно осуществляется ядром.
Управление памятью
Всякий раз, когда процесс создается и выполняется, он занимает память, и когда он завершается, память должна быть освобождена и может быть использована снова. Но память должна быть обработана кем-то, чтобы освобожденная память могла быть снова назначена новым процессам. Эта задача также выполняется ядром. Ядро отслеживает, какая часть памяти в данный момент выделена и какая часть доступна для выделения другим процессам.
Управление устройствами
Ядро также управляет всеми различными устройствами, подключенными к системе, такими как устройства ввода и вывода и т. д.
Обработка прерываний
При выполнении процессов возникают условия, при которых сначала необходимо решить задачи с большим приоритетом. В этих случаях ядро должно прерывать выполнение текущего процесса и обрабатывать задачи с большим приоритетом, которые были получены в промежутке.
Операции ввода/вывода
Поскольку ядро управляет всеми подключенными к нему устройствами, оно также отвечает за обработку всех видов входных и выходных данных, которыми обмениваются эти устройства. Таким образом, вся информация, которую система получает от пользователя, и все выходные данные, которые пользователь получает через различные приложения, обрабатываются ядром.
Типы ядер в операционной системе
Ядро подразделяется на два основных типа:
Существует еще один тип ядра, который является комбинацией этих двух типов ядер и известен как гибридное ядро. Рассмотрим каждый из них вкратце.
Монолитное Ядро
В этом типе архитектуры ядра все функции, такие как управление процессами, управление памятью, обработка прерываний и т. д. выполняются в пространстве ядра.Монолитные ядра сначала состояли только из одного модуля, и этот модуль отвечал за все функции, которые выполнялись ядром. Это увеличило производительность ОС, так как все функции присутствовали внутри одного модуля, но это также привело к серьезным недостаткам, таким как большой размер ядра, очень низкая надежность, потому что даже если одна функция ядра отказала, это привело к отказу всей программы ядра и плохому обслуживанию, по той же причине. Таким образом, для повышения производительности системы был применен модульный подход в монолитных ядрах, в которых каждая функция присутствовала в отдельном модуле внутри пространства ядра. Таким образом, для исправления любых ошибок или в случае сбоя, только этот конкретный модуль был выгружен и загружен после исправления.
Микроядра
В этом типе архитектуры ядра основные пользовательские службы, такие как управление драйверами устройств, управление стеком протоколов, управление файловой системой и управление графикой, присутствуют в пространстве пользователя, а остальные функции управление памятью, управление процессами присутствует внутри пространства ядра. Таким образом, всякий раз, когда система имеет потребность в услугах, присутствующих в пространстве ядра, ОС переключается в режим ядра, а для служб пользовательского уровня она переключается в режим пользователя. Этот тип архитектуры ядра уменьшает размер ядра, но скорость выполнения процессов и предоставления других услуг значительно ниже, чем у монолитных ядер.
Гибридное Ядро
Для наилучшей производительности системы нам требуется как высокая скорость, так и малый размер ядра, чтобы наша система могла иметь максимальную эффективность. Поэтому для решения этой задачи был разработан новый тип ядра, который представлял собой комбинацию монолитного ядра и микроядра. Этот тип ядра известен как гибридное ядро. Такой тип архитектуры используется практически во всех системах, которые производятся в настоящее время.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Введение в операционные системы
Операционная система (operating system ) – комплекс программ, предоставляющий пользователю удобную среду для работы с компьютерным оборудованием.
Операционная система позволяет запускать пользовательские программы; управляет всеми ресурсами компьютерной системы – процессором (процессорами), оперативной памятью, устройствами ввода вывода; обеспечивает долговременное хранение данных в виде файлов на устройствах внешней памяти; предоставляет доступ к компьютерным сетям.
Для более полного понимания роли операционной системы рассмотрим составные компоненты любой вычислительной системы (рис.1.1).
Взаимодействие всех программ с операционной системой осуществляется при помощи системных вызовов ( system calls) – запросов программ на выполнение операционной системой необходимых действий. Набор системных вызовов образует API – Application Programming Interface ( интерфейс прикладного программирования).
Далее рассмотрим, какие функции должны выполнять современные операционные системы.
Функции операционной системы
К основным функциям, выполняемым операционными системами, можно отнести:
Структура операционной системы
Перед изучением структуры операционных систем следует рассмотреть режимы работы процессоров.
Современные процессоры имеют минимум два режима работы – привилегированный (supervisor mode) и пользовательский (user mode).
Отличие между ними заключается в том, что в пользовательском режиме недоступны команды процессора, связанные с управлением аппаратным обеспечением, защитой оперативной памяти, переключением режимов работы процессора. В привилегированном режиме процессор может выполнять все возможные команды.
Приложения, выполняемые в пользовательском режиме, не могут напрямую обращаться к адресным пространствам друг друга – только посредством системных вызовов.
Все компоненты операционной системы можно разделить на две группы – работающие в привилегированном режиме и работающие в пользовательском режиме, причем состав этих групп меняется от системы к системе.
Основным компонентом операционной системы является ядро (kernel). Функции ядра могут существенно отличаться в разных системах; но во всех системах ядро работает в привилегированном режиме (который часто называется режим ядра, kernel mode).
Термин «ядро» также используется в разных смыслах. Например, в Windows термин «ядро» (NTOS kernel) обозначает совокупность двух компонентов – исполнительной системы (executive layer) и собственно ядра (kernel layer) [12].
Существует два основных вида ядер – монолитные ядра (monolithic kernel) и микроядра (microkernel). В монолитном ядре реализуются все основные функции операционной системы, и оно является, по сути, единой программой, представляющей собой совокупность процедур [6]. В микроядре остается лишь минимум функций, который должен быть реализован в привилегированном режиме: планирование потоков, обработка прерываний, межпроцессное взаимодействие. Остальные функции операционной системы по управлению приложениями, памятью, безопасностью и пр. реализуются в виде отдельных модулей в пользовательском режиме.
Ядра, которые занимают промежуточные положение между монолитными и микроядрами, называют гибридными (hybrid kernel).
Примеры различных типов ядер:
Обсуждение того, к какому типу относится ядро Windows NT, приведено в [5; 2]. В [2] говорится о том, что Windows NT имеет монолитное ядро, однако, поскольку в Windows NT имеется несколько ключевых компонентов, работающих в пользовательском режиме (например, подсистемы окружения и системные процессы – см. Лекцию 4 «Архитектура Windows»), то относить Windows NT к истинно монолитным ядрам нельзя, скорее к гибридным.
Кроме ядра в привилегированном режиме (в большинстве операционных систем) работают драйверы (driver) – программные модули, управляющие устройствами.
В состав операционной системы также входят:
Пользовательские оболочки реализуют один из двух основных видов пользовательского интерфейса:
Пример реализации текстового интерфейса в Windows – интерпретатор командной строки cmd.exe; пример графического интерфейса – Проводник Windows (explorer.exe).
Классификация операционных систем
Классификацию операционных систем можно осуществлять несколькими способами.
Требования к операционным системам
Основное требование, предъявляемое к современным операционным системам – выполнение функций, перечисленных выше в параграфе «Функции операционных систем». Кроме этого очевидного требования существуют другие, часто не менее важные [3]:
Резюме
В этой лекции приведено определение операционной системы, представлены виды программного обеспечения, рассмотрены функции и структура операционной системы. Особое внимание уделено понятию «ядра». Также приведены различные способы классификации операционных систем и требования, предъявляемые к современным операционным системам.
В следующей лекции будет представлен обзор операционных систем Microsoft Windows.
Тест с ответами по дисциплине Операционные системы
Какие ОС называются мультипрограммны ми
1. обеспечивающие одновременную работу нескольких пользователей
2. поддерживающие сетевую работу компьютеров
+3. обеспечивающие запуск одновременно нескольких программ
4. состоящие более чем из одной программы
Какие существуют способы реализации ядра системы?
+1. многоуровневая (многослойная) организация
+2. микроядерная организация
3. реализация распределеннная
4. монолитная организация
Что обычно входит в состав ядра ОС
+1. высокоуровневые диспетчеры ресурсов
+2. аппаратная поддержка функций ОС процессором
+ 3. базовые исполнительные модули
+ 4. набор системных API-функций
Какие особенности характерны для современных универсальных операционных систем?
+ 1. поддержка многозадачности
+ 2. поддержка сетевых функций
+ 3. обеспечение безопасности и защиты данных
4. предоставление большого набора системных функций разработчикам приложений
Какие утверждения относительно понятия «API-функция» являются правильными?
+ 1. API-функции определяют прикладной программный интерфейс
+ 2. API-функции используются при разработке приложений для доступа к ресурсам компьютера
3. API-функции реализуют самый нижний уровень ядра системы
4. API-функции — это набор аппаратно реализованных функций системы
Какие особенности характерны для ОС Unix
+ 1. открытость и доступность исходного кода
2. ориентация на использование оконного графического интерфейса
+ 3. использование языка высокого уровня С
+ 4. возможность достаточно легкого перехода на другие аппаратные платформы
Какие типы операционных систем используются наиболее часто в настоящее время?
+ 1. системы семейства Windows
+ 2. системы семейства Unix/Linux
3. системы семейства MS DOS
4. системы семейства IBM OS 360/370
Какие задачи необходимо решать при создании мультипрограммны х ОС
+ 1. защита кода и данных разных приложений, размещенных вместе в основной памяти
+ 2. централизованное управление ресурсами со стороны ОС
+ 3. переключение процессора с одного приложения на другое
4. необходимость размещения в основной памяти кода и данных сразу многих приложений
Какое соотношение между используемыми на СЕРВЕРАХ операционными системами сложилось в настоящее время?
+ 1. примерно поровну используются системы семейств Windows и Unix/Linux
2. около 10 % — системы семейства Windows, около 90 % — системы смейства Unix/Linux
3. около 90 % — системы семейства Windows, около 10 % — системы семейства Unix/Linux
4. около 30 % — системы семейства Windows, около 30 % — системы семейства Unix/Linux, около 40 % — другие системы
Какие утверждения относительно понятия «Ядро операционной системы» являются правильными?
+ 1. ядро реализует наиболее важные функции ОС
+ 2. подпрограммы ядра выполняются в привилегированно м режиме работы процессора
3. ядро в сложных ОС может строиться по многоуровневому принципу
4. ядро всегда реализуется на аппаратном уровне
Какие сообщения возникают при нажатии на клавиатуре алфавитно-цифров ой клавиши?
Какие шаги в алгоритме взаимодействия приложения с системой выполняются операционной системой
1. формирование сообщения и помещение его в системную очередь
+ 2. распределение сообщений по очередям приложений
+ 3. вызов оконной функции для обработки сообщения
4. извлечение сообщения из очереди приложения
Что представляет собой понятие “сообщение” (message)?
1. небольшую структуру данных, содержащую информацию о некотором событии
2. специальную API-функцию, вызываемую системой при возникновении события
3. однобайтовое поле с кодом происшедшего события
+ 4. небольшое окно, выводящее пользователю информацию о возникшем событии
Какие утверждения относительно иерархии окон являются справедливыми
+ 1. главное окно может содержать любое число подчиненных окон
+ 2. любое подчиненное окно может содержать свои подчиненные окна
3. подчиненные окна могут быть двух типов – дочерние и всплывающие
+ 4. приложение может иметь несколько главных окон
Как можно узнать координаты текущего положения мыши при нажатии левой кнопки
+ 1. с помощью события WM_LbuttonDown и его поля LPARAM
2. с помощью события WM_LbuttonDown и его поля WPARAM
3. с помощью события WM_LbuttonDown и его полей WPARAM и LPARAM
4. с помощью события WM_LbuttonCoordi nates
Какие функции можно использовать для получения контекста устройства?
Какая инструкция (оператор) является основной при написании оконной функции?
+ 1. инструкция множественного выбора типа Case — Of
2. условная инструкция if – then
3. инструкция цикла с известным числом повторений
4. инструкция цикла с неизвестным числом повторений
Какой вызов позволяет добавить строку в элемент-список?
+ 1. SendMessage (MyEdit, lb_AddString, 0, строка)
2. SendMessage (“Edit”, lb_AddString, 0, строка)
3. SendMessage (MyEdit, AddString, 0, строка)
4. SendMessage (MyEdit, строка, lb_AddString, 0)
Какие утверждения относительно оконной функции являются правильными
+ 1. оконная функция принимает 4 входных параметра
+ 2. тело оконной функции – это инструкция выбора с обработчиками событий
+ 3. оконная функция обязательно должна обрабатывать сообщение wm_Destroy
+ 4. оконная функция явно вызывается из основной функции приложения
Какие сообщения возникают при нажатии на клавиатуре функциональной клавиши?
Что может быть причиной появления внутреннего прерывания
+ 1. попытка деления на ноль
2. попытка выполнения запрещенной команды
+ 3. попытка обращения по несуществующему адресу
4. щелчок кнопкой мыши
Какие операции определяют взаимодействие драйвера с контроллером
+ 1. проверка состояния устройства
+ 2. запись данных в регистры контроллера
+ 3. чтение данных из регистров контроллера
4. обработка прерываний от устройства
Какие операции включает в себя вызов обработчика нового прерывания
+ 1. обращение к таблице векторов прерываний для определения адреса первой команды вызываемого обработчика
2. сохранение контекста для прерываемого программного кода
+ 3. занесение в счетчик команд начального адреса вызываемого обработчика
+ 4. внесение необходимых изменений в таблицу векторов прерываний
Что входит в программный уровень подсистемы ввода/вывода
2. диспетчер ввода/вывода
+ 3. системные вызовы
Что определяет понятие “порт ввода/вывода”
+ 1. порядковый номер или адрес регистра контроллера
2. машинную команду ввода/вывода
3. устройство ввода/вывода
4. контроллер устройства ввода/вывода
Какие существуют типы прерываний
+ 1. внешние или аппаратные прерывания
+ 2. внутренние прерывания или исключения
+ 3. программные псевдопрерывания
4. системные прерывания
Какие утверждения относительно понятия прерывания являются правильными
+ 1. прерывания — это механизм реагирования вычислительной системы на происходящие в ней события
2. прерывания используются для синхронизации работы основных устройств вычислительной системы
+ 3. прерывания возникают в непредсказуемые моменты времени
4. прерывания — это основной механизм планирования потоков
Какую информацию могут содержать регистры контроллеров устройства
+ 1. текущее состояние устройства
+ 2. текущую выполняемую устройством команду
3. данные, передаваемые от устройства системе
4. данные, передаваемые системой устройству
Как выстраиваются аппаратные прерывания в зависимости от их приоритета
1. сбой аппаратуры > таймер > дисковые устройства > сетевые устройства > клавиатура и мышь
2. сбой аппаратуры > таймер > дисковые устройства > клавиатура и мышь > сетевые устройства
+ 3. таймер > сбой аппаратуры > дисковые устройства > сетевые устройства > клавиатура и мышь
4. сбой аппаратуры > дисковые устройства > таймер > сетевые устройства > клавиатура и мышь
Что может быть причиной появления внешнего прерывания
+ 1. нажатие клавиши на клавиатуре
+ 2. завершение дисковой операции
3. обращение выполняемой процессором команды по несуществующему адресу
Компьютер с нуля
Системное ПО Операционная система
Особое место среди программных средств всех типов занимают операционные системы, являясь ядром программного обеспечения.
Операционная система (ОС) – это комплекс программ, обеспечивающих:
ОС – операционная среда, среда обитания (для программ), имеет свои законы.
Операционная система – наиболее машиннозависимый вид программного обеспечения, ориентированный на конкретные модели компьютеров, поскольку они напрямую управляют их устройствами или обеспечивают интерфейс между пользователем и аппаратной частью компьютера.
ОС –набор программных инструментов, которые дают возможность пользователю использовать возможности компьютера.
ОС – основной программный инструмент, «вдыхающий жизнь»в компьютер. Без нее компьютер просто не будет работать. ОС контролирует операции обмена с дисками, организует вывод информации на экран, «понимает» клавиатуру и т.п.
Задачи, реализуемые ОС
Современные ОС обеспечивают:
Состав ОС
В настоящее время используется много типов различных операционных систем для ЭВМ различных видов, однако в их структуре существуют общие принципы. В составе многих операционных систем можно выделить некоторую часть, которая является основой всей системы и называется ядром. В состав ядра входят наиболее часто используемые модули, такие как модуль управления системой прерываний, средства по распределению таких основных ресурсов, как ОП и процессор. Программы, входящие в состав ядра, при загрузке ОС помещаются в оперативную память, где они постоянно находятся и используются при функционировании ЭВМ. Такие программы называют резидентными.
Ядро (резидентная часть ОС) – постоянно занимает раздел оперативной памяти. В ОП оно загружается с системного диска при включении компьютера. Эта процедура называется первоначальной загрузкой.
Ядро ОС обеспечивает базовые функции для окружающего программного обеспечения и допускает расширение обслуживающей части ОС.
Окружением ядра ОС являются утилиты, редакторы, компиляторы и другие программные средства, составляющие обслуживающую часть ОС.
Важной частью ОС является командный процессор – программа, отвечающая за интерпретацию и исполнение простейших команд, подаваемых пользователем, и его взаимодействие с ядром ОС.
Командный процессор – специальная программа, запрашивающая и выполняющая команды пользователя.
Выполняемые функции:
Кроме того, к операционной системе следует относить богатый набор утилит – обычно небольших программ, выполняющих различные обслуживающие функции.
Упрощенно структуру ОС можно представить в виде схемы
Драйверы устройств – специальные программы, обеспечивающие управление работой устройств и согласование информационного обмена. Также позволяющие производить настройку параметров устройств
Драйвер – управляющая программа, обслуживающая аппаратный модуль.
Драйверы наиболее часто используемых устройств (дисплея, клавиатуры, дисководов, а иногда и принтера) составляют главную часть BIOS.
Если BDOS является практически не изменой частью ОС для всех ПК, которые с ней работают, то BIOS может существенно варьироваться даже на одном и том же ПК в зависимости от типа переключаемой периферии.
Итак, структура операционной системы состоит:
Загрузка ОС
Загрузочные файлы ОС хранятся во внешней памяти. (гибкие, жесткие, оптические диски). Однако, любые программы, как и сама ОС могут быть выполнены только в оперативной памяти. Поэтому их нужно туда загрузить.
Принципы функционирования операционных систем
Понятие процесса играет ключевую роль и вводится применительно к каждой программе отдельного пользователя. Управление процессами (как целым, так и каждым в отдельности) – важнейшая функция ОС. При исполнении программ на центральном процессоре следует различать следующие характерные состояния:
Граф состояний переходов процесса из одной фазы в другую
Физические ресурсы – реальные устройства компьютера.
Средствами современных операционных систем могут создаваться и использоваться виртуальные (воображаемые) ресурсы, являющиеся моделями физических.
По значимости виртуальные ресурсы – одна из важнейших концепций построения современных ОС.
Виртуальный ресурс представляет собой модель некоего физического ресурса, создаваемую с помощью другого физического ресурса. Например, характерным представителем виртуального ресурса является оперативная память. Компьютеры, как правило, располагают ограниченной по объему ОП (физической). Функционально ее объем может быть увеличен путем частичной записи содержимого ОП на магнитный диск. Если этот процесс организован так, что пользователь воспринимает всю расширенную память как оперативную, то такая «оперативная» память называется виртуальной.
Виртуальная память – часть памяти, превышающая физический объем оперативной памяти, установленной в компьютере, и которую ОС эмулирует, используя пространство на жестком диске (файл подкачки). Программы, выполняющиеся под управлением Windows, воспринимают виртуальную память как оперативную.
Файл подкачки – постоянный или временный файл на жестком диске, который используется ОС для эмуляции оперативной памяти.
Наиболее законченным проявлением концепции виртуальности является понятие виртуальной машины, являющееся исходной при программировании на языках высокого уровня, например, Паскале. Виртуальная машина есть идеализированная модель реальной машины, изолирующая пользователя от аппаратных особенностей конкретной ЭВМ, воспроизводящая архитектуру реальной машины, но обладающую улучшенными характеристиками:
Концепция прерываний выполнения программ является базовой при построении любой операционной системы.
Из всего многообразия причин прерываний необходимо выделить 2 вида: первого и второго рода. Системные причины прерываний первого рода возникают в том случае, когда у процесса, находящегося в активном состоянии, возникает потребность либо получить некоторый ресурс или отказаться от него, либо выполнить над ресурсом какие-либо действия. К этой группе относят и, так называемые, внутренние прерывания, связанные с работой процессора (например, арифметическое переполнение или исчезновение порядка в операциях с плавающей запятой). Системные причины прерывания второго рода обусловлены необходимостью проведения синхронизации между параллельными процессами.
При обработке каждого прерывания должна выполняться следующая последовательность действий:
В большинстве ЭВМ первые три этапа реализуются аппаратными средствами, а остальные – блоком программ обработки прерываний операционной системы.
Классификация ОС
1. По количеству одновременно работающих пользователей:
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.
2. По числу задач, одновременно выполняемых под управлением ОС:
В многозадачном режиме каждой задаче (программе, приложению) поочередно выделяется какая-то доля процессорного времени. Поскольку процесс переключения идет очень быстро, а выделяемые задачам доли процессорного времени достаточно малы, то для пользователя создается впечатление одновременного выполнения нескольких задач.
Можно одновременно запустить на счет математическую систему, включить принтер для печати текста, запустить проигрыватель музыкальных произведений, вести поиск вирусов и рисовать в графическом редакторе или раскладывать пасьянс.
При многозадачном режиме:
Различают вытесняющую и невытесняющую многозадачность.
При работе ЭВМ важнейшим разделяемым ресурсом является процессорное время. Распределение процессорного времени между несколькими программами может осуществляться двумя способами.
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования вычислительных процессов. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой процесс принимается операционной системой, а не самим активным процессом.
Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
Системы пакетной обработки предназначаются для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью таких систем является решение максимального числа задач в единицу времени. Для достижения этой цели используется следующая схема функционирования.
В начале работы формируется пакет заданий (мультипрограммная смесь). В нем желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом информации. Выбор нового задания из пакета зависит от внутренней ситуации, складывающейся в системе, т.е. выбирается «выгодное» для ОС задание. Следовательно, в таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени.
Взаимодействие пользователя с вычислительной машиной, на которой установлена ОС пакетной обработки, сводится к тому, что пользователь приносит задание, отдает его диспетчеру-оператору, а в конце дня получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.
ОС разделения времени позволяют исправить основной недостаток систем пакетной обработки – изоляцию пользователя от процесса выполнения его задач. Каждому пользователю предоставляется терминал, с которого он может управлять вычислительным процессом. Т.к. каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно малым, то у всех пользователей, одновременно работающих на одной и той же ЭВМ, складывается впечатление, что каждый из них единолично использует машину.
ОС разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, т.к. на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» ОС, и, кроме того, имеются накладные расходы на более частое переключение процессора с задачи на задачу. Критерием эффективности систем разделения времени является не максимальная пропускная способность ЭВМ (скорость обработки информации), а удобство и эффективность работы отдельного пользователя.
Наиболее совершенны и сложны многопользовательские многозадачные операционные системы, которые предусматривают одновременное выполнение многих заданий многих пользователей, обеспечивают разделение ресурсов компьютера в соответствии с приоритетами пользователей и защиту данных каждого пользователя от несанкционированного доступа. В этом случае операционная система работает в режиме разделения времени, т.е. обслуживает многих пользователей, работающих каждый со своего терминала.
Суть режима разделения времени состоит в следующем. Каждой программе, находящейся в оперативной памяти и готовой к исполнению, выделяется для исполнения фиксированный, задаваемый в соответствии с приоритетом пользователя интервал времени (интервал мультиплексирования). Если программа не выполнена до конца за этот интервал, ее исполнение принудительно прерывается, и программа переводится в конец очереди. Из начала очереди извлекается следующая программа, которая исполняется в течение соответствующего интервала мультиплексирования, затем поступает в конец очереди и т.д. в соответствии с циклическим алгоритмом. Если интервал мультиплексирования достаточно мал (
200 мс), а средняя длина очереди готовых к исполнению программ невелика (
10), то очередной квант времени выделяется программе каждые 2 с. В этих условиях ни один из пользователей практически не ощущает задержек, т.к. они сравнимы со временем реакции человека.
Приоритет (priority) – относительная важность или срочность.
Приоритет – это обладание преимуществом, т.е. требование повышенного внимания, которое может быть определено количественной величиной, учитываемой при определении порядка удовлетворения нескольких требований на доступ к одному ресурсу.
Назначать приоритеты – устанавливать порядок действий в соответствии со срочностью или важностью работы. В мультипрограммном режиме программам назначаются приоритеты так, что срочные работы не задерживаются вспомогательными задачами. Программные прерывания должны отрабатываться аналогично мультипрограммному режиму.
Одной из разновидностей режима разделения времени является фоновый режим, когда программа с более низким приоритетом работает на фоне программы с более высоким приоритетом. Работа в фоновом режиме реального времени аналогична работе секретаря руководителя. Секретарь занимается текущими делами до тех пор, пока начальник не дал срочное поручение.
Системы реального времени применяются для управления различными техническими объектами (конвейер, станок, робот, космический аппарат, научная экспериментальная установка, гальваническая линия, доменная печь, автомат для контроля качества выпускаемой продукции). Существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом. Система должна иметь гарантированное время реакции, т.е. задержка ответа не должна превышать определенного времени. В противном случае может произойти авария (спутник выйдет из зоны видимости; экспериментальные данные, поступающие с датчиков, будут потеряны; толщина гальванического покрытия не будет соответствовать норме; бракованные изделия попадут в приемник годной продукции).
Т.о., критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия).
ЭВМ управляет некоторым внешним процессом, обрабатывая данные и информацию, непосредственно поступающую от объекта управления. Поскольку определяющим фактором являются реально поступающие от объекта управления данные, такой режим называют режимом реального времени, а его организация возлагается на специализированную операционную систему.
3. По количеству используемых процессоров:
4. По разрядности процессора:
5. По типу пользовательского интерфейса:
6.По типу использования общих аппаратных и программных ресурсов:
Сетевые ОС предназначены для эффективного решения задач распределенной обработки данных. Такая обработка ведется не на отдельном компьютере, а на нескольких компьютерах, объединенных сетью. Сетевые ОС поддерживают распределенное выполнение процессов, их взаимодействие, обмен данными между ЭВМ, доступ пользователей к общим ресурсам и другие функции, которые превращают распределенную в пространстве систему в целостную многопользовательскую систему.
Все сетевые ОС делятся на две группы: одноранговые ОС и ОС с выделенными серверами.
В одноранговых сетях каждая ЭВМ может выполнять как функции сервера, так и рабочей станции. В сетях с выделенными серверами функции расписаны более жестко: рабочие станции не предоставляют свои ресурсы для других ЭВМ, это возможно только для серверов.
Характеристики, определяющие выбор ОС: