Файлова система персонального комп'ютера найбільше. Файли та файлова система

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

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

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

Оскільки у визначенні файлу немає обмежень на розмір, можна уявити файл, що має 0 байтів (Порожній файл),і файл, що має будь-яку кількість байтів.

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

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

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

Імена зовнішніх носіїв інформації.Диски, на яких зберігається інформація в комп'ютері, мають свої імена – кожен диск названий буквою латинського алфавіту, а потім ставиться двокрапка. Так, для дискет завжди відводяться букви А:і В:. Логічні диски вінчестера називаються, починаючи з літери З:. Після всіх імен логічних дисків слідують імена дисководів для компакт-дисків. Наприклад, встановлені: дисковод для дискет, вінчестер, розбитий на 3 логічні диски та дисковод для компакт-дисків. Визначити літери всіх носіїв інформації. А:- дисковод для дискет; З:, D:, Е:- логічні диски вінчестера; F:- Дисковод для компакт-дисків.

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

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

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

З цієї причини форматування і дефрагментація кожного логічного диска не зачіпає інші.

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

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

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

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

Шлях до файлу- це ім'я носія (диска) та послідовність імен каталогів, в ОС Windows розділених символом "\" (в ОС лінії UNIX використовується символ "/").Цей шлях задає маршрут до каталогу, в якому знаходиться потрібний файл.

Для вказівки шляху до файлу використовують два різні методи. У першому випадку кожному файлу дається абсолютне ім'я шляху (повне ім'я файлу),що складається з імен всіх каталогів від кореневого до того, в якому міститься файл, та імені файлу. Наприклад, шлях З: Abby Doc otchet.docозначає, що кореневий каталог диска З:містить каталог Abby, який, у свою чергу, містить підкаталог Docде знаходиться файл otchet.doc. Абсолютні імена шляхів завжди починаються від імені носія та кореневого каталогу та є унікальними. Застосовується та відносне ім'я шляху.Воно використовується разом із поняттям поточного каталогу.Користувач може призначити один із каталогів поточним робочим каталогом. У цьому випадку всі імена шляхів, які не починаються із символу роздільника, вважаються відносними та відраховуються щодо поточного каталогу. Наприклад, якщо поточним каталогом є З: Abbyтоді до файлу з абсолютним шляхом З: \ Abby \можна звернутися як Doc\otchet.doc.

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

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

Основний пошуковий засіб Windows XPзапускають із Головного меню командою Пуск > Знайти > Файли та папки. Не менш зручний і інший варіант запуску – з будь-якого вікна папки. > Панелі браузера > Пошук > Файли та папкиабо клавіша F3).

Локалізувати сферу пошуку з урахуванням наявної інформації про ім'я та адресу файлу дозволяють елементи керування на панелі пошуку. При введенні імені файлу дозволяється використовувати символи підстановки «*» і «?» . Символ «*» замінює будь-яку кількість довільних символів, а символ «?» замінює один символ. Так, наприклад, пошук файлу з ім'ям *.txtзавершиться з відображенням усіх файлів, які мають розширення імені. txt, а результатом пошуку файлів з ім'ям *.??tстане список всіх файлів, які мають розширення імені. txt, .bat, .datі так далі.

При пошуку файлів, що мають "довгі" імена, слід мати на увазі, що якщо "довге" ім'я містить прогалини (а це допустимо), то при створенні завдання на пошук таке ім'я слід укладати в лапки, наприклад: «Поточні роботи.doc».

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

· Питання Коли було здійснено останні зміни?дозволяє обмежити сферу пошуку за датою створення, останньої зміни або відкриття файлу.

· Питання Який розмір файлу?дозволяє під час пошуку обмежитися файлами певного розміру.

· Пункт Додаткові параметридозволяє вказати тип файлу, дозволити перегляд прихованих файлів та папок, а також задати деякі інші параметри пошуку.

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

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

19.Стиснення даних та архівація файлів.

Характерною особливістю більшості «класичних» типів даних, із якими зазвичай працюють люди, є певна надмірність. Ступінь надмірності залежить від типу даних. Крім того, ступінь надмірності даних залежить від прийнятої системи кодування. Так, наприклад, можна сказати, що кодування текстової інформації засобами російської мови (з використанням російської абетки) дає в середньому надмірність на 20-30% більше, ніж кодування адекватної інформації засобами англійської мови.
При обробці інформації надмірність також грає значної ролі. Однак, коли мова заходить не про обробку, а про зберігання готових документів або їх передачу, надмірність можна зменшити, що дає ефект стиснення даних.
Якщо методи стиснення інформації застосовують до готових документів, то нерідко термін стиснення даних замінюють терміном архівація даних, а програмні засоби, що виконують ці операції, називають архіваторами.
Залежно від того, в якому об'єкті розміщені дані, що піддаються стиску, розрізняють:
- Ущільнення (архівацію) файлів;
- Ущільнення (архівацію) папок;
- Ущільнення дисків.
Якщо при стисненні даних відбувається зміна їх змісту, метод стиснення незворотний і при відновленні даних зі стисненого файлу немає повного відновлення вихідної послідовності. Такі методи називають також методами стиску з регульованою втратою інформації. Вони застосовні лише тих типів даних, котрим формальна втрата частини змісту не призводить до значного зниження споживчих властивостей. Насамперед, це стосується мультимедійних даних: відеорядів, музичних записів, звукозаписів та малюнків. Методи стиснення зі втратою інформації зазвичай забезпечують набагато більший ступінь стиснення, ніж оборотні методи, але їх не можна застосовувати до текстових документів, баз даних і, тим більше, до програмного коду. Характерними форматами стиснення із втратою інформації є:
- JPG для графічних даних;
- .MPG для відео;
- . М РЗ для звукових даних
Якщо при стисканні даних відбувається лише зміна їхньої структури, то метод стиснення звернемо. З результуючого коду можна відновити вихідний масив шляхом застосування методу зворотного. Оборотні методи застосовують для стиснення будь-яких типів даних. Характерними форматами стиснення без втрати інформації є:
- .GIF, TIP,. PCX та багато інших для графічних даних;
- .AVI для відео;
- .ZIP, .ARJ, .BAR, .LZH, .LH, .CAB та багато інших для будь-яких типів даних.
«Класичними» форматами стиснення даних, які широко використовуються у повсякденній роботі з комп'ютером, є формати.ZIP і.ARJ. Останнім часом до них додався популярний формат RAR.
До базових функцій, які виконують більшість сучасних диспетчерів архівів, належать:
- Вилучення файлів з архівів;
- Створення нових архівів;
- додавання файлів до наявного архіву;
- створення архівів, що саморозпаковуються;
- Створення розподілених архівів на носіях малої ємності;
- Тестування цілісності структури архівів;
- повне чи часткове відновлення пошкоджених архівів;
- захист архівів від перегляду та несанкціонованої модифікації.
архіви, що саморозпаковуються. Самоархівний архів готується на базі звичайного архіву шляхом приєднання до нього невеликого програмного модуля. Сам архів отримує розширення імені.ЕХЕ, характерне для файлів, що можна здійснити.
Розподілені архіви. Деякі диспетчери (наприклад, WinZip) виконують розбиття відразу на гнучкі диски, а деякі (наприклад WinRAR і WinArj) дозволяють виконати попереднє розбиття архіву на фрагменти заданого розміру на жорсткому диску. Згодом їх можна перенести на зовнішні носії шляхом копіювання.
При створенні розподілених архівів диспетчер WinZip має неприємну особливість: кожен том несе файли з однаковими іменами. Внаслідок цього немає можливості встановити номери томів, що зберігаються на кожному з гнучких дисків, за назвою файлу Диспетчери архівів WinArj та WinRAR маркують усі файли розподіленого архіву різними іменами і тому не створюють таких проблем.
Захист архівів У більшості випадків захист архівів виконується за допомогою пароля, який запитується при спробі переглянути, розпакувати або змінити архів.
До додаткових функцій диспетчерів архівів відносяться сервісні функції, що роблять більш зручною роботу. Вони часто реалізуються зовнішнім підключенням додаткових службових програм та забезпечують:
- Перегляд файлів різних форматів без вилучення їх з архіву;
пошук файлів та даних усередині архівів;
встановлення програм з архівів без попереднього розпакування;
перевірку відсутності комп'ютерних вірусів в архіві до його розпакування;
криптографічний захист архівної інформації;
декодування повідомлень електронної пошти;
"прозоре" ущільнення здійснюваних файлів.ЕХЕ і.DLL;
створення саморозпаковуються багатотомних архівів;
вибір або налаштування коефіцієнта стиснення інформації.

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

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

