Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сторінкова організація на вимогу в Windows NT

Поиск

ОС Windows NT Використає сторінкову організацію "на вимогу" і кластеризацию, тобто підкачування сторінок, суміжних з викликаною. Процесам виділяються мінімальні й максимальне робочі безлічі. Мінімальна робоча множина – це набір сторінок, які процес гарантировано має в пам'яті. Процес може мати в пам'яті число сторінок до максимуму робочої безлічі. Якщо обсяг вільної пам'яті в системі стає менше деякого граничного значення (threshold), то ОС виконує скорочення робочих множин процесів (working set trimming). Скорочення робочих множин - це вилучення в процесів "зайвих" сторінок в оперативній пам'яті, які перевищують мінімальний розмір їхніх робочих множин

 

 


Лекція № 14. Системи файлів

План

· Поняття файлу

· Методи доступу

· Структура директорій

· Монтування файлових систем

· Загальний доступ до файлів

· Захист файлів

· Принципи реалізації файлових систем

· Блок керування файлом.

Поняття файлу

Файл (file) – це суміжна область логічного адресного простору.

Файл - сукупність логічно об'єднаних даних у зовнішній пам'яті.

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

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

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

Фірма IBM у документації по своїй системі IBM 360 в 1960-х рр. використала інший термін – набір даних (data set) – для позначення цього ж поняття, однак він не пережив операційну систему, у якій використовувався.

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

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

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

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

Файли простої структури складаються з послідовності записів (records) – елементарних одиниць, у термінах яких виконуються операції обміну з файлом. Записи можуть бути:

· рядками, якщо це текстовий файл;

· двійковими даними фіксованої довжини;

· двійковими даними змінної довжини.

Файли складної структури можуть бути самого різного виду, наприклад:

· відформатованим документом Microsoft Office (такий файл, крім властиво тексту, містить керуючі символи перелюкчения шрифтів, кольорів і т.д.);

· завантажувальним модулем реального або віртуального двійкового коду, наприклад, portable executable (PE) - файлом для платформи.NET; class-файлом для платформи Java; подібні файли складаються з декількох секцій, містять внутрішні посилання й таблиці й т.д.

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

Файли інтерпретуються операційною системою або програмами їхньої обробки.

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

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

Розрізняються наступні основні атрибути файлу:

Ім'я (Name) – назва файлу в символьній формі, сприймана користувачем.

Тип (Type) – тип збереженої у файлі інформації. Окремий атрибут тип необхідний для систем, які підтримують різні типи файлів. Наприклад, у системі "Ельбрус" значенням атрибута тип файлу є число, що кодує тип: 0 – дані, 2 – код, 3 – текст і т.д. Однак більше загальноприйнятим підходом є підхід, прийнятий у системах MS DOS, Windows, UNIX: тип файлу кодується розширенням імені, наприклад, book.txt – текстовий файл (.txt), що містить текст книги.

Розміщення (Location) – покажчик на розміщення файлу на пристрої.

Розмір (Size) – поточний розмір файлу.

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

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

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

Ідентифікація користувача. У будь-якій системі підтримується поняття хазяїн (творець) файлу (owner). Саме хазяїн вправі задавати іншим користувачам повноваження для роботи з файлом.

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

Операції над файлами

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

· Створення файлу (Create). Створюється заголовок файлу; спочатку його вміст (пам'ять) порожньо.

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

· Читання з файлу (Read). Звичайно також виконується записами або блоками.

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

· Видалення файлу (Delete). Залежно від реалізації системи файлів, помилкове видалення файлу може бути фатальним (UNIX) або поправним (MS DOS).

· Скорочення файлу (Truncate).

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

· Закриття файлу (Close) – запис умісту буферів у блоки файлу; відновлення файлу в зовнішній пам'яті відповідно до його поточного стану; звільнення всіх структур в основній пам'яті, пов'язаних з файлом.

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

Типи файлів - імена й розширення

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

Таблиця 19.1. Типи файлів – імена й розширення
тип файлу розширення імені функціональність
код, що виконує, (завантажувальний модуль) exe, com, bin або відсутній готова до виконання програма в бінарному машинному коді
обьектный модуль obj, про відкомпільована програма в бінарному коді, але не слинкованная
вихідний код мовою програмування с, сс, Java, pas, asm, а вихідний код на різних мовах (Си, Паскаль й ін.)
командний файл bat, sh файл із командами для командного інтерпретатора
текст txt, doc текстові дані, документи
документ для текстового процесора wp, tex, rtf, doc документі форматі якого-небудь текстового процесора
бібліотека lib, a, so, dll, mpeg, mov, rm бібліотеки модулів для програмування
файл для печатки або візуалізації arc, zip, tar ASCII або бінарний файл у форматі для печатки або візуалізації
архів arc, zip, tar кілька файлів, згрупованих в один файл, для архівації або зберігання
мультимедиа mpeg, mov, rm бінарний файл, що містить аудио- або відео/аудиоинформацию

Зміст їх ясний з наведеної таблиці. Варто помітити, що уніфікованих розширень імен, прийнятих у різних ОС, дуже мало – очевидно, тільки .txt (текст) і розширення для вихідних кодів на мовах програмування, наприклад, .c – Си, .p або. pas – Паскаль й ін. Об'єктні модулі називаються по-різному (в Windows – .obj, в UNIX - .o), бібліотеки – теж: статично лінкуємі в Windows - .lib, в UNIX - .a; динамічно лінкуємі в Windows - .dll, в UNIX –.so. Цікаво відзначити, що для коду, що виконується, в Windows є стандартне розширення -.exe, а в UNIX – нема, зате є досить екзотичне повне стандартне ім'я: a.out (assembler output). Уніфіковано розширення імен для різних текстових процесорів:. doc - Microsoft Word, .pdf – Adobe Acrobat й ін.

Методи доступу до файлів

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

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

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

 

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


Рис. 19.1. Файл послідовного доступу.

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

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


Рис. 19.2. Індексний файл і основний файл.

Директорія (directory, folder) - вузол, що містить інформацію про файли – їхні імена й посилання на файли й на інші директорії в зовнішній пам'яті. Таким чином, можлива організація ієрархії директорій або їх більше складних взаємозв'язків, аж до довільних графів. Як структура директорій, так і файли зберігаються на диску. За допомогою директорій підтримується іменування файлів за допомогою шляхів (paths) – імен, що складаються з імені кореневої директорії (або логічного диска) і послідовності імен директорій наступних рівнів. Наприклад, у системі Windows c:\doc\plan.txt – шлях доступу до файлу, що задає його розташування – на логічному диску C:, у директорії doc (документи), і ім'я файлу – plan.txt. Ім'я містить розширення, що вказує на тип файлу.

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

 



Поделиться:


Последнее изменение этой страницы: 2016-07-11; просмотров: 193; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.98.39 (0.008 с.)