Понятие операционной системы; эволюция развития операционных систем; функции операционных систем и подходы к построению операционных систем



страница2/15
Дата14.04.2017
Размер0.56 Mb.
Просмотров4434
Скачиваний3
1   2   3   4   5   6   7   8   9   ...   15

Архитектура операционной системы. Классификация операционных систем. Эффективность и требования, предъявляемые к ОС.


ОС – это программа, которую можно реализовать с использованием процедур и функций. Если при этом составные части реализованы не в виде отдельных модулей или подсистем, а объединены в виде одной программы, то такая архитектура построения ОС называется монолитным ядром. Архитектурные особенности ОС. Монолитное ядро

Характеризуется тем, что:

каждая процедура может вызвать каждую

все процедуры работают в привилегированном режиме

все части монолитного ядра работают в одном адресном пространстве

ядро «совпадает» со всей ОС

сборка ядра осуществляется отдельно для каждого компьютера при установке

при добавлении, исключении отдельных компонент требуется перекомпиляция

старейший способ организации ОС

Пример систем с монолитным ядром - большинство Unix-подобных систем.



Многоуровневые системы. Всю вычислительную систему можно разбить на ряд более мелких уровней с хорошо определенными связями между ними, так чтобы объекты уровня N могли вызывать только объекты уровня N-1.

Виртуальные машины

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



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

При разработке ОС существует тенденция, состоящая в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра.


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

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

Характеризуется(+):

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

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

возможностью отладки компонентов ядра с помощью обычных программных средств

повышенной надежностью системы

Характеризуется: (-)

дополнительными накладными расходами, связанными с передачей сообщений

усложнение процесса проектирования при попытке снижения возможных накладных расходов



Смешанные системы

В большинстве случаев современные ОС используют различные комбинации рассмотренных подходов.

Например, ядро ОС Linux представляет собой монолитную систему с элементами микроядерной архитектуры.

Совместно элементы микроядерной архитектуры и элементы монолитного ядра используются в ядре Windows NT:



Классификация ОС. Особенности алгоритмов управления ресурсами

В зависимости от особенностей использованного алгоритма управления процессором, ОС делят на:

многозадачные и однозадачные

многопользовательские и однопользовательские

поддерживающие многонитевую обработку / не поддерживающие

на многопроцессорные и однопроцессорные



Поддержка многозадачности Однозадачные ОС (MS-DOS, MSX):

выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером

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

Многозадачные ОС (OC EC, OS/2, UNIX, Windows 95), кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.



Поддержка многопользовательского режима

Однопользовательские: MS-DOS, Windows 3.x, ранние версии OS/2;

Многопользовательские: UNIX, Windows NT.

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

(!) Не всякая многозадачная система является многопользовательской, и не всякая однопользовательская - однозадачной.

Вытесняющая и невытесняющая многозадачность

Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:



невытесняющая многозадачность (NetWare, Windows 3.x) - механизм планирования процессов целиком сосредоточен в ОС;

вытесняющая многозадачность (Windows NT, OS/2, UNIX) - механизм планирования процессов распределен между системой и прикладными программами.

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

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

  1. Понятие процесса, его состояния, модель представления процесса в операционной системе и операции, которые могут выполняться над процессами операционной системой.


Понятие процесса

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

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

Управляющие структуры процессов

Для управления процессами ОС должна располагать всей необходимой для этого информацией, для чего каждому процессу необходим дескриптор, содержащий:



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

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

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

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

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

  • информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершённых операциях ввода-вывода и др.);

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

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

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

Операции над процессами

Изменением состояния процессов занимается ОС, совершая операции над ними.Основные операции над процессами удобно объединить в три пары:



  • создание процесса – завершение процесса (одноразовые);

  • приостановка процесса (перевод из состояния исполнение в состояние готовность) – запуск процесса (перевод из состояния готовность в состояние исполнение);

  • блокирование процесса (перевод из состояния исполнение в состояние ожидание) – разблокирование процесса (перевод из состояния ожидание в состояние готовность).

Необходимо помнить, что существует еще одна (непарная) операция: изменение приоритета процесса.


  1. Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   ...   15


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал