OSDev http://osdev.su/ |
|
Химера ОС http://osdev.su/viewtopic.php?f=4&t=169 |
Страница 1 из 7 |
Автор: | alexei [ 16 ноя 2007, 05:30 ] |
Заголовок сообщения: | Химера ОС |
И винда и линух стоят на идеях 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. Ваше мнение? |
Автор: | phantom-84 [ 16 ноя 2007, 08:29 ] |
Заголовок сообщения: | Re: Химера ОС |
Либо "гипервизор" должен вобрать в себя всю работу с аппаратурой на самом низком уровне, чтобы VM нормально работали, а это уже не маленький "гипервизор", либо речь идет о микроядре, где по идее серверы не должны подвешивать систему и в случае чего легко перезапускаться, а на практике частенько подвешивают и не перезапускаются (система не падает окончательно, но контроль над ней теряется). Я это к тому, что идея не нова, но идеально реализовать ее на практике не реально. |
Автор: | Himik [ 16 ноя 2007, 13:00 ] |
Заголовок сообщения: | Re: Химера ОС |
Интересно, а как будут взаимодействовать Линух File Server с Колибри Network? |
Автор: | vkos [ 16 ноя 2007, 15:28 ] |
Заголовок сообщения: | Re: Химера ОС |
А зачем брать что-то из Линукс, что-то из Колибри?? Лучше сделать сервер, позволяющий запускать Линукс- или Колибри-приложения. А основную часть написать самому... |
Автор: | SII [ 16 ноя 2007, 22:45 ] |
Заголовок сообщения: | Re: Химера ОС |
alexei И винда и линух стоят на идеях 20-ти летней давности. В эпоху интернета они просто не могут быть надежными Если неполиткорректно выражаться -- полная чушь, причём со всех точек зрения. И винда, и линух стоят на идеях никак не менее 30-летней давности ;) А их ненадёжность с эпохой интернета никак не связана -- они столь же ненадёжно работали (и работают) и без интернета. Главные причины ненадёжности -- громоздкость систем (как следствие неграмотного проектирования) и низкое качество реализации (как следствие стремление сделать "всё для всех", причём в сжатые сроки). |
Автор: | alexei [ 17 ноя 2007, 00:00 ] |
Заголовок сообщения: | Re: Химера ОС |
Цитата: Либо "гипервизор" должен вобрать в себя всю работу с аппаратурой на самом низком уровне, чтобы VM нормально работали, а это уже не маленький "гипервизор", либо речь идет о микроядре, где по идее серверы не должны подвешивать систему и в случае чего легко перезапускаться, а на практике частенько подвешивают и не перезапускаются (система не падает окончательно, но контроль над ней теряется). Я это к тому, что идея не нова, но идеально реализовать ее на практике не реально. //Phantom-84 16.11.2007, 08:29 Допустим, запущен только один "сервер", который на самом деле полная ОС. В этом случае гипервизор фактически ничего не делает (позволяет ОС работать со всем железом) см. BluePill. Если запущено две ОС, они-же сервера, (А и Б) и А получила диски, а Б сетевую карту, то обращения А к дискам идут напрямую, а к сетевой карте эмулируются программой работающей на Б. Соответственно, на А работает программа эмулирующая диски для Б. Пример не самый лучший, просто хотел пояснить идею. И, конечно, эмуляция железа не самый лучший протокол взаимодействия серверов, хотя и полезный. Паравиртуализация с использованием специальных драйверов, которые поддерживают более эффективный протокол, будет работать быстрее. Пример: виртуальный BIOS, который позволяет грузиться с iSCSI или даже HTTP ;) Не вижу ни "всю работу с аппаратурой на самом низком уровне" ни микроядра. Передача прерываний и трансляция обращений не такая уж большая работа, хотя, конечно, там будут свои проблемы :( |
Автор: | SII [ 17 ноя 2007, 00:39 ] |
Заголовок сообщения: | Re: Химера ОС |
alexei Извините, а как будете делить неделимые ресурсы вроде контроллера прерываний? И кто будет управлять памятью? А процессорное (реальное) время кто делить будет между "серверами"? |
Автор: | alexei [ 17 ноя 2007, 08:39 ] |
Заголовок сообщения: | Re: Химера ОС |
Цитата: alexei Извините, а как будете делить неделимые ресурсы вроде контроллера прерываний? И кто будет управлять памятью? А процессорное (реальное) время кто делить будет между "серверами"? //SII 17.11.2007, 00:39 Это всё, конечно, будет делать гипервизор - больше некому. "Общесистемный" Paging - тоже забота гипервизора, хотя чтение/запись страниц будет делать отдельный сервер. Большая проблема с shared interrupts :( Пока думаю переназначать IRQ так, чтобы каждый IRQ относился только к одному серверу. :( В общем случае, гипервизор транслирует или эмулирует прерывания. Физические страницы назначает и распределяет гипервизор, так чтобы VM могла иметь "псевдо-физическую" (виртуализировуемую гипервизором) памать любого размера. Распределение процессора для time-critical I/O тоже не просто, но возможно (это уже детали реализации). |
Автор: | vkos [ 17 ноя 2007, 10:53 ] |
Заголовок сообщения: | Re: Химера ОС |
С прерываниями можно организовать так: Гипервизор обрабатывает все прерывания, а во время обработки выполняет код серверов, которые "попросили" это прерывание. |
Автор: | sadko [ 17 ноя 2007, 12:29 ] |
Заголовок сообщения: | Re: Химера ОС |
Чё-то бред полнейший. Так безграмотно обращаться с ресурсами. |
Страница 1 из 7 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |