Тех. Задание на Микро-Ядро

No comments
w-tools
Posts: 54
Joined: Thu Feb 08, 2007 10:17 am

Post by w-tools »

Приветствую всех уважаемые товарисчи !!!
(Начитавшись мануалов я взялся за программирование - поделюсь своими впечатленями)

Сперва я думал что проблема многих ОС лежит в плоскости "Микро ядро - Монолит". Тепер я понимаю что проблема лежит гораздо глубже и серьезнее. Проясню подробнее суть вопроса и как я пришел к таким выводам:

Самая глобальная проблема лежит в аппартной реализации железа, а точнее говоря в убогости и кривизне аппаратной архитиктуры IBM + INTEL которая сопровождается откровенными недароботками, изобилует архаизмами и просто тупыми ляпами.
И когда программист начинает писать программы, то в какую аппаратную область он бы не сунулся то либо натыкается на "вилы" либо наступает на "грабли" :-) :-) :-) И все это благодоря разработчикам аппаратного обеспечения, которые где нужно пожелели два байта, а где не нужно развели "бодягу". И как вы уже догадались дело не в микро ядре или в монолите :-)
Кратко отмечу всплывшие проблемы :-) :-) :-)

Процесс начальной загрузки - жопа + вилы
Защищенный режим I386: - множество граблей разбросанных в тумане + жопа + вилы
Физическая память IBM PC: - вилы + вилы + грабли
Работа BIOS вместе с функциями: - грабли
Видесистема: - вилы + грабли + жопа
IDE: - вилы + вилы
FDD: - грабли + грабли
USB: - вилы + вилы + вилы + жопа
CD-ROM: - жопа + вилы
Клавиатура: - попа
ISA: - грабли
PSI: - вилы + вилы + жопа
AGP: - попа + жопа
Sound: - попа + грабли
Система рапределения портов и аппаратных прерываний: - нет подходящих слов

Надеюсь на то что этим коротеньким списком ни кого лично не оскарбил :-) :-) :-)
Причем это не сугубо мое личное мнение, если полазить по различным форумам "железячников" то такая ситуация окажется стандартной почти для всякого аппаратного устройства, список которых я привел далеко не полный (принтеры, сканеры, ТВ тюнеры и многое - многое другое)

После всего выше изложенного возникает два глобальных и очень серьезных вопроса:

1. Как получилась что такая ужасная, кривая, убогая система как IBM PC захватила почти весь мир. А в частности, все пространство Росии + пост Советское пространство ??????????????

2. Почему зная что система IBM PC + INTEL x86, насквозь прогнила из нутри и сыпется при каждом сквозняке, тысячи и тысячи отечественных программистов продолжают писать под эту систему программы - тем самым поддерживая эту систему на плаву и в добром здравии ?????????
(это получается что ежики кололись и плакали но всеравно продолжали "жрать(драть)" кактус :-) :-) :-) )

P.S. В стране десятки тысяч институтов, кафедр, студенческих конструкторсих бюро и т.п. которые специализируются на вычислительной технике и программировании которые ежегодно выпускают целую армию специалистов, интересно чем они все вместе взятые занимаются ??? Где результатаы от того научнно-технического потенциала в области вычислительных систем, которым так любят хвалиться в средствах массовой информации ??? Чем этот научный потенциал занимается на наши с вами деньги - деньги обычных налогоплатильщеков ??? Поддерживают Intel + IBM + Microsoft ???

Я представляю чего может добиться группа эксперементаторов в каком нибут зачахлом НИИ Информатики, если простой мужичек один написал систему UoS плюс параллельно проекты к которым он успел приложить свою руку :-)
(А вы говорите, докторская дисертация - докторская дисертация :-) :-) ;-) )
Mario79

Post by Mario79 »

w-tools
Есть формула: товар-деньги-товар...
Она все объясняет.
User avatar
Heavyiron
Posts: 1073
Joined: Fri Jan 27, 2006 3:06 pm

Post by Heavyiron »

Раз пошла такая тема, то линк от mike.dld:
http://maxim-kononenko.livejournal.com/299236.html
PS: написано не по просьбе mike.dld, просто он привел в ирк этот линк, а я в свою очередь увидел сходство описанных там проблем с тем, что написал w-tools в последнем посте, потому я и решил привести здесь эту ссылку.
Last edited by Heavyiron on Tue May 15, 2007 3:42 pm, edited 1 time in total.
Mario79

Post by Mario79 »

Heavyiron
Он был разбанен CodeWorld'ом при восстановлении, мог бы и сам написать...
А ссылка... очередное обсуждение в стиле "Что было вначале яйцо или курица?" - тупое, бессмысленное и малозанимательное.
Зря отняло у меня 3 минуты жизни.
Serge
Kernel Developer
Posts: 3952
Joined: Wed Mar 08, 2006 6:25 pm

Post by Serge »

w-tools

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

А вот теперь ответ на вопрос почему эта убогая система завоеваля весь мир. Он очень прост. В то время это была единственная открытая для других разработчиков платформа. Это позволило наладить массовый выпуск комплектующих и сборку из них компьютеров, а большие объёмы снизили цены и более продвинутые но проприетарные решения от Apple и HP не смогли конкурировать с PC/XT/AT. Кстати IBM тоже пыталась выпустить проприетарную платформу разработав шину MCA и в итоге потерпела полное поражение.
w-tools
Posts: 54
Joined: Thu Feb 08, 2007 10:17 am

Post by w-tools »

Приветству всех !!!

В топике упоминалось ядро L4, просмотрел сегодня, почитал, скачал демку пробую эксперементировать.

А ведь действительно стоющая вещь, почти все тоже самое о чем я писал в своем первом посте этого топика, только уже реализовано и работает, правда написана на языке С
(спасибо что мордочкой тыкнули на L4, иначе бы не заметил :-) :-) :-) )
(с ядрм minix3 баловался давно - слишком POSIX ориентировано и слишком много ненужных функций на уровне микроядра)


Думаю КОС имеет смысл перевести на L4Ka - Pistachio/ia32 !!!
Вот это стоющее дело !!!
Ваше мнение ???

Ссылки:
http://forum.ru-board.com/topic.cgi?forum=66&topic=0079
http://www.l4os.ru

Микроя ядро:
http://www.l4hq.org
User avatar
Ghost
Kernel Developer
Posts: 558
Joined: Mon Mar 20, 2006 10:44 am

Post by Ghost »

QNX тоже микроядро, однако прослойка POSIX полноценная, и все этому только рады...
Думаю КОС имеет смысл перевести на QNX - Neitrino !!!

P.S. даже не вздумайте
P.P.S.
Микро ядро по сравнению с монолитом лиш даёт более высокий уровень абстракций, но какой смысл в таких абстракция для системы написанной на ассмеблере (читай, под конкретную архитектуру)? Вы просто заимучаетесь писать под такую систему дрова(сервисы/как назовёте/etc), а писать даже части Kolibri на других языках (C/C++/Pascal/???) думаю ни у кого рука не поднимется.
w-tools
Posts: 54
Joined: Thu Feb 08, 2007 10:17 am

Post by w-tools »

Ghost,
Либо я тебя не понимаю, либо ты сам не понимаеш что говориш !!!???

Ответь на вопрос: Что такое POSIX ???
Ответ на вопрос: Почему все *nix системы одинаковы с лица ???
И ответь на вопрос: Почему все *nix системы такие убогие в плане интерфейса и неоправданно сложные в плане понимания и программирования ???

Если ты не видиш связи между этими тремя вопросами то тебе нужно более внимательно изучить чем же в действительности является POSIX (почитай книжку Таненбаума про Minix)

"Микро ядро по сравнению с монолитом лиш даёт более высокий уровень абстракций" - это не более чем твоя фантазия !!!
Вопрос в другом: Если вдруг необходимо модернизировать структуру монолитного ядра то сразу перестают работать многие приложения и в итоге нужно переписать почти всю систему. Запримером далеко ходить не надо возьми цепочку Win311 - Win95 - Win98 - WinMe и т.д. В итоге система так усложняетсмя что ее перестают понимат сами разработчики и таким продуктом является WinXp, очем в открытую признались сами разработчики. По тем же стопам идет и KOS.
А если монолитное ядро не модернизировать то оно тормозит в развитии всю систему, за примером тоже долеко ходить не надо - это вся линейка Linux

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

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

Но прежде чем писать драйвера, сервисы, и приложения не мешало бы построить архитектуру ядра и немного ее испытать на прочность. Если этого не сделать то получим очередную Windows, MeOs, KOS, MiracuLix и многие многие подобные системы.

Как было упомянуто ранее на этом форуме, действительно многие не представляют что такое "ЯДРО", "МИКРО ЯДРО" и даже слабо понимают смысл слова "OS" но почемуто это не мешает таким людям жанглировать словаими значение которых они не понимают, тем самым выдают весьма абсурдные фразы :-) :-) :-)

P.S. Не будет разглашением большой тайны если сказать что KOS изначально мертвая система (мертво рожденная) Даже наличие разных драйверов, красивых кнопок и картинок не могут вдохнуть жизнь в эту OS.
И словесные баталии на тему совместимости со старыми версиями KOS и тем более MeOs демонстрируют либо откровенную слепоту либо невежество обывателей. KOS как не крути не более чем эксперментальная "лялька" в руках заботливых "нянечек"

Нет структуры - Нет системы !!! (такая вот эмпирическая аксиома)

Так давате сначала построим структуру !!! Я предложил структуру с самого начала этого топика, есть другая структура L4, эти две структуры во многом схожи, но основные различия лежат в системе взаимодействий потоков. У моей структуры взаимодействие осуществляется через общие - приватные буферы у L4 через систему IPC эти различия вызваны приверженостью создателей L4 к POSIX системам а я их считаю архаизмом.

Брифинг продолжается господа обыватели !!! :-) :-) :-)
Mario79

Post by Mario79 »

w-tools
Бла-бла-бла... Да сколько можно уже! Ты хоть сам хоть одну программу написал для Колибри?!
Меня просто убивают такие вот люди как ты приходят, кричат, что все жопа и нифига не делают. Только предлагают другим поработать!
Если спросишь их, почему - сразу говорят что у них нет времени, и они заняты другими более высокими и благородными целями.
Да я дурак, да я плохо представляю, что такое ОС, тем более что такое "микроядро". Потому что вы господа сыплете названиями и терминами, никогда не поясняя их значения. Для вас человек, который не владеет вашим уровнем знаний - лох, лузер, придурок... А то что такому человеку может просто недоступна литература и у него физически не хватает времени на все вам ведь пофигу...
Я не знаю Си, я много чего не знаю, но я пытаюсь разобраться и сделать хоть что нибудь.
Куда как проще заниматься высокими идеалами, а не повседневными задачами.
Извиняюсь, если я резко выразился, но просто уже задолбало вот такое вот читать 4 года подряд.
User avatar
Ghost
Kernel Developer
Posts: 558
Joined: Mon Mar 20, 2006 10:44 am

Post by Ghost »

писать даже части Kolibri на других языках (C/C++/Pascal/???) думаю ни у кого рука не поднимется
я имел в виду части ЯДРА, думаю большинство меня правильно поняли.
Почему все *nix системы такие убогие в плане интерфейса и неоправданно сложные в плане понимания и программирования ???
О каком интрефейсе идёт речь? API? Если да, то я с тобой полностью не согласен, и что сложного в понимании и программировании? У меня никогда не возникало проблем, всё продумано.
У моей структуры взаимодействие осуществляется через общие - приватные буферы у L4 через систему IPC...
Для программиста это и даёт "болле высокий уровень абстракций" и больше ничего кроме гемороя (при написании системы на ассемблере) при раскручивании этих абстракции.
А если монолитное ядро не модернизировать то оно тормозит в развитии всю систему, за примером тоже долеко ходить не надо - это вся линейка Linux
Если что и тормозит, то ты видимо имел в виду либы, ибо при переходе от одной субверсии к другой (..2.4.*-2.5.*-2.6.*-посмотри сорци) внутренняя архитектура очень сильно меняется, и перед этим никто не останавливается. А интерфейс либ, может долго не менятся.
Но прежде чем писать драйвера, сервисы, и приложения не мешало бы построить архитектуру ядра и немного ее испытать на прочность. Если этого не сделать то получим очередную Windows, MeOs, KOS, MiracuLix и многие многие подобные системы.
И чем например тебе не нравится архитектура Windows??? Приведи пример, или это как всегда штамп?
Нет структуры - Нет системы !!!
Вот с этим согласен, но за последнее время многое в этом направлении сделано (появилась структура хотябы на уровне сорцов).

P.S. Mario79 +1, я даже знаю ответ )))
Phantom-84
Posts: 158
Joined: Sun Feb 18, 2007 8:34 pm

Post by Phantom-84 »

Без обид, но мне тоже кажется, что у разработчиков Колибри неправильно выбран баланс между разработкой ядра и приложений! Я бы на вашем месте сначала направил все усилия на доводку ядра, а все необходимые приложения перевел бы в разряд тестовых. Но это мой подход. В наличии для каждого удачного билда ядра дистра, в состав которого входили бы прикладные пакеты, тоже есть свои преимущества - вы можете очередное законченное решение предложить для тестирования даже тем, кто далек от вопросов разработки ОС. w-tools, а когда модернизируешь микроядро, то перестают работать не только приложения, но и все остальное. Какого бы типа ОС ты не писал, нужно просто хорошо ее структурировать, иначе она быстро превратится в свалку инвентаря (вил, да грабель). В остальном я с тобой согласен.
k@sTIg@r
Posts: 188
Joined: Wed Feb 21, 2007 3:03 pm

Post by k@sTIg@r »

Я вот не могу понять, какого вы приципились к колибри?
w-tools
Если ты считаешь что она "мертворожденная", нет структуры, идет по направлению Виндовс и т.п. то что значат фразы типа "переписать колибри под мою структуру или структуру L4". Ты явно хочешь создать все с нуля и переманить разработчиков. Ну так и скажи "вот моя структура, кто со мной?", открывай свой форум или конференцию, и своей командой создавайте структуру. Какого разводить тут дебаты?

...

Да, может у Колибри и нет будущего...пусть! Над ней работают люди, РАБОТАЮТ. Если из нее получится что-нибудь путевое - замечательно. Если она умрет, и будет жить только в рассказах дедушек своим внукам о замечательной оси и ее команде - ничего страшного, ценность этого проекта все равно ничего не заменит и эта ценность - опыт.

Что за дебильная привычка все разрушать.

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


w-tools, да, согласен, кое-где в твоих словах есть правда. Спасибо, мы (по крайней мере я) это учтем!!!
w-tools
Posts: 54
Joined: Thu Feb 08, 2007 10:17 am

Post by w-tools »

Mario79,
Ты чего так "разошелся" лично на тебя я не показывал пальцем, ни вчем собственно говоря не обвинял и даже не имел тебя в виду :-)
То что многие в течений 4х лет убивают своими высказываниями, так это не страшно. Обычно на протяжении всей жизни этот процесс постоянен и человек только крепчает от этого :-) :-) :-)

То что ты говориш о том что я ничего не писал под KOS это верно, но не совсем, потому что как только очередная реализация MeOs попала комне в руки (помниться тогда все дружно поносили Велика :-) ) я сразу же начал выкидывать оттуда все лишнее и экперементировать с ней. В общем может быть даже гдето сохранились некоторые мои посты многолетней давности и багрепорты, правда под другим ником. :-) :-) :-)
А то что под KOS я не пишу приложений так у меня рука не поднимается писать какую нибудь игрушку или демку если я не могу досих пор подключить к ней ни один свой самодельный девайс и не могу реализовать даже простую математику для ее обработки :-) :-) :-)

Ghost,
Когда я говорил об убогом интерфейсе *nix, я имел ввиду интерфейс подключения сторонних драйверов (в частности для моих личных железок :-) , да и для понимания эта структура весьма туговата :-)

И вообще когда я имею ввиду слово архитетура, то подразумеваю воглаве всего именно написание, подключение, и отладку драйверов и аппаратных средств, а если этой ирхитектуры нет или она сделанна через "заднее место" тогда зачем такая OS вообще нужна ????

Архитектура Windows мне очень нравиться все есть особенно мне нравиться архитектура графического интерфейса, но это толко до тех пор пока сам не начнеш писать драйвер какой нибудь железки, если тебе и этого мало то не поленись и сходи на какой нибудь форум железячников и драйверописателей и скажи там что архитектура Windows грамотная и стройная. Думаю сегодняшняя реплика Mario79 тебе покажется цветочками :-) :-) :-)

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

И вообще я ждал чтобы разгромили предложенную мной СТРУКТУРУ в пух и прах с высоты тех кто расколол защищенный режим и разобрался со страничной адресацией процессора I386.
Но почемуто как это не странно вместо этого пытаются подавить мою личность и разгромить мою голову ?!?!?! :-) :-) :-)

P.S.
Господа отвечайте желательно по теме и не стесняйтесь выкладывать ассемблерный код :-)
w-tools
Posts: 54
Joined: Thu Feb 08, 2007 10:17 am

Post by w-tools »

k@sTIg@r,
Не драматизируй события и не раскалывай общество :-) :-) :-)

То что KOS мертвая это и так все знают(это заслуга Велика, а точнее его упущение), один из возможных способов вдохнуть в KOS жизнь и есть этот топик. А то что написание программ это очень ценный опыт и его можно применить в деле , так это и есть такая попытка !!!!
Mario79

Post by Mario79 »

w-tools
Сначала все критиковали, что ОС без приложений это не ОС, а так интересная поделка. Пришли люди начали делать приложения и вот слышится обратное утверждение!
Ну, это вообще полный пиздец... У меня нет слов.
Господа отвечайте желательно по теме и не стесняйтесь выкладывать ассемблерный код
Ну, вот опять! Выложи сам чего нибудь! После этого взывай к помощи других. Иначе у тебя дальше, чем у РУС ОС, не пойдет...
То, что KOS мертвая это и так все знают (это заслуга Велика, а точнее его упущение), один из возможных способов вдохнуть в KOS жизнь и есть этот топик. А то, что написание программ это очень ценный опыт и его можно применить в деле, так это и есть такая попытка !!!!
Вот не надо вот этого, не надо! Колибри это не Menuet. Над Колибри работают много программистов, которые ее доводят до ума, а не один человек как это было с Menuet.
То, что не все идеи описаны на форуме, что нет плана развития и структуры – оно есть, но оно в головах программистов и пусть оно там остается, потому что ее вот здесь вот так вот и обосрут по полной…
Пока что от тебя видны только слова.
Так сложилось "исторически" в проекте Колибри, что если человек знает, и хочет что-то переделать, он занимается переделкой, а здесь на форуме отмечается лишь, для того чтобы осведомить об этом, чтобы другие люди по возможности не занимались параллельной работой.
Единственная вещь, которая была сформирована общим собранием это стандарт формата возвращаемой директории (так называемая VFS), который щедро обсирается теми, кто в обсуждении не участвовал. Прошу обратить внимание именно на конец предыдущего предложения. Потому что обсуждение было открытым, и каждый мог предложить свое. Потому что этот стандарт внедрен, работает и работает замечательно.
Если ты сам не готов реализовывать свои идеи, то не стоит их здесь обсуждать. Это бесполезная трата времени своего и чужого.

З.Ы. Тема перешла в оффтоп, и если так и будет продолжаться, я перенесу ее в соответствующий раздел.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest