OSDev
http://osdev.su/

Разработка концепции ОСи
http://osdev.su/viewtopic.php?f=5&t=1055
Страница 1 из 6

Автор:  imsushka [ 21 фев 2015, 11:09 ]
Заголовок сообщения:  Разработка концепции ОСи

А почему не видно внятного описания конечного видения и ниши ОСев ?

Может просто попробовать сделать чисто теоретическую ОСь ? Не привязанную ни к какому процессору / архитектуре ? Плювать на накладные расходы и занимаемые объемы ?
Может быть придумать идеальный процессор под эту ОСь ?

А не пытаться написать очередной драйвер клавиатуры/СД/rtl8139 ?

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

Мне не понятно зачем народ пихает в ядро менеджер памяти для прикладного уровня ?
Ядро занимается только управлением страничной памятью. Задаче выделенно адресное пространство, вот пусть сама им и управляет.

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

Автор:  Actium [ 21 фев 2015, 13:43 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

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

Автор:  Bargest [ 21 фев 2015, 14:08 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

Цитата:
Может просто попробовать сделать чисто теоретическую ОСь ? Не привязанную ни к какому процессору / архитектуре ? Плювать на накладные расходы и занимаемые объемы ?

И так придумали микроядро.
Цитата:
Может быть придумать идеальный процессор под эту ОСь ?

Процессор под ОСь? ОС - это сервисная программа, которая обеспечивает работу всех остальных. Это ОСь пишется под процессор, а процессоры делаются для решения прикладных задач: для параллельных вычислений - свои, для ПК - свои, для видеокарт - свои, для встраиваемых решений - свои.
Цитата:
А не пытаться написать очередной драйвер клавиатуры/СД/rtl8139 ?

Без самопального драйвера ОСь даже поотлаживать, и она останется на бумаге. А использование готовых драйверов от других систем требует, чтобы сама система была максимально похожа на уже существующую.
Цитата:
Чисто теоретически микроядро лучше монолита, просто народ отпугивает большие накладные расходы на переключение задач и передачу сообщений.
Но если представить себе процессор у которого время переключения контекста задачи 0, то тормоза микроядра исчезают.

Представить можно что угодно, но какой в этом прок? Переключение контекста задачи физически не может занимать 0, потому что задач очень большое число, а значит процессору придется хранить кучу информации, да еще и искать в ней нужную (тот контекст, на который мы переключаемся).
Цитата:
Мне не понятно зачем народ пихает в ядро менеджер памяти для прикладного уровня ?
Ядро занимается только управлением страничной памятью. Задаче выделенно адресное пространство, вот пусть сама им и управляет.

Я рассуждал так: системе самой надо управлять своей памятью (самой выделять структурки под разные системные объекты и т.д.). А если уже есть такой менеджер в системе, почему бы его интерфейс не экспортировать наружу? Причем мой менеджер не ядерный - ему передается адрес начала таблицы разметки памяти, и она с ним работает. Можно эти же функции использовать и без переключения в 0-кольцо.
Цитата:
И желательно, что б прикладные задачи были скомпилированны в пикод. Тогда получится что запуск приложения - это запуск интерпритатора кода, в своем независимом адресном пространстве, со своей копией мини ДОСа.

Так был изобретён Android.

Автор:  SII [ 21 фев 2015, 14:20 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

imsushka писал(а):
Чисто теоретически микроядро лучше монолита, просто народ отпугивает большие накладные расходы на переключение задач и передачу сообщений


А не замечаете внутреннего противоречия в самой этой фразе?

Автор:  imsushka [ 21 фев 2015, 14:49 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

Цитата:
Процессор под ОСь? ОС - это сервисная программа, которая обеспечивает работу всех остальных. Это ОСь пишется под процессор, а процессоры делаются для решения прикладных задач: для параллельных вычислений - свои, для ПК - свои, для видеокарт - свои, для встраиваемых решений - свои.

да, процессор под ОС, а почему бы нет
да есть х86, но ему уже 30 лет. и всякие надстройки это тяжкий груз совместимости с МС-ДОС.
интел и мисрософт - братья (просто титаниум микрософт не потянула, вот он и утанул)
Alpha и DEC - братья ( а ведь Alpha с той же архитектурой что и титаник и был востребован, но забили конкурента )
SPARK и SUN Solaris - братья


Цитата:
Без самопального драйвера ОСь даже поотлаживать, и она останется на бумаге. А использование готовых драйверов от других систем требует, чтобы сама система была максимально похожа на уже существующую.

но может не стоит с этого начинать писать ОС ?

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

почему не может ?
сколько задач крутиться одновременно ? 1000 или 10000 ?
вот смотрю у себя в таск менеджере - 34 задачи (из них только 8 моих, остальное винда)
сколько памяти занимает слепок задачи ? мегабайт ? 10 ?
реально килобайта 4 - 1 страница
100 задач - 400 кил
что нельзя выделить 1 мег под хранение контекста задачи ?

Цитата:
Я рассуждал так: системе самой надо управлять своей памятью (самой выделять структурки под разные системные объекты и т.д.). А если уже есть такой менеджер в системе, почему бы его интерфейс не экспортировать наружу? Причем мой менеджер не ядерный - ему передается адрес начала таблицы разметки памяти, и она с ним работает. Можно эти же функции использовать и без переключения в 0-кольцо.

да не нужно мне в ядре сильно с памятью работать. просто для ядра проверок не нужно много. а вот если экспортировать то проверки нужны.

Цитата:
Так был изобретён Android.


да, это очень хорошая система
одно ее портит - Ява

Автор:  imsushka [ 21 фев 2015, 14:50 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

SII писал(а):
imsushka писал(а):
Чисто теоретически микроядро лучше монолита, просто народ отпугивает большие накладные расходы на переключение задач и передачу сообщений


А не замечаете внутреннего противоречия в самой этой фразе?


что за противоречие ?

Автор:  pavia [ 21 фев 2015, 14:52 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

SII Это не страшно. И противоречия нет.
Схему 1000/1000/1000 (прерывания(процессов) в секунду/ задач или команд на 1 процесс/время смены контекста 1 задачи) Intel держит начиная с 8086.
А вот что реально пугает отсутсвие гарантии доставки команды или сообщения в микроядре.

Автор:  imsushka [ 21 фев 2015, 14:53 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

мой менеджер памяти
старье, писано в 2007, что как работает не помню, но работало
чото файл не дают прикрепить

Вложения:
Memory.pas.txt [15.16 КБ]
Скачиваний: 688

Автор:  SII [ 21 фев 2015, 14:54 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

imsushka писал(а):
SII писал(а):
imsushka писал(а):
Чисто теоретически микроядро лучше монолита, просто народ отпугивает большие накладные расходы на переключение задач и передачу сообщений


А не замечаете внутреннего противоречия в самой этой фразе?


что за противоречие ?


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

Автор:  imsushka [ 21 фев 2015, 14:57 ]
Заголовок сообщения:  Re: Разработка концепции ОСи

SII писал(а):

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


ну так это ж на существующих процессорах
я ж говорю о коне в вакууме :)

Вложения:
План статьи.doc [28 КБ]
Скачиваний: 542

Страница 1 из 6 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/