Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Операционные системы (часть 1)

.pdf
Скачиваний:
11
Добавлен:
24.03.2015
Размер:
219.83 Кб
Скачать

Операционные системы

курс лекций © В.Лидовский, 2003–2014

Введение

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

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

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

Задача (task) или процесс (process) - это выполняемая программа.

Также выделяют много- и однопользовательские ОС. Многопользовательские ОС позволяют нескольким пользователям одновременно запускать свои программы, а однопользовательские позволяют работать только одному пользователю.

Многопользовательская система состоит из одного системного блока (mainframe), к которому подключены несколько терминалов.

Терминал - это совокупность устройств ввода и вывода информации, используемых для работы с удаленным компьютером, а также устройство связи. Например, дисплей, клавиатура, мышка и плата сетевого интерфейса образуют терминал.

Консоль - совокупность устройств ввода и вывода информации. Например, экран и мышка или принтер и клавиатура образуют консоль компьютера.

Другой способ классификации ОС основан на типе предоставляемого пользователям интерфейса: пакетной обработки или диалогового (интерактивного).

При интерфейсе с пакетной обработкой пользователь практически не взаимодействует с вычислительной машиной: он сдает своё задание, например, на перфокартах, и через некоторое время приходит

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

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

что процессорное время выделяется для задач маленькими порциями и переключение между задачами происходит достаточно быстро, создается иллюзия одновременности выполнения многих программ. Примерами систем разделения времени являются такие ОС как Microsoft Windows XP и Unix.

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

С ОС связаны ряд понятий таких как командные файлы и потоки ввода-вывода.

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

файлов. Командный файл часто называют скриптом (script) или сценарием,

При своем выполнении программа, как правило, выводит информацию на экран (на принтер или в файл) - это поток вывода программы.

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

Все ОС можно условно разделить на две группы: простейшие и высокоразвитые. К первой группе относятся такие ОС, как

CP/M, фирменные ОС 8-разрядных компьютеров (вторая половина 1970-х, первая половина 1980-х), UCSD p-system и DOS. Ко второй группе относятся следующие ОС: VM, Unix, Apple Macintosh System, Microsoft Windows, OS/2.

Системы Linux и Microsoft Windows являются многозадачными, а VM и Unix - многопользовательскими.

Фирменные ОС для 8-разрядных ЭВМ (таких как Sinclair Spektrum, Commodore PET, Apple II (АГАТ) и многих других персональных компьютеров,

популярных с конца 1970-х до начала 1990-х) представляют собой интерпретатор языка Бэйсик, который помещается на микросхеме постоянной памяти, что не

требовало наличия у компьютера НГМД или подобных устройств. Подобная ОС долгое время устанавливалась

на компьютеры IBM PC: она использовалась в случае отсутствия у компьютера дисковода. [Интерпретатор языка Бэйсик писался на языке Ассемблера. Поэтому для таких ОС язык Ассемблера является языком СП. Кроме

того, 8-разрядные процессоры имеют невысокое быстродействие и поэтому язык Ассемблера является также средством для создания инструментального ПО и значительной части прикладного ПО. Рассматриваемые ОС практически не имели средств для изменения среды диалога с пользователем, а также средств для организации порядка выполнения и взаимодействия программ, т.е. не было поддержки командных файлов. Фактически эти ОС предоставляли пользователю лишь возможность создавать программы на Бэйсике и не имели стандартных средств даже для набора и печати обычных текстов. Каждая из таких ОС была жестко связана с конкретным микропроцессором, видеоконтроллером и другими микросхемами, что делало перенос таких ОС с одного типа компьютеров на другой невозможным. Все устройство таких компьютеров и ОС являлись собственностью фирмы-производителя. Кроме того, из-за того, что физические параметры устройств хранения информации, а также формат данных сохраняемой информации являются для каждой такой ОС уникальными, перенос данных, подготовленных в среде одной такой ОС, в любую другую ОС и наоборот практически неосуществим. Среди таких ОС можно выделить две: 1) ОС для компьютеров серии Commodore PET (1977), самые популярные персональные компьютеры начала 1980-х. В той ОС имена файлов могут иметь длину до 16 символов, а также обеспечивается переадресация стандартного потока вывода информации, например, вывод на экран может быть перенаправлен в файл или на

принтер); 2) ОС для компьютеров Apple II, созданную Стивом Джобсом и Стефеном Возняком в 1977 [история возникновения Apple] - эта система наилучшая из рассматриваемых - в своих последних модификациях она поддерживала (единственная из ОС, существующих для 8-разрядных ЭВМ) древовидную файловую систему. Так как все 8-разрядные компьютеры не имеют совместимых с ними 16или 32-разрядных компьютеров и ныне не производятся, то встретиться с ОС для них можно лишь в программных эмуляторах 8-разрядных компьютеров.]

ОС UCSD p-system (начало 1980-х, University of California at San Diego) получила некоторую популярность в 1980-е годы, во времена засилья изолированных фирменных ОС. Основными особенности этой:

полная независимость от аппаратуры, минимальность требуемых аппаратных ресурсов, простота реализации, универсальный язык Ассемблера (пи-код). Независимость от аппаратуры достигалась благодаря использованию пи-кода, который представляет собой язык Ассемблера не конкретного, а некоторого абстрактного процессора. Отсюда следует, что версия этой ОС для каждого конкретного типа компьютеров должна содержать транслятор с пи-кода в машинный код микропроцессора выбранного компьютера. Этот транслятор очень мал и несложен. Основным инструментальным средством этой ОС является язык Паскаль. UCSD p-system на 8-разрядных компьютерах, как альтернатива фирменным ОС, а также как одна из операционных систем для первых IBM PC (наряду с CP/M-86 и MS-DOS). Использовалась эта ОС и на других типах ЭВМ, т.к. установить USCD p-system можно в вычислительную машину любой аппаратной конфигурации. Недостаток USCD p-system это медленность пи-кода, который является интерпретирующимся. [Идея p-кода получила развитие в языке Java и на

платформе .NET.]

Операционная система CP/M (Control Program for Microcomputers, 1975, Gary Kildall, Digital Research) является

прямым предшественником ОС MS-DOS. [Она получила распространение на очень широком классе компьютеров. Основное требование ОС CP/M к аппаратуре - это наличие микропроцессора совместимого с Intel 8080 (8-разрядный). Тип видеоконтроллера и прочих микросхем практически никак не регламентируется. Для ОС CP/M существует множество трансляторов с различных языков программирования: Си, Паскаль (Borland Pascal сначала был создан именно для CP/M), Фортран, Бэйсик и других. Сама ОС написана на языке Ассемблера, который является основным средством СП для нее. Старшие версии этой ОС поддерживают командные файлы простейшей структуры. В CP/M нет стандартных средств для переадресации потоков ввода-вывода. Существуют многозадачные и

многопользовательские версии CP/M.] ОС MSX-DOS (Yamaha), которая долгое время считалась стандартом для школьных компьютеров, является разновидностью

CP/M. [Существуют версии CP/M (CP/M-86), которые работают на компьютерах с микропроцессором, совместимым с Intel 8086, и, следовательно, на IBM PC совместимых компьютерах. Основной недостаток CP/M - это отсутствие поддержки древовидной файловой системы.]

Самая развитая среди простейших ОС - это DOS

(1981, Microsoft). DOS предназначена для использования только

на IBM PC совместимых компьютерах. [Первые версии этой ОС практически ничем не отличались от CP/M: не было поддержки

древовидной файловой системы и переадресации потоков ввода-вывода.] С 1984 года MS-DOS стала развиваться заимствованием

идей из операционной системы UNIX. [В MS-DOS появились: древовидная файловая система, переадресация потоков ввода-вывода, командные файлы с расширенным синтаксисом, средства для переконфигурации системы. Внутреннее, скрытое от пользователя, устройство MS-DOS также стало UNIX-подобным.] Однако все попытки реализовать в DOS многозадачность подобную существующей

в Unix оказались неудачными. [Языки СП для MS-DOS - это ассемблер и Си.] Существуют варианты DOS разных фирм MS-DOS --- Microsoft (поддерживалась официально до 1994, версия 6.22, и неофициально до 2000, версия 8.0),

PC-DOS --- IBM (до 2002), DR-DOS (последняя версия 8.0 от 2004), FreeDOS --- GNU (последняя версия 2012 года ), PTS-DOS --- отечественная разработка (последнее большое обновление было в 2004) и др.

Новым подходом в реализации многозадачности программ для ОС DOS стала ОС Microsoft Windows. Кроме организации многозадачности для программ, написанных для DOS, эта ОС предоставляла пользователю унифицированный графический интерфейс для прикладных программ, написанных специально для Windows. Для последних первые версии Windows не являлись многозадачными в полном смысле этого слова, но, начиная с версии Windows 95, эта ОС

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

интерфейс. [Для Windows 95 требуется уже, как минимум, процессор, совместимый с Intel 80386.] Версий Windows 95/98/Me предназначены для

использования только на IBM PC совместимых компьютерах. Варианты Windows

NT/2000/XP могут быть использованы и на других компьютерах.

Windows 95/98/Me сохранили совместимость с DOS в отличие от NT/2000/XP, в которых основное внимание уделяется надежности и поддержке работы в сети. [NT/2000/XP - это системы, сопоставимые по возможностям с

Unix и максимально совместимые с предыдущими ОС фирмы Microsoft. Ныне ОС Windows - самая распространенная в мире. Язык СП для Microsoft

Windows - это Си. Важным преимуществом вариантов ОС Microsoft Windows перед DOS является возможность организации тесного взаимодействия между программами.]

Развитие систем Microsoft Windows:

@

CP/M 1975

UNIX 1970

@

\

/?

@DOS 1981 , 1984

@

/

 

 

\?

 

@

1.0

1985

 

|

 

@

|

 

 

|

 

@

2.0

1987

перекрывающиеся

OS/2 1987 (совместно с IBM)

@

|

окна

| 80286, виртуальная память

@

3.0

1989

многозадачность

|

@

|

для программ DOS |

 

@

3.1

1991

80286, шрифты

|

@| TrueType, лок. сеть, |

@| виртуальная память NT 1992

@

95 1995 многозадачность | лок. сеть, защита информации, 80386

@

|

всех программ,

| длинные имена файлов, Internet

@

|

длинные имена

|

@

|

файлов, 80386

|

@98 1998 поддержка Internet |

@

| и дисков >2 GB |

@

ME 2000

2000 2000

@

\?

/

@

 

XP 2001

@

 

Vista 2007

@

 

Windows 7 2009

@

 

Windows 8 2012

[В развитии OS/2 (1987) можно выделить два этапа. На первом из них (с 1987 по 1991) ее разработка ведется фирмами IBM и Microsoft, она предназначена для использования только на IBM PC совместимых компьютерах с процессором, совместимым с Intel 80286, в ее среде не запускаются многие программы DOS. На втором этапе (с 1991 г.) разработку OS/2 ведет только фирма IBM (Microsoft отказалась от сотрудничества с IBM и выпустила конкурента OS/2 ОС Windows NT).] В конце 1990-х IBM заявила о своем прекращении поддержки OS/2 и переходе на поддержку Linux.

[Первоначальная ОС Macintosh (Mack) System (1984, Apple Computer) является наиболее закрытой из развитых ОС, с рядом черт, напоминающих фирменные ОС 8-разрядных компьютеров:

1) ее часть загружается не с диска, а со специальной микросхемы ПЗУ,

выпускать аналоги которой запрещено без специального разрешения фирмы Apple;

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

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

Эта ОС - первая массовая ОС с унифицированным графическим интерфейсом пользователя. Она однопользовательская и не является многозадачной в полном смысле этого слова, т.к. переключение между задачами осуществляется не на уровне ОС, а на уровне взаимодействия прикладных программ. "Многозадачность" в ней реализована подобным принятому для программ графического интерфейса Microsoft Windows 3.xx способом. От нее отказались во второй половине

1990-х.]

Современные ОС для Macintosh основаны на базе кода Free BSD.

Сначала ОС Macintosh System была написана для 16-разрядного микропроцессора Motorola 68000 (сопоставим с Intel 80286), более поздние ее версии требовали уже 32-разрядного микропроцессора 68020 (80386), 68030 (80486) или 68040 (Pentium), а, начиная с середины 1990-х, 32/64 разрядного процессора PowerPC. С 2006 начался переход на процессоры Intel.

[Языками СП для этой ОС первоначально были ассемблер и Паскаль. Ныне основной язык СП --- Си и Объектный Си (Objective C).]

ОС VM (Virtual Machines - виртуальные машины, экспериментальная система 1967, серийная с 1972, IBM) реализует технологию полной виртуализации, т.е. предоставляет пользователю виртуальную аппарату, неотличимую от настоящей. Предоставляет возможность создания многих виртуальных машин, каждая из которых, за исключением быстродействия, неотличима от базового компьютера. Используется с мэйнфрэймами IBM System/370, System/390, zSeries, System z. Существует доступный свободно эмулятор VM Геркулес, позволяющий использовать эту ОС даже на ПК. VM не имеет средств для организации обычных для других ОС функций: диалога с пользователем, работы с файлами и т.п. - она лишь создает среду для загрузки пользователем предпочтительной для него ОС. Среди таких ОС типичны Linux, Aix, сама VM (это позволяет проводить безопасные тестирование

и разработку, есть технологии, использующие вложенность VM вплоть до 5 уровня), CMS (однопользовательзовательская многозадачная ОС, специально предназначенная для работы в среде VM, использует паравиртуализацию).

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

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

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

Технология использования виртуальных машин реализуется также отдельными программами. Существует несколько способов реализации виртуализации:

1)динамическая или бинарная трансляция --- преобразование машинных кодов, эмуляция;

2)аппаратный --- использование специальной аппаратуры для поддержки виртуализации. Такая поддержка есть, например, в современных процессорах для ПК.

ОС, работающая в виртуальной машине, называется гостевой (guest). Программавиртуализатор запускается в среде принимающей или хостовой (host) ОС

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

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

Примеры программ-виртуализаторов (их существует более 50):

@

род

фирменный

бесплатный открытый

@

гипервизора

 

 

код

@Xen

1

-

 

+

+

 

@VirtualBox

2

Sun, Oracle +

+

@VMware

1, 2

 

VMware

%

- считается лучшим

@Bochs

2

-

 

+

+

 

@Qemu+kvm

2

 

-

+

+

@Hyper-V

2

Microsoft

-

-

@DosBox

2

-

+

+

эмулятор

@Aranym

2

-

+

+ для работы с ПО для

@

 

 

 

 

компьютеров ATARI с

@

 

 

 

 

процессором Motorola

@

 

 

 

 

680x0

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

виртуальной памяти считается необходимым для многозадачных ОС. В среде DOS при использовании совместимого с Intel 80386 процессора также можно использовать виртуальную память.

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

надежнее. Для современных технологий характерно использование страничной организации.

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

--- реализующий такую схему алгоритм называют оптимальным, но его невозможно реализовать. Алгоритмы замены страниц - это частный случай алгоритмов организации работы кэша (cache). Кэш - это использование небольшой, но

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

Рассмотрим некоторые практические алгоритмы замещения страниц:

NRU (Not Recently Used) --- выбирается любая страница, к которой за последнее время не было обращений. Для реализации у каждой страницы должен быть бит, фиксирующий обращение к ней, кроме того, переодически по таймеру этот бит должен сбрасываться;

FIFO --- очередь, выбирается страница дольше всех находящаяся в памяти. Используется очень редко;

"Второй шанс" --- модификация FIFO, выбирается дольше всех используемая страница при условии, что к ней не было обращений за последнее время. Совмещение FIFO и NRU;

"Часы" --- все страницы организуются в виде циклического списка. Указатель, как стрелка часов, обходит страницы. Если текущая страница не использовалась в последнее время, то она выбирается, а если использовалась, то её бит использования сбрасывается, а "стрелка" переходит к следующей позиции.

Совмещает преимущества "Второго шанса" с отсутствием необходимости в таймере;

LRU (Least Recently Used) --- выбирается дольше всех неиспользованная страница. Близок к оптимальному. Для эффективной и полной реализации требует специальной аппаратуры, поэтому обычно реализуется только частично.

