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) аппаратно-зависимые места локализованы и при переносе системы на новую платформу переписываются. Аппаратно-независимая часть реализуется на языке программирования высокого уровня, как правило, на языке С, и перекомпилируется при переходе на другую платформу. |