рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Операційна система та її оточення

Операційна система та її оточення - раздел История, Розділ 1. Поняття про операційну систему. Історія розвитку ОС     Система Переривань Є Основним Механізмом, Що ...

 

 

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

Апаратне переривання — це спеціальний сигнал (запит переривання, IRQ), що передається процесору від апаратного пристрою. До апаратних переривань належать:

• переривання введення-виведення, що надходять від контролера периферій­ного пристрою; наприклад, таке переривання генерує контролер клавіатури при натисканні на клавішу;

• переривання, пов'язані з апаратними або програмними помилками (такі пере­ривання виникають, наприклад, у разі збою контролера диска, доступу до за­бороненої області пам'яті або ділення на нуль).

Програмні переривання генерує прикладна програма, виконуючи спеціальну інструкцію переривання. Така інструкція є в системі команд більшості процесо­рів. Обробка програмних переривань процесором не відрізняється від обробки апаратних переривань.

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

За встановлення оброблювачів переривань зазвичай відповідає ОС. Можна сказати, що сучасні ОС керовані перериваннями (interrupt-driven), бо, якщо ОС не зайнята виконанням якої-небудь задачі, вона очікує на переривання, яке й за­лучає її до роботи.

Для реалізації привілейованого режиму процесора в одному з його регістрів пе­редбачено спеціальний біт (біт режиму), котрий показує, у якому режимі перебуває процесор. У разі програмного або апаратного переривання процесор автоматично перемикається у привілейований режим, і саме тому ядро ОС (яке складається з оброблювачів переривань) завжди отримує керування в цьому режимі. За будь- якої спроби безпосередньо виконати привілейовану інструкцію в режимі кори­стувача відбувається апаратне переривання.

Засоби перемикання задач дають змогу зберігати вміст регістрів процесора (контекст задачі) у разі припинення задачі та відновлювати дані перед її подаль­шим виконанням.

Механізм трансляції адрес забезпечує перетворення адрес пам'яті, з якими працює програма, в адреси фізичної пам'яті комп'ютера. Апаратне забезпечення генерує фізичну адресу, використовуючи спеціальні таблиці трансляції.

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

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

Захист пристроїв введення-виведення ґрунтується на тому, що всі інструкції введення-виведення визначені як привілейовані. Прикладні програми здійснюють введення-виведення не прямо, а за посередництвом ОС.

Базова система введення-виведення (BIOS) — службовий програмний код, що зберігається в постійному запам'ятовувальному пристрої і призначений для ізо­ляції ОС від конкретного апаратного забезпечення. Зазначимо, що засоби BIOS не завжди дають змогу використати всі можливості архітектури: наприклад, про­цедури BIOS для архітектури ІА-32 не працюють у захищеному режимі. Тому су­часні ОС використовують їх тільки для початкового завантаження системи.

Апаратна незалежність і здатність до перенесення ОС

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

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

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

Здатність до перенесення ОС визначається обсягом робіт, необхідних для то­го, щоб система могла працювати на новій апаратній платформі. ОС з такими властивостями має відповідати певним вимогам.

• Більша частина коду операційної системи має бути написана мовою високого рівня (звичайно для цього використовують мови С і C++, компілятори яких розроблені для більшості архітектур). Використання мови асемблера допус­тиме лише тоді, коли продуктивність компонента є критичною для системи.

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

• 2.3.2. Взаємодія ОС і виконуваного програмного коду

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

Системні виклики та інтерфейс програмування застосувань

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

Розглянемо послідовність виконання системного виклику.

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

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

· Після отримання керування ядро зчитує параметри виклику і визначає, що потрібно зробити.

· Після цього ядро виконує потрібні дії, зберігає в пам'яті значення, які слід по­вернути, і передає керування програмі, що його викликала. Відбувається пе­рехід назад у режим користувача.

· Програма зчитує з пам'яті повернені значення і продовжує свою роботу.

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

Розглянемо способи передачі параметрів у системний виклик. До них належать:

• передача параметрів у регістрах процесора;

• занесення параметрів у певну ділянку пам'яті й передача покажчика на неї в регістрі процесора.

Системні виклики призначені для безпосереднього доступу до служб ядра ОС. На практиці вони не вичерпують (а іноді й не визначають) ті функції, які можна використати у прикладних програмах для доступу до служб ОС або засобів си­стемних бібліотек. Для позначення цього набору функцій використовують термін інтерфейс програмування застосувань (Application Programming Interface, API).

Взаємозв'язок між функціями АРІ і системними викликами неоднаковий у різних ОС.

По-перше, кожному системному виклику може бути поставлена у відповід­ність бібліотечна функція, єдиним завданням якої є виконання цього виклику. Таку функцію називають пакувальником системного виклику (system call wrapper). Для програміста в цьому разі набір функцій АРІ виглядає як сукупність таких па­кувальників і додаткових функцій, реалізованих бібліотеками повністю або част­ково в режимі користувача. Це рішення прийняте за основу в UNIX; у такому разі прийнято говорити про використання системних викликів у прикладних програ­мах (насправді у програмах викликають пакувальники системних викликів).

По-друге, можна надати для використання у прикладних програмах універ­сальний інтерфейс програмування застосувань (АРІ режиму користувача) і пов­ністю сховати за ним набір системних викликів. Для програміста кожна функція такого АРІ є бібліотечною функцією режиму користувача, пакувальника в цьому разі немає, відомості про системні виклики є деталями реалізації ОС. Це вла­стиве Windows-системам, де подібний універсальний набір функцій називають Win32 АРІ [31, 50].

Програмна сумісність

Дотепер ми розглядали виконання в ОС програм, розроблених спеціально для неї. Іноді буває необхідно виконати в середовищі ОС програми, розроблені для інших ОС і, можливо, для іншої апаратної архітектури. У цьому разі виникає проблема програмної сумісності. *

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

Для сумісності на рівні вихідних текстів необхідно, щоб для всіх ОС існувала реалізація компілятора мови і АРІ, що його використовує програма.

Сьогодні таку сумісність забезпечує стандартизація розробки програмного за­безпечення, а саме:

♦ наявність стандарту на мови програмування (насамперед на С і C++) і стан­дартних компіляторів;

4- наявність стандарту на інтерфейс операційної системи (АРІ).

Робота зі стандартизації інтерфейсу операційних систем відбувається у рам­ках проекту POSIX (Portable Operating System Interface). Найбільш важливим стандартом є POSIX 1003.1 [3], який описує набір бібліотечних процедур (таких, як відкриття файла, створення нового процесу тощо), котрі мають бути реалізовані в системі. Цей процес стандартизації триває дотепер, останньою редакцією стан­дарту є базова специфікація Open Group/IEEE [103]. Зазначені стандарти ві­дображають традиційний набір засобів, реалізованих в UNIX-сумісних системах.

Завдання забезпечення бінарної сумісності виникає тоді, коли потрібно за­пустити на виконання файл прикладної програми у середовищі іншої операцій­ної системи. Таке завдання значно складніше в реалізації, найпоширеніший під­хід до його розв'язання - емуляція середовища виконання. У цьому разі програма запускається під керуванням іншої програми — емулятора, який забезпечує ди­намічне перетворення інструкцій програми в інструкції потрібної архітектури. Прикладом такого емулятора є програма wine, яка дає можливість запускати про­грами, розроблені для Win32 АРІ, у середовищі Linux через емуляцію функцій Win32 АРІ системними викликами Linux.

2.4. Особливості архітектури: UNIX і Linux 2.4.1. Базова архітектура UNIX

UNIX є прикладом досить простої архітектури ОС. Більша частина функціональ­ності цієї системи міститься в ядрі, ядро спілкується із прикладними програмами за допомогою системних викликів. Базова структура класичного ядра UNIX зобра­жена на рис. 2.3

 


[1] Параметри безпеки припустимо задавати для файлової системи [ЧТГБ і не при­пустимо для КАТІ2.

 

 

– Конец работы –

Эта тема принадлежит разделу:

Розділ 1. Поняття про операційну систему. Історія розвитку ОС

Операційна система ОС це група програм які здійснюють завантаження ПК та керують його роботою протягом всього сеансу аж до відключення... однозадачні це такі ОС в яких одночасно може бути запущена на виконання... багатозадачні це такі ОС в яких одночасно може бути запущено на виконання декілька задач що будуть виконуватись...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Операційна система та її оточення

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Встановлення та зміна атрибутів файлів через оболонку Norton Commander v.5.0
В попередніх частинах посібника було введене поняття атрибуту файла. Сказано було й те, що атрибути встановлюються і знімаються зовнішньою командою DOS attrib. В оболонці також можна змінювати атри

Операції SPLIT та MERGE
  При роботі з файлами досить великих розмірів (декілька мегабайт) часто виникає потреба розбити файл на декілька частин, наприклад для того, щоб переписати його на дискети, розміри я

Встановлення конфігурації Norton Commander у. 5.0
  Оболонку Norton Commander, як і будь-яку іншу програму можна настроювати, змінюючи її конфігурацію. В останній версії NC дещо покращено механізм настроювання конфігурації. Всі настр

Операційна система та її оточення
Із означення ОС випливає, що вона реалізує зв'язок між апаратним забезпечен­ням комп'ютера (через інтерфейс апаратного забезпечення) і програмами кори­стувача (через інтерфейс прикладного програмув

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги