Операционные системы: архитектура и управление процессами. Макаров П.С. - 19 стр.

UptoLike

Составители: 

19
сервер в структуре ОС могут существенно различаться по объему работ, вы-
полняемых в режиме ядра.
Микроядро реализует жизненно важные функции, лежащие в основе опе-
рационной системы. Это базис для менее существенных системных служб и
приложений. Именно вопрос о том, какие из системных функций считать несу-
щественными, и, соответственно, не включать их в состав ядра, является пред-
метом спора среди соперничающих сторонников идеи микроядра. В общем
случае подсистемы, бывшие традиционно неотъемлемыми частями операцион-
ной системы файловые системы, управление окнами и обеспечение безопас-
ности становятся периферийными модулями, взаимодействующими с ядром
и друг с другом.
Использование модели «клиент-сервер» повышает надежность. Каждый
сервер выполняется в виде отдельного процесса в своей собственной области
памяти, и, таким образом, защищен от других процессов. Более того, поскольку
серверы выполняются в пространстве пользователя, они не имеют непосредст-
венного доступа к аппаратуре и не могут модифицировать память, в которой
хранится управляющая программа. И если отдельный сервер может потерпеть
крах, то он может быть перезапущен без остановки или повреждения остальной
части ОС.
Эта модель хорошо подходит для распределенных вычислений, так как
отдельные серверы могут работать на разных процессорах мультипроцессорно-
го компьютера или даже на разных компьютерах. При получении от процесса
сообщения микроядро может обработать его самостоятельно или переслать
другому процессу. Так как микроядру все равно, пришло ли сообщение от ло-
кального или удаленного процесса, подобная схема передачи сообщений явля-
ется элегантным базисом для RPC. Однако такая гибкость не дается даром. Пе-
ресылка сообщений не так быстра, как обычные вызовы функций, и ее оптими-
зация является критическим фактором успеха операционной системы на основе
микроядра. Windows NT, например, в некоторых случаях заменяет перенос со-
общений на коммуникационные каналы с общей памятью, имеющие более вы-
сокую пропускную способность. Хотя это и стоит дороже в смысле потребле-
ния фиксированной памяти микроядра, данная альтернатива может помочь сде-
лать модель пересылки сообщений более практичной.