ЛЕКЦІЯ 1

Тема: «ВСТУП»

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

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

Рисунок 1 - Місце операційної системи в структурі програмного забезпечення
(слайд 0001)


ОС працює безпосередньо з апаратним забезпеченням і є основою усього іншого програмного забезпечення.






ЛЕКЦІЯ 2

Тема: «ІСТОРІЯ РОЗВИТКУ КОМП'ЮТЕРНОЇ ТЕХНІКИ І ОПЕРАЦІЙНИХ СИСТЕМ»


ІСТОРІЯ РОЗВИТКУ КОМП'ЮТЕРНОЇ ТЕХНІКИ І ОПЕРАЦІЙНИХ СИСТЕМ

ПЕРШЕ ПОКОЛІННЯ (1945-1955) : ЕЛЕКТРОННІ ЛАМПИ

Конрад Цузе у Берліні побудував Z3 (02 слайд), комп'ютер, заснований на використанні механічних реле. У 1944 році групою науковців у Блетшлі Парк, Великобританія, був побудований Колосус (03 слайд), в Гарварді Говардом Айкеном був побудований Марк I (04,05,06 слайд), а в Університеті штату Пенсільванія побудували Еніак (07,08 слайд). Деякі з цих машин були цифровими, в деяких використовувалися електронні лампи, а роботу деяких з них можна було програмувати.


(М)ДРУГЕ ПОКОЛІННЯ (1955-1965): ТРАНЗИСТОРИ І СИСТЕМИ ПАКЕТНОЇ ОБРОБКИ (М)

В середині 50-х років винахід і застосування транзисторів радикально змі­нило положення. Комп'ютери стали досить надійними. Машини, звані тепер мейнфреймами, розташовувалися в спеціальних кімнатах з кондиціонуванням повітря, де ними управляв цілий штат професійних операторів. Великі комп'ютери другого покоління використовувалися головним чином для наукових і технічних обчислень. Типовими операційними системами були FMS (Fortran Monitor System) і IBSYS (09 слайд) (операційна система, створена корпорацією IBM для комп’ютера IBM 7094), (010 слайд)


(М)ТРЕТЄ ПОКОЛІННЯ (1965-1980): ІНТЕГРАЛЬНІ СХЕМИ І БАГАТОЗАДАЧНІСТЬ (М)

Корпорація IBM розробляє сімейство комп'ютерів IBM/360 (011 слайд), яке стало першою основною серією, в якій використовувались малі інтегральні схеми (OS/360)(011 слайд). OS/360 і подібні їй операційні системи третього покоління досить непогано відповідали запитам більшості клієнтів. Найважливішим досягненням стала багатозадачність.

В цей же час з'являються такі комп'ютерні системи, як:

(ПМ)CTSS (012 слайд) (Compatible Time Sharing System) (013 слайд) - перша універсальна система з режимом розподілу часу (обслуговування декількох користувачів одночасно).

MULTICS (014 слайд) - підтримувала одночасну роботу сотень користувачів в режимі розподілу часу.


ЧЕТВЕРТЕ ПОКОЛІННЯ (З 1980 РОКУ ПО НАШІ ДНІ): ПЕРСОНАЛЬНІ КОМП'ЮТЕРИ

Наступний період еволюції операційних систем пов'язаний з появою ВІС - великих інтегральних схем (LSI, Large Scale Integration) (015 слайд) - кремнієвих мікро­схем, що містять тисячі транзисторів на одному квадратному сантиметрі.

На початку 80-х корпорація IBM розробила IBM PC (Personal Computer (016 слайд) - персональний комп'ютер). Операційна система для роботи DOS (Disk Operating System (017 слайд) - дискова операційна система) з пакетом програм DOS/BASIC (018 слайд). Видозмінена система була перііменована в
MS–DOS (019 слайд) (MicroSoft Disk Operating System) (020 слайд).

MS - DOS та інші операційні системи для перших мікрокомп’юте­рів повністю ґрунтувалися на командах, що вводяться користувачем з клавіатури.

З часом, в науково-дослідному інституті Стенфорда Даг Енгельбарт (Doug Engelbart) винайшов графічний інтерфейс користувача (GUI, Graphical User Interface) (021 слайд), в комплекті з вікнами, значками, системами меню і мишею.

Стів Джобс (Steve Jobs) (022 слайд) один з авторів комп'ютера
Apple (023 слайд), створеного в його гаражі, починав роботу з створення комп'ютера, оснащеного графічним призначеним для користувача інтерфейсом. Цей проект привів до створення комп'ютера Lisa (024,025,026 слайд), який виявився занадто дорогим і не мав комерційного успіху. Друга спроба Джобса, комп'ютер Apple Macintosh (027,028,029,030,031 слайд) мав величезний успіх не лише тому, що він був значно дешевший, ніж Lisa, але і тому, що володів більш дружелюбним для користувача інтерфейсом, який спеціально призначався для користувачів, які не розумілись на комп'ютерах. Комп'ютери Macintosh знайшли широке застосування у представників творчих професій - художників-дизайнерів, та фотографів.

Корпорація Microsoft (032 слайд) вирішує створити наступника MS – DOS, систему також засновану на застосуванні GUI система під назвою Windows (033).






































ЛЕКЦІЯ 3


Тема: «СУЧАСНІ ОПЕРАЦІЙНІ СИСТЕМИ З ГРАФІЧНИМ ІНТЕРФЕЙСОМ КОРИСТУВАЧА. ПРОЦЕС ЗАВАНТАЖЕННЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS»


На протязі приблизно 10 років, з 1985 по 1995 рік, ОС Windows була просто графічною оболонкою, що працювала поверх MS - DOS. Проте в 1995 році була випущена самостійна версія Windows - Windows 95 (1,2 слайд).

У 1998 році була випущена злегка модифікована версія цієї системи, що дістала назву Windows 98 (3,4 слайд). Проте, обидві ці системи все ще містили неабияку кількість коду, написаного на асемблері для 16-розрядних процесорів Intel.

Іншою системою Microsoft була Windows NT (5,6,7 слайд) (NT означає New Technology - нова технологія). Проте вона була написана наново і є
повно­цінною 32-розрядною системою. Windows NT версії 4.0 отримала велике поширення в корпоративних мережах.
(М) П'ята версія Windows NT була на початку 1999 року перейменована в Windows 2000 (М)
(8,9 слайд). Вона призначалася для заміни обох версій - Windows 98 і Windows NT 4.0. Згодом корпорація Microsoft випустила ще одну версію Windows 98 під назвою Windows Me (10,11 слайд) (Millennium edition - випуск тисячоліття).

(М)У 2001 році була випущена оновлена версія Windows 2000 (NT 5.0), названа Windows ХР (М) (12,13 слайд). Ця версія випускалася набагато довше, по суті замінюючи усі попередні версії Windows. Лише, в (ПМ) січні 2007 року, Microsoft випустила версію наступника Windows ХР (NT 5.1) під назвою Vista (14,15 слайд) (NT 6.0). У неї був новий графічний інтерфейс, Aero, і безліч нових або оновлених програм користувача. (ПМ) У 2009 році з'явилася наступна ОС від Майкрософт - Windows 7 (16,17 слайд), що також входить в сімейство ОС Windows NT.

Windows 8 (18,19 слайд). (ПМ)Розробка почалася, ще до випуску Windows 7, у 2009 році. Windows 8 отримала новий дизайн з «плиток».

Windows 10 була випущена 1 жовтня 2014 року.

Також Майкрософт випустила серверні версії ОС - Windows Server.

Іншим основним конкурентом у світі персональних комп'ютерів є операційна система UNIX (22,23 слайд) (і різні похідні від цієї системи).

Операційна система FreeBSD (24,25 слайд) також є популярною похідною від UNIX. Усі сучасні комп'ютери Macintosh працюють на мо­дифікованій версії цієї ОС. (ПМ)UNIX також є стандартом на робочих станціях, оснащених високопродуктивними RISC – процесорами (26 слайд).

ІНШІ ВИДИ ОС

(М)Мережеві операційні системи не мають істотних відмінностей від одно­процесорних операційних систем. Їм потрібний контролер мережевого інтерфейсу і певне низькорівневе програмне забезпечення (М).

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

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

ПРОЦЕС ЗАВАНТАЖЕННЯ ОПЕРАЦІЙНИХ СИСТЕМ WINDOWS

Після включення живлення комп'ютер проводить самотестування POST (27 слайд). Оскільки відеоадаптер ще не ініційований, про помилки, що виникають на цьому етапі завантаження, повідомляється за допомогою звукових сигналів, званих звуковими кодами BIOS (28 слайд).

Після виконання самотестування BIOS знаходить і зчитує налаштування, які збережені в CMOS – пам’яті (29 слайд). Пріоритет завантажувальних
пристроїв — це порядок, в якому пристрої перевіряються на наявність в них операційної системи. Пріоритет завантажувальних пристроїв встановлюється в BIOS і може бути вказаний у будь-якому порядку. BIOS виконує завантаження комп'ютера з першого носія, на якому виявлена операційна система.

Завантажувач Windows і диспетчер завантаження Windows 7.

Після виявлення носія з операційною системою BIOS знаходить основний завантажувальний запис (MBR) (30 слайд). (ПМ)На цьому етапі Диспетчер завантаження Windows (BOOTMGR) (31 слайд) контролює деякі етапи установки. Наприклад, якщо носій містить декілька операційних систем, BOOTMGR пропонує користувачеві вибрати одну з них.

NTLDR (34 слайд) і меню завантаження Windows в Windows XP

MBR знаходить завантажувач операційної системи NTLDR. На цьому етапі він контролює процес установки. Наприклад, якщо носій містить декілька операційних систем, файл BOOT.INI (35 слайд) пропонує користувачеві вибрати одну з них.

Ядро NT

На цьому етапі завантаження контроль переходить до ядра NT. (ПМ)— це центральна частина усіх операційних систем Windows.

Режими при запуску

Windows може завантажуватися в одному з наступних режимів:

1) Безпечний режим;

2) Безпечний режим із завантаженням мережевих драйверів;

3) Безпечний режим з підтримкою командного рядка;

4) Остання вдала конфігурація.

























ЛЕКЦІЯ 4

Тема: "КОРОТКИЙ ОГЛЯД АПАРАТНОЇ ЧАСТИНИ КОМП'ЮТЕРА"

Операційна система тісно пов'язана з апаратним забезпеченням комп'ютера, на якому вона працює. Вона розширює набір команд комп'ютера і управляє його ресурсами.

МАТЕРИНСЬКА ПЛАТА

Це основний пристрій ПК, який в першу чергу визначає його продуктивність.

(М) Материнська плата містить такі основні компоненти:

- шини;

- базову систему введення-виведення BIOS (Basic Input/Output System)
(1 слайд);

- (М)кеш-пам’ять(М);

- (М)системні ресурси(М).

ПРОЦЕСОРИ

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

ПАМ'ЯТЬ

Оперативна пам'ять - це головна робоча область системи пам'яті ПК. Оперативну пам'ять часто називають ОЗП (оперативний запам’ятовуючий пристрій) (2 слайд) або пам'яттю з довільним доступом (RAM, Random Access Memory) (3 слайд). Усі запити процесора, які не можуть бути виконані кеш-пам'яттю, спрямовуються до оперативної пам'яті. Додатково до оперативної пам'яті багато комп'ютерів оснащено невеликою за об'ємом незмінною пам'яттю з довільним доступом - постійним запам’ятовуючим пристроєм (ПЗП) (4 слайд), іншими словами, призначена тільки для зчитування - ROM (Read Only Memory) (5 слайд). На відміну від ОЗП вона не втрачає свого вмісту при відключенні живлення, тобто є енергонезалежною.

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

Існують також інші різновиди незалежної пам'яті, які на відміну від ПЗП можуть стиратися і перезаписуватися EEPROM (6 слайд) та і флеш-пам’ять.

Ще один різновид пам'яті - CMOS (7 слайд) – пам’ять, яка є енергозалежною. У багатьох комп'ютерах CMOS - пам’ять використовується для зберігання поточної дати і часу.

ДИСКИ

HDD (Hard Disk Drive) (8 слайд)- жорсткий диск, основний пристрій зберігання даних на ПК.

ПРИСТРОЇ ВВЕДЕННЯ-ВИВОДУ

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

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

До пристроїв введення інформації відносяться: клавіатура, маніпулятор мишка, графічний планшет і так далі.

До пристроїв виведення інформації відносяться: монітор, принтер, плоттер і так далі.









ЛЕКЦІЯ 5

Тема: "ВИДИ І ТИПИ ОПЕРАЦІЙНИХ СИСТЕМ"

ОПЕРАЦІЙНІ СИСТЕМИ МЕЙНФРЕЙМІВ

(М)До вищої категорії відносяться операційні системи мейнфреймів (М) (1,2,3 слайд) (великих універсальних машин) - комп'ютерів, що займають цілі зали і досі, ще зустрічаються у великих центрах обробки корпоративних даних. Такі комп'ютери відрізняються від персональних комп'ютерів по об'ємах введення-виведення даних. Мейнфрейми, мають тисячі дисків і петабайти даних. Операційні системи мейнфреймів орієнтовані переважно на одночасну обробку безлічі завдань, більшість з яких вимагає колосальних об'ємів введення-виведення даних. Зазвичай вони пропонують три види обслуговування: пакетну обробку, обробку транзакцій і роботу в режимі розподілу часу.

Прикладом операційної системи універсальних машин може послужити OS/390 (4 слайд). Проте ці операційні системи поступово витісняються варіантами операційної системи UNIX, наприклад Linux (5 слайд).

СЕРВЕРНІ ОПЕРАЦІЙНІ СИСТЕМИ

Трохи нижче за рівнем розташовані серверні операційні системи. Вони працюють на серверах, які представлені дуже потужними персональними комп'ютерами, робочими станціями або навіть універсальними машинами. Вони одночасно обслуговують в мережі безліч користувачів, надаючи їм загальний доступ до апаратних і програмних ресурсів. Сервери можуть надавати послуги друку, зберігання файлів або веб - служб. Інтернет - провайдери для обслуговування своїх клієнтів зазвичай задіюють відразу декілька серверних машин. При обслу­говуванні веб - сайтів сервери зберігають веб - сторінки і обробляють запити, що поступають. Типовими представниками серверних операційних систем є Solaris, FreeBSD, Linux і Windows Server 200x (6,7 слайд).

БАГАТОПРОЦЕСОРНІ ОПЕРАЦІЙНІ СИСТЕМИ

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

З недавньою появою багатоядерних процесорів операційні системи навіть звичайних настільних комп'ютерів і ноутбуків стали працювати з невеликою багатопроцесорною системою.

На багатопроцесорних системах можуть працювати операційні системи, включаючи платформи Windows і Linux (8 слайд).

ОПЕРАЦІЙНІ СИСТЕМИ ПЕРСОНАЛЬНИХ КОМП'ЮТЕРІВ

Широко використовуються звичайними користувачами для доступу до Інтернету та соціальних мереж, набору тексту, ігор та інших розваг. Типовими прикладами можуть слугувати операційні системи Linux, FreeBSD, Windows і MacOS. (9 слайд)

ОПЕРАЦІЙНІ СИСТЕМИ КИШЕНЬКОВИХ ПЕРСОНАЛЬНИХ КОМП'ЮТЕРІВ

КПК, або PDA, Personal Digital Assistant (10,11,12,13
слайди)
- персональний цифровий секретар. Операційні системи, працюючі на цих кишенькових пристроях, все більш і більш ускладнюються, в них з'являються можливості управління функ­ціями, що відносяться до телефонії, цифрової фотографії та інших областей. За своїми можливостями і функціями КПК повільно наближаються до персональних комп'ютерів. Дві найбільш популярні операційні системи, що використовуються в КПК - це Symbian OS і Palm OS (14,15 слайд)

ВБУДОВАНІ ОПЕРАЦІЙНІ СИСТЕМИ

(М)Вбудовані системи працюють на комп'ютерах, які управляють різними пристроями. Оскільки на цих системах установка призначених для користувача програм не передбачається, їх зазвичай комп'ютерами не вважають. Прикладами пристроїв, де встановлюються вбудовані комп'ютери, можуть слугувати мікрохвильові печі, телевізори, автомобілі, DVD. Найбільш популярними в цій області вважаються (М)операційні системи QNX і VxWorks (16,17 слайди).

ОПЕРАЦІЙНІ СИСТЕМИ СЕНСОРНИХ ВУЗЛІВ

Мережі, складені з мініатюрних сенсорних вузлів, пов'язаних один з одним та з базовою станцією по безпровідних каналах, розгортаються для різних цілей. Такі сенсорні мережі використовуються для захисту периметрів будівель, для виявлення займань в лісі, вимірювання темпера­тури і рівня опадів. Кожен сенсорний вузол є справжнім комп'ютером, оснащеним процесором, оперативною пам’ятю і постійним запам’ятовуючим пристроєм, а також одним або декількома датчиками. На ньому працює невелика, але справжня операційна система, зазвичай керована подіями - відкликається на зовнішні події або періодично проводить виміри по сигналах вмонтованого годинника. Прикладом операційної системи для сенсорних вузлів є – TinyOS (18 слайд).




А Т Е С Т А Ц І Я 1

























ЛЕКЦІЯ 6

Тема: «ПОННЯТТЯ ОПЕРАЦІЙНОЇ СИСТЕМИ. ТАБЛИЦІ СТОРІНОК (РОБОТА ВІРТУАЛЬНОЇ ПАМ’ЯТІ)»

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

ПРОЦЕСИ

Ключовим поняттям в усіх операційних системах є процес. Процес - це програма під час її виконання. З кожним процесом пов'язаний його адресний простір - список адрес елементів пам'яті від нуля і до деякого максимуму, звідки процес може зчитувати і куди записує дані. (М)Адресний простір містить виконувану програму, дані цієї програми і її стек(М). Окрім цього, з кожним процесом пов'язаний набір ресурсів, який зазвичай включає регістри (у тому числі лічильник команд і показник стеку), список відкритих файлів, необроблені попередження, список пов'язаних процесів і усю іншу інформацію, необхідну в процесі роботи програми. Таким чином, процес - це контейнер, в якому міститься уся інформація, необ­хідна для роботи програми.

АДРЕСНІ ПРОСТОРИ

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

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


ФАЙЛИ

Іншим ключовим поняттям, підтримуваним практично усіма операційними системами - є файлова система.

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

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

ВВЕДЕННЯ-ВИВЕДЕННЯ ДАНИХ

У усіх комп'ютерів є фізичні пристрої для отримання вхідної і виведення вихідної інформації.

Управління усіма цими пристроями покладається на операційну систему.

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

БЕЗПЕКА

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

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

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

ТАБЛИЦІ СТОРІНОК (РОБОТА ВІРТУАЛЬНОЇ ПАМ’ЯТІ)

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

СТРУКТУРА ЗАПИСУ В ТАБЛИЦІ СТОРІНОК

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

Рисунок 2 - Типовий запис таблиці сторінок (1 слайд)


Розмір запису варіюється від комп'ютера до комп'ютера, але зазвичай він складає 32 біта. Найбільш важливим є поле номера сторінкового блоку
(Page frame number) (2 слайд). Метою сторінкового відображення є видача цього
зна­чення. Наступним за значимістю є біт присутності-відсутності. Якщо він встановлений в 1, запис має сенс і може бути використаний. А якщо він встановлений в 0, то віртуальна сторінка, якій належить цей запис, на даний момент в пам'яті відсутня. Звернення до запису таблиці сторінок, у якої цей біт встановлений в 0, викликає помилку відсутності сторінки.

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

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

Біт посилання встановлюється при зверненні до сторінки, як для зчитування, так і для запису. Він покликаний допомогти операційній системі обрати сторінку, що "зникає", при виникненні помилки відсутності сторінки. Сторінки, до яких не було звернень є прийнятнішими кан­дидатами, за ті до яких були звернення, і цей біт відіграє важливу роль у ряді алгоритмів заміщення сторінок.























ЛЕКЦІЯ 7

Тема: "ФАЙЛОВІ СИСТЕМИ. ІМЕНА ФАЙЛІВ. СТРУКТУРА ФАЙЛУ. ТИПИ ФАЙЛІВ"

(М)Файли є логічними інформаційними блоками, що створюються про­цесами(М).

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

ІМЕНА ФАЙЛІВ

Багато операційних систем підтримують імена файлів, що складаються з двох частин, розділених точкою, як в імені prog.txt (1 слайд). Та частина імені, яка йде за точкою, називається розширенням імені файлу і, як правило, несе в собі деяку інформацію про файл.

Таблица 1 - Деякі типові розширення імен файлів (2 слайд)


СТРУКТУРА ФАЙЛУ

Файли можуть бути структуровані декількома різними способами. Три найбільш вірогідні структури показані на рисунку 3.


Рисунок 3 - Три типи файлів : послідовність байтів (а); послідовність записів (б); дерево (в) (3 слайд)



Файл на рисунку 3 а являє собою несистемну послідовність байтів. По суті, операційній системі все одно, що міститься в цьому файлі. Вона бачить тільки байти. Яке-небудь значення цим байтам надається програмами на рівні користувача. Програми користувача можуть поміщати у свої файли усе, що їм заманеться, і називати їх як їм зручно. Ця файлова модель використовується усіма версіями UNIX, MS - DOS і Windows (4 слайд).

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

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

ТИПИ ФАЙЛІВ

Багато операційних систем підтримують декілька типів файлів. У системах UNIX і Windows є звичайні файли і каталоги.

Звичайними вважаються файли, що містять інформацію користувача. Усі файли на рисунку 3 є звичайними. Як правило, (М)до звичайних файлів відносяться або файли ASCII (5 слайд), або двійкові файли(М). ASCII - файли складаються з текстових рядків. Великою перевагою цих файлів є можливість їх відображення і друку в початковому вигляді, а також вони можуть бути відредаговані у будь-якому текстовому редакторові.

Усі інші файли відносяться до двійкових. Їх друк буде незрозумілим і даремним набором симво­лів.

Символьні спеці­альні файли мають відношення до введення-виведення і використовуються для моделювання послідовних пристроїв введення-виведення, до яких відносяться термінали, принтери і мережі.

(М)Блокові спеціальні файли використовуються для моделювання дисків(М).

ЛЕКЦІЯ 8

Тема: «АНТИВІРУСНИЙ ЗАХИСТ ФАЙЛОВОЇ СИСТЕМИ»

Види загроз для файлової системи. Віруси.

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

Деякі віруси можуть бути дуже небезпечні. Один з найшкідливіших типів вірусів використовується для запису послідовності натиснення клавіш. Зловмисники можуть використовувати такі віруси для збору конфіденційної інформації, такої як паролі і номери кредитних карт. Вірус відправляє зібрані дані зловмисникові. Віруси також можуть змінювати або заміняти інформацію на комп'ютері. Віруси-невидимки можуть заражати комп'ютер і залишатися невидимими до виклику зловмисником (2,3,4,5 слайд).

ВИДИ І ТИПИ ВІРУСІВ

  • Черв'яки (6 слайд)

Черв'як — це програма, що саморазмножується і представляє небезпеку для мереж. Черв'як використовує мережу для дублювання свого коду на вузлах мережі часто без участі користувача. Черв'як відрізняється від вірусу, оскільки для зараження вузла не потрібно прикріплення до програми. Зазвичай черв'яки поширюються автоматично, використовуючи відомі «вразливі місця» в легальному програмному забезпеченні.

  • Троянські програми (7 слайд)

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

  • Руткіти (пакети для отримання повноважень адміністратора)
    (8 слайд)

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

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

  • Антивірусне ПЗ (9,10,11,12,13,14,15,16, 17 слайд)

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

Встановлюйте та запускайте тільки один тип програмного захисту від шкідливого ПЗ одночасно.



ЛЕКЦІЯ 9

Тема: "ФАЙЛОВІ СИСТЕМИ. ДОСТУП ДО ФАЙЛІВ. АТРИБУТИ ФАЙЛІВ. ОПЕРАЦІЇ З ФАЙЛАМИ"

ДОСТУП ДО ФАЙЛІВ

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

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

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

Для визначення місця початку зчитування можуть бути застосовані два мето­ди. При першому методі позиція у файлі, з якої починається зчитування, задається при кожній операції зчитування – read (1 слайд). При другому методі для установки на поточну позицію надається спеціальна операція пошуку потрібного місця - seek. (2 слайд) Після цієї операції файл може бути зчитаний послідовно з щойно встановленої поточної позиції. Останній метод використовується в UNIX і Windows (3 слайд).

АТРИБУТИ ФАЙЛІВ

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

Список атрибутів істотно варіюється від системи до системи. У таблиці 2 показані деякі з можливих атрибутів. Жодна з існуючих систем не має усіх цих атрибутів разом, але кожен з них присутній в якій-небудь системі.

Таблица 2 – Деякі з можливих атрибутів (4 слайд)

Атрибут

Значение

Захист

Хто і яким чином може отримати доступ до файлу

Пароль

Пароль для отримання доступу до файлу

Створювач

Ідентифікатор створювача файлу

Власник

Поточний власник

Флаг «тільки для зчитування»

0 — для зчитування-запису; 1 — тільки для зчитування

Флаг «скритий»

0 — звичайний; 1 — не призначений для відображення


у переліку файлів

Флаг «системний»

0 — звичайний; 1 — системний

Флаг «архівний»

0 — пройшов резервне копіюваня;


1 — має пройти резервне копіювання

Флаг ASCII -двійковий

0 — ASCII; 1 — двійковий

Флаг довільного доступу

0 — тільки послідовний доступ; 1 — довільний


доступ

Флаг «тимчасовий»

0 — звичайний; 1 — видаляється по закінченю роботи та процесу

Флаги блокування

0 — незаблокований; 1 — заблоко-


ваний

Довжина запису

Кількість байтів в записі

Позиція ключа

Зміщення ключа усередині кожного запису

Довжина ключа

Кількість байтів в полі ключа

Час створення

Дата і час створення файлу

Час останнього доступу

Дата і час останнього доступу до файлу

Час внесення останніх

Дата і час внесення у файл останніх змін

змін


Поточний розмір

Кількість байтів у файлі

Максимальний розмір

Кількість байтів, до яких файл може збільшуватися

ОПЕРАЦІЇ З ФАЙЛАМИ

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

  1. Create (5 слайд) (Створити). Створює файл без даних.

  2. Delete (6 слайд) (Видалити).

  3. Open (7 слайд) (Відкрити). Перед використанням файлу процес повинен його відкрити.

  4. Close (8 слайд) (Закрити).

  5. Read (9 слайд) (Провести зчитування).

  6. Write (10 слайд) (Провести запис). Запис даних у файл, як правило, з поточної по­зиції.

  7. Append (11 слайд) (Додати). Цей виклик є спрощеною версією системного виклику write.

  8. Seek (12слайд) (Знайти). При роботі з файлами довільного доступу потрібний спосіб вказівки місця, з якого беруться дані.

  9. Get attributes (13 слайд) (Отримати атрибути).

  10. Set attributes (14 слайд) (Встановити атрибути). користувачем і змінюватися після того, як файл був створений.

  11. Rename (15 слайд) (Перейменувати).



А Т Е С Т А Ц І Я 2
















М О Д У Л Ь 2

ЛЕКЦІЯ 10

Тема: "СИСТЕМНІ ВИКЛИКИ UNIX (1 слайд)"

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

ОС виконують дві основні функції: надають абстракції призначеним для користувача програмам і управляють ресурсами ПК. Інтерфейс між призначеними для користувача програмами і операційної системою будується в основному на абстракціях. Щоб зрозуміти, що робить ОС, розглянемо цей інтерфейс. Наявні в інтерфейсі системні виклики варіюються в залежно­сті від використовуваної операційної системи. Для прикладу візьмемо інтерфейс операційних систем UNIX, який регулюється міжнародним стандартом
POSIX (2 слайд).

(М)POSIX (Portable Operating System Interface for UNIX (3 слайд) - переносний інтерфейс операційних систем UNIX) - набір стандартів(М), що описують інтерфейси між операційної системою і прикладною програмою.