Файл має ім'я та атрибути(архівний, "тільки для читання", прихований, системний), характеризується розміром у байтах, датою та часом створення чи останньої зміни.

Ім'я файлу складається з двох частин: власне імені та розширення (типу). Типможе бути відсутнім. Ім'я відокремлюється від типу символом точки. У Windows можна надавати імена довжиною до 255 символів. Тип вказує вид і призначення файлу, деякі з них є стандартними, наприклад:

· .СОМ и.ЕХЕ - виконувані файли;

· .ВАТ - командний пакетний файл;

· .ТХТ - текстовий файл довільного типу;

· .MDB - файл бази даних Access;

· .XLS – електронна таблиця Excel;

· .DOC - текстовий файл редактора Microsoft Word;

· .ZIP - упакований файл архіваторів Winzip/PkZip.

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

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

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

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

Для того, щоб ОС могла звернутися до файлу, необхідно вказати:

· Шлях по дереву каталогів;

· Повне ім'я файлу.

Ця інформація вказується в специфікації файлу,яка має наступний формат:

[диск:][шлях]ім'я файлу[.тип]

Квадратні дужки означають, що відповідну частину специфікації можна опустити. У цьому випадку використовується значення за замовчуванням.

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

Шлях-Послідовність папок, які необхідно пройти до шуканого файлу. Імена в дорозі записуються в порядку зменшення їхнього старшинства і поділяються символом «\». Каталог, до якого входить поточний каталог, називається батьківським.

Досить часто виникає потреба обробити однією командою відразу кілька файлів. Наприклад, видалити всі файли резервних копій, які мають розширення BAK, або переписати кілька файлів-документів з іменами doc1.txt, doc2.txt і т. д. У цих випадках використовують спеціальні символи- маски, що дають змогу описати одним ім'ям групу файлів. Масок лише дві:

· символ * в імені або розширенні файлу замінює будь-яку допустиму кількість будь-яких символів;

· Символ? у імені або розширенні файлу замінює будь-який символ або відсутність символу.

