Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Ядро Unix представляет собой монолитную архитектуру. Главное ее св-во – высокая степень мобильности, то есть переносимости на разные платформы. Все компоненты ОС, не считая ядра, являются полностью машинно-независимыми, которые хорошо изолированы друг от друга. При компиляции ядра можно разрешить динамическую загрузку и выгрузку очень многих компонентов ядра – модулей. В момент загрузки модуля его код загружается для исполнения в привилегированном режиме и связывается с остальной частью ядра. Внутри модуля могут использоваться любые экспортируемые ядром функции.
Ядро – это постоянно функционирующая часть ОС, которая в случае Linux занимает 5-7 Мбайт. Другие программы (системные или пользовательские) являются полностью машинно-независимыми и могут общаться с ядром посредством системных вызовов, которые по сути дела являются точками входа программ на языке Си в ядро. При исполнении системного вызова программа пользователя временно переходит в привилегированный режим, получая доступ к данным или устройствам, которые недоступны при работе в режиме пользователя!
Стандартная библиотека Unix – libc – обеспечивает C-интерфейс к каждому системному вызову. Это приводит к тому, что системный вызов выглядит как функция на языке С.
Основные функции и состав ядра:
1. Инициализация системы – запуск, bootstrap – процедура раскрутки и загрузки полного ядра в память, запуск ядра;
2. Управление процессами и нитями – создание, завершение и отслеживание процессов и нитей, разделение между запущенными процессами времени процессора(-ов в SMP), распараллеливание процессов;
3. Управление памятью – создание ФС, файлов, доступ к внешним устройствам на уровне ФС;
4. Коммуникации и обмен данными между процессами локальными и сетевыми (IPC = Inter-Process Communications), а также между процессами и драйверами;
5. Создание программного интерфейса – функция доступа к возможностям ядра со стороны пользовательских процессов с помощью системных вызовов, оформленных в виде библиотек функций.
Дата публикования: 2015-10-09; Прочитано: 405 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!