- •1.2.8. Підтримка багатопроцесорного оброблення
- •1.2.10 Інтерфейс між ос і користувальницькими додатками
- •2.3. Дії при зависанні пк
- •2.5. Поняття про каталог. Ієрархічна структура каталогів
- •2.6 Стрічка запрошення в dos та введення команд
- •3.3. Сервісні внутрішні команди в ms-dos
- •3.4. Спеціальні символи, що використовуються в командах ms-dos
- •4.2. Форматування дисків програмою format
- •Format complete. ( Фопмат V ванн я тяспшрнп )
- •System transferred
- •4.3. Відновлення інформації після форматування. Команда unformat
- •Invalid media or Track 0 bad - disk unusable. Format terminated. (Пошкоджена системна область, або 0-доріжка погана - диск непридатний. Форматування припинено) Досить часто може виникати повідомлення:
- •4.4. Створення системного диску
- •System transferred
- •4.5. Копіювання дисків (гмд)
- •Insert target diskette in drive a:
- •Copy another diskette (y/n)?
- •4.6. Команда перегляду та зміни мітки диску
- •4.7. Отримання інформації про диск" з допомогою команди chkdsk
- •4.8. Пошук та виправлення помилок на диску програмою scandisk
- •2.File allocation tables
- •3. Directory Structure
- •4.File System
- •4.9. Встановлення атрибутів файлів командою attrib
- •4.10. Структура оперативної пам'яті пк. Видача інформації про оперативну пам'ять командою mem
- •Mem |ключі]
- •Мал. 2.11. Інформація про резидентні програми
- •4.11. Фоновий друк командою print
- •4.12. Інші зовнішні команди ms-dos
- •Deltree [диск:]шлях [[диск:]шлях[...]] [/y]
- •Tree II I more
- •8. Панель зв'язку по о-модему
- •4.1. Об'єднання файлів в групу
- •4.2. Створення каталогів в nc
- •4.3. Створення та редагування файлів в n0. Внутрішній редактор
- •9. Довідник з використання "гарячих"клавіш в nc
- •4.10. Швидкий пошук каталогів в nc. Робота з деревом каталогів
- •4.11. Встановлення та зміна атрибутів файлів через оболонку Norton Commander V.5.0
- •4.13 Операції split та merge
- •4.14. Синхронізація та порівняння каталогів
- •6.1. Створення та призначення файла сіігіїгїо
- •6.3. Створення та призначення файлу tools.Mnu
- •6.4. Створення та призначення меню користувача
- •7. Встановлення конфігурації Norton Commander у. 5.0
- •2.2. Методологія ядра
- •2.2.1. Монолітне ядро
- •2.3. Абстракції, процеси та ресурси
- •2.2.4. Концепція віртуальних машин
- •2.3. Операційна система та її оточення
- •2.3.1. Взаємодія ос і апаратного забезпечення
- •2.3. Операційна система та її оточення
- •2.3.2. Взаємодія ос і виконуваного програмного коду
- •2.4. Особливості архітектури: unix і Linux 2.4.1. Базова архітектура unix
2.3. Операційна система та її оточення
Система переривань є основним механізмом, що забезпечує функціонування ОС. За допомогою переривань процесор отримує інформацію про події, не пов'язані з основним циклом його роботи (отриманням інструкцій з пам'яті та їхнім виконанням). Переривання бувають двох типів: апаратні і програмні.
Апаратне переривання — це спеціальний сигнал (запит переривання, IRQ), що передається процесору від апаратного пристрою. До апаратних переривань належать:
переривання введення-виведення, що надходять від контролера периферійного пристрою; наприклад, таке переривання генерує контролер клавіатури при натисканні на клавішу;
переривання, пов'язані з апаратними або програмними помилками (такі переривання виникають, наприклад, у разі збою контролера диска, доступу до забороненої області пам'яті або ділення на нуль).
Програмні переривання генерує прикладна програма, виконуючи спеціальну інструкцію переривання. Така інструкція є в системі команд більшості процесорів. Обробка програмних переривань процесором не відрізняється від обробки апаратних переривань.
Якщо переривання відбулося, то процесор негайно передає керування спеціальній процедурі — оброблювачеві переривання. Після виходу з оброблювача процесор продовжує виконання інструкцій перерваної програми. Розрізняють два типи переривань залежно від того, яка інструкція буде виконана після виходу з оброблювача: для відмов (faults) повторюється інструкція, що спричинила переривання, для пасток (traps) - виконується наступна інструкція. Усі переривання введення-виведення і програмні переривання належать до категорії пасток, більшість переривань через помилки є відмовами.
За встановлення оброблювачів переривань зазвичай відповідає ОС. Можна сказати, що сучасні ОС керовані перериваннями (interrupt-driven), бо, якщо ОС не зайнята виконанням якої-небудь задачі, вона очікує на переривання, яке й залучає її до роботи.
Для реалізації привілейованого режиму процесора в одному з його регістрів передбачено спеціальний біт (біт режиму), котрий показує, у якому режимі перебуває процесор. У разі програмного або апаратного переривання процесор автоматично перемикається у привілейований режим, і саме тому ядро ОС (яке складається з оброблювачів переривань) завжди отримує керування в цьому режимі. За будь- якої спроби безпосередньо виконати привілейовану інструкцію в режимі користувача відбувається апаратне переривання.
Засоби перемикання задач дають змогу зберігати вміст регістрів процесора (контекст задачі) у разі припинення задачі та відновлювати дані перед її подальшим виконанням.
Механізм трансляції адрес забезпечує перетворення адрес пам'яті, з якими працює програма, в адреси фізичної пам'яті комп'ютера. Апаратне забезпечення генерує фізичну адресу, використовуючи спеціальні таблиці трансляції.
Захист пам'яті забезпечує перевірку прав доступу до пам'яті під час кожної спроби його отримати. Засоби захисту пам'яті інтегровані з механізмами трансляції адрес: у таблицях трансляції утримується інформація про права, необхідні для їхнього використання, і про ліміт (розміри ділянки пам'яті, до якої можна отримати доступ з їхньою допомогою). Неможливо одержати доступ до пам'яті поверх ліміту або за відсутності прав на використання таблиці трансляції.
Системний таймер є апаратним пристроєм, який генерує переривання таймера через певні проміжки часу. Такі переривання обробляє ОС; інформацію від таймера найчастіше використовують для визначення часу перемикання задач.
Захист пристроїв введення-виведення ґрунтується на тому, що всі інструкції введення-виведення визначені як привілейовані. Прикладні програми здійснюють введення-виведення не прямо, а за посередництвом ОС.
Базова система введення-виведення (BIOS) — службовий програмний код, що зберігається в постійному запам'ятовувальному пристрої і призначений для ізоляції ОС від конкретного апаратного забезпечення. Зазначимо, що засоби BIOS не завжди дають змогу використати всі можливості архітектури: наприклад, процедури BIOS для архітектури ІА-32 не працюють у захищеному режимі. Тому сучасні ОС використовують їх тільки для початкового завантаження системи.
Апаратна незалежність і здатність до перенесення ОС
Як було згадано в розділі 2.2.2, компоненти ядра, які відповідають за безпосередній доступ до апаратного забезпечення, виділено в окремий рівень абстрагування від устаткування, що взаємодіє з іншою частиною системи через стандартні інтерфейси. Тим самим спрощується досягнення апаратної незалежності ОС.
Рівень абстрагування від устаткування відображає такі особливості архітектури, як число процесорів, типи їхніх регістрів, розрядність і організація пам'яті тощо. Що більше відмінностей між апаратними архітектурами, для яких призначена ОС, то складніша розробка коду цього рівня.
Крім рівня абстрагування від устаткування, від апаратного забезпечення залежать драйвери зовнішніх пристроїв. Такі драйвери проектують заздалегідь як апаратно-залежні, їх можна додавати та вилучати за потребою; для доступу до них зазвичай використовують універсальний інтерфейс.
Здатність до перенесення ОС визначається обсягом робіт, необхідних для того, щоб система могла працювати на новій апаратній платформі. ОС з такими властивостями має відповідати певним вимогам.
