Интернет магазин китайских планшетных компьютеров



Компьютеры - Mach - Следующее поколение

13 мая 2011


Оглавление:
1. Mach
2. Концепция
3. Разработка
4. Проблемы с производительностью
5. Возможные решения
6. Следующее поколение
7. Операционные системы и ядра, основанные на Mach



Исследования показали, что проблема производительности IPC не так страшна, как считается. Напоминаем, что односторонний вызов на BSD занимает 20 микросекунд, в то время как на Mach — 114, 11 из которых — это переключение контекста, идентичного BSD. Дополнительно 18 используется менеджером памяти для отображения сообщения между непривилегированной средой исполнения и привилегированной. Это добавляет 31 микросекунду, что дольше традиционного вызова, но не намного.

Оставшаяся часть проблемы — это проверки прав доступа к порту сообщений. В то время, как это выглядит очень важным, фактически, это требуется только на Unix системах. К примеру, однопользовательская система, запущенная на мобильном телефоне, может не нуждаться в таких возможностях, и это тот тип систем, в которых Mach может быть использован. Однако Mach создает проблемы: когда память перемещается в ОС, другие задачи могут не нуждаться в этом. DOS и ранние Mac OS имели единое адресное пространство, разделяемое всеми процессами, поэтому в таких системах отображение памяти — пустая трата времени.

Эти реализации положили начало второму поколению микроядер, которое уменьшает сложность системы, размещая большую часть функциональности в непривилегированном режиме исполнения. Например, ядро L4 включает только 7 функций и использует 12 килобайт памяти, тогда как Mach 3 включает около 140 функций и использует 330 килобайт памяти. IPC вызов на L4 на 486DX-50 занимает только 5 микросекунд — быстрее, чем Unix вызов на этой же системе, и в 20 раз быстрее, чем Mach. Конечно здесь не учитывается тот факт, что L4 не оперирует разрешениями и безопасностью, оставляя их на усмотрение непривилегированным программам.

«Потенциальные» ускорения L4 основаны на факте, что непривилегированные приложения часто предоставляют множество функций, которые формально поддерживаются ядром. Можно сравнить производительность MkLinux в колокейшн режиме и порт L4, запущенный в непривилегированном режиме. L4 добавляет только около 5 %-10 % накладных расходов, в то время как Mach добавляет 15 %, что весьма интересно, если учитывать двойные переключения контекста.

В результате новые микроядра изменили индустрию в целом, множество некогда мертвых проектов вроде GNU Hurd снова привлекло к себе внимание.



Просмотров: 5737


<<< Linux oops
System.map >>>