LINUX.ORG.RU

Новая открытая POSIX-совместимая ОС — Minoca

 , ,


2

8

Minoca Corp. представляет вашему вниманию новую открытую POSIX-совместимую ОС общего назначения — Minoca.

Важные особенности по мнению разработчиков:

  • Хорошо документированный исходный код на GitHub.
  • Малый размер ядра.
  • Поскольку ОС написана с нуля, она изначально лучше приспособлена к современным реалиям.
  • Хорошая оптимизация потребления ресурсов (ЦП, ОЗУ) и энергосбережения поможет в использовании во встраиваемых системах.
  • Благодаря модульности ядро может обновляться без пересборки драйверов.
  • Продвинутые средства отладки встроены в систему.
  • Возможность запуска на x86, ARMv6, ARMv7 с поддержкой виртуальной памяти и несколькими мегабайтами ОЗУ.
  • В поставку входят драйверы для многих стандартных устройств.

>>> Страница на GitHub

>>> Официальный сайт

Ответ на: комментарий от hateyoufeel

Это вообще не венгерская.
Венгерская - это префиксы в имена переменных.

Префиксы - это «системная венгерская». А есть «венгерская для приложений» (для людей):
http://www.ugolnik.info/?p=1010

andreyu ★★★★★ ()
Ответ на: комментарий от EXL

Просто псевдоэлитарность - путь к стагнации. Чё мы и видим на примере.

WatchCat ★★★★★ ()
Ответ на: комментарий от WatchCat

на примере

На примере скурвившейся говнолепры это видно куда как ярче.

EXL ★★★★★ ()

Отличная пускалка для оракла.

AVL2 ★★★★★ ()

шел 2016 год:

Drivers in Minoca OS run in the same address space and with the same privileges as the kernel itself. This enables Minoca OS to run on a wide range of processor architectures with blazing fast performance, but means that driver code must be carefully written. A bug in a driver can affect the stability of the system as a whole.

sartakov ()
Ответ на: комментарий от w1nner

Интересно, что это такое вообще?
Minoca OS is an open-source, general purpose operating system designed specifically for feature-rich embedded devices.

Odalist ★★★★★ ()
Ответ на: комментарий от sartakov

А что ты хотел? Чтобы драйвера в виртуальных контейнерах исполнялись?

AVL2 ★★★★★ ()
Ответ на: комментарий от sartakov

блин, хотел потыкать палочкой а вы меня так сильно обламали

cawa ()

Посоны, где sh, как гайд обещает? Не работает же.

ass ★★★ ()
Ответ на: комментарий от bbk123

Потому что именно с помощью goto в C удобно обрабатывать исключительные ситуации (особенно когда перед этим выделяется некоторое количество ресурсов, которые нужно освободить).

asaw ★★★★★ ()
Ответ на: комментарий от anonymous

Накидай ссылок о железном микроядре, пожайлуста.

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

alman ★★★ ()
Ответ на: комментарий от AVL2

А что ты хотел? Чтобы драйвера в виртуальных контейнерах исполнялись?

Я такое делал - когда падала файловая система и невозможно было понять в чём проблема, разработал протокол, позволяющий запускать сервис файловой системы как в контексте ядра, так и в выделенном адресном пространстве. При работе в выделенном адресном пространстве скорость несколько упала, но зато удалось быстро найти причину падения и исправить её. Что характерно, какие-то простые драйверы или сервисы можно рестартовать в случае сбоя. (Теоретически. На практике такую фичу не реализовывал.)

alman ★★★ ()
Последнее исправление: alman (всего исправлений: 1)

Возможность запуска на x86, ARMv6, ARMv7...

Это «искаробочно» на RPi2 не запускается.

quickquest ★★★★★ ()
Ответ на: комментарий от unixwz

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

То есть про историю C и UNIX ты не слышал?

anonymous ()
Ответ на: комментарий от kto_tama

Оба автора вообще-то много лет в Microsoft работали. А это не лечится.

anonymous ()
Ответ на: комментарий от anonymous

