OSDev

для всех
Текущее время: 19 апр 2018, 16:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
СообщениеДобавлено: 22 июл 2014, 23:59 

Зарегистрирован: 10 апр 2014, 17:12
Сообщения: 68
Изначально я задумывал сделать микроядро, в котором будут реализованы только самые базовые функции ОС: планировщик процессов и управление памятью, а также обработка некоторых прерываний. сейчас у меня уже получается нечто между микроядром и монолитным, ибо я уже добавил в ядро поддержку работы с консолью, работу с дисками. А что у вас?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июл 2014, 00:40 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1337
Откуда: Зеленоград
Монолит с возможностью размещения драйверов как в ядре, так и в виде отдельных задач режима пользователя. То, что сейчас называют микроядром, зачастую таковым не является. Пример -- QNX, в которой от микроядерности остался только вынос драйверов в независимые процессы; всё остальное там в ядре. (Потому, собственно, сейчас выдумали "наноядра" -- этим называют примерно то, что изначально именовалось микроядром. В общем, обесцениваются не только деньги, но и терминология).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июл 2014, 10:15 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1196
Аналогично, хотя поддержка драйверов режима пользователя не проработана до конца (многие категории таких драйверов нуждаются в доп. прослойке режима ядра). Т.е. пока больше похоже на монолит (модульный). Поддержка дисков/ФС полностью вынесена в модули ядра. Драйвер загрузочного диска/ФС загружается вместе с ядром в виде отдельного файла, потом ядро его инициализирует и уже после продолжает загрузку, используя этот драйвер.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июл 2014, 11:28 

Зарегистрирован: 18 июл 2014, 09:57
Сообщения: 20
Одназначна Гибритные ядра , Так как каждые из концепций имеют свой плюсы и минусы .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июл 2014, 21:19 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1081
Аналогично. Ядро монолитное. А вот всё что поставляется сторонними разработчиками в отдельных процессах - драйвера, программы, сервисы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июл 2014, 22:23 

Зарегистрирован: 18 июл 2014, 18:13
Сообщения: 13
Мне вот интересно, зачем пытаться писать подобие уже существующих ядер? Я к примеру зачитался концепцией экзоядра, где ядрышко только дает доступ к ресурсам компьютера и осуществляет их защиту. Остальное реализовано в виде подгружаемых библиотек, которые могут реализовывать какой угодно API. Принципиально там даже управление процессами из ядра выкинуто. Получается ядро маленькое, без наворотов и хорошо управляемое, то есть вполне под силу одному человеку. Монолиты пишутся обычно десятками-сотнями программистов, и это приводит к трудностям при отладке. Думаю что если не задумывается крупная коммерческая ось, то имеет смысл глядеть в сторону такого подхода. А не городить кучу костылей и припарок, чтобы потом гордо обозвать ядром и положить на полочку как со всеми начинаниями и происходит обычно. Не зря ведь и MS, и Линух призадумались над размерами своих ядер и проблемами поиска ошибок. Все ж понимают что до бесконечности увеличивать мощность процессоров не получится. А если ядро только разделяет и властвует, то остальное уже зависит от криворукости прикладных программистов, и путем отмирания оных система в целом будет развиваться. Ну даже к примеру работа с консолью может быть написана разными способами, и постоянно приклеивать ее к ядру неудобно. А будет это отдельным процессом, и управлять легче, и возможности получить уязвимость намного меньше. Как говорится, кесарю - кесарево, а ядру - только то что необходимо. Написать с лету такое ядро конечно не выйдет, зато есть над чем голову поломать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 июл 2014, 00:09 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1337
Откуда: Зеленоград
Лично я, почитав про экзоядра, пришёл к выводу, что эта концепция неработоспособна принципиально.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 июл 2014, 09:13 
Аватара пользователя

Зарегистрирован: 14 май 2012, 22:17
Сообщения: 99
Надо развивать правильные идеи а не тупиковые. Экзоядро - типичное академическое упражнение - пусть там и остается. Кстати, радоватся как разработчику тому что ядро маленькое - не стоит, если что-то из него удалено то это что-то всё равно придётся сделать в проекте чтобы проект "взлетел" и пару раз хлопнул крыльями. Самое идеальное экзоядро без сервисов и драйверов - сферический конь в вакууме. Вспоминайте историю - линуксом стали позоватся только после того как он стал запускающейся системой. Если-бы в нем не появились дрова и юзерспейс то хранился бы он на складе истории.
Консоль вполне может существовать в качестве отдельно процесса в самом-самом монолитном ядре.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 июл 2014, 18:04 

Зарегистрирован: 10 апр 2014, 17:12
Сообщения: 68
Demonikss, я как бы и не стараюсь что-то скопировать, поэтому выпендриваться не нужно. изначально я подразумевал (как писал выше) делать микроядро, однако потом я решил что если впихнуть в него пару обязательных для юзабельности сервисов, то это не слишком большой "костыль", а тему создал не для того чтобы почитать что у людей и сделать также, а чтобы узнать как еще можно сделать. по сути структура ядра у меня уже расписана от А до Я.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 июл 2014, 19:40 

Зарегистрирован: 18 июл 2014, 18:13
Сообщения: 13
Я не выпендриваюсь, если так могло показаться то жаль. На форуме колибриков я задавал несколько вопросов и получал ответ типа зачем трогать и переделывать если и так все работает. В итоге даже с первых строчек кода ядра там видно что система дырявая как решето и до зрелости там еще пилить и пилить. А по поводу я знаю структуру будущего ядра... Завтра придумают новую клавиатуру, несовместимую с нынешними интерфейсами, будем ядро переписывать? А потом опять отлавливать ошибки? Экзоядро может и кажется чисто академической разработкой, если не задумываться о развитии системы в целом. Я считаю что код который не нужен в ядре, может и должен быть вынесен из ядра. Я конечно не великий специалист, но переключаться на каждое нажатие клавиши в контекст ядра - не самое рациональное использование ресурсов системы. Или речь идет не об операционной системе защищенного режима?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB