"Российские" операционные системы
«...А хотите, я его стукну,и он ...
станет фиолетовым в крапинку?...»
© Тайна третьей планеты
Давайте разберёмся с вопросом, что такое российская операционная система.
Похоже, в России никогда ещё не была создана своя операционная система, за исключением нескольких операционных систем для ЭВМ серии БЭСМ. Как это ни печально, эти операционные системы «ушли в историю» вместе с семейством БЭСМ.
Все следующие поколения ЭВМв Советском Союзе использовали слегка переработанные клоны операционных систем зарубежных компаний, например — ЕС ЭВМ использовали клон системы OS/360 компании IBM,а серия ДВК использовала клон операционной системы компании DEC.
В настоящее время на место российской операционной системы претендуют несколько системи проектов, на которые мы глянем более внимательно:
В настоящее время на место российской операционной системы претендуют несколько системи проектов, на которые мы глянем более внимательно:
- Самый первый кандидат на звание российской операционной системы это Alt Linux (http://www.altlinux.ru) — российский дистрибутив Linux. Можно ли назвать российской систему, в которой российского кода (а тем более дизайна) менее одного процента?Я считаю, что Alt Linux не может претендовать на звание российской ОС, как и любойдругой дистрибутив, построенный на основе ядра Linux и окружения GNU.
- Следующим претендентом на звание российской ОС можно назвать PhantomOS от ДмитрияЗавалишина (http://www.dz.ru/solutions/phantom) — с точки зрения дизайнаи авторских прав — эта система наиболее подходит под громкое звание российской операционной системы. Но… она настолько оригинальна, а заложенные в её основу идеи настолько необычны, что она лет на 10 опередила своё время.
- С некоторой натяжкой в ряд «российских» (а скорее всего СНГ''шных) операционных систем можно поставить KolibriOS (http://kolibrios.org/), но… при всём уважениик труду разработчиков, основана она на совсем не российской MenuetOS, написанана ассемблере и поддерживает только одну архитектуру- x86. KolibriOS — это, скорее, зарядка для мозгов разработчиков и у неё практически нет шансов вырастив современную операционную систему.
- Ещё один кандидат в национальные операционные системы – система ReactOS (http://www.reactos.org/ru/index.html) – свободный аналог операционной системы MS Windows. Это очень заманчивая идея, сделать аналог самой распространённой операционной системы, да такой, что конечный пользователь не заметит разницы между использованием коммерческой системы и её свободным аналогом. Велики ли шансыу ReactOS? Да, шансы достаточно велики, но в данном случае существует большая вероятность нарушить патенты Microsoft – пока ReactOS недостаточно стабильнаи популярна, корпорации Microsoft невыгодно замечать существование этой системы,но если ReactOS начнёт набирать популярность и откусывать кусок пирога с кухниMicrosoft, то судебное преследование разработчиков не заставит себя ждать.
- Замыкает ряд «российских» операционных систем – система Xameleon (http://l4os.ru), которую я представляю в этом сообществе. С точки зрения национальной принадлежности систему Хамелеон нельзя назвать исконно российской: Во-первых, она основанана немецком микроядре L4Ka Pistachio (http://www.l4ka.org/pistachio — разработка университета Karlsruhe, Германия, совместно с университетом New South Wales, Австралия). Во-вторых, с точки зрения API — Хамелеон использует международный стандарт POSIX (http://pubs.opengroup.org/onlinepubs/9699919799/) (да-да, это ещё один «клон» Unix). В третьих, часть прикладного ПО заимствована из мира BSD.
Что же российского в системе Хамелеон? Чтобы дать ответ на этот вопрос, необходимо чуть внимательнее посмотреть, каким образом он спроектирован. Микроядерные ОС подразумевают специфический подход к проектированию систем — микроядро представляет минимальный набор примитивов, с помощью которого можно построить более сложные абстракции. Задача «обвеса» микроядра — реализовать на основе его примитивов какой-либостандарт. Соответственно, Хамелеон реализует стандарт POSIX с помощью нескольких задач, работающих под управлением микроядра L4.
Следует отметить, что Хамелеон не единственный в мире проект, реализующий стандарт POSIX на основе микроядер, его конкуренты — Minix (http://www.minix3.org/), L4-Linux (http://www.l4linux.org/) и, отчасти, Mac OS X (http://www.apple.com/ru/osx/) и QNX (http://www.qnx.com/).
Следует отметить, что Хамелеон не единственный в мире проект, реализующий стандарт POSIX на основе микроядер, его конкуренты — Minix (http://www.minix3.org/), L4-Linux (http://www.l4linux.org/) и, отчасти, Mac OS X (http://www.apple.com/ru/osx/) и QNX (http://www.qnx.com/).
А теперь «по-русски» о «Хамелеоне»:
Базовая сервисная программа, назовём её условно «Управляющий» (Supervisor), управляет «Исполнителями» (программами). «Управляющий» располагает ресурсами, которые он можетсдавать в аренду «Исполнителю» — физическую память и процессорное время. «Управляющий» также ведёт учёт «Исполнителей», которые делятся на три категории: «Водители» (драйвера устройств), «Обслуга» (сервисные программы) и «Клиенты» (пользовательские программы).
Помимо управления ресурсами и учёта, «Управляющий» следит за тем, чтобы «Исполнители»,из-за ошибки или злого умысла, не обращались к чужой памяти, которая не былапредварительно «сдана в аренду» «Исполнителю». «Клиенты»" общаются с «Управляющим»на основе специального языка, именуемого «Стандарт POSIX» (функции fork, exec, sbrk, signal, kill). «Управляющий», «Обслуга» и «Водители» между собой общаются с помощьюдругого языка, именуемого Xameleon API.
Помимо управления ресурсами и учёта, «Управляющий» следит за тем, чтобы «Исполнители»,из-за ошибки или злого умысла, не обращались к чужой памяти, которая не былапредварительно «сдана в аренду» «Исполнителю». «Клиенты»" общаются с «Управляющим»на основе специального языка, именуемого «Стандарт POSIX» (функции fork, exec, sbrk, signal, kill). «Управляющий», «Обслуга» и «Водители» между собой общаются с помощьюдругого языка, именуемого Xameleon API.
Все устройства, помимо процессора и физической памяти, обслуживаются «Водителями» (драйверами устройств). Для каждого устройства существует свой собственный «Водитель», если таковой не существует, то система не использует это устройство.
Самой важной «Обслугой» с точки зрения операционной системы является «Библиотекарь» (сервис файловой системы). Когда «Клиенту» необходимо получить какую-либо информациюот пользователя или предоставить какую-либо информацию пользователю, а также сохранить или прочитать какую либо информацию на внешнем носителе, «Клиент» обращается к «Библиотекарю», который запрашивает сырую информацию у соответствующего «Водителя», обрабатывает её и предоставляет «Клиенту». Например, «Библиотекарь» Хамелеона поддерживает 35 команд, имитирующих библиотечные функции стандарта POSIX для работыс файловой системой (open, read, write, close, ioctl, mkdir, chdir и др.)
Трудно представить современную операционную систему без поддержки сетевых возможностей. В Хамелеоне сетевой стек реализован в обслуживающей программе «Сеть». Программа «Сеть» предоставляет «Клиентам» сервисные функции на основе стандарта POSIX (функции socket, connect, send, recv, bind, accept и т.д.).
Таким образом, микроядро L4Ka Pistachio, сервисные программы «Управляющий», «Библиотекарь» и «Сеть», плюс некоторое множество «Водителей», организуют собой ядро операционной системы Хамелеон. Что же превращает этот набор программ в отечественныйклон системы Юникс? В единое целое всё скрепляет клиент «Стартовый процесс» (первый пользовательский процесс init). С точки зрения пользователя, это самая первая прикладная программа – её цель связать все модули в логически законченную систему и настроить её.В результате получается ядро операционной системы и одна пользовательская программа.
По современным меркам «голое» ядро не является операционной системой, но старожилы ещё помнят MS DOS – однозадачную операционную систему, которая даже не имела своего собственного TCP/IP стека, а графический интерфейс которой запускался как прикладная программа. Как же можно использовать «голое» ядро для реальных задач? Ответ кроетсяв стандарте POSIX – практически любую программу, основанную на стандарте POSIX, можно запустить под любой операционной системой, предоставляющей этот стандарт. Нужен WEB сервер? Используйте Apache (http://httpd.apache.org/), нужен продвинутый графический интерфейс – используйте X. Org (http://www.x.org) и любой оконный менеджер.
Скептики заметят: «Как же можно назвать российской операционную систему, если российскоев ней только ядро?». Действительно, «российскость», это всего лишь рекламный трюк,но каждый читатель этих строк должен осознать, что нельзя вырастить операционную систему уровня Windows на пустом месте — современные операционные системы эволюционировалив течение долгих лет.
Вывод этой статьи простой — место российской операционной системы по-прежнему вакантно,ни одна из систем по тем или иным причинам не признана как национальная, а любыепроекты, которые не основаны на ядре Linux и окружении GNU, по своим возможностями стабильности никак не дотягивают до реальных примен
Комментариев нет:
Отправить комментарий