Для того, щоб прояснити механізм системних викликів, розглянемо системний виклик зчитування – (М)read (4 слайд). Він має три параметри: перший служить для завдання файлу, другий вказує на буфер, а третій задає кількість байтів, яку треба зчитати(М). Як практично усі системні ви­клики, він здійснюється з програми на мові С за допомогою виклику бібліотеч­ної процедури, ім'я якої співпадає з ім'ям системного виклику :read. Виклик з програми на С може мати наступний вигляд: count - read(fd, buffer, nbytes). (5 слайд)

Системний виклик (і бібліотечна процедура) повертає кількість фак­тично зчитаних байтів, які зберігаються в змінній count (6 слайд). Зазвичай це значення співпадає зі значенням параметра nbytes (7 слайд), але може бути і менше.

Виконання системного виклику складається з декількох кроків (рисунок 4).

Адреса

ОхРРРРРРРР


Рисунок 4 – Покрокове виконання системного виклику (8 слайд)


Спочатку, при підготовці виклику бібліотечної процедури read, програма, що викликала її поміщає параметри в стек (крок 1-3).

Потім здійснюється фактичний виклик бібліотечної процедури (крок 4).

Бібліотечна процедура, зазвичай розміщує номер системного виклику туди, де його чекає операційна система, наприклад в регістр (крок 5).

Потім вона виконує команду (ПМ)TRAP (9 слайд) для перемикання з призначеного для користувача режиму в режим ядра, і виконання триває з фіксованої адреси, що знаходиться усередині ядра операційної системи (крок 6).

Почавши роботу після команди TRAP частина ядра (диспетчер на рисунку 4) перевіряє номер системного виклику, а потім передає управління потрібному про­робітнику. Зазвичай передача управління здійснюється за допомогою таблиці показників на обробники системних викликів, яка індексована за номерами цих викликів (крок 7).

Після цього вступає в дію обробник конкретного системного виклику (крок 8).

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

У свою чергу ця процедура поверне управління призначеній для користувача програмі (крок 10).

Щоб завершити роботу з процедурою read, призначена для користувача програма повинна спорожнити стек, так само, як вона це робить після будь-якого виклику процеду­ри (крок 11).

Системні виклики розділяються на: виклики для управління процесами, для управління файлами, для управління каталогами та ін.































ЛЕКЦІЯ 11

Тема: " СИСТЕМНІ ВИКЛИКИ ДЛЯ РЕАЛІЗАЦІЇ РОБОТИ СИСТЕМНИХ РЕСУРСІВ "

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

В ОС Windows також є системні виклики. У UNIX є практично однозначний зв'язок між системними викликами і бібліотечними процедурами, використовуваними для звернення до системних викликів. Іншими словами, для кожного системного ви­клику зазвичай існує одна бібліотечна процедура, найчастіше однойменна. При цьому в стандарті POSIX (2 слайд) є усього лише близько 100 процедурних викликів.

У системі Windows ситуація абсолютно інша. Фактичні системні виклики і використовувані для їх виконання бібліотечні виклики спеціально розділені.

Корпорацією Microsoft визначений (М)набір процедур, названий Win32API(М), ПМ (3 слайд) Application Program Interface (4 слайд). Згідно з цим інтерфейсом, користувачі повинні використовувати його для доступу до служ­б ОС. Кількість наявних в Win32 API викликів велике і обчислюється тисячами. Разом з тим, що багато хто з них дійсно запускає системні виклики, істотна частина цілком виконується в просторі користувача.

У Win32 API є величезна кількість викликів для управління вікнами, гео­метричними фігурами та іншими складовими графічного інтерфейсу користувача деякі з яких наведені в таблиці №3.





Таблиця 3 - Виклики Win32 API, що приблизно відповідають викликам UNIX (5 слайд)

UNIX

Win32

Опис

fork

CreateProcess

Створює новий процес

waitpid

WaitForSingleObject

Чекає завершення процесу

execve

(немає)

СгеаtеРгосеss=fоrк+ехесve

exit

ExitProcess

Завершує виконання процесу

open

CreateFile

Створює файл або відкриває існуючий файл

close

CloseHandle

Закриває файл

read

ReadFile

Читає дані з файлу

write

WriteFile

Записує дані у файл

Iseek

SetFilePointer

Переміщає покажчик файлу

stat

GetFileAttributesEx

Отримує різні атрибути файлу

mkdir

CreateDirectory

Створює новий каталог

rmdir

RemoveDirectory

Видаляє порожній каталог

link

(немає)

Win 32 не підтримує зв'язку

unlink

DeleteFile

Видаляє існуючий файл

mount

(немає)

Win 32 не підтримує підключення до файлової системи

umount

(немає)

Win 32 не підтримує підключення до файлової системи

chdir

SetCurrentDirectory

Змінює робочий каталог

chmod

(немає)

Win 32 не підтримує захист файлу (хоча NT підтримує)

kill

(немає)

Win 32 не підтримує сигнали

time

GetLocalTime

Отримує поточний час




















ЛЕКЦІЯ 12

Тема: «СТРУКТУРА ОПЕРАЦІЙНОЇ СИСТЕМИ. МОНОЛІТНІ СИСТЕМИ"

Така організація операційної системи є дуже розповсюдженою. (М)В даному випадку вся операційна система працює як єдина програма в режимі ядра(М). Операційна система написана у вигляді набору процедур, пов'язаних разом в одну велику виконувану програму.

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

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

Така організація припускає наступну базову структуру операційної системи:

  1. Основна програма, яка викликає необхідну службову процедуру.

  2. Набір службових процедур, що виконують системні виклики.

  3. Набір допоміжних процедур, які сприяють роботі службових процедур.

Таким чином, процедури діляться на три рівні, які показані на рисунку 5.

(М)Рисунок 5 - Проста структурована модель монолітної системи(М) (3 слайд)




ЛЕКЦІЯ 13

Тема: «СТРУКТУРА ОПЕРАЦІЙНОЇ СИСТЕМИ. БАГАТОРІВНЕВІ СИСТЕМИ"

Першою системою, побудованою таким чином, була (М)система ТНЕ (М) (4 слайд), створена в Голландії в 1968 році. Система ТНЕ була простою па­кетною системою для (М)голландського комп'ютера Electrologica Х8(М) (5,6 слайд), який мав об’єм пам'яті 32 К до 27-розрядних слів. У системи було шість рівнів (таблиця 4).

Таблиця 4 - Структура операційної системи ТНЕ (7 слайд)

Рівень Функція__________________________________________________

5 Оператор

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

3 Управління введенням-виводом

2 Зв'язок оператора з процесом

1 Управління основної пам'яттю і магнітним барабаном

О Розподіл ресурсів процесора і забезпечення багатозадачного режиму


Подальше узагальнення багаторівневої концепції було зроблене в (М)операційній системі MULTICS(М). Замість рівнів для опису в (М)MULTICS (8 слайд) використовувалися серії кон­центричних кілець(М), де внутрішні кільця мали вищі пріоритети по відношенню до зовнішніх. Коли процедурі з зовнішнього кільця було треба викликати процедуру внутрішнього кільця, їй треба було створити еквівалент системного виклику, тобто виконати інструкцію ТRАР (9 слайд), параметри якої ретельно перевірялися на до­пустимість перед тим, як дозволити продовження виклику. Хоча вся операційна система в MULTICS була частиною адресного простору кожного процесу користувача, апаратура дозволяла визначати окремі процедури як захищені від зчитування, запису або виконання.

Приклад, викладач може написати програму для тестування і оцінки студентських програм і запустити цю програму в кільці x, а студентські програми виконуватимуть­ся в кільці x + 1, так що студенти не зможуть змінити свої оцінки.







ЛЕКЦІЯ 14

Тема: «СТРУКТУРА ОПЕРАЦІЙНОЇ СИСТЕМИ. МІКРОЯДРА»

М І К Р О Я Д Р А

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

Було розроблено і отримало поширення (М)множина різних
мікро­ядер (М)
- Integrity, К42, L4, PikeOS, QNX, Symbian і MINIX 3. (1,2 слайди)

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

Коротко розглянемо мікроядро MINIX 3, в якому максимально використана ідея модульності і основна частина ОС розбита на ряд незалежних процесів, працюючих в режимі користувача. MINIX 3 - це POSIX
(3 слайд) - сумісна система з відкритим початковим кодом.

Мікроядро MINIX 3 займає усього лише 3200 рядків коду на мові С і 800 рядків коду на асемблері, Структура MINIX 3 показана на рисунку 6.

(М)Рисунок 6 - Структура системи MINIX 3 (М)(4 слайд)







































ЛЕКЦІЯ 15

Тема: «СТРУКТУРА ОПЕРАЦІЙНОЇ СИСТЕМИ. КЛІЄНТ-СЕРВЕРНА МОДЕЛЬ»

Варіація ідеї мікроядер відображається у відособленні двох класів процесів: серверів, кожен з яких надає яку-небудь службу, і клієнтів, які користуються цими службами. Ця модель відома як клієнт-серверна.

Вся суть цієї моделі полягає в наявності клієнтських процесів і серверних процесів.

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

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

Рисунок 7 - Клієнт-серверна модель, реалізована за допомогою мережі
(6 слайд)


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











ЛЕКЦІЯ 16

Тема: «СТРУКТУРА ОПЕРАЦІЙНОЇ СИСТЕМИ. ВІРТУАЛЬНІ МАШИНИ»


VM/370 (7 слайд)

Система VM/370 була заснована на наступному спостереженні: (М)система з розподілом часу забезпечує(М) 1) багатозадачність і 2) розширену машину із зручнішим інтерфейсом, ніж у звичайного устаткування.

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

Рисунок 8 - Структура VM/370 з трьома запущеними системами CMS (8 слайд)

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

Спочатку на VM/370 (9 слайд) одні користувачі запускали у сво­їх віртуальних машинах OS/360 (10 слайд) тоді як інші запускали одно­призначену для користувача інтерактивну систему CMS (Conversational Monitor System (11,12 слайди) - система діалогової обробки) для користувачів системи розподілу часу.

Сучасна версія z/VM (13 слайд) зазвичай використовується для запуску декількох повноцінних ОС.

Наприклад, на машинах zSeries (14 слайд) можна запустити одну або декілька віртуальних машин Linux, а разом з ними запустити звичайні операційні системи IBM PC.

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





А Т Е С Т А Ц І Я 3



















ЛЕКЦІЯ 17

Тема: "КАТАЛОГИ"

СИСТЕМИ З ОДНОРІВНЕВИМИ КАТАЛОГАМИ

Найпростіша форма системи каталогів складається з одного каталогу, що містить усі файли. Іноді він називається кореневим каталогом. Ця система була широко розповсюджена на перших персональних комп'ютерах.

Приклад системи, що має всього один каталог, показаний на рисунку 9.

Рисунок 9 - Система з однорівневим каталогом, що містить чотири файли (1 слайд).


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

ІЄРАРХІЧНІ СИСТЕМИ КАТАЛОГІВ

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

Тому потрібний спосіб, що дозволяє згрупувати споріднені файли. Для цього потрібна ієрархія (тобто дерево каталогів). Такий підхід дозволяє мати стільки каталогів, скільки необхідно для згрупування файлів користувача.

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


Рисунок 10 - Ієрархічна система каталогів (2 слайд)


На рисунку зображені каталоги А, В і С, які містяться в кореневому каталозі і належать різним користувачам, двоє з яких створили підкаталоги для проектів, над якими вони працюють.

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















ЛЕКЦІЯ 18

Тема: " ОБЛІКОВИЙ ЗАПИС КОРИСТУВАЧА"


ОБЛІКОВИЙ ЗАПИС КОРИСТУВАЧА

При спробі користувачів увійти до системи пристрою або отримати доступ до системних ресурсів операційна система Windows використовує процес аутентифікації для перевірки достовірності користувачів. Аутентифікація відбувається при введенні імені користувача і пароля для доступу до облікового запису користувача. (ПМ) В операційних системах Windows використовується технологія єдиного входу (SSO) (3 слайд), що дозволяє користувачам, які увійшли до системи, отримати єдиний доступ до усіх функцій системи, без запиту даних кожного разу для доступу до окремих ресурсів.

Облікові записи користувачів дозволяють декільком користувачам працювати на одному комп'ютері, з власними файлами і налаштуваннями. У Windows 7 існує три типи облікових записів користувача: обліковий запис адміністратора, стандартний і гостьовий. Різні типи облікового запису відповідають різному рівню контролю над системними ресурсами.

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

Стандартний обліковий запис користувача може бути створений у будь-який час. Він має менше прав, чим обліковий запис адміністратора. Наприклад, користувачі можуть переглядати файл, але не можуть вносити в нього зміни.

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

В операційній системі Windows XP існує четверта група користувачів, під назвою «Досвідчені користувачі». Вони мають більше прав в порівнянні із стандартними користувачами і мають деякі з можливостей, доступних з облікових записів адміністратора. Досвідчені користувачі не можуть здійснювати повне адміністрування системних ресурсів.



























ЛЕКЦІЯ 19

Тема: "СТРУКТУРА ФАЙЛОВОЇ СИСТЕМИ. ВСТАНОВЛЕННЯ ОПЕРАЦІЙНОЇ СИСТЕМИ. ВАРІАНТИ ІНДИВІДУАЛЬНОГО ВСТАНОВЛЕННЯ "

СТРУКТУРА ФАЙЛОВОЇ СИСТЕМИ

Файлові системи зберігаються на дисках. Більшість дисків можуть бути розбиті на один або декілька розділів, на кожному з яких буде незалежна файло­ва система. (М)Сектор 0 на диску називається головним завантажувальним записом - MBR (Master Boot Record)(М)
(1,2 слайд) і використовується для завантаження комп'ютера. У кінці MBR тримається таблиця розділів. Один з розділів в цій таблиці позначається активним. При за­вантаженні комп'ютера BIOS (3 слайд) зчитує і виконує MBR. Перше, що робить програма MBR - знаходить розташування активного роз­ділу, зчитує його перший блок, який називається завантажувальним, і виконує його. Програма в завантажувальному блоці запускає операційну систему, яка є в цьому розділі.

Часто файлова система міститиме деякі елементи, показані на рисунку 11.

Рисунок 11 - Можлива структура файлової системи (4 слайд)


(ПМ) Першим елементом є суперблок. У ньому містяться всі ключові параме­три файлової системи, які зчитуються в пам'ять при завантаженні комп'ютера або при першому зверненні до файлової системи.

«ВСТАНОВЛЕННЯ ОПЕРАЦІЙНОЇ СИСТЕМИ.

ВАРІАНТИ ІНДИВІДУАЛЬНОГО ВСТАНОВЛЕННЯ»

Стандартна установка Windows 7 (5 слайд) є достатньою для більшості комп'ютерів, використовуваних удома і в малих офісах. (ПМ)Вибіркова установка Windows 7 допоможе заощадити час і забезпечить єдині налаштування комп'ютерів у великій мережі. При розгортанні Windows на декількох комп'ютерах можна використовувати (ПМ)середовище попередньої установки, наприклад Windows PE. (6 слайд) Середовища попередньої установки є базовими операційними системами, що дозволяють користувачеві виконувати створення і форматування розділів на диску, а також запускати установку по мережі.

Для Windows 7 існує декілька типів вибіркового встановлення:

1) мережеве встановлення;

2) (ПМ)встановлення за протоколом віддаленого завантаження PXE;

3) автоматичне встановлення;

4) (ПМ)встановлення на основі образу — використовується програма Sysprep (7 слайд) і програма створення образу диска, наприклад ImageX (8 слайд), яка копіює образ ОС безпосередньо на жорсткий диск без втручання користувача;

5) віддалене встановлення — ОС завантажується по мережі.

ВСТАНОВЛЕННЯ ЗА ДОПОМОГОЮ PXE

Виконується таким же способом, як і мережева установка. Єдина відмінність полягає в тому, що при установці за допомогою PXE (9 слайд) замість завантажувального диска використовується завантажувальний файл PXE.

АВТОМАТИЧНЕ ВСТАНОВЛЕННЯ WINDOWS 7

Автоматична установка за допомогою файлу відповідей unattend.txt
(10 слайд) або файлу autounattend.xml (10 слайд) є найбільш простим альтернативним способом установки по мережі.

ВСТАНОВЛЕННЯ НА ОСНОВІ ОБРАЗУ

При виконанні установок на основі образу спочатку слід повністю настроїти для роботи один комп'ютер. Після цього запустити Sysprep
(12 слайд), щоб підготувати систему до створення образу. Застосування для створення образу диску стороннього постачальника готує образ налагодженого комп'ютера, який можна записати на диск. Потім можна скопіювати образ на комп'ютери з сумісними рівнями устаткування (HAL) (13 слайд) для виконання установки на декілька комп'ютерів.



ВІДДАЛЕНЕ ВСТАНОВЛЕННЯ

(ПМ) Завдяки використанню служби віддаленої установки (RIS) (14) цей процес схожий з установкою на основі образу, за винятком того, що в ньому не використовується службова програма створення образу диска. В якості джерела файлів ОС Windows (15 слайд) використовується мережева загальна тека служби віддаленої установки. Операційні системи можна встановлювати на клієнтські комп'ютери з можливістю віддаленого завантаження.



А Т Е С Т А Ц І Я 4

































ЛЕКЦІЯ 20

Тема: "ПРОЦЕСИ В ОПЕРАЦІЙНИХ СИСТЕМАХ"

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

МОДЕЛЬ ПРОЦЕСУ

Все виконуване на комп'ютері програмне забезпечення, іноді включаючи операційну систему, зведене до ряду послідовних процесів. (М)Процес - це екземпляр виконуваної програми, включаючи поточні значення лічильника команд, регістрів та змінних(М).

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

Рисунок 12 - Чотири програми, працюючі у багатозадачному режимі (а). Концептуальна мо­дель чотирьох незалежних один від одного послідовних процесів (б). У окремо взятий момент часу активна тільки одна програма (в). (1 слайд)

На рисунку 12 а) показаний комп'ютер, який працює у багатозадачному режимі і має в пам'яті чотири програми.

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

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

РЕАЛІЗАЦІЯ ПРОЦЕСІВ

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

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


























ЛЕКЦІЯ 21

Тема: "ПОТОКИ В ОПЕРАЦІЙНИХ СИСТЕМАХ. КЛАСИЧНА МОДЕЛЬ ПОТОКІВ"

КЛАСИЧНА МОДЕЛЬ ПОТОКІВ

(М)Модель процесу заснована на двох не­залежних поняттях: групуванні ресурсів і їх виконанні(М).

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

Інше властиве процесу поняття - потік виконання.

(М)Потоки додають до моделі процесу можливість реалізації декількох, великою мірою незалежних один від одного, виконуваних завдань в єдиному середовищі процесу(М). Наявність декількох потоків, що виконуються паралельно у рамках одного процесу, є аналогією наявності декількох процесів, що виконуються паралельно на одному комп'ютері.

а) б)

Рисунок 14 - Три процеси, у кожного з яких по одному потоку (а). Один процес з трьома потоками (б) (3 слайд)


На рисунку 14 а) показано три процеси. У кожного з них є свій власний адресний простір і єдиний потік управління. На рисунку 14 б) показаний один процес, який має три потоки управ­ління. Хоча в обох випадках у нас є три потоки, на рисунку 14 а) кожен з них працює у власному адресному просторі, а на рисунку 14 б) усі три потоки використовують загальний адресний простір.

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

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





























ЛЕКЦІЯ 22

Тема: "ПОТОКИ В ОПЕРАЦІЙНИХ СИСТЕМАХ. РЕАЛІЗАЦІЯ ПОТОКІВ. ПЛАНУВАННЯ "

РЕАЛІЗАЦІЯ ПОТОКІВ В ПРОСТОРІ КОРИСТУВАЧА

(М)Є два основні способи реалізації набору потоків: в просторі користувача і в ядрі(М).

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

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

Рисунок 15 - Набір потоків на рівні користувача (1 слайд)


Основний недолік - складність реалізації блокуючих системних викликів.

РЕАЛІЗАЦІЯ ПОТОКІВ В ЯДРІ

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

Рисунок 16 - Набір потоків, керований ядром (2 слайд)


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

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

Для потоків, реалізованих на рівні ядра, не потрібно ніяких нових, неблокуючих системних викликів. Головний недолік цих потоків полягає в дуже істотних витратах часу на системний ви­клик.

ПЛАНУВАННЯ

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

КАТЕГОРІЇ АЛГОРИТМІВ ПЛАНУВАННЯ

В різних умовах потрібні різні алгоритми планування. Це обумовлено тим, що є різні сфери застосування призначені для вирішення різних завдань. Іншими словами, предмет оптимізації для планувальника не може співпадати в усіх системах. (М)При цьому варто розрізняти три середовища:

  1. пакетне;

  2. інтерактивне;

  3. реального часу.(М)

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

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

У системах, обмежених умовами реального часу, пріоритетність іноді не потрібна, оскільки процеси знають, що вони можуть за­пускатися тільки на нетривалі періоди часу, і часто виконують свою роботу досить швидко, а потім блокуються. На відміну від інтерактивних систем в системах реального часу запускаються лише ті програми, які призначені для сприяння певному прикладному завданню.

ЗАВДАННЯ АЛГОРИТМІВ ПЛАНУВАННЯ

  • (м)Пакетні системи(М)

Продуктивність - виконання максимальної кількості завдань за годину

Оборотній час - мінімізація часу між представленням завдання і його завершенням.

Використання центрального процесора - підтримка постійного завантаження процесора.

  • (М)Інтерактивні системи(М)

Час відгуку - швидка відповідь на запити.

Пропорційність - виправдання призначених для користувача надій.

  • (М)Системи реального часу(М)

Дотримання граничних термінів - запобігання втраті даних.

Передбачуваність - запобігання погіршенню якості в мультимедійних системах.





ЛЕКЦІЯ 23

Тема: "УПРАВЛІННЯ ПАМ’ЯТЮ. СВОПІНГ. ВІРТУАЛЬНА ПАМ'ЯТЬ"


Пам'ять є дуже важливим ресурсом, що вимагає чіткого управління.

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

(М)Та частина ОС, яка управляє ієрархією пам'яті називається менеджером пам'яті або диспетчером пам'яті(М).

ПОНЯТТЯ АДРЕСНОГО ПРОСТОРУ

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

Поняття адресного простору має дуже універсальний характер.

Адресний простір не обов'язково має бути числовим. Набір
Інтернет - доменів «.com» також є адресним простором.

СВОПІНГ

Якщо у комп'ютера достатній об'єм пам'яті для розміщення усіх процесів, то все працює злагоджено. Але на практиці сумарний об'єм оперативної пам'яті, необхідний для розміщення усіх процесів, часто значно перевищує наявний об'єм ОЗП.

(М)З роками для подолання перевантаження пам'яті були вироблені два основні підходи – стопінг і віртуальна пам’ять(М). Найпростіший з них, званий свопінгом, полягає в разміще­ні в пам'яті усього процесу цілком, в запуску його на деякий час, а потім в скиданні його на диск. Бездіяльні процеси велику частину часу зберігаються на диску і в неробочому стані не займають простір ОЗП. Другий підхід називається вірту­альною пам’ятю, вона дозволяє програмам запускатися навіть у тому випадку, якщо вони знаходяться в ОЗП лише частково.

ВІРТУАЛЬНА ПАМ'ЯТЬ

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

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

СТОРІНКОВА ОРГАНІЗАЦІЯ ПАМ'ЯТІ

(М)Більшість систем віртуальної пам'яті використовують технологію під назвою сторінкова організація пам'яті (paging)(М). (3 слайд)

На комп'ютерах, що не використовують віртуальну пам'ять, віртуальні адреси виставляються безпосередньо на шині пам'яті, що призводить до зчитування або запису слова фізичної пам'яті з такою ж адресою. (М)Віртуальний адресний простір поділений на блоки фіксованого розміру – сторінки(М). При використанні віртуальної пам'яті віртуальні адреси не виставляються безпосередньо на шині пам'яті. Замість цього вони поступають до (М)диспетчеру пам'яті (MMU, Memory ManagementUnit)(М) (4,5 слайд), який від­ображає віртуальні адреси на адреси фізичної пам'яті, як показано на рисунку 18.

Рисунок 18 - Розташування і призначення диспетчера пам'яті (MMU). Тут диспетчер пам'яті показаний у складі мікросхеми центрального процесора, як це найчастіше і буває в наші дні. Але логічно він може розміщуватися і в окремій мікросхемі, як це було у минулому (6 слайд)































ЛЕКЦІЯ 24

Тема: "ПРЯМИЙ ДОСТУП ДО ПАМ'ЯТІ (DMA)"



ПРЯМИЙ ДОСТУП ДО ПАМ'ЯТІ (DMA)

Незалежно від наявності або відсутності у центрального процесора
введення-виведення, що відображається на простір пам'яті, йому необхідно звертатися до контроллерів пристроїв, щоб здійснювати з ними обмін даними. Центральний про­цессор може просити дані у контроллера введення-виводу побайтно, але при цьому нераціонально витрачатиметься його робочий час, тому найчастіше використовується інша схема,
яка називається прямим доступом до пам'яті, - (М)DMA (Direct Memory Access)(М). (1,2 слайд)

Операційна система може використовувати DMA тільки за наявності апаратного DMA - контроллера, присутнього у біль­шості систем. Іноді цей контроллер вбудований в контроллери дисків і інші контроллери, але така конструкція вимагає окремого DMA -контроллера для кожного пристрою.

На рисунку 19 показано, що де б DMA - контроллер не знаходився фізично, він має доступ до системної шини незалежно від центрального процесора. У ньому є декілька регістрів, доступних центральному процесору для зчитування та запису. До їх числа входять регістр адреси пам'яті, регістр лічильника байтів і один або декілька регістрів управління. У регістрах управління вказується використовуваний порт введення-виводу, напрям передачі даних (зчитування з пристрою введення-виводу або запис в нього), одиниця передаваної інформації (побайтова або послівна передача), а також кількість байт, передаваних в одному пакеті.

Рисунок 19 - Операції, здійснювані при передачі даних з використанням DMA (3 слайд)



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

При використанні DMA усе відбувається по - іншому. Спочатку центральний процесор програмує DMА - контроллер, встановлюючи значення його регістрів так, щоб він знав, що і куди треба передати (крок 1 на рисунку 26). Він також видає команду контроллеру диска на зчитування даних з диска у вну­трішній буфер контроллера і на перевірку контрольної суми. Після того, як у буфері контроллера опиняться достовірні дані, до роботи може приступати DMA. DМА - контроллер ініціює передачу даних, видаючи по шині контроллеру диска запит на зчитування (крок 2).

Цей запит на зчитування виглядає так само, як і будь-який інший запит на зчитування, і контроллер диска не знає, від­куди він прийшов - від центрального процесора або від DMA - контроллера. Зазвичай адреса пам'яті, куди треба вести запис, виставлена на адресних лініях шини, тому, коли контроллер диска витягає чергове слово зі свого внутрішнього буфера, він знає, куди його слід записати. Запис в пам'ять - це ще один стан­дартний цикл шини (крок 3). Коли запис завершується, контроллер диска також по шині посилає підтверджувальний сигнал DMA - контроллеру (крок 4). Потім DMA -контроллер дає приріст використовуваній адресі пам'яті і зменшує значення лічильника байтів. Якщо лічильник байтів все ще більше нуля, то кроки з 2-го по 4-ій повторюються до тих пір, поки значення лічильника не дорівнюватиме нулю. Як тільки це станеться, DMA - контроллер виставляє переривання, щоб центральний процесор дізнався про завершення передачі даних. І коли до роботи приступає операційна система, їй вже не треба копіювати дисковий блок в пам'ять, тому що він вже там.

Контроллер DMA описаний вище, обслуговує одночасно тільки одну операцію передачі даних, тому відноситься до найпростішого виду DMA - контроллеров. Складніші контроллери можуть бути запро­грамовані на одночасну обробку декількох таких операцій.






























ЛЕКЦІЯ 25

Тема: "ПЕРЕРИВАННЯ"


ПЕРЕРИВАННЯ

У типовій персональній комп'ютерній системі присутня структура переривань, показана на рисунку 20.

Рисунок 20 - Порядок виникнення переривання (4 слайд)


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

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

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

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

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