Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.05.2013, 02:12
Новичок на форуме
Отправить личное сообщение для Icat Посмотреть профиль Найти все сообщения от Icat
 
Регистрация: 27.05.2013
Сообщений: 1

Операционная Система на JS
Всем привет!

Все, наверное, слышали про ОС на JS, Java, и других высокоуровневых языках.

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

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

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


Пока предложу основные концепции нового проекта:

1) Полная открытость и бесплатность

2) Модуль (на C и/или C++) с API для быстрого и простого написания драйверов на JS для любых комплектующих, периферии и девайсов

3) DE, окружение и ПО на JS + HTML5 + CSS

По первому пункту, думаю, вопросов ни у кого не будет, код и контент "open + free".

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

По третьему пункту, если есть вопросы, то вам стоит взглянуть хотя бы на Open webOS.
Но наша система будет ориентирована скорее на планшеты, нетбуки, ноутбуки и десктопы, хотя возможна и поддержка телефонов и смартфонов, телевизоров итд

Концепция: "Драйвера пишет простой пользователь".
В смысле, имеет возможность написать не сильно углубляясь в недры, но так как драйвера будут под открытой лицензией, то драйвер нужно будет написать лишь единожды и он будет доступен всем пользователям. Любой пользователь будет иметь право и возможность дополнить, обновить драйвер, исправить ошибки...
Будет утилита вроде Synaptic, но с поддержкой функции upload.

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

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

Я не силён в знании системоустройсва, но в целом общий план системы такой:
1) Включаем девайс (планшет, ноут, десктоп, телевизор, холодильник...)
2) После включения загружается Grub2 (допиленный).
Мы его не видим при загрузке, потому что он работает в фоне, но есть возможность вызвать меню.
3) Grub2 видит наши диски и разделы, потому что у него есть драйвера, и этот допиленный Груб запускает модульное ядро нашей системы (его нужно научить этому).
4) Загружаются модули ядра:
небольшой базовый модуль (в него будет запихнуто всё, что потребуется системе дополнительно)и загружается наш модуль-фишка с API для драйверов на JS
5) Загружаются только нужные драйвера на JS для железа, подхватываются девайсы, периферия
Одновременно:
6) Загружаются V8 и кусочки Blink, а также некоторые библиотеки
7) Стартует DE (Рабочий Стол на JS/HTML5/CSS)

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

Программы можно запускать в изолированных, защищённых и закрытых от основной системы контейнерах (возможно с поддержкой виртуализации и/или подменой сведений о системе). На первых парах можно и без подобных сложных вещей обойтись.

Модули состоят из подключаемых и отключаемых реал-тайм субмодулей. Хотя капитально переписывать и поддерживать, обновляя с каждой новой версией, специальные версии V8 и Blink и etc смысла особого нет (насчёт возможностей - вопрос спорен), но всё-таки кое-чего подускорить и оптимизировать можно и стоит.

Модуль с API для драйверов я сам разумеется не напишу, как впрочем и практически все здесь присутствующие.
А написать его могут, к примеру, разаработчики ядрда Linux, BSD, Hard, Hiku, ну и может кто-то из бывших разработчиков Syllable. У которых не просто огромный опыт соответствующего программирования в специфической узкоспециализированной данной области, но и масса знаний по устройству систем и ядер.
Разумеется есть ещё куча проектов, где можно выцепить таких специалистов, и попробовать завлечь в наш проект, Android, IOS, MacOS, Windows.
То что "платники" и "проприетарщики" - "испорченные и разбалованные люди", и бесплатно работать не будут никогда и ни за что - это всё бред.

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

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

Что войдёт в базовый модуль пока понятия не имею, на этом этапе разработки неясно.
Также пока до конца неясна область применения в системе asm.js, Portable Native Client, Raw Socket API и других технологий.

В системе будет стандартизированный Интерфейс программирования прлиложений и система управления пакетами (без "Ада зависимостей").

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

Всем интересующимся, просьба откликнуться.
Поучаствуй, предложи идею и помощь проекту, измени этот мир к лучшему - и твои дети потом скажут тебе за это СПАСИБО!
Ответить с цитированием
  #2 (permalink)  
Старый 28.05.2013, 05:09
Аватар для zOdmin
Аспирант
Отправить личное сообщение для zOdmin Посмотреть профиль Найти все сообщения от zOdmin
 
Регистрация: 05.03.2012
Сообщений: 62

Если ОС для серьезного пользования, то какой смысл писать ее полностью на JS, если есть С/С++? Если даже так, то исходной ОС будет всё равно та, в которой интерпретируются и компилируются скрипты. А если речь идет только про приложения, то уже есть направления в эту сторону типа "хроме ос", у которой с открытостью вроде проблем пока не наблюдается.
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2014, 23:03
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 979

http://runtimejs.org/
Самое забавное что оно даже работает
Ответить с цитированием
  #4 (permalink)  
Старый 17.04.2018, 22:54
Аватар для PROPHESSOR
Новичок на форуме
Отправить личное сообщение для PROPHESSOR Посмотреть профиль Найти все сообщения от PROPHESSOR
 
Регистрация: 11.03.2017
Сообщений: 9

Как ни странно...
Спустя 5 лет
https://habrahabr.ru/post/353524/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 04:56
Подгрузка JS + ajax... afr0 AJAX и COMET 8 10.04.2013 13:38
Конфликтуют js скрипты в Opera romka AJAX и COMET 2 28.05.2012 14:32
Создание теста на JS сложная система Berowz Общие вопросы Javascript 7 10.03.2012 21:42
файловая система и js - возможно ли? jestalnar Общие вопросы Javascript 3 12.06.2009 18:24