WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Сучасні концепії і технології проектування Операційної Системи - Реферат

Сучасні концепії і технології проектування Операційної Системи - Реферат

ні одну зі своїх функцій.
До складу ядра входять функції, що вирішують внутрішньосистемні задачі організації обчислювального процесу, такі як переключення контекстів, завантаження/вивантаження, обробка переривань. Ці функції недоступні для додатків. Інший класфункцій ядра служить для підтримки додатків, створюючи для них так назване прикладне програмне середовище. Додатки можуть звертатися до ядра з запитами - системними викликами - для виконання тих чи інших дій, наприклад для відкриття і читання файлу, виведення графічної інформації на дисплей, одержання системного часу і т.д. Функції ядра, що можуть викликатися додатками, утворять інтерфейс прикладного програмування - API.
Функції, виконувані модулями ядра, є найбільше часто використовуваними функціями ОС, тому швидкість їхнього виконання визначає продуктивність усієї системи в цілому. Для забезпечення високої швидкості роботи ОС усі модулі чи ядра велика їхня частина постійно знаходяться в ОП, тобто є резидентними.
Ядро є рушійною силою всіх обчислювальних процесів у комп'ютерній системі, і крах ядра рівносильний краху всієї системи. Тому розроблювачі ОС приділяють особливу увагу надійності кодів ядра, у результаті процес їхнього налагодження може розтягуватися на багато місяців.
Оскільки деякі компоненти ОС оформлені як звичайні додатки, тобто у виді модулів, що виконуються, стандартного для даної ОС формату, те часто буває дуже складно провести чітку грань між ОС і додатками (мал. 41).
Рис. 41. Нечіткість границі між ОС і додатками
Допоміжні модулі ОС звичайно підрозділяються на наступні групи:
" утиліти - програми, що вирішують окремі задачі керування і супроводи комп'ютерної системи, такі, наприклад, як програми стиску дисків, архівування даних на магнітну стрічку;
" системні обробні програми - текстові чи графічні редактори, компілятори, компоновщики, відладчики;
" програми надання користувачу додаткових послуг - спеціальний варіант користувацького інтерфейсу, калькулятор і навіть гра;
" бібліотеки процедур різного призначення, що спрощують розробку додатків, наприклад бібліотека математичних функцій, функцій в/в і т.д.
Як і звичайні додатки, для виконання своїх задач утиліти, що обробляють програми і бібліотеки ОС, звертаються до функцій ядра за допомогою системних викликів (мал. 42).
Поділ ОС на ядро і модулі-додатки забезпечує легку розширюваність ОС. Щоб додати нову високорівневу функцію, досить розробити новий додаток, і при цьому не потрібно модифікувати відповідальні функції, що утворять ядро системи. Однак внесення змін у функції ядра може виявитися набагато складніше, і складність ця залежить від структурної організації самого ядра. У деяких випадках кожне виправлення ядра може зажадати його повної перекомпіляції.
Рис. 42. Взаємодія між ядром і
допоміжними модулями ОС
Модулі ОС, оформлені у виді утиліт, системних обробних програм і бібліотек, звичайно завантажуються в ОП тільки на час виконання своїх функцій, тобто є транзитними. Постійно в ОП розташовуються тільки найнеобхідніші коди ОС, що складають її ядро. Така організація ОС заощаджує ОП комп'ютера.
Важливою властивістю архітектури ОС, заснованої на ядрі, є можливість захисту кодів і даних ОС за рахунок виконання функцій ядра в привілейованому режимі.
4.4. Багатошарова структура ОС
Обчислювальну систему, що працює під керуванням ОС на основі ядра, можна розглядати як систему, що складається з трьох ієрархічно розташованих шарів: нижній шар утворить апаратура, проміжний - ядро, а утиліти, що обробляють програми і додатки, складають верхній шар системи (мал. 43). Шарувату структуру обчислювальної системи прийнято зображувати у виді системи концентричних окружностей, ілюструючи той факт, що кожен шар може взаємодіяти тільки із суміжними шарами. Дійсно, при такій організації ОС додатка не можуть безпосередньо взаємодіяти з апаратурою, а тільки через шар ядра.
Рис. 43. Тришарова схема обчислювальної системи
Багатошаровий підхід є універсальним і ефективним способом декомпозиції складних систем будь-якого типу, у тому числі і програмних. Відповідно до цього підходу система складається з ієрархії шарів. Кожен шар обслуговує вищележачий шар, виконуючи для нього деякий набір функцій, що утворять міжшаровий інтерфейс (мал. 44). На основі функцій нижчележачого шару наступний (нагору по ієрархії) шар будує свої функції - більш складні і більш могутні, котрі, у свою чергу, виявляються примітивами для створення ще більш могутніх функцій вищележачого шару. Строгі правила стосуються тільки взаємодії між шарами системи, а між модулями усередині шару зв'язки можуть бути довільними. Окремий модуль може виконати свою роботу або самостійно, або звернутися до іншого модулю свого шару, або звернутися по допомогу до нижчележачого шару через міжшаровий інтерфейс.
Така організація системи має багато переваг. Вона істотно спрощує розробку системи, тому що дозволяє спочатку визначити "зверху вниз" функції шарів і міжшарові інтерфейси, а потім при детальній реалізації поступово нарощувати потужність функцій шарів, рухаючи "знизу нагору". Крім того, при модернізації системи можна змінювати модулі усередині шару без необхідності робити які-небудь зміни в інших шарах, якщо при цих внутрішніх змінах міжшарові інтерфейси залишаються в силі.
Рис. 44. Концепція багатошарової взаємодії
Оскільки ядро являє собою складний багатофункціональний комплекс, то багатошаровий підхід звичайно поширюється і на структуру ядра.
Ядро може складатися з наступних шарів.
" Засобу апаратної підтримки ОС. Дотепер про ОС говорилося як про комплекс програм, але, узагалі говорячи, частина функцій ОС може виконуватися й апаратними засобами. Тому іноді можна зустріти визначення ОС як сукупності програмних і апаратних засобів, що і відбито на мал. 45. До ОС відносять, природно, не всі апаратні пристрої комп'ютера, а тільки засоби апаратної підтримки ОС, тобто ті, котрі прямо беруть участь в організації обчислювальних процесів: засоби підтримки привілейованого режиму, систему переривань, засоби переключення контекстів процесів, засоби захисту областей пам'яті і т.п.
" Машинно-залежні компоненти ОС. Цей шар утворюють програмні модулі, у яких відбивається специфіка апаратної платформи комп'ютера. В ідеалі цей шар цілком екранує вищележачі шари ядра від особливостей апаратури. Це дозволяє розробляти вищележачі шари на основі машинно-незалежних модулів, що існують у єдиному екземплярі для всіх типів апаратних платформ, підтримуваних даною ОС. Прикладом шару, що екранує, може служити шар HAL ОС Windows NT.
" Базові механізми ядра. Цей шар виконує найбільш примітивні операції ядра, такі як програмне переключення контекстів процесів, диспетчеризацію переривань, переміщення сторінок з пам'яті на диск і назад і т.п. Модулі даного шару не приймають рішень про розподіл ресурсів - вони тільки відпрацьовують прийняті "нагорі"
Loading...

 
 

Цікаве