Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Аналітична частина.docx
Скачиваний:
1
Добавлен:
29.08.2019
Размер:
49.07 Кб
Скачать

1.3.1 Ядро ос Linux

Як і в будь-якій іншій операційній системі, що забезпечує захист користувачів один від одного і захист системних даних від будь-якого користувача, в ОС Linux є захищене ядро, яке керує ресурсами комп'ютера і надає користувачам базовий набір послуг.

Слід зауважити, що зручність і ефективність сучасних варіантів ОС Linux не означає, що вся система, включаючи ядро, спроектована і структуризована найкращим чином.

Ядро більшості сучасних комерційних варіантів ОС являє собою не дуже чітко структурованний моноліт великого розміру. З цієї причини програмування на рівні ядра ОС Linux продовжує залишатися мистецтвом.

Загальна організація традиційного ядра ОС Linux, oдне з основних досягнень ОС Linux, полягає в тому, що система має властивість високої мобільності. Тобто вся операційна система, включаючи її ядро, порівняно просто переноситься на різні апаратні платформи. Всі частини системи, не рахуючи ядра, є повністю машино-незалежними.

Порівняно невелика частина ядра є машино-залежна і написана на суміші мови Сі і мови асемблера цільового процесора. При перенесенні системи на нову платформу потрібно переписування цієї частини ядра з використанням мови асемблера і урахуванням специфічних рис цільової апаратури.

Машино-залежні частини ядра добре ізольовані від основної машино-незалежної частини, і при хорошому розумінні призначення кожного машино-залежного компонента переписування машино-залежної частини є в основному технічним завданням.

Машино-залежна частина традиційного ядра ОС Linux включає наступні компоненти:

- розкрутка і ініціалізація системи на низькому рівні;

- первинна обробка внутрішніх і зовнішніх переривань;

- управління пам'яттю;

- перемикання контексту процесів між режимами користувача і ядра;

- пов'язані з особливостями цільової платформи частини драйверів пристроїв.

Основні функції

До основних функцій ядра ОС Linux прийнято відносити такі:

- ініціалізація системи - функція запуску та розкрутки. Ядро системи забезпечує засіб розкручування (bootstrap), яке забезпечує повного завантаження ядра в пам'ять комп'ютера і запускає ядро;

- управління процесами і нитками - функція створення, завершення і відстеження існуючих процесів і ниток. Оскільки ОС Linux є мультипроцесорною операційною системою, ядро забезпечує розподіл часу процесора між запущеними процесами та інших ресурсів комп'ютера для створення зовнішнього відчуття того, що процеси реально виконуються в паралель;

- управління пам'яттю - функція відображення практично необмеженої віртуальної пам'яті процесів у фізичну оперативну пам'ять комп'ютера, яка має обмежені розміри. Відповідний компонент ядра забезпечує використання одних і тих же областей оперативної пам'яті, що розділюються кількома процесами з використанням зовнішньої пам'яті;

- управління файлами - функція, що реалізує абстракцію файлової системи, ― ієрархії каталогів і файлів. Файлові системи ОС Linux підтримують кілька типів файлів. Деякі файли можуть містити дані у форматі ASCII, інші будуть відповідати за зовнішні пристрої. У файловій системі зберігаються об'єктні файли, виконувані файли і т.д. Файли зазвичай зберігаються на пристроях зовнішньої пам'яті; доступ до них забезпечується засобами ядра;

- комунікаційні засоби - функція, що забезпечує можливість обміну даними між процесами, що виконуються всередині одного комп'ютера, між процесами, що виконуються в різних вузлах локальної або глобальної мережі передачі даних, а також між процесами і драйверами зовнішніх пристроїв;

- програмний інтерфейс―функція, що забезпечує доступ до можливостей ядра з боку користувача процесів на основі механізму системних викликів , оформлених у вигляді бібліотеки функцій.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]