Главная » Файлы » Курсовые работы » Курсовые проекты |
Файлові системи ОС Windows 7
[ Скачать с сервера (1.15 Mb) ] | 03.07.2017, 06:21 |
Зміст Загальні положення 3 Імена файлів 5 Типи файлів 5 Сучасні архітектури файлових систем 10 Фізична організація файлових систем 12 Диски, розділи, сектори, кластери 13 Фізична організація і адресація файлу 15 Логічна організація файлової системи 19 Типові файлові системи Windows 22 Файлова система FAT 23 Ланцюжок FAT 24 Імена файлів в FAT 25 Переваги файлової системи FAT 26 Недоліки файлової системи FAT 26 Файлова система FAT32 26 Зміни в FAT32 27 Файлова система exFAT 28 Основні переваги файлової системи exFAT: 28 Файлова система NTFS 30 Метафайли 30 Файли і потоки 31 Каталоги 32 Журналювання 33 Стиснення 33 Порівняльна характеристика FAT32 та NTFS 34 exFat або NTFS 36 Висновок 37 Список використаної літератури 38 Загальні положення Файл - це набір даних, до якого можна звертатися за іменем. Файли організовані у файлові системи. З погляду користувача файл є мінімальним обсягом даних файлової системи, з яким можна працювати незалежно. Наприклад, користувач не може зберегти дані на зовнішньому носії, не звернувшися при цьому до файла. Розглянемо особливості використання файлів. Файли є найпоширенішим засобом зберігання інформації в енергонезалежній пам'яті. Така пам'ять надійніша, й інформація на ній може зберігатися так довго, як це необхідно. Зазначимо, що більшість збоїв у роботі ОС не руйнує інформації, що зберігається у файлах на диску. Для забезпечення збереження даних підвищеної цінності вживають додаткових заходів (гаряче резервування, резервне копіювання тощо). Файли забезпечують найпростіший варіант спільного використання даних різними застосуваннями. Це пов'язано з тим, що файли відокремлені від програм, які їх використовують: будь-яка програма, якій відоме ім'я файла, може отримати доступ до його вмісту. Якщо одна програма запише у файл, а інша його потім прочитає, то ці дві програми виконають обмін даними. Файлова система - це підсистема ОС, що підтримує організований набір файлів, здебільшого у конкретній ділянці дискового простору (логічну структуру); низькорівневі структури даних, використовувані для організації цього простору у вигляді набору файлів (фізичну структуру); програмний інтерфейс файлової системи (набір системних викликів, що реалізують операції над файлами). Файлова система надає прикладним програмам абстракцію файла. Прикладні програми не мають інформації про те, як організовані дані файла, як знаходять відповідність між ім'ям файла і його даними, як пересилають дані із диска у пам'ять тощо - усі ці операції забезпечує файлова система. Важливо зазначити, що файлові системи можуть надавати інтерфейс доступу не тільки до диска, але й до інших пристроїв. Є файлові системи, які не зберігають інформацію, а генерують її динамічно за запитом. Втім, для прикладних програм усі такі системи мають однаковий вигляд. До головних задач файлової системи можна віднести: 1) організацію її логічної структури та її відображення на фізичну організацію розміщення даних на диску; 2) підтримку програмного інтерфейсу файлової системи; 3) забезпечення стійкості проти збоїв; 4) забезпечення розподілу файлових ресурсів за умов багатозадачності та захисту даних від несанкціонованого доступу. Інакше кажучи, файлова система визначає файлову структуру носія даних. Її можна порівняти з класичною бібліотекою: вся інформація в бібліотеці розподілена за книжками, у файловій структурі — за файлами. Для користувача книжка і файл є найдрібнішими неподільними одиницями даних — він не може скопіювати чи перейменувати частину файлу. Кількість файлів на жорсткому диску сучасного персонального комп'ютера також є порівнянною з кількістю книжок у бібліотеці середніх розмірів, а отже, для швидкого пошуку файлів їх необхідно систематизувати. Тому файли розподілені за каталогами (в операційній системі Windows їх називають папками). Каталог – це елемент файлової системи, який має власне ім’я та може містити файли і інші каталоги. Каталог представляє собою групу файлів, об'єднаних користувачем виходячи з деяких міркувань (наприклад, файли, що містять програми ігор, або файли, що складають один програмний пакет) файл, що містить системну інформацію про групу файлів, його складових. У каталозі міститься список файлів, що входять до нього, і встановлюється відповідність між файлами і їх характеристиками (атрибутами). В ОС Windows останніх версій використовуються такі файлові системи: FAT, FAT32, HPFS і NTFS. Для користувача структура файлів і каталогів у цих системах виглядає однаково, але вона по-різному відображується на фізичну структуру дисків. Система NTFS надає більше можливостей, зокрема дозволяє керувати правами доступу користувачів до файлів. З погляду операційної системи диск є набором кластерів розміром 512 байт і більше. Кластер — це найменше місце на диску, яке може бути виділене для зберігання файлу. Файлова система дає змогу визначити, які кластери зайняті файлами, які є вільними, а які пошкоджені. Один фізичний дисковий пристрій файлова система може подавати як кілька дисків, що їх називають логічними. З-поміж дисків можна виокремити «головний» - системний диск, на якому містяться файли операційної системи. Імена файлів Файли ідентифікуються іменами. Користувачі дають файлам символьні імена, при цьому враховуються обмеження операційної системи як на використовувані символи, так і на довжину імені. Так у відомій файловій системі FAT довжина імен обмежується схемою 8.3 (8 символів – власне ім’я, 3 символи – розширення імені), а у ОС UNIX System V ім’я не може містити більше 14 символів. Сучасні файлові системи, як правило, підтримують довгі символьні імена файлів. Але виникає проблема генерації відповідних унікальних імен. Унікальне ім’я представляє собою числовий ідентифікатор і використовується програмами операційної системи. Типи файлів Файли бувають різних типів: звичайні файли, спеціальні файли, файли-каталоги. Звичайні файли в свою чергу розділяються на текстові та двійкові. Текстові складаються із рядків символів, представлених в ASCII-коді. Це можуть бути документи, вихідні тексти програм тощо. Двійкові файли не використовують ASCII-коди, вони часто мають складну внутрішню структуру, наприклад, об’єктний код програми або архівний файл. Всі операційні системи мають розпізнавати хоча б один тип файлів – їх власні виконувані файли. Спеціальні файли – це файли, асоційовані з пристроями введення-виведення, використовуючи звичайні команди запису в файл або читання з файлу. Ці команди оброблюються спочатку програмами файлової системи, а потім на деякому етапі виконання запиту перетворюються операційною системою в команди управління відповідним пристроєм. Спеціальні файли, як і пристрої введення-виведення, діляться на блок-орієнтовані і байт-орієнтовані. Каталог – це, з одного боку, група файлів, об’єднаних користувачем виходячи з певних переконань (наприклад, файли, які містять програми ігор, або файли, що складають собою єдиний програмний пакет), а з іншого боку – файл, який містить системну інформацію про групу файлів, його складових. В каталозі міститься список файлів, які у нього входять, і встановлюється відповідність між файлами і їх характеристиками (атрибутами). У різних файлових системах можуть використовуватись в якості атрибутів різні характеристики, наприклад: • інформація про дозволений доступ; • пароль для доступу до файлу; • власник файлу; • хто створив файл; • ознака «только для чтения»; • ознака «скрытый файл»; • ознака «системный файл»; • ознака «архивный файл»; • ознака «двоичный/символьный»; • ознака «временный» (удалить после завершения процесса); • ознака блокування; • довжина запису; • вказівник на ключове поле в записі; • довжина ключа; • час створення, останнього доступу і останньої зміни; • максимальний розмір файлу. Класифікація файлових систем За призначенням файлові системи можна класифікувати на наступні категорії: • Для носіїв з довільним доступом (наприклад, жорсткий диск): FAT32, HPFS, ext2 і ін.. Оскільки доступ до дисків в рази повільніше, ніж доступ до оперативної пам'яті, для приросту продуктивності в багатьох файлових системах застосовується асинхронний запис змін на диск. Для цього застосовується або журнал, наприклад в ext3, ReiserFS, JFS, NTFS, XFS, або механізм soft updates та ін.. Журналювання широко поширене в Linux, застосовується в NTFS. Soft updates - в BSD системах. Reiser4 не застосовує журнал роботи, всі операції в ній одна транзакція. • Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC та ін • Для оптичних носіїв - CD і DVD: ISO9660, ISO9690, HFS, UDF і ін • Віртуальні файлові системи: AEFS та ін • Мережеві файлові системи: NFS, CIFS, SSHFS, GmailFS та ін • Для флеш - пам'яті: YAFFS, ExtremeFFS. • Трохи випадають із загальної класифікації спеціалізовані файлові системи: ZFS (власне файловою системою є тільки частина ZFS), VMFS (т.зв. кластерна файлова система, яка призначена для зберігання інших файлових систем) та ін.. Характеристика деяких файлових систем: FAT - початково дискова файлова система - тепер часто використовується на флеш-дисках. Має обмеження на розмір файлу в 4 гігабайти. exFAT - Розширена версія FAT, що використовується для флеш-дисків. Запатентована Microsoft, часто називається як FAT64 - обмеження 1964 байт (16 ексабайт). FFS2 - Продовження файлової системи FFS1. Одна з ранніх файлових систем для флеш-карт. Розроблена і запатентована Microsoft на початку 1990х років. US Patent 5392427 (англ.) TFAT - транзакційна версія FAT файлової системи. JFFS - Оригінальна логічно-структурована Linux файлова система для NOR-флеш-носіїв. JFFS2 - Продовження JFFS для NAND-і NOR-флеш-носіїв. LogFS - Призначена для заміни JFFS2, краща розширюваність. Знаходиться на ранній стадії розробки. Non-Volatile File System - файлова система для флеш-дисків, розроблена Palm, Inc .. YAFFS - Лог структурована файлова система, призначена для NAND-флеш, але може використовуватися в NOR-флеш-дисках. NTFS була створена, щоб повністю замінити FAT/FAT32 і являє собою базову файлову систему на комп’ютерах із ОС Windows 7. Загальна модель роботи файлової системи Рис. Загальна модель функціонування файлової системи. Задачею символьного рівня являється визначення за символьним іменем файлу його унікального імені. У файлових системах, в яких кожен може мати лише одне символьне ім’я (наприклад, MS-DOS), цей рівень відсутній, так як присвоєне користувачем символьне ім’я одночасно являє собою унікальне і може використовуватись операційною системою. На наступному, базовому рівні, за унікальним іменем файлу визначаються його характеристики: права доступу, адреса, розмір та інші. Характеристики файлу можуть входити до складу каталогу або зберігатись в окремих таблицях. При відкритті файлу його характеристики переміщуються з диска в оперативну пам’ять, щоб зменшити середній час доступу до файлу. У деяких файлових системах (наприклад, HPFS) при відкритті файлу разом з його характеристиками в оперативну пам’ять переміщуються декілька перших блоків файлу, які містять дані. Наступним етапом реалізації запиту до файлу являється перевірка прав на доступ до нього. Для цього порівнюються повноваження користувача або процесу, які подали запит, зі списком дозволених видів доступу до заданого файлу. Якщо поданий на запит вид доступу дозволений, то виконання запиту продовжується, якщо ні – видається повідомлення про порушення прав доступу. На логічному рівні визначаються координати запитуваного логічного запису у файлі, тобто необхідно визначити, на якій відстані (у байтах) від початку файлу знаходиться необхідний логічний запис. При цьому абстрагуються від фізичного розташування файлу, він представляються у вигляді неперервної послідовності байтів. Алгоритм роботи даного рівня залежить від логічної організації файлу. Для визначення координат логічного запису в файлі з індексно-послідовною організацією виконується читання таблиці індексів (ключів), у якій безпосередньо вказується адреса логічного запису. На фізичному рівні файлова система визначає номер фізичного блоку, який містить необхідний логічний запис і зміщення логічного запису у фізичному блоці. Для вирішення цієї задачі використовуються результати роботи логічного рівня – зміщення логічного запису в файлі, адресу файлу на зовнішньому пристрої, а також відомості про фізичну організацію файлу, враховуючи розмір блоку. Слід зазначити, що задача фізичного рівня вирішується незалежно від того, як був логічно організований файл. Після визначення номера фізичного блоку, файлова система звертається до системи введення-виведення для виконання операції обміну з зовнішнім пристроєм. У відповідь на цей запит у буфер файлової системи буде переданий необхідний блок, у якому на основі отриманого при роботі фізичного рівня зміщення обирається необхідний логічний запис. Сучасні архітектури файлових систем Розробники нових операційних систем націлені забезпечити користувача можливістю працювати одразу із декількома файловими системами. У новому розумінні файлова система містить багато складових, до числа яких входять і файлові системи в традиційному розумінні. «Нова» файлова система має багаторівневу структуру (рис.), на верхньому рівні якої розташовується так званий перемикач файлових систем. Він забезпечує інтерфейс між запитами додатків і конкретною файловою системою, до якої звертається даний додаток. Перемикач файлових систем перетворює запити у формат, який сприймається наступним рівнем – рівнем файлових систем. Кожен компонент рівня файлових систем виконаний у вигляді драйвера відповідної файлової системи і підтримує відповідну організацію файлової системи. Перемикач являється єдиним модулем, який може звертатись до драйвера файлової системи. Додаток не може звертатись до нього на пряму. Драйвер файлової системи може бути написаний у вигляді реентерабельного коду, що дозволяє одразу декільком додаткам виконувати операції з файлами. Кожен драйвер файлової системи в процесі власної ініціалізації реєструється у перемикачеві, передаючи йому таблицю точок входу, яку будуть використовуватись у разі наступних звернень до файлової системи. Для виконання своїх функцій драйвери файлових систем звертаються до підсистеми введення-виведення, яка утворює наступний рівень файлової системи нової архітектури. Підсистема введення-виведення – складова частина файлової системи, яка відповідає за завантаження, ініціалізацію і управління всіма модулями нижчих рівнів файлової системи. Зазвичай ці модулі представляють собою драйвери портів, які безпосередньо займаються роботою з апаратними засобами. Підсистема введення-виведення повинна бути постійно присутньою у пам’яті і організовувати спільну роботу ієрархії драйверів пристроїв. В цю ієрархію можуть входити драйвери пристроїв певного типу (драйвери жорстких дисків чи накопичувачів), драйвери портів, які управляють конкретними адаптерами. Багаторівневий механізм роботи файлової системи реалізований за допомогою ланцюжків викликів. У ході ініціалізації драйвер пристрою може додати себе до ланцюга виклику певного пристрою, визначивши при цьому рівень наступного звернення. Підсистема введення-виведення послідовно викликає всі функції, які були раніше поміщені у ланцюжок виклику. Рис. Архітектура сучасної файлової системи. Фізична організація файлових систем Файл, який має цілісний образ, непереривного набору байтів, насправді дуже часто розкиданий по усьому диску, до того ж це розбиття ніяк не пов’язане з логічною структурою файлу (наприклад, окремий запис може бути розташований у несуміжних секторах диску). Принципи розміщення файлів, каталогів і системної інформації на реальному пристрої описуються фізичною організацією файлової системи. Різні файлові системи мають різну фізичну організацію. Диски, розділи, сектори, кластери Основним типом пристрою, який використовується в сучасних обчислювальних системах для зберігання файлів, є дискові накопичувачі. Ці пристрої призначені для зчитування і запису даних на жорсткі і гнучкі магнітні диски. Жорсткий диск складається з однієї або декількох скляних або металевих пластин, кожна з яких покрита з одного або двох сторін магнітним матеріалом. Таким чином, диск у загальному випадку складається з пакету пластин (рис. 7.8). На кожній стороні кожної пластини розмічені тонкі концентричні кільця - доріжки (traks), на яких зберігаються дані. Кількість доріжок залежить від типу диска. Нумерація доріжок починається з 0 від зовнішнього краю до центру диска. Коли диск обертається, елемент, званий головкою, зчитує двійкові дані з магнітної доріжки або записує їх на магнітну доріжку. Рис. Схема організації жорсткого диску. Запис на диск здійснюється завдяки здатності голівки змінювати магнітні властивості доріжки. У деяких дисках уздовж кожної поверхні переміщається одна головка, а в інших - є по голівці на кожну доріжку. Сукупність доріжок одного радіуса на всіх поверхнях всіх пластин пакета називається циліндром (cylinder). Кожна доріжка розбивається на фрагменти, звані секторами (sectors), або блоками (blocks), так що всі доріжки мають рівне число секторів, в які можна максимально записати одне і те ж число байт . Сектор має фіксований для конкретної системи розмір, що виражається ступенем двійки. Найчастіше розмір сектора складає 512 байт. Для того щоб контролер міг знайти на диску потрібний сектор, необхідно задати йому всі складові адреси сектора: номер циліндра, номер поверхні і номер сектора. Так як прикладній програмі в загальному випадку потрібен не сектор, а деяка кількість байт, не обов'язково кратна розміру сектора, то типовий запит включає читання декількох секторів, що містять необхідну інформацію, і одного або двох секторів, що містять поряд з необхідними і надлишкові дані (рис.). Рис. Зчитування надлишкових даних при обміні з диском. Розмітку диска під конкретний тип файлової системи виконують процедури високорівневого, або логічного, форматуванн | |
Просмотров: 1347 | Загрузок: 25 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |