<<
>>

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

Основу общесистемного ПО составляют ОС. Это - один из наиболее важных компонентов вычислительной системы независимо от класса ЭВМ, которая осуществляет интерфейсные функции между пользователем и аппаратурой.
Кроме того, ОС обеспечивают управление ресурсами вычислительной системы (ЦП, ОП, УВВ). За время существования ЭВМ в эволюции ОС можно выделить несколько этапов, на каждом из которых решались задачи, актуальные для определенного времени.
241


В 40-е годы полное отсутствие элементов ОС привело к чрезвычайно низкой эффективности использования ЭВМ. Операторы должны были вручную (с помощью переключателей) загружать и выполнять программы пользователей. Время работы ЭВМ составляло незначительную часть по сравнению с подготовительными операциями. Хотя ресурсы ЭВМ полностью использовались при работе загружаемой программой, отсутствовали «накладные расходы» на программное сервисное обслуживание ЭВМ.

50-е годы ознаменовались появлением зачатков ОС, хотя отсутствовало само понятие этой структуры. Основная задача, которая решалась на этом этапе, - повышение эффективности использования ЭВМ, создание удобств для оператора по загрузке и выполнению задач пользователей. Был разработан пакетный режим обработки данных. Исходные тексты (или командные коды) программ готовились на автономных устройствах подготовки данных (на перфокартах или перфоленте (УПДК, УПДЛ)), после чего загружались в ЭВМ.

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

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

90-е - 2000-е годы связаны с интенсивным внедрением сетевых ОС.


242


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

Рис. 6.2. Состав операционных систем

Управляющие программы. Ядро ОС составляют управляющие программы, с которых и началось создание ПО этого вида.
Одно из важнейших понятий, связанных с управляющими программами, - понятие «процесс», под которым понимается любая задача (или несколько), находящаяся в ОП и обрабатываемая ЦП. Другими словами, это среда аппаратного или программного обеспечения, в

243



которой выполняется программа или происходит сеанс работы за терминалом.

Когда входите в систему, она порождает для Вас процесс. Процессу присваиваются атрибуты, связанные с Вашим разделом: ресурсы аппаратуры (например, место на диске), квота ОП памяти, привилегия (например, возможность доступа к файлам и т.п.).

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

Программы - супервизоры, осуществляющие планирование работы процессов, представлены в модуле «Управление задачами». Качественный скачок от сравнительно простых управляющих программ к современным ОС произошел с появлением мультипрограммной обработки задач (см. гл. 2). Программная поддержка этого режима может осуществляться двумя путями.

1. Переключение по событию происходит, когда ОС не определяет момент смены текущей задачи. Этот путь может быть указан активной задачей, «добровольно» приостанавливающей свое выполнение с помощью специального обращения к операционной системе (например, с запросом ввода-вывода). Поскольку задача переходит затем в ожидание результата операции, операционная система может передать управление процессом другой ожидающей задаче. Этот метод требует организации системы приоритетов для указания задачи (из очереди), которой необходимо передать управление. Приоритет - число, приписанное ОС каждому процессу и задаче. Чем больше это число, тем важнее этот процесс или задача.

2. Метод разделения времени (time-sharing) основан на использовании внешнего сигнала, поступающего на процессор через равные интервалы времени. Обычно происходит аппаратное прерывание от внешнего таймера, при этом операционная система прекращает выполнение текущей задачи и сохраняет ее параметры в момент остановки. Планировщик анализирует список ожидающих задач и передает управление выбранной задаче.

На рис. 6.3 представлены изменения состояний процесса при реализации мультипрограммного режима работы.

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


244


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

Рис. 6.3. Изменение состояния процесса

Режим невытесняющей многозадачности исключает прерывание по таймеру (в схеме рис. 6.3 исключается цепь «Истек квант времени»).

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

Имеется несколько типов заданий, представляющих команды ОС:

получение информации о системе;

манипулирование файлами;

команды запуска программ на выполнение;

командные процедуры пакетной обработки;

команды, связанные с разработкой программ;

распределение ресурсов памяти и внешних устройств.


245



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

Прерывание (interrupt) - сигнал, заставляющий менять порядок исполнения потока команд. Возникновение подобных сигналов может быть обусловлено самыми разнообразными событиями. На рис. 6.4 представлена последовательность событий, происходящих в ответ на сигнал прерывания.



Рис. 6.4. Основная концепция обработки прерываний

Если в момент поступления от некоторого источника сигнала прерывания программа А находится в процессе исполнения, управление автоматически передается блоку программ обработки прерываний. Эти программы предназначены для выполнения некоторых действий в ответ на условие, вызвавшее прерывание. После завершения обработки управление может быть снова передано в ту точку программы А, где ее выполнение было прервано.

246


Следует иметь в виду, что возникновение и обработка прерываний могут быть совершенно не связаны с прерванной программой А. Можно выделить четыре класса прерываний.

Первый класс - прерывания, возникающие при выполнении ЦП команд вызова супервизора.

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

Третий класс - прерывание по таймеру, которое обсуждалось выше.

И, наконец, четвертый - главный вид прерываний - прерывание по вводу-выводу.

Управляющая часть ОС обычно называется монитором и является резидентной, т.е. постоянно находится в ОП ЭВМ.

Следующие две подгруппы программ, входящие в ОС, - это обрабатывающие и утилиты (или вспомогательные программы).

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

Обрабатывающие программы. Они составляют основу инструментального обеспечения ЭВМ (см. рис. 6.2). Кратко рассмотрим их назначение и разновидности. Они отражают три состояния одной и той же программы, о которой уже упоминалось: фаза подготовки на машинный носитель (диск или ленту) текста программы на языке программирования (вид S - source); фаза трансляции и перевода написанной программы в коды ЭВМ (вид О - object); фаза компоновки и сборки готовой программы (вид B - binary) с помощью компоновщика (или редактора связей).

Язык программирования и транслятор, реализующий его на конкретной ЭВМ, обычно объединяют под общим названием - система программирования.

Трансляторы могут быть представлены в следующих вариантах:

ассемблеры;

компиляторы;

интерпретаторы;

трансляторы, использующие промежуточный код;

кросс-трансляторы.


247


Ассемблеры - трансляторы с языков Ассемблер. Хотя у каждого типа ЭВМ имеется свой язык, все разновидности трансляторов с этих языков имеют единое название - Ассемблер.

Компиляторы - наиболее распространенный вид транслятора. Схема его работы представлена на рис. 6.5, а.

После создания текста программы (исходного модуля) на машинном носителе с помощью текстового редактора EDIT (1-й этап — EDIT) он загружается в ОП и последовательно, строчка за строчкой, обрабатывается компилятором (COMPILE). Как правило, компиляторы имеют синтаксическую диагностику, поэтому этот процесс (EDIT-COMPILE) носит итерационный характер.

После завершения синтаксической отладки (2-й этап) создается объектный модуль (О) этой программы, который на следующем этапе 3 обрабатывается редактором связи (или компоновщиком). Компоновщик включает в программу необходимые библиотечные модули и в результате работы этой программы создается исполнимая программа (В). Таким образом, в результате работы трех обрабатывающих программ имеются три программы одного и того же функционального назначения в различных форматах. Как правило, по завершении каждой стадии программы перечисленных форматов копируются на диск, а соответствующие обрабатывающие программы также удаляются из ОП. В связи с этим, чтобы запустить изготовленную программу, ее необходимо загрузить (этап 4 - LOAD) в ОП и произвести ее запуск (этап 5 - RUN).

В отличие от компилятора интерпретатор обрабатывает по одному предложению программы, выполняя все четыре фазы, (рис. 6.5, б). Разница, в некотором смысле, подобна разнице между переводчиком литературы и переводчиком устной речи. Этот режим характерен для диалоговых языков и, безусловно, более удобен с точки зрения алгоритмической отладки программ и оперативного получения результатов. Но для выполнения интерпретируемой программы интерпретатор должен находиться в оперативной памяти вместе с выполняемой программой.


