Friday, May 18th

Last update12:13:00 PM GMT

Вы находитесь на: FreeBSD Общая информация Ядро

Ядро

Ядро является частью системы, работающей в защищенном режиме и обеспечивающей доступ всех пользовательских программ к нижележащему оборудованию (например, центральному процессору, клавиатуре, монитору, дискам, сетевым соединениям) и программным конструкциям (например, файловой системе, сетевым протоколам). Ядро предоставляет основные системные средства; оно создает и управляет процессами и предоставляет функции для доступа к файловой системе и средствам коммуникации. Эти функции, называемые системными вызовами, выглядят для пользовательских процессов как библиотечные подпрограммы. Эти системные вызовы являются лишь интерфейсами, которые есть у процессов для этих средств.

Ядро, в традиционной терминологии операционных систем, является небольшой центральной частью программного обеспечения, предоставляющей лишь минимальные средства, необходимые для реализации дополнительных служб операционной системы. На протяжении большей части 1980-х гг. исследовательские операционные системы, такие, как Chorus [Rozier et al., 1988], Mach [Accetta et al., 1986], Tunis [Ewens et al., 1985] и V Kernel [Cheriton, 1988], пытались разделить функциональность на более чем одну логическую единицу. Службы, такие, как файловые системы и сетевые протоколы, были реализованы в виде клиентских прикладных процессов центральной части или ядра. Эти микроядра в значительной степени потерпели неудачу из-за больших накладных расходов по переключениям между процессами ядра.

Ядро FreeBSD не разделено на несколько процессов. Это базовое проектное решение было сделано в самых ранних версиях UNIX. Две первые реализации Кена Томпсона не имели отображения памяти и поэтому не делали аппаратно осуществляемого разделения между пространствами пользователя и ядра [Ritchie, 1988]. Так же легко, как действительно реализованная модель процессов ядра и пользователей, могла бы быть реализована система, передающая сообщения. Монолитное ядро было выбрано для обеспечения простоты и производительности. И первые ядра были небольшими; добавление таких возможностей, как работа в сети, увеличило их размер, хотя ядро по-прежнему небольшое по сравнению со многими приложениями, которые работают с ним.

Пользователи обычно взаимодействуют с системой посредством интерпретатора командного языка, называемого оболочкой, и посредством дополнительных программ пользователя. Такие программы и оболочка реализованы в виде процессов, а не части ядра.


Похожие:
Еще по теме:
Советуем прочитать:

Сейчас 68 гостей онлайн

Реклама на сайте: