Основи програмування

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Операційні системи
1. Функції та завдання ОС
Операційна система (ОС), будучи основою загальносистемного ПЗ, забезпечує функціонування та взаємозв'язок всіх компонентів комп'ютера і надає користувачеві доступ до його апаратних можливостей.
ОС - це набір програм, який забезпечує організацію обчислювального процесу на ЕОМ.
Основні завдання:
1) збільшення пропускної здатності ЕОМ (за рахунок організації безперервної обробки потоку завдань з автоматичним переходом від однієї задачі до іншої і ефективного розподілу ресурсів ЕОМ з кількох завдань);
2) зменшення часу реакції системи на запити користувачами відповідей від ЕОМ;
3) спрощення роботи розробників програмних засобів і співробітників обслуговуючого персоналу ЕОМ (за рахунок надання їм значної кількості мов програмування і різноманітних сервісних програм).
Функції ОС:
1) управління даними;
2) управління завданнями (завданнями, процесами);
3) зв'язок з людиною-оператором. У різних ОС ці функції реалізуються в різних масштабах і з допомогою різних технічних, програмних, інформаційних методів і засобів.
2. Однорангові мережні ОС
У однорангових мережах всі комп'ютери рівні в правах доступу до ресурсів один одного. Кожен користувач може за своїм бажанням оголосити який-небудь ресурс свого комп'ютера розділяються, після чого інші користувачі можуть його експлуатувати. У таких мережах на всіх комп'ютерах встановлюється одна і та ж ОС, яка надає всім комп'ютерам в мережі потенційно рівні можливості. Однорангові мережі можуть бути побудовані, наприклад, на базі ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation.
У однорангових мережах також може виникнути функціональна несиметричність: одні користувачі не бажають розділяти свої ресурси з іншими, і в такому випадку їхні комп'ютери виконують роль клієнта, за іншими комп'ютерами адміністратор закріпив тільки функції щодо організації спільного використання ресурсів, а значить, вони є серверами, в третьому випадку, коли локальний користувач не заперечує проти використання його ресурсів і сам не виключає можливості звернення до інших комп'ютерів, ОС, що встановлюється на його комп'ютері, повинна включати і серверну, і клієнтську частини. На відміну від мереж з виділеними серверами, у тимчасових мережах відсутній спеціалізація ОС в залежності від переважної функціональної спрямованості - клієнта чи сервера. Всі варіації реалізуються засобами конфігурації одного і того ж варіанти ОС. Однорангові мережі простіше в організації та експлуатації, проте, вони застосовуються в основному для об'єднання невеликих груп користувачів, що не пред'являють великих вимог до обсягів збереженої інформації, її захищеності від несанкціонованого доступу і до швидкості доступу. При підвищених вимогах до цих характеристик більш придатними є двухранговие мережі, де сервер краще вирішує задачу обслуговування користувачів своїми ресурсами, так як його апаратура і мережна операційна система спеціально спроектовані для цієї мети.
3. Поняття процесу
Основними поняттями управління проходженням завдань в ЕОМ є процес, завдання, робота, програма, ресурс і т.д.
Процес - мінімальний програмний об'єкт, що володіє власними системними ресурсами (запущена програма). Це програмний модуль, що виконується в центральному процесорі (CPU).
Процесор - будь-який пристрій у складі ЕОМ, здатне автоматично виконувати допустимі для нього дії (процесори, канали і пристрої, що працюють з каналами).
Класифікація процесів:
1) за часовими характеристиками розрізняють:
- Інтерактивні;
- Пакетні;
- Реального часу.
2) по генеалогічному ознакою розрізняють:
- Породжують;
- Породжені.
3) за результативності розрізняють:
- Еквівалентні;
- Тотожні;
- Рівні.
4) за часом розвитку діляться:
- Послідовні;
- Паралельні;
- Комбіновані.
5) за місцем розвитку:
- Зовнішні;
- Внутрішні.
6) за належністю до ОС:
- Системні;
- Призначені для користувача.
7) по зв'язності розрізняють:
- Взаємопов'язані;
- Ізольовані;
- Інформаційно незалежні;
- Взаємодіючі;
- Взаємопов'язані по ресурсах;
- Конкуруючі.
Порядок взаємозв'язку процесів визначається правилами синхронізації.
Процеси можуть знаходитися у відношенні:
- Передування;
- Пріоритетності;
- Взаємного виключення.
Не слід змішувати поняття процесу і програми. Програма - це план дій, а процес - це сама дія, тому поняття процесу включає в себе:
- Програмний код;
- Дані;
- Вміст стека;
вміст адресного та інших регістрів процесора.
Кожен процес представлений в ОС набором даних, званих таблиця управління процесом (PCB - process control block). У PCB процес описується набором значень, параметрів, що характеризують його поточний стан і використовуваних ОС для управління проходженням процесу через комп'ютер.
4. Планування процесорів
Стратегії планування процесора:
1. Перший прийшов - перший обслуговується - first come - First served (FCFS). FCFS є найбільш простий стратегією планування процесів і полягає в тому, що процесор передається тому процесу, який раніше за всіх інших його запросив.
Коли процес потрапляє в чергу готових процесів, УТП (PSB) приєднується до хвоста черги.
Середній час очікування для стратегії FCFS часто дуже велика і залежить від порядку надходження процесів в чергу готових процесів.
Стратегії FCFS притаманний так званий «ефект конвою». У тому випадку, коли у комп'ютері є один великий процес і кілька малих, то всі процеси збираються на початку черги готових процесів, а потім у черзі до обладнання. Таким чином, він призводить до зниження завантаженості як процесора, таки периферійного обладнання.
2. Стратегія «найбільш коротка робота виконується першою» SJF - Shortest Job First. Одним з методів боротьби з «ефектом конвою» є стратегія, що дозволяє процесу з черги виконуватися першим.
5. Файлові таблиці FAT 16, FAT 32
Файл - область пам'яті, виділена для зберігання масиву даних. У файлах можуть зберігатися програми на алгоритмічних або машинних мовах. Вихідні дані для роботи програм і результати і результати заповнення програм, тексти та графічні зображення. В даний час в ОС для ПК використовуються десятки файлових систем. У файловій системі MS-DOS використовуються:
- FAT16;
- FAT32;
- FAT12 (для дискет).
FAT - це таблиця розміщення файлів, тобто у кожного файлу є свій адресу, яка записана в цю таблицю.
FAT16 - на запис адреси відводиться 16 біт. З їх допомогою можна висловити лютому 1916 = 65536 різних адрес. Якщо розмір диска 2 Гб., То на кожну адресу припадає 32 Кб.
Якщо ж 2,5 Гб., То тоді на кожну адресу доводиться більше 64 Кб, але це не допустимо.
FAT32 - для цієї таблиці розміри кластерів наступні:
Обсяг диска;
Розмір кластера;
До 8 Гб;
8 - 16 Гб;
16 - 32 Гб;
понад 32 Гб;
4 Кб;
8 Кб;
16 Кб;
32 Кб.
Кластери видаються одному файлу в будь-якому вільному місці дискової пам'яті і не обов'язково є суміжними. Файли зберігаються в розкиданих по диску кластерах називаються фрагментованими.
6. Основні властивості файлів
Файли бувають різних типів: звичайні файли, спеціальні файли, файли-каталоги.
Звичайні файли в свою чергу поділяються на текстові та виконавчі. Текстові файли складаються з рядків символів, представлених в ASCII-коді. Це можуть бути документи, вихідні тексти програм і т.п. Текстові файли можна прочитати на екрані і роздрукувати на принтері. Двійкові файли не використовують ASCII-коди, вони часто мають складну внутрішню структуру, наприклад, об'єктний код програми або архівний файл. Всі операційні системи повинні вміти розпізнавати хоча б один тип файлів - їх власні виконавчі файли.
Спеціальні файли - це файли, асоційовані з пристроями введення-виведення, які дозволяють користувачеві виконувати операції введення-виведення, використовуючи звичайні команди запису у файл або читання з файлу. Ці команди обробляються спочатку програмами файлової системи, а потім на деякому етапі виконання запиту перетворюються ОС в команди управління відповідним пристроєм. Спеціальні файли, так само як і пристрої введення-виведення, діляться на блок-орієнтовані і байт-орієнтовані.
Каталог - це, з одного боку, група файлів, об'єднаних користувачем виходячи з деяких міркувань (наприклад, файли, що містять програми ігор, або файли, що складають один програмний пакет), а з іншого боку - це файл, що містить системну інформацію про групу файлів, його складових. У каталозі міститься список файлів, що входять до нього, і встановлюється відповідність між файлами і їх характеристиками (атрибутами).
У різних файлових системах можуть використовуватися в якості атрибутів різні характеристики, наприклад:
- Інформація про дозволений доступ;
- Пароль для доступу до файлу;
- Власник файлу;
- Творець файлу;
- Ознака "тільки для читання";
- Ознака "прихований файл";
- Ознака "системний файл";
- Ознака "архівний файл";
- Ознака "двійковий / символьний";
- Ознака "тимчасовий" (видалити після завершення процесу);
- Ознака блокування;
- Довжина запису;
- Покажчик на ключове поле в запису;
- Довжина ключа;
- Часи створення, останнього доступу і останньої зміни;
- Поточний розмір файлу;
- Максимальний розмір файлу.
Каталоги можуть безпосередньо містити значення характеристик файлів, як це зроблено у файловій системі MS-DOS, або посилатися на таблиці, що містять ці характеристики, як це реалізовано в ОС UNIX (рисунок 2.31). Каталоги можуть утворювати ієрархічну структуру за рахунок того, що каталогу більш низького рівня може входити до каталогу більш високого рівня
7. Тенденції в структурній побудові ОС
Для задоволення вимог, що висуваються до сучасної ОС, велике значення має її структурну побудову. Операційні системи пройшли тривалий шлях розвитку від монолітних систем до добре структурованим модульним системам, здатним до розвитку, розширення та легкому перенесення на нові платформи.
Монолітні системи
У загальному випадку "структура" монолітної системи являє собою відсутність структури. ОС написана як набір процедур, кожна з яких може викликати інші, коли їй це потрібно. При використанні цієї техніки кожна процедура системи має добре певний інтерфейс в термінах параметрів і результатів, і кожна вільна викликати будь-яку іншу для виконання деякої потрібної для неї корисної роботи.
Для побудови монолітної системи необхідно скомпілювати всі окремі процедури, а потім зв'язати їх разом в єдиний об'єктний файл за допомогою компонувальника (прикладами можуть служити ранні версії ядра UNIX або Novell NetWare). Кожна процедура бачить будь-яку іншу процедуру (на відміну від структури, що містить модулі, в якій велика частина інформації є локальною для модуля, і процедури модуля можна викликати тільки через спеціально визначені точки входу).
Багаторівневі системи
Узагальненням попереднього підходу є організація ОС як ієрархії рівнів. Рівні утворюються групами функцій операційної системи - файлова система, управління процесами і пристроями і т.п. Кожен рівень може взаємодіяти тільки зі своїм безпосереднім сусідом - вище-або нижчого рівня рівнем. Прикладні програми або модулі самої операційної системи передають запити вгору і вниз по цих рівнів.
Першою системою, побудованої таким чином була проста пакетна система THE, яку побудував Дейкстра і його студенти в 1968 році. Система мала 6 рівнів. Рівень 0 займався розподілом часу процесора, перемикаючи процеси по перериванню або після закінчення часу. Рівень 1 управляв пам'яттю - розподіляв оперативну пам'ять і простір на магнітному барабані для тих частин процесів (сторінок), для яких не було місця в ОП, тобто шар 1 виконував функції віртуальної пам'яті. Шар 2 керував зв'язком між консоллю оператора і процесами. За допомогою цього рівня кожен процес мав свою власну консоль оператора. Рівень 3 керував пристроями введення-виведення і буферизованная потоки інформації до них і від них. За допомогою рівня 3 кожен процес замість того, щоб працювати з конкретними пристроями, з їх різноманітними особливостями, звертався до абстрактних пристроїв введення-виведення, що володіє зручними для користувача характеристиками. На рівні 4 працювали для користувача програми, яким не треба було дбати ні про процеси, ні про пам'ять, ні про консолі, ні про управління пристроями введення-виведення. Процес системного оператора розміщувався на рівні 5.
У системі THE багаторівнева схема служила, в основному, цілям розробки, так як всі частини системи установлювалися потім у загальний об'єктний модуль. Подальше узагальнення багаторівневої концепції було зроблено в ОС MULTICS. У системі MULTICS кожен рівень (званий кільцем) є більш привілейованим, ніж вищерозміщений. Коли процедура верхнього рівня хоче викликати процедуру нижчого, вона повинна виконати відповідний системний виклик, тобто команду TRAP (переривання), параметри якої ретельно перевіряються перед тим, як виконується виклик. Хоча ОС в MULTICS є частиною адресного простору кожного користувача процесу, апаратура забезпечує захист даних на рівні сегментів пам'яті, дозволяючи, наприклад, доступ до одних сегментах тільки для запису, а до інших - для читання чи виконання. Перевага підходу MULTICS полягає в тому, що він може бути розширений і на структуру для користувача підсистем. Наприклад, професор може написати програму для тестування та оцінки студентських програм і запустити цю програму на рівні n, в той час як студентські програми будуть працювати на рівні n +1, так що вони не зможуть змінити свої оцінки. Багаторівневий підхід був також використаний при реалізації різних варіантів ОС UNIX. Хоча такий структурний підхід на практиці зазвичай працював непогано, сьогодні він все більше сприймається монолітним. Модель клієнт-сервер Модель клієнт-сервер - це ще один підхід до структурування ОС. У широкому сенсі модель клієнт-сервер передбачає наявність програмного компонента - споживача будь-якого сервісу - клієнта, і програмного компонента - постачальника цього сервісу - сервера. Взаємодія між клієнтом і сервером стандартизується, так що сервер може обслуговувати клієнтів, реалізованих різними способами і, може бути, різними виробниками. При цьому головною вимогою є те, щоб вони запитували послуги сервера зрозумілим йому способом. Ініціатором обміну зазвичай є клієнт, який надсилає запит на обслуговування серверу, що знаходиться в стані очікування запиту. Один і той же програмний компонент може бути клієнтом по відношенню до одного виду послуг, і сервером для іншого виду послуг. Модель клієнт-сервер є скоріше зручним концептуальним засобом ясного подання функцій того чи іншого програмного елемента в тій чи іншій ситуації, ніж технологією. Ця модель успішно застосовується не тільки при побудові ОС, але і на всіх рівнях програмного забезпечення, і має в деяких випадках більш вузький, специфічний зміст, зберігаючи, природно, при цьому всі свої загальні риси. Стосовно до структурування ОС ідея полягає в розбитті її на кілька процесів - серверів, кожен з яких виконує окремий набір сервісних функцій - наприклад, управління пам'яттю, створення або планування процесів. Кожен сервер виконується в режимі користувача. Клієнт, яким може бути або інший компонент ОС, або прикладна програма, запитує сервіс, посилаючи повідомлення на сервер. Ядро ОС (зване тут мікроядром), працюючи в привілейованому режимі, доставляє повідомлення потрібного сервера, сервер виконує операцію, після чого ядро ​​повертає результати клієнту за допомогою іншого повідомлення.
8. Структура та основні компоненти обчислювальної системи
З моменту появи перших систем було випробувано велику кількість різноманітних структур систем, що відрізняються один від одного різними технічними рішеннями. Практика показала, що кожна структура НД ефективно обробляє лише задачі певного класу. При цьому необхідно щоб структура НД максимально відповідала структурі вирішуваних завдань. Тільки в цьому випадку система забезпечує максимальну продуктивність.
Універсальної структури ЗС, однаково добре обробній завдання будь-якого типу, не існує.
Велика розмаїтість структур ВС ускладнює їх вивчення. Тому НД класифікують з урахуванням їх узагальнених характеристик. З цією метою вводиться поняття «Архітектура системи».
Архітектура ВС - сукупність характеристик і параметрів, що визначають функціонально-логічну і структурну організацію системи.
Оскільки НД з'явилися як паралельні системи, то й розглянемо класифікацію архітектур з цієї точки зору.
Ця класифікація архітектур була запропонована М. Флінном на початку 60-рр. в її основу закладено два можливих види паралелізму: незалежність потоків завдань (команд), які існують в системі, і незалежність (незв'язності) даних, що обробляються в кожному потоці. Класифікація до теперішнього часу ще не втратила свого значення.
Відповідно до цієї класифікації існує чотири основних архітектури ПС:
1) одиночний потік команд - одиночний потік даних (ОКОД);
2) одиночний потік команд - множинний потік даних (ОКМД);
3) множинний потік команд - одиночний потік даних (МКОД);
4) множинний потік команд - множинний потік даних (МКМД).
Архітектура ОКОД - охоплює всі однопроцесорні і одномашінние варіанти систем, тобто з одним обчислювачем. Всі ЕОМ класичної структури потрапляють у цей клас. Тут паралелізм обчислень забезпечується шляхом поєднання виконання операцій окремими блоками АЛП, а також паралельної роботи пристроїв введення-виведення інформації та процесора. Закономірності організації обчислювального процесу в цих структурах досить добре вивчені.
Архітектура ОКМД - припускає створення структур векторної або матричної обробки. Системи цього типу зазвичай будуються як однорідні, тобто процесорні, елементи, що входять в систему, ідентичні і всі вони підкоряються одній і тієї ж послідовністю команд. Проте кожен процесор обробляє свій потік даних. Під цю схему добре підходять завдання обробки матриць або векторів (масивів), завдання рішення систем лінійних і нелінійних, алгебраїчних і диференціальних рівнянь, задачі теорії поля і д.р. Архітектура МКОД - припускає побудову своєрідного процесорного конвеєра, в якому результати обробки передаються від одного процесора до іншого по ланцюжку. Прототипом таких обчислень може служити схема будь-якого виробничого конвеєра. У сучасних ЕОМ за цим принципом реалізована схема суміщення операцій, в якій паралельно працюють різні функціональні блоки, і кожен з них робить свою частину в загальному циклі обробки команди.
9. ОС з виділеними серверами
Якщо комп'ютер надає свої ресурси іншим користувачам мережі, то він грає роль сервера. При цьому комп'ютер, який звертається до ресурсів іншої машини, є клієнтом. Як вже було сказано, комп'ютер, що працює в мережі, може виконувати функції або клієнта, або сервера, або поєднувати обидві ці функції.
Якщо виконання будь-яких серверних функцій є основним призначенням комп'ютера (наприклад, надання файлів у спільне користування всім іншим користувачам мережі або організація спільного використання факсу, або надання всім користувачам мережі можливості запуску на комп'ютері своїх додатків), то такий комп'ютер називається виділеним сервером. У залежності від того, який ресурс сервера є розділяються, він називається файл-сервером, факс-сервером, принт-сервером, сервером додатків і т.д. Очевидно, що на виділених серверах бажано встановлювати ОС, спеціально оптимізовані для виконання тих чи інших серверних функцій. Тому в мережах з виділеними серверами найчастіше використовують мережні операційні системи, до складу яких входить декількох варіантів ОС, відмінних можливостями серверних частин. Наприклад, мережева ОС Novell NetWare має серверний варіант, оптимізований для роботи як файл-сервера, а також варіанти оболонок для робочих станцій з різними локальними ОС, причому ці оболонки виконують виключно функції клієнта. Іншим прикладом ОС, орієнтованої на побудову мережі з виділеним сервером, є операційна система Windows NT. На відміну від NetWare, обидва варіанти даної мережевої ОС - Windows NT Server (для виділеного сервера) і Windows NT Workstation (для робочої станції) - можуть підтримувати функції і клієнта і сервера. Але серверний варіант Windows NT має більше можливостей для надання ресурсів свого комп'ютера іншим користувачам мережі, так як може виконувати більш широкий набір функцій, підтримує більшу кількість одночасних з'єднань з клієнтами, реалізує централізоване управління мережею, має розвинені засоби захисту. Виділений сервер не прийнято використовувати в якості комп'ютера для виконання поточних завдань, не пов'язаних з його основним призначенням, так як це може зменшити продуктивність його роботи як сервера. У зв'язку з такими міркуваннями в ОС Novell NetWare на серверній частині можливість нормального виконання прикладних програм взагалі не передбачена, тобто сервер не містить клієнтської частини, а на робочих станціях відсутні серверні компоненти. Однак в інших мережевих ОС функціонування на виділеному сервері клієнтської частини цілком можливо. Наприклад, під управлінням Windows NT Server можуть запускатися звичайні програми локального користувача, які можуть зажадати виконання клієнтських функцій ОС при появі запитів до ресурсів інших комп'ютерів мережі. При цьому робочі станції, на яких встановлена ​​ОС Windows NT Workstation, можуть виконувати функції невиділеного сервера.
Незважаючи на те, що в мережі з виділеним сервером всі комп'ютери в загальному випадку можуть виконувати одночасно ролі і сервера, і клієнта, ця мережа функціонально не симетрична: апаратно та програмно в ній реалізовані два типи комп'ютерів - одні, більшою мірою орієнтовані на виконання серверних функцій і працюють під управлінням спеціалізованих серверних ОС, а інші - в основному виконують клієнтські функції та працюють під управлінням відповідного цьому призначенню варіанти ОС. Функціональна несиметричність, як правило, викликає і несиметричність апаратури - для виділених серверів використовуються більш потужні комп'ютери з великими обсягами оперативної і зовнішньої пам'яті. Таким чином, функціональна несиметричність в мережах з виділеним сервером супроводжується несиметричністю операційних систем (спеціалізація ОС) і апаратної несиметричністю (спеціалізація комп'ютерів).
10. Взаємодія процесів
Спільно виконувані процеси можуть бути або незалежними або взаємодіючими. Взаємодія процесів розуміється в сенсі взаємного обміну даними через загальний буфер даних.
Взаємодія процесів зручно розглядати у схемі виробник-споживач. Наприклад, програма виведення на друк виробляє послідовність символів, які споживаються драйвером принтера, або компілятор виробляє асемблерний текст, який потім споживається асемблером.
Для взаємодії процесу-виробника та процесу-споживача створюється спільний буфер заповнюється процесом-виробником і споживаним процесом споживача.
Буфер має фіксовані розміри і, отже, процеси можуть знаходиться в стані очікування, коли:
- Буфер заповнений - очікує процес-виробник;
- Буфер порожній - очікує процес-споживач.
Буфер може надаватися і підтримуватися самою ОС, наприклад, за допомогою засобів міжпроцесної комунікації, або повинен бути організований прикладним програмістом. При цьому обидва процеси використовують спільну ділянку пам'яті.
Взаємодія полягає у передачі даних між процесами або спільне використання деяких ресурсів і зазвичай реалізується за допомогою таких механізмів, як транспортери, черги, сигнали, семафори.
Транспортери (канали). З'являються засобом взаємодії споріднених процесів, представляють собою область пам'яті має файлову організацію, для якої забезпечується запис і зчитування даних в транспортери. Реалізується чергу обслуговування. Порядок запису даних на транспортер не змінений, не допускається повторне зчитування даних. Обмін даними відбувається не безпосередньо, а через транспортер. З викликав процесу задається розмір транспортера. Дочірні процеси можуть використовувати батьківський транспортер.
Черги. Ці механізми можуть забезпечувати передачу або використання спільних даних без переміщення даних, а з передачею елемента черги, який містить покажчик даних і обсяг масиву даних. Черга використовується разом з механізмом спільної пам'яті.
Елемент черги може бути лічений зі знищенням або без знищення цього елемента. Читання елемента може здійснюватися відповідно до механізму черги або стека. Читання елементів черги здійснює тільки створює черги процес, всі інші процеси можуть тільки записати елемент в чергу. Створює процес може виконувати наступні дії над чергою:
- Створення черги;
- Перегляд черги;
- Читання черзі;
- Закриття черги.
Записуючий процес здійснює дії:
- Відкрити чергу;
- Записати в чергу;
- Закрити в чергу.
Ім'я черги, що присвоюється створює процесам має вигляд повної специфікації файлу. Очікування елементів у черзі організовується за допомогою семафора, що сигналізує про запис елемента в чергу. Для роботи з чергою визначені такі додаткові функції:
-Визначення кількості елементів у черзі в поточний момент;
- Очищення черги створив її процесом.
Перевага черги: передача даних за вказівником без копіювання, гнучке зміна порядку передачі і доступу, можливість перегляду елементів черги без їх видалення.
Тони. Сигнал є механізмом передачі вимоги одного процесу до іншого на негайне виконання дії.
Обробник сигналу створюється процесом і поміщається на початку першого потоку процесу. Є аналогом обробки переривання. При передачі управління обробнику передається адреса повернення і тип прийнятого сигналу. Процес, який посилає сигнал типу прапор, може передати додаткову інформацію обробнику сигнала. Характер виконуваних дій при виникненні сигналу: обробка системної помилки при появі сигналу, блокування сигналу, передача управління підпрограмі.
Семафори. Є механізмами передачі повідомлень від одного потоку до іншого про настання деякої події розрізняють семафори системні і ОП. Семафори ОП - подвійне слово в пам'яті системи, його описувач - адреса місця в пам'яті. Такі семафори не створюються і не відкриваються, а встановлюються в певний стан. Процеси, що використовують семафори ОП, повинні мати доступ до відповідного сегменту пам'яті. ОС такі семафори не обслуговує і не повідомляє про їх звільнення і захопленні. При створенні семафора або його відкритті повертається описувач семафора, що включає його ім'я. ОС контролює завершення кожного процесу, що володіє системним семафором, і звільняє його для процесів.
Якщо семафор вільний, то він захоплюється викликають його процесом, якщо семафор зайнятий, то викликав його потік переходить в режим очікування звільнення семафора або чекає закінчення часу. Якщо семафор звільняється усіма використовують його процесами, то він видаляється з системи.
Управління семафором реалізується за допомогою функцій:
- Установки семафора з метою сигналізації;
- Очікування викликають потоком, поки семафор не буде виключений;
очікування потоком виключення потоком одного з декількох семафорів.
11. Об'єктно-орієнтований підхід
Для користувачів Windows об'єктно-орієнтований підхід проявляється при роботі з програмами, що використовують технологію OLE фірми Microsoft. У першій версії OLE, яка дебютувала в Windows 3.1, користувачі могли вставляти об'єкти в документи-клієнти. Такі об'єкти встановлювали посилання на дані (у разі зв'язування) або містили дані (у разі впровадження) у форматі, розпізнається програмою-сервером. Для запуску програми-сервера користувачі робили подвійне клацання на об'єкті, за допомогою чого передавали дані серверу для редагування. OLE 2.0, доступна в даний час як розширення Windows 3.1, перевизначає документ-клієнт як контейнер. Коли користувач клацає двічі над об'єктом OLE 2.0, вставленим в документ-контейнер, він активізується в тому ж самому місці. Уявімо, наприклад, що контейнером є документ Microsoft Word 6.0, а вставлений об'єкт являє собою набір осередків у форматі Excel 5.0. Коли ви клацнете двічі над об'єктом електронної таблиці, меню і керуючі елементи Word як за помахом чарівної палички поміняються на меню Excel. У результаті, поки об'єкт електронної таблиці знаходиться у фокусі, текстовий процесор стає електронною таблицею.
Інфраструктура, необхідна для забезпечення таких складних взаємодій об'єктів, настільки велика, що Microsoft називає OLE 2.0 "1 / 3 операційної системи". Зберігання об'єктів, наприклад, використовує docfile, який насправді є мініатюрною файловою системою, що міститься всередині звичайного файлу MS-DOS. Docfile має свої власні внутрішні механізми для семантики підкаталогів, блокувань і транзакцій (тобто фіксації-відкоту).
Найбільш помітний недолік OLE - відсутність мережевої підтримки, і це буде мати найвищий пріоритет при розробці майбутніх версій OLE. Наступна основна ітерація OLE з'явиться в розподіленій, об'єктної версії Windows, званої Cairo (Каїр), очікуваної в 1995 році.
Стандарт OpenDoc
Apple, спільно з WordPerfect, Novell, Sun, Xerox, Oracle, IBM і Taligent, відомими разом як Component Integration Laboratory (Лабораторія по об'єднанню компонентів), також займається архітектурою об'єктно-орієнтованих складових документів, званої OpenDoc. Створюваний для роботи на різних платформах, цей проект значно відстає за рівнем готовності від OLE 2.0.
Ключовими технологіями OpenDoc є механізм зберігання Бенто (названий так на честь японської тарілки з відділеннями для різної їжі), технологія сценаріїв (scripting), запозичена в значній мірі з AppleSript, і SOM фірми IBM. У Бенто-документі кожен об'єкт має постійний ідентифікатор, що переміщається разом з ним від системи до системи. Зберігання не тільки є транзакційних, як в OLE, але і дозволяє тримати і відслідковувати численні редакції кожного об'єкта. Якщо є кілька редакцій документа, то реально зберігатися будуть тільки зміни від однієї редакції до іншої. Верхня межа числа зберігаються редакцій буде визначатися користувачем.
Команда Apple планує зробити OpenDoc сумісним з Microsoft OLE. Якщо план завершиться успіхом, система OpenDoc зможе оточувати об'єкти OLE шаром програм трансляції повідомлень. Контейнер OpenDoc буде бачити вбудований об'єкт OLE як об'єкт OpenDoc, а об'єкт OLE буде представляти свій контейнер, як контейнер OLE. Стверджується, що буде допустима також і зворотна трансляція за цим сценарієм, коли об'єкти OpenDoc функціонують у контейнерах OLE. Шар трансляції розробляється WordPerfect за допомогою Borland, Claris, Lotus та інших.
В основі OLE і OpenDoc лежать дві конкуруючі об'єктні моделі: Microsoft COM (Component Object Model - компонентна об'єктна модель) і IBM SOM. Кожна визначає протоколи, використовувані об'єктами для взаємодії один з одним. Основна їх відмінність полягає в тому, що SOM нейтральна до мов програмування і підтримує спадкування, тоді як COM орієнтована на С + + і замість механізму успадкування використовує альтернативний механізм, який Microsoft називає агрегацією.
Сімейство CORBA
Hewlett-Packard, Sun Microsystems і DEC експериментують з об'єктами вже багато років. Тепер ці компанії і багато інших об'єдналися разом, заснувавши промислову коаліцію під назвою OMG (Object Management Group), що розробляє стандарти для обміну об'єктами. OMG CORBA (Common Object Request Broker Architecture - Загальна архітектура посередника обробки об'єктних запитів) закладає фундамент розподілених обчислень з стерпними об'єктами. CORBA задає спосіб пошуку об'єктами інших об'єктів і виклику їх методів. SOM узгоджується з CORBA. Якщо ви користуєтеся DSOM під OS / 2, ви зможете викликати CORBA-сумісні об'єкти, що працюють на HP, Sun та інших архітектурах. Чи означає це можливість редагувати об'єкт OpenDoc, зроблений на Macintosh, в документі-контейнері на RISC-робочої станції? Ймовірно, немає. CORBA може гарантувати тільки механізм нижнього рівня, за допомогою якого одні об'єкти викликають інші. Для успішної взаємодії потрібно також розуміння повідомлень один одного.
12. Можливості Windows NT
Windows NT Workstation, перш за все, може використовуватися як клієнт в мережах Windows NT Server, а також у мережах NetWare, UNIX, Vines. Вона може бути робочою станцією і в однорангових мережах, виконуючи одночасно функції і клієнта, і сервера. Windows NT Workstation може застосовуватися в якості ОС автономного комп'ютера при необхідності забезпечення підвищеної продуктивності, секретності, а також при реалізації складних графічних додатків, наприклад, в системах автоматизованого проектування.
Windows NT Server може бути використаний, насамперед, як сервер в корпоративній мережі. Тут вельми корисною виявляється його можливість виконувати функції контролера доменів, дозволяючи структурувати мережу і спрощувати задачі адміністрування і управління. Він використовується також як файл-сервера, принт-сервера, сервера додатків, сервера вилученого доступу і сервера зв'язку (шлюзу). Крім того, Windows NT Server може бути використаний як платформа для складних мережних додатків, особливо тих, які побудовані з використанням технології клієнт-сервер.
Так, під управлінням Windows NT Server може працювати сервер баз даних Microsoft SQL Server, а також сервери баз даних інших відомих фірм, такі як Oracle та Sybase, Adabas і InterBase.
На платформі Windows NT Server може бути встановлена ​​нова потужна система адміністрування Microsoft System Management Server, функцією якої є інвентаризація апаратної і програмної конфігурації комп'ютерів мережі, автоматична установка програмних продуктів на робочі станції, видалене управління будь-яким комп'ютером і моніторинг мережі.
Windows NT Server може використовуватися як сервер зв'язку з мейнфреймів. Для цього створено спеціальний продукт Microsoft SNA Server, що дозволяє легко об'єднати в одній мережі IBM PC-сумісні робочі станції і могутні мейнфрейми.
Нарешті, Windows NT Server є платформою для нового продуктивного поштового сервера Microsoft Exchange.
13. Класифікація ОС
Операційні системи можуть відрізнятися особливостями реалізації внутрішніх алгоритмів керування основними ресурсами комп'ютера (процесорами, пам'яттю, пристроями), особливостями використаних методів проектування, типами апаратних платформ, областями використання і багатьма іншими властивостями.
Класифікація за різними ознаками:

Особливості алгоритмів керування ресурсами

Від ефективності алгоритмів керування локальними ресурсами комп'ютера багато в чому залежить ефективність всієї мережевої ОС в цілому. Тому, характеризуючи мережну ОС, часто призводять найважливіші особливості реалізації функцій ОС з управління процесорами, пам'яттю, зовнішніми пристроями автономного комп'ютера. Так, наприклад, в залежності від особливостей використаного алгоритму керування процесором, операційні системи ділять на багатозадачні і однозадачние, розраховані на багато користувачів і однокористувацькі, на системи, що підтримують багатонитковою обробку і не підтримують її, на багатопроцесорні і однопроцесорні системи.
Підтримка багатозадачності. По числу одночасно виконуваних завдань операційні системи можуть бути розділені на два класи:
- Однозадачние (наприклад, MS-DOS, MSX);
- Багатозадачні (OC EC, OS / 2, UNIX, Windows 95).
Підтримка розрахованого на багато режиму. По числу одночасно працюючих користувачів ОС поділяються на:
- Однокористувацькі (MS-DOS, Windows 3.x, ранні версії OS / 2);
- Розраховані на багато (UNIX, Windows NT).
Витісняюча і невитесняющая багатозадачність. Найважливішим ресурсом є процесорний час. Спосіб розподілу процесорного часу між декількома одночасно існуючими в системі процесами (чи нитками) багато в чому визначає специфіку ОС. Серед безлічі існуючих варіантів реалізації багатозадачності можна виділити дві групи алгоритмів:
- Невитесняющая багатозадачність (NetWare, Windows 3.x);
- Витісняє багатозадачність (Windows NT, OS / 2, UNIX).
Підтримка багатонитковою. Важливою властивістю операційних систем є можливість розпаралелювання обчислень у рамках одного завдання. Багатонитковою ОС розділяє процесорний час не між завданнями, а між їх окремими гілками (нитками).
Багатопроцесорна обробка. Іншою важливою властивістю ОС є відсутність або наявність у ній засобів підтримки багатопроцесорної обробки - мультипроцессирования. Мультипроцессирования призводить до ускладнення всіх алгоритмів керування ресурсами.
Багатопроцесорні ОС можуть класифікуватися за способом організації обчислювального процесу в системі з багатопроцесорної архітектурою: асиметричні ОС і симетричні ОС. Асиметрична ОС цілком виконується тільки на одному з процесорів системи, розподіляючи прикладні завдання по іншим процесорам. Симетрична ОС повністю децентралізована і використовує весь пул процесорів, поділяючи їх між системними та прикладними завданнями.
14. ОС для робочих груп
Мережеві операційні системи мають різні властивості в залежності від того, призначені вони для мереж масштабу робочої групи (відділу), для мереж масштабу кампусу або для мереж масштабу підприємства.
- Мережі відділів - використовуються невеликою групою співробітників, які вирішують спільні завдання. Головною метою мережі відділу є розділення локальних ресурсів, таких як додатки, дані, лазерні принтери та модеми. Мережі відділів звичайно не розділяються на підмережі.
- Мережі кампусів - з'єднують декілька мереж відділів всередині окремої будівлі або всередині однієї території підприємства. Ці мережі є все ще локальними мережами, хоча і можуть покривати територію в кілька квадратних кілометрів. Сервіси такої мережі включають взаємодію між мережами відділів, доступ до баз даних підприємства, доступ до факс-серверів, високошвидкісних модемів і високошвидкісних принтерів.
- Мережі підприємства (корпоративні мережі) - об'єднують всі комп'ютери всіх територій окремого підприємства. Вони можуть покривати місто, регіон або навіть континент. У таких мережах користувачам надається доступ до інформації і додатків, що знаходяться в інших робочих групах, інших відділах, підрозділах і штаб-квартирах корпорації.
Головним завданням операційної системи, використовуваної в мережі масштабу відділу, є організація поділу ресурсів, таких як додатки, дані, лазерні принтери та, можливо, низькошвидкісні модеми. Зазвичай мережі відділів мають один або два файлових сервери і не більш ніж 30 користувачів. Завдання управління на рівні відділу відносно прості. У завдання адміністратора входить додавання нових користувачів, усунення простих відмов, інсталяція нових вузлів і установка нових версій програмного забезпечення. Операційні системи мереж відділів добре відпрацьовані і різноманітні, також, як і самі мережі відділів, вже давно застосовуються і досить налагоджені. Така мережа зазвичай використовує одну або максимум дві мережеві ОС. Найчастіше це мережа з виділеним сервером NetWare 3.x або Windows NT, або ж тимчасова мережа, наприклад мережу Windows for Workgroups.
Наступним кроком в еволюції мереж є об'єднання локальних мереж кількох відділів в єдину мережу будівлі або групи будівель. Такі мережі називають мережами кампусів. Мережі кампусів можуть тягнутися на кілька кілометрів, але при цьому глобальні з'єднання не потрібні.
Операційна система, що працює в мережі кампусу, повинна забезпечувати для співробітників одних відділів доступ до деяких файлів і ресурсів мереж інших відділів. Послуги, що надаються ОС мереж кампусів, не обмежуються простим розділенням файлів і принтерів, а часто надають доступ і до серверів інших типів, наприклад, до факс-серверів і до серверів високошвидкісних модемів. Важливим сервісом, наданих операційними системами даного класу, є доступ до корпоративних баз даних, незалежно від того, розташовуються вони на серверах баз даних або на мінікомп'ютерах.
Наступним кроком в еволюції мереж є об'єднання локальних мереж кількох відділів в єдину мережу будівлі або групи будівель. Такі мережі називають мережами кампусів. Мережі кампусів можуть тягнутися на кілька кілометрів, але при цьому глобальні з'єднання не потрібні.
Операційна система, що працює в мережі кампусу, повинна забезпечувати для співробітників одних відділів доступ до деяких файлів і ресурсів мереж інших відділів. Послуги, що надаються ОС мереж кампусів, не обмежуються простим розділенням файлів і принтерів, а часто надають доступ і до серверів інших типів, наприклад, до факс-серверів і до серверів високошвидкісних модемів. Важливим сервісом, наданих операційними системами даного класу, є доступ до корпоративних баз даних, незалежно від того, розташовуються вони на серверах баз даних або на мінікомп'ютерах.

15. Витісняють і невитесняющая алгоритми планування

Існує два основних типи процедур планування процесів - витісняють (divemptive) і не витісняє (non-divemptive).
Non-divemptive multitasking - невитесняющая багатозадачність - це спосіб планування процесів, при якому активний процес виконується до тих пір, поки він сам, з власної ініціативи, не віддасть управління планувальником операційної системи для того, щоб той вибрав з черги інший, готовий до виконання процес .
Preemptive multitasking - витісняє багатозадачність - це такий спосіб, при якому рішення про переключення процесора з виконання одного процесу на виконання іншого процесу приймається планувальником ОС, а не найактивнішою завданням.
Основною відмінністю між divemptive і non-divemptive варіантами багатозадачності є ступінь централізації механізму планування задач. При витісняючої багатозадачності механізм планування задач цілком зосереджений в операційній системі, і програміст пише свій додаток, не піклуючись про те, що воно буде виконуватися паралельно з іншими завданнями. При цьому операційна система виконує такі функції: визначає момент зняття з виконання активної задачі, запам'ятовує її контекст, вибирає з черги готових задач наступну і запускає її на виконання, завантажуючи її контекст.
При невитискаючої багатозадачності механізм планування розподілений між системою і прикладними програмами. Прикладна програма, отримавши управління від операційної системи, сама визначає момент завершення своєї чергової ітерації і передає керування ОС за допомогою якого-небудь системного виклику, а ОС формує черги задач і вибирає відповідно до деякого алгоритмом (наприклад, з урахуванням пріоритетів) наступну задачу на виконання. Такий механізм створює проблеми як для користувачів, так і для розробників.
16. Файлова система H T FS
NTFS виросла з файлової системи NPFS, яка розробляється спільно IBM і Microsoft для проекту OS / 2. Вона почала використовуватися разом з Windows NT 3.1 в 1993 році. Windows NT 3.1 повинна була скласти конкуренцію серверам на базі NetWare і Unix, тому NTFS увібрала в себе всі технологічні досягнення того часу. Ось основні з них:
1. Робота з великими дисками. NTFS має розмір кластера 512 байт, що в принципі оптимально, але його можна змінювати до 64 Кб. Більш важливо те, що NTFS здатна теоретично працювати з томами розміром в 16,777, 216 терабайт. Теоретично, тому що таких жорстких дисків поки не існує.
2. Стійкість. NTFS містить дві копії аналога FAT, які називаються MFT (Master File Table). На відміну від FAT MS-DOS, MFT більше нагадує таблицю БД. Якщо оригінал MTF пошкоджений у разі апаратної помилки (наприклад, поява bad-сектора), то система при наступному завантаженні використовує копію MTF і автоматично створює новий оригінал, уже з урахуванням ушкоджень. Але це не саме головне. Головне, що NTFS використовує систему транзакцій при записі файлів на диск. Ця система прийшла із СУБД, де захист цілісності даних - життєво-важливу справу. Вже це говорить про її ефективність. У спрощеному вигляді вона працює так:
- Драйвер вводу / виводу NTFS ініціює процес запису, одночасно повідомляючи сервісу Log File Service вести реєстрацію всього, що відбувається;
- Дані пишуться в КЕШ, під управлінням сервісу Cash Manager;
- Cash Manager посилає дані Virtual Memory Manager (менеджеру віртуальної пам'яті) для запису на диск у фоновому режимі;
- Virtual Memory Manager посилає дані драйверу диска, пропустивши їх через Fault Tolerant Driver;
- Драйвер диска шле їх контролеру, який вже пише їх або в КЕШ, або прямо на диск;
- Якщо це операція проходить без помилок, запис реєстрації видаляється;
- Якщо відбувається збій, запис залишається в таблиці транзакцій, і при наступному доступі до диска Log File Service виявляє цей запис і просто відновлює все, як було до цієї операції.
Така система гарантує абсолютне збереження даних у випадку копіювання, переміщення і видалення файлів або директорій. При внесенні змін у файл ви втрачаєте ті зміни, які перебували в момент збою в пам'яті або в кеші контролера, і не встигли записати на диск.
3. Захищеність. NTFS розглядає файли як об'єкти. Кожен файловий об'єкт має властивості такими як його ім'я, дата створення, дата останнього оновлення, архівний статус і дескриптор безпеки. Файловий об'єкт також містить набір методів, які дозволяють з ним працювати, такі, як open, close, read і write. Користувачі, включаючи мережеві, для звернення до файлу викликають ці методи, а Security Reference Monitor визначає, чи має користувач необхідні права для виклику якого-небудь з цих методів. Крім цього, файли можна шифрувати.
4. Компресія даних. NTFS дозволяє стискати окремі каталоги і файли, на відміну від DriveSpace який дозволяв стискати тільки диски цілком. Це дуже зручно, для економії простору на диску, наприклад можна стискати «на льоту» великі географічні файли формату BMP або текстові файли, причому для користувача все це буде прозоро.
5. Підтримка формату ISO Unicode. Формат Unicode використовує 16 біт для кодування кожного символу, на відміну від ASCII, який використовував 8 або 7 біт. Для простого користувача це означає те, що тепер він може називати файли на будь-якій мові, хоч на китайському - система це буде підтримувати, не вимагаючи змінити кодову сторінку, як це робив DOS і W9x.
17. Закон про авторське право
Законодавством РФ про авторське право та суміжні права сост. з цього закону, який є частиною цивільного законодавства РФ і діє на всій території РФ, видаваний відповідно до цього Закону та інших актів законодавства РФ про «правову охорону програм ЕОМ і БД». У відповідність до статті 2 законодавства РФ про авторське право та суміжні права, автором визнається фізична особа, працею якого створений продукт. БД - об'єктивна форма надання та організації сукупності даних, так само ці дані повинні бути знайдені і оброблені за допомогою ЕОМ. Програма для ЕОМ - об'єктивна форма надання сукупності даних і команд призначених для функціонування ЕОМ та інших комп'ютерних пристроїв з метою отримання результату включаючи додаткові матеріали в ході роботи ЕОМ і породжувані їй аудіо - візуальні відображення. Охорона програми для ЕОМ поширюється на всі види програм, в тому числі і на операційні системи, які можуть бути виражені на будь-якій мові і в будь-якій формі, включаючи вихідні дані, підхід, і т.д.
18. Спеціальні ліцензійні угоди
Ліцензійні угоди бувають декількох видів: Виняткова ліцензія - продаж усіх майнових прав на програмний продукт чи базу даних, покупцеві ліцензії надається виключне право на їх використання, а автор або власник патенту відмовляється від самостійного їх застосування чи надання іншим особам. Це найдорожчий вид ліцензії, до нього вдаються для монопольного володіння з метою отримання додаткового прибутку або з метою припинення існування на ринку програмних засобів, програмного продукту. Проста ліцензія - ліцензіар надає право ліцензіату використовувати програмний продукт чи базу даних, залишаючи за собою право застосовувати їх і надавати на аналогічних умовах необмеженому числу осіб (ліцензіат при цьому не може сам видавати субліцензії, може лише продати копії придбаного програмного продукту або бази даних). Такий вид ліцензії набувають дилер (торговець) або фірми-виробники, які використовують куплені ліцензії як супутній товар до основного виду діяльності. Наприклад, багато виробників та фірми, які торгують комп'ютерною технікою, здійснюють продаж обчислювальної техніки зі встановленим ліцензійним програмним забезпеченням (операційна система, текстовий редактор, електронна таблиця, графічні пакети і т.д.). Етикеткова ліцензія - ліцензія на одну копію програмного продукту або бази даних. Даний тип ліцензії застосовується при роздрібному продажі. Кожен офіційний покупець укладає ліцензійну угоду з продавцем на їх використання, але при цьому зберігається авторське право розробника.
19. Загальнодоступна ліцензія GNU
GNU прагне гарантувати свободу обмінюватися та модифікувати вільно розповсюджуваних програм.
GNU дає можливість, вільно поширювати копії, вільно поширювати програми і отримувати за цю роботу платню.
Для захисту прав, необхідно накласти обмеження, які забороняють, кому б то не було порушувати ці права або просити вас відмовитися від цих прав.
Ці обмеження накладають певну відповідальність, якщо ви поширюєте копії програм або вносите їх.
Права захищаються у два етапи
1) захист програм;
2) передача ліцензії на легальне копіювання, розповсюдження та модифікування програм.
Для захисту кожного автора на вільно-розповсюджувані програми відсутні гарантії.
Якщо програма кимось модифікована і передана далі, необхідно щоб одержувачі знали що це не оригінал.
Умови копіювання, поширення і модифікації.
Ця ліцензія застосовна до будь-якої програми або іншій роботі, яка містить повідомлення про те, що вона може розповсюджуватися відповідно до вимог генеральної загальнодоступної ліцензії, інша діяльність відмінна від копіювання, поширення на внесення змін не потрапляє під дію цієї ліцензії.
1) ви можете копіювати та розповсюджуються точні копії вихідних текстів програми на будь-якому носії, який забезпечений помітним повідомленням про відсутність гарантії. Записи пов'язані з ліцензії відсутності гарантії змінювати не можна.
2) ви можете модифікувати свою копію програми.
20. Система переривань
Система переривань призначена для того, щоб центр. процесор, виконуючи свою роботу мав можливість реагувати на події, настання яких не передбачається. Переривання бувають внутрішніми - програмні та апаратурні; і зовнішніми - надходять від зовнішніх джерел. Внутрішні переривання викликаються подіями, які пов'язані з роботою процесора і є синхронними з його операціями (приклад: виник через арифметичного переповнення, при додаванні і відніманні чисел з фіксованою точкою, при спробі поділу на нуль). Зовн. переривання викликаються асинхронними подіями, кіт. відбуваються поза переривання процесу (приклад: переривання від таймера або від системи вв / в). Обробка переривань. Поза якого фіксує клітинку, заносяться характеристики стався переривання. Запам'ятовується стан перерваного процесу. Цей стан визначається значенням лічильника команди словом стану процесора. В лічильник команд заноситься адреса, який є унікальним для кожного типу переривань. Усього може бути 256 видів переривань, кожна з яких має свій номер 2-х розрядне 16-річне число. 4 обраб-ся переривання. 5 Відновлюється нормальна робота. Кроки 1-3 зазвичай реализ-ся апаратною частиною, 4-5 - ОС. Перерву-я бувають апаратури-е, логич-ие і програмні. Аппар-е виробок-ся пристроями, що вимагають уваги мікропроцесора. Запити на лот. переривання виробок-ся всередині мікропроцесора при появі позаштатних операцій. Запит на прогр-е переривання формують-ся за командою INTn, де n-номер викликається переривання. Першою дією проги обраб-ки переривань явл. запам'ятовування тієї частини стану процесу, кіт. ще не була заповнена. Потім прога обробки прерій-я д. ідентифікувати прерій-е, тобто визначити, яке прерій-е надійшло. Потім необхідно виконати ті дії, кіт. відповід. переривання. Після обробки прерій-я необхід-о забезпечити відновлення нормальної роботи. При наявності декількох джерел запитів переривання, частина з ніхм. надходити одндвременно, тому устан-ся визна. порядок або пріоритет обслуг-я поступаюш. запитів. Сущ. можливість дозволяти або забороняти прерій-я опред. видів.
21. Структура мережевої ОС
При описі операційної системи часто вказуються особливості її структурної організації та основні концепції, покладені в її основу.
До таких базових концепціям відносяться:
Структура мережевої операційної системи
Мережева операційна система становить основу будь-якої обчислювальної мережі. Кожен комп'ютер в мережі значною мірою автономний, тому під мережевою операційною системою в широкому сенсі розуміється сукупність операційних систем окремих комп'ютерів, які взаємодіють з метою обміну повідомленнями і поділу ресурсів за єдиними правилами - протоколами. У вузькому сенсі мережева ОС - це операційна система окремого комп'ютера, що забезпечує йому можливість працювати в мережі.
У мережній ОС окремої машини можна виділити кілька частин:
- Засоби управління локальними ресурсами комп'ютера: функції розподілу оперативної пам'яті між процесами, планування та диспетчеризації процесів, управління процесорами в мультипроцесорних машинах, управління периферійними пристроями та інші функції управління ресурсами локальних ОС.
- Засоби надання власних ресурсів та послуг у спільне користування - серверна частина ОС (сервер). Ці кошти забезпечують, наприклад, блокування файлів і записів, що необхідно для їх спільного використання; ведення довідників імен мережевих ресурсів; обробку запитів віддаленого доступу до власної файлової системи і бази даних; управління чергами запитів віддалених користувачів до своїх периферійних пристроїв.
- Засоби запиту доступу до віддалених ресурсів і послуг і їх використання - клієнтська частина ОС (редиректор). Ця частина виконує розпізнавання і перенаправлення в мережу запитів до віддалених ресурсів від додатків і користувачів, при цьому запит поступає від програми в локальній формі, а передається в мережу в іншій формі, що відповідає вимогам сервера. Клієнтська частина також здійснює прийом відповідей від серверів і перетворення їх у локальний формат, так що для програми виконання локальних і віддалених запитів невиразно.
- Комунікаційні засоби ОС, за допомогою яких відбувається обмін повідомленнями в мережі. Ця частина забезпечує адресацію і буферизацію повідомлень, вибір маршруту передачі повідомлення по мережі, надійність передачі і т.п., тобто є засобом транспортування повідомлень.
22. ОС поділу часу, ОС реального часу
Системи розділення часу покликані виправити основний недолік систем пакетної обробки - ізоляцію користувача-програміста від процесу виконання його завдань. Кожному користувачу системи поділу часу надається термінал, з якого він може вести діалог зі своєю програмою. Так як в системах поділу часу кожній задачі виділяється тільки квант процесорного часу, жодна задача не займає процесор надовго, і час відповіді виявляється прийнятним. Якщо квант обраний досить невеликим, то у всіх користувачів, що одночасно працюють на одній і тій же машині, складається враження, що кожен з них одноосібно використовує машину. Ясно, що системи поділу часу володіють меншою пропускною здатністю, ніж системи пакетної обробки, тому що на виконання приймається кожна запущена користувачем задача, а не та, яка "вигідна" системі, і, крім того, є накладні витрати обчислювальної потужності на більш часте переключення процесора з задачі на задачу. Критерієм ефективності систем поділу часу є не максимальна пропускна здатність, а зручність і ефективність роботи користувача.
Системи реального часу застосовуються для керування різними технічними об'єктами, такими, наприклад, як верстат, супутник, наукова експериментальна установка або технологічними процесами, такими, як гальванічна лінія, доменний процес і т.п. У всіх цих випадках існує гранично припустимий час, протягом якого повинна бути виконана та чи інша програма, що керує об'єктом, у противному випадку може відбутися аварія: супутник вийде з зони видимості, експериментальні дані, що надходять з датчиків, будуть втрачені, товщина гальванічного покриття не буде відповідати нормі. Таким чином, критерієм ефективності для систем реального часу є їхня здатність витримувати заздалегідь задані інтервали часу між запуском програми й одержанням результату (керуючого впливу). Цей час називається часом реакції системи, а відповідне властивість системи - реактивністю. Для цих систем мультипрограмна суміш являє собою фіксований набір заздалегідь розроблених програм, а вибір програми на виконання здійснюється виходячи з поточного стану об'єкта або відповідно до розкладу планових робіт.
23. Життєвий цикл процесу
Найважливішою частиною операційної системи, що безпосередньо впливає на функціонування обчислювальної машини, є підсистема керування процесами. Процес (або по-іншому, завдання) - абстракція, що описує, які виконуються. Для операційної системи процес являє собою одиницю роботи, заявку на споживання системних ресурсів. Підсистема управління процесами планує виконання процесів, тобто розподіляє процесорний час між декількома одночасно існуючими в системі процесами, а також займається створенням і знищенням процесів, забезпечує процеси необхідними системними ресурсами, підтримує взаємодію між процесами.
Стан процесів
У багатозадачній (багатопроцесорний) системі процес може знаходитися в одному з трьох основних станів:
Виконання - активний стан процесу, під час якого процес володіє всіма необхідними ресурсами і безпосередньо виконується процесором;
Очікування - пасивний стан процесу, процес заблокований, він не може виконуватися по своїх внутрішніх причин, він чекає здійснення деякої події, наприклад, завершення операції введення-виведення, одержання повідомлення від іншого процесу, звільнення якого-небудь необхідного йому ресурсу; готовність - також пасивне стан процесу, але в цьому випадку процес заблокований у зв'язку з зовнішніми по відношенню до нього обставинами: процес має всі необхідні для нього ресурси, він готовий виконуватися, однак процесор зайнятий виконанням іншого процесу.
У ході життєвого циклу кожен процес переходить з одного стану в інший відповідно до алгоритму планування процесів, реалізованим у даній операційній системі. Типовий граф станів процесу показаний на малюнку 2.1.
У стані виконання в однопроцесорній системі може знаходитися тільки один процес, а в кожному з станів очікування і готовність - кілька процесів, ці процеси утворюють черги відповідно очікують і готових процесів. Життєвий цикл процесу починається зі стану готовність, коли процес готовий до виконання і чекає своєї черги. При активізації процес переходить у стан виконання і знаходиться в ньому до тих пір, поки або він сам звільнить процесор, перейшовши в стан очікування якогось події, або буде насильно "витиснутий" із процесора, наприклад, внаслідок вичерпання відведеного даному процесу кванта процесорного часу . В останньому випадку процес повертається в стан готовність. У цей же стан процес переходить зі стану очікування, після того, як очікуване подія відбудеться.
24. Загальна модель файлової системи
Файлова система - це частина операційної системи, призначення якої полягає в тому, щоб забезпечити користувачеві зручний інтерфейс при роботі з даними, що зберігаються на диску, і забезпечити спільне використання файлів кількома користувачами і процесами.
У широкому розумінні поняття "файлова система" включає:
- Сукупність всіх файлів на диску;
- Набори структур даних, використовуваних для управління файлами, такі, наприклад, як каталоги файлів, дескриптори файлів, таблиці розподілу вільного і зайнятого простору на диску;
- Комплекс системних програмних засобів, що реалізують управління файлами, зокрема: створення, знищення, читання, запис, іменування, пошук і інші операції над файлами.
Загальна модель файлової системи
Функціонування будь-якої файлової системи можна уявити багаторівневої моделлю, в якій кожен рівень надає деякий інтерфейс (набір функцій) вищих рівнів, а сам, у свою чергу, для виконання своєї роботи використовує інтерфейс (звертається з набором запитів) нижчого рівня.
Завданням символьного рівня є визначення по символьному імені файлу його унікального імені. У файлових системах, в яких кожен файл може мати тільки одне символьне ім'я (наприклад, MS-DOS), цей рівень відсутня, так як символьне ім'я, присвоєне файлу користувачем, є одночасно унікальним і може бути використано операційною системою. В інших файлових системах, в яких один і той же файл може мати декілька символьних імен, на даному рівні проглядається ланцюжок каталогів для визначення унікального імені файлу. У файловій системі UNIX, наприклад, унікальним ім'ям є номер індексного дескриптора файлу (i-node).
На наступному, базовому рівні за унікальним імені файлу визначаються його характеристики: права доступу, адресу, розмір та інші. Як вже було сказано, характеристики файлу можуть входити до складу каталогу або зберігатися в окремих таблицях. При відкритті файлу його характеристики переміщуються з диска в оперативну пам'ять, щоб зменшити середній час доступу до файлу. У деяких файлових системах (наприклад, HPFS) при відкритті файлу разом з його характеристиками в оперативну пам'ять переміщуються кілька перших блоків файлу, що містять дані.
Наступним етапом реалізації запиту до файлу є перевірка прав доступу до нього. Для цього порівнюються повноваження користувача або процесу, що видали запит, зі списком дозволених видів доступу до даного файлу. Якщо запитуваний вид доступу дозволений, то виконання запиту триває, якщо немає, то видається повідомлення про порушення прав доступу.
На логічному рівні визначаються координати запитуваної логічної запису у файлі, тобто потрібно визначити, на якій відстані (в байтах) від початку файлу знаходиться необхідна логічна запис. При цьому абстрагуються від фізичного розташування файлу, він представляється у вигляді безперервної послідовності байт. Алгоритм роботи даного рівня залежить від логічної організації файлу. Наприклад, якщо файл організований як послідовність логічних записів фіксованої довжини l, то n-а логічна запис має зсув l ((n-1) байт. Для визначення координат логічної запису у файлі з індексного-послідовною організацією виконується читання таблиці індексів (ключів), в якій безпосередньо вказується адреса логічної запису.
На фізичному рівні файлова система визначає номер фізичної блоку, який містить необхідну логічну запис, і зсув логічної запису у фізичному блоці. Для вирішення цього завдання використовуються результати роботи логічного рівня - зміщення логічної запису у файлі, адресу файлу на зовнішньому пристрої, а також відомості про фізичну організацію файлу, включаючи розмір блоку. Малюнок 2.37 ілюструє роботу фізичного рівня для найпростішої фізичної організації файлу у вигляді безперервної послідовності блоків. Підкреслимо, що завдання фізичного рівня вирішується незалежно від того, як був логічно організований файл.
Після визначення номера фізичної блоку, файлова система звертається до системи введення-виведення для виконання операції обміну з зовнішнім пристроєм. У відповідь на цей запит в буфер файлової системи буде переданий потрібний блок, в якому на підставі отриманого при роботі фізичного рівня зсуву вибирається необхідна логічна запис.
25. Логічна організація файла
Програміст має справу з логічною організацією файлу, представляючи файл у вигляді певним чином організованих логічних записів. Логічна запис - це найменший елемент даних, яким може оперувати програміст при обміні з зовнішнім пристроєм. Навіть якщо фізичний обмін з пристроєм здійснюється великими одиницями, операційна система забезпечує програмістові доступ до окремої логічної запису. На малюнку 2.33 показано кілька схем логічної організації файлу. Записи можуть бути фіксованої довжини або змінної довжини. Записи можуть бути розташовані у файлі послідовно (послідовна організація) або в більш складному порядку, з використанням так званих індексних таблиць, що дозволяють забезпечити швидкий доступ до окремої логічної запису (індексно-послідовна організація). Для ідентифікації запису може бути використаний спеціальний полі запису, зване ключем. У файлових системах ОС UNIX і MS-DOS файл має найпростішу логічну структуру - послідовність однобайтових записів.
26. Відновлення Win NT
У процесі установки буде запропоновано створити диск аварійного відновлення. З його допомогою можна відновити працездатність системи, якщо зміна будь-яких параметрів призвело до катастрофічного рез-ту та неможливості завантаження. Створювати диск аварійного відновлення у цей момент не має сенсу. На цей диск, крім налаштування апаратної частини, записуються й установки ПЗ. Тому, якщо створити диск у процесі установки потім скористатися ним, то всі налаштування ПЗ та відомості про встановлені прогах будуть втрачені. І після відновлення все проги доведеться встановлювати заново. Потрібно не забути створити такий диск після установки основних прог.
27. Установка Win NT
Для початку установки Windows NT треба виконати завантаження компа з першої установчої дискети або CD-ROM. Після привітання проги і повідомлення про початок установки проводиться аналіз конфігурації компа. Прога установки робить аналіз встановлених в системі ж \ д і виводить інф-ю про них на екран. Якщо наявне на компі пристрої під не виявлено автоматично, то його треба включити вручну. Натисніть клавішу S і виберіть наявне у вас пристрої під із запропонованого списку. Якщо в списку її немає, то використовуйте драйвер фірми виробника (на дискеті). Після цього прога установки запропонує вам повний список знайденого устаткування. Далі прога запропонує вказати, в який розділ (балка. диск компа) встановити нову ОС. Далі потрібно вибрати каталог, в кіт. будуть знаходиться файли Win NT. Потім прога установки справить копіювання необхідних файлів запропонує перезапустити комп.
28. Можливості Windows NT
Windows NT Workstation, перш за все, може використовуватися як клієнт в мережах Windows NT Server, а також у мережах NetWare, UNIX, Vines. Вона може бути робочою станцією і в однорангових мережах, виконуючи одночасно функції і клієнта, і сервера. Windows NT Workstation може застосовуватися в якості ОС автономного комп'ютера при необхідності забезпечення підвищеної продуктивності, секретності, а також при реалізації складних графічних додатків, наприклад, в системах автоматизованого проектування.
Windows NT Server може бути використаний, насамперед, як сервер в корпоративній мережі. Тут вельми корисною виявляється його можливість виконувати функції контролера доменів, дозволяючи структурувати мережу і спрощувати задачі адміністрування і управління. Він використовується також як файл-сервера, принт-сервера, сервера додатків, сервера вилученого доступу і сервера зв'язку (шлюзу). Крім того, Windows NT Server може бути використаний як платформа для складних мережних додатків, особливо тих, які побудовані з використанням технології клієнт-сервер.
Так, під управлінням Windows NT Server може працювати сервер баз даних Microsoft SQL Server, а також сервери баз даних інших відомих фірм, такі як Oracle та Sybase, Adabas і InterBase.
На платформі Windows NT Server може бути встановлена ​​нова потужна система адміністрування Microsoft System Management Server, функцією якої є інвентаризація апаратної і програмної конфігурації комп'ютерів мережі, автоматична установка програмних продуктів на робочі станції, видалене управління будь-яким комп'ютером і моніторинг мережі.
Windows NT Server може використовуватися як сервер зв'язку з мейнфреймів. Для цього створено спеціальний продукт Microsoft SNA Server, що дозволяє легко об'єднати в одній мережі IBM PC-сумісні робочі станції і могутні мейнфрейми.
Нарешті, Windows NT Server є платформою для нового продуктивного поштового сервера Microsoft Exchange.
28. Адміністрування Win NT
Адмін-ие дисків - прога, виклик кіт. осущ-ся як ПУСК-Прог-адміністра-ИЕ-АДМІН ДИСКІВ, использ-ся для логічного розбиття ж \ д, форматування ж \ д, привласнення диску ін лот. імені. Після запуску проги поява ся вікно, в кіт. відображена поточна конфігурація дисків компа. Привід-ся розміри дисків, їх мітки, назва файлової системи. Діагностика компа. Для діагностики обладнання комп'ютера з Win NT использ-ся прога ДІАГНОСТИКА (ПУСК-Прог-АДМІНІСТРАТИВНІ ЗАВДАННЯ-ДІАГНОСТИКА). Після виклику поява ся вікно, різні закладки якого дозволяють побачити поточні параметри обладнання компа.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Шпаргалка
135.4кб. | скачати


Схожі роботи:
Основи програмування в C
Основи алгоритмізації та програмування
Основи технології програмування
Програмування та основи алгоритмізації 2
Основи програмування та алгоритмізації 2
Програмування та основи алгоритмізації
Основи мови програмування Лісп
Основи програмування в середовищі Delphi 7 0
Основи програмування в середовищі Qbasic
© Усі права захищені
написати до нас