motofan logo
> 

исходный код VRTXmc (ядра операционной системы synergy), китайцы зажигают)

Vilko
сообщение 20.3.2009, 16:53


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



http://en.pudn.com/downloads55/sourcecode/...l189055_en.html
тут выложены исходники системы VRTX, которая в телефонах LTE(2) являеться основой операционной системы - менеджер памяти, управление потоками, семафоры, события, очереди.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
 
Ответ в темуСоздание новой темы
Ответов(20 - 26)
hungel
сообщение 22.3.2009, 22:38


Новичок
*

Группа: Пользователи
Сообщений: 6
Регистрация: 17.3.2007
Пользователь №: 127 440
Модель телефона: motorola E398=>L9
Прошивка: R452J_G_08.22.04R

Рейтинг: 0



МИКРОЯДРО ИЛИ МОНОЛИТ
Раньше большинство операционных систем были монолитными, то есть вся операционная система представляла собой единый исполняемый файл «a.out», работающий в режиме ядра. В этот бинарник входит управление процессами, управление памятью, файловая система и все остальное. Примерами таких систем могут служить UNIX, MS-DOS, VMS, MVS, OS/360, MULTICS и многие другие. Альтернативой является система с микроядром, в которой большая часть операционной системы разбивается на отдельные процессы, находящиеся вне ядра. Они обмениваются между собой сообщениями. В задачи ядра входит управление передачей этих сообщений, обработка прерываний, управление процессами низкого уровня и, возможно, ввод-вывод. Примерами такой архитектуры служат RC4000, Amoeba, Chorus, Mach и еще не выпущенная Windows /NT. Я мог бы многое рассказать о сравнительных преимуществах этих двух подходов, но достаточно сказать, что среди специалистов по разработке операционных систем споры уже закончились. Микроядро победило. Minix – система с микроядром. Файловая система и управление памятью – это отдельные процессы, которые работают вне ядра. Ввод-вывод тоже выполняется отдельно. LINUX – монолитная система. Это большой шаг назад, в 70-е. годы.

Энди Таненбаум

Теоретически необходимость микроядра обосновывается следующим образом. Операционные системы сложны. Для их упрощения применяется модульный подход. Вся соль микроядра в том, чтобы оставить у ядра, которое является основой основ, как можно меньше функций. Его главная задача – обмен информацией. А все возможности компьютера реализуются в виде сервисов, которые обеспечивают коммуникационные каналы микроядра. Предполагается, что вы разбиваете проблемы на такие мелкие части, что вся сложность пропадает.
Мне это казалось глупым. Да, каждая отдельная часть получается простой. Но при этом их взаимодействие становится гораздо более сложным, чем при включении ряда сервисов в состав ядра, как это сделано в Linux. Представьте себе человеческий мозг. Каждая его составляющая проста, но их взаимодействие превращает мозг в очень сложную систему. В этом-то все и дело: целое больше частей. Если взять проблему, разделить ее пополам и сказать, что каждая половинка вполовину проще, то при этом вы игнорируете сложность интерфейса между половинками. Сторонники микроядра предлагали разбить ядро на пятьдесят независимых частей так, чтобы каждая часть была в пятьдесят раз проще. Они умалчивали о том, что взаимодействие между частями окажется сложнее исходной системы – при том, что и части сами по себе не будут элементарными.

Это самое главное возражение против микроядра. Простота, обеспечиваемая микроядром, является мнимой.

Исходно Linux была намного меньше и намного, намного проще. Она не навязывала модульность, поэтому многое делалось гораздо проще, чем в Minix. Вот, например, что мне не нравилось в Minix: если у тебя одновременно работает пять разных программ и они хотят прочесть пять различных файлов, эти задания будут выполняться последовательно. Другими словами, пять различных процессов пошлют файловой системе запросы: «Можно мне прочесть файл X?» Демон файловой системы, который занимается чтением, примет один из них и пошлет ответ, потом другой – и так далее.

В Linux, где ядро монолитно, каждый из пяти процессов пошлет системный вызов ядру. Ядро должно действовать очень осторожно, чтобы не перепутать вызовы, но при этом оно очень естественно готово к обслуживанию любого числа процессов, выполняя все, что им нужно. Поэтому Linux работает намного быстрее и эффективнее.

Линус Торвальдс

Из книги Just fo fan. Рассказ нечаянного революционера.

Добавлено позже (23.3.2009, 1:46):
Я не програмист и может, чегото не понимаю, но как показал мой опыт в Linux ядре (а точнее в его исходниках) присутствуют почти все мыслимые и немыслемые драйвера для компьютерных железяк, вот я и предположил, что в исходниках VRTXmc могут быть драйвера для устройств.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 23.3.2009, 10:41


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



hungel,
нет там никаких драйверов. это микро-ядро от rtos, я же сразу описал в 1м посте какие именно функции оно реализует. ни слова о драйверах там и небыло.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 23.3.2009, 14:48


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049
Модель телефона: C380 и Talkabout
Прошивка: разные

Рейтинг: 510



hungel,
Мы тут знаем, что такое монолитное ядро и что такое микроядро, а ты некорректно выразился на счёт
Цитата(hungel @ Вчера, 5:15)

с системой микроядер
*


Не слышал ни про одну операционную систему более чем с одним микроядром...
По теме: у этого микроядра есть интерфейс передачи сообщений или пользователю предлагается реализовать его самому при помощи общей памяти, событий и мьютексов?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 23.3.2009, 14:56


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



motoprogger,
у этого ядра есть и сообщения и события и "мютексы"
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
hungel
сообщение 23.3.2009, 15:59


Новичок
*

Группа: Пользователи
Сообщений: 6
Регистрация: 17.3.2007
Пользователь №: 127 440
Модель телефона: motorola E398=>L9
Прошивка: R452J_G_08.22.04R

Рейтинг: 0



Прошу прощение за недопонимание, неправильную формулировку и за офтопик.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 28.3.2009, 8:54


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Помоему для простый кодеров например для меня тут ничего интересного кроме RTL нет. И, кстати, в L9 и подобных уже большинство функций этого ядра изменили, и патчить наверное неполучится ph34r.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 9.6.2009, 4:47


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



А от VRTXsa сорцы нигде не достать?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
исходный код VRTXmc (ядра операционной системы synergy), китайцы зажигают) · Ломаем и строим! · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 5.8.2025, 21:38

Форум живёт: