OSDev

для всех
Текущее время: 29 мар 2024, 00:04

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




Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Химера ОС
СообщениеДобавлено: 16 ноя 2007, 05:30 

Зарегистрирован: 16 ноя 2007, 02:36
Сообщения: 27
И винда и линух стоят на идеях 20-ти летней давности. В эпоху интернета они просто не могут быть надежными. Разработки новых ОС на коленке утыкаются в драйвера и тихо ползут куда-то. Что делать? А кто виноват знают все :lol:
Предлагаю:
Сервера вместо драйверов. Каждый сераер (группа серверов) на своей виртуальной машине.
Маленький и простой гипервизор раздает железо серверам низкого уровня.
Сервера предоставляют ресурсы, включая виртуальное железо.
Гипервизор раздает эти ресурсы другим по их запросам (если разрешено).
Каждый сервер сидит в своём адресном пространстве своей VM и ничего не видит кроме тех ресурсов, которые ему дал гипервизор (CPU, BIOS, память, и т.д.)
Примеры серверов: File Server, Network Connection Server, Keyboard Server, Drive Server, Win32 Server, Virtual Memory Server, BIOS Server.
Поначалу почти всё можно просто собрать из готовых деталей :)
Наприер Линух как File Server и Drive Server, Колибри - Network, Windows - USB, а собственное творение (написанное как угодно и на любом языке) работает на своей собственной отдельной VM, получает сколько хочет памяти, процессоров и всго остального, включая ресурсы высокого уровня, например OpenGL дисплей :)
В дальнейшем происходит частичная замена серверов работающих под другими ОС на самодельные или написанные производителями железа.
Сервера будут простыми и ясными. В результате меньше багов и высокая скорость работы (потери на переключениях между VM будут, но зато всё остальное!)
Пояснения:
Ресурс - это некий протокол взаимодействия.
Сервер базирующийся на известной ОС - это user-mode программа, которая взаимодействует с другими серверами через гипервизор.
Сервера общаются через гипервизор.
Гипервизор простой потому, что он только ''распределяет'' ресурсы, обеспечивает связи серверов и переключает CPU.

Ваше мнение?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 16 ноя 2007, 08:29 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Либо "гипервизор" должен вобрать в себя всю работу с аппаратурой на самом низком уровне, чтобы VM нормально работали, а это уже не маленький "гипервизор", либо речь идет о микроядре, где по идее серверы не должны подвешивать систему и в случае чего легко перезапускаться, а на практике частенько подвешивают и не перезапускаются (система не падает окончательно, но контроль над ней теряется). Я это к тому, что идея не нова, но идеально реализовать ее на практике не реально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 16 ноя 2007, 13:00 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Интересно, а как будут взаимодействовать Линух File Server с Колибри Network?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 16 ноя 2007, 15:28 

Зарегистрирован: 03 июл 2007, 11:07
Сообщения: 54
А зачем брать что-то из Линукс, что-то из Колибри?? Лучше сделать сервер, позволяющий запускать Линукс- или Колибри-приложения. А основную часть написать самому...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 16 ноя 2007, 22:45 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
alexei

И винда и линух стоят на идеях 20-ти летней давности. В эпоху интернета они просто не могут быть надежными

Если неполиткорректно выражаться -- полная чушь, причём со всех точек зрения. И винда, и линух стоят на идеях никак не менее 30-летней давности ;) А их ненадёжность с эпохой интернета никак не связана -- они столь же ненадёжно работали (и работают) и без интернета. Главные причины ненадёжности -- громоздкость систем (как следствие неграмотного проектирования) и низкое качество реализации (как следствие стремление сделать "всё для всех", причём в сжатые сроки).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 17 ноя 2007, 00:00 

Зарегистрирован: 16 ноя 2007, 02:36
Сообщения: 27
Цитата:
Либо "гипервизор" должен вобрать в себя всю работу с аппаратурой на самом низком уровне, чтобы VM нормально работали, а это уже не маленький "гипервизор", либо речь идет о микроядре, где по идее серверы не должны подвешивать систему и в случае чего легко перезапускаться, а на практике частенько подвешивают и не перезапускаются (система не падает окончательно, но контроль над ней теряется). Я это к тому, что идея не нова, но идеально реализовать ее на практике не реально.
//Phantom-84 16.11.2007, 08:29

Допустим, запущен только один "сервер", который на самом деле полная ОС. В этом случае гипервизор фактически ничего не делает (позволяет ОС работать со всем железом) см. BluePill.
Если запущено две ОС, они-же сервера, (А и Б) и А получила диски, а Б сетевую карту, то обращения А к дискам идут напрямую, а к сетевой карте эмулируются программой работающей на Б. Соответственно, на А работает программа эмулирующая диски для Б.
Пример не самый лучший, просто хотел пояснить идею.
И, конечно, эмуляция железа не самый лучший протокол взаимодействия серверов, хотя и полезный. Паравиртуализация с использованием специальных драйверов, которые поддерживают более эффективный протокол, будет работать быстрее.
Пример: виртуальный BIOS, который позволяет грузиться с iSCSI или даже HTTP ;)

Не вижу ни "всю работу с аппаратурой на самом низком уровне" ни микроядра.
Передача прерываний и трансляция обращений не такая уж большая работа, хотя, конечно, там будут свои проблемы :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 17 ноя 2007, 00:39 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
alexei

Извините, а как будете делить неделимые ресурсы вроде контроллера прерываний? И кто будет управлять памятью? А процессорное (реальное) время кто делить будет между "серверами"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 17 ноя 2007, 08:39 

Зарегистрирован: 16 ноя 2007, 02:36
Сообщения: 27
Цитата:
alexei

Извините, а как будете делить неделимые ресурсы вроде контроллера прерываний? И кто будет управлять памятью? А процессорное (реальное) время кто делить будет между "серверами"?
//SII 17.11.2007, 00:39

Это всё, конечно, будет делать гипервизор - больше некому.
"Общесистемный" Paging - тоже забота гипервизора, хотя чтение/запись страниц будет делать отдельный сервер.
Большая проблема с shared interrupts :( Пока думаю переназначать IRQ так, чтобы каждый IRQ относился только к одному серверу. :(
В общем случае, гипервизор транслирует или эмулирует прерывания.
Физические страницы назначает и распределяет гипервизор, так чтобы VM могла иметь "псевдо-физическую" (виртуализировуемую гипервизором) памать любого размера.
Распределение процессора для time-critical I/O тоже не просто, но возможно (это уже детали реализации).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 17 ноя 2007, 10:53 

Зарегистрирован: 03 июл 2007, 11:07
Сообщения: 54
С прерываниями можно организовать так:
Гипервизор обрабатывает все прерывания, а во время обработки выполняет код серверов, которые "попросили" это прерывание.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Химера ОС
СообщениеДобавлено: 17 ноя 2007, 12:29 

Зарегистрирован: 02 май 2007, 14:25
Сообщения: 126
Чё-то бред полнейший. Так безграмотно обращаться с ресурсами.


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

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


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

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


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

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