next up previous contents index
Дал╕: Основн╕ послуги в систем╕ Вгору: Огляд системи Л╕накс Назад: Р╕зн╕ складов╕ частини операц╕йно╖

Важлив╕ частини ядра

Ядро Л╕накса склада╓ться з к╕лькох важливих частин: менеджера процес╕в, менеджера пам'ят╕, драйвер╕в пристро╖в, драйвер╕в файлових систем, менеджера мереж╕ та р╕зноман╕тних шматочк╕в та частин. Рисунок [*] показу╓ деяк╕ з них.

         


  
Рисунок: Деяк╕ з важлив╕ших частин ядра Л╕накса.
\includegraphics{overview/overview-kernel.ps}

Можливо найважлив╕шими частинами ядра (н╕що ╕нше не працю╓ без них) ╓ менеджер пам'ят╕ та менеджер процес╕в. Менеджер пам'ят╕ п╕клу╓ться про вид╕лення пам'ят╕ та областей своп╕нгу для процес╕в, частин ядра та для буфера кешу. Менеджер процес╕в створю╓ процеси та в╕дтворю╓ багатозадачний режим роботи перемиканням активних процес╕в в процесор╕.

     

Найнижчий р╕вень ядра склада╓ться з драйвер╕в вс╕х тих пристро╖в, як╕ воно п╕дртиму╓. Через те, що в св╕т╕ повно р╕зноман╕тних пристро╖в, драйвер╕в теж багато. Дуже часто ╕снують багато р╕зноман╕тних апаратних засоб╕в, що виконують под╕бн╕ функц╕╖, але в╕др╕зняються тим, як вони керуються з боку програмного забезпечення. Под╕бност╕ р╕зних драйвер╕в часто роблять можливою розробку ``узагальнених клас╕в'' драйвер╕в, кожен з яких викону╓ сво╖ функц╕╖. Кожен член такого класу ма╓ схожий ╕нтерфейс з ╕ншими частинами ядра, але в╕др╕зня╓ться тими частинами, як╕ потребуються для реал╕зац╕╖ апаратних функц╕й. Наприклад, вс╕ драйвери диск╕в схож╕ м╕ж собою (з точки зору ядра), тобто вс╕ вони мають так╕ операц╕╖, як ``╕н╕ц╕ал╕зувати диск'', ``прочитати сектор N'' та ``записати сектор N''.

Деяк╕ програмн╕ послуги, що надаються ядром, мають под╕бн╕ властивост╕, ╕ через це ╖х можна абстрагувати в класи. Наприклад, р╕зноман╕тн╕ протоколи зв'язку через мережу вид╕лилися в один програмний ╕нтерфейс, що носить назву ``BSD socket library'' або ``б╕бл╕отека сокет╕в (розеток) BSD''. ╤ншим зразком може служити в╕ртуальна файлова система (ВФС або VFS, virtual file system) - абстрактний прошарок, що в╕дд╕ля╓ операц╕╖, як╕ виконуються над файлами в╕д ╖х конкретного вт╕лення. Кожний окремо взятий тип файлово╖ системи ма╓ в╕дм╕нне вт╕лення для кожно╖ окремо взято╖ файлово╖ операц╕╖. Алк коли деяка ╕стота (ф╕зична особа або процес) намага╓ться використати файлову систему, запит до файлово╖ системи проходить через ВФС, яка, в свою чергу, перенаправля╓ такий запит до драйвера конкретно╖ файлово╖ системи.

     



Dmytro Kovalev
1999-06-10