Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
27.03.2016
Размер:
341.5 Кб
Скачать

4. Введення в архітектуру ядра os Linux.

Файли та процеси є центральними поняттями моделі OS Linux.

Програми користувача

Бібліотека

Точка перетину

Рівень користувача

Рівень ядра

Звернення до OS

Підсистема керування файлами

Підсистема

керування

процесами

взаємодія процесів

планувальник

розподілення пам’яті

Буфер зверх- оперативної пам’яті (КЕШ)

Символ: Блок

Драйвери пристроїв

Апаратний контроль

Рівень ядра

Рівень апаратури

Технічні засоби апаратури

Мал.4 Будова файлової системи Unix

Як видно з малюнка 4 OS має три рівня:

- рівень користувача;

  • ревень ядра;

  • рівень апаратури.

Звернення до OS та бібліотеки складають кордон між програмами користувачів та ядром. Звернення до OS має такий же вигляд як звичайні виклики функцій у програмах на Сі, і бібліотеки становлюють відоповідність між цими викликами функцій та елементами системними операціями. При цьому асемблерні програми можуть звертатись до OS системи безпосередньо, без використання бібліотеки системних викликів. Програми часто звертаються до інших бібліотек (наприклад, бібліотека стандартних програм вводу/виводу), досягаючи повного використання системних послуг. Для цього під час компіляції бібліотека зв’язується з програмами і частково включається у програму користувача. Розгянемо малюнок 4 Сукупність звертань до OS розподілена на звертання, які взаємодіють з підсистемою керування процесом. Фізичні процеси виконують керування файлами (запис файлів, розподілення вільного простору та доступу до пошуку даних). Процеси, які взаємодіють з підсистемою керування файлами та використовують набір спеціальних звертань до OS (Open, Close, Write, State main).

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

Підсистема керувння процесами відповідає за синхронізацію процесів, розподілу пам’яті та плануванням виконання процесів

Прикладами звертання доOS, які використовують при керуванні процесами можуть служити fork (створити новий процес), ехес (накладання образа програми на процес, що виконується ), wait (синхронізація продовження виконання процеса з моменту виходу процеса, який породжено), brk (курування розміром пам’яті, яка виділена процесом) та signal (керування реакцією процеса та виникнення екстраординарних подій).

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

Існують два способи керування розподілом пам’яті: вигрузка (підкачка) та зміщення сторінок. Підкачку називають планувальником – “планують” виділення пам’яті процесом і він вплмває на “планувальник” центрального процесора.

Модуль “планувальник” розподіляє між процесами час ЦП та планує черговість виконання до тих пір, поки вони добровільно не звільнять ЦП, дочекавшись виділення ресурсів, або до тих пір, поки ядро системи не вигрузить їх після того, як їх час виконання перевищить раніш відведений квант часу.

Планувальник вибирає на виконання готовий до запуску процес з найвищім приорітетом; виконання призупиненого процесу буде порівняно з приорітетами усіх готових до запуску процесів. Існує декілька форм взаємодії процесів засинхронним обміном сигналів про події, синхронним обміном повідомленнями.

Апаратний контроль відповідає за обробку переривань та зв’язок з комп’ютерами. Такі пристрої як диски, як і термінали можуть переривати роботу ЦП під час виконання процесів. При цьому ядро системи після обробки переривань може поновити виконання процесу, який було перервано. Переривання обробляються спеціальними функціями ядра.

Соседние файлы в папке Додаткова інформація