
- •1.3. Короткий нарис історії ос
- •1.3.1. Передісторія ос
- •1.3.2. Пакетні ос
- •1.3.3. Ос з поділом часу
- •1.3.4. Однозадачние ос для пеом
- •1.3.5. Багатозадачні ос для пк з графічним інтерфейсом
- •1.4. Класифікація ос
- •1.5. Критерії оцінки ос
- •1.5.2. Ефективність
- •1.5.3. Зручність
- •1.5.4. Масштабованість
- •1.5.5. Здатність до розвитку
- •1.6. Основні функції і структура ос
- •1.7. Ос, що використовуються в подальшому викладі
- •1.7.2. Windows
- •1.7.3. Unix
- •2. Управління пристроями
- •2.1. Основні завдання управління пристроями
- •2.2. Класифікація периферійних пристроїв і їх архітектура
- •2.3. Переривання
- •2.4. Архітектура підсистеми вводу / виводу
- •2.5. Способи організації введення / виводу
- •2.5.1. Введення / висновок з опитування і по перериваннях
- •2.5.2. Активне і пасивне очікування
- •2.5.3. Синхронний і асинхронний ввід / вивід
- •2.6. Буферизація і кешування
- •2.6.1. Поняття буферизації
- •2.6.2. Згладжування нерівномірності швидкостей процесів
- •2.6.3. Розпаралелювання введення та обробки
- •2.6.4. Узгодження розмірів логічної та фізичної записи
- •2.6.5. Редагування при інтерактивному введенні
- •2.6.6. Кешування дисків
- •2.6.7. Випереджаюче читання.
- •2.7. Драйвери пристроїв
- •2.8. Управління пристроями в ms-dos
- •2.8.1. Рівні доступу до пристроїв
- •2.8.2. Драйвери пристроїв в ms-dos
- •2.8.3. Управління символьними пристроями
- •2.8.4. Управління блоковими пристроями
- •2.8.4.2. Розділи і логічні томи
- •2.8.4.3. Засоби доступу до дисків
- •2.9. Управління пристроями в Windows
- •2.9.1.1. Драйвери пристроїв в Windows
- •2.9.1.2. Доступ до пристроїв
- •2.10. Управління пристроями в unix
- •2.10.1. Драйвери пристроїв в unix
- •2.10.2. Пристрій як спеціальний файл
- •3. Управління даними
- •3.1. Основні завдання управління даними
- •3.2. Характеристики файлів та архітектура файлових систем
- •3.3. Розміщення файлів
- •3.4. Захист даних
- •3.6. Файлова система fat і управління даними в ms-dos
- •3.6.1. Загальна характеристика системи fat
- •3.6.2. Структури даних на диску
- •Структура записи каталога файловой системы fat
- •3.6.4. Робота з файлами в ms-dos
- •3.6.4.1. Системні функції
- •3.6.4.2. Доступ до даних
- •3.6.4.3. Структури даних у пам'яті
- •3.6.5. Нові версії системи fat
- •3.7. Файлові системи і управління даними в unix
- •3.7.1. Архітектура файлової системи unix
- •3.7.1.1. Жорсткі і символічні зв'язку
- •3.7.1.2. Монтовані томи
- •3.7.1.3. Типи і атрибути файлів
- •3.7.1.4. Управління доступом
- •3.7.2. Структури даних файлової системи unix
- •3.7.3. Доступ до даних в unix
- •3.7.4. Розвиток файлових систем unix
- •3.8. Файлова система ntfs і управління даними в Windows
- •3.8.1. Особливості файлової системи ntfs
- •3.8.2. Структури дискових даних
- •3.8.2.1. Головна таблиця файлів
- •3.8.2.2. Атрибути файлу
- •3.8.3. Доступ до даних
- •3.8.4. Захист даних
- •3.8.4.1. Аутентифікація користувача
- •3.8.4.2. Дескриптор захисту
- •4. Управління процесами
- •4.1. Основні завдання управління процесами
- •4.2. Реалізація багатозадачного режиму
- •4.2.1. Поняття процесу і ресурсу
- •4.2.2. Квазіпараллельний виконання процесів
- •4.2.3. Стану процесу
- •4.2.4. Невитісняючаі витісняюча багатозадачність
- •4.2.5. Дескриптор і контекст процесу
- •4.2.6. Реєнтерабельним системних функцій
- •4.2.7. Дисципліни диспетчеризації та пріоритети процесів
- •4.3. Проблеми взаємодії процесів
- •4.3.1. Ізоляція процесів та їх взаємодія
- •4.3.2. Проблема взаємного виключення процесів
- •4.3.3. Двійкові семафори Дейкстри
- •4.3.4. Засоби взаємодії процесів
- •4.3.4.1. Цілочисельні семафори
- •4.3.4.2. Семафори з множинним очікуванням
- •4.3.4.3. Сигнали
- •4.3.4.4. Повідомлення
- •4.3.4.5. Спільна пам'ять
- •4.3.4.6. Програмні канали
- •4.3.5. Проблема тупиків
- •4.4. Управління процесами в ms-dos
- •4.4.1. Процеси в ms-dos
- •4.4.2. Середа програми
- •4.4.3. Запуск програми
- •4.4.4. Завершення роботи програми
- •4.4.5. Перехоплення переривань і резидентні програми
- •4.5. Управління процесами в Windows
- •4.5.1. Поняття об'єкта у Windows
- •4.5.2. Процеси і нитки
- •4.5.3. Планувальник Windows
- •4.5.4. Процес і нитка як об'єкти
- •4.5.5.2. Об'єкти синхронізації та функції очікування
- •4.5.5.3. Типи об'єктів синхронізації
- •4.5.5.4. Критичні секції
- •4.5.6. Повідомлення
- •4.6. Управління процесами в unix
- •4.6.1. Життєвий цикл процесу
- •4.6.2. Групи процесів
- •4.6.3. Програмні канали
- •4.6.4. Сигнали
- •4.6.5. Засоби взаємодії процесів в стандарті posix
- •4.6.6. Планування процесів
- •4.6.6.1. Стану процесів в unix
- •4.6.6.2. Пріоритети процесів
- •4.6.7. Інтерпретатор команд shell
- •5. Управління пам'яттю
- •5.1. Основні завдання управління пам'яттю
- •5.2. Віртуальні й фізичні адреси
- •5.3.2. Розподіл з фіксованими розділами
- •5.3.3. Розподіл з динамічними розділами
- •5.4. Сегментна організація пам'яті
- •5.5. Сторінкова організація пам'яті
- •5.6. Порівняння сегментної і сторінкової організації
- •5.7. Управління пам'яттю в ms-dos
- •5.8. Управління пам'яттю в Windows
- •5.8.1. Структура адресного простору
- •5.8.3. Відображення виконуваних файлів
- •5.8.4. Файли, відображувані на пам'ять
- •5.8.5. Стеки і купи
- •5.9. Управління пам'яттю в unix
- •Література
3.8. Файлова система ntfs і управління даними в Windows
3.8.1. Особливості файлової системи ntfs
Файлова система NTFS була розроблена спеціально для використання в ОС Windows NT як заміна для застарілої системи FAT. NTFS є основною системою і для нових версій - Windows 2000/XP.
Система NTFS спроектована як дуже потужна багатокористувальницька файлова система з великою кількістю можливостей. Тим не менше, як стверджують розробники, NTFS забезпечує більш швидкий доступ до даних, чим гранично проста система FAT, якщо обсяг диска перевищує 600 Мб.
Серед можливостей, відсутніх в FAT, але реалізованих в NTFS, можна назвати наступні.
· Розвинуті засоби захисту даних, що запобігають можливість несанкціонованого доступу до даних і при цьому дозволяють вельми детально розмежувати права доступу для різних користувачів і груп користувачів.
· Швидкий пошук файлів у великих каталогах.
· Забезпечення цілісності даних у разі збоїв або відключення живлення, засноване на механізмі транзакцій. Це означає, що будь-яка операція з файлом розглядається як неподільне дію (транзакція), яке повинне бути або виконано до кінця, або не виконано зовсім. В ході операції
система протоколює в спеціальному журналі хід виконання окремих етапів транзакції: запис даних, внесення змін в каталог і т.п. Якщо транзакція буде перервана на проміжному етапі, то при наступному завантаженні системи інформація з журналу дозволить «відкотити» Недовиконання транзакцію, тобто скасувати виконані етапи.
· Можливість стиснення даних на рівні окремих файлів (тобто на одному дисковому томі можуть зберігатися файли як в стислому, так і в стислому форматі).
· Можливість зберігання файлів в зашифрованому вигляді.
· Механізм точок повторного аналізу (reparse points), що дозволяє для окремих каталогів задати дії, які повинні виконуватися щоразу, коли система звертається до даного каталогу. Зокрема, цей механізм дозволяє реалізувати такі UNIX-подібні можливості, як символічні зв'язку та монтування файлових систем.
· Можливість протоколювання всіх змін, що відбуваються у файловій системі, таких як створення, зміна та видалення файлів і каталогів.
· Розширюваність системи. Врахувавши важкий досвід, пов'язаний зі спробами модернізації FAT, розробники NTFS заздалегідь заклали в систему можливість додавання нових, не передбачених в даний час атрибутів файлів.
Деякі можливості, закладені в файлову систему NTFS, навіть випереджають розвиток ОС Windows і поки не можуть бути використані в цій системі.
3.8.2. Структури дискових даних
Загальну структуру зберігання даних на диску в системі NTFS часто характеризують двома короткими фразами:
На диску немає нічого, крім файлів.
У файлі немає нічого, крім атрибутів.
Поговоримо докладніше про цих загадкових твердженнях.
3.8.2.1. Головна таблиця файлів
Найбільш важливою частиною файлової системи на диску є головна таблиця файлів (MFT, Master File Table). Ця таблиця містить записи про всі файли і каталогах, розташованих на даному томі. Розмір запису становить один кластер, але не менше 1 Кб. Якщо метадані про файл не поміщаються в одному записі, то можуть бути використані додаткові записи (не обов'язково сусідні).
Після форматування дискового тому, коли на ньому ще немає користувальницьких файлів, MFT містить 16 записів, з яких 11 містять описи файлів метаданих, а 5 зарезервовані як додаткові. Список файлів метаданих досить цікавий.
· Перший запис MFT описує саму MFT, яка теж вважається файлом. Це аж ніяк не формальність, оскільки MFT може, як і інші файли, складатися з декількох сегментів, розміщення яких задається в цьому записі.
· Копія перших 16 записів MFT, яка зберігається як файл десь у середині диска. Це дозволяє відновити метадані в разі пошкодження основного примірника MFT.
· Журнал протоколювання транзакцій.
· Файл інформації про томі: ім'я томи, серійний номер, дата форматування і т.п.
· Файл з перерахуванням всіх атрибутів, використовуваних для опису файлів на даному томі. Таким чином, список атрибутів не є жорстко фіксованим і може бути розширений в наступних версіях NTFS.
· Кореневий каталог томи.
· Бітова карта зайнятості кластерів томи.
· BOOT-сектор. Він як і раніше є першим сектором томи, але теж вважається файлом.
· Файл, що складається з усіх дефектних кластерів на даному томі. Це дає підстави помітити в бітової карті всі дефектні кластери як зайняті.
· Файл, що містить всі різні дескриптори захисту, використовувані для файлів і каталогів даного тому (див. п. 3.8.4.2).
· Файл, задаючий пари великих / малих літер для всіх мов, підтримуваних Windows. Такі дані необхідні, оскільки імена файлів можуть містити літери обох типів, але в Windows за традицією регістр букв в іменах файлів не розрізняється (на відміну, наприклад, від UNIX).
· Каталог, що містить ще 4 файлу метаданих, доданих в Windows 2000. До них відносяться:
- Файл унікальних 16-байтових ідентифікаторів, створюваних Windows для кожного файлу, на який є ярлик або OLE-зв'язок; це дозволяє автоматично виправити ярлик, якщо вихідний файл був переміщений в інший каталог або навіть на інший комп'ютер в межах домену мережі;
- Файл квот дискового простору, що виділяються кожному користувачеві;
- Файл точок повторного аналізу, встановлених для каталогів даного томи;
- Файл журналу змін, що відбуваються на томі.
Далі, починаючи з 17-ої позиції MFT, зберігаються записи метаданих про файли і каталогах, розміщених на даному томі.
Система намагається зберегти MFT безперервної, оскільки це прискорює звернення до всіх описаним у ній файлам. Для цього система намагається по можливості не позичати деяку область на початку диска під розміщення файлів, зберігаючи вільне місце для росту MFT.