Все операции, связанные с процессами, выполняются под управлением той части ОС, которая называется ядро.
Ядро обычно размещается в оперативной памяти, в то время как другие части ОС перемещаются во внешнюю память и обратно по мере необходимости.
Ядро ОС, как правило, должно содержать программы для реализации следующих функций:
· обработка прерываний;
· операции над процессами;
· синхронизация процессов;
· организация взаимодействия между процессами;
· манипулирование блоками управления процессами;
· поддержка операций ввода-вывода;
· поддержка работы файловой системы;
· поддержка механизма вызова-возврата при обращении к процедурам;
· ряд учетных функций.
Иерархический подход к процессу проектирования ОС заключается в следующем.
В основе иерархии находится аппаратура компьютера, так называемая “чистая машина”.
На следующем уровне иерархии находятся различные функции ядра, в совокупности с которыми компьютер становится “расширенной машиной”.
Эти дополнительные функции, реализуемые при помощи ядра, часто называют примитивами(primitives).
Над ядром в иерархии находятся различные процессы ОС, которые обеспечивают поддержку процессов пользователя - например, процессы управления внешними устройствами.
На вершине иерархии располагаются сами процессы пользователей.
Опыт создания ОС показывает, что такие иерархические системы легче отлаживать, модифицировать и тестировать, чем такие, когда функции ядра
распределяются на нескольких уровнях иерархии.
Достаточно широкое растространение в настоящее время получила система Linux (автор базовой версии Линус Торвальдс). Усиление влияния Linux подтвердилось в очередной раз на выставке LinuxWorldExpo в начале февраля 2000 года в Нью-Йорке. В IBM активно разрабатываются приложения для Linux, что подтверждает высокую оценку этой ОС. “Сегодня Linux развивается такими же быстрыми темпами, как Internet в начале 90-х годов, а популярность ее даже выше, чем популярность электронного бизнеса”,- заметил Ирвинг Владавски-Бергер, вице-президент подразделения IBM Enterprise System GroupA . Аппаратные требования Linux минимальны, пожалуй только MS DOS является менее требовательной к аппаратуре компьютера, чем Linux. Запустить Linux можно даже на 386SX/16, 1Mб ОП, но это тот минимум, который только даст возможность убедиться в работоспособности системы. Базовый набор команд, утилит администрирования и командный интерпретатор займут 10 Мб.
Linux может “сожительствовать” на компьютере с другими системами, например, с MS DOS, MS Windows или OS/2, в этом случае каждая из систем должна располагаться в отдельном разделе диска, а при запуске компьютера будет предложена альтернатива запуска той или иной ОС.
Linux является UNIX- подобной системой, и, поэтому принципы ее архитектуры мало чем отличаются от стандартой UNIX. Самый общий взгляд позволяет увидеть двухуровневую модель системы, как она представлена на рис. А.
В центре находится ядро системы. Ядро непосредственно взаимодействует в аппаратной частью компьютера, изолируя прикладные программы от особенностей ее архитектуры. Ядро имеет набор услуг, предоставляемых прикладным программам. К услугам ядра относятся:
· операции ввода/вывода (открытия, чтения, записи и управления файлами),
· создание и управление процессами, их синхронизация и межпроцессные взаимодействия.
Все приложения запрашивают услуги ядра посредством системных вызовов.