
- •Основні поняття та визначення концепцій ос
- •2. Основні можливості файлової системи ntfs
- •2. Структура тому з файловою системою ntfs
- •1. Огляд і характеристика операційних систем
- •2. Основні відмінності fat і ntfs
- •1. Узагальнена структура програмного забезпечення обчислювальних систем
- •2. Захист інформації в комп’ютерних системах засобами ос
- •1. Класифікація операційних систем
- •2. Можливості файлової системи ntfs по обмеженню доступу до файлів і каталогів
- •1. Основні принципи побудови операційних систем
- •2. Файлові системи операційних систем класу Unix
- •1. Захист інформації в комп’ютерних системах засобами ос.
- •2.Керування процесами, потоками, їх планування
- •1.4. Стани процесів
- •1.Планування процесів
- •2. Захист файлів в операційних системах класу Unix
- •1. Дисципліни планування - вимоги, показники, класифікація
- •2. Міжпроцесова взаємодія
- •6.2. Базові механізми міжпроцесової взаємодії
- •1. Базові дисципліни планування fcfs, rr, spn
- •2.Системні засоби взаємодії процесів
- •Віртуальні переривання або сигнали
- •1. Базові дисципліни планування psjn, hprn
- •2. Дужки критичних секцій.
- •1. Базові дисципліни планування srr, mlfb
- •2. Віртуальні переривання або сигнали. Віртуальні переривання або сигнали
- •Фіксовані розділи пам'яті.
- •2.Модель віртуальних комунікаційних портів
- •Односегментна модель пам'яті.
- •Загальні області пам'яті.
- •Багатосегментна модель пам'яті.
- •Сторінкова модель пам'яті.
- •Програмні канали.
- •1.Сегментно-сторінкова модель пам'яті.
- •2.Черги повідомлень
- •Билет №21
- •Боротьба з тупиками включає три завдання:
- •Послідовне виділення
- •Залпове виділення
- •Ієрархічне виділення
- •Билет №22
Билет №22
Логічна та фізична організація ОС
Інформація на магнітних дисках розміщується і передається блоками. Кожний такий блок називається сектором (sector), сектори розташовані на концентричних доріжках поверхні диска. Доріжка (track) утворюється при обертанні магнітного диска під зафіксованою в деякому визначеному положення магнітної голівки. Накопичувач на жорстких магнітних дисках (НЖМД) вміщує один або більше дисків. Групи доріжок (треків) одного радіусу, розташованих на поверхнях магнітних дисків, утворюють циліндри (cylinder). Сучасні жорсткі диски можуть мати по декілька десятків тисяч циліндрів.Кожний сектор складається з поля даних і поля службової інформації, що ідентифікує та обмежує його. В більшості сучасних операційних систем (ОС) розмір сектора дорівнює 512 байт.Обмін інформацією між оперативним запам'ятовуючим пристроєм (ОЗП) і дисками фізично здійснюється тільки секторами. Вся сукупність фізичних секторів на диску представляє його неформатовану ємність. Жорсткий диск може бути розбитий на декілька розділів (partition), які потім можуть використовуватися однією операційною системою або різними ОС. На кожному розділі може бути організована своя файлова система. Але для організації навіть однієї файлової системи небхідно визначити, по крайній мірі, один розділ.Розділи диска можуть бути двох типів – primary (первинний) і extended (розширений). Максимальне число первинних розділів дорівнює чотирьом. При цьому на диску має бути хоча б один primary – розділ. На кожному диску може бути лише один розширений розділ, який в свою чергу, може бути розділений на велику кількість підрозділів – логічних дисків (logical). Один із primary – розділів має бути активним, саме з нього повинна завантажуватися програма завантаження операційної системи або менеджер завантаження, призначення якого – завантажити програму завантаження ОС з якого – небудь іншого розділу і вже за її допомогою завантажувати операційну систему. Зважаючи на те, що до завантаження ОС система керування файлами працювати не може, слід використовувати для вказання завантажувачів виключно абсолютні адреси в форматі [c – h - s].
Керування пристроями введення/виведення
BIOS (скорочення від Basic Input/Output System — базова система введення/виведення) — це вмонтоване в комп'ютер програмне забезпечення, яке йому доступне без звертання до диска. Це набір програм перевірки й обслуговування апаратури комп'ютера, зокрема необхідних для управління клавіатурою, відео-картою, дисками, портами й іншими пристроями.
BIOS одержує управління при вмиканні (так званому «холодному» завантаженні) й скиданні («гарячому» завантаженні) системної плати, тестує саму плату й основні блоки комп'ютера — відеоадаптер, клавіатуру, контролери дисків і портів введення/виведення, налаштовує чіпсет і передає управління завантажникові операційної системи
Билет №23
Нескінченне відкладання
Процеси, чекаючі ресурсів, встають в черзі до цих ресурсів. Така черга може обслуговуватися будь-якою невитісняючою стратегією планування. Моментом, коли менеджер ресурсу ухвалює рішення про обслуговування, є звільнення ресурсу. Єдиною дисципліною, яка гарантує, що всі процеси в черзі будуть врешті-решт обслужені, є FCFS. Інші методи базуються на пріоритетах - зовнішніх або обчислюваних на підставі розміру запиту или/и безпеки ситуації. Черга може бути впорядкована за збільшенням розміру запиту, і при звільненні ресурсів останні можуть віддаватися по запиту "самого відповідного" розміру. Черга може бути впорядкована в порядку зростання небезпеки виділення ресурсів, і ресурс, що звільнився, може віддаватися тому процесу, запит якого найбезпечніший. При впорядкуванні черги, процес, що видав найбільший або найнебезпечніший запит, може надовго в ній застрягти, тобто, потрапити в ситуацію нескінченного відкладання. З іншого боку, застосування FCFS в чистому вигляді може привести до зниження рівня мультипрограмування, до небезпечного стану і навіть до тупиків - якщо процес з дуже великим запитом виявиться першим в черзі. Частково ця суперечність може бути згладжене, якщо ми допустимо часткове виділення ресурсів: запит, що стоїть в черзі першим отримує стільки ресурсів, скільки йому можна виділити, зберігаючи ситуацію безпечною, останні - віддаються наступному в черзі процесу. Оскільки тупикова ситуація небезпечніша, ніж нескінченне відкладання, ОС все ж таки віддає перевагу критеріям безпеки, отже, свідомо запобігти нескінченному відкладанню неможливо. Нескінченне відкладання процесу встановлюється за часом його перебування в черзі: якщо процес перебуває в черзі довше за деякий встановлений час, то вважається, що він чекає нескінченно. Залежно від політики ОС відносно справедливості обслуговування і від характеристик процесу (якщо вони відомі) допустимий час очікування може встановлюватися великим або меншим. Якщо ж нескінченне відкладання встановлене, то для його ліквідації ОС припиняє видачу ресурсів новим процесам, поки не буде обслужений відкладений процес. Проблема тупиків до деякої міри втрачає актуальність в сучасних ОС, оскільки вони мають тенденцію до зменшення кількості ресурсів, що не розділяються. Одним із способів зробити пристрій, що не розділяється, таким, що розділяється є буферизація, яку ми розглянемо в наступному розділі. Системні структури даних розділяються з використанням засобів взаємного виключення доступу, яким буде присвячений розділ 8. Ця проблема, проте, стає все більш актуальною для сучасних СУБД, які забезпечують одночасний доступ до ресурсів-даних для тисяч і десятків тисяч користувачів.
Елементи інтерфейсу. Віджети
Веб-ві́джет (англ. widget) — контент-модуль, що вбудовується у веб-сторінку або у браузер. Цей тип заснований на веб-технологіях, що працюють через браузер: HTML, Flash тощо. Такі модулі існували досить давно, а віджетами їх стали називати відносно недавно. Спочатку ж слово «Віджет» означало саме міні-застосунки для десктопа (GUI Widget).Десктоп-віджет — це графічний модуль, який встановлюється на робочий стіл вашого комп'ютера. Віджети призначені як інструмент для швидкого доступу до певної інформації чи сервісів.
Билет №24
Файлові системи
FAT
Абревіатура FAT (file allocation table) розшифровується як “таблиця розташування файлів”. Цей термін відноситься до лінійної табличної структури з відомостями про файли — імена файлів, їх атрибути та інші дані, що визначають розташування файлів (або їх фрагментів) у середовищі FAT. Елемент FAT визначає фактичну область диска, в якій зберігається початок фізичного файлу.
В файловій системі FAT логічний дисковий простір будь-якого логічного диска поділяється на дві області системну область і область даних.ФАЙЛОВІ СИСТЕМИ VFAT І FAT32
Однієї з найважливіших характеристик вихідної FAT було використання імен файлів формату “8.3”, у якому 8 символів відводиться на вказання імені файлу і 3 символи - для розширення імені. До стандартної FAT (мається на увазі реалізація FAT16) додалися ще два різновиди, що використовуються в розповсюджених операційних системах Microsoft ( Windows 95 і Windows NT): VFAT (віртуальна FAT) і FAT32, що використовуються в одній з редакцій ОС Windows 95 і Windows 98. Зараз ця файлова система (FAT32) підтримується і такими ОС, як Windows Millennium Edition, і всіма ОС сімейства Windows 2000. Є реалізації систем керування файлами для FAT32, Windows NT і ОС Linux.
NTFS
NTFS вміщує ряд значних вдосконалень і змін, що істотно відрізняють її від інших файлових систем. З погляду користувачів, файли як і раніше зберігаються в каталогах (що називаються "папками" або фолдерами в середовищі Windows). Однак у NTFS на відміну від FAT робота з дисками великого об'єму відбувається набагато ефективніше; є засоби для обмеження доступу до файлів і каталогів, введені механізми, що істотно підвищують надійність файлової системи, знято багато обмежень на максимальну кількість дискових секторів і/або кластерів.Базова система введення/вивелення данных для перефиріїБазова система введення-виведення розміщується в постійній пам'яті комп'ютера. Цей модуль є одночасно і частиною апаратури частиною операційної системи.
Основні функції BIOS:
Автоматичне тестування основних компонентів персонального комп'ютера при його ввімкненні.
Виклик блоку початкового завантаження ОС з системного диску до оперативної пам'яті комп'ютера.
Обслуговування переривань нижнього рівня – тих, які потребують безпосереднього управління апаратними компонентами.
Блок початкового завантаження ( Boot Record)
Блок початкового завантаження (завантажувач) – програма, яка завантажує два модулі операційної системи
Модуль розширення базової системи введення-виведення (Io.sys)
Модуль опрацювання переривань (Msdos.sys)
Модуль опрацювання переривань є основним модулем операційної системи. Він забезпечує взаємодію з програмами користувача. Файл MSDOS.SYS завантажується до ОЗП комп'ютера завантажувачем і залишається там постійно.
Компонентами даного модуля є програми, які забезпечують роботу файлової системи, інформаційний обмін з дисками, а також обслуговування деяких спеціальних ситуацій.
Командний процесор (Command.com)
Командний процесор (інтерпретатор вказівок ОС) зберігається у вигляді файлу з іменем COMMAND.COM, як правило на тому диску, з якого завантажується операційна система. Командний процесор виконує наступні функції:
Прийняття та синтаксичний розбір вказівок, що вводяться з клавіатури або з командного файлу.
Виконання внутрішніх вказівок ОС.
Завантаження і виконання зовнішніх вказівок ОС і прикладних програм користувача (які знаходяться у файлах, що мають розширення .СОМ; .ЕХЕ; .ВАТ).
Зовнішні вказівки
Зовнішні вказівки ОС реалізуються програмами, які зберігаються на диску у вигляді окремих завантажуваних файлів. Для виконання зовнішніх вказівок командний процесор шукає на дисках програму з відповідним іменем, і, якщо знаходить її, то завантажує до пам'яті і передає їй управління. Після закінчення роботи програми командний процесор вилучає програму з пам'яті та виводить повідомлення про готовність до виконання вказівок.
Драйвери зовнішніх пристроїв
Драйвери пристроїв – це спеціальні програми, які доповнюють систему введення-виведення і забезпечують обслуговування допоміжних зовнішніх пристроїв або нестандартне використання пристроїв. Драйвери зберігаються у вигляді файлів, імена яких мають розширення .SYS. Вони завантажуються до пам'яті комп'ютера при завантаженні операційної системи, їх імена вказуються в спеціальному файлі CONFIG.SYS
Билет №25
Структура магнітного диску
Інформація на магнітних дисках розміщується і передається блоками. Кожний такий блок називається сектором (sector), сектори розташовані на концентричних доріжках поверхні диска. Доріжка (track) утворюється при обертанні магнітного диска під зафіксованою в деякому визначеному положення магнітної голівки. Накопичувач на жорстких магнітних дисках (НЖМД) вміщує один або більше дисків. Групи доріжок (треків) одного радіусу, розташованих на поверхнях магнітних дисків, утворюють циліндри (cylinder). Сучасні жорсткі диски можуть мати по декілька десятків тисяч циліндрів.Кожний сектор складається з поля даних і поля службової інформації, що ідентифікує та обмежує його. В більшості сучасних операційних систем (ОС) розмір сектора дорівнює 512 байт.Жорсткий диск може бути розбитий на декілька розділів (partition), які потім можуть використовуватися однією операційною системою або різними ОС. На кожному розділі може бути організована своя файлова система. Але для організації навіть однієї файлової системи небхідно визначити, по крайній мірі, один розділ.Розділи диска можуть бути двох типів – primary (первинний) і extended (розширений). Максимальне число первинних розділів дорівнює чотирьом. При цьому на диску має бути хоча б один primary – розділ. На кожному диску може бути лише один розширений розділ, який в свою чергу, може бути розділений на велику кількість підрозділів – логічних дисків (logical). Один із primary – розділів має бути активним, саме з нього повинна завантажуватися програма завантаження операційної системи або менеджер завантаження, призначення якого – завантажити програму завантаження ОС з якого – небудь іншого розділу і вже за її допомогою завантажувати операційну систему. Зважаючи на те, що до завантаження ОС система керування файлами працювати не може, слід використовувати для вказання завантажувачів виключно абсолютні адреси в форматі [c – h - s].За фізичною адресою [0–0-1] на жорсткому диску знаходиться головний завантажувальний запис (master boot record, MBR), що вміщує позасистемний завантажувач (non–system bootstrap, NSB), а також таблицю розділів (partition table, PT). Цей запис займає рівно один сектор, він розміщується в пам'яті, починаючи з адреси 0:7C00h, після чого керування передається коду, що знаходиться в цьому першому секторі магнітного диска. MBR є основним засобом завантаження ОС з жорстокого диска, що підтримується BIOS.
Багатопроцессорні розподілені системи
Билет №26
Таблиця розташування файлівТаблиця розташування файлів є важливою інформаційною структурою. Вона являє собою карту (образ) області даних, у якій описується стан кожної ділянки області даних. Область даних розбивають на кластери. Кластер представляє co6ой або декілька суміжних секторів у логічному дисковому адресному просторі (точніше — тільки в області даних). У таблиці FAT кластери, що належать одному файлу (некореневому каталогу), зв'язуються в ланцюжки. Для вказання номера кластера в системі керування файлами FAT-16 використовується 16-бітове слово, отже, можна мати до 216 = 65536 кластерів (з номер 0 до 65535).Кластер — це мінімальна адресована одиниця дискової пам'яті, що виділяється файлові (або некореневому каталогу). Файл або каталог займає ціле число кластерів. Останній кластер при цьому може бути задіяний не повністю, що приведе до значної втрати дискового простору при великому розмірі кластера. На дискетах кластер займає один або два сектори, а на жорстких дисках — в залежності від обсягу розділу.Номер кластера завжди відноситься до області даних диска (простору, зарезервованому для файлів і підкаталогів). Перший допустимий номер кластера завжди починається з 2. Номера кластерів відповідають елементам таблиці розташування файлів.Логічна розбивка області даних на кластери як сукупності секторів замість використання одиночних секторів має наступний смисл:
- зменшується розмір самої таблиці FAT;
- зменшується можлива фрагментація файлів;
- прискорюється доступ до файлу, тому що в кілька разів скорочується довжина ланцюжків фрагментів дискового простору, виділених для нього.
Основні принципи побудови ОС1. Принцип модульності Принцип модульності відображає технічні і експлуатаційні властивості системи. Найбільший ефект від його використання досягається у випадку, коли принцип поширюється одночасно на операційну систему, прикладні програми і апаратуру. 2. Принцип функціональної вибірковості В ОС виділяється деяка важлива частина модулів, які мають постійно знаходитися в операційні пам’яті для більш ефективної організації обчислювального процесу. Цю систему в ОС називають ядром, тому що це основа системи. При формуванні складу ядра слід враховувати дві вимоги. Кількість модулів має бути такою, щоб об’єм пам’яті, зайнятий ядром, не був надто великим. До складу ядра входять модулі по керуванню, засоби по переведенню програм із стану обчислення в стан очікування, готовності і назад, засоби по розподілу таких основних ресурсів як оперативна пам’ять і процесор. Крім програмних модулів, що входять до складу ядра і постійно знаходяться в оперативній пам’яті, може бути багато інших програмних модулів, які отримали назву транзитних. Транзитні програмні модулі завантажуються в ОП тільки при потребі і при відсутності вільного простору можуть бути замінені іншими транзитними модулями3. Принцип генерованості ОС Основне положення цього принципу визначає такий спосіб вихідного представлення центральної системної керуючої програми ОС (її ядра і основних компонентів, які мають постійно знаходитися в оперативній пам’яті), який дозволив би настроювати цю систему супервізорну частину, виходячи із конкретної конфігурації конкретного обчислювального комплексу і кола вирішуваних задач. Ця процедура проводиться рідко, перед достатньо тривалим періодом експлуатації ОС. Процес генерації здійснюється за допомогою спеціальної програми-генератора і відповідної вхідної мови для цієї програми, яка дозволяє описувати програмні можливості системи і конфігурацію машини. В результаті генерації отримуємо повну версію ОС. Згенерована версія ОС представляє собою сукупність системних наборів модулів і даних4.Принцип функціональної надлишковості Цей принцип враховує можливість проведення однієї і тієї ж роботи різними засобами. До складу ОС може входити декілька типів моніторів (модулів супервізора, що керують тим чи іншим видом ресурсу), різні засоби організації комунікації між обчислювальними процесорами. Наявність кількох типів моніторів, кількох систем керування файлами дозволяє користувачам швидко і найбільш адекватно адаптувати ОС до визначеної конфігурації обчислювальної системи, забезпечити максимальне завантаження технічних засобів при рішенні конкретного класу задач, отримати максимальну продуктивність при рішенні заданих класу задач5. Принцип віртуалізації Побудова віртуальних ресурсів, їх розподіл і використання зараз використовується практично в будь-якій ОС. Цей принцип дозволяє представити структуру системи у вигляді певного набору планувальників процесорів і розподілювачів ресурсів (моніторів) і використовувати єдину централізовану схему розподілу ресурсів.
Билет №27
Файлова система FAT
Абревіатура FAT (file allocation table) розшифровується як “таблиця розташування файлів”. Цей термін відноситься до лінійної табличної структури з відомостями про файли — імена файлів, їх атрибути та інші дані, що визначають розташування файлів (або їх фрагментів) у середовищі FAT. Елемент FAT визначає фактичну область диска, в якій зберігається початок фізичного файлу.
В файловій системі FAT логічний дисковий простір будь-якого логічного диска поділяється на дві області: системну область і область даних.
Системна область логічного диска створюється та ініціалізується при форматуванні, а в подальшому оновлюється при маніпулюванні файловою структурою. Область даних логічного диска вміщує файли і каталоги, підпорядковані кореневому. Вона, на відміну від системної області, доступна через інтерфейс користувача операційної системи. Системна область складається з наступних компонентів, розташованих у логічному адресному просторі підряд:
завантажувального запису (boot record, BR);
зарезервованих секторів (reserved sector, ResSecs);
таблиці розташування файлів (file allocation table, FAT);
кореневого каталогу (root directory, RDir).
Міжпроцесорна взаємодія
Билет №28
Лог. Та Фіз.організація ФС
Інформація на магнітних дисках розміщується і передається блоками. Кожний такий блок називається сектором (sector), сектори розташовані на концентричних доріжках поверхні диска. Доріжка (track) утворюється при обертанні магнітного диска під зафіксованою в деякому визначеному положення магнітної голівки. Накопичувач на жорстких магнітних дисках (НЖМД) вміщує один або більше дисків. Групи доріжок (треків) одного радіусу, розташованих на поверхнях магнітних дисків, утворюють циліндри (cylinder). Сучасні жорсткі диски можуть мати по декілька десятків тисяч циліндрів.Кожний сектор складається з поля даних і поля службової інформації, що ідентифікує та обмежує його. В більшості сучасних операційних систем (ОС) розмір сектора дорівнює 512 байт. Обмін інформацією між оперативним запам'ятовуючим пристроєм (ОЗП) і дисками фізично здійснюється тільки секторами. Вся сукупність фізичних секторів на диску представляє його неформатовану ємність.
Жорсткий диск може бути розбитий на декілька розділів (partition), які потім можуть використовуватися однією операційною системою або різними ОС. На кожному розділі може бути організована своя файлова система. Але для організації навіть однієї файлової системи небхідно визначити, по крайній мірі, один розділ.
Базові дисципліни планування FCFS RR SPN
У загальному випадку планування (на будь-якому рівні) може бути представлене, як система масового обслуговування, показана на рисунку 2.1. Стосовно планування процесорного часу, компоненти цієї системи можуть бути інтерпретовані таким чином: заявкою є процес, що обслуговується приладом - центральним процесором (ЦП), черга заявок - це черга готових процесів. Процеси-заявки поступають в чергу, при звільненні ЦП один процес вибирається з черги і обслуговується в ЦП
FCFS (first come - first serve - першим прийшов - першим обслуговується) - проста дисципліна, робота якої зрозуміла з її назви. Це дисципліна без витіснення, тобто, процес, вибраний для виконання на ЦП, не уривається, поки не завершиться (або не перейде в стан очікування за власною ініціативою). Як дисципліна без витіснення, FCFS забезпечує мінімум накладних витрат. Середній втрачений час при застосуванні цієї дисципліни не залежить від тривалості процесу, але штрафне відношення при рівному втраченому часі буде великим для коротких процесів. Тому дисципліна FCFS вважається кращою для довгих процесів. Істотною гідністю цієї дисципліни, разом з її простотою, є та обставина, що FCFS гарантує відсутність нескінченного відкладання процесів: будь-який процес, що поступив в систему, врешті-решт буде виконаний незалежно від ступеня завантаження системи. RR (round robin - карусель) - проста дисципліна з витісненням. Процес отримує в своє розпорядження ЦП на деякий квант часу Q (у простому випадку розмір кванта фіксований). Якщо за час Q процес не завершився, він витісняється з ЦП і прямує в кінець черги готових процесів, де чекає виділення йому наступного кванта, і так далі. Показники ефективності RR істотно залежать від вибору величини кванта Q. RR забезпечує якнайкращі показники, якщо тривалість більшості процесів наближається до розміру кванта, але не перевершує його. Тоді більшість процесів укладаються в один квант і не стають в чергу повторно. При величині кванта, прагнучій до нескінченності, RR вироджується в FCFS. При Q, прагнучому до 0, накладні витрати на перемикання процесів зростають настільки, що поглинають весь ресурс ЦП. RR забезпечує якнайкращі показники справедливості: штрафне відношення P на великій ділянці тривалості процесів t залишається практично постійним. Тільки на ділянці t < Q штрафне відношення починає змінюватися і при зменшенні t від Q до 0 зростає експоненціально. Втрачений же час M істотно росте із збільшенням тривалості процесу. SJN (shortest job next - найкоротша робота - наступна) - невитісняюча дисципліна, в якій найвищий пріоритет має найкоротший процес. Для того, щоб застосовувати цю дисципліну, повинна бути відома тривалість процесу - задаватися користувачем або обчислюватися методом екстраполяції. Для коротких процесів SJN забезпечує кращі показники, чим RR, як по втраченому часу, так і по штрафному відношенню. SJN забезпечує максимальну пропускну спроможність системи - виконання максимального числа процесів в одиницю часу, але показники для довгих процесів значно гірші, а при високому ступені завантаження системи активізація довгих процесів може відкладатися до безкінечності. Штрафне відношення слабо змінюється на основному інтервалі значень t, але значно зростає для найкоротших процесів: такий процес під час вступу до системи має найвищий пріоритет, але вимушений чекати, поки закінчиться поточний активний процес.
Билет №29
VFAT Fat32
Однієї з найважливіших характеристик вихідної FAT було використання імен файлів формату “8.3”, у якому 8 символів відводиться на вказання імені файлу і 3 символи - для розширення імені. До стандартної FAT (мається на увазі реалізація FAT16) додалися ще два різновиди, що використовуються в розповсюджених операційних системах Microsoft ( Windows 95 і Windows NT): VFAT (віртуальна FAT) і FAT32, що використовуються в одній з редакцій ОС Windows 95 і Windows 98. Файлова система VFAT вперше з'явилася в Windows for Workgroups 3.11 і була призначена для виконання файлового вводу-виводу в захищеному режимі. З виходом Windows 95 у VFAT додана підтримка довгих імен файлів (long file name, LFN). Також VFAT зберігає сумісність з вихідним варіантом FAT, разом з довгими іменами в ній підтримуються імена формату “8.3”, а також існує спеціальний механізм для перетворення імен “8.3” у довгі імена, і навпаки. Саме файлова система VFAT підтримується вихідними версіями Windows 95, Windows NT 4. При роботі з VFAT важливо використовувати файлові утиліти, що підтримують VFAT взагалі і довгі імена зокрема. Справа в тому, що більш ранні файлові утиліти DOS модифікують те, що здається їм вихідною структурою FAT. Це може привести до втрати або псування довгих імен з таблиці FAT, що підтримується VFAT (або FAT32). Це значить, що для томів VFAT необхідно користуватися файловими утилітами, що розуміють і зберігають файлову структуру VFAT.Основними недоліками файлових систем FAT і VFAT є великі втрати на кластеризацію при великих розмірах логічного диска і обмеження на сам розмір логічного диска. Це привело до розробки нової реалізації файлової системи з використанням тієї ж ідеї використання таблиці FAT. Тому в Microsoft Windows 95 OEM Service Release 2 на зміну системі VFAT прийшла файлова система FAT32.FAT32 є цілком самостійною 32-розрядною файловою системою і вміщує вдосконалення і доповнення в порівнянні з попередніми реалізаціями FAT.Принципова відмінність полягає в тому, що FAT32 набагато ефективніше витрачає дисковий простір. Насамперед, система FAT32 використовує кластери меншого розміру в порівнянні з попередніми версіями, обмежувалися 65 535 кластерами на том (відповідно, зі збільшенням розміру диска приходилося збільшувати і розмір кластерів). Навіть для дисків розміром до 8 Гбайт FAT32 може використовувати 4-кілобайтні кластери. У результаті в порівнянні з дисками FAT16 економиться значний дисковий простір (у середньому 10-15 %).FAT32 також може переміщувати кореневий каталог і використовувати резервну копію FAT замість стандартної. Розширений завантажувальний запис FAT32 дозволяє створювати копії критичних структур даних; це підвищує стійкість дисків FAT32 до порушень структури FAT у порівнянні з попередніми версіями. Кореневий каталог у FAT32 представлений у виді звичайного ланцюжка кластерів. Отже, кореневий каталог може знаходитися в довільному місці диска, що знімає діючі раніше обмеження на розмір кореневого каталогу (512 елементів).
PSJN HPRN
PSJN (preemptive SJN - SJN з витісненням) - поточний активний процес уривається, якщо його час виконання, що залишився, більший, ніж у новоприбулого процесу. Дисципліна забезпечує ще більшу перевагу коротким процесам перед довгими. Зокрема, в ній усувається те зростання штрафного відношення для найкоротших процесів, яке має місце в SJN.HPRN (highest penalty ratio next - з найбільшим штрафним відношенням - наступний) - дисципліна без витіснення, що забезпечує якнайкращі показники справедливості. Це досягається за рахунок динамічного перевизначення пріоритетів. Всякий раз при звільненні ЦП для всіх готових процесів обчислюється поточне штрафне відношення Для коротких процесів HPRN забезпечує приблизно ті ж показники справедливості, що і SJN, для довгих - ближчі до FCFS. На великому діапазоні середньої тривалості процесів показники, забезпечувані HPRN, представляють середнє між SJN і FCFS і слабо залежать від тривалості. Ще одна гідність HPRN - в тому, що в часі очікування може враховуватися (з деякими ваговими коефіцієнтами) і очікування в інших чергах і, таким чином, виконується більш комплексний облік завантаження системи. Істотним недоліком методу є необхідність перевычисления штрафного відношення для всіх процесів при кожному перемиканні, що погано узгоджується із загальною політикою мінімізації накладних витрат в дисциплінах без витіснення.
Билет №30
Планування процесів
У загальному випадку планування (на будь-якому рівні) може бути представлене, як система масового обслуговування, показана на рисунку 2.1. Стосовно планування процесорного часу, компоненти цієї системи можуть бути інтерпретовані таким чином: заявкою є процес, що обслуговується приладом - центральним процесором (ЦП), черга заявок - це черга готових процесів. Процеси-заявки поступають в чергу, при звільненні ЦП один процес вибирається з черги і обслуговується в ЦП. Обслуговування може бути перерване по наступних причинах: виконання процесу завершилося; процес запитав виконання операції, що вимагає очікування якого-небудь іншого ресурсу; виконання перерване системою.
|
Перші два випадки з погляду системи масового обслуговування однакові: у будь-якому випадку процес виходить з даної системи. Якщо процес не завершився, то після отримання запитаного ресурсу процес знов поступить у вхідну чергу. У разі переривання процесу за ініціативою системи перерваний (витиснений) процес поступає у вхідну чергу відразу ж. Порядок обслуговування вхідної черги, черговість вибору з неї заявок на обслуговування і складає дисципліну або стратегію планування. Методи теорії масового обслуговування застосовуються для аналітичного моделювання процесу планування, хоча формальному аналізу піддаються тільки прості дисципліни.
Для оцінки ефективності функціонування даної системи масового обслуговування можуть бути застосовані кількісні показники. Позначимо через t - процесорний час, необхідне процесу для виконання. Ми його називатимемо тривалістю процесу. Позначимо через T - загальний час перебування процесу в системі. Цю величину - інтервал між моментом введення процесу в систему і моментом отримання результатів - також називають іноді часом реакції процесу. Разом з часом реакції, можуть бути корисні також і інші показники. Втрачений час: визначає час, протягом якого процес знаходився в системі, але не виконувався. Відношення реактивності: показує частку процесорного часу (часу виконання) в загальному часі реакції. Штрафне відношення: показує, в скільки разів загальний час виконання процесу перевищує необхідний процесорний час. до дисципліни планування в загальному випадку може застосовуватися широкий спектр вимог, найбільш істотні з яких наступні:
дисципліна повинна бути справедливою - вона не повинна давати переваг одним процесам за рахунок інших і у жодному випадку не повинна допускати нескінченного відкладання процесів;
дисципліна повинна забезпечувати максимальну пропускну спроможність системи - виконання максимальної кількості одиниць роботи (процесів) в одиницю часу;
дисципліна повинна забезпечувати прийнятний час реакції для інтерактивних користувачів;
дисципліна повинна забезпечувати гарантований час реакції для процесів реального часу;
дисципліна повинна бути передбаченою - дисперсія часів виконання процесів, що володіють однаковими характеристиками, повинна бути мінімальною;
дисципліна повинна враховувати зовнішні пріоритети, що привласнюються процесам користувачами і/або адміністратором системи;
накладні витрати по реалізації дисципліни (витрати процесорного часу і інших ресурсів) повинні бути мінімізовані;
дисципліна повинна враховувати комплексне використання ресурсів обчислювальної системи, забезпечуючи високе завантаження системи в цілому і раціональне використання ключових ресурсів.
Очевидно, що виконання всіх перерахованих вимог однаковою мірою неможливе, оскільки деякі з них протиречать один одному. У конкретних системах ті або інші вимоги висуваються на передній план - залежно від завдань системи і характеристик виконуваних в ній процесів, можливо і висунення на перший план нових вимог, не згаданих в нашому списку.
Захист файлів в ОС класу UNIX
Захист файлів здійснюється за допомогою номера, що ідентифікує користувача, і установки десяти бітів захисту - атрибутів доступу. Права доступу поділяються на три типи: читання (read), запис (write) і виконання (execute). Ці типи прав доступу можуть бути надані трьом класам користувачів: власнику файлу, групі, до якої входить власник, і всім іншим користувачам. Дев'ять з цих бітів керують захистом по читанню, запису і виконанню для власника файлу, інших членів групи, до якої входить власник, і всіх інших користувачів. Файл завжди зв'язаний з визначеним користувачем - своїм власником — і з визначеною групою, тобто в нього є UID (user ID, ідентифікатор користувача) і GID (group ID, ідентифікатор групи). Змінювати права доступу до файлу дозволено тільки його власнику. Змінити власника файлу може суперкористувач, групу - суперкористувач або власник файлу.Програма, що виконується в системі, завжди запускається від імені деякого користувача і деякої групи (зазвичай - основної групи цього користувача), але зв'язок процесів з користувачами і групами організований складніше: тут розрізняються ідентифікатор для доступу до файлової системи (FSUID — file system access user ID, FSGID — file system access group ID) і ефективний ідентифікатор (EUID — effective user ID, EGID — effective group ID), а при доступі до файлів враховуються ще і повноваження (capabilities), присвоєні самому процесу.При створенні файл одержує UID, що співпадає з FSUID процесу, який його створює, і, як правило, GID, що співпадає з FSGID цього процесу. Атрибути доступу визначають, що дозволено робити з даним файлом даній категорії користувачів. Є всього три операції: читання, запис і виконання. При створенні файлу (чи ще одного імені для вже існуючого файлу) модифікується не сам файл, а каталог, у якому з'являються нові посилання на вузли. Видалення файлу полягає у видаленні посилання. Таким чином, право на створення або видалення файлу - це право на запис у каталог. Право на виконання каталогу інтерпретується як право на пошук у ньому (проходження через нього). Воно дозволяє звернутися до файлу за шляхом, що вміщує даний каталог, навіть тоді, коли каталог не дозволено читати і тому список всіх його файлів недоступний.Крім трьох названих основних атрибутів доступу існують додаткові, що використовуються в наступних випадках. Атрибути SUID і SGID мають значення при запуску програми на виконання: вони вимагають, щоб програма виконувалася не від імені користувача (групи), що її запустив, а від імені власника (групи) того файлу, у якому вона знаходиться. Формально кажучи, якщо файл програми має атрибут SUID (SGID), то FSUID і EUID (FSGID і EGID) відповідного процесу не успадковуються від процесу, що запустив його, а співпадають з UID (GID) файлу. Завдяки цьому користувачі отримують можливість запустити системну програму, яка створює свої робочі файли в закритих для них каталогах. Крім того, якщо процес створює файл у каталозі, який має атрибут SGID, то файл одержує GID не за FSGID процесу, а за GID каталогу. Це зручно для колективної роботи: всі файли і підкаталоги в каталозі автоматично виявляються належними до однієї і тієї ж групи, хоча створювати їх можуть різні користувачі. Є ще один атрибут — CVTX, який тепер відноситься до каталогів. Він показує, що з каталогу, який має цей атрибут, посилання на файл може видалити тільки власник файлу.
Билет №31
Файлова система NTFSNTFS вміщує ряд значних вдосконалень і змін, що істотно відрізняють її від інших файлових систем. З погляду користувачів, файли як і раніше зберігаються в каталогах (що називаються "папками" або фолдерами в середовищі Windows). Однак у NTFS на відміну від FAT робота з дисками великого об'єму відбувається набагато ефективніше; є засоби для обмеження доступу до файлів і каталогів, введені механізми, що істотно підвищують надійність файлової системи, знято багато обмежень на максимальну кількість дискових секторів і/або кластерів.При проектуванні системи NTFS особлива увага була приділена наступним характеристикам:1.надійність. Високопродуктивні комп'ютери і системи спільного користування (сервери) повинні мати підвищену надійність, що є ключовим елементом структури і поведінки NTFS. Одним із способів збільшення надійності є введення механізму транзакций, при якому здійснюється журналювання файлових операцій;2.розширена функціональність. NTFS проектувалася з урахуванням можливого розширення. У ній були втілені багато додаткових можливостей - вдосконалена відмовостійкість, емуляція інших файлових систем, потужна модель безпеки, паралельна обробка потоків даних і створення файлових атрибутів, обумовлених користувачем;4.гнучкість. Модель розподілу дискового простору в NTFS відрізняється надзвичайною гнучкістю. Розмір кластера може змінюватися від 512 байт до 64 Кбайт; він являє собою число, кратне внутрішньому кванту розподілу дискового простору. NTFS також підтримує довгі імена файлів, набір символів Unicode і альтернативні імена формату 8.3 для сумісності з FATNTFS добре справляється з обробкою великих масивів даних і досить добре виявляє себе при роботі з томами об'ємом від 300-400 Мбайт і вище. Максимально можливі розміри тому (і розміри файлу) складають 16 Ебайт. Кількість файлів у кореневому і некореневому каталогах не обмежена. Оскільки в основу структури каталогів NTFS закладена ефективна структура даних, що називається "бінарним деревом" ( як у файловій системі HPFS), час пошуку файлів у NTFS (на відміну від систем на базі FAT) не зв'язаний лінійною залежністю з їх кількістю.Система NTFS також має певні засоби самовідновлення. NTFS підтримує різні механізми перевірки цілісності системи, включаючи ведення журналів транзакцій, що дозволяють відтворити файлові операції запису по спеціальному системному журналу.Файлова система NTFS підтримує об'єктну модель безпеки NT і розглядає всі томи, каталоги і файли як самостійні об'єкти. NTFS забезпечує безпека на рівні файлів; це означає, що права доступу до томів, каталогам і файлам можуть залежати від облікового запису користувача і тих груп, до яких він належить. Кожного разу, коли користувач звертається до об'єкта файлової системи, його права доступу перевіряються за списком дозволів даного об'єкта. Якщо користувач має достатній рівень прав, його запит задовольняється; в протилежному випадку запит відхиляється. Ця модель безпеки застосовується як при локальній реєстрації користувачів на комп'ютерах з NT, так і при віддалених мережевих запитах.
Фыксовані розділи пам’ятіЦя модель пам'яті застосовується в обчислювальних системах, що не мають апаратних засобів трансляції адрес. Процес завантажується в безперервну ділянку пам'яті (розділ), прив'язка адрес виконується при завантаженні. Розмір розділу рівний розміру віртуального адресного простору процесу, який, отже, не може перевищувати розміру доступної реальної пам'яті. Процес в ході свого виконання може видавати запити на виділення/звільнення пам'яті. Всі ці запити задовольняються тільки в межах віртуального адресного простору процесу, а отже - в межах виділеного йому розділу реальної пам'яті. Прикладом ОС, що працює в такій моделі, пам'яті може бути OS/360, що нині вже не застосовується, але існувала в двох основних варіантах: MFT (з фіксованим числом завдань) і MVT (із змінним числом завдань). У першому варіанті при завантаженні ОС реальна пам'ять розбивалася на розділи оператором. Кожне завдання (процес) займало один розділ і виконувалося в нім. У другому варіанті число розділів і їх положення в пам'яті не було фіксованим. Розділ створювався у вільній ділянці пам'яті перед початком виконання завдання і мав розмір, рівний об'єму пам'яті, замовленому завданням. Створений розділ фіксувався в пам'яті на час виконання завдання, але знищувався при закінченні її виконання. У більш загальному випадку для процесу може виділятися і декілька розділів пам'яті, причому їх виділення/звільнення може виконуватися динамічно (приклад - MS DOS). Проте, загальними завжди є наступні правила:
• розділ займає безперервну область реальної пам'яті;
• виділений розділ фіксується в реальній пам'яті;
• після виділення розділу процес працює з реальними адресами в розділі.
Для управління пам'яттю формуються ті або інші структури (заголовки), що управляють, які також займають пам'ять. У деяких системах загальний об'єм заголовної пам'яті може бути дуже великим, і в таких випадках слід враховувати також і заголовні дірки - області пам'яті, які містять не використовувану в даний момент інформацію, що управляє. У системах з реальною пам'яттю заголовні дірки практично відсутні.
Билет №32
Сегментно сторінкова модель пам’яті
Сторінкову організацію пам'яті легко представити як багатосегментну модель з фіксованим розміром сегменту. Такі сегменти називаються сторінками. Вся доступна реальна пам'ять розбивається на сторінкових кадрів (page frame), причому межі кадрів в реальній пам'яті фіксовані. Іншими словами, реальна пам'ять представляється як масив сторінкових кадрів. Віртуальна адреса складається з номера сторінки і зсуву в сторінці, система підтримує таблицю дескрипторів сторінок для кожного процесу. Дескриптор сторінки в основному подібний до дескриптора сегменту, але в ньому може бути скорочена розрядність поля base, оскільки в ньому зберігається не повна реальна адреса, а тільки номер сторінкового кадру, а необхідність в полі size взагалі відпадає, оскільки розмір сторінок фіксований. Проблема розміщення значно спрощується, оскільки будь-який сторінковий кадр підходить для розміщення будь-якої сторінки, необхідно тільки вести облік вільних кадрів. За рахунок цього сторінкова організація виявляється зручною навіть за відсутності свопінгу, оскільки дозволяє розмістити безперервний віртуальний адресний простір в несуміжних сторінкових кадрах. (Іноді для позначення свопінгу на рівні сторінок застосовують спеціальний термін "paging" - сторінковий обмін.) Зовнішні дірки в сторінковій моделі відсутні, зате з'являються внутрішні дірки за рахунок недовикористаних сторінок. За наявності в системі свопінгу нульове значення біта present викликає переривання-пастку "сторінкову відмову" (page falure) і підкачку сторінки в реальну пам'ять. Для обліку зайнятих/вільних сторінок підходить техніка бітової карти, але більшість ОС використовують як елементи карти (таблиці сторінкових кадрів) не біти, а куди складніші структури, з яких можуть складатися і багатозв'язкові списки (у тому числі і списки вільних кадрів).
Який розмір сторінки вигідніший - великий або малий? Міркування, які можуть вплинути на вибір розміру наступні:
при малих сторінках виходять менші внутрішні дірки;
при малих сторінках менше ймовірність сторінкової відмови (оскільки більше сторінок поміщаються в пам'яті);
при великих сторінках менші апаратні витрати (оскільки розбиття пам'яті на великі блоки обійдеться дешевшим);
при великих сторінках менші заголовні дірки і витрати на пошук і управління сторінками (таблиці мають менший розмір);
при великих сторінках вище ефективність обміну із зовнішньою пам'яттю.
Сегментна Зовні (з погляду програміста) ця модель дуже схожа на модель з фіксованими розділами: програма-процес готується в плоскому віртуальному адресному просторі.
Процес займає безперервний простір віртуальної пам'яті, і в реальну пам'ять він також завантажується в один безперервний розділ (сегмент). Сегмент може починатися з будь-якої адреси реальної пам'яті і мати будь-який розділ, що не перевищує, проте, розміру реальної пам'яті.
Істотна відмінність сегментної моделі полягає в тому, що вона використовує апаратну динамічну трансляцію адрес. Завантажений в реальну пам'ять і процес, що виконується, продовжує звертатися до пам'яті, використовуючи віртуальні адреси, і лише при кожному конкретному зверненні віртуальна адреса апаратно переводиться в реальну. У обчислювальній системі, що підтримує односегментну модель, повинен існувати регістр дескриптора сегменту, вміст якого складається з двох полів: початкової (базової) адреси сегменту в реальній пам'яті і довжини сегменту. Коли процес розміщується в пам'яті, для виділеного йому сегменту формується дескриптор, який записується у вектор розміщенні в контексті процесу.
При перемиканні контексту дескриптор сегменту завантажується в апаратний регістр дескриптора сегменту і служить тією "таблицею трансляції", по якій апаратура переводить віртуальні адреси в реальні. Сама трансляція адрес відбувається по простому алгоритму. Оскільки віртуальний адресний простір процесу є лінійною послідовністю адрес, що починається з 0, віртуальна адреса є простим зсувом відносно початку сегменту. Реальна адреса виходить складанням віртуальної адреси з базовою адресою, вибраною з дескриптора сегменту, як показано на рисунку 4.1. Єдиний шлях для виходу процесу за межі свого віртуального адресного простору - завдання віртуальної адреси, більшої, ніж розмір сегменту.
Цей шлях легко може бути перекритий, якщо апаратура при трансляції адрес порівнюватиме віртуальну адресу з довжиною сегменту і виконуватиме переривання-пастку, якщо віртуальна адреса більша.
Черги повідомлень
Черги утілюють модель взаємодії процесів "багато відправників - один одержувач". Цю модель часто називають поштовою скринькою (mailbox) із-за схожості з поштовою скринькою, що висить на дверях кожної квартири. Процес-одержувач є власником черги, він створює чергу, а решта процесів дістає до неї доступ, "відкриваючи" її. Черга зазвичай має зовнішнє ім'я. Передача даних в черзі відбувається завжди повідомленнями, причому кожне повідомлення має заголовок і тіло.
Заголовок завжди має фіксований для даної системи формат. У нього обов'язково входить довжина повідомлення, а інша інформація залежить від специфікацій конкретної системи: це може бути пріоритет повідомлення, тип повідомлення, ідентифікатор процесу, що послав повідомлення і тому подібне Тіло повідомлення інтерпретується по правилах, що встановлюються самими процесами - відправником і одержувачем. Заголовок і тіло є істотно різними структурами даних і розташовуються в різних місцях в пам'яті. Власне черга (найчастіше - лінійний список) ОС складає із заголовків повідомлень. У елементи черги включаються покажчики на тіла повідомлень, розташовані в пам'яті системи або процесів. Як правило, можливості процесу-одержувача повідомлень не обмежуються читанням по дисципліні FIFO, йому надається багатший вибір дисциплін: LIFO, по пріоритету, по типах, по ідентифікаторах відправника і тому подібне У розпорядженні власника є також засоби визначення розміру черги, а можливо, і проглядання черги - неруйнуючого читання з неї. У розпорядженні процесу-відправника є тільки виклик типу sendMessage - посилки повідомлення в чергу.
Якщо при спробі процесу послати повідомлення виявляється, що черга заповнена, процес-відправник блокується. Це, втім, досить окремий випадок, оскільки системні обмеження на розмір черг ніколи не бувають дуже жорсткими. Процес-одержувач блокується при спробі читати повідомлення, коли черга порожня. Істотним питанням при конструюванні механізму черг є питання про включення або невімкнення в ОС системної буферизації повідомлень. При включенні такого засобу (рис.9.2) тіло посиланого повідомлення копіюється в системну область пам'яті, а при читанні - копіюється з неї в адресний простір процесу-одержувача.
За відсутності системної буферизації тіла повідомлень зберігаються в загальній для відправника і одержувача пам'яті, а передається тільки покажчик на тіло повідомлення (рис.9.3). У першому випадку виконуються додаткові пересилки, витрачається додаткова пам'ять і вводяться жорсткіші обмеження на об'єм повідомлень, але досягається надійність передачі і значно більш простій інтерфейс процесів. У другому випадку значно економиться пам'ять, але самі процеси повинні піклуватися про управління спільно використовуваною пам'яттю і про збереження повідомлень в ній.