Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Модулі ядра

Призначення ядра Linux і його особливості

Linux реалізує технологію монолітного ядра. Весь код і структури даних ядра пе­ребувають в одному адресному просторі. У ядрі можна виділити кілька функціо­нальних компонентів [63].

§ Планувальник процесів - відповідає за реалізацію багатозадачності в системі (обробка переривань, робота з таймером, створення і завершення процесів, пе­ремикання контексту).

§ Менеджер пам'яті - виділяє окремий адресний простір для кожного процесу і реалізує підтримку віртуальної пам'яті.

§ Віртуальна файлова система - надає універсальний інтерфейс взаємодії з різ­ними файловими системами та пристроями введення-виведення.

§ Драйвери пристроїв - забезпечують безпосередню роботу з периферійними пристроями. Доступ до них здійснюється через інтерфейс віртуальної фай­лової системи.

§ Мережний інтерфейс - забезпечує доступ до реалізації мережних протоколів і драйверів мережних пристроїв.

§ Підсистема міжпроцесової взаємодії - пропонує механізми, які дають змогу різним процесам у системі обмінюватися даними між собою.

Деякі із цих підсистем є логічними компонентами системи, вони завантажу­ються у пам'ять разом із ядром і залишаються там постійно. Компоненти інших підсистем (наприклад, драйвери пристроїв) вигідно реалізовувати так, щоб їхній код міг завантажуватися у пам'ять на вимогу. Для розв'язання цього завдання Linux підтримує концепцію модулів ядра.

Ядро Linux дає можливість на вимогу завантажувати у пам'ять і вивантажувати з неї окремі секції коду. Такі секції називають модулями ядра (kernel modules) і виконують у привілейованому режимі. Модулі ядра надають низку переваг.

§ Код модулів може завантажуватися в пам'ять у процесі роботи системи, що спрощує налагодження компонентів ядра, насамперед драйверів.

§ З'являється можливість змінювати набір компонентів ядра під час виконання: ті з них, які в цей момент не використовуються, можна не завантажувати у пам'ять.

§ Модулі є винятком із правила, за яким код, що розширює функції ядра, відпо­відно до ліцензії Linux має бути відкритим. Це дає змогу виробникам апарат­ного забезпечення розробляти драйвери під Linux, навіть якщо не запланова­но надавати доступ до їхнього вихідного коду.

§ Підтримка модулів у Linux складається із трьох компонентів.

§ Засоби керування модулями дають можливість завантажувати модулі у па­м'ять і здійснювати обмін даними між модулями та іншою частиною ядра.

§ Засоби реєстрації драйверів дозволяють модулям повідомляти іншу частину ядра про те, що новий драйвер став доступним.

§ Засоби розв'язання конфліктів дають змогу драйверам пристроїв резервува­ти апаратні ресурси і захищати їх від випадкового використання іншими драйверами.

Один модуль може зареєструвати кілька драйверів, якщо це потрібно (на­приклад, для двох різних механізмів доступу до пристрою).

Модулі можуть бути завантажені заздалегідь — під час старту системи (заван­тажувальні модулі) або у процесі виконання програми, яка викликає їхні функції. Після завантаження код модуля перебуває в тому ж самому адресному просторі, що й інший код ядра. Помилка в модулі є критичною для системи.


Читайте також:

  1. Вектори рівні, якщо вони колінеарні, мають однакові напрями і рівні модулі.
  2. Конфігурація Apache, додавання і налаштування модулів
  3. Лекційні модулі
  4. Мал. 1.2. Способи з'єднання модулів
  5. Модулі електронного підручника
  6. Модулі пружності однонаправлених армованих КМ
  7. Модулі ядра
  8. Побудова універсальних логічних модулів (УЛМ) за допомогою MS.
  9. Характеристика окремих складових модулів системи автоматизації D2 System.
  10. Характеристика окремих складових модулів системи автоматизації D2 System.




Переглядів: 871

<== попередня сторінка | наступна сторінка ==>
Схеми зовнішнього електропостачання. | Застосування користувача

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.019 сек.