Нашим прикладам будуть відповідати маски *.bak (всі файли з розширенням bak) та doc?.txt (всі файли з розширенням txt та ім'ям із 4 символів, що починається з doc).

Запитання по темі, що виносяться на залік:

1. Визначення ОС. Основні концепції ОС Windows (багатозадачність, графічний інтерфейс користувача, використання та зв'язування даних).

2. Графічний інтерфейс користувача, його основні компоненти (вікна, засоби діалогу, стандартне керування вікнами та засобами діалогу).

3. Робота з клавіатурою та «мишею» у Windows. Стандартні комбінації клавіш та операції з «мишею».

4. Робота з файлами та папками в Windows - основні операції та можливості. Програми «Мій комп'ютер» та «Провідник».

5. Пошук інформації у Windows.

6. Створення ярликів додатків та документів.

7. Панель управління та її основні компоненти.

8. Обробка збоїв у Windows.

9. Налаштування DOS-програм під Windows.

ВСТУП

Нині найпоширенішими є персональні комп'ютери (ПК) з урахуванням процесора Pentium. На більшості цих ПК встановлюється операційна система (ОС) Windows 95 або Windows 98 (Windows 9x або Windows). Windows фактично є стандартом для 32-розрядних персональних комп'ютерів. Наразі розроблено вже кілька версій системи.

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

Відмінними рисами сучасних операційних систем, зокрема Windows 9x, є:

Розвинений інтерфейс користувача, тобто засоби і методи взаємодії з користувачем;

Багатозадачність – здатність забезпечувати виконання кількох програм «одночасно»;

використання всіх можливостей, що надаються сучасними мікропроцесорами;

Стійкість у роботі та захищеність.

Windows 9x є наступницею та результатом злиття двох систем Windows 3.1x та MS-DOS. Розробникам довелося прийняти низку компромісів для забезпечення її сумісності із названими системами:

Windows 9x починає функціонування реальному режимі, і лише потім перетворюється на захищений режим;

В основі Windows 9x лежить оновлена ​​MS-DOS;

У Windows 9x є достатня кількість 16-розрядних компонентів (модулів та драйверів пристроїв).

В основі Windows 9x лежить об'єктно-орієнтований підхід. Об'єктами є документи, додатки, папки, файли, ярлики, диски тощо. Відкриття об'єкту-Одне з основних понять в системі. Виконувані у своїй дії залежить від різновиду об'єкта:

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

- Відкриття програми- запуск їх у роботу;

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

- відкриття пристрою введення – виводудозволяє потрапити в середовище диспетчера, що забезпечує керування цим пристроєм;

- відкриття ярликау багатьох випадках рівносильне відкриттю того об'єкта, для якого він створений.

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


КОМПОНЕНТИ ФАЙЛОВОЇ СИСТЕМИ

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

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

У імені файлу(ОС Windows 9x) можуть використовуватися майже всі символи, що друкуються, але є ряд обмежень:

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

Ім'я файлу не може починатися з точки і нею закінчуватись;

У імені файлу не можна застосовувати такі символи: /, \, :, ?, '',<, >, |, оскільки вони зарезервовані інших цілей;

Довжина імені файлу не повинна перевищувати (загалом) 255 символів.

Такі імена називаються довгими.Наприклад, Лабораторна робота №1 з дисципліни операційної системи.

Для кожного файлу Windows 9x автоматично генерує короткийім'я, яке формується, виходячи з вимог ОС MS-DOS, та використовується для забезпечення сумісності операційних систем. Він містить не більше 8 символів. Крім символів, заборонених у довгих іменах, не допускається використовувати символи;, +, [, ], =, «точка», «кома», «пробіл». Коротке ім'я починається, як і довге, далі слідує символ ~ і порядковий номер (загалом не більше 8 символів). При цьому заборонені символи опускаються, малі літери перекодуються в великі. Наприклад, PRIMER~1 може відповідати довгому імені файлу, що починається буквами Primer. Якщо є ще такий файл, його коротке ім'я буде PRIMER~2.

Забороненими є імена, зарезервовані для пристроїв введення-виведення: PRN (принтер), CON (консоль, тобто клавіатура та монітор), NUL (фіктивний пристрій), LPT1 – LPT3 (перший – третій паралельний порт), COM1 – COM3 ( перший – третій послідовний порт. Символами латинського алфавіту A:, B:, C:, D: і т.д. називаються зовнішні запам'ятовуючі устрою.

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

ВАТ для командних файлів;

DOC для файлів, що містять різноманітні документи у форматі редактора Microsoft Word;

PAS для програм, написаних мовою PASCAL; -

PCX для файлів із ілюстрацією у форматі растрового графічного редактора Publishers Paintbrush;

ВАК для файлів із попередньою версією документа (резервні файли);

ЕХЕ для файлів, з готовою до виконання програмою

СОМ для файлів, з готовою до виконання програмою лише серед MS-DOS.

В даний час для програм, готових до виконання під керуванням операційної системи, використовують термін додаток(application), наприклад, Windows - програма

Приклад файлу: COMMAND.COM, COMMAND – ім'я файлу, СОМ – розширення.

Окрім довгого та короткого імен з кожним файлом пов'язується ряд властивостей. До числа властивостей файліввідносяться:

атрибути файлу;

Дата та час її створення;

Дата та час модифікації файлу;

Дата останнього доступу до файлу (з читання чи запису);

Довжина або розмір файлу (в байтах).

Атрибути файлувизначають способи його використання та права доступу до нього. У Windows 9x атрибути грають скоріше інформаційну роль, ніж захисну, як серед MS-DOS. Файлу може бути приписана будь-яка комбінація з наведених нижче атрибутів:

Read-Only [R] (Тільки читання) – встановлює захист файлу від запису, файл не може бути видалений, переміщений або змінений без спеціальних заходів;

Archive [A] (Архівний) - встановлює для файлу архівний статус, встановлюється автоматично під час створення чи модифікації файлу, знімається засобами архівування чи резервування;

Hidden [H] (Прихований) – приховані файли, якщо не вжити спеціальних заходів, у папках не відображаються.

System [S] (Системний) – атрибут, яким надаються системні файли.

З кожним файлом серед Windows 9x зв'язується піктограма, яка відповідає типу файла. Піктограма- Це маленька ілюстрація, що допомагає швидко ідентифікувати об'єкт, з яким вона пов'язана.

Часто для позначення декількох файлів або для скорочення запису імен файлів використовується шаблон імені файлу. Шаблономімені є ім'я, в якому використовуються символи – замінники"*" та "?". Позиція, де стоїть знак "?" може містити будь-який символ. "*" означає, що ту позицію, в якій стоїть "*", і всі наступні можуть займати будь-які символи.

*.ТХТ - всі файли типу ТХТ;

А?.* - всі файли, імена яких починаються з літери А і складаються з однієї або двох літер.

1.2. Папки (каталоги)

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

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

Якщо одна папка безпосередньо міститься в іншій, то перша називається дочірньою (підкаталог), а друга – батьківською (надкаталог) стосовно першої папки. У MS-DOS для позначення батьківського каталогу використовується символ "..".

MS-DOS підтримує концепцію поточного накопичувачаі поточних каталогів. Спочатку поточним є накопичувач, з якого проводилося завантаження системи, і відповідно каталог. Каталог, з яким зараз працює користувач, називається поточним. Так само визначається поточний накопичувач. Поточний каталог поточного диска називається робітникам. Windows також підтримує цю концепцію, але трохи інакше. Наприклад, зміна робочої папки в додатках відбувається неявно – при відкритті та збереженні документів.

Приклад фрагмента файлової структури на диску наведено на рис. 1.


Мал. 1

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

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

При розгалуженій структурі файлів на диску недостатньо для знаходження файлу вказати лише його ім'я (якщо не використовувати високорівневі засоби Windows). Необхідна вказівка ​​маршруту (шляху) до файлу. Маршрут- Це послідовність з імен каталогів, розділених символом "\", яка вказує маршрут від кореневого (повний маршрут) або поточного каталогу диска до того, в якому знаходиться файл. Таким чином, повне ім'я файлу, або специфікація файлумає такий вигляд:

[диск:][повний_маршрут\]ім'я.тип.

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

Якщо у повному імені використовуються символи, неприпустимі для коротких імен (у середовищі MS-DOS), специфікацію слід укладати у лапки.

Приклад повного імені файлу: A: PROGRAM PASCAL LAB.PAS.

Наприклад, до файлу DEMO.EXE, що знаходиться в підкаталозі PROGRAM, можна звертатися:

DEMO.EXE, якщо поточний каталог PROGRAM;

PROGRAM\DEMO.EXE, якщо поточний каталог кореневий;

-..\demo.exe, якщо поточний каталог PASCAL.

1.3. Ярлики

Засобами Windows 9x забезпечується на дисках створення ще одного компонента файлової системи – ярликів. Ярлик(shortcut) є файл, що містить покажчик (посилання) на деякий об'єкт у дереві ресурсів – інший файл, папку або периферійний пристрій. (Файлові структури всіх доступних дисків, а також деякі пристрої введення – виводу об'єднуються в дерево ресурсів.) Одному об'єкту може відповідати кілька ярликів, що у різних папках. При видаленні ярлика знищується лише посилання на об'єкт, який ніяк не змінюється. При подвійному клацанні на ярлику документа буде неявно запущено програму, яка пов'язана з цим документом, а сам документ завантажений до нього для обробки. Найчастіше ярлики розміщують на робочому столі, щоб полегшити доступ до об'єктів, що постійно використовуються. Називається ярлик за тими самими правилами, як і файл, але йому приписується стандартне розширення LNK (від LiNK-зв'язок). Піктограма ярлика збігається з піктограмою об'єкта, для якого ярлик створено, але має загнуту стрілку в нижньому лівому кутку.

Якщо ярлик створюється для програми MS-DOS або командного файлу, замість ярлика формується файл з розширенням PIF. Цей файл у середовищі Windows 95 може розглядатися як ярлик спеціального вигляду, що посилається на файл для середовища MS-DOS.

1.4. Робочий стіл

Після завантаження Windows 9x на екрані монітора відображається Робочий стіл(Desktop), (як вважається) найбільша папка. Робочий стіл і сам є об'єктом системи, але на відміну від об'єктів, що знаходяться на ньому, він не може бути перенесений або скопійований в жодний з них. На робочому столі допускаються розміщувати будь-які об'єкти з дерева ресурсів, зазвичай на ньому знаходяться лише стандартні (системні) папки та ярлики для тих об'єктів, доступ до яких здійснюється найчастіше.

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

Папка Мій комп'ютер (My computer) – це спосіб комп'ютера і дозволяє отримати доступ до його ресурсів. Отримавши доступ до деякого об'єкта, можна з ним потрібні операції або змінити його властивості;

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

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

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

1. Що таке файл, ім'я та розширення файлу, шаблон?

2. Які файли називаються виконуваними?

3. Що таке папка (каталог), підкаталог, кореневий та батьківський каталог?

4. Які папки є стандартними?

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

6. Що таке ярлик?


КОМАНДИ MS-DOS

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

Формат команд MS-DOS:

команда [Параметри] .

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

Існують два типи команд MS-DOS: вбудовані (внутрішні) та завантажувані (зовнішні). Вбудованікоманди - найпростіші, що найчастіше вживаються, є складовою командного процесора сommand.com і в каталозі не відображаються. (Наприклад, DIR, COPY, DEL та інші.) завантаженимкомандам належать решта команд, що постійно зберігаються у файлах на диску (наприклад, FORMAT). Перш ніж запустити на виконання ці команди, необхідно переконатися в їх наявності на диску. Розглянемо деякі команди MS-DOS.

3.1 Для зміни поточного дисководу треба набрати ім'я дисковода, який має стати поточним, потім символ ":".

Наприклад,

команда здійснює перехід із диска A: на диск С:.

3.2 Зміна поточного каталогу

CD (CHDIR) [дисковод:] шлях

Наприклад,

CD PROGRAM - перехід у підкаталог PROGRAM;

CD.. - перехід до батьківського каталогу.

3.3 Виведення файлу на екран.

TYPE [дисковод:][маршрут\]ім'я.тип.

Наприклад,

TYPE \PROGRAM\PASCAL\lab.txt;

TYPE AUTOEXEC.BAT.

2.4 Видалення файлу або групи файлів

DEL [дисковод:][маршрут\]ім'я.тип.

Ця команда дозволяє використовувати шаблон.

Наприклад,

DEL*.* – видалення всіх файлів поточного каталогу.

2.5 Перегляд каталогу

DIR [дисковод:][маршрут\][ім'я.тип] .

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

2.6 Створення підкаталогу

MD (MKDIR) [дисковод:] шлях

2.7 Видалення підкаталогу

RD (RMDIR) [дисковод:] шлях

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

2.8 Перейменування файлів

REN[диск:][ маршрут\]старе_ім'я нове_ім'я.

Ця команда дозволяє змінити ім'я файлу без зміни вмісту. Команда дозволяє використовувати шаблон.

2.9 Очищення екрану

2.10 Виведення версії операційної системи

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

2.11 Встановлення поточного часу

TIME [чч:mm:cc:дд]

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

2.12 Встановлення поточної дати

DATE [мм:дд:гг]

Команда встановлює поточну дату аналогічно команді TIME для встановлення поточного часу.

2.13 Перегляд дерева підкаталогів

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

2.14 Копіювання окремих файлів

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

COPY [диск:][маршрут\]ісф[диск:][ маршрут \][інф] ,

де ісф – ім'я старого файлу з розширенням, інф – ім'я нового файлу з розширенням. Ключ /V дозволяє копіювати з перевіркою правильності копіювання. Ця команда дозволяє використовувати шаблон.

У разі використання команди COPY для обміну інформацією між периферійними пристроями замість імен файлів підставляють у команду спеціальні імена CON, PRN, NIL та інших., які мають такі значения:

CON – консоль: клавіатура для введення даних, відеодисплей для виведення результатів та контролю діалогу;

PRN – основний принтер, пов'язаний з вашою системою;

NUL -псевдопристрій (неіснуючий) для тестування програм.

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

1) COPY PASCAL*.PAS B: ,

відбувається копіювання всіх файлів з типом PAS з підкаталогу PASCAL на диск:

2) COPY FILE.EXT PRN ,

виведення файлу FILE.EXT на друк.

3) COPY CON FILE.EXT ,

введення даних із клавіатури у файл FILE.EXT, при цьому кінець файлу породжує комбінація клавіш (Створення файлу в MS-DOS).

4) COPY FILE1.EXT+FILE2.EXT+FILE3.EXT BOOK.EXT ,

