Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект ос 2013-5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
207.36 Кб
Скачать

2 Структура ос

Для розуміння роботи ОС необхідно уміти виділяти основні частини системи і їх зв'язку, тобто описувати структуру системи. Для різних ОС їх структурне ділення може бути дуже різним. Найбільш загальним виглядом структуризації можна вважати два. З одного боку, можна вважати, що ОС розділена на підсистеми, що відповідають переліченим вище групам функцій. Таке ділення досить обгрунтоване, програмні модулі ОС дійсно в основному можна віднести до однієї з цих підсистем. Інше важливе структурне ділення пов'язане з поняттям ядра системи.

Ядро, як можна зрозуміти з назви, це основна, «найсистемніша» частина операційної системи. Є різні визначення ядра. Згідно з одним з них, ядро - це резидентна частина системи, тобто до ядра відноситься той програмний код, який постійно знаходиться в пам'яті впродовж усієї роботи системи. Інші модулі ОС є транзитними, тобто підвантажуються в пам'ять з диска в міру необхідності на час своєї роботи. До транзитних частин системи відносяться:

  • утиліти(utilities) - окремі системні програми, вирішальні приватні завдання, такі як форматування і перевірку диска, пошук даних у файлах, моніторинг(відстежування) роботи системи і багато що інше;

  • системні бібліотеки підпрограм, що дозволяють застосовним програмам використати різні спеціальні можливості, підтримувані системою(наприклад, бібліотеки для графічного виведення, для роботи з мультимедіа і тому подібне);

  • інтерпретатор команд - програма, що виконує введення команд користувача, їх аналіз і виклик інших модулів для виконання команд;

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

  • інші види програм, залежно від конкретної системи.

Не менш важливим є визначення ядра, засноване на розрізненні режимів роботи комп'ютера. Усі сучасні процесори підтримують, як мінімум, два режими: привілейований режим(він же режим ядра, kernel mode) і непривілейований(режим завдання, режим користувача, user mode). Програми, працюючі в режимі ядра, мають повний, необмежений доступ до усіх ресурсів комп'ютера : його командам, адресам, портам введення/виведення і тому подібне. У режимі завдання можливості програми обмежені, вона, зокрема, не може виконати деякі спеціальні команди. Апаратне розмежування можливостей є абсолютно необхідною умовою реалізації надійного захисту даних в розрахованій на багато користувачів системі. Звідси витікає і визначення ядра як частини ОС, працюючої в режимі ядра. Усі інші програми, як системні утиліти, так і програми користувачів, працюють в режимі користувача і повинні звертатися до ядра для виконання багатьох системних дій.

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

Особливу роль в структурі системи грають драйвери пристроїв. Ці програми, призначені для обслуговування конкретних периферійних пристроїв, поза сумнівом, можна віднести до ядра системи: вони майже завжди є резидентними і працюють в режимі ядра. Але на відміну від самого ядра, яке змінюється тільки при появі нової версії ОС, набір використовуваних драйверів дуже мобільний і залежить від набору пристроїв, підключених до цього комп'ютера. У деяких системах(наприклад, в ранніх версіях UNIX) для підключення нового драйвера вимагалося перекомпілювати усе ядро. У більшості сучасних ОС драйвери підключаються до ядра в процесі завантаження системи, а іноді дозволяється навіть завантаження і вивантаження драйверів в ході роботи системи.

В якості програмного інтерфейсу системи, тобто засобів для звернення застосовних програм до послуг ОС, використовується документований набір системних викликів або функцій API(Applied Programming Interface). Між цими двома термінами є деяка різниця. Під системними викликами розуміються функції, що реалізовуються безпосередньо програмами ядра системи. При їх виконанні відбувається перехід з режиму користувача в режим ядра, а потім назад. На відміну від цього, API- функції визначаються як функції, описані в документації ОС, незалежно від того, чи виконуються вони ядром або ж системними бібліотеками, працюючими в режимі користувача. У Windows часто декілька різних API- функцій звертаються до одного і тому ж недокументованого системного виклику, але мають різні обрамляючі частини, працюючі в режимі користувача.

Там, де відмінність між двома цими поняттями несуттєво, можна використати нейтральний термін «системні функції».

Лекція № 4

Короткий огляд історії створення і еволюції ОС

План

1 MS – DOS

2 Windows

3 UNIX

Розглянемо основні функції ОС і способи їх реалізації на прикладі трьох широко відомих ОС:

    • MS - DOS - приклад простої однозадачної системи;

    • Windows - складна сучасна система, що виросла на базі MS, - DOS;

    • UNIX - система, по можливостях порівнянна з Windows, проте що разюче відрізняє по набору основних концепцій і методам реалізації.

1 MS – DOS

Система MS - DOS була розроблена в 1981 р. спеціально для першої 16-розрядної ПЕВМ IBM PC, що тільки що з'явилася, на базі процесора i86. Перша версія системи була жахлива, але працездатна. У подальші роки фірмі Microsoft вдалося значно поліпшити свою систему, хоча деякі пережитки першої версії виявилися невигубні. Альянс з фірмою IBM дозволив Microsoft добитися фантастичного фінансового успіху.

MS - DOS є однозадачною, розрахованою на одного користувача, діалоговою ОС. Вона веде діалог з користувачем в текстовому режимі і більшою мірою розрахована на обслуговування застосовних програм текстового режиму, хоча допускає і графіку. Робота з мишею повинна забезпечуватися самими застосовними програмами при мінімальній підтримці з боку ОС. Для розміщення програми користувача і для своїх власних потреб MS - DOS дозволяє використати 640 Кбайт пам'яті, що здавалося величезною величиною в ті незапам'ятні часи акуратного програмування і повної відсутності файлів AVI і MP3. Пізніше були додані засоби, що дозволяють з деяким зусиллям використати до 4 Мб пам'яті.

Інтерфейс MS - DOS із застосовними програмами заснований на викликах програмних переривань, що обробляються системою. Бóльшую частину цих переривань прийнято називати функціями DOS.

Система MS - DOS стала стартовим майданчиком для створення Windows. Нині MS - DOS тихо відмирає, хоча усі версії Windows намагаються забезпечити виконання більшої частини програм, розроблених для їх попередниці.

У цьому курсі MS - DOS розглядається як найбільш життєвий приклад простий і добре вивченої однозадачної системи для порівняння з потужнішими багатозадачними системами.