Писать ОС с нуля на си - как только додумываются :(

Хотя с другой стороны, код аккуратный, читать приятно, и прокомментирован крепко. Я такого на си наверно еще не видел.

// Местами даже перебор

//
    // Exit immediately if there are no orphaned file objects.
    //

    if (LIST_EMPTY(&IoFileObjectsOrphanedList) != FALSE) {
        return;
}

Вот зачем столько очевидных вещей? Ладно там ещё в js когда можно вернуть и bool и string в одной функции. Но тут же си. Первое превращение

if (LIST_EMPTY(&IoFileObjectsOrphanedList) == TRUE) {
Второе превращение
if (LIST_EMPTY(&IoFileObjectsOrphanedList)) {
Меньше символов - лучше код.

anonymous ()
Ответ на: комментарий от anonymous

Не те времена.

Одно дело, когда выбор между непереносимым асмом и сыроватым, но высокоуровневым языком. И вся операционка размером с дискету. И другое дело, когда систем уже десятки, на сотни мегабайт кода только ядра и нечто невразумительное в альтенативе.

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

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

anonymous ()
Ответ на: комментарий от anonymous

У них нет задачи использовать как меньше символов для написания кода.

anonymous ()
Ответ на: комментарий от anonymous

if (LIST_EMPTY(&IoFileObjectsOrphanedList) != FALSE)

Когда работал с 1С, то даже привык видеть код вида

Если признак=истина
Ну, там и не такое можно было увидеть. А от сишников, конечно, ожидаешь другого...

anonymous ()
Ответ на: комментарий от alman

Кстати, как-то даже хотел поучаствовать в проекте, но со временем стало тяжко.

Deleted ()
Ответ на: комментарий от anonymous
if (LIST_EMPTY(&IoFileObjectsOrphanedList) != FALSE) {

Не является эквивалентным

if (LIST_EMPTY(&IoFileObjectsOrphanedList) == TRUE) {
Так как в C любое ненулевое выражение считается true.

anonymous ()
Ответ на: комментарий от anonymous

такой стиль порождает много воды - за этим сложно разглядеть суть и ясности не привносит

anonymous ()
Ответ на: комментарий от mandala

mandala> А ты считаешь шо Таненбаум дурак?

Таненбаум и правда дурак.

Quasar ★★★★★ ()
Ответ на: комментарий от anonymous

Оба автора вообще-то много лет в Microsoft работали. А это не лечится.

Кстати, кто знает Балмера вылечили?

anonymous ()
Ответ на: комментарий от Quasar

Таня не дурак, раз столько лет книжки выпускает и на хлеб получает :) А вот Minix увы дурной. Но это ж учебный стенд, не для реальной работы.

robot12 ★★★★★ ()
Ответ на: комментарий от Quasar

Если быть максимально не предвзятыми и критически настроенными, то можно сделать вывод, что все дураки.

mandala ★★★★ ()
Ответ на: комментарий от anonymous

Балмера вылечили?

Давно, он теперь владеет свиттером и спортивной командой.

robot12 ★★★★★ ()
Ответ на: комментарий от robot12

«свиттером»

Свитер пишется с одной «т».

anonymous ()
Ответ на: комментарий от FilosofeM

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

anonymous ()

Кстати, "Нинужно,

есть же слюникс/венда!!!!111!!!" орали уже? А то тред не читал.

anonymous ()
Ответ на: комментарий от anonymous

Так как в C любое ненулевое выражение считается true.

Ты хочешь сказать что TRUE задефайнили к примеру на 2, зато какая-то функция будет возвращать к примеру 1 что приведёт к ошибке? Я не читал 100% кода так что не могу сказать как там что оформлено. Просто того что когда я кодил в визуал студии на плюсах, там было очень много дефайнов, некоторые из них были просто ужасающими. Ктот то дефайнил какое-то длинное слово на } и писал в стиле паскаля begin some_method() end только вот подробностей не помню. ЗЫ если то что ты говоришь правда(в плане дефайнов, то авторам надо бы поотрывать руки) ЗЫЫ в некоторых местах видел == FALSE зато в других ! в начале выражения. Вроде даже как перед одним и тем же методом.

anonymous ()
Ответ на: комментарий от anonymous

Я про то, что дефайнить TRUE нет смысла, так как if (x) выполнится при любом x не равном 0, это эквивалентно записи if (x != 0). В С нет отдельного булева типа. То есть x == FALSE, x != FALSE - то же самое, что !x, x, но не то же самое, что x != TRUE, x == TRUE.

anonymous ()
Ответ на: комментарий от anonymous

За дефайн квазибулевых типов надо отрубать руки. Обе. Одним ударом.

void_ptr ★★★★ ()
Ответ на: комментарий от quickquest

Это «искаробочно» на RPi2 не запускается.

Вчера скачал - все запустилось. Только делать на этой штуке нечего. Один редактор nano, есть еще wget и telnet. ssh не нашел.

jackill ★★★★★ ()
Ответ на: комментарий от jackill

Только делать на этой штуке нечего. Один редактор nano, есть еще wget и telnet. ssh не нашел.

Запусти DOOM, запость скриншотик на ЛОРе. Работы непочатый край.

devl547 ★★★★★ ()
Ответ на: комментарий от jackill

Только делать на этой штуке нечего.

Конпелять же!

Deleted ()
Ответ на: комментарий от anonymous

Анон одобряэ новую тётю.

Лучше девушку. :)

anonymous ()
Ответ на: комментарий от anonymous

Потому что это красиво.

Красота спасет мир. Ф. М. Достоевский. :)

anonymous ()

Эталонов «ненужно» с каждым днём всё больше.

awesomebuntu ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.