об'єднання кількох файлів в один BOOK.EXT.

2.15 Захист файлів від запису

ATTRIB [+R | -R] [+A | -A] [ диск:][маршрут\]ім'я_файлу.

R – встановлює захист файлу від запису;

R – скасовує захист файлу від запису;

A – встановлює для файлу архівний статус;

A – скасовує для файлу архівний статус;

ATTRIB +R FILE.EXT - не можна записувати інформацію у цей файл;

ATTRIB FILE.EXT - робиться запит про можливість запису даних у FILE.EXT. Відповідь операційної системи:

R_A:\FILE.EXT , тобто. файл недоступний для запису.

2.16. Переадресація даних:

> - Переадресувати вихідні дані. Дані, які завжди відображаються на екрані, перенаправляються на периферійний пристрій або дисковий файл. В останньому випадку файл створюється за необхідності. Якщо файл існує, старі дані заміщаються на нові.

TYPE FILE.TXT > PRN

ECHO Завтра збори групи > PRN

>> - вихідні дані також перенаправляються, але якщо файл вже існує, дані додаються до старих даних.

< - переадресовать входные данные. Данные будут приниматься не с клавиатуры, а с периферийного устройства или из дискового файла.

PROGRAM< FILE.TXT

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

2.17. Організація конвеєрів.

Можна вибудувати команди або програми в ланцюжок так, що виведення на екран першої з них буде використано як введення з клавіатури наступного A1|A2|A3.

ECHO Y | DEL *.* >NUL – автоматично відповість Y (Так) на запит «Ви впевнені…» при видаленні всіх елементів каталогу.

Відбувається (конвеєру) | передача даних із однієї програми до іншої. Набагато ефективніше використання | (конвеєра) з командами фільтрами та переадресації.

2.18.Фільтри FIND, MORE, SORT.

а) Пошук вказаних даних у дисковому файлі (номер телефону, адреса, будь-яка фраза):

FIND “фраза” [шлях\] ім'я файлу,

де / C – лічильник виявлення, тобто. скільки разів виявлено фразу, а самі рядки не виводяться;

/N – виводиться ще й номер рядка (крім самого рядка);

/V – виводяться всі рядки, які містять цю фразу.

FIND "група" FILE.TXT - виводиться рядок з файлу, що містить слово "група".

DIR | FIND /V “COM” – виводяться на екран усі файли, крім файлів із розширенням COM.

FIND “car” AB.DAT, B.DAT, C.DAT – витрати на автомобіль.

б) Посторінковий висновок на екран

MORE< FILE.TXT

TYPE FILE.EXT | MORE

в) Сортування даних.

SORT (за умовчанням сортування по 1 символу за алфавітом у порядку зростання),

де /R - сортування за спаданням;

/+n – починаючи з колонки n, у рядку відбуватиметься сортування.

введення інформації з клавіатури, Ù Z – ознака кінця інформації, що вводиться.

Це бажано записати до файлу, тобто. SORT< CON >FILE.TXT.

DIR | SORT – відсортовані елементи каталогу на ім'я файлів (каталогів).

DIR | SORT /+10 > FILE.EXT -

Список файлів буде впорядкований за розширеннями (WINDOWS 9X).

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

Для надання зручності роботи користувача з даними, що зберігаються на дисках, ОС замінює фізичну організацію даних на її логічну модель. Логічна структура – ​​дерево каталогів, що з'являється на екрані програмою «Провідник» і т.д.

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

Файлова система включає:

- сукупність всіх файлів на логічному диску;

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

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

Кожна ОС має власну файлову систему.

Функції файлової системи:

Розподіл дискової пам'яті;

Присвоєння імені файлу;

Відображення імені файлу у відповідну фізичну адресу зовнішньої пам'яті;

Забезпечення доступу до даних;

Захист та відновлення даних;

Типи файлів

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

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

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

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

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

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

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

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

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

Якщо ОС підтримує кілька пристроїв зовнішньої пам'яті (жорсткий диск, дисковод, CD-ROM), то зберігання файлів може бути організовано двома способами:

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

2. Монтування файлових систем (ОС UNIX). Користувач має можливість об'єднати файлові системи, що знаходяться на різних пристроях, у єдину файлову систему, яка матиме єдине дерево каталогів.

Атрибути файлів- властивості, що приписуються файлу. Основні атрибути – Лише для читання, Системний, Прихований, Архівний.

Файлова система ОС повинна надати користувачеві набір операцій для роботи з файлами як системних дзвінків.Цей набір включає системні виклики: create (створити файл), read (читати), write (запис), close (закрити) та деяких інших. Працюючи з одним файлом, зазвичай, виконується не одна операція, а послідовність. Наприклад, під час роботи у текстовому редакторі. Яка б операція не виконувалася над файлом, ОС має виконати низку універсальних всім операцій дій:

1. За символьним ім'ям файла знайти його характеристики, які зберігаються у файловій системі на диску;

2. Скопіювати характеристики файлу в ОП;

3. На підставі характеристик файлу перевірити права доступу на виконання операції (читання, запис, видалення);

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

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

Файлова організація данихназивають розподіл файлів за каталогами, каталогів з логічних дисків. Логічний диск – Каталог – Файл. Користувач має можливість отримати інформацію про файлову організацію даних.

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

Спільне. Теоретично інформатики визначено такі три основних типи структур даних – лінійна, таблична, ієрархічна. Приклад: послідовність листів – лінійна структура. Частини, розділи, розділи, параграфи – ієрархія. Зміст – таблиця – пов'язує – ієрархічну з лінійною. У структурованих даних з'являється новий атрибут – Адреса. І так:

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

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

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

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

    Основні елементи файлової системи

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

Файл - це іменована область зовнішньої пам'яті, яку можна записувати і з якої можна зчитувати дані. Три параметри:

    послідовність довільного числа байтів,

    унікальне власне ім'я (фактично адреса).

    дані одного типу – тип файлу.

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

Перша, в сучасному розумінні, розвинена файлова система була розроблена фірмою IBM для її серії 360 (1965-1966). Але в нинішніх системах вона практично не застосовується. Використовувала облікові структури даних (ЄС-том, розділ, файл).

Більшість із Вас знайома з файловими системами сучасних ОС. Це насамперед MS DOS, Windows, а деякі з побудовою файлової системи для різних варіантів UNIX.

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

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

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

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

    Журналування у файлових системах. Загальні принципи.

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

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

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

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

    Файлова система MS-DOS (FAT)

Файлова система MS-DOS є деревоподібну файлову систему для невеликих дисків і простих структур каталогів, у корені якої знаходиться кореневий каталог, а листям є файли та інші каталоги, можливо порожні. Розміщення файлів під керуванням цієї файлової системи відбувається за кластерами, розмір яких може коливатися від 4 КБ до 64 КБ кратно 4 без використання властивості суміжності змішаним способом виділення дискової пам'яті. Наприклад, на малюнку показано три файли. Файл File1.txt є досить великим: він задіює три наступні один за одним блоки. Невеликий файл File3.txt використовує простір тільки одного блоку, що розміщується. Третій файл File2.txt. є великим фрагментованим файлом. У кожному випадку точка входу вказує на перший розподілений блок, що належить файлу. Якщо файл використовує кілька розподільних блоків, то попередній блок вказує на наступний у ланцюжку. Значення FFF ототожнюється з кінцем послідовності.

Дисковий розділ FAT

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

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

    кластер не використовується;

    кластер використовується файлом;

    поганий кластер;

    останній кластер файлу;

Так як кожному кластеру повинен бути присвоєний унікальний 16-розрядний номер, то, отже, FAT підтримує максимально 216, або 65536 кластерів на одному логічному диску (та ще деяку частину кластерів резервує для своїх потреб). Таким чином отримуємо граничний розмір диска, що обслуговується MS-DOS, 4 ГБ. Розмір кластера можна збільшити або зменшити, залежно від розміру диска. Однак, коли розмір диска перевищує деяку величину, кластери стають занадто великого розміру, що веде до внутрішньої дефрагментації диска. Крім інформації про файли, у таблиці розміщення файлів може бути розміщена інформація і про каталоги. При цьому каталоги розглядаються як спеціальні файли з 32-байтовими елементами для кожного файлу, що міститься у цьому каталозі. Кореневий каталог має фіксований розмір – 512 записів для жорсткого диска, а дисків цей розмір визначається обсягом дискети. Крім того, кореневий каталог розташований відразу після другої копії FAT, оскільки в ньому знаходяться файли, необхідні завантажувачу MS-DOS.

Під час пошуку файлу на диску MS-DOS змушена переглядати структуру каталогу, щоб знайти його. Наприклад, щоб запустити виконуваний файл С:\Program\NC4\nc.exe знаходить файл, що виконується, виконавши наступні дії:

    читає кореневий каталог диска C: і шукає у ньому каталог Program;

    читає початковий кластер Program і шукає у цьому каталозі запис про вкладений каталог NC4;

    читає початковий кластер вкладеного каталогу NC4 та шукає в ньому запис про файл nc.exe;

    читає усі кластери файлу nc.exe.

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

Переваги FAT

    Є найкращим вибором для логічних дисків невеликого розміру, т.к. стартує із мінімальними накладними витратами. На дисках, розмір яких не перевищує 500 МБ, вона працює із прийнятними характеристиками.

Недоліки FAT

    Оскільки розмір запису про файл обмежений 32 байтами, а інформація повинна включати і розмір файлу і дату, і атрибути і т.д., то розмір під назву файлу також обмежений і не може перевищувати 8+3 символи на кожен файл. Використання коротких імен файлів робить FAT менш привабливою для використання в порівнянні з іншими файловими системами.

    Використання FAT на дисках, обсяг яких перевищує 500 МБ нераціонально через дефрагментацію диска.

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

    Швидкість виконання операцій у FAT відбувається обернено пропорційно глибині вкладеності каталогів та обсягу диска.

    Файлова система UNIX – систем (ext3)

Сучасна, потужна та безкоштовна операційна система Linux надає широку територію для розробки сучасних систем та програмного забезпечення користувача. Деякі з найцікавіших розробок у недавніх ядрах Linux – це нові, високопродуктивні технології для управління зберіганням, розміщенням та оновленням даних на диску. Один з найцікавіших механізмів – це файлова система ext3, яка інтегрується в ядро ​​Linux, починаючи з версії 2.4.16, і вже доступна за замовчуванням у Linux дистрибутивах від компаній Red Hat та SuSE.

Файлова система ext3 є журнальною файловою системою, 100% сумісною з усіма утилітами, створеними для створення, управління та тонкого налаштування файлової системи ext2, яка використовується в Linux системах кілька останніх років. Перед детальним описом відмінностей між файловими системами ext2 та ext3 уточнимо термінологію файлових систем та зберігання файлів.

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

Файлові системи створені на розділах диска для спрощення зберігання та організації даних у формі файлів та директорій. Linux, як Unix система, використовує ієрархічну файлову систему складену з файлів і директорій, які містять або файли чи каталоги. Файли та директорії у файловій системі Linux стають доступними користувачеві шляхом їх монтування (команда «mount»), яка зазвичай є частиною процесу завантаження системи. Список файлових систем, доступних для використання, зберігається у файлі /etc/fstab (FileSystem TABle). Список файлових систем, що не змонтовані в даний момент, системою зберігається у файлі /etc/mtab (Mount TABle).

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

Файлова система розцінюється як цілісна якщо всі блоки даних у ній або застосовуються, або вільні; кожен розміщений блок даних зайнятий одним і лише одним файлом чи директорією; всі файли та директорії можуть бути доступні після обробки серії інших директорій у файловій системі. Коли система Linux навмисно припиняє роботу, використовуючи команди оператора, всі файлові системи розмонтуються. p align="justify"> Розмонтування файлової системи в процесі завершення роботи встановлює «чистий біт» в заголовок файлової системи, вказуючи на те, що файлова система була розмонтована належним чином і, тим самим, може розглядатися як цілісна.

Роки налагодження та переробки файлової системи та використання покращених алгоритмів для запису даних на диск значною мірою зменшили пошкодження даних, що викликаються додатками або самим ядром Linux, але усунення пошкодження та втрати даних у зв'язку з відключенням живлення та іншими системними проблемами досі є складним завданням. У разі аварійної зупинки або простого відключення системи Linux без використання стандартних процедур зупинення роботи «чистий біт» у заголовку файлової системи не встановлюється. При наступному завантаженні системи процес монтування виявляє, що система не маркована як «чиста», і фізично перевіряє її цілісність використовуючи Linux/Unix утиліту перевірки файлової системи "fsck" (File System ChecK).

Існує кілька журнальних файлових систем, доступних для Linux. Найбільш відомі з них: XFS, журнальна файлова система, розроблена Silicon Graphics, але зараз випущена відкритим кодом (open source); RaiserFS, журнальна файлова система розроблена спеціально для Linux; JFS, журнальна файлова система спочатку розроблена IBM, але зараз випущена як відкритий код; ext3 – файлова система розроблена доктором Стефаном Твіді (Stephan Tweedie) у Red Hat, та кілька інших систем.

Файлова система ext3 – це журнальна версія Linux файлової системи ext2. Файлова система ext3 має одну значну перевагу перед іншими журнальними файловими системами – вона повністю сумісна з файловою системою ext2. Це робить можливим використання всіх існуючих програм, розроблених для маніпуляції та налаштування файлової системи ext2.

Файлова система ext3 підтримується ядрами Linux версії 2.4.16 і пізнішими, і має бути активізована використанням діалогу конфігурації файлових систем (Filesystems Configuration) під час складання ядра. У Linux дистрибутиви, такі як Red Hat 7.2 та SuSE 7.3, вже включена вбудована підтримка файлової системи ext3. Ви можете використовувати файлову систему ext3 тільки в тому випадку, коли підтримка ext3 вбудована у ваше ядро ​​і у вас є останні версії утиліт "mount" та "e2fsprogs".

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

# /sbin/tune2fs -j<имя-раздела >

Наприклад, переведення файлової системи ext2 розташованої на розділі /dev/hda5 у файлову систему ext3 може бути здійснено за допомогою наступної команди:

# /sbin/tune2fs -j /dev/hda5

Опція "-j" команди "tune2fs" створює журнал ext3 на існуючій файловій ext2 системі. Після перекладу файлової системи ext2 в ext3, ви також повинні внести зміни до запису файлу /etc/fstab, щоб вказати, що тепер розділ є файловою системою "ext3". Також ви можете використовувати авто визначення типу розділу (опція «auto»), але все ж таки рекомендується явно вказувати тип файлової системи. Наступний приклад файлу /etc/fstab показує зміни до і після перекладу файлової системи для розділу /dev/hda5:

/dev/ hda5 /opt ext2 defaults 1 2

/dev/ hda5 /opt ext3 defaults 1 0

Останнє поле /etc/fstab вказує етап у завантаженні, під час якого цілісність файлової системи має бути перевірена за допомогою утиліти "fsck". У разі використання файлової системи ext3, ви можете встановити це значення в «0», як показано на попередньому прикладі. Це означає, що програма "fsck" ніколи не перевірятиме цілісність файлової системи, у зв'язку з тим що цілісність файлової системи гарантується шляхом відкату в журналі.

Переведення кореневої файлової системи в ext3 вимагає особливого підходу, і найкраще проводити його в режимі одного користувача (single user mode) після створення RAM диска підтримує файлову систему ext3.

Крім сумісності з утилітами файлової системи ext2 і простим перекладом файлової системи з ext2 в ext3, файлова система ext3 також пропонує кілька різних типів журнілювання.

Файлова система ext3 підтримує три різні режими журналу, які можуть бути активовані з файлу /etc/fstab. Ці режими журналу такі:

    Журнал / journal – запис усіх змін даних файлової системи та мета-даних. Найбільш повільний із усіх трьох режимів журналування. Цей режим мінімізує шанс втрати змін файлів, які ви проводите у файловій системі.

    Послідовний / ordered – записуються зміни лише мета-даних файлової системи, але записує оновлення даних файлу на диск перед змінами асоційованих мета-даних файлової системи. Цей режим журналу ext3 встановлено за замовчуванням.

    Зворотній запис / writeback – записуються лише зміни мета-даних файлової системи, що базуються на стандартному процесі запису змін даних файлів. Це найшвидший метод журналування.

Відмінності між цими режимами журналування одночасно і ледь помітні, і ґрунтовні. Використання режиму «журнал» вимагає, щоб файлова система ext3 записувала кожну зміну файлової системи двічі – перший раз у журнал, а потім у саму файлову систему. Це може знизити загальну продуктивність вашої файлової системи, але цей режим найбільше любимо користувачами, тому що він мінімізує шанс втрати зміни даних ваших файлів, так як і зміни мета - даних і зміни файлів записується в журнал ext3 і може бути повторено при перезавантаженні системи.

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

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

Вказування журнального режиму, що використовується в ext3 файловій системі, проводитися у файлі /etc/fstab для цієї файлової системи. "Послідовний" режим використовується за замовчуванням, але ви можете вказати різні режими журналювання, змінюючи опції для потрібного розділу у файлі /etc/fstab. Наприклад, запис у /etc/fstab вказує на використання режиму журналування «зворотний запис» буде виглядати так:

/dev/hda5 /opt ext3 data=writeback 1 0

    Файлова система сімейства Windows NT (NTFS)

      Фізична структура NTFS

Почнемо із загальних фактів. Розділ NTFS, теоретично, може бути майже будь-якого розміру. Межа, звичайно, є, але я навіть не вказуватиму її, оскільки її із запасом вистачить на наступні сто років розвитку обчислювальної техніки - за будь-яких темпів зростання. Яка ситуація з цим на практиці? Майже так само. Максимальний розмір розділу NTFS зараз обмежений лише розмірами жорстких дисків. NT4, щоправда, матиме проблеми при спробі встановлення на розділ, якщо хоч якась його частина відступає більш ніж на 8 Гб від фізичного початку диска, але ця проблема стосується лише завантажувального розділу.

Ліричний відступ. Метод інсталяції NT4.0 на порожній диск досить оригінальний і може спричинити неправильні думки про можливості NTFS. Якщо ви вкажете програмі установки, що бажаєте відформатувати диск у NTFS, максимальний розмір, який вам запропонує, буде всього 4 Гб. Чому так мало, якщо розмір розділу NTFS фактично необмежений? Справа в тому, що настановна секція просто не знає цієї файлової системи:) Програма установки форматує цей диск у звичайний FAT, максимальний розмір якого в NT становить 4 Гбайт (з використанням не зовсім стандартного величезного кластера 64 Кбайта), і на цей FAT встановлює NT . А ось уже в процесі першого завантаження самої операційної системи (ще в настановній фазі) проводиться швидке перетворення розділу в NTFS; так що користувач нічого і не помічає, крім дивного обмеження на розмір NTFS при встановленні. :)

      Структура розділу – загальний погляд

Як і будь-яка інша система, NTFS ділить все корисне місце на кластери - блоки даних, які використовуються одночасно. NTFS підтримує майже будь-які розміри кластерів - від 512 байт до 64 Кбайт, деяким стандартом вважається кластер розміром 4 Кбайт. Жодних аномалій кластерної структури NTFS не має, тому на цю, загалом, досить банальну тему сказати особливо нічого.

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

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

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

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

        Метафайли

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

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

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

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

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

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

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

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

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

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

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

        Файли та потоки

Отже, система має файли - і нічого крім файлів. Що включає це поняття на NTFS?

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

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

Досить цікаво і з даними файлу. Кожен файл на NTFS, загалом, має дещо абстрактну будову - у нього немає даних, а є потоки (streams). Один із потоків і носить звичний нам сенс – дані файлу. Але більшість атрибутів файлу – теж потоки! Таким чином, виходить, що базова сутність файлу тільки одна - номер в MFT, а все інше опціонально. Дана абстракція може використовуватися для створення досить зручних речей - наприклад, файлу можна "приліпити" ще один потік, записавши в нього будь-які дані - наприклад, інформацію про автора та зміст файлу, як це зроблено в Windows 2000 (сама права закладка у властивостях файлу, переглядаються з провідника). Цікаво, що ці додаткові потоки не видно стандартними засобами: розмір файлу, що спостерігається, - це лише розмір основного потоку, який містить традиційні дані. Можна, наприклад, мати файл нульової довжини, при стиранні якого звільниться 1 Гбайт вільного місця - просто тому, що якась хитра програма або технологія приліпила додатковий потік (альтернативні дані) гігабайтового розміру. Але насправді зараз потоки практично не використовуються, так що побоюватися подібних ситуацій не слід, хоча гіпотетично вони можливі. Просто майте на увазі, що файл на NTFS - це більш глибоке і глобальне поняття, ніж можна собі уявити, просто переглядаючи каталоги диска. Ну і насамкінець: ім'я файлу може містити будь-які символи, включаючи порожній набір національних алфавітів, оскільки дані представлені в Unicode - 16-бітному уявленні, яке дає 65535 різних символів. Максимальна довжина імені файлу – 255 символів.

      Каталоги

Каталог на NTFS є специфічний файл, що зберігає посилання інші файли і каталоги, створюючи ієрархічне будову даних на диску. Файл каталогу поділений на блоки, кожен з яких містить ім'я файлу, базові атрибути та посилання на елемент MFT, який надає повну інформацію про елемент каталогу. Внутрішня структура каталогу є бінарним деревом. Ось що це означає: для пошуку файлу з даним ім'ям у лінійному каталозі, такому, наприклад, як у FAT-а, операційній системі доводиться переглядати всі елементи каталогу, доки вона не знайде потрібний. Бінарне ж дерево має у своєму розпорядженні імена файлів таким чином, щоб пошук файлу здійснювався швидшим способом - за допомогою отримання двозначних відповідей на питання про положення файлу. Питання, на яке бінарне дерево здатне дати відповідь, таке: у якій групі, щодо даного елемента, перебуває шукане ім'я - вище чи нижче? Ми починаємо з такого питання до середнього елемента, і кожна відповідь звужує зону пошуку в середньому вдвічі. Файли, скажімо, просто відсортовані за алфавітом, і відповідь питання здійснюється очевидним способом - порівнянням початкових букв. Область пошуку, звужена вдвічі, починає досліджуватися аналогічним чином, починаючи знову ж таки із середнього елемента.

Висновок - для пошуку одного файлу серед 1000, наприклад, FAT доведеться здійснити в середньому 500 порівнянь (найбільш ймовірно, що файл буде знайдено на середині пошуку), а системі на основі дерева - всього близько 10 (2^10 = 1024). Економія часу пошуку очевидна. Не варто, однак думати, що у традиційних системах (FAT) все так запущено: по-перше, підтримка списку файлів у вигляді бінарного дерева досить трудомістка, а по-друге - навіть FAT у виконанні сучасної системи (Windows2000 або Windows98) використовує подібну оптимізацію пошуку. Це просто ще один факт у вашу скарбничку знань. Хочеться також розвіяти поширену оману (яку я сам поділяв зовсім ще недавно) про те, що додавати файл у каталог у вигляді дерева важче, ніж у лінійний каталог: це порівняні за часом операції - справа в тому, що для того, щоб додати файл в каталог, потрібно спочатку переконається, що файлу з таким ім'ям там ще немає :) - і ось тут-то в лінійній системі у нас будуть труднощі з пошуком файлу, описані вище, які з лишком компенсують саму простоту додавання файлу в каталог.

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

      Журналування

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

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

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

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

Файли NTFS мають досить корисний атрибут - " стислий " . Справа в тому, що NTFS має вбудовану підтримку стиснення дисків – те, для чого раніше доводилося використовувати Stacker або DoubleSpace. Будь-який файл або каталог в індивідуальному порядку може зберігатися на диску в стислому вигляді - цей процес прозорий для додатків. Стиснення файлів має дуже високу швидкість і тільки одну велику негативну властивість - величезна віртуальна фрагментація стислих файлів, яка, щоправда, нікому особливо не заважає. Стиснення здійснюється блоками по 16 кластерів і використовує так звані "віртуальні кластери" - знову ж таки гранично гнучке рішення, що дозволяє досягти цікавих ефектів - наприклад, половина файлу може бути стиснута, а половина - ні. Це досягається завдяки тому, що зберігання інформації про компресованість певних фрагментів дуже схоже на звичайну фрагментацію файлів: наприклад, типовий запис фізичної розкладки для реального, стиснутого файлу:

кластери файлу з 1 по 43-й зберігаються в кластерах диска починаючи з 400-го кластери файлу з 44 по 52-й зберігаються в кластерах диска починаючи з 8530-го.

Фізична розкладка типового стисненого файлу:

кластери файлу з 1 по 9-й зберігаються в кластерах диска починаючи з 400-го кластери файлу з 10 по 16-й ніде не зберігаються кластери файлу з 17 по 18-й 36-й ніде не зберігаються.

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

      Безпека

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

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

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

Ця штука була в NTFS з давніх-давен, але використовувалася дуже рідко - і тим не менше: Hard Link - це коли один і той же файл має два імені (кілька покажчиків файлу-каталогу або різних каталогів вказують на одну і ту ж MFT запис) . Припустимо, той самий файл має імена 1.txt і 2.txt: якщо користувач зітре файл 1, залишиться файл 2. Якщо зітре 2 - залишиться файл 1, тобто обидва імені, з моменту створення, абсолютно рівноправні. Файл фізично стирається лише тоді, коли буде видалено його останнє ім'я.

      Symbolic Links (NT5)

Набагато практичніша можливість, що дозволяє робити віртуальні каталоги - так само, як і віртуальні диски командою subst в DOSі. Застосування досить різноманітні: по-перше спрощення системи каталогів. Якщо вам не подобається каталог Documents and settings \ Administrator \ Documents, ви можете прилінкувати його в кореневий каталог - система буде як і раніше спілкуватися з каталогом з дрімучим шляхом, а ви - з набагато більш коротким ім'ям, повністю йому еквівалентним. Для створення таких зв'язків можна використати програму junction (junction.zip(15 Kb), 36 кб), яку написав відомий фахівець Mark Russinovich (http://www.sysinternals.com). Програма працює тільки в NT5 (Windows 2000), як і сама можливість. Для видалення зв'язку можна використовувати стандартну команду rd. УВАГА: Спроба видалення зв'язку за допомогою провідника або інших менеджерів файлів, які не розуміють віртуальну природу каталогу (наприклад, FAR), призведе до видалення даних, на які посилається посилання! Будьте обережні.

      Шифрування (NT5)

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

mob_info