Рождённый_в_СССР - тебе первому слово
Спецификация Микро Ядра
Модераторы: Рождённый_в_СССР, Модераторы
Спецификация Микро Ядра
Завел новую тему, где предпологается обсуждать структуру и стороение микроядра, системные вызовы, проблемы и методы их решения и тому подобные вещи.
Рождённый_в_СССР - тебе первому слово
Рождённый_в_СССР - тебе первому слово
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
Возможно захочется вспомнить:
http://board.kolibrios.org/viewtopic.php?f=1&t=708
http://board.kolibrios.org/viewtopic.php?f=10&t=863
..bw
http://board.kolibrios.org/viewtopic.php?f=1&t=708
http://board.kolibrios.org/viewtopic.php?f=10&t=863
..bw
- Alexander
- энтузиаст
- Сообщения: 864
- Зарегистрирован: 18.12.2005 18:10:00
- Откуда: оттуда
- Контактная информация:
Продумать что мы за ОС (в целом, а не ядро или ещё какую часть)
хотим получить. Самая сложная часть.
-->
Oberon, заточенный под такую ОС. Самая точная часть.
-->
Ядро, выполняющее потребности этого Оберона и только.
Важная, но не самая сложная задача.
-->
Загрузчик.
Самая лёкгая часть.
-->
Драйверы, словари, документация.
Это развитие.
Это моё мнение.
хотим получить. Самая сложная часть.
-->
Oberon, заточенный под такую ОС. Самая точная часть.
-->
Ядро, выполняющее потребности этого Оберона и только.
Важная, но не самая сложная задача.
-->
Загрузчик.
Самая лёкгая часть.
-->
Драйверы, словари, документация.
Это развитие.
Это моё мнение.
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
w-tools, это я не в укор конечно сказал. Так, может кому будет интересно.
POSIX не определят структуру ядра, вроде как
. Это некоторый интерфейс который ты можешь и не реализовывать в своей системе. Посмотри L4 и Xameleon. Изначально нет никаких упоминаний о POSIX, Алексей сначала сделал ОСь, затем решил, что было бы неплохо приучить её к некому стандарту. Я не в восторге от POSIX, хотя он имеет полное право на существование.
Мне нравится идея микроядра, но само ядро, какое бы оно не было, не является ОСой.
Сейчас, я считаю, вполне можно использовать существующие наработки, L4, Minix3, Mach и т.д. и т.п. Я не вижу смысла изобретать новый интерфейс и новую реализацию.
p.s. Разве что академический интерес, это конечно всегда хорошо
, но я в такие игры не играю, у меня его нет, как и времени
.
..bw
POSIX не определят структуру ядра, вроде как
Мне нравится идея микроядра, но само ядро, какое бы оно не было, не является ОСой.
Сейчас, я считаю, вполне можно использовать существующие наработки, L4, Minix3, Mach и т.д. и т.п. Я не вижу смысла изобретать новый интерфейс и новую реализацию.
p.s. Разве что академический интерес, это конечно всегда хорошо
..bw
wb,
POSIX, чтобы он там не определял давно уже нужно оставить в зеслуженном покое
(слишком архаично)
Вопрос в другом, нужно написать свою СПЕЦИФИКАЦИЮ или хотябы набросать ее.
Причем эта спецификация должна как мне кажется обязательно уделить особое внимание микроядру. Но не столько на саму структуру микроядра (потомучто эта структура будет определяться конкретно платформой и используемым процессором), сколько на API предоставляемый микроядром. Причем API микроядра должен быть "вылизан" по скорости, максимально функционален и минимален по количеству функций (как говориться нужен оптимальный компромис)
Чтбы этого достичь - выше указанного компромиса, микро ядро должно писаться исключительно на ассемблере того процессора на котором будет работать.
(потому что с оптимизировать код лучше чем человек который пишет его на ассемблере ни какой компилятор высокого уровня не сможет)
Если для API микроядра существует детально описанная единая Спецификация то это позволит многим разработчикам и программистам без особых проблем "прикрутить" к этому микроядру свои нароботки, на которых они неодну "собаку съели"
(живой прмер - OC Хамелион на ядре L4)
Выше перечисленные ядра не написаны на ассемблере и это их большой минус но не главный:
- Minix3, микроядро (его API) этой системы изначально заточен под "многопользовательские сетевые - серверные платформы" и к сожалению черезвычайно сложен и функционально избыточен. Это не удивительно потому что автор этой системы изначально делает упор на cовместимость с древней UNIX системой. Для "десктопных", "АСУ" или "Портативных" систем это неоправданно.
(в общем не удивительно почему MsDos + Windows так популярен на "десктопных" и "портативных" системах)
- L4 Pistahino, микроядро этой системы более "продвинутое" и количество функций предоставляемое им почти на половину порядока меньше чем у MINIX3 но тем не мениие и эта система "заточена" под "сетевые - серверные платформы" только аля' Linux что по сути мало чего упрощает для жизни "Десктопных", "АСУ", "Десктопных"или "Портативных" не говоря уже о "Встраиваемых Микро" системах.
Очень много действительно толковых и знающих программистов "варятся" исключительно в "собственном соку" не имея единой четкой цели (единой СПЕЦИФИКАЦИИ) естественно ни Windows не Linux в силу очевидных недостатков этих систем их давно уже не устраивает и они в одиночку пытаются "накропать свое" пытаясь объять не объятное
Таково мое сугубо личное мнение
Рождённый_в_СССР ты еще живой ???

POSIX, чтобы он там не определял давно уже нужно оставить в зеслуженном покое
(слишком архаично)
Вопрос в другом, нужно написать свою СПЕЦИФИКАЦИЮ или хотябы набросать ее.
Причем эта спецификация должна как мне кажется обязательно уделить особое внимание микроядру. Но не столько на саму структуру микроядра (потомучто эта структура будет определяться конкретно платформой и используемым процессором), сколько на API предоставляемый микроядром. Причем API микроядра должен быть "вылизан" по скорости, максимально функционален и минимален по количеству функций (как говориться нужен оптимальный компромис)
Чтбы этого достичь - выше указанного компромиса, микро ядро должно писаться исключительно на ассемблере того процессора на котором будет работать.
(потому что с оптимизировать код лучше чем человек который пишет его на ассемблере ни какой компилятор высокого уровня не сможет)
Если для API микроядра существует детально описанная единая Спецификация то это позволит многим разработчикам и программистам без особых проблем "прикрутить" к этому микроядру свои нароботки, на которых они неодну "собаку съели"
(живой прмер - OC Хамелион на ядре L4)
Выше перечисленные ядра не написаны на ассемблере и это их большой минус но не главный:
- Minix3, микроядро (его API) этой системы изначально заточен под "многопользовательские сетевые - серверные платформы" и к сожалению черезвычайно сложен и функционально избыточен. Это не удивительно потому что автор этой системы изначально делает упор на cовместимость с древней UNIX системой. Для "десктопных", "АСУ" или "Портативных" систем это неоправданно.
(в общем не удивительно почему MsDos + Windows так популярен на "десктопных" и "портативных" системах)
- L4 Pistahino, микроядро этой системы более "продвинутое" и количество функций предоставляемое им почти на половину порядока меньше чем у MINIX3 но тем не мениие и эта система "заточена" под "сетевые - серверные платформы" только аля' Linux что по сути мало чего упрощает для жизни "Десктопных", "АСУ", "Десктопных"или "Портативных" не говоря уже о "Встраиваемых Микро" системах.
Очень много действительно толковых и знающих программистов "варятся" исключительно в "собственном соку" не имея единой четкой цели (единой СПЕЦИФИКАЦИИ) естественно ни Windows не Linux в силу очевидных недостатков этих систем их давно уже не устраивает и они в одиночку пытаются "накропать свое" пытаясь объять не объятное
Таково мое сугубо личное мнение
Рождённый_в_СССР ты еще живой ???
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
> Чтбы этого достичь - выше указанного компромиса, микро ядро должно писаться исключительно на ассемблере того процессора на котором будет работать.
Оптимизация ради оптимизации смысла не имеет. Сначала нужно быть уверенным что именно этот участок кода в ядре тормозит всю систему, а не, например, затертая до дыр дискета. Я против преждевременной оптимизации.
По всему остальному я уже высказал свою точку зрения. Будет готовое ядро + SDK и DDK (ну хотя бы документация с примерами), скажи, поковыряю с интересом
.
..bw
Оптимизация ради оптимизации смысла не имеет. Сначала нужно быть уверенным что именно этот участок кода в ядре тормозит всю систему, а не, например, затертая до дыр дискета. Я против преждевременной оптимизации.
По всему остальному я уже высказал свою точку зрения. Будет готовое ядро + SDK и DDK (ну хотя бы документация с примерами), скажи, поковыряю с интересом
..bw
- Рождённый_в_СССР
- новенький
- Сообщения: 65
- Зарегистрирован: 08.08.2007 01:03:26
- Откуда: Саратов
- Контактная информация:
)
начну с конца
w-tools
я жив, здоров, клипал диплом - как уже говорил когда-то в дискусиях РФС перед тем как исчезнуть... мне доверили непростой диплом, сейчас вроде осталось его достойно защитить )
вы вероятнее всего говорите о программистах, которые пишут ради хобби - реально если это работа, то как раз есть цель, есть четкая спецификация, ну хотя бы ТЗ и кроме windows и linux ничего не приемлится со стороны поставленной задачи, кроме того все больше и больше приветствуются какие-то непонятные технологии, имеющие сомнительные цели своего существования перед талантливым программистом. Но как только дело доходит до интересов (хобби) - сразу природа человека требует крушить одно (пусть даже и полезное) и возводить в непонятное божество другое...
мое дело, как я считаю, путем последовательных приближений придти из хобби к такой системе, которую не стыдно будет поставить на станок, будет легко спроектировать, быстро запрограммировать и сказать начальству - смотрите здесь это делается удобнее чем в windows и система никогда не прервется на обработку непонятно чего - я знаю все что она делает и может делать
и правда, оставьте посикс в покое ) я на него даже не смотрю в силу естественных причин - это стандарт описывающий взаимодействия на языке Си... => как вообще можно писать POSIX-совместимую ОС на Паскале? ))) там же на 99% прибамбасы синтаксисы Си описаны
другой разговор - это синтаксис bash-языка, операющейся на Паскаль, на мой взгяд это более актуальная задача - разарботка такого синтаксиса
альтернатива посиксу в моем случае для системных вызовов построена достаточно просто и в лоб, это нельзя называть громким словом стандарт, потому что больно это банально...
и наконец уже в тему топика )
из микроядер я смотрю только на MINIX, причем как теоретика и hurd как эпогею практических микроядер. К своему стыду L4 в руках не держал - но представляю что это и что там есть, возможно это меня оправдает, обещаю поковырять. Однако, как уже писал, топить себя в микроядре, ради красивой идеи не собираюсь - уж больно много недостатков. мое мнение ядро должно быть не только микроядром, но и иметь в себе минимум функций, которые обязаны исполняться быстро, я уже приводил этот набор и пытался реализовать его в деле. Однако не стоит утверждать что это уже не микроядро - все принципы взаимодействия и работы драйверов всего остального - я думаю нужно ковырять в minix.
начну с конца
w-tools
Рождённый_в_СССР ты еще живой ???
я жив, здоров, клипал диплом - как уже говорил когда-то в дискусиях РФС перед тем как исчезнуть... мне доверили непростой диплом, сейчас вроде осталось его достойно защитить )
Очень много действительно толковых и знающих программистов "варятся" исключительно в "собственном соку" не имея единой четкой цели (единой СПЕЦИФИКАЦИИ) естественно ни Windows не Linux в силу очевидных недостатков этих систем их давно уже не устраивает и они в одиночку пытаются "накропать свое" пытаясь объять не объятное
вы вероятнее всего говорите о программистах, которые пишут ради хобби - реально если это работа, то как раз есть цель, есть четкая спецификация, ну хотя бы ТЗ и кроме windows и linux ничего не приемлится со стороны поставленной задачи, кроме того все больше и больше приветствуются какие-то непонятные технологии, имеющие сомнительные цели своего существования перед талантливым программистом. Но как только дело доходит до интересов (хобби) - сразу природа человека требует крушить одно (пусть даже и полезное) и возводить в непонятное божество другое...
мое дело, как я считаю, путем последовательных приближений придти из хобби к такой системе, которую не стыдно будет поставить на станок, будет легко спроектировать, быстро запрограммировать и сказать начальству - смотрите здесь это делается удобнее чем в windows и система никогда не прервется на обработку непонятно чего - я знаю все что она делает и может делать
POSIX, чтобы он там не определял давно уже нужно оставить в зеслуженном покое
и правда, оставьте посикс в покое ) я на него даже не смотрю в силу естественных причин - это стандарт описывающий взаимодействия на языке Си... => как вообще можно писать POSIX-совместимую ОС на Паскале? ))) там же на 99% прибамбасы синтаксисы Си описаны
другой разговор - это синтаксис bash-языка, операющейся на Паскаль, на мой взгяд это более актуальная задача - разарботка такого синтаксиса
альтернатива посиксу в моем случае для системных вызовов построена достаточно просто и в лоб, это нельзя называть громким словом стандарт, потому что больно это банально...
и наконец уже в тему топика )
из микроядер я смотрю только на MINIX, причем как теоретика и hurd как эпогею практических микроядер. К своему стыду L4 в руках не держал - но представляю что это и что там есть, возможно это меня оправдает, обещаю поковырять. Однако, как уже писал, топить себя в микроядре, ради красивой идеи не собираюсь - уж больно много недостатков. мое мнение ядро должно быть не только микроядром, но и иметь в себе минимум функций, которые обязаны исполняться быстро, я уже приводил этот набор и пытался реализовать его в деле. Однако не стоит утверждать что это уже не микроядро - все принципы взаимодействия и работы драйверов всего остального - я думаю нужно ковырять в minix.
Мне кажется, интерес представлят Ось и pascal ориентированный язык для поддержки реальной многопоточности. В идеале - для параллельных вычислительных кластеров.
Коммуникационная часть достаточно реализовать TCP и UDP
Фактически, нет операционки для построения легкообслуживаемых кластеров, которые можно было масштабировать простым добавлением PC-системных блоков разной производительности (любого поколения).
Именно такая Операционка нужна России, позволяющая использовать устаревшее оборудование как ресурс для построения кластера.
Коммуникационная часть достаточно реализовать TCP и UDP
Фактически, нет операционки для построения легкообслуживаемых кластеров, которые можно было масштабировать простым добавлением PC-системных блоков разной производительности (любого поколения).
Именно такая Операционка нужна России, позволяющая использовать устаревшее оборудование как ресурс для построения кластера.
Неподумавши сказал - возьми слова обратно (про юникс).
лично мне пока хватает
если сможешь - убеди в обратном
Так же можно сказать и про винду. "Любая - если год протрахаться".
ну а в принципе а в чем проблема?
ставим машину с виндой, она по dhcp получает данные
ну а дальше дело техники...
настраивать сложнее чем юникс (это для меня), но я знаю и такие варианты работают
Я имею ввиду, что в основе Оси будет лежать виртуализация с автораспределением нагрузки, дублированием потоков и прочее.
я же не телепат... кто, что и кого имеет ввиду мне не известно
следовательно я просто читаю что написано в сообщении...
по поводу виртуализации и т.п. пока дела не очень хороши
опенсорса такого плана особо не видно на горизонте
или кто уже встречал?
А я вижу. Она начинается со слов "а полный наш дистрибутив с исходниками на 2DVD, но лучше получать доступ к портам (пакетам) через сеть"...
Нашел интересный ресурс Лёгкие Web-серверы
Теперь осталось найти "легкие" версии Linux, PHP и MySQL.
Нашел интересный ресурс Лёгкие Web-серверы
Теперь осталось найти "легкие" версии Linux, PHP и MySQL.
