Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - 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 снова привлекло к себе внимание. Просмотров: 5954
|