
- •Питання контролю спз
- •Класифікація програмного забезпечення обчислювальних систем. Предмет та задачі спз.
- •Еволюція спз.
- •Призначення та склад операційних систем.
- •Основні принципи розробки системного програмного забезпечення.
- •Стратегії планування.
- •Дисципліни диспетчеризації.
- •3. Алгоритми в диспетчеризації з витісненням та без.
- •4. Способи забезпечення гарантованого обслуговування процесів.
- •6. Вплив планування на ефективність обчислювальних систем.
- •7. Використання динамічних пріоритетів.
- •1. Незалежні та взаємодіючі обчислювальні процеси.
- •2. Види задач синхронізації паралельних процесів.
- •3. Синхронізація за допомогою блокування пам’яті.
- •5. Команда “перевірка” та “встановлення”.
- •6. Використання семафорів для синхронізації та впорядкування паралельних процесів.
- •7. Монітороподібні засоби синхронізації паралельних процесів.
- •8. Поштові ящики.
- •9. Конвеєри.
- •10. Черги повідомлень.
- •Підходи до керування реальною пам’яттю.
- •Неперервний розподіл оперативної пам’яті.
- •Розподіл з перекриттям.
- •Статичний розподіл пам’яті.
- •Динамічний розподіл пам’яті.
- •Структура, основні принципи віртуалізації пам’яті.
- •1. Реальний і захищений режими роботи процесора.
- •Мал. 3.1 Схема визначення фізичної адреси для процесора 8086.
- •2. Нові системні регістри мікропроцесорів і80x86.
- •Мал. 7.2 Основні системні регістри мікропроцесорів і80x86.
- •4. Підтримка сторінкового способу організації віртуальної пам'яті.
- •Мал. 7 Дескриптор сторінки.
- •6. Захист адресного простору задач.
- •Якщо цільовий сегмент є сегментом стека, то правило перевірки має вид
- •1. Основні поняття і визначення процесу вводу/виводу.
- •2. Режими керування вводом/виводом.
- •Керування вводом/виводом.
- •3. Закріплення пристроїв, загальні пристрої вводу/виводу.
- •4. Основні системні таблиці вводу/виводу.
- •Процес управління вводом/виводом.
- •Синхронний і асинхронний ввід/вивід.
- •6. Кешування операцій вводу/виводу при роботі з накопичувачами на магнітних дисках.
- •Файлові системи fat, vfat, fat32, hpfs.
- •Структура системи файлів.
- •Файлова система ntfs (New Technology File System)
Файлові системи fat, vfat, fat32, hpfs.
Файлова система FAT.
Як ми уже відзначали, абревіатура FAT (file allocation table) розшифровується як «таблиця розміщення файлів». Цей термін відноситься до лінійної табличної структури зі зведеннями про файли — іменами файлів, їхніми атрибутами й іншими даними, що визначають місцезнаходження файлів (чи їхніх фрагментів) у середовищі FAT. Елемент FAT визначає фактичну область диска, у якій зберігається початок фізичного файлу.
У файловій системі FAT логічний дисковий простір будь-якого логічного диска поділяється на дві області (рис.10.6): системну область і область даних.
Рис.10.6. Структура логічного диску
Системна область логічного диску створюється і ініціалізується при форматуванні, а потім обновляється при маніпулюванні файловою структурою. Область даних логічного диску містить файли і каталоги, підпорядковані кореневому. Вона, на відміну від системної області, доступна через користувацький інтерфейс DOS. Системна область складається з наступних компонентів, розміщених у логічному адресному просторі підряд:
завантажуючого запису (boot record, BR);
зарезервованих секторів (reserved sector, ResSecs);
таблиці розміщення файлів (file allocation table, FAT);
кореневого каталогу (root directory, Rdir).
Таблиця розміщення файлів.
Таблиця розміщення файлів є дуже важливою інформаційною структурою. Можна сказати, що вона представляє собою карту (образ) області даних, у якій описується стан кожної частини області даних. Область даних розбивають на так звані кластери. Кластер представляє собою один або декілька суміжних секторів у логічному дисковому адресному просторі (точніше – тільки в області даних). У таблиці FAT кластери, які належать одному файлу (не кореневому каталогу), зв'язуються в ланцюги. Для вказівки номера кластера в системі управління файлами FAT-16 використовується 16-бітове слово, з цього виходить, що можна мати до 216=65536 кластерів (з номерами від 0 до 65535).
Кластер – це мінімальна адресуєма одиниця дискової пам‘яті, яка виділяється файлу (чи не кореневому каталогу). Файл чи каталог займає ціле число кластерів. Останній кластер при цьому може бути задіяний не цілком, що приведе до помітної втрати дискового простору при великому розмірі кластера. На дискетах кластер займає один чи два сектори, а на жорстких дисках — у залежності від обсягу розділу (див. табл. 10.3).
Таблиця 10.3. Співвідношення між розміром розділу і розміром кластерів у FAT16
Об‘єм розділу, Мбайт |
Кількість секторів в кластері |
Розмір кластерів, Кбайт |
16-127 |
4 |
2 |
128-255 |
8 |
4 |
256-511 |
16 |
8 |
512-1023 |
32 |
16 |
1024-2047 |
64 |
32 |
Номер кластера завжди відноситься до області даних диска (простору, зарезервованому для файлів і підкаталогів). Перший припустимий номер кластера завжди починається з 2. Номера кластерів відповідають елементам таблиці розміщення файлів.
Логічна розбивка області даних на кластери як сукупності секторів замість використання одиночних секторів має наступний сенс: насамперед, зменшується розмір самої таблиці FAT; зменшується можлива фрагментація файлів; прискорюється доступ до файлу, тому що в кілька разів скорочується довжина ланцюжків фрагментів дискового простору, виділених для нього.
Однак занадто великий розмір кластера веде до неефективного використання області даних, особливо у випадку великої кількості маленьких файлів. Як ми тільки що помітили, у середньому на кожен файл губиться біля половини кластера. З табл. 4.3 випливає, що при розмірі кластера в 32 сектори (обсяг розділу - від 512 Мбайт до 1023 Мбайт), тобто 16 Кбайт, середня величина втрат на файл складе 8 Кбайт, і при числі файлів у кілька тисяч втрати можуть складати більше 100 Мбайт. Тому в сучасних файлових системах (до них, насамперед, варто віднести HPFS, NTFS, FAT32 і деякі інші, підтримувані ОС сімейства UNIX) розміри кластерів обмежуються (звичайно - від 512 байт до 4 Кбайт). У FAT32 проблема зважується за рахунок того, що власне сама FAT у цій файловій системі може містити до 228 кластерів. Нарешті, помітимо, що системи керування файлами, створені для Windows 9х і Windows NT, можуть працювати з роздачами розміром до 4 Гбайт, на яких встановлена система FAT, тоді як DOS, природно, з такими розділами працювати не зможе.
Досить наочно ідея файлової системи з використанням таблиці розміщення файлів FAT проілюстрована мал. 4.7. З цього малюнка видно, що файл з ім'ям MYFILE.TXT розміщається починаючи з восьмого кластера. Усього файл MYFILE.TXT займає 12 кластерів. Ланцюжок кластерів (chain) для нашого прикладу може бути записаний в такий спосіб: 8, 9, 0А, 0В, 15, 16, 17, 19, 1А, 1В, 1C, ID. Кластер з номером 18 позначений спеціальним кодом F7 як поганий (bad), він не може бути використаний для розміщення даних. При форматуванні звичайно перевіряється поверхня магнітного диска, і ті сектори, при контрольному читанні з який відбувалися помилки, позначаються в FAT як погані. Кластер ID позначений кодом FF як кінцевий (останній у ланцюжку) кластер, що належить даному файлу. Вільні (незайняті) кластери позначаються кодом 00; при виділенні нового кластера для запису файлу береться перший вільний, кластер. Оскільки файли на диску змінюються — знищуютьсяся, переміщаються, збільшуються чи зменшуються, — то згадане правило виділення першого вільного кластера для нової порції даних приводить до фрагментації файлів, тобто дані одного файлу можуть розташовуватися не в суміжних кластерах, а, часом, в дуже віддалених один від одного, утворюючи складні ланцюжки. Природно, що це приводить до істотного уповільнення роботи з файлами.
Так, як FAT використовується при доступі до диска дуже інтенсивно, вона звичайно завантажується в ОЗУ (в буфери введення/виведення чи кеш) і залишається там настільки довго, наскільки це можливо.
У зв'язку з надзвичайною важливістю FAT вона звичайно зберігається в двох ідентичних екземплярах, другий з який безпосередньо слідує за першим. Обновляються копії FAT одночасно. Використовується ж тільки перший екземпляр. Якщо він за якимись причинами виявиться зруйнованим, то відбудеться звертання до другого екземпляра. Так, наприклад, утиліта перевірки і відновлення файлової структури ScanDisk з ОС Windows 9x при виявленні невідповідності первинної і резервної копії FAT пропонує відновити головну таблицю, використовуючи дані з копії.
Структура системи файлів є ієрархічною. Це ілюструється рис.10.8, з якого видно, що елементом каталога може бути такий файл, який сам, в свою чергу, являється каталогом.