- PVSM.RU - https://www.pvsm.ru -
Привет.
Эта статья открывает цикл публикаций об операционной системе «Сивелькирия», на данный момент находящейся на раннем этапе проектирования и разработки. В статьях цикла будут подробно описаны системные проблемы популярных операционных систем и предложены пути их решения. Автор не ставит перед собой цели убедить кого-либо в чём-либо и сосредотачивается исключительно на описании предложенных решений ради извлечения пользы из обсуждения. Публикация будет вестись частями, поскольку объём полного описания выходит за любые разумные ограничения на размер хабростатьи.
Всем, кто заинтересовался, добро пожаловать под кат.
В наше время никого не удивишь заявлениями о разработке очередной операционной системы, которая должна стать лучше, удобнее и привлекательнее своих предшественниц и конкурентов. Существуют, как минимум, три крупных игрока на рынке ОС для персональных компьютеров и два — на рынке ОС для мобильных устройств. Несмотря на кажущееся разнообразие, нельзя не отметить определённого сходства между ними: хотя технологии и способы представления сервисов операционной системой разнятся, большая часть концепций и понятий остаётся неизменной при переходе от одной системы к другой.
Так, практически все популярные на данный момент операционные системы предоставляют поддержку общей функциональности на уровне реализации (окна, графика, файлы, сеть, оборудование), но не на уровне выражения понятий предметной области (сообщения чата, списки треков, счета за услуги). Существующие исключения (список контактов, буфер обмена, панель уведомлений) лишь подчёркивают правило. Техническая реализация (файлы, процессы, потоки) также во многом похожа.
Единицей использования возможностей компьютера во всех случаях является приложение, которое само решает, как направить имеющиеся ресурсы на достижение своих целей. Различные приложения связаны между собой лишь постольку, поскольку их разработчики позаботились о такой связи; зачастую программы, выполняющие близкие функции, не могут обмениваться данными, имеют разный интерфейс, используют различную терминологию и так далее. Такое обособление компонентов имеет сугубо технические корни, однако в итоге страдает пользователь. Компьютер из цельного инструмента превращается в нагромождение разнородных решений, а всеобщая совместимость, заслуживающая того, чтобы стать основопологающим принципом проектирования, остаётся лишь опциональной возможностью.
В настоящее время появляется всё больше решений, интегрирующих различные приложения и сервисы друг с другом. Производители программных продуктов, похоже, поняли, что сведение множества возможностей к одной удобной системе — это единственный путь к гармонии и порядку, позволяющий сделать жизнь пользователя лучше и проще. Тем не менее, во многих случаях слепая борьба несовместимых между собой программ, каждая из которых пытается объять необъятное, сменяется ещё более ожесточённой борьбой интеграторов, делающих всё возможное, чтобы не выпустить пользователя (и разработчика) за пределы своей платформы. Вместо того, чтобы объединять мир, интеграторы разделяют его, чтобы править.
Другим неизбежным аспектом мира отдельных приложений для решения конкретных задач является то, что каждое из приложений будет обладать своими достоинствами и недостатками, зачастую — неустранимыми. Выбор между удобством интерфейса, богатством функциональности и поддержкой конкретных операций настолько же неизбежен, насколько прискорбен. Если пользователю для достижения его целей требуются возможности, не предоставляемые в рамках одного приложения, это вынуждает его пользоваться более чем одним инструментом, тратя время и силы на переключение и перекачку данных.
Разработка программ — трудоёмкий процесс, и поэтому количество и качество функциональных возможностей в рамках любого продукта неизбежно будет ограничено. В то же время, львиная доля задач и проблем, решаемых разработчиками, уже решены в других продуктах; повторное использование этих решений вместо их повторной разработки высвободило бы ресурсы, которые можно направить на достижение других, более нужных пользователю, целей.
Наконец, поведение программ зачастую не подчиняется этическим нормам. Вместо того, чтобы помогать пользователю в работе, программы пристают к нему с назойливыми замечаниями и предложениями. Вместо того, чтобы выработать удобный способ предоставления услуг, основанный на взаимном уважении, они перемешивают рекламное содержимое с целевым. В результате складывается ситуация, в которой даже владелец устройства не контролирует его поведение.
Операционная система «Сивелькирия» задумана как решение описанных выше и некоторых других проблем. По замыслу и по дизайну она должна централизовано, уважительно, на взаимовыгодных условиях помогать достигать своих целей следующим категориям участников процесса разработки и использования ПО:
Ниже будет описана архитектура такой операционной системы и то, каким образом она позволяет выправить ситуацию. Также в дальнейших статьях цикла будут подробно рассмотрены проблемы, которые она решает, чтобы показать, что они требуют системного подхода. Наконец, будут показаны достоинства и недостатки предложенного решения и то, каким образом оно может из концепции превратиться в готовый продукт.
Операционная система «Сивелькирия» начинается с пересмотра основ, при котором часть общепринятых концепций подвергается устранению или замене. Следующие сущности, обычно составляющие основу операционной системы, не существуют в рамках ОС «Сивелькирия»:
Этот список неполон. Он ни в коей мере не означает ограничения возможностей программиста или пользователя и лишь указывает, что в рамках ОС «Сивелькирия» те же цели достигаются иначе, нежели в большинстве ныне существующих операционных систем.
Отказавшись от этих устоявшихся сущностей, мы предполагаем выстроить операционную систему, основанную на следующих принципах:
В следующих статьях цикла будет подробно показано, как эти и другие принципы будут применяться на практике. Полный текст доступен на сайте проекта [1].
Автор: Furax
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/345245
Ссылки в тексте:
[1] на сайте проекта: https://www.sivelkiria.org/ru/about/introduction/
[2] Источник: https://habr.com/ru/post/486488/?utm_source=habrahabr&utm_medium=rss&utm_campaign=486488
Нажмите здесь для печати.