"Рабочий набор" --- система для каждого процесса запоминает набор используемых им страниц, при активизации процесса ему сразу предоставляется весь этот набор.

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

с внешней памятью кодами отдельных подпрограмм. Эти технологии используются при отсутствии аппаратной поддержки для виртуальной памяти.

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

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

ОС Unix (UNiplexed Information Computer System, начало 1970-х, AT&T, Ken Thompson, Dennis Ritchie) и ее многочисленные

варианты до сих пор являются перспективными

для компьютеров самой разной архитектуры. ОС Unix является многопользовательской, многозадачной, модульной и мобильной. Можно даже сказать, что ее мобильность, являясь ее важным достоинством, является ее единственным объективным недостатком, т.к. ОС, созданные для компьютеров определенной архитектуры (такие как Microsoft Windows), несколько быстрее

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

остальных. Языком СП в Unix является Си. Хотя Unix была создана компанией AT&T, но большой вклад в ее развитие внесли также различные научные учреждения. Например, разработка графического интерфейса пользователя в Unix, X Window была проведена в Массачусетском технологическом институте, из которого же в Unix перешли язык Лисп и многочисленные приложения, написанные на нем. В силу того, что AT&T имеет ограниченные законом права на

реализацию собственного ПО, реализацией Unix занимаются другие фирмы, которые обычно вносят в нее множество добавлений (IBM Aix, Microsoft Xenix,

Apple A/UX, Hewlett-Packard HP-UX, DEC OSF, Sun Solaris). Большое распространение получили версии Unix, совсем не содержащие кода AT&T, например, Minix, Linux (LINUs uniX), FreeBSD (Free Berkeley Software Distribution), OpenBSD (максимальная надежность), NetBSD (максимальная портируемость) - ими при соблюдении некоторых условий можно пользоваться бесплатно. Unix - это единственная ОС, на которую

установлен международный стандарт (POSIX). [Unix является наиболее типичной ОС для научных учреждений и высших учебных заведений. Там, где к программированию относятся как к науке, у Unix нет другой альтернативы. Практически все концепции современного программирования (язык Си и Си++, ООП, Internet, современное понятие файла, потоков ввода-вывода и многое другое) впервые появились в Unix.] Особенностью Unix является то, что

почти все программы, включая саму ОС, в ней доступны в виде текстов и

следовательно допускает легкую модификацию пользователем.

Существует несколько сотен дистрибутивов Linux. Они различаются, главным образом, способом установки. Наиболее известные из них: Debian, Ubuntu, Red Hat, Cent OS, Fedora, Slackware, OpenSUSE, Mint.

Другие современные ОС:

Kolibri, Menuet --- очень маленькие (меньше 1 МБ), многозадачные, с графическим интерфейсом и открытым кодом;

MikeOS --- размером менее 20 КБ, с очень подробной документацией, полезна для целей образования;

AROS --- максимально приближена к ОС Commodore Amiga;

Haiku --- максимально приближена к ОС BeOS;

OpenVMS --- многопользовательская, многозадачная, предназначена для работы в режимах реального времени, разделения времени, пакетной обработки и обработки транзакций, позволяет создавать вычислительные кластеры из нескольких компьютеров (до 96 в одном кластере), допускает использование оконного интерфейса, совместимого с X Window System, разработка фирм DEC и Hewlett-Packard. Используется с 70-х. Существует свободнораспространяемый вариант FreeVMS.

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

Syllable Desktop --- для ПК, менее 100 МБ размером, с встроенным графическим интерфейсом и почти полной совместимостью с POSIX.

Visopsys --- для ПК, с графическим интерфейсом, многозадачная, разработка одного человека, менее 20 МБ.

Plan 9 --- разработка фирмы Bell Labs, более 20 лет, все ресурсы представлены

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

ОС для мобильных устройств:

Nokia Symbian --- для процессоров ARM, на си++ с открытым кодом.

Google Android --- на базе Linux; с открытым кодом, но часть компонент закрыты.

Apple iOS --- фирменная, закрытая ОС, на базе OS X, основанной в свою очередь на базе FreeBSD и NetBSD.

Firefox OS --- открытая, свободная ОС на базе ядра Linux, на си++.