Поиск по сайту
Результаты поиска по тегам 'LunaOS'.
Найдено 1 результат
-
Операционная система LunaOS (Самописное ядро) Всем доброго времени суток. Однажды я решил узнать, как же создать операционную систему в OpenComputers, однако создавать вторую OpenOS я не хотел. Потому пытался придумать "изюминку" своей ОС. Тут пришла мысль о том, чего очень не хватает в ядре OpenOS - многопоточность. Я уже читал на форумах, что данная особенность "не нужна", "нет смысла" и т. п. Однако данная возможность добавит несколько особенностей в OpenComputers: SSH клиент. Подключение к компьютеру; Удаленный рабочий стол; Система пользователей; Сервера; Кластер. Само собой это не полный список возможных программ, которые можно написать в многопоточной системе. Однако это уже большой аргумент, для ее создания. Начал я с реализации многопоточности. Я надеялся, что в Lua есть удобные потоки, через которые данный процесс не вызовет проблем, однако такой возможности не оказалось. Я уже думал забросить создание многопоточности и просто создать операционную систему, а вскоре и совсем забросить создание операционки. Спустя неделю, я все же придумал как реализовать многопоточность и все благодарю моему другу, который не дал мне "опустить руки". Идея пришла не сразу и как и все идеи - в дУше (на самом деле в уборной). На помощь мне пришли coroutine. Среди читающих наверняка есть 3 типа: те кто понял, как все это работает; те кто знает, что такое coroutine, но не знает как на их основе создать псведо-многопоточность; те кто в танке. Настоящая операционная система является многопоточной, хотя процессор - однопоточный. Но как? На самом деле, все достаточно просто. Операционная система переключается с одного процесса на другое через определенные промежутки. Это зоны являются атомарными (неделимыми). Так же я решил поступить и с OpenComputers. Многие думают, что это невозможно, но тут к нам приходят на помощь coroutine'ы. Через некоторое время мне удалось проработать ядро операционной системы. Вот структура операционной системы: Вот диаграмма жизни операционной системы: На данный момент ядро уже почти готово. Уже скоро я начну работать над самой операционной системой. Как только мне будет что показать (помимо исходного кода) я выложу это в этой теме. На данной момент у меня есть к вам несколько вопросов и предложений: [Вопрос] Будет ли иметь смысл данная операционная система? [Вопрос] Какие еще возможности вы хотите предложить? [Вопрос] Из-за многопоточности, прямая работа с компонентами должна быть недоступна. Как вы думаете, стоит ли программно запрещать это. Так же я уже придумал реализацию и буду писать следующие программы: apt-get ssh client and server ftp client and server teamviewer cluster software raid sudo Спасибо за внимание и ждите обновлений! Обновления: Обновление 25.08.2016 (не известно) ==================== Теперь в этой области будут появляться все обновления системы. Обновление 26.08.2016 (22:40) ==================== Реализованы модули control, hardware и signals в ядре. В процессе - исправление ошибок и недочетов. Разработка модуля filesystem. Обновление 27.08.2016 (1:50) ==================== Написана текстовая документация на 50% После завершения и доработок - будет выложен для совместной доработки. P.S. В нем будет виден принцип работы ядра, но я думаю это не столь так важно, ибо отыскать к нему доступ смогут лишь только опытные пользователи OpenComputers. Обновление 29.08.2016 (12:10) ==================== Ядро реализовано. Написание API. Решение проблем с удобством написания программ при работе по SSH.
- 64 ответа
-
- 17
-
- Многопоточность
- LunaOS
- (и ещё 3 )