OSDev

для всех
Текущее время: 21 сен 2018, 18:23

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




Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу 1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 11:09 

Зарегистрирован: 21 фев 2015, 10:39
Сообщения: 50
А почему не видно внятного описания конечного видения и ниши ОСев ?

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

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

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 13:43 

Зарегистрирован: 01 фев 2015, 10:02
Сообщения: 54
Насколько мне известно, динамическое распределение памяти обычно выполняется на прикладном уровне. И если в куче недостаточно места, то летит запрос ядру.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 14:08 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Цитата:
Может просто попробовать сделать чисто теоретическую ОСь ? Не привязанную ни к какому процессору / архитектуре ? Плювать на накладные расходы и занимаемые объемы ?

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

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

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

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 14:20 

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


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 14:49 

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

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


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

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

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

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

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

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

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


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 14:50 

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


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


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 14:52 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 14:53 

Зарегистрирован: 21 фев 2015, 10:39
Сообщения: 50
мой менеджер памяти
старье, писано в 2007, что как работает не помню, но работало
чото файл не дают прикрепить


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


Последний раз редактировалось imsushka 21 фев 2015, 15:03, всего редактировалось 2 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 14:54 

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


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


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


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка концепции ОСи
СообщениеДобавлено: 21 фев 2015, 14:57 

Зарегистрирован: 21 фев 2015, 10:39
Сообщения: 50
SII писал(а):

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


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


Вложения:
План статьи.doc [28 КБ]
Скачиваний: 199
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу 1, 2, 3, 4, 5, 6  След.

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


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

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


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

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