Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Операционная система (ОС). Классификация ОС. Эволюция ОС. Функции ОС. Разновидности ОС. Обобщенная модель иерархической ОС
Операционная система (ОС) - комплекс системных и управляющих программ, предназначенных для наиболее эффективного использования всех ресурсов вычислительной системы (ВС) (Вычислительная система - взаимосвязанная совокупность аппаратных средств вычислительной техники и программного обеспечения, предназначенная для обработки информации) и удобства работы с ней. Назначение ОС - организация вычислительного процесса в вычислительной системе, рациональное распределение вычислительных ресурсов между отдельными решаемыми задачами; предоставление пользователям многочисленных сервисных средств, облегчающих процесс программирования и отладки задач. Операционная система исполняет роль своеобразного интерфейса ( Интерфейс - совокупность аппаратуры и программных средств, необходимых для подключения периферийных устройств к ПЭВМ) между пользователем и ВС, т.е. ОС предоставляет пользователю виртуальную ВС. Это означает, что ОС в значительной степени формирует у пользователя представление о возможностях ВС, удобстве работы с ней, ее пропускной способности. Различные ОС на одних и тех же технических средствах могут предоставить пользователю различные возможности для организации вычислительного процесса или автоматизированной обработки данных.
Существует несколько схем классификации операционных систем. Ниже приведена классификация по некоторым признакам с точки зрения пользователя. Реализация многозадачности По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса: · многозадачные (Unix, OS/2, Windows). · однозадачные (например, MS-DOS) и Многозадачная ОС, решая проблемы распределения ресурсов и конкуренции, полностью реализует мультипрограммный режим в соответствии с требованиями раздела 1.3. Приблизительность классификации очевидна из приведенных примеров. Так в ОС MS-DOS можно организовать запуск дочерней задачи и одновременное сосуществование в памяти двух и более задач. Однако эта ОС традиционно считается однозадачной, главным образом из-за отсутствия защитных механизмов и коммуникационных возможностей. Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС можно разделить на: · однопользовательские (MS-DOS, Windows 3.x); · многопользовательские (Windows NT, Unix). Наиболее существенно отличие заключается в наличии у многопользовательских систем механизмов защиты персональных данных каждого пользователя. Многопроцессорная обработка Многопроцессорные системы состоят из двух или более центральных процессоров, осуществляющих параллельное выполнение команд. Поддержка мультипроцессирования является важным свойством ОС и приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорная обработка реализована в таких ОС, как Linux, Solaris, Windows NT и в ряде других. Многопроцессорные ОС разделяют на симметричные и асимметричные. В симметричных ОС на каждом процессоре функционирует одно и то же ядро и задача может быть выполнена на любом процессоре, то есть обработка полностью децентрализована. В асимметричных ОС процессоры неравноправны. Обычно существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор. Системы реального времени. В разряд многозадачных ОС, наряду с пакетными системами и системами разделения времени, включаются также системы реального времени, не упоминавшиеся до сих пор. Они используются для управления различными техническими объектами или технологическими процессами. Такие системы характеризуются предельно допустимым временем реакции на внешнее событие, в течение которого должна быть выполнена программа, управляющая объектом. Система должна обрабатывать поступающие данные быстрее, чем те могут поступать, причем от нескольких источников одновременно. Столь жесткие ограничения сказываются на архитектуре систем реального времени, например, в них может отсутствовать виртуальная память, поддержка которой дает непредсказуемые задержки в выполнении программ. (См. также разделы, связанные с планированием процессов и реализацией виртуальной памяти). Эволюция ОС.
Начало созданию операционных систем для микроЭВМ положила ОС СР/М. Она была разработана в 1974 году, после чего была установлена на многих 8-разрядных машинах. В рамках этой операционной системы было создано программное обеспечение значительного объема, включающее трансляторы с языков Бейсик, Паскаль, Си, Фортран, Кобол, Лисп, Ада и многих других, текстовые (Текстовые процессоры - это наиболее широко используемый вид прикладных программ. Они позволяют подготавливать документы гораздо быстрее и удобнее, чем с помощью пишущей машинки. Текстовые процессоры позволяют использовать различные шрифты символов, абзацы произвольной формы, автоматически переносят слова на новую строку, позволяют делать сноски, включать рисунки, автоматически нумеруют страницы и сноски и т.д) и табличные процессоры, системы управления базами данных, графические пакеты ( Система управления базами данных (СУБД) - позволяет управлять большими информационными массивами - базами данных), символьные отладчики и другие проблемно ориентированные программы.
ОС типа DOS стала доминирующей с появлением 16-разрядных ПЭВМ, использующих 16-разрядные микропроцессоры типа 8088 и 8086. С точки зрения долголетия ни одна операционная система для микрокомпьютеров не может даже приблизиться к DOS. С момента появления в 1981 году DOS распространилась настолько широко, что завоевала право считаться самой популярной в мире ОС. Несмотря на некоторые свои недостатки и на то, что большая ее часть основывается на разработках 70-х годов, DOS продолжает существовать и распространяться и поныне. Хорошо это или плохо, она, вероятно, будет доминировать на рынке операционных систем в течение ближайшего времени. В настоящее время для DOS разработан огромный фонд программного обеспечения. Имеются трансляторы (Транслятор - программа, автоматически преобразующая программу на языке программирования в последовательность инструкций. Разновидности трансляторов - компилятор, интерпретатор) для практически всех популярных языков высокого уровня, включая Бейсик, Паскаль, Фортран, Си, Модула-2, Лисп, Лого, АПЛ, Форт, Ада, Кобол, ПЛ-1, Пролог, Смолток и др.; причем для большинства языков существует несколько вариантов трансляторов. Имеются инструментальные средства для разработки программ в машинных кодах - ассемблеры, символьные отладчики и др. Эти инструментальные средства сопровождаются редакторами, компоновщиками и другими сервисными системами, необходимыми для разработки сложных программ. Кроме системного программного обеспечения для DOS создано множество прикладных программ.
Стандарт MSX определял не только ОС, но и характеристики аппаратных средств для школьных ПЭВМ. Согласно стандарту MSX машина должна была иметь оперативную память объемом не менее 16 К, постоянную память объемом 32 К с встроенным интерпретатором языка Бейсик, цветной графический дисплей с разрешающей способностью 256х192 точек и 16 цветами, трехканальный звуковой генератор на 8 октав, параллельный порт для подключения принтера и контроллер для управления внешним накопителем, подключаемым снаружи. Операционная система такой машины должна была обладать следующими свойствами: требуемая память - не более 16 К, совместимость с СР/М на уровне системных вызовов, совместимость с DOS по форматам файлов на внешних накопителях на основе гибких магнитных дисков, поддержка трансляторов языков Бейсик, Си, Фортран и Лисп. Таким образом, эта операционная система, получившая название MSX-DOS, учитывала необходимость поддержки обширного программного обеспечения, разработанного для СР/М, и одновременно ориентировалась на новые в то время разработки, связанные с DOS.
Операционные системы, основанные на графическом интерфейсе. Помимо широко распространенных машин, проектируемых в соответствии со сложившимися стандартами, часто создаются машины, в которых особо выделяется какое-либо свойство. Так, наибольшее внимание в начале и середине 80-х годов привлекли своими графическими возможностями машины Macintosh и Amiga. В первой из них дисплей был монохромным, во второй - цветным, но обе отличались высокой разрешающей способностью и скоростью вывода графической информации на дисплей. Операционные системы для этих машин были спроектированы так, чтобы максимально использовать возможности работы с графикой. В них используется многооконный интерфейс и манипулятор " мышь". Для выбора той или иной операции или рабочего объекта на экран выводится несколько условных графических символов (пиктограмм), среди которых пользователь делает выбор с помощью " мыши".
В начальный период развития персональных компьютеров была создана операционная система USCD p-system. Основу этой системы составляла так называемая П-машина - программа, эмулирующая гипотетическую универсальную вычислительную машину. П-машина имитирует работу процессора, памяти и внешних устройств, выполняя специальные команды, называемые П-кодом. Программные компоненты Пи-системы (в том числе компиляторы) составлены на П-коде, прикладные программы также компилируются в П-код. Таким образом, главной отличительной чертой системы являлась минимальная зависимость от особенностей аппаратуры ПЭВМ. Именно это обеспечило переносимость Пи-системы на различные типы машин. Компактность П-кода и удобно реализованный механизм подкачки позволял выполнять сравнительно большие программы на ПЭВМ, имеющих небольшую оперативную память. Однако принципиальной особенностью данной системы являлся преимущественно интерпретационный режим исполнения прикладных программ, что влекло интенсивные обмены информацией между оперативной памятью и внешними накопителями. В результате происходило существенное замедление работы. Система UNIX приобрела популярность в связи с ее успешным использованием на мини-ЭВМ. Этот успех послужил толчком к тому, чтобы создать подобную систему и для персональных компьютеров. Как правило, различные версии ОС, относящихся к этому семейству, имеют свои названия, но в основных чертах повторяют особенности UNIX. UNIX - операционная система, которая позволяет осуществить выполнение работ в многопользовательском и многозадачном режиме. Поначалу она предназначалась для больших ЭВМ, чтобы заменить MULTICS. UNIX является очень мощным средством в руках программиста, но требует очень большого объёма ОЗУ и пространства диска. Несмотря на попытки стандартизировать эту операционную систему, существует большое количество различных его версий, главным образом потому, что она была распространена в виде программы на языке Си, которую пользователи стали модифицировать для своих собственных нужд. Главной отличительной чертой этой системы является ее модульность и обширный набор системных программ, которые позволяли создать благоприятную обстановку для пользователей-программистов. Система UNIX органически сочетается с языком Си, на котором написано более 90% ее собственных модулей. Командный язык системы практически совпадает с языком Си, что позволяло очень легко комбинировать различные программы при создании больших прикладных систем.
Для получения общего представления об операционных системах на данном этапе изложения представим пример обобщенной модели иерархической операционной системы. Она, несомненно, полезна для понимания сути дела, хотя и не соответствует ни одной реальной операционной системе. Сама модель приведена в табл. и состоит из следующих уровней. Уровень 1. В него входят электронные схемы; объектами данного уровня являются регистры, ячейки памяти и логические элементы. Над этими объектами выполняются различные действия, такие, как очистка содержимого регистра или считывание ячейки памяти. Уровень 2. Набор команд процессора. В число операций, выполняемых на этом уровне, входят те, которые допускаются набором команд машинного языка, например сложение, вычитание, загрузка значения из регистра или сохранение в нем. Уровень 3. Содержит концепцию процедуры (подпрограммы), а также операции вызова и возврата. Уровень 4. Уровень прерываний, которые заставляют процессор сохранить текущий контекст и выполнить подпрограмму обработки прерывания. На самом деле первые четыре уровня не являются частями операционной системы, они составляют аппаратное обеспечение процессора. Однако на этих уровнях уже появляются некоторые элементы операционной системы, такие, как программы обработки прерываний. Вплотную к операционной системе мы подходим только на пятом уровне, на котором возникают концепции, связанные с многозадачностью. Уровень 5. На этом уровне вводится понятие процесса, под которым подразумевается работающая программа. В число фундаментальных требований к операционной системе, способной поддерживать одновременную работу не скольких процессов, входят способность приостанавливать процессы и возобновлять их выполнение. Для этого необходимо сохранять содержимое регистров аппаратного обеспечения, чтобы можно было переключаться с одного процесса на другой. Кроме того, если процессы должны взаимодействовать между собой, необходим механизм их синхронизации. Одной из важнейших концепций устройства операционных систем является семафор — простейший способ передачи сигналов, который рассмотрен в главе 5, " Параллельные вычисления: взаимоисключения и многозадачность". Уровень 6. Компоненты этого уровня взаимодействуют со вспомогательными запоминающими устройствами компьютера. На этом уровне происходит позиционирование считывающих головок и физическая передача блоков данных. Для планирования работы и уведомления процесса о завершении запрошенной операции уровень 6 использует компоненты уровня 5. Уровень 7. Создает логическое адресное пространство процессов. Уровень организует виртуальное адресное пространство в виде блоков, которые могут перемещаться между основной памятью и вспомогательным запоминающим устройством. Широко распространены следующие три схемы: использование страниц фиксированного размера, использование сегментов переменного размера и комбинация тех и других. Если нужный блок отсутствует в основной памяти, то данный уровень передает уровню 6 запрос о передаче этого блока. До сих пор речь шла только о взаимодействии операционной системы с процессором. Компоненты операционной системы, относящиеся к восьмому и более высоким уровням, вступают во взаимодействие с внешними объектами, такими, как периферийные устройства, а возможно — с сетью и компьютерами, подключенными к сети. Объектами этих уровней являются логические именованные объекты, которые могут совместно использоваться несколькими процессами, исполняющимися на одном или на нескольких компьютерах. Уровень 8. Отвечает за обмен информацией и сообщениями между процессами. На этом уровне происходит более богатый обмен информацией, чем на уровне 5, который обеспечивает работу первичного сигнального механизма для синхронизации процессов. Одним из наиболее мощных инструментов подобного типа является конвейер, представляющий собой логический канал передачи данных между процессами. Конвейер определяется как канал, передающий вывод одного процесса на вход другого; кроме того, он может быть использован и для связи с процессом внешних устройств или файлов. Эта концепция рассматривается в главе 6, " Взаимоблокировка и голодание". Уровень 9. Обеспечивает долгосрочное хранение файлов. На этом уровне данные, хранящиеся на вспомогательном запоминающем устройстве, рассматриваются как абстрактные объекты переменной длины, в противоположность аппаратно-зависимому рассмотрению вторичной памяти как набора дорожек, секторов и блоков фиксированного размера, присущему уровню 6. Уровень 10. Предоставляет доступ к внешним устройствам с помощью стандартных интерфейсов. Уровень 11. Поддерживает связь между внешними и внутренними идентификаторами системных ресурсов и объектов. Внешний идентификатор — это имя, которое может использоваться приложением или пользователем. Внутренний идентификатор — это адрес или другой индикатор, используемый нижними уровнями операционной системы для обнаружения объекта и управления им. Эта связь поддерживается с помощью каталога, который включает в себя не только взаимное отображение внешних и внутренних идентификаторов, но и такие характеристики, как, например, права доступа. Уровень 12. Предоставляет полнофункциональные средства поддержки процессов. Возможности этого уровня намного превосходят возможности уровня 5, на котором поддерживается только содержимое регистров процессора, имеющее отношение к процессу, и логика диспетчеризации процессов. На уровне 12 эта информация используется для упорядоченного управления процессами. Сюда же относится и виртуальное адресное пространство процессов, список объектов и процессов, с которыми оно может взаимодействовать, и правила, ограничивающие это взаимодействие; параметры, переданные процессам при их создании, и прочие характеристики процессов, которые могут быть использованы операционной системой для управления. Уровень 13. Обеспечивает взаимодействие операционной системы с пользователем. Этот уровень называется оболочкой (shell), так как он отделяет пользователя от деталей внутреннего устройства операционной системы и представляет ее пользователю как набор сервисов. Оболочка принимает команды пользователя или инструкции управления заданиями, интерпретирует их, создает необходимые процессы и управляет ими. На этом уровне, например, может быть реализован графический интерфейс, предоставляющий пользователю возможность выбора команды с помощью меню и отображающий результаты работы на экране. Описанная гипотетическая модель операционной системы дает представление о ее структуре и может служить руководством по реализации конкретной операционной системы. В процессе изучения изложенного в настоящей книге курса читателю будет полезно время от времени возвращаться к этой структуре, чтобы лучше понимать, как отдельные компоненты операционных систем соотносятся друг с другом. Таблица. Иерархическая модель операционной системы |
Последнее изменение этой страницы: 2017-03-15; Просмотров: 1057; Нарушение авторского права страницы