You are viewing the community [info]new_os

Разработка лучшей операционной системы - Первый пост - он трудный самый, или о необходимости новой ОС. [entries|archive|friends|userinfo]
Разработка лучшей операционной системы

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Первый пост - он трудный самый, или о необходимости новой ОС. [Apr. 1st, 2008|02:44 am]
Add to Memories Share Next Entry
new_os
[troninster]
Вопреки названию я не буду, доказывать, что новая ОСь действительно нужна.  Впрочем, даже если вы с большим скепсисом относитесь к подобной идее, это не значит, что здесь вы не найдете для себя интересных мыслей.

В сфере системного программного обеспечения в РФ и вообще СНГ сложилась критическая ситуация. Рынок операционных систем насыщен решениями иностранных производителей: Windows, MacOS, Linux, Symbian, QNX — среди них вы не найдете ни одной сделанной в России.

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

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


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

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

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

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


А теперь более детально и по пунктам.

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

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

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

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

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

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


Виртуальные подсистемы. Виртуальные подсистемы - это не ОС, загружаемые "целиком" и выполняемые независимо. Это системные модули-надстройки, преобразующие API соответствующей ОС в родной API и создающие окружение, в достаточной степени соответствующее "родному" окружению поддерживаемой операционной среды.

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

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

В итоге на одном компьютере могут выполняться приложения, разработанные для разных операционных систем, в т.ч.Windows NT(2000), Windows XP, Linux и т.п.

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


И несколько слов о том, чем все это может быть полезно простому пользователю.

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

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

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

Повторное использование кода. Благодаря модульности и микроядерности ОС, легко избежать лицензионных проблем при интеграции разнообразных компонентов в ОС. Поэтому у нас нет нужды разрабатывать абсолютно все с нуля. Мы можем использовать уже существующие наработки: файловые системы (ZFS, Ext3/4, JFS, reiserFS, BeFS), систему печати (CUPS), драйвера (WinXP или Linux), подсистемы ядра ACPI, шрифты, наборы иконок, скринсейверы, обои рабочего стола и т.д.

Таким образом можно существенно сократить объем трудозатрат при разработке ОС.


Это не последний пост, посвященный ОС.




linkReply

Comments:
[User Picture]From: [info]mikula7479
2008-04-01 07:53 am (UTC)

Улыбнуло!

(Link)

И Вас тоже с первым эйприлом! :-D
From: [info]r_u_s_s_i_a_n
2008-04-01 09:53 am (UTC)

Re: Улыбнуло!

(Link)

А Алкснис повёлся...
и кое-кто из друзей тоже...
да, а это уже существует..
From: [info]troninster
2008-04-01 11:16 am (UTC)

Re: Улыбнуло!

(Link)

что это уже существует?
From: [info]troninster
2008-04-01 11:11 am (UTC)

В каждой шутке есть доля шутки....

(Link)

А почему собственно все решили, что это первоапрельская шутка?
Только, потому что дата публикации 1-е апреля?
[User Picture]From: [info]gvy
2008-04-01 07:11 pm (UTC)

Re: В каждой шутке есть доля

(Link)

Вы хотите сказать, что это не шутка? Ах, не надо, получится же концентрированный бред. Тут же уже бегали детишки с "родлинуксом". Нечего делать -- лучше хоть ReactOS помочь ;-)

Впрочем, чего эт я. Отменная шутка :-)
From: [info]i_kovryakov
2008-04-01 07:13 pm (UTC)

Ну потому что....

(Link)

Потому что, уш больно круто завернуто, так круто, что разворачивать запаришься :)

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

Удачи вам,
С уважением и с утопическими надеждами на собственную неправоту.