248


а

Рис. 6.5. Схема работы компилятора (а) и интерпретатора (б)

В принципе, большинство языков программирования могут быть как интерпретируемыми, так и компилируемыми. Однако традиционно интерпретируются сравнительно простые языки, например Бейсик (хотя существуют и версии компиляторов этого языка). Традиционно компилируемые языки имеют средства алгоритмической отладки (отладчики или трассировщики), позволяющие проводить среди множества функций и пошаговую отладку программ. Этот режим эквивалентен интерпретации программы. Основным преимуществом компилятора является скорость выполнения программ, поэтому большинство языков программирования, которые используют для создания сложных пакетов программ, применяют этот режим.

249


Транслятор, использующий промежуточный код был впервые разработан в университете Сан Диего (штат Калифорния) в рамках ОС UCSD p-System. Цель разработки - предложить студентам простой инструмент, используемый на различных типах компьютеров. Система использовала «псевдокод» - р-код, который является чем- то средним между машинным и исходным языками. Он распознавался любым микропроцессором при условии, если последний имел соответствующий интерпретатор. Любая программа в рамках этой системы запускалась на различных типах компьютеров, таких, как Apple, DEC-PDP11, Osbom.

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

Интерес к промежуточному коду значительно возрос в связи с сетевыми приложениями, требующими платформенной независимости запускаемых приложений. Практически все современные инструментальные средства сетевого программирования, такие, как Java, C# и т.п., используют промежуточный код, который имеет общее название байт-код. Microsoft использует промежуточный код MSIL (Microsoft intermediate Language). Одна из первых использовала этот подход фирма Sun при разработке языка сетевого программирования Java. Язык Java использует так называемые аплеты - небольшие программы, запускаемые на Web-клиенте при обнаружении последним вызова в HTML-программе отображаемой страницы. При вызове аплета его промежуточная форма загружается клиентом с сервера и интерпретируется. Результат работы отображается в виде Web-страницы. Аплеты работают под управлением броузера и не зависят от конкретного типа компьютера и его ОС. При этом браузер (Hot Java) пишется на языке Java.

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

Кросс-системы, устанавливаемые на больших и мини-ЭВМ, используются при программировании микросистем с ограниченными


250


инструментальными возможностями. Так, кросс-компиляторы позволяют проводить отладку ПО для микроЭВМ с применением расширенных возможностей больших универсальных ЭВМ.

Редакторы связи (ЫККЕБГТОЯ), или компоновщики, у которых основная задача - сборка программы готовой к исполнению, подключают к основной программе внешние модули как системных библиотек, включенных в состав соответствующих трансляторов, так и внешних библиотек, включая модули, разработанные самим пользователем.

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

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

Широкое распространение на мини-ЭВМ и ПК, имеющих жесткие диски большой емкости, получили так называемые файловые системы, представляющие собой совокупность каталогов и файлов, хранимых на внешних носителях.

Файл - поименованная область на внешнем носителе (диске или магнитной ленте), в которой может храниться исходный текст про


251


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

Каталог (директория) - оглавление, это файл, содержащий информацию о файлах (имя, расширение, размеры в байтах, дату и время создания и т.д.), и другие каталоги, называемые подкаталогами (подчиненные каталоги). Так, образуется иерархическая древовидная структура, в основании которой находится корневой каталог. Такая структура дает возможность выделить: в отдельные группы логически однородные файлы; отдельное пространство на диске для каждого из пользователей данной ЭВМ;

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

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

Термин «файловая система» - совокупность каталогов и файлов, хранящихся на внешних носителях компьютера. Физически файлы подразделяются на: обычные, каталоги, архивированные, Hidden (скрытые), защищенные (R - чтение, read; W - запись, write; Е - исполнение, Execute; D - удаление, Delete). Логически они подразделяются на: текстовые (txt, For, Pas, C, ASS и т.п.), графические, объектные (obj), исполнимые (exe, svs, com). Основные манипуляции, производимые с файлами, следующие: open - открыть (подготовить к обращению), close - закрыть (запретить дальнейшее обращение), create - создать (обеспечить формирование нового файла), destroy - разрушить (удалить файл), copy - копировать (создать еще один экземпляр файла), rename - переименовать (изменить имя файла), list - вывести содержимое файла.

Утилиты (вспомогательные программы) предназначены для копирования, перемещения, печати данных. Эта группа программ позволяет организовать удобства при всевозможных обменах данными.


252


Перечисленные программы ОС могут поглощать значительные ресурсы ЭВМ. Если управляющие программы загружаются и практически постоянно находятся в ОП во время работы ЭВМ, то в зависимости от размещения оставшейся части ОС подразделяются на: ПЛОС - перфоленточные ОС; ДОС - дисковые ОС; ОС - размещение в ОП.

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

По способу взаимодействия с пользователем различные ОС обеспечивают три режима работы:

1) режим пакетной обработки, наиболее эффективный с точки зрения использования ресурсов ЭВМ, но не очень удобный для пользователя;

2) режим диалога с пользователем:

однопользовательский, при котором один программист полностью монополизирует ЭВМ (приемлемо для ПК);

многопользовательский, или режим разделения времени (характерен для ЭВМ и ПК большой мощности);

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

3) режим реального времени, при котором время выполнения программы на ЭВМ обусловливается внешними обстоятельствами (этот режим связан с автоматизацией различных технологических процессов, управлением различными объектами, системами наведения и т.п.).

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

Необходимой составной частью любой универсальной ЭВМ являются системы обеспечения нормального функционирования или комплексы программ технического обслуживания, в которые входят:

средства генерации ОС;

контрольно-наладочные тесты;

комплекты диагностических программ.

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


253


нопользовательские однозадачные; ОС пакетной обработки; однопользовательские многозадачные; многопользовательские; многозадачные или ОС с разделением времени; ОС реального времени; ОС, ориентированные на работу с базами данных и т.п.

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

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

6.1.

<< | >>

Еще по теме Операционные системы, их эволюция, состав и функциональное назначение отдельных частей:

  1. 2. Преимущественное право на получение отдельных частей наследства
  2. Статья 217. Правовые последствия недействительности отдельных частей сделки
  3. Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
  4. В.Е. Карпов К.А. Коньков. Основы операционных систем, 2005
  5. Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ, 2015
  6. § 39 Классификация договоров в отдельных видах. – Римская классификация. – Система прусского закона, французского и австрийского кодекса. – Система русского свода. – Система настоящего изложения.
  7. ТЕОРИЯ СИСТЕМ ФУНКЦИОНАЛЬНЫХ
  8. 2. Особенности и основные этапы эволюции правовой системы РСФСР
  9. § 3. Состав, формирование и отставка Правительства Российской Федерации Состав.
  10. 1. Система отдельных видов договоров розничной купли-продажи
  11. 8. СИСТЕМА ЖАНРОВ В ЖРНАЛИСТИКЕ. ЭВОЛЮЦИЯ ЖАНРОВ. ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗМЕНЕНИЕ ЖАНРОВОЙ СПЕЦИФИКИ. ОСНОВНЫЕ ТЕНДЕНЦИИ НА СЕГОДНЯШНИЙ ДЕНЬ.
  12. Книга состоит из двух частей.
  13. § 1. Анализ зарубежного опыта социально-педагогической работы с личным составом частей и подразделений
  14. Глава 5. Зарубежный опыт социально-педагогической работы с личным составом частей и подразделений
  15. § 53 Завещание – односторонний акт воли. – Общие формы заве- щания. – Кодицилл. – Словесное завещание. – Привилегиро- ванные завещания. – Право делать завещание и лица к сему неспособные. – Право приобретать по завещанию. – Назначение наследника. – Отказы или легаты. – Условные назначения. – Субституция.
  16. ЭВОЛЮЦИЯ