Спецификация Микро Ядра

Обсуждение идей, архитектуры и проектов (как существующих, так и разрабатываемых).

Модераторы: Рождённый_в_СССР, Модераторы

Спецификация Микро Ядра

Сообщение w-tools » 08.12.2007 14:37:41

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

Рождённый_в_СССР - тебе первому слово ;-)
w-tools
незнакомец
 
Сообщения: 7
Зарегистрирован: 09.11.2007 22:42:31

Сообщение bw » 08.12.2007 17:00:47

Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Сообщение w-tools » 08.12.2007 20:56:40

bw, объясни подробнее что ты хотел сказать предыдущим постом ???

Мое личное мнение, если самим не написать современную ЕДИНУЮ СПЕЦИФИКАЦИЮ в замен устаревшей POSIX, то каждый будет "дудеть" в свою "дудку" авоз останется и ныне там :-(
(в прочем что повсюду и наблюдается)
w-tools
незнакомец
 
Сообщения: 7
Зарегистрирован: 09.11.2007 22:42:31

Сообщение Alexander » 08.12.2007 23:42:25

Продумать что мы за ОС (в целом, а не ядро или ещё какую часть)
хотим получить. Самая сложная часть.
-->
Oberon, заточенный под такую ОС. Самая точная часть.
-->
Ядро, выполняющее потребности этого Оберона и только.
Важная, но не самая сложная задача.
-->
Загрузчик.
Самая лёкгая часть.
-->
Драйверы, словари, документация.
Это развитие.

Это моё мнение.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 775
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение bw » 09.12.2007 05:41:34

w-tools, это я не в укор конечно сказал. Так, может кому будет интересно.
POSIX не определят структуру ядра, вроде как :-). Это некоторый интерфейс который ты можешь и не реализовывать в своей системе. Посмотри L4 и Xameleon. Изначально нет никаких упоминаний о POSIX, Алексей сначала сделал ОСь, затем решил, что было бы неплохо приучить её к некому стандарту. Я не в восторге от POSIX, хотя он имеет полное право на существование.
Мне нравится идея микроядра, но само ядро, какое бы оно не было, не является ОСой.
Сейчас, я считаю, вполне можно использовать существующие наработки, L4, Minix3, Mach и т.д. и т.п. Я не вижу смысла изобретать новый интерфейс и новую реализацию.

p.s. Разве что академический интерес, это конечно всегда хорошо :-), но я в такие игры не играю, у меня его нет, как и времени :-(.

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Сообщение w-tools » 09.12.2007 11:58:02

wb,

POSIX, чтобы он там не определял давно уже нужно оставить в зеслуженном покое :-)
(слишком архаично)

Вопрос в другом, нужно написать свою СПЕЦИФИКАЦИЮ или хотябы набросать ее.
Причем эта спецификация должна как мне кажется обязательно уделить особое внимание микроядру. Но не столько на саму структуру микроядра (потомучто эта структура будет определяться конкретно платформой и используемым процессором), сколько на API предоставляемый микроядром. Причем API микроядра должен быть "вылизан" по скорости, максимально функционален и минимален по количеству функций (как говориться нужен оптимальный компромис)

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

Если для API микроядра существует детально описанная единая Спецификация то это позволит многим разработчикам и программистам без особых проблем "прикрутить" к этому микроядру свои нароботки, на которых они неодну "собаку съели"
(живой прмер - OC Хамелион на ядре L4)

Выше перечисленные ядра не написаны на ассемблере и это их большой минус но не главный:

- Minix3, микроядро (его API) этой системы изначально заточен под "многопользовательские сетевые - серверные платформы" и к сожалению черезвычайно сложен и функционально избыточен. Это не удивительно потому что автор этой системы изначально делает упор на cовместимость с древней UNIX системой. Для "десктопных", "АСУ" или "Портативных" систем это неоправданно.
(в общем не удивительно почему MsDos + Windows так популярен на "десктопных" и "портативных" системах)

- L4 Pistahino, микроядро этой системы более "продвинутое" и количество функций предоставляемое им почти на половину порядока меньше чем у MINIX3 но тем не мениие и эта система "заточена" под "сетевые - серверные платформы" только аля' Linux что по сути мало чего упрощает для жизни "Десктопных", "АСУ", "Десктопных"или "Портативных" не говоря уже о "Встраиваемых Микро" системах.

Очень много действительно толковых и знающих программистов "варятся" исключительно в "собственном соку" не имея единой четкой цели (единой СПЕЦИФИКАЦИИ) естественно ни Windows не Linux в силу очевидных недостатков этих систем их давно уже не устраивает и они в одиночку пытаются "накропать свое" пытаясь объять не объятное :-(

Таково мое сугубо личное мнение :-)

Рождённый_в_СССР ты еще живой ??? :-) :-) :-)
w-tools
незнакомец
 
Сообщения: 7
Зарегистрирован: 09.11.2007 22:42:31

Сообщение bw » 10.12.2007 05:50:59

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

По всему остальному я уже высказал свою точку зрения. Будет готовое ядро + SDK и DDK (ну хотя бы документация с примерами), скажи, поковыряю с интересом :-).

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Сообщение Рождённый_в_СССР » 05.04.2008 01:04:31

)
начну с конца

w-tools
Рождённый_в_СССР ты еще живой ???

я жив, здоров, клипал диплом - как уже говорил когда-то в дискусиях РФС перед тем как исчезнуть... мне доверили непростой диплом, сейчас вроде осталось его достойно защитить )

Очень много действительно толковых и знающих программистов "варятся" исключительно в "собственном соку" не имея единой четкой цели (единой СПЕЦИФИКАЦИИ) естественно ни Windows не Linux в силу очевидных недостатков этих систем их давно уже не устраивает и они в одиночку пытаются "накропать свое" пытаясь объять не объятное


вы вероятнее всего говорите о программистах, которые пишут ради хобби - реально если это работа, то как раз есть цель, есть четкая спецификация, ну хотя бы ТЗ и кроме windows и linux ничего не приемлится со стороны поставленной задачи, кроме того все больше и больше приветствуются какие-то непонятные технологии, имеющие сомнительные цели своего существования перед талантливым программистом. Но как только дело доходит до интересов (хобби) - сразу природа человека требует крушить одно (пусть даже и полезное) и возводить в непонятное божество другое...

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

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

и правда, оставьте посикс в покое ) я на него даже не смотрю в силу естественных причин - это стандарт описывающий взаимодействия на языке Си... => как вообще можно писать POSIX-совместимую ОС на Паскале? ))) там же на 99% прибамбасы синтаксисы Си описаны
другой разговор - это синтаксис bash-языка, операющейся на Паскаль, на мой взгяд это более актуальная задача - разарботка такого синтаксиса
альтернатива посиксу в моем случае для системных вызовов построена достаточно просто и в лоб, это нельзя называть громким словом стандарт, потому что больно это банально...

и наконец уже в тему топика )
из микроядер я смотрю только на MINIX, причем как теоретика и hurd как эпогею практических микроядер. К своему стыду L4 в руках не держал - но представляю что это и что там есть, возможно это меня оправдает, обещаю поковырять. Однако, как уже писал, топить себя в микроядре, ради красивой идеи не собираюсь - уж больно много недостатков. мое мнение ядро должно быть не только микроядром, но и иметь в себе минимум функций, которые обязаны исполняться быстро, я уже приводил этот набор и пытался реализовать его в деле. Однако не стоит утверждать что это уже не микроядро - все принципы взаимодействия и работы драйверов всего остального - я думаю нужно ковырять в minix.
Аватара пользователя
Рождённый_в_СССР
новенький
 
Сообщения: 65
Зарегистрирован: 08.08.2007 01:03:26
Откуда: Саратов

Сообщение Timid » 23.04.2008 10:17:42

Мне кажется, интерес представлят Ось и pascal ориентированный язык для поддержки реальной многопоточности. В идеале - для параллельных вычислительных кластеров.
Коммуникационная часть достаточно реализовать TCP и UDP

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

Именно такая Операционка нужна России, позволяющая использовать устаревшее оборудование как ресурс для построения кластера.
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Сообщение ev » 23.04.2008 18:31:25

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

любая система на основе юникса
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение Timid » 24.04.2008 11:51:42

2ev
Неподумавши сказал - возьми слова обратно (про юникс).
Так же можно сказать и про винду. "Любая - если год протрахаться".
Я имею ввиду, что в основе Оси будет лежать виртуализация с автораспределением нагрузки, дублированием потоков и прочее.
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Сообщение ev » 24.04.2008 13:59:50

Неподумавши сказал - возьми слова обратно (про юникс).

лично мне пока хватает :)
если сможешь - убеди в обратном

Так же можно сказать и про винду. "Любая - если год протрахаться".

ну а в принципе а в чем проблема?
ставим машину с виндой, она по dhcp получает данные :) можно и грузиться по сети...
ну а дальше дело техники...
настраивать сложнее чем юникс (это для меня), но я знаю и такие варианты работают

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

я же не телепат... кто, что и кого имеет ввиду мне не известно ;)
следовательно я просто читаю что написано в сообщении...

по поводу виртуализации и т.п. пока дела не очень хороши
опенсорса такого плана особо не видно на горизонте
или кто уже встречал?
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение Timid » 25.04.2008 21:58:10

Тот же Linux кластер ;)

А хотелось бы код без популизма "подделка под винды", чтоб ставил на "пустом" железе и работало как во времена DOS. Быстро и надежно
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Сообщение ev » 25.04.2008 22:45:39

Тот же Linux кластер

какой тот-же? :) название то есть?

А хотелось бы код без популизма "подделка под винды", чтоб ставил на "пустом" железе и работало как во времена DOS. Быстро и надежно

не вижу проблемы
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение Timid » 26.04.2008 09:57:45

А я вижу. Она начинается со слов "а полный наш дистрибутив с исходниками на 2DVD, но лучше получать доступ к портам (пакетам) через сеть"...

Нашел интересный ресурс Лёгкие Web-серверы
Теперь осталось найти "легкие" версии Linux, PHP и MySQL.
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

След.

Вернуться в Операционная система

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru