Понятие об архитектуре аппаратных средств
1.1.1. Вводные замечания
Появление общего программного обеспечения в ЭВМ относят к 1953 г., когда в СССР появилась одна из первых теоретических работ по автоматизации программирования для цифровых ЭВМ (А.П.Ершов), а в Массачусетском технологическом институте (США) была создана экспериментальная "операционная система", применявшаяся в учебных целях. Затем появились специализированные операционные системы (ОС) для обслуживания оборонных вычислительных систем реального времени. Однако эти разработки имели экспериментальный, исследовательский характер и широкого распространения в то время не получили. Тем не менее, потребности практического использования ЭВМ в различных предметных областях, необходимость более эффективного использования ЭВМ, повышение производительности труда разработчиков программного обеспечения, а также стремление расширить рынок сбыта ЭВМ вызвали стремительный прогресс в создании теории и инструментальных средств общего программного обеспечения вычислительных систем.
Построение вычислительных машин основано на трех принципах:
1. Принцип цифрового представления данных (чисел, команд, обозначение операций, букв, слов и т.д.). Единицами данных в ЭВМ являются бит, байт, слово и т.п.;
2. Принцип адресности данных – все данные и любые объекты программы хранятся в ячейках памяти, имеющих адрес;
3. Принцип программного управления (Ч.Беббидж, 1834 г.) – управление вычислительным процессом осуществляется с помощью программы, находящейся в памяти ЭВМ.
Все универсальные вычислительные машины, в том числе и персональные компьютеры, имеют структуру, показанную на рис.1.1.
Она включает в себя: АЛУ – арифметическо-логическое устройство; УУ – устройство управления; ВУ – внешние устройства; ОЗУ – оперативное запоминающее устройство. Впервые такую структуру вычислительных машин предложил Джон фон Нейман в 1945 г., поэтому ЭВМ с такой структурой называют машинами фон Неймана.
Конкретная аппаратурная реализация схемы изменялась от поколения к поколению ЭВМ. Например, в современных компьютерах АЛУ и УУ объединены в единое устройство – центральный процессор. Кроме того, в ЭВМ ввели систему прерываний. Появились многопроцессорные ЭВМ, позволяющие осуществлять параллельную обработку данных в компьютере. Тем не менее, функциональная структура существующих компьютеров в основном соответствует структуре машины фон Неймана.
Архитектура вычислительной системы – общая логическая организация цифровой вычислительной системы, определяющая процесс обработки данных в конкретной вычислительной системе и включающая методы кодирования данных, состав, назначение, принципы взаимодействия технических средств и программного обеспечения.
Большинство из выпускаемых сейчас компьютеров выполнено в соответствии с принципом открытой архитектуры, впервые примененном в персональной ЭВМ IBM РС (фирма IBM, 1981г.).
1.1.2. Классификация программных средств
Программное обеспечение вычислительных систем принято делить на следующие виды:
- общее (системное) программное обеспечение (ОПО);
- специальное программное обеспечение (СПО).
- Введем ряд определений.
Общее ПО ВС в свой состав включает:
- программные средства управления обработкой данных, включая операционные системы;
- обслуживающие (сервисные) программы (утилиты);
- инструментальные программные средства.
Специальное ПО делят на следующие виды:
- прикладные программы (приложение) общего назначения:
- прикладные программы пользователя.
Прикладные программы общего пользования можно разделить на следующие группы:
- программы офисного назначения;
- программы экономического назначения;
- издательские системы;
- компьютерная графика, видео, анимация и звук;
- системы управления базами данных;
- прочие прикладные программы общего назначения.
Можно видеть, что современные компьютеры и их программное обеспечение глубоко внедрилось практически во все сферы человеческой деятельности – науку, производство, экономику, право и т.д.
Функционирование прикладных программ любого назначения происходит под управлением и при участии программ, относящихся к категории системного программного обеспечения.
1.1.3. Место и функции системного программного обеспечения
Системное ПО играет роль “прослойки” между пользователем и техническими средствами вычислительной системы. На различных этапах работы с компьютером в качестве такой “прослойки” выступают разные программы и пакеты программ системного ПО, выполняя при этом отличающиеся назначением функции.
Основой системного ПО является операционная система.
Операционная система цифровой вычислительной системы – система программ, предназначенная для обеспечения определенного уровня эффективности цифровой вычислительной системы за счет автоматизированного управления ее работой и предоставляемого пользователям набора услуг.
Основными функциями ОС являются:
- автоматическое выполнение действий по запуску задач в обработку и их завершению;
- диспетчеризация (планирование обработки задач);
- распределение памяти между различными задачами;
- управление ходом выполнения задач в вычислительной системе;
- распределение задачам необходимых ресурсов ВС;
- синхронизация выполнения задач;
- поддержка выполнения операций ввода/вывода данных;
- ведение учета работы системы (при необходимости).
Выполнение своих функций ОС осуществляется с помощью соответствующих программных комплексов управления, которые носят название супервизорных программ (супервизоров или менеджеров).
Супервизорная программа – машинная программа, являющаяся обычно частью операционной системы, которая управляет выполнением других машинных программ и регулирует поток работ в системе управления данными.
Супервизор – часть управляющей программы, координирующая распределение ресурсов вычислительной системы.
В целом современные операционные системы представляют собой иерархическую структуру (рис.1.2).
В основе иерархии находится аппаратура вычислительной машины, называемая иногда “чистой машиной” или “голым железом”. На следующем уровне иерархии (иногда на следующих нескольких уровнях) находятся некоторые функции ядра операционной системы. В совокупности с этими функциями ядра (называемыми еще “примитивами”) компьютер становится расширенной машиной, т.е. машиной, которая представляет для операционной системы и пользователей не только свой машинный язык, но и ряд дополнительных возможностей.
Выше над ядром расположены программы ОС для обеспечения выполнения задач пользователя (управления внешними устройствами, обслуживание операций ввода/вывода и т.п.). На вершине иерархии находятся программы пользователя. В подобных иерархических системах принято, как правило, следующее ограничение: допускается обращение только сверху вниз в иерархии, т.е. средства каждого уровня могут обращаться только к тем функциям, которые находятся на ближайшем нижележащем уровне.
Обслуживающие (сервисные) программы (утилиты) предназначены для выполнения различных вспомогательных функций и разделяются на следующие типы: программы-упаковщики (архиваторы); антивирусные программы; программы резервирования; программы диагностики компьютера; программы оптимизации дисков; программы динамического сжатия дисков.
Инструментальные программные средства, называемые также средствами разработки приложений и системами программирования, являются орудием автоматизации разработок программного обеспечения ЭВМ, обеспечивающим повышение производительности труда разработчиков и надежности ПО.
К инструментальным программным средствам относятся:
- компиляторы и интерпретаторы;
- автономные отладчики (дебагеры, от англ. Debug “удаление насекомых”);
- интегрированные оболочки;
- средства создания приложений типа клиент-сервер и т.п.
Существующие инструментальные программные средства обеспечивают разработчиков ПО всем необходимым набором функций для создания мощного программного обеспечения решения прикладных задач любой мощности для практически всех предметных областей.
1.2. Принципы работы вычислительной системы
Всякая вычислительная система создается для решения некоторого множества вычислительных или информационных задач, которые в совокупности называются задачами обработки данных. Для успешного решения любой задачи в вычислительной системе необходимо иметь:
- программу, реализующую алгоритм решения задачи;
- аппаратные средства ВС для ввода программы, выполнения программы, получения дополнительной информации и вывода результатов;
- дополнительные программные средства, необходимые для решения прикладной задачи (стандартные программы).
Существует три вида систем обработки данных (СОД), отличающихся друг от друга требованиями к скорости получения результатов решения задач:
системы реального времени (СРВ), в которых требования к скорости обработки информации очень высокие из-за необходимости решения задач в темпе реального времени (примером являются системы навигации и управления летательными аппаратами);
системы оперативной обработки (СОО),в которых планирование заданий на обработку данных осуществляется исходя из требования минимальности времени выполнения каждого полученного задания. Примером такого вида систем является система обработки данных для персонала боевых расчетов пунктов управления;
системы пакетной обработки (СПО), в которых основным требованием является минимизация простоя оборудования при решении поставленных задач.
Запуск прикладной программы в работу, предоставление ей необходимых аппаратных мощностей и программных средств осуществляется операционной системой.
1.3. Режимы работы операционных систем
1.3.1. Режимы обработки данных
Порядок представления прикладной программе перечисленных средств определяется режимом обработки данных, реализованных в операционной системе ЭВМ. Различают однопрограммные и мультипрограммные режимы обработки данных и, соответственно, работы ОС.
К однопрограммным режимам относятся:
- режим непосредственного доступа (РНД);
- пакетный однопрограммный режим (П1П).
Мультипрограммными режимами обработки данных являются:
- пакетный мультипрограммный режим (ПМП);
- режим разделения времени (РРВ).
1.3.1.1. Однопрограммные режимы обработки данных
Режим непосредственного доступа широко применялся в ЭВМ первого поколения и используется при работе с современными персональными компьютерами. Режим РНД характерен тем, что ЭВМ предоставляется только одному пользователю, который осуществляет взаимодействие с машиной посредством пульта управления (сейчас – клавиатура, мыши и дисплеи). Время решения каждой задачи в режиме РНД складывается из времени ТВВ ввода программы и данных в ЭВМ, времени ТР работы процессора над решением задачи, времени ТВУ обмена данными с внешними устройствами (включая вывод результатов в обработки), времени ТОП обслуживания ЭВМ и задачи оператором ЭВМ при ее подготовке к запуску и по окончании решения задачи:
.
Коэффициент загрузки процессора при одной задаче составляет
.
Полное время решения N задач и коэффициент загрузки:
где i-номер задачи.
В РНД наличие ОС не обязательно.
Недостатками режима РНД являются:
- аппаратура и программы ЭВМ используются не эффективно;
- велики затраты времени программиста на управление машиной;
- предъявляются высокие требования к подготовке пользователя как оператора вычислительной машины.
Пакетный однопрограммный режим применяется в ВС, начиная с ЭВМ второго поколения. Несколько заданий для решения задач обработки собираются в один пакет, называемый пакет заданий (ПЗ). Пакет заданий оператор ЭВМ вводит в ЭВМ, где ПЗ сначала записывается во внешнюю память (магнитные диски, магнитные барабаны и т.п.). Затем операционная система машины последовательно считывает задания, входящие в ПЗ, и осуществляет выполнение необходимых в соответствиями с заданиями действий для решения задач пользователей. После завершения очередного задания происходит обращение к ОС, которая активирует начало выполнения следующего. После завершения последнего задания пакета оператор ЭВМ загружает в машину новый пакет заданий.
Режим П1П обладает следующими положительными чертами:
- более высокая пропускная способность;
- отсутствие специальных требований к аппаратуре ЭВМ;
- возможна его реализация на любой ЭВМ.
К недостаткам режима П1П относятся:
- необходимо наличие операционной системы;
- пользователь физически отделен от ЭВМ и решаемой им задачи;
- увеличивается реакция пользователя на полученные результаты решения;
- последовательный порядок выполнения заданий пакетов не позволяет увеличить загрузку оборудования вычислительной системы.
1.3.1.2. Многопрограммные режимы обработки данных
Пакетный мультипрограммный режим широко применяется в ЭВМ третьего и последующих поколений. ПМП является режимом классического мультипрограммирования, при котором в вычислительной системе находятся в обработке сразу несколько заданий. На входе в систему формируется набор пакетов заданий, которые оператор ЭВМ загружает в систему. После окончания ввода первого ПЗ операционная система начинает его обработку, не дожидаясь до ввода второго и последующих ПЗ. Задания, принадлежащие одному пакету, выполняются последовательно (т.е. в режиме П1П). Задания, принадлежащие разным пакетам, выполняются параллельно. Первым начинает выполняться первое задание первого пакета. По мере освобождения ресурсов ОС активизирует выполнение заданий из других пакетов в порядке их следования внутри ПЗ.
Пакетный мультипрограммный режим обеспечивает наивысшую пропускную способность вычислительной системы, что достигается при наличии в ЭВМ следующих аппаратных средств:
- автономно управляемые внешние устройства;
- развитая система прерывания программ;
- средства защиты памяти от взаимного влияния программ.
Основным недостатком режима ПМП является практически полное устранение пользователя из системы и, как следствие, отсутствие связи пользователя со своей задачей.
Режим разделения времени существенно отличается от классического мультипрограммирования, реализованного в ПМП, и является в настоящее время основным режимом функционирования операционных систем. Главное в режиме разделения времени – это предоставление каждой задаче (или пользователю, работающему в диалоге с машиной) ресурсов ЭВМ на некоторый ограниченный интервал времени (квант). По истечении кванта времени данная программа свертывается операционной системой, развертывается следующая по очереди программа (или подключается следующий терминал пользователя), которой предоставляются ресурсы ЭВМ, и т.д.
1.3.2. Режимы и дисциплины обслуживания
Порядок обслуживания заданий (заявок на работу) в операционных системах с мультипрограммированием, т.е. реализующих режимы ПМП или РРВ, определяются принятыми в них режимами обслуживания и дисциплинами обслуживания.
1.3.2.1. Режимы обслуживания
Режимом обслуживания называется правило отбора заявок на обслуживание.
Режимы обслуживания делятся на три вида:
1. режим одиночного отбора заявок:
2. режим группового отбора, когда на обслуживание отбирается вся очередь заявок определенного типа;
3. смешанный режим отбора, когда для одних классов заявок производится одиночный отбор, а для других групповой.
1.3.3.2. Дисциплины обслуживания
Дисциплиной обслуживания называется правило отбора заявок на обслуживание при заданном режиме обслуживания.
Для каждого из режимов обслуживания может быть применен один из следующих видов дисциплин обслуживания:
- бесприоритетное обслуживание;
- обслуживание с приоритетом;
- обслуживание по расписанию.
Разновидности дисциплины бесприоритетного обслуживания:
1. ОПП – обслуживание в порядке поступления (“первый пришел – первый обслужен”, FIFO);
2. ООП – обслуживание в обратном порядке (“первый пришел – последний обслужен”, LIFO);
3. ОСП – обслуживание в случайном порядке.
При бесприоритетном обслуживании считается, что все заявки имеют равное право на обслуживание.
Если требуется, чтобы заявки некоторого типа имели преимущества перед другими на их обслуживание операционной системой, то применяется дисциплина обслуживания с приоритетами:
1. ДОП – дисциплина обслуживания с относительными приоритетами, когда приоритет заявки влияет только на ее место в очереди заявок на обслуживание;
2. ДАП – дисциплина с абсолютными приоритетами, когда высоко приоритетная заявка получает преимущества не только перед заявками, стоящими в очереди, но и перед заявкой, получающей обслуживание;
3. ДСП – дисциплина со смешанными приоритетами, при которой к одним группам заявок применяются относительные приоритеты, а к другим – абсолютные;
4. ДДП – дисциплина обслуживания с динамическими приоритетами, когда значение приоритетов заявок может изменяться (расти) по мере их нахождения в очереди, обеспечивая тем самым первоочередное обслуживание заявок, долго находящихся в системе.
Дисциплина обслуживания по расписанию обеспечивает заданный пользователем порядок обработки заданий независимо от очередности их поступления в систему. Она применяется в тех случаях, когда результаты решения одной задачи являются входными данными для другой.
1.4. Классификация операционных систем
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Ниже приведена классификация ОС по нескольким наиболее основным признакам.
1.4.1. Особенности алгоритмов управления ресурсами
От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей сетевой ОС в целом. Поэтому, характеризуя сетевую ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами автономного компьютера. Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы, поддерживающие многонитевую обработку и не поддерживающие ее, на многопроцессорные и однопроцессорные системы.
1.4.1.1. Поддержка многозадачности
По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
- однозадачные (например, 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.4.1.2. Поддержка многонитевости
Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки – мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
Выше были рассмотрены характеристики ОС, связанные с управлением только одним типом ресурсов – процессором. Важное влияние на облик операционной системы в целом, на возможности ее использования в той или иной области оказывают особенности и других подсистем управления локальными ресурсами – подсистем управления памятью, файлами, устройствами ввода-вывода.
Специфика ОС проявляется и в том, каким образом она реализует сетевые функции: распознавание и перенаправление в сеть запросов к удаленным ресурсам, передача сообщений по сети, выполнение удаленных запросов. При реализации сетевых функций возникает комплекс задач, связанных с распределенным характером хранения и обработки данных в сети: ведение справочной информации о всех доступных в сети ресурсах и серверах, адресация взаимодействующих процессов, обеспечение прозрачности доступа, тиражирование данных, согласование копий, поддержка безопасности данных.
1.4.2. Особенности аппаратных платформ
На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные. В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем.
Очевидно, что ОС большой машины является более сложной и функциональной, чем ОС персонального компьютера. Так в ОС больших машин функции по планированию потока выполняемых задач, очевидно, реализуются путем использования сложных приоритетных дисциплин и требуют большей вычислительной мощности, чем в ОС персональных компьютеров. Аналогично обстоит дело и с другими функциями.
Сетевая ОС имеет в своем составе средства передачи сообщений между компьютерами по линиям связи, которые совершенно не нужны в автономной ОС. На основе этих сообщений сетевая ОС поддерживает разделение ресурсов компьютера между удаленными пользователями, подключенными к сети. Для поддержания функций передачи сообщений сетевые ОС содержат специальные программные компоненты, реализующие популярные коммуникационные протоколы, такие как IP, IPX, Ethernet и другие.
Многопроцессорные системы требуют от операционной системы особой организации, с помощью которой сама операционная система, а также поддерживаемые ею приложения могли бы выполняться параллельно отдельными процессорами системы. Параллельная работа отдельных частей ОС создает дополнительные проблемы для разработчиков ОС, так как в этом случае гораздо сложнее обеспечить согласованный доступ отдельных процессов к общим системным таблицам, исключить эффект гонок и прочие нежелательные последствия асинхронного выполнения работ.
Другие требования предъявляются к операционным системам кластеров. Кластер – слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Наряду со специальной аппаратурой для функционирования кластерных систем необходима и программная поддержка со стороны операционной системы, которая сводится в основном к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической реконфигурации системы. Одной из первых разработок в области кластерных технологий были решения компании Digital Equipment на базе компьютеров VAX. Недавно этой компанией заключено соглашение с корпорацией Microsoft о разработке кластерной технологии, использующей Windows NT. Несколько компаний предлагают кластеры на основе Unix-машин.
Наряду с ОС, ориентированными на совершенно определенный тип аппаратной платформы, существуют операционные системы, специально разработанные таким образом, чтобы они могли быть легко перенесены с компьютера одного типа на компьютер другого типа, так называемые мобильные ОС. Наиболее ярким примером такой ОС является популярная система Unix. В этих системах аппаратно-зависимые места тщательно локализованы, так что при переносе системы на новую платформу переписываются только они. Средством, облегчающем перенос остальной части ОС, является написание ее на машинно-независимом языке, например, на С, который и был разработан для программирования операционных систем.
1.4.3. Особенности областей использования
Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
- системы пакетной обработки (например, OC EC);
- системы разделения времени (Unix, VMS);
- системы реального времени (QNX, RT/11).
Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используются следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается "выгодное" задание. Следовательно, в таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.
Системы разделения времени призваны исправить основной недостаток систем пакетной обработки – изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Ясно, что системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая "выгодна" системе, и, кроме того, имеются накладные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.
Системы реального времени применяются для управления различными техническими объектами, такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами, такими, как гальваническая линия, доменный процесс и т.п. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме. Таким образом, критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы – реактивностью. Для этих систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.
Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть – в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым режимом.
1.4.4. Особенности методов построения
При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относятся:
Способы построения ядра системы – монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС – серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой – ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структурированность системы, состоящей из набора хорошо определенных объектов.
Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS DOS, Windows, Unix (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.
Кроме того, операционные системы можно также разделить на группы, используя различные признаки классификации (см. табл.1.1).
Таблица 1.1. – Классы операционных систем
№ | Признак классификации | Описание класса |
1. | Мощность аппаратных средств | персональные компьютеры; мини ЭВМ; большие ЭВМ; суперЭВМ. |
2. | Количе
Дата добавления: 2017-01-26; просмотров: 5176; |