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, что как работает не помню, но работало чото файл не дают прикрепить
|
Автор: | SII [ 21 фев 2015, 14:54 ] |
Заголовок сообщения: | Re: Разработка концепции ОСи |
imsushka писал(а): SII писал(а): imsushka писал(а): Чисто теоретически микроядро лучше монолита, просто народ отпугивает большие накладные расходы на переключение задач и передачу сообщений А не замечаете внутреннего противоречия в самой этой фразе? что за противоречие ? Вы утверждаете, что микроядро "теоретически лучше" монолита, и одновременно Вы соглашаетесь с тем, что микроядро по сравнению с монолитом имеет "большие накладные расходы на переключение задач и передачу сообщений". Так почему же Вы утверждаете, что микроядро лучше, если по крайней мере по некоторым характеристикам оно хуже, причём не только теоретически, но и практически? |
Автор: | imsushka [ 21 фев 2015, 14:57 ] | ||
Заголовок сообщения: | Re: Разработка концепции ОСи | ||
SII писал(а): Вы утверждаете, что микроядро "теоретически лучше" монолита, и одновременно Вы соглашаетесь с тем, что микроядро по сравнению с монолитом имеет "большие накладные расходы на переключение задач и передачу сообщений". Так почему же Вы утверждаете, что микроядро лучше, если по крайней мере по некоторым характеристикам оно хуже, причём не только теоретически, но и практически? ну так это ж на существующих процессорах я ж говорю о коне в вакууме
|
Страница 1 из 6 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |