4.2.2. Эволюция и классификация операционных систем


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

Компьютеры, построенные на полупроводниковых элементах, стали более компактными, надежными и применялись при реше­нии более широкого класса прикладных задач. Появились пер­вые алгоритмические языки, компиляторы и системы пакетной обработки. Эти системы явились прообразом современных ОС. Основное их назначение — увеличение загрузки процессора.

Переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам сопровождался со­зданием семейств программно-совместимых машин, например, семейства IBM/360, ЕС ЭВМ. ОС этих компьютеров ориентиро­вались на обслуживание вычислительных систем с разнообраз­ными периферийными устройствами и в различных областях деятельности.

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

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

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

По числу одновременно выполняемых задач выделяют ОС: однозадачные ОС (MS-DOS, ранние версии PC DOS); многозадачные (OS/2, UNIX, Windows).

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

Многозадачные ОС дополнительно управляют разделением между задачами совместно используемых ресурсов. 

Поддержка многонитевости предполагает возможность вы­полнения некоторых команд программы практически в один и тот же момент. Многонитевая ОС разделяет процессорное время не между задачами, а между отдельными ветвями (нитя­ми) алгоритмов их решения (многозадачность внутри одной задачи).

По числу одновременно работающих пользователей выделя­ют ОС: однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2); многопользовательские (UNIX, Windows NT).

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

Многопроцессорная обработка предполагает поддержку ра­боты нескольких процессоров и присутствует в ОС Solaris 2.x фирмы Sun, OS/2 фирмы IBM, Windows NT фирмы Microsoft, NetWare 4.1 фирмы Novell и др.

Многопроцессорные ОС делятся на асимметричные и симмет­ричные ОС. 

Асимметричная ОС выполняется на одном из процессоров системы, распределяя прикладные задачи по осталь­ным процессорам. 

Симметричная ОС децентрализована и ис­пользует все процессоры, разделяя между ними системные и при­кладные задачи.

Очевидно, что ОС персонального компьютера менее сложна, чем ОС мэйнфреймов и суперЭВМ. Отличием сетевой ОС от локальной являются средства передачи данных между компьюте­рами по линиям связи и реализация протоколов передачи дан­ных, например IP, IPX и др.

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