35479

Операційні системи. Короткий конспект

Конспект

Информатика, кибернетика и программирование

створювати умови для ефективної роботи користувача Під ресурсами комп'ютера звичайно розглядають:час роботи процесора адресний простір основної пам'яті обладнання введення – виведення файли що зберігаються в зовнішній пам'яті Компоненти ОС поділяються на 2 класи: системні і прикладні. ОС повинна здійснювати: керування процесами розподіляє ресурс процесорний час; керування пам'яттю розподіляє ресурс адресний простір основної пам'яті; керування довготермінової памяті магнітні диски флеш память . керування пристроями...

Украинкский

2013-09-15

463 KB

16 чел.

Лекція №1

Тема Еволюція ОС.Основні поняття операційної системи. Класифікація ОС. Призначення ОС. Види ОС. Властивості ОС. Визначення, місце та роль в організації і функціонуванні обчислювальної системи. Ядро ОС. Однозадачні, багатозадачні ОС. Однокористувалиницькі, багатокористувальницькі ОС. Особливості області використовування: системи пакетної обробки, системи розділу часу, реального часу. Особливості методів будови.

Мета: Ознайомитися з видами ОС. Властивостями ОС. Визначити місце та роль в організації і функціонуванні обчислювальної системи.

Операційна система - це програма, що виконує функції посередника між користувачем і комп'ютером.

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

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

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

Призначення операційної системи полягає в забезпеченні  зручності  керування  комп'ютером.  

ОС, виконуючи роль посередника, має дві мети:

ефективно використовувати комп'ютерні ресурси.

створювати умови для ефективної роботи користувача

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

Компоненти ОС поділяються на 2 класи: системні і прикладні.

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

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

ОС повинна здійснювати:

керування процесами (розподіляє ресурс - процесорний час);

керування пам'яттю (розподіляє ресурс - адресний простір основної пам'яті);

керування довготермінової пам¢яті (магнітні диски, флеш - пам¢ять ...)

керування пристроями (розподіляє ресурси) - устаткування введення - висновку;

керування даними (розподіляє ресурс -  дані чи файли – завантаження користувальницьких програм у пам¢ять).

Паралельно виконання декількох задач

Організація взаємодії задач одна з іншою

Захист системних ресурсів, даних і програм користувача, виконуємих процесів і самої себе від помилкових і злонаправлених дій користувачів і їх програм.

Аутентифікацію (перевірка, що користувач той за кого себе видає) і авторизацію(перевірка користувача на право виконувати ту чи іншу операцію)

Функціонування комп'ютера після включення живлення починається з запуску програми первісного завантаження - Boot Track. Програма Boot Track ініціалізує основні апаратні блоки комп'ютера і регістри процесора (CPU), накопичувач пам'яті, контролери периферійного устаткування. Потім завантажується ядро ОС,  Operating System Kernel. Подальше функціонування ОС здійснюється як реакція на події, що відбуваються в комп'ютері.

Класифікація ОС

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

Підтримка багатозадачності. По числу одночасно виконуваних задач операційні системи можуть бути розділені на два класи:

однозадачні (наприклад, 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).

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

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

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

Особливості апаратних платформ

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

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

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

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

Особливості областей використання

Багатозадачні ОС підрозділяються на три типи відповідно до використаного при їхній розробці критеріями ефективності:

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

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

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

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

Особливості методів побудови

До таких базових концепцій відносяться:

  •  Способи побудови ядра системи - монолітне чи ядро мікроядерний підхід.
  •  Побудова ОС на базі об’єктно-орієнтованого підходу
  •  Наявність декількох прикладних середовищ дає можливість у рамках однієї ОС одночасно виконувати додатка, розроблені для декількох ОС. Багато сучасних операційних систем підтримують одночасно прикладні середовища MS-DOS, Windows, UNIX (POSIX), OS/2 чи хоча б деякої підмножини з цього популярного набору.
  •  Розподілена організація операційної системи дозволяє спростити роботу користувачів і програмістів у мережних середовищах. У розподіленої ОС реалізовані механізми, що дають можливість користувачу представляти і сприймати мережу у виді традиційного однопроцесорного комп'ютера. Характерними ознаками розподіленої організації ОС є: наявність єдиної довідкової служби поділюваних ресурсів, єдиної служби часу, використання механізму виклику вилучених процедур (RPC) для прозорого розподілу програмних процедур по машинах 

Моделі операційних систем

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

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

Контрольні запитання:

  1.  Охарактеризуйте однозадачні та багатозадачні системи.
  2.  Наведіть приклади однозадачних та багатозадачних систем
  3.  Охарактеризуйте однокористувальницькі та багатокористувальницькі системи
  4.  Наведіть приклади однокористувальницьких та багатокористувальницьких систем
  5.  Охарактеризуйте та наведіть приклади систем, що витісняють (не витісняють багатозадачність)
  6.  Поясніть такі визначення прийняті до ОС Підтримка багатонитковості, багатопроцесорна обробка
  7.  Яким чином  можна класифікувати системи  багатопроцесорної обробки Поясніть Особливості апаратних платформ
  8.  Дайте характеристику системам пакетної обробки
  9.  Дайте характеристику системам поділу часу
  10.  Дайте характеристику системам реального часу
  11.  Охарактеризуйте особливості методів побудови системи.
  12.  Які моделі ОС ви знаєте.

Лекція №2

Тема Файлові системи. Файли. Каталоги

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

Мета: Отримати такі головні поняття з курсу ОС як, файлова система, види каталогів, високорівневе, низькорівневе форматування, іменування файлів Структура файлу Типи файлів Доступ до файлів Атрибути файлу Операції з файлами Файли, що відображаються на адресний простір пам’яті Каталоги: дно рівневі каталоговиє системи Дворівневі каталоговиє системи Ієрархічні каталогови  системи Ім’я шляху Операції з каталогами

Магнітні диски

 Основні поняття:

  •  Головка (Head) - електромагніт що ковзає над поверхнею диска, для кожної поверхні використовується своя головка. Нумерація починається з 0.
  •  Доріжка (Track) - концентричне коло, яке може прочитати головка в одній позиції. Нумерація доріжок починається із зовнішньою (перша має номер - 0).
  •  Циліндр (Cylinder) - сукупність всіх доріжок з однаковим номером на всіх дисках, оскільки дисків може бути багато  і на кожному диску запис може бути з двох сторін.
  •  Маркер - від нього починається нумерація доріжок, є на кожному диску.
  •  Сектор - на сектори розбивається кожна доріжка, сектор містить мінімальний блок інформації. Нумерація секторів починається від маркера.
  •  Геометрія жорсткого диска - набір параметрів диска, кількість головок, кількість циліндрів і кількість секторів.

У сучасних жорстких дисків контролер вбудований в сам пристрій, і бере на себе велику частину роботи, яку не бачить ОС.

Форматування дисків (програмна частина)

 Низькорівневе форматування

 Низькорівневе форматування - розбиття диска на сектори, проводиться виробниками дисків.

Кожен сектор складається з:

Заголовка (Prefix portion) - по якому визначається початок (послідовність певних бітів) сектори і його номер, і номер циліндра.

Область даних (як правило 512 байт)

Кінець сектора (Suffix portion) - містить контрольну суму ECC (Error Correction Code - код коректування помилок). Дозволяє виявити або навіть виправити помилки читання. Розмір залежить від виробника, і показує, як виробник відноситься до надійності роботи диска.

 Сектор диска

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

При низькорівневому форматуванні частина корисного об'єму зменшується, приблизно до 80%.

Перекіс циліндрів

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

Чергування секторів

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

Щоб цього не трапилося застосовують чергування секторів.

Якщо копіювання дуже повільне, може застосуються двократне чергування, або більше.

Розділи диска

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

Для чого можна використовувати розділи:

Відокремити системні файли від призначених для користувача (наприклад, своп-файли)

Ефективніше використовувати простір (наприклад, для адміністрування).

На різні розділи можна встановити різні ОС.

Основні розділи диска:

Первинний (Primary partition) - деякі ОС можуть завантажуватися тільки з первинного розділу.

Розширений (Extended partition) - безпосередньо дані не містить, служить для створення логічних дисків (створюється що б обійти обмеження в 4-ре розділу).

Логічний (Logical partition) - може бути будь-яка кількість.

Інформація про розділи записується в 0-му секторі 0-го циліндра, головка 0. І називається таблицею розділів.

Таблиця розділів (Partition Table) - містить інформацію про розділи, номер початкових секторів і розміри розділів. На  Pentium-комп'ютерах в таблиці є місце тільки для чотирьох записів, тобто може бути тільки 4 розділи (до логічних це не відноситься, їх може бути не обмежена кількість).

Цей сектор називається головним завантажувальним записом.

 Головний завантажувальний запис MBR (Master Boot Record) - містить завантажувальну програму і таблицю розділів.

 Активний розділ - розділ з якого завантажується ОС, може бути і логічним. У одному сеансі завантаження може бути тільки один активний розділ. У Windows розділи називатимуться пристроями C:, D:, E: і т.д.

Високорівневе форматування

 Високорівневе форматування (створення файлової системи) - проводиться для кожного розділу окремо, і виконує наступне:

Створює завантажувальний сектор (Boot Sector)

Створює список вільних блоків (для UNIX) або таблицю (ы) розміщення файлів (FAT - File Allocation Table) (для FAT або NTFS)

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

Створює порожню файлову систему

Указує яка файлова система

Позначає дефектні кластери

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

При завантаженні системи, відбувається наступне:

1. Запускається BIOS

2. BIOS прочитує головний завантажувальний запис, і передає їй управління

3. Завантажувальна програма визначає який розділ активний

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

5. Програма завантажувального сектора знаходить в кореневому каталозі певний файл (завантажувальний файл)

6. Цей файл завантажується в пам'ять і запускається (ОС починає завантаження) Алгоритми планування переміщення головок

Чинники що впливають на час прочитування або запису на диск:

  •  Час пошуку (час переміщення головки на потрібний циліндр)
  •  Час перемикання головок
  •  Затримка обертання (час, потрібний для повороту потрібного сектора під головку)
  •  Час передачі даних 

Алгоритми планування

  •  Алгоритм "перший прийшов - першим обслужений" FCFS (First Come, First Served)
  •  Алгоритм короткий час пошуку першим (або найближчий циліндр першим) SSF (Shortest Seek First)
  •  Алгоритми сканування (SCAN, C-SCAN, LOOK, C-LOOK)

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

 LOOK - якщо ми знаємо, що обслужили останній попутний запит у напрямі руху головок, то ми можемо не доходити до краю диска, а відразу змінити напрям руху на зворотний

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

 C-LOOK - по аналогії з попереднім.

Обробка помилок

Блоки і кластери не повинні містити дефектні сектори, тому система повинна уміти позначати дефектні сектори.

Помилки можуть бути виявлені на трьох рівнях:

  •  На рівні дефектного сектора ECC (використовуються запасні, робить сам виробник)
  •  Дефектні блоки або кластери можуть оброблятися контролером або самою ОС.

Стабільно запам’ятовуючий пристрій

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

У даній моделі враховується наступне:

  •  Запис блоку може бути перевірений при подальшому читанні і вивченні ECC.
  •  Правильно записаний сектор може стати дефектним і не читатися (але це відбувається рідко).
  •  Допускається вихід з ладу центрального процесу.

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

Для досягнення цієї мети визначені три операції:

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

 2. Стабільна операція читання складається з наступних кроків:
- прочитується блок з диска 1
- перевіряється на помилки, якщо виявлені прочитування повторюється, і так кілька разів.
- якщо всі спроби з 1-м диском не вдалі, все повторюється для другого

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

Іменування файлів

Довжина імені файлу залежить від ОС, може бути від 8 (MS-DOS)  до 255 (Windows, LINUX) символів.

ОС можуть розрізняти прописні і рядкові символи. Наприклад, WINDOWS і Windows для MS-DOS одне і теж, але для UNIX це різні файли.

У багато ОС ім'я файлу складається з двох частин, розділених крапкою, наприклад windows.exe. Частину після крапки називають розширенням файлу. По ньому система розрізняє тип файлу.

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

У UNIX розширення обмежене розміром імені файлу в 255 символів, також у UNIX може бути декілька розширень, але розширеннями користуються більшим прикладні програми, а не ОС. По розширенню UNIX не може визначити виконуваний це файл чи ні.

Структура файлу

Три основні структури файлів:

 1. Послідовність байтів - ОС не цікавиться вмістом файлу, вона бачить тільки байти. Основна перевага такої системи, це гнучкість використання. Використовуються в Windows і UNIX.

 2. Послідовність записів - записів фіксованої довжини (наприклад перфокарта), прочитуються послідовно. Зараз не використовуються.

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

 Типи файлів

Основні типи файлів:

Регулярні - містять інформацію користувача. Використовуються в Windows і UNIX.

Каталоги - системні файли, що забезпечують підтримку структури файлової системи. Використовуються в Windows і UNIX.

Символьні - для моделювання введення-висновку. Використовуються тільки в UNIX.

Блокові - для моделювання дисків. Використовуються тільки в UNIX.

 Основні типи регулярних файлів:

ASCII файли - складаються з текстових рядків. Кожен рядок завершується поверненням каретки (Windows), символом перекладу рядка (UNIX) і використовуються обидва варіанти (MS-DOS). Тому якщо відкрити текстовий файл, написаний в UNIX, в Windows, то всі рядки зіллються в один великий рядок, але під MS-DOS вони не зіллються (це достатньо часта ситуація). Основні переваги ASCII файлів:
- можуть відображатися на екрані і виводиться на принтер без перетворень
- можуть редагуватися майже будь-яким редактором

Двійкові файли - файли, решти (не ASCII). Як правило мають внутрішньою структуру.

Основні типи двійкових файлів:

Виконувані - програми, їх може обробляти сама операційна система, хоча вони записані у вигляді послідовності байт.

Невиконувані - всі інші.

Доступ до файлів

Основні види доступу до файлів:

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

Файли мають

  •  Атрибути файлу
  •  Операції з файлами

Файли, що відображаються на адресний простір пам'яті

Іноді зручно файл відобразити в пам'яті (не треба використовувати системні виклики введення-висновку для роботи з файлом), і працювати з пам'яттю, а потім записати змінений файл на диск.

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

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

Каталоги

Види каталогів

  •  Однорівневі каталогові системи
  •  Дворівневі каталогові системи
  •  Ієрархічні каталогові системи

Кожен користувач може створювати стільки каталогів, скільки йому потрібно.

Ім'я шляху

Для організації дерева каталогів потрібен деякий спосіб вказівки файлу.

Два основні методи вказівки файлу:

 абсолютне ім'я  шляху - указує шлях від кореневого каталогу, наприклад:
- для Windows \usr\ast\mailbox
- для UNIX /usr/ast/mailbox
- для MULTICS >usr>ast>mailbox

 відносне ім'я шляху - шлях указується від поточного каталогу (робочого каталогу), наприклад:
- якщо поточний каталог /usr/, то абсолютний шлях  /usr/ast/mailbox перепишеться в ast/mailbox
- якщо поточний каталог /usr/ast/, то абсолютний шлях  /usr/ast/mailbox перепишеться в  mailbox
- якщо поточний каталог /var/log/, то абсолютний шлях  /usr/ast/mailbox перепишеться в  ../../usr/ast/mailbox

 ./ - означає поточний каталог

 ../ - означає батьківський каталог

Контрольні запитання

Поясніть основні визначення диску : сектор, кластер, доріжка. 

Поясніть призначення та принцип роботи масивів RAID

Поясніть принцип форматування дисків.

Які ви знаєте алгоритми низькорівневого форматування.

Поясніть принцип поділу жорсткого диску на розділи

Дайте визначення файлу, каталогу.

Поясніть абсолютне та відносне ім.’я файлу.

Які будова каталогів вам відома.

Лекція №3

Тема  Процеси системи

Процес. Стани процесу. Керування процесами.

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

Мета: Ознайомити студентів з поняттям процесу, управління процесами, методами планування процесів для ОС. Перериваннями ОС.

Переривання ос.

Настання тієї чи іншої події сигналізується перериваннями - Interrupt. Джерелами переривань можуть бути як апаратура (HardWare), так і програми (SoftWare).

Апаратура "повідомляє" про переривання асинхронно (у будь-який момент часу) шляхом пересилання в CPU через загальну шину сигналів переривань. Програма "повідомляє" про переривання шляхом виконання операції System Call. Приклади подій, що викликають переривання:

спроба ділення на 0

запит на системне обслуговування

завершення операції введення - висновку

неправильне звертання до пам'яті

Кожне переривання обробляється відповідно оброблювачем переривань (Interrupt handler), що входять до складу ОС.

 Головні функції механізму переривань - це:

 розпізнавання чи класифікація переривань

передача керування відповідно оброблювачу переривань

коректне повернення до перерваної програми

Перехід від програми, що переривається, до оброблювача і назад повинний виконуватися як умога швидше. Одним зі швидких методів є використання таблиці, що містить перелік усіх припустимих для комп'ютера переривань і адреси відповідних оброблювачів. Така таблиця називається вектором переривань (Interrupt vector) і зберігається на початку адресного простору основної пам'яті (UNIX/MS DOS).

Керування процесами.

Процес - це програмний модуль, виконуваний у CPU. Операційна система  контролює наступну діяльність, зв'язану з процесами:

створення і видалення процесів

планування процесів

синхронізація процесів

комунікація процесів

рішення тупикових ситуацій

Поняття Процес. Стану процесу

Не слід змішувати поняття процес і програма. Програма - це план дій, а процес - це сама дія. Поняття процес включає:

програмний код

дані

уміст стека

вміст адресного й іншого регістрів CPU.

Існують наступні стани процесу:

новий (new, процес тільки створений)

виконуємий (running, команди програми виконуються в CPU)

що очікує (waiting, процес очікує завершення деякої події, найчастіше операції введення - виведення)

готовий (ready, процес очікує звільнення CPU)

завершений (terminated, процес завершив свою роботу)

Планування процесів. Поняття черги. 

Розподіл процесів між наявними ресурсами зветься планування процесів.

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

При проходженні через комп'ютер процес мігрує між різними чергами під керуванням програми, що називається планувальник. (scheduler) Операційна система, що забезпечує режим мультипрограмування, звичайно має два планувальника - довгостроковий (long term scheduler) і короткостроковий (short term scheduler/CPU scheduler).

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

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

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

Короткостроковий планувальник вирішує, який із процесів, що знаходяться в черзі готових процесів, повинний бути переданий на виконання в CPU. У деяких операційних системах довгостроковий планувальник може бути відсутнім. Наприклад, у системах поділу часу (time sharing system), кожен новий процес відразу ж міститься в основну пам'ять.

Планування процесу.

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

Критерії планування процесора.

Використовуються наступні критерії, що дозволяють порівнювати алгоритми короткострокових планувальників:

утилізація CPU (використання) CPU utilization. утилізація CPU теоретично може знаходитися в межах від 0 до 100%. У реальних системах утилізація CPU коливається в межах 40% для легко завантаженого CPU, 90% для важко завантаженого CPU.

пропускна здатність CPU throughput. Пропускна здатність CPU може вимірятися кількістю процесів, що виконуються в одиницю часу.

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

час чекання (waiting time). під часом чекання розуміється сумарний час перебування процесу в черзі готових процесів.

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

Стратегії планування процеcу. Основні поняття планування процесів

 Планування - забезпечення почергового доступу процесів до одного процесора.

 Планувальник - частина операційної системи, що відповідає за це.

 Алгоритм планування - використовуваний алгоритм для планування.

Ситуації коли необхідне планування:

1. Коли створюється процес

2. Коли процес завершує роботу

3. Коли процес блокується на операції введення/висновку, семафорі, і т.д.

4. При перериванні введення/висновку.

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

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

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

Основні три системи:

1. Системи пакетної обробки - можуть використовувати непріоритетний і пріоритетний алгоритм (наприклад: для розрахункових програм).

2. Інтерактивні системи - можуть використовувати тільки пріоритетний алгоритм, не можна допустити щоб один процес зайняв надовго процесор (наприклад: сервер загального доступу або персональний комп'ютер).

3. Системи реального часу - можуть використовувати непріоритетний і пріоритетний алгоритм (наприклад: система управління автомобілем).

Завдання алгоритмів планування:

 1. Для всіх систем
Справедливість - кожному процесу справедливу частку процесорного часу
Контроль за виконанням прийнятої політики
Баланс - підтримка зайнятості всіх частин системи (наприклад: щоб були зайняті процесор і пристрої введення/висновку)

 2. Системи пакетної обробки
Пропускна спроможність - кількість завдань в годину
Оборотний час - мінімізація часу на очікування обслуговування і обробку завдань.
Використання процесу - щоб процесор завжди був зайнятий.

 3. Інтерактивні системи
Час відгуку - швидка реакція на запити
Відповідність - виконання очікувань користувача (наприклад: користувач не готовий до довгого завантаження системи)

 4. Системи реального часу
Закінчення роботи до терміну - запобігання втраті даних
Передбаченість - запобігання деградації якості в мультимедійних системах (наприклад: втрат якості звуку повинно бути менше ніж відео)

Планування в системах пакетної обробки 

1 "Перший прийшов - першим обслужений" (FIFO - First In Fist Out)

2 "Найкоротша задача - перша"

3 Найменший час, що залишився, виконання

4 Трирівневе планування

4.3 Планування в інтерактивних системах

  1.  Циклічне планування
  2.  Пріоритетне планування
  3.  Методи розділення процесів на групи
  4.  Групи з різним квантом часу
  5.  Групи з різним призначенням процесів
  6.  Гарантоване планування
  7.  Лотерейне планування
  8.  Справедливе планування

Планування в системах реального часу Системи реального часу діляться на:

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

Зовнішні події на які система повинна реагувати, діляться:

  •  періодичні - потокове відео і аудіо
    •  неперіодичні (непередбачувані) - сигнал про пожежу

Що б систему реального часу можна було планувати, потрібне щоб виконувалася умова:

m - число періодичних подій

 i - номер події

 P(i) - період надходження події

 T(i) - час, який йде на обробку події

Тобто переобтяжена система реального часу є не планованою

Адресний простір процесу

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

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

Спільно виконувані процеси можуть бути або незалежними (independed processes), або взаємодіючими (cooperating processes). Взаємодія процесів часто розуміється в змісті взаємного обміну даними через загальний буфер даних.

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

Буфер має фіксовані розміри, і отже процеси можуть знаходитися в стані чекання, коли:

буфер заповнений; очікує процес - виробник

буфер порожній; очікує процес - споживач

Буфер може надаватися і підтримуватися самої ОС, наприклад за допомогою засобів комунікації процесів (IPC - Inter Process Communication), або організувати прикладним програмістом. При цьому обидва процеси використовують загальну ділянку пам'яті

Контрольні запитання:

  1.  Які види переривань існують?
  2.  Назвіть функції механізмі переривань.
  3.  Дайте визначення процесу. Стану процесу. Планування процесу.
  4.  характеризуйте поняття черги процесу.
  5.  Назвіть критерії планування процесу.
  6.  Які стратегії планування процесів вам відомі. Яка стратегія планування найбільш універсальна.
  7.  Через абстракцію процесу, яку ілюзію створює ядро програмі?
  8.  Чи завжди все в системі відбувається в рамках процесів?
  9.  Охарактеризуйте адресний простір процесу.
  10.  Охарактеризуйте взаємодію процесів. Користувальницький рівень.
  11.  Охарактеризуйте планування процесів в пакетних системах.
  12.  Охарактеризуйте планування процесів в інтерактивних системах.
  13.  Охарактеризуйте планування процесів в системах реального часу.

Лекція №4

Тема Методи розподілу памяті без дискового простору. Методи розподілу памяті за допомогою дискового простору.  Розподіл пам’яті системи Windows. Устрій віртуальної памяті Віртуальна память. Сторінковий, сегментний, сторінково  -сегментний розподіл. Свопінг.Розподіл памяті фіксованими, динамічними, переміщуваниим розділами.Робота з памяттю. Де фрагментація і усунення помилок на диску. Зясувавння розміру кластера.  Алгоритми вивантаження сторінок.

Мета:Охарактеризувати методи розподілу пам¢яті. Показати доцільність використовування методів розподілу, недоліки та переваги кожного методу.

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

Методи розподілу пам'яті без використання дискового простору

Розподіл пам'яті фіксованими розділами

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

Підсистема керування пам'яттю в цьому випадку виконує наступні задачі:

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

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

Розподіл пам'яті розділами змінної величини тобто динамічними розділами.

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

Задачами операційної системи при реалізації даного методу керування пам'яттю є:

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

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

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

Переміщувані розділи

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

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

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

Методи розподілу пам'яті з використанням дискового простору

Поняття віртуальної пам'яті

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

Віртуальна пам'ять - це сукупність програмно-апаратних засобів, що дозволяють користувачам писати програми, розмір яких перевершує наявну оперативну пам'ять; для цього віртуальна пам'ять вирішує наступні задачі:

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

- переміщує в міру необхідності дані між запам'ятовуючими пристроями різного типу, наприклад, довантажує потрібну частину програми з диска в оперативну пам'ять;

- перетворює віртуальні адреси у фізичні.

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

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

Сторінковий розподіл

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

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

Розмір сторінки звичайно вибирається рівним ступеня двійки: 512, 1024 і т.д., це дозволяє спростити механізм перетворення адрес.

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

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

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

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

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

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

Найбільш популярні критерії вибору:

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

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

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

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

Сегментний розподіл

Віртуальний адресний простір процесу поділяється на сегменти

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

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

Сторінково-сегментний розподіл

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

Свопинг

Різновидом віртуальної пам'яті є свопинг.

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

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

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

Алгоритми заміщення сторінок

1 Алгоритми заміщення сторінок

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

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

2. Алгоритм NRU (Not Recently Used - сторінка, що не використалася останнім часом)

Використовуються біти звернення (R-Referenced) і зміни (M-Modified) в таблиці сторінок.

При зверненні біт R виставляється в 1, через деякий час ОС не переведе його в 0.

M переводиться в 0, тільки після запису на диск.

Завдяки цим бітам можна одержати 4-ре класу сторінок:

1. не було звернень і змін (R=0, M=0)

2. не було звернень, була зміна (R=0, M=1)

3. було звернення, не було змін (R=1, M=0)

4. було звернень і змін (R=1, M=1)

 3. Алгоритм FIFO (перша прибула - перша вивантажена)

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

4. Алгоритм "друга спроба"

Подібний FIFO, але якщо R=1, то сторінка переводиться в кінець черги, якщо R=0, то сторінка вивантажується.

5. Алгоритм "годинник"

Щоб уникнути переміщення сторінок за списком, можна використовувати покажчик, який переміщається за списком.

6. Алгоритм LRU (Least Recently Used - що використалася найрідше)

Перший метод:

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

Другий метод:

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

7. Алгоритм "робочий набір"

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

 Буксування - коли кожну наступну сторінку доводиться процесу завантажувати в пам'ять.

Щоб не відбувалося частих переривань, бажано щоб часто запрошувані сторінки завантажувалися наперед, а інші підвантажувалися з потреби.

 Робочий набір - безліч сторінок (к), яку процес використовував до моменту часу (t). Тобто можна записати функцію w(к,t).

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

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

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

У принципі можна використовувати безліч сторінок до яких звертався процес за останніми t секунд.

 Поточний віртуальний час (Tv) - час роботи процесора, який реально використовував процес.

 Час останнього використання (Told) - поточний час при R=1, тобто всі сторінки перевіряються на R=1, і якщо та той поточний час записується в це поле.

Тепер можна обчислити вік сторінки (не оновлення) Tv-Told, і порівняти з t, якщо більше, то сторінка не входить в робочий набір, і сторінку можна вивантажувати.

Виходить три варіанти:

  •  якщо R=1, той поточний час запам'ятовується в полі час останнього використання
  •  якщо R=0 і вік > t, то сторінка віддаляється
  •  якщо R=0 і вік =< t, то ця сторінка входить в робочий набір

 8. Алгоритм WSClock

Алгоритм заснований на алгоритмі "годинник", але використовує робочий набір.

Використовуються бітів R і M,  а також час останнього використання Розміри сторінок

Є два крайні випадки:

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

Великі сторінки - навпаки.

 Спільно використовувані сторінки

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

Політика очищення сторінок

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

 Сторінковий демон - програма періодично перевіряюча стан пам'яті, якщо зайнято багато блоків, то проводить вибіркове вивантаження сторінок.

Контрольні запитання:

  1.  Охарактеризуйте функції ОС по керуванню пам'яттю.
  2.  Охарактеризуйте розподіл пам'яті фіксованими розділами
  3.  Охарактеризуйте розподіл пам'яті розділами змінної величини тобто динамічними розділами.
  4.  Охарактеризуйте розподіл пам'яті переміщувані розділи
  5.  Дайте визначення віртуальної пам'яті
  6.  Охарактеризуйте сторінковий розподіл
  7.  Охарактеризуйте сегментний розподіл
  8.  Охарактеризуйте сторінково-сегментний розподіл
  9.  Охарактеризуйте розподіл пам'яті Свопинг
  10.  Поясніть поняття Віртуальної  пам'яті
  11.  Поясніть принцип сторінкової організації пам’яті.
  12.  Поясніть сторінкове переривання, таблиця сторінок
  13.  Поясніть принцип сегментної організації пам’яті
  14.  Охарактеризуйте алгоритми заміщення сторінок
  15.  Поясніть особливості реалізації пам’ті в UNIX
  16.  Поясніть особливості реалізації  пам’ті в Windows

Лекція №5

Тема Розподіл памяті операціонних систем  Windows 95/98/2000/XP

Процес. Поток. Синхронізація потоків. Віртуальна память Windows. Диспетчер віртуальної памяті. Процеси та повідомлення системи. Планування пріоритетів. Робота програм в системі Windows. Налагодження системи.

Мета: Охарактеризувати розподіл пам¢яті ОС Windows 95/98/2000/XP.  Пояснити поняття, такі як процес та поток, синхронізація потоків.  

ПРОГРАМА – це файл, який можливо запустити у системі різними способами. Після запуску програма   називається процесом.

ПРОЦЕС – це програма завантажена в пам`ять i готова до виконання.  Програма виконується у           

            власному  вiртуальному просторi, i включає в себе код, данi i ресурси ОС (такі як файли      

             i канали) якi процес бачать i можуть використовувати.

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

ПРОЦЕС -  складається  з одного або декiлька  потокiв, якi використовуються  у  визначеному кон-

                    текстi.

ПОТОК -  це  елементарний  об`єкт, який отримує кванти часу процесора вiд ОС.

                 Пiд термiном поток маємо – поток виконання програмного кода. В потоцi  може бути

           Виконана  будь-яка частина коду    програми, навiть якщо вона може виконуватися  

           Iншим  потоком.  Усi потоки, якi  належать одному процесу , мають з цим процесом

           спiльний код, ресурси, вiртуальний адресний простiр i глобальнi змiннi.

Процесу виділяється 4 Гигабайтний віртуальний адресний простір. Програма може звертатися до любого байту цього адресного простору, використовуючи один – єдиний 32 розрядний адресний простір. При цьому в адресному просторі кожного процесу міститься багато самих різних елементів:

Наприклад

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

Розподіл памяті WINNT.

Диспетчер памяті Windows NT використовує сторінкове відображення і  32 розрядну лінійну адресацію памяті. Адресний простір поділений на 4 секції – дві старші і дві молодші області.

  1.  від 0 до 64 КБ – зарезервована системою. (область ніколи не може бути виділена процесом)
  2.  від 64 – 2ГБ-64 – кожен процес Win 32 відображає область для використання в якості власного адресного пространства і для відображаємих файлів. Використовується віртуальними машинами DOS  і системою, яка підтримує 16 розрядні програми.
  3.  2ГБ-64 до 2ГБ – резервується системою і використовується для перехвату помилкових звертань до памяті, які можуть вплинути на область памяті вище 2ГБ
  4.  від 2 до 4 Гб – резервується для використання Windows NT

Устрій віртуальної пам'яті

Насправді ніяких сотень гігабайт оперативної пам'яті у вашому комп'ютері немає.  Немає і сотень гігабайт дискового простору.

4-гігабайтний адресний простір процесу фрагментовано. Програми й елементи

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

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

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

Усі процеси спільно використовують один великий загальносистемний файл підкачування (swap file), у який містяться (при необхідності) усі види даних для читання і запису і деякі види даних тільки для читання. (Windows NT підтримує одночасну роботу з декількома файлами підкачування.) Windows визначає розмір файлу підкачування в залежності від розміру ОЗУ і вільного дискового простору.

Однак файл підкачування — не єдиний файл, використовуваний диспетчером віртуальної пам'яті. Немає особливого змісту записувати в цей файл сторінки коду. Замість цього Windows зберігає вміст ЕХЕ- і DLL-модулів безпосередньо в їхніх дискових файлах. Оскільки сторінки коду позначені як «тільки для читання», те необхідності в їхньому записі назад на диск не виникає.

Якщо два процеси використовують той самий ЕХЕ-файл, то він відображається на адресні простори обох процесів. Код і константи ніколи не змінюються під час виконання програми, тому можна проектувати файл на ту саму область фізичної пам'яті. Однак два процеси не можуть спільно використовувати глобальні дані. З ними Windows 95 і Windows NT надходять по-різному. Windows 95 проектує в кожен процес окрему копію глобальних даних, а от у Windows NT  обидва процеси користаються однієї і тією же копією глобальних даних доти, поки один із процесів не спробує що-небудь записати на сторінку. У цей момент сторінка копіюється, після чого в кожного процесу з'являється власна копія, що знаходиться по однаковій віртуальній адресі.

Примітка: Windows NT повністю захищає усі 4 ГБ адресного простору кожного процесу.

Windows 95 тільки нижні 2 ГБ.

Конфігурація віртуального адресного простору Windows

Білим кольором виділені області приватних даних процесу.

Затемнені області спільно використовувані всіма процесами.

Області в 64 Кбайт на початку і в кінці, використовуються для зашиті віртуального адресного простору процесу, при спробі читання або запису в ці області буде викликане переривання.

Системні дані містять покажчики і таймери доступні на читання іншим процесам.

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

У сторінок є три стани:

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

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

Випереджаюча підкачка в Windows не використовується.

В Windows використовується поняття робочий набір.

Сторінковий демон в Windows складається з :

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

Також в Windows є наступні демони:

  •  свопер-демон
  •  демон запису відображених сторінок - запис у відображені файли
  •  демон запису модифікованих сторінок

 У Windows системах сегментація  не підтримується. Тому кожному процесу виділяється віртуальний адресний простір в 4 Гбайт (обмеження 32 розрядів). Нижні 2 Гбайт доступні для процесу, а верхні 2 Гбайт відображаються на спомин ядра. У Advanced server і Datacenter server процес може використовувати до 3 Гбайт.

Сторінки мають фіксований розмір (на процесорах Pentium 4 Кбайт, на Itanium 8 або 16 Кбайт) і підвантажуються на вимогу.

Контрольні запитання:

  1.  Дайте визначення параметрам системи таким як пограма, процес, поток.
  2.  Охарактеризуйте розподіл пам¢яті WIN95.
  3.  Охарактеризуйте розподіл пам¢яті WINNT.
  4.  Поясніть устрій віртуальної памяті
  5.  Призначення та робота диспетчера виртуальної памяті Windows

Лекція №6

Тема Структура мережної операційної системи Приклади мережних ОС Модель OSI

Основна термінологія Топологія мережі Загальний огляд мережних ОС Особливості методів побудови системи. Гетерогенні мережі. Проблеми в гетерогенних мережах

Мережі побудовані за допомогою шлюзу та мультиплексору. Недоліки та переваги будови системи за допомогою шлюзу та мультиплексору

Частини мережаної ОС. Будова мережних операційних систем Однорангові та дворангові мережні  ОС

Мережі відділів, кампусів, підприємств . Задачі і проблеми корпоративної мережі.

Глобальні та локальні мережі. Мережа шинної, кільцевої, зірки будови

Мета:Охарактеризувати структуру мережаних ОС. Оглянути основні види використання мережаних ОС. Ознайомити з моделлю OSI та основною термінологією. Показати різноманітність видів мереж. Вказати на основні проблеми та методи ріщення. Охарактеризувати переваги та недоліки методів рішення проблем у гетерогенній мережі дивлячись на конкретну удову та вимоги до мережі.

Структура мережної операційної системи

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

Рис. 1.1. Структура мережний ОС

У мережній операційній системі окремої машини можна виділити кілька частин (рис 1.1):

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

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

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

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

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

Однорангові мережні ОС і ОС з виділеними серверами

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

Останні частіше називають мережами з виділеними серверами.

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

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

На виділених серверах бажано встановлювати ОС, спеціально оптимізовані для виконання тих чи інших серверних функцій. Тому в мережах з виділеними серверами найчастіше використовуються мережні операційні системи, до складу яких входить декількох варіантів ОС, що відрізняються можливостями серверних частин. Наприклад, мережна ОС Novell NetWare має серверний варіант, оптимізований для роботи як файл-сервер, а також варіанти оболонок для робочих станцій з різними локальними ОС, причому ці оболонки виконують винятково функції клієнта. ОС, орієнтована на побудову мережі з виділеним сервером, є операційна система Windows NT. На відміну від NetWare, обидва варіанти даної мережний ОС - Windows NT Server (для виділеного сервера) і Windows NT Workstation (для робочої станції) - можуть підтримувати функції і клієнта і сервера.

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

Однорангові мережі.

В однорангових мережах усі комп'ютери рівні в правах доступу до ресурсів один одного. Кожен користувач може по своєму бажанню оголосити який-небудь ресурс свого комп'ютера поділюваним, після чого інші користувачі можуть його експлуатувати. У таких мережах на всіх комп'ютерах установлюється та сама ОС, що надає всім комп'ютерам у мережі потенційно рівні можливості. Однорангові мережі можуть бути побудовані, наприклад, на базі ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation.

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

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

Види мережаних  ОС за будовою.

ОС для робочих груп і ОС для мереж масштабу підприємства

Мережі відділів - використовуються невеликою групою співробітників, що вирішують загальні задачі. Головною метою мережі відділу є поділ локальних ресурсів, таких як додатка, дані, лазерні принтери і модеми. Мережі відділів звичайно не розділяються на під мережі. Звичайно мережі відділів мають один чи два файлових сервери і не більш ніж 30 користувачів. Задачі керування на рівні відділу відносно прості. У задачі адміністратора входить додавання нових користувачів, усунення простих відмовлень, інсталяція нових вузлів і установка нових версій програмного забезпечення. Така мережа звичайно використовує одну чи максимум дві мережні ОС. Найчастіше це мережа з виділеним сервером NetWare 3.x чи Windows NT, чи ж однорангова мережа, наприклад мережа Windows for Workgroups.

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

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

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

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

Задачі і проблеми корпоративної мережі.

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

Сервер додатків повинний базуватися на могутній апаратній платформі .

У цьому відношенні мережну ОС NetWare важко віднести до корпоративних продуктів, тому що в ній відсутні майже усі вимоги, пропоновані до сервера додатків. У той же час гарна підтримка універсальних додатків у Windows NT власне і дозволяє їй претендувати на місце у світі корпоративних продуктів.

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

Наприклад, у Windows NT мається п'ять різних типів довідкових баз даних. Ближче до ідеалу знаходяться довідкові служби, що поставляються фірмою Banyan (продукт Streettalk III) і фірмою Novell (NetWare Directory Services), що пропонують єдиний довідник для всіх мережних додатків. Наявність єдиної довідкової служби для мережної операційної системи - один з найважливіших ознак її корпоративності.

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

Модель OSI. Основна термінологія

Міжнародною організацією стандартів затверджені визначені вимоги до організації взаємодії між системами мережі.

Ці вимоги одержали назва OSI (Open System Interconnection) - "еталонна модель взаємодії відкритих систем".

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

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

Рівень 1. Фізичний.
На фізичному рівні визначаються електричні, механічні, функціональні і процедурні параметри для фізичного зв'язку в системах. Фізичний зв'язок і нерозривна з нею експлуатаційна готовність є основною функцією 1-го рівня. Стандарти фізичного рівня включають рекомендації V.24 МККТТ (CCITT), EIA r232 і Х.21. Стандарт ISDN ( Integrated Services Digital Network) у майбутньому зіграє визначальну роль для функцій передачі даних. Як середовище передачі даних використовують трехжильный мідний провід (екранована кручена пари), коаксіальний кабель, оптоволоконный провідник і радіорелейну лінію.

Рівень 2. Канальний.
Канальний рівень формує з даних, переданих 1-м рівнем, так називані "кадри", послідовності кадрів. На цьому рівні здійснюються керування доступом до передавального середовищу, використовуваної декількома ЕОМ, синхронізація, виявлення і виправлення помилок.

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

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

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

Рівень 6. Представлення даних.
Рівень представлення даних призначений для інтерпретації даних; а також підготовки даних для користувальницького прикладного рівня. На цьому рівні відбувається перетворення даних з кадрів, використовуваних для передачі даних в екранний чи формат формат для друкувальних пристроїв  системи.

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

Для організації комп'ютерної мережі необхідна наявність:

Мережного програмного забезпечення

Фізичного середовища передачі даних

Коммутуючих пристроїв.

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

Локальний ресурс – ресурс, який розташований на вашому комп¢ютері і фізично підключен до нього.

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

Пропускна здатність – характеристика каналу зв¢язку, який показує, який об¢єм даних можливо передати по деякому каналу за одиницю часу. Пропусктна здатність вимірюється в кілобітах за секунду, для повільних каналів (приклад – телефонне з¢єднання з Інтернетом) мегабітах за секунду, для швидких з¢єднань (наприклад DSL, кабельний модем або Ethernet LAN) і гігабітах за секунду. Пропусктна здатність каналу може бути поділена між декількома користувачами.

Для того щоб визначити теоретично максимальну скорость передачі даних через канал потрібно поділити величину пропускної здатності на 8 (так як біти перетворюємо в байти, 1 байт – 8 бит).   Наприклад через з¢єднання 384 Кбіт/с можливо передати 384/8=48 Кбайт даних. Звідси витікає, що для отримання 1 Мб потрібно приблизно 20 секунд.

Протоколице мова, якою користується комп¢ютер для спілкування з іншими комп¢ютерами мережі. Як правило в мережі одночасно використовується декілька протоколів.

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

У рамках специфікації TCP/IP виділяють декілька основних протоколів:

IP (Internet Protocol) – Він працює на мережному рівні і займається доставкою пакетів – основна задача маршрутизація пакетів.

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

Когда вы обращаетесь к удаленному серверу по протоколу TCP, то происходит процесс установления связи. К примеру, вы обратились к веб-серверу узла 192.168.1.1 (стандартно – на TCP порт 80). При этом ваш компьютер (клиент) тоже должен выделить порт, чтобы сервер знал, куда отправлять ответ. Порт клиента выделяется случайным образом – к примеру, пусть это будет TCP 29334.

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

IP – адреси  кожному комп¢ютеру або пристрою у мережі TCP/IP ставиться відповідно IP адрес, який використовується для індентифікації даного комп¢ютера або пристрою. ІР адреса складається з 4 чисел, де кожне знаходиться у діапазоні від 0 до 255  (207.46.230.218). Двом різним комп¢ютерам мережі TCP/IP не може відповідати один і той самий ІР адрес, у той час комп¢ютер може мати декілька ІРадрес.  Для ідентифікації вузлів Інтернета програмне забезпечення використовує цифрові ІР адреси. Коли користувач вводе символьне ім¢я, спеціальна система перетворює ім¢я в відповідний йому ІР адрес, після чого цей адрес використовується для звернення до вузла який цікавить користувача. База даних відповідностей між ІР адресами і символьними іменами зберігається на спеціальних комп¢ютерах – серверах імен (DNS – сервери).

Передача даних у мережі

Для передачі інформації з комунікаційних ліній дані перетворяться в ланцюжок наступних друг за другом бітов (двоїчне кодування за допомогою двох станів:"0" і "1").

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

Пакет містить у собі: адреса відправника, адреса одержувача, дані, контрольний біт.

Для правильної і, отже, повної і безпомилкової передачі даних необхідно дотримувати погоджених і встановлених правил. Усі вони обговорені в протоколі передачі даних.

Протокол передачі даних вимагає наступної інформації:

  •  Синхронізація - Під синхронізацією розуміють механізм розпізнавання початку блоку даних і його кінця.
  •  Ініціалізація - Під ініціалізацією розуміють установлення з'єднання між взаємодіючими партнерами.
  •  Блокування - Під блокуванням розуміють розбивка переданої інформації на блоки даних строго визначеної максимальної довжини (включаючи пізнавальні знаки початку блоку і його кінця).
  •  Адресація - Адресація забезпечує ідентифікацію різного використовуваного устаткування даних, що обмінюється один з одним інформацією під час взаємодії.
  •  Виявлення помилок - Під виявленням помилок розуміють установку бітов парності і, отже, обчислення контрольних бітов.
  •  Нумерація блоків - Поточна нумерація блоків дозволяє установити помилково передану чи інформацію, що втратилася.
  •  Керування потоком даних - Керування потоком даних служить для розподілу і синхронізації інформаційних потоків. Так, наприклад, якщо не вистачає місця в буфері пристрою даних чи дані не досить швидко обробляються в периферійних пристроях (наприклад, принтерах), повідомлення і / чи запити накопичуються.
  •  Методи відновлення - Після переривання процесу передачі даних використовують методи відновлення, щоб повернутися до визначеного положення для повторної передачі інформації.
  •  Дозвіл доступу - Розподіл, контроль і керування обмеженнями доступу до даних ставляться в обов'язок пункту дозволу доступу (наприклад, "тільки передача" чи "тільки прийом".

Контрольні запитання

  1.  З яких частин складається мережана ОС
  2.  Охарактеризуйте однорангову мережу
  3.  Охарактеризуйте дворангову мережу
  4.  Які види мережаних  ОС за будовою ви знаєте
  5.  Охарактеризуйте модель OSI.
  6.  З яких елементів складається мережне програмне забезпечення
  7.  Дайте визначення наступним характеристикам: локальний ресурс,віддалений ресурс, Ethernet, пропускна здатність.
  8.  Дайте визначення Протоколу системи
  9.  Поясніть призначення протоколу TCP/IP
  10.  Які основні протоколи виділяють у рамках специфікації TCP/IP 
  11.  Дайте визначення наступним характеристикам: маска під мережі, концентратори та перемикачі, маршрутизатор, брандмауер, передача даних у мережі
  12.  Якої інформації вимагає протокол передачі даних:
  13.  Дайте визначення наступним характеристикам: простір доменних імен (DNC), масштабуємість,
  14.  сумісність з іншими продуктами, домен

Лекція №7

Тема  Протоколи TCP\IP. Налагодження протоколу TCP\IP. Утиліти діагностики ТСР/ІР

Мета: Ознайомитися з основними принципами роботи протоколів

Протокол (або стек2 протоколів) передачі даних відповідає за передачу даних і процеси які при цьому виконуються.. Протокол - сукупність правил і стандартів, що становлять модель, грунтуючись на якій комп'ютери можуть спілкуватися один з одним. Кожен рівень цієї моделі характеризується своїми протоколами: мережевого рівня, наприклад - TCP/IP або IPX, а також транспортного рівня - UDP і SPX і т.д.

 На транспортному рівні є два протоколи: UDP і TCP. Обидва вони працюють поверх IP. Це означає, що, коли пакет TCP або UDP опускається на рівень нижче для відправки в мережу, він потрапляє на рівень мережі прямо до протоколу IP. Тут пакету додається мережева адреса, TTL і інші атрибути протоколу IP. Після цього пакет йде далі вниз для фізичної відправки в мережу. Голий пакет TCP не може бути відправлений до мережі, тому що він не має інформації про одержувача, ця інформація додається до пакету з IP-заголовком на рівні мережі.

 Швидкий UDP

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

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

 Оскільки немає з'єднання між сервером і клієнтом, то немає ніякої гарантії в достовірності даних. Протокол UDP більше схильний спуфінгу (spoofing, підміна адреси відправника), тому побудова на ньому захищених мереж утруднена.

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

 Протокол TCP/IP

 TCP/IP - набір протоколів, використовуємий для обміну данімі через Інтернет/, а також в більшості сучасніх локальніх ятерах. Згідно концепції TCP/IP кожній хост, повинний маті візначеній ІР адреса. ІР адреса потрібен для функціонування всіх протоколів та служб стеку протоколів TCP/IP.

 IP (Internet Protocol) - Він працює на ятірному рівні і займається доставкою пакетів - основна завдання маршрутизація пакетів.

 Протокол TCP

На відміну від UDP-протокол TCP усуває недоліки свого транспорту (IP). У цьому протоколі закладені засоби встановлення зв'язку між приймачем і передавачем, забезпечення цілісності даних і гарантії їх доставки.

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

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

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

Надійність з'єднання TCP.

Все починається ще на етапі спроби з'єднання двох комп'ютерів в наступній послідовності:

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

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

Клієнт повинен підтвердити прихід SYN від сервера з використанням АСЬК - спеціальне число сервера плюс 1.

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

 Варто ще відзначити, що прихід будь-якого пакету підтверджується аск-відповіддю, що гарантує доставку даних.

 Корпорація Microsoft реалізувала протокол TCP/IP в моделі OSI по-своєму (з невеликими відхиленнями від стандарту).

  У MS TCP/IP замість семи рівнів є тільки чотири. Але це не означає, що решта рівнів забута і позакидана, просто один рівень може виконувати все, що в OSI роблять три рівні. Наприклад, рівень додатку у Microsoft виконує все, що роблять рівень додатки, рівень уявлення і рівень сеансу, разом узяті.

 

Контрольні запитання.

  1.  Поясніть принцип розподілу мережених адрес.
  2.  Перелічіть класи мереж.
  3.  Поясніть призначення та принцип дії транспортних протоколів.

Лекція №8

Тема   Основи побудови ОС WINDOWS

Підсистема диспетчера віртуальних машин(ВМ). Віртуальні машини. Робота ВМ. Віртуальна память Windows. Диспетчер віртуальної памяті. Реєстр системи. Організація памяті Windows. Доступ програм до памяті. Стани сторінок віртуального адресного простору.Системна вiртуальна машина.  Вiртуальнi  машини  MS-DOS. Віртуальні машинри. Робота віртуальних машин. Архітектура і відмінні особливості операційних систем  WINDOWS-9x. Операційна система Windows 95, 98, 2000, 2003, ХР

Мета: Охарактеризувати операційні системи WINDOWS 2000/ХР. Наголосити на відмінностях операційних систем. Охарактеризувати апаратні вимоги для встановлення та працездатності ОС. Ознайомити студентів з роботою системи з процесами та програмами. Методом планування пріоритетів. Познайомити студентів з поняттям віртуальної машини. Охарактеризувати роботу віртуальних машин(ВМ).

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

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

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

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

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

Розмір сторінки залежить від можливостей встановленого обладнання (для Windows 95 на Intel сумісній машині сторінки займають 4 Кб кожна).

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

Ця схема орієнтована на те , щоб у Windows завжди було достатньо оперативної пам¢яті для програм, при умові, що на диску достатньо вільного простору.

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

Примітка: типи адрес бувають логічні – присвоює користувач при написанні програм

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

 Система управління пам¢ятю Windows дозволяє програмам резервувати сторінки пам’яті для подальшого використовування. Сторінка віртуального адресного простору може бути в одному з трьох станів:

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

Зарезервована – Сторінка резервується процесом для використання в майбутньому. Пам’ять не виділяється, і процес не має доступу до зарезервованої сторінки, резервується тільки діапазон адрес.

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

Мінімальний вказаний об¢єм озу для Windows 95 дорівнює 4 Мб. Windows виділяє єдиний набір сторінок для всіх процесів. Таблиці сторінок постійно оновлюються для кожного потоку в системі де є власні сторінки процесів, розташованих за адресами від 4Мб до 2ГБ.

Windows використовує сторінкову пам¢ять для того, щоб надати всю пам’ять поточним у системі процесам.  

ДИСПЕТЧЕР   ВIРТУАЛЬНОI  МАШИНИ

В серединi cистемноi VM виконуються програми  WIN 16 та  WIN 32.  Бiльша частина коду ОС i даних також міститься у серединi  VM.

Програми WIN 32  працюють на основi алгоритму  «витісняючої»   багатозадачностi  в окремих адресних просторах.  Всi програми WIN 16 виконуються як єдиний процес в загальному  адресному простору  на основi алгоритму  «невитісняючої»  багатозадачностi.

Системна вiртуальна машина – представляє собою  операцiйне середовище, яке підтримує роботу всiх програм  WIN 95  i пiдсистем,  які забезпечують iнтерфейс  прикладного програмування.

Вiртуальнi  машини  MS-DOS – забезпечують  виконання  програм MS-DOS  пiд управлiнням WINDOWS.  Користувач може запустити декiлька  вiртуальних машин  MS-DOS.

Пiдсистема VM  - реалізує всi дii по управлiнню задачами, управлiння пам`яттю, завантаженням i завершенням програм, а також обслуговування драйверiв пристроiв.

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

Коли завантаж WIN завжди створюється системна Вірт.машина, в межах якої виділяється окремий адресний простір для ядра системи – модулів Kernel, GDI, USER.

Кожній запущеній 32-разр. ПП також надається окремий простір адрес в межах сист. Вірт. машини.

Для всіх 16-разр. ПП WINDOWS використовує загальний адресний простір в межах сист. Вірт. машини.

Кожна ПП DOS виконується у власній віртуальн. Машині.

Додаток до лекцій

Контрольні запитання:

Дайте визначення віртуальному адресному простору

Охарактеризуйте поняття віртуальні адреси

Назвіть стани сторінки віртуального адресного простору

Поясніть поняття Системна вiртуальна машина

Поясніть поняття Вiртуальнi  машини  MS-DOS

Поясніть Роботу ВМ. 

Лекція №9

Тема: Файлова  система   windows. файлова система ос windows-2000/2003/xp ntfs4 от ntfs5. Підтримуємі файлові системи. Файли які потрібні для завантаження Windows 2000/ХР. Файли config.sys, autoexec.bat. Типи файлів файлової системи.  Структура файлової системи. Підсистема вводу/виводу файлової системи. Рівні файлової системи.  Файлова система FAT, VFAT, FAT32, ntfs

Мета: Ознайомити з файловими системами FAT32 та NTFS. Проблеми в файлових системах FAT32 та NTFS . Різниця файлових систем FAT32 та NTFS. Недоліки та переваги файлових систем FAT32 та NTFS. Доцільність встановлення файлових систем FAT32 та NTFS

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

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

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

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

Кластер — мінімальна одиниця користувальницьких даних, що можуть використовувати програми, що працюють із твердим диском за допомогою операційної системи.

Вихідна FAT

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

Основні характеристики файлової системи FAT

Характеристика

Значення/максимум

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

2 Гбайт

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

2 Гбайт

Максимальна кількість файлів у кореневому каталозі

512

Максимальна кількість файлів у некореневому каталозі

65535

Безпека на рівні файлів

Немає

Підтримка довгих імен файлів

Немає

Самовідновлення

Немає

Ведення журналів транзакцій

Немає

Стиск на рівні файлів

Немає

Підтримка файлових розгалужень (Macintosh)

Немає

Відповідність стандарту POSIX

Немає

FAT32 розроблена компанією Microsoft наприкінці 1996 р., і першої ОС, що неї підтримувала, була Windows 95 OSR2.

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

FAT32 підтримують всі ОС сімейства Windows починаючи з Windows 95 OSR2 крім Windows NT4.

Фундамент FAT32

Основою розглянутої файлової системи є:

завантажувальний запис (Boot Record), де зберігається інформація про розмір роздягнув, кількості вільного місця, розмірі кластера і т.д.;

таблиця розміщення файлів (File Allocation Table, FAT). У цій таблиці міститься інформація про те, як розташовуються дані файлів на розділі диска;

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

Деталі форматування

Перед створенням і форматуванням розділу важливо знати деякі обмеження, що накладає FAT32. Теоретично розмір логічного диска FAT32 обмежений 8 Тбайт. Але на практиці убудовані в Windows 2000/XP засобу адміністрування дисків не дозволять вам створити розділ розміром більш 32 Гбайт.

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

Ім'я файлу може містити до 255 символів, з ISO-кодами (цифровим представленням символу) від 33 до 255 за винятком спеціальних символів — «*», «?», «/», «\» і деяких інших. Максимально можливий розмір файлу складає 4 Гбайт.

Стабільність файлової системи

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

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

FAT32, на відміну від NTFS, не є журналюємою, так що не варто зневажати перевіркою диска при перезапуску ОС, якщо до цього відбувся збій, некоректне вимикання і перезавантаження операційної системи. Найбільш розповсюджена помилка — неправильно записані дані про кількість вільного місця. Виникає ця помилка багато в чому з тієї причини, що дані про кількість вільного місця записуються в спеціально відведене місце на диску, а не обчислюються, як це відбувається в FAT16.

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

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

Основні характеристики файлової системи FAT32 

Характеристика

Значення/максимум

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

4 Тбайт

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

4Тбайт

Максимальна кількість файлів у кореневому каталозі

Необмежено

Максимальна кількість файлів у некореневому каталозі

Необмежено

Безпека на рівні файлів

Немає

Підтримка довгих імен файлів

Так

Самовідновлення

Так*

Ведення журналів транзакцій

Немає

Стиск на рівні файлів

Немає

Підтримка файлових розгалужень (Macintosh)

Немає

Відповідність стандарту POSIX

Немає

 

 

 

 

 

 

 

Основа NTFS

Базисом NTFS є головна таблиця файлів (Master File Table, MFT). MFT споконвічно резервує під себе одну восьму частину розділу (приблизно 12%). Якщо місце на розділі закінчується, MFT скорочується в два рази, звільняючи для файлів користувача вільний простір. Процедура може повторюватися кілька разів. З появою незайнятого місця MFT знову резервує під себе 12% від обсягу розділу, що приводить до небажаного ефекту — фрагментації MFT. При цьому ефективність роботи з NTFS-диском падає.

NTFS виросла з файлової системи HPFS, розроблювальної спільно IBM і Microsoft для проекту OS/2. Вона початку використовуватися разом з Windows NT 3.1 у 1993 році. Windows NT 3.1 повинна була скласти конкуренцію серверам на базі NetWare і Unix, тому NTFS увібрала в себе всі тодішні технологічні досягнення.

Основні характеристики

Робота з великими дисками. NTFS має розмір кластера 512 байт, що в принципі оптимально, але його можна змінювати до 64ДО. Більш важливо те, що NTFS здатно теоретично працювати з томами розміром у 16,777,216 терабайт. Теоретично, тому що таких твердих дисків поки просто не існує, і з'являться вони дуже не швидко.

Стійкість. NTFS містить двох копій аналога FAT, що називаються MFT (Master File Table). На відміну від FAT MSDOS, MFT більше нагадує таблицю бази даних. Якщо оригінал MFT ушкоджений у випадку апаратної помилки (наприклад, появи bad-сектора), то система при наступній завантаженні використовує копію MFT, і автоматично створює новий оригінал, уже з урахуванням ушкоджень. Але це не саме головне. Головне, що NTFS використовує систему транзакцій при записі файлів на диск. Ця система прийшла із СУБД, де захист цілісності даних - життєво важлива справа. Уже це говорить про її ефективність. У спрощеному виді вона працює так:

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

Дані пишуться в кеш, під керуванням сервісу Cache Manager.

Cache Manager посилає дані Virtual Memory Біля-Manager-у (менеджеру віртуальної пам'яті), для запису на диск у фоновому режимі.

Virtual Memory Manager посилає дані драйверу диска, пропустивши їх через Fault Tolerant Driver (якщо у вас масив дисків RAID). їх або в кеш, або прямо на диск.

Якщо ця операція проходить без помилок, запис лога віддаляється.

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

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

Захищеність. NTFS розглядає файли, як об'єкти. Кожен файловий об'єкт має властивості, такими як його ім'я, дата створення, дата останнього відновлення, архівний статус, і дескриптор безпеки. Файловий об'єкт також містить набір методів, що дозволяють з ним працювати, такі як open, close, read і write. Користувачі, включаючи мережних, для звертання до файлу викликають ці методи, а Security Reference Monitor визначає, чи має користувач необхідні права для виклику якого-небудь з цих методів. Крім цього, файли можна шифрувати. Правда, із шифруванням варто бути обережніше. Якщо у вас звалить система, чи ви її переустановите то ви не зможете прочитати зашифровані файли, якщо не маєте ERD.

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

Підтримка формату ISO Unicode. Формат Unicode використовує 16bit для кодування кожного символу, на відміну від ASCII, що використовував 8bit, чи ще гірше - 7bit. Для простого користувача це означає те, що тепер він може називати файли на будь-якій мові, хоч на китайському - система це буде підтримувати, не вимагаючи змінити кодову сторінку, як це робив DOS і W9x.

Структура розділу

Диск NTFS умовно поділяється на двох частин.Перші 12% диска приділяються під так називану MFT зону - простір, у якій росте метафайл MFT . Запис яких-небудь даних у цю область неможлива. MFT-зона завжди тримається порожній – це робиться для того, щоб самий головний, службовий файл (MFT) не фрагментується при своєму росту. Інші 88% диска являють собою звичайний простір для збереження файлів. 

Вільне місце диска,  містить у собі усі фізично вільне місце -незаповнені шматки MFT-зони туди теж включаються.

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

MFT і його структура

Кожен елемент системи являє собою файл -навіть службова інформація. Самий головний файл на NTFS називається MFT, чи Master File Table -загальна таблиця файлів. Саме він розміщається в MFT зоні і являє собою централізований каталог всіх інших файлів диска. MFT поділений на записі фіксованого розміру (звичайно 1 Кбайт), і кожен запис відповідає якому або файлу (у загальному значенні цього слова). Перші 16 файлів носять службовий характер і недоступні операційній системі - вони називаються метафайлами, причому найперший метафайл -сам MFT. Ці перші 16 елементів MFT -єдина частина диска, що має фіксоване положення. Друга копія перших трьох записів, для надійності (вони дуже важливі) зберігається рівно посередині диска. Інший MFT-файл може розташовуватися, як і будь-який інший файл, у довільних місцях диска – відновити його положення можна за допомогою його самого, "зачепивши" за саму основу - заперший елемент MFT.

Метафайли

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

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

$MFT

сам MFT

$MFTmirr

копія перших 16 записів MFT, розміщена посередині диска

$LogFile

файл підтримки журналювання (див. нижче)

$Volume

службова інформація - мітка тому, версія файлової системи, т.д.

$AttrDef

список стандартних атрибутів файлів на томі

$.

кореневий каталог

$Bitmap

карта вільного місця тому

$Boot

завантажувальний сектор (якщо роздягнув завантажувальний)

$Quota

файл, у якому записані права користувачів на використання дискового простору (почав працювати лише в NT5)

$Upcase

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

Файли і каталоги

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

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

Каталоги в NTFS являють собою посилання на інші директорії і файли.

Ім'я елемента даної файлової системи може містити до 255 символів у кодуванні Unicode (кількість можливих символів — 65 536). Дане кодування, зокрема, забезпечує багатомовну підтримку.

Обсяг розділу NTFS теоретично не обмежена, тому що він може займати до двох екзобайт (2 000 000 Гбайт). При цьому логічний диск може містити до 224 файлів. А кластер не залежить від обсягу розділу, і стандартом де-факто є обсяг у 4 Кбайт.

Конфіденційність і схоронність даних

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

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

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

Проблеми фрагментації системи.

Диск NTFS поділений на двох зон. У начало диска йде MFT зона - зона, куди росте MFT, MasterFile Table. Зона займає мінімум 12% диска, і запис даних у цю зону неможлива. Це зроблено для того, щоб не фрагментується хоча б MFT. Але коли весь інший диск заповнюється - зона скорочується рівно в два рази . І так далі. У такий спосіб ми маємо не один захід закінчення диска, а трохи. У результаті якщо NTFS працює при диску, заповненому на близько 90% - фрагментація росте стрімко.

диск, заповнений більш ніж на 88%, дефрагментувати майже неможливо - навіть API де фрагментація не може переміщати дані в MFT зону. Може виявитися так, що в нас не буде вільного місця для маневру.

    NTFS фрагментується і цьому сприяє  алгоритм перебування вільного місця. Якщо файл пишеться великими шматками – проблем не виникає. Але якщо файл повільно росте - алгоритм такої: береться якийсь визначений обсяг диска і заповнюється файлом до упора – спочатку заповнюються великі ділянки, потім маленькі. Т.е. типовий розподіл фрагментів файлу по розмірі на фрагментованій NTFS виглядають так (розміри фрагментів):
    16 - 16 - 16 - 16 - 16 - [скачок назад] - 15 - 15 - 15 -[назад] - 14 - 14 - 14 .... 1 - 1 - 1 -1 - 1...
    Так процес йде до самих дрібних ділянок у 1 кластер, незважаючи на те, що на диску напевно є і набагато більш великі шматки вільного місця.

   У NT існує стандартне API дефрагментація. Вонга має цікаве обмеження для переміщення блоків файлів : за один раз можна переміщати не менш 16 кластерів , причому починатися ці кластери повинні з позиції, кратної 16 кластерам у файлі. Загалом, операція здійснюється винятково по 16кластерів. Наслідку:

У ділянку вільного місця менш 16 кластерів не можна нічого перемістити (крім стиснутих файлів).

Файл, будучи переміщений у другу місце, залишає після себе (на новому місці) "тимчасово зайняте місце", що доповнює його по розмірі до кратності 16 кластерам.

При спробі якось неправильно ("некратно 16") перемістити файл результат часто непередбачений. Щось округляється, щось просто не переміщається.. Проте, усе місце дії щедро розсипається "временнозанятым місцем".

"Тимчасово зайняте місце" звільняється через якийсь час, звичайно десь підлога хвилини.

Процес стандартної дефрагментації, з виправленнями на обмеженість API, йде наступними фазами, не обов'язково в цьому порядку:

Виймання файлів з MFT зони.

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

Дефрагментація MFT,

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

    Допустимо, ми хочемо покласти файли підряд у початок диска. Кладемо один файл. Оноставляет хвіст зайнятості доповнення до кратності 16. Кладемо наступний - після хвоста, природно. Через якийсь час, по звільненню хвоста, маємо дірку <16 кластерів розміром. Яку потім неможливо заповнити через API дефрагментации! У результаті, до оптимізації картина вільного місця виглядала так: багато дірок приблизно однакового розміру. Після оптимізації -одна діра наприкінці диска, і багато маленьких <16 кластерів дірок у заповненому файлами ділянці. Які місця в першу чергу заповнюються? Дрібні дірки, що знаходяться ближче до початку диска, <16 кластерів...Любою файл, плавно створений на прооптимізованному диску, буде складатися з дикого числа фрагментів. Диск потім можна оптимізувати знову. А потім ще раз..і ще.. і так - бажано щотижня.

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

Поки є один дефрагментатор, що ігнорує API дефрагментації і працює більш прямо - Norton Speeddisk 5.0 для NT

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

   

Перетворення FAT32 у NTFS

Перетворення FAT32 у NTFS легко здійсненно засобами, наприклад, Windows NT/2000/XP, те зворотне перетворення без утрати даних не зробиш. Єдиним методом зворотного перетворення буде перепис умісту NTFS-роздягнув диска на інший розділ (чи інший твердий диск) з наступним форматуванням NTFS-розділу і його перетворенням у FAT32.

Правила вибору Файлової системи.

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

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

До переваг FAT32 можна віднести те, що вона швидше і вимагає менше пам'яті для роботи. Якщо система працює тільки з FAT32, то в пам'ять не вантажаться драйвера і сервиси, необхідні NTFS. Крім цього, при використанні FAT32 мається можливість доступу до диска при завантаженні з завантажувального флоппі W9x. Переваги NTFS для простого користувача можна описати одним ємним словом: indestructible. Вибити NTFS надзвичайно складно, хоч і можливо. Для досвіду запускалася багато різних додатків, оптимізатори диска, і в самі невідповідні моменти тиснулася кнопка reset. Повторення цієї операції добрий десяток разів ніякого враження на систему не зробило, вона продовжувала працювати без помилок. Крім цього, NTFS має убудовані засоби шифрування файлів, що забезпечує визначену упевненість у цілості даних. Звичайно, за умови що система не буде переустановлюватися.

Відмінності FAT і NTFS 

Якщо говорити про накладні витрати на збереження службової інформації, FAT відрізняється від NTFS більшою компактністю і меншою складністю. У більшості томів FAT на збереження таблиці розміщення, що містить інформацію про усі файли тому, витрачається менш 1 Мбайт. Настільки низькі накладні витрати дозволяють форматировать у FAT тверді диски малого обсягу і флоппи-диски. З іншого боку, у NTFS службові дані займають більше місця, чим у FAT, - почасти через те, що каждый елемент каталогу займає 2 Кбайт (утім, це має і свої переваги, тому що уміст файлів обсягом 1500 байт і менш може цілком зберігатися в елементі каталогу).

Система NTFS не може використовуватися для форматування флоппи-дисков. Не варто користатися нею для форматування розділів обсягом менш 50 Мбайт. Відносно високі накладні витрати приводять до того, що для малих розділів службові дані можуть займати до 25% обсягу носія.

Розмір кластера

Довідатися розмір кластера в XP можна декількома способами. В перших, можна зайти в Administrative Tools -> Computer Management -> Storage -> Disk Defragmenter. Вибрати потрібний диск і натиснути на Analyze. Через кілька секунд з'явиться табличка, де є три кнопки. Натискання на View Report запускає віконце, у якому море інформації про обраний диск, у тому числі і Cluster size.
Є ще один метод, що підходить не тільки для XP. Створюється, чи береться готовий, маленький файлик розміром від 1 байта до 500 байт. Натискається на ньому права кнопка миші, вибирається Properties. Дивимося на два пункти, Size і Size on disk. Size повинний бути чимось начебто 10 байт (чи який там розмір він реально має), а Size on disk буде, приміром, 4096 байт, що відповідає розміру кластера, тобто 4K.
Розмір кластера можна вибрати і самому, вручну, щоправда, тільки при форматуванні. Робиться це так: "format d: /A:size", де size це розмір кластера в байтах. Однак існують деякого правила, які варто дотримувати: по-перше, розмір кластера повинний бути кратний розміру фізичного сектора, тобто 512 байтам у переважній більшості випадків; по-друге, є обмеження по кількості кластерів на розділі.
Крім усього перерахованого вище варто враховувати, що при розмірі кластера вище 4 кілобайт на NTFS розділі не будуть працювати функції стиску, убудовані у файлову систему.

Windows 2000/ХР підтримує наступні файлові системи:


FAT16;
FAT32;
NTFS 5.0 — якщо на диску малися томи з більш ранньою версією NTFS, те вони будуть обновлені до версії 5.0;
CDFS — компакт диски стандарту ISO 9660;
UDF — стандарту ISO 13346, для доступу в режимі читання DVD-ROM;
DFS — розподілена файлова система, для об'єднання ресурсів декількох серверів.

Файли необхідні для успішного завантаження Windows 2000/ХР

  •  ntldr (завантажник) - у кореневій директорії завантажувального диска.
  •  boot.ini - конфігураційний файл завантажника.
  •  ntdetect.com - збирає інформацію про пристрої.
  •  ntbootdd.sys - потрібний тільки при наявності SCSI.
  •  bootfont.bin - тільки для локалізованої версії.
  •  ntoskrnl.exe - у %SystemRoot%\system32, ядро Windows 2000.
  •  hal.dll - рівень апаратних абстракцій ядра.
  •  Роздягнув реєстру SYSTEM - %SystemRoot%\system32\config.
  •  Драйвери пристроїв - %SystemRoot%\system32\drivers.

Файли config.sys, autoexec.bat 


У Windows XP (як і в WinNT/2K) подібний файл називається config.nt. Він піддається модифікації, у тому числі й установці числа одночасно доступних файлів під час роботи підсистеми MS-DOS. Варто тільки розуміти, що в Windows XP, строго говорячи, немає MS-DOS, а є тільки її емуляція.

Контрольні запитання:

  1.  Охарактеризуйте файлову систему FAT32
  2.  Охарактеризуйте файлову систему NTFS 
  3.  Поясніть устрій файлової системи NTFS
  4.  Дайте пояснення зони MFT
  5.  Охарактеризуйте метод де фрагментації файлової системи NTFS вбудованими методами системи.
  6.  Назвіть проблеми повязані з де фрагментацією і метод її усунення.
  7.  Дайте порівняння файлових систем NTFS та FAT32
  8.  Вкажіть доцільність встановлення файлових систем FAT32 та NTFS. Недоліки та переваги даних систем.
  9.  Коли краще встановлювати файлову систему FAT32 або NTFS.

Лекція №10

Тема Безпека ОС. Види атак на операційну систему.  Критерії оцінки систем безпеки. Парольний захист системи Windows NT/2000/ХР.

Мета: Розяснити правила планування безпеки за допомогою трикутника безпеки. Надати уяву про послідовність атак і методи захисту від них. Надати уяву про види атак і методи захисту. Роз¢яснити парольну будову ОС Windows NT/2000/ХР. Вказати на слабкі місця парольного захисту.

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

Налаголдення системи від несанкціонованного доступу.

При розробці безпеки системи потрібно шукати компроміс між захистом системи і функціональністю(працездатністю)

Трикутник безпеки:       Безпека

                                         Функціональність                Простота у використовуванні       

Послідовність атак.

Пасивна розвідка (назва, адреса фірми, аналіз мережаних пакетів, пасивний збір інформації)

Активна розвідка – активне сканування комп¢ютера для отримання інформації:

Доступні вузли

Розташування маршрутизаторів та брандмауерів

Встановлені ОС

Відкриті порти

Працюючі служби

Версії програмних продуктів

Взлом системи

отримання доступу до системи

атака на ОС – через відкриті служби і портами

взлом робочої програми – використовування недоробок програм, які створили програмісти

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

Через неправильне налагодження системи

Розширення повноважень – отримання прав адміністратора системи. Наприклад через доступ гістя.

Відказ в обслуговуванні – користувачі не можуть отримати доступ до системи.

Завантаження “вредоносных” програм – завантаження програм, які будуть використовуватися для розширення повноважень або для взлому інших систем. Наприклад взлому системи Б через систему А.

Несанкціоноване отримання даних – кража даних. Якщо винуватця не спіймано при копіюванні даних, знайти майже не можливо.

Збереження доступу.

через люки

додаванням користувача

заміною одного системного файлу іншим (наприклад переписати програму регістрації в системі)

встановлення програми, яка працює через визначений порт

через троянські програми – програми в яких сховані деякі функції

“Сокрытиe следов”

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

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

За оранжевою книгою (Критерії оцінки надійних комп¢ютерних систем – випущеною 1983 року міністерством оборони США) можливо виділити 4 – рі групи безпеки комп¢ютерних систем D, C, B, A. Рівні С і В діляться на класи С (С1, С2) і три класи В(В1, В2, В3).

Спеціалісти пропонують використовувати 2 – а критерії:

Політика безпеки – Під політикою безпеки розуміють сокупність правил, регламентуючих доступ користувачів до системи і складових об¢єктів системи. Політика безпеки повинна враховувати усі можливі атаки зловмисників і передбачати відповідні дії.

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

Два самих уразливих ланцюга у безпеці компанії – це легкі паролі і неконтролюємі модеми віддаленого користування.

Пример: Знайдено телефонний номер компанії.

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

Парольний захист системи.

Windows NT/2000/ХР зберігають паролі у зашифрованому виді, фкий називається мешем паролей. Хеші на локальній машині отримати достатньо легко, але засіб шифрування такий, що паролі не можливо отримати з хешів. Відновлення паролей заключається у обчисленні хешів по можливим паролям і порівнянні обчислених хешів з тими які маються в дійсності.

Усі зашифровані паролі зберігаються в базі данних SAMSecutity Account Manager. За мовчанням система Windows 2000/ХР використовує метод шифрування Syskey. Данные, необходимые для расшифровки информации после syskey, хранятся в файле system в той же папке. Но эта папка недоступна никому из пользователей. Доступ к ней имеет только сама операционная система во время своей работы. Получить доступ к файлам SAM и system можно только под управлением другой операционной системы или подключив диск к другому компьютеру с системой Windows.

Даний файл знаходиться в папці %System Root%system32/config і копія в  %System Root%/repair. З під самої системи доступ до цього файлу здобути неможливо, тому використовується завантаження альтернативних ОС. Захисту на даний файл не існує. Головна задача при захисті файлу – не допустити доступ до реєструі самого файлу SAM.

Алгоритм відновлення паролю

Взлом паролю з файлу SAM

Взлом Bios

Копіювання файлу System/SAM

Завантаження альтернативної ОС

використовування програми, яка дозволяє читати NTFS розділи

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

Розшифровування паролю в будь якій точці міста

Якщо пароль більше 14 символів – назначається власній “учетной записи” максимум прав або створення нового користувача з правами адміністратора – методом завантаження спеціального експлоіта.(2 хв)

Сброс паролю за допомогою спеціальних програм.

Захист системи, від несанкціонованого відновлення паролю

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

Налагодження BIOS

Вимога вимагати пароль при завантаженні системи

Заборона зміни налагоджень, доступ запускати систему тільки з диска С

Відміна опції – автоматично визначати жорсткий диск

Заблокувати USB порт

Неможливість завантаження програмних взломщиків паролей Bios

Заборона використовування командного рядка

Виключити запуск будь – яких DOS програм на машині користувача

Видалити з диска копії файлу command.com

Дозволити запуск тільки, конкретних програм

Видалити з ПК дисководи, відказ від CD/DVDROM/RW

Заборона доступу до реєстру (ховання наслідків системи, запуск спец. Програм - експлоітів)

Захист від зняття дампу пам¢яті і копіювання реєстру – через дуже довгий пароль, більше 15 символів

Заборона передачі по мережі LM хешу і його збереження в реєстрі, через відключення.

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

Переіменування запису адміністратора і гостя, зміни параметрів Опис і повне ім¢я

Створення ловушок, за допомогою “ложной учетной записи”

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

регулярно змінювати пароль

Використовувати шифрування дисків та папок.

 

Приблизні правила при встановленні паролю.

Змінюється кожні 45 днів

Мінімальна довжина 10 символів

Повинен містити букви, цифри і спец символи

Містити символи кожної з трьох наступних груп.

Опис

Приклади

Букви (прописні і рядкові)

A, B, C,...; a, b, c,...

Цифри

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Символи (не стосовні ні до букв, ні до цифр)

` ~ ! @ # $ % ^ & * ( ) _ + - = { } | [ ] \ : " ; ' < > ? , . /

Усі символи задані у змішаному вигляді

Слово не з словаря

Не повторює попередні паролі

Мінімальний час до зміни 10 днів

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

Приклад: Мій день народження 3 травня 1987 року @ 2 години

Мдн3т1987р@2г

Паролі Windows 2000 можуть містити до 128 символів. Однак, якщо Windows 2000 використовується в мережі, де маються також комп'ютери з Windows 95 чи Windows 98, не використовуйте паролі, довжина яких перевищує 14 символів. Windows 95 і Windows 98 підтримують паролі довжиною до 14 символів. Якщо довжина пароля перевищує це обмеження, вхід у мережу з комп'ютерів з такими операційними системами може виявитися неможливим.

Контрольні запитання:

Поясніть трикутник безпеки:

Охарактеризуйте послідовність атак

Які критерії оцінки надійних комп¢ютерних систем ви знаєте

Поясніть Гарантованість безпеки системи

Поясніть Політика безпеки системи

Яким чином здійснюється парольний захист системи

Поясніть алгоритм відновлення паролю

Які методи захисту системи, від несанкціонованого відновлення паролю ви знаєте

Які  правила при встановленні паролю слід дотримуватися.


 

А также другие работы, которые могут Вас заинтересовать

32975. НАУКА КАК ЭПИСТЕМОЛОГИЧЕСКИЙ ФЕНОМЕН И СОЦ. ИНСТИТУТ 21.98 KB
  Всеобщие харристики понятия наука: определение науки как рациональнопредметного вида познания выделение в ней 3 ее основных аспектов: наука как специфический тип знания: исследуют логика и методология науки. эмоциональная нейтральность запрещает людям науки use при решении научных проблем эмоции личные симпатии. Все аспекты связаны м у собой и только в своем единстве позволяют достаточно полно и адекватно описать функционирование реальной науки как целого. Выявление структуры науки ставит проблему классификации наук раскрытие их...
32976. «НАУКИ О КУЛЬТУРЕ», ИХ СПЕЦИФИКА И ОТЛИЧИЕ ОТ «НАУК О ПРИРОДЕ» (Г.РИККЕРТ. НАУКИ О ПРИРОДЕ И НАУКИ О КУЛЬТУРЕ) 16.27 KB
  НАУКИ О КУЛЬТУРЕ ИХ СПЕЦИФИКА И ОТЛИЧИЕ ОТ НАУК О ПРИРОДЕ Г. НАУКИ О ПРИРОДЕ И НАУКИ О КУЛЬТУРЕ Науки о культуре: индивидуализирующий или исторический метод т. Одни из них суть науки о законах а др. науки о событиях и исторические.
32978. НАУЧНАЯ ТЕОРИЯ: ОБЪЕКТ, ФУНКЦИИ И ЛОГИКА ФУНКЦИОНИРОВАНИЯ 17.6 KB
  Этапы становления научной теории: выявление особенностей проблемной ситуации онтологические проблемы связанные с тем что познаем гносеологические проблемы с тем как познаем проблемы фундаментальные практические теоретические. 2 вида теорий формальные логические математические – относятся к абстракциям не относятся к реальным предметам деятти фактуальные относятся к реальности к объектам – химия биология Новые теории индуктивно не выводятся из фактов. А факты можно наблюдать но не видеть теории которые их объясняют....
32979. НАУЧНОЕ МИРОВОЗЗРЕНИЕ КАК СЛОЖНОЭВОЛЮЦИОНИРУЮЩАЯ, ОТКРЫТАЯ СИСТЕМА (В.И.ВЕРНАДСКИЙ. О НАУЧНОМ МИРОВОЗЗРЕНИИ) 17.27 KB
  НАУЧНОЕ МИРОВОЗЗРЕНИЕ КАК СЛОЖНОЭВОЛЮЦИОНИРУЮЩАЯ ОТКРЫТАЯ СИСТЕМА В. Научное мировоззрение не есть ч. Научное мировоззрение не дает нам картины мира в действительном его состоянии. Научное мировоззрение не есть картина Космоса которая раскрывается в своих вечных и незыблемых чертах перед изучающим ее независимым от Космоса человеческим разумом.
32980. НАУЧНЫЕ ПОИСКИ ОТВЕТОВ НА ВЫЗОВЫ СОВРЕМЕННОСТИ (Э.ГИДДЕНС. РИСК) 13.86 KB
  РИСК Мы не знаем каковы будут results дальнейших изменений и какими опасностями они чреваты. Идея риска утвердилась в XVI – XVIIвв. Само слово риск пришло к нам из испанского или португальского языка где оно означало плаванье в незнакомых водах не нанесенных на карту. Позднее риск стал и временной категорией – это понятие стало употребляться в банковском деле и инвестиционных операциях обозначая анализ возможных последствий того или иного решения о вложении капиталов для кредиторов и заемщиков.
32981. НЕКЛАССИЧЕСКАЯ НАУКА: МЕТОДОЛОГИЧЕСКИЕ ОСНОВАНИЯ И ФИЛОСОФСКИЕ ПОСЛЕДСТВИЯ 17.52 KB
  Становление неклассической научной картины мира осуществлялось на основе представлений о мире как сложной системе включающей микро макро и мегамиры. If в классической науке универсальным способом задания объектов теории были операции абстракции и непосредственной генерализации наличного эмпирического материала то в неклассической введение объектов осуществляется на пути математизации которая выступает основным индикатором идей в науке приводящих к созданию новых ее разделов и теорий. Переход от...
32982. О СПЕЦИФИКЕ П. ЗНАНИЯ. ПРИ КАКИХ УСЛОВИЯХ П. МОЖЕТ СТАТЬ НАУКОЙ (К.МАНХЕЙМ. ИДЕОЛОГИЯ И УТОПИЯ) 14 KB
  ощущал свое время как эпоху радикальной соц. перестройки Суть перестройки: переход от традиционной соц. чтобы избежать рокового развития событий необходимо регулирование даже планирование социокультурных изменений 3. австрийский социолог и политик Шеффле: общвенная и госвенная жизнь cn be разделена на 2 части: 1 повседневная госвенная жизнь=управление 2 П.
32983. ПЕРСПЕКТИВЫ РАЗВИТИЯ ЕСТЕСТВЕННЫХ И ГУМАНИТАРНЫХ НАУК В КОНТЕКСТЕ МИРОВОЙ СИСТЕМЫ (И.ВАЛЛЕРСТАЙН. ЭВОЛЮЦИЯ СТРУКТУР ЗНАНИЯ В МИРОСИСТЕМНОЙ ПЕРСПЕКТИВЕ) 17.06 KB
  Она синтезирует социологический исторический и экономический подходы к общвенной эволюции. Концепция Мир – системная теория: мир и мировое сообщво – система госв госва в этой системе располагаются по экономическому фактору госваядра центра: США Япония Зап. ввел новое понятие модернити современное индустриальное общво. Согласно их кредо по мере продвижения к правильному пониманию реального мира формируется условие для лучшего управления реальным общвом.