Архитектурные принципы ( принципы разработки и организации ) современной мультипрограммной ОС. Модульная структура ОС
ОС различаются по назначению, выполняемым функциям, формам реализации. Тем не менее, в основу их создания заложены общие принципы.
- Частотный принцип. Для действий, которые часто встречаются при работе с ОС, обеспечиваются условия их быстрого выполнения.
- .Принцип модульности. Модуль – функциональный элемент системы, имеющий оформление, законченное и выполненное в пределах требований системы, и средства сопряжения с другими модулями. Модули бывают однократными, многократными и реентерабельными.
- Принцип функциональной избирательности. Используется при формировании ядра ОС. Модули "под рукой".
- Принцип генерируемости. Настройка средств ОС, исходя из конкретной конфигурации ЭВМ и круга решаемых проблем (OS/2, Windows, UNIX).
- Принцип функциональной избыточности. Проведение одной и той же работы различными средствами ОС -MFT, MVT, SVM.
- Принцип умолчания. Он основан на хранении в системе некоторых данных, которые назначаются объектам ОС в случае их не указания.
- Принцип перемещаемости. Построение модулей, исполнение которых не зависит от места расположения в ОП.
- Принцип защиты. Он предполагает необходимость разработки мер, ограждающих программы и данные пользователей от нежелательных влияний друг на друга. (Привилегированные команды. Границы области адресации.).
Принцип независимости программ от внешних устройств. Связь программы с конкретным устройством устанавливается не на уровне трансляции, а в периодее исполнения.
Структура ОС носит модульный характер. Программный модуль - программа, рассматриваемая как целое в контекстах хранения в наборе данных, трансляции, объединения с другими программными модулями, загрузки в оперативную память для выполнения или разработки в составе программного комплекса. При разработке программного обеспечения его разделение на модули происходит по функциональному признаку, что способствует минимизации числа межмодульных связей и, следовательно, уменьшению сложности разрабатываемого программного комплекса. Размеры модулей при этом обычно составляют несколько десятков, реже несколько сотен операторов алгоритмического языка. При исполнении программ различают исходный модуль - программу, выраженную на принятом при разработке комплекса языке программирования, объектный модуль - программу, полученную в результате трансляции на машинный язык, и загрузочный модуль - программу, прошедшую редактирование и готовую к помещению в оперативную память и после настройки адресных констант по месту загрузки - к исполнению. Загрузочный модуль может включать в себя несколько объектных и ранее отредактированных загрузочных модулей.
14. Подсистема планирования (управления) процессов и потоков в ОС. Понятие процесса, потока и ресурса. Типы ресурсов. Информационные структуры процесса (потока).
Процесс и ресурс - базовые понятия ОС. Чтобы поддерживать многозадачность, ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компьютера. В настоящее время в большинстве ОС определены два типа единиц работы. Более крупная единица работы, обычно носящая название процесса, или задачи, требует для своего выполнения нескольких более мелких работ, для обозначения которых используются термины «поток», или «нить».
Вообще, процесс – это некоторый тип деятельности, протекающий во времени. Для ЭВМ существует несколько определений процесса:
- деятельность, связанная с выполнением команд микропроцессора;
- динамическая сущность, а программа – статическая единица;
- система действий, реализующая определенную функцию ОС, работающая так, что управляющая система может разделять ресурсы для обеспечения многозадачности;
- программа в стадии управления.
Процесс может находится в активном и пассивно состоянии. В активном состоянии процесс может участвовать в конкуренции за использование ресурсов вычислительной системы. В пассивном состоянии он только известен системе, но в конкуренции не участвует.
В свою очередь активный процесс может быть в одном из следующих состояний:
1 Состояние выполнения: все затребованные процессом ресурсы выделены. В этом состоянии может находится только один процесс.
2 готовности к выполнению: ресурсы могут быть предоставлены этому процессу, тогда он перейдет в состояние выполнения.
3 Блокированное или ожидание: затребованные ресурсы не могут быть предоставлены или не завершена операция ввода/вывода.
Ресурсы – некоторые объекты, с помощью которых может исполняться программа. Осн. ресурсы: 1) центральный ресурс – процессор (CPU), неразделяемый ресурс; 2) оперативная память, разделяемый ресурс (одновременно в процессоре не может нах. неск. процессов); 3) устройства ввода/вывода, могут быть разделяемыми и неразделяемыми (например, принтер – неразделяемый ресурс); 4) данные (информация): - внутренние данные; - разделяемые данные.