Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Підтримка символічних зв'язків на Рівні системних викликівСодержание книги
Поиск на нашем сайте
Для задания символічного зв'язку у POSIX визначено системний виклик symlіnk (), параметри якого аналогічні до параметрів lіnk ():
symlink ("myfile.txt". "myfile-symlink.txt"); Для отримання шляху до файла або каталогу, на який вказує символічний зв'язок, використовують системний виклик readlink(). // РАТНМАХ - константа, що задає максимальну довжину шляху char filepath[PATH_MAX+l]; readlink ("myfile-symlink.txt\ filepath, sizeof(filepath)); //уfilepathбуде шлях до myfile.txt Символічні зв'язки вперше з'явилися у файлових системах UNIX, у Windows ХР вони підтримуються файловою системою NTFS під назвою точок з'єднання (junction points), але засоби АРІ для їхнього використання не визначені.
5. Кожний файл має набір характеристик - атрибутів. Набір атрибутів змінюється залежно від файлової системи. Найпоширеніші атрибути файла наведено нижче. · Ім'я файла. · Тип файла, який задається для спеціальних файлів (каталогів, зв'язків тощо). · Розмір файла (для файла можна визначити його поточний, а іноді й максимальний розмір). · Атрибути безпеки, що визначають права доступу до цього файла. · Часові атрибути, до яких належать час створення останньої модифікації та останнього використання файла. Інформацію про атрибути файла також зберігають на диску у спеціальних інформаційних структурах файлової системи. Особливості її зберігання залежать від фізичної організації файлової системи.
6. Підходи до використання файлів із процесу бувають такі: зі збереженням (stateful) і без збереження стану (stateless). У разі збереження стану є спеціальні операції, які готують файл до використання у процесі (відкривають його) і скасовують цю готовність (закривають його). Всі інші операції із процесу над файлом використовують структури даних, підготовлені під час відкриття файла, і можуть виконуватися доти, поки файл не буде закритий. Перевагою такого підходу є висока продуктивність, оскільки під час відкриття файла потрібні структури даних завантажуються у пам'ять і можуть використовуватись всіма операціями із процесу, поки файл не буде закрытий. Якщо стан не зберігають, кожна операція роботи із файлом (читання, записування тощо) супроводжується повною підготовкою файла до роботи (кожна операція починається відкриттям файла і заверпгується закриттям). Хоча такий підхід програє у продуктивності, його можна використовувати для підвищення надійності роботи системи при високої ймовірності того, що файлова операція зазнає краху, внаслідок чого структури даних відкритих файлів залишаться в некоректному стані. Так можна робити у випадку, коли файлову систему використовують через мережу, тому що у будь-який момент може статися розрив мережного з'єднання. Основні файлові операції, які надає ОС для використання у прикладних програмах за допомогою системних викликів через програмний інтерфейс АРІ наступні: · Відкриття файла. Після відкриття файла процес може виконувати визначені програмним інтерфейсом операції (читання, записування, створення, вилучення тощо). Для відкриття файла використовується спеціальна структура даних- дескриптор файла, який визначає його атрибути та місце розташування на диску і завантажується в спеціальну ділянку памяті, яка називається системною таблицею. Розмір цієї таблиці визначає кількість одночасно відкритих файлів з якими може працювати процес. Розмір таблиці задається при конфігуруванні ОС. Наступні виклики (операції) із програми використовують дескриптор для доступу до файла. · Закриття файла. Після завершення роботи над файлом його треба закрити. При цьому його дескриптор вилучають із системної таблиці а всі не збережені зміни у файлі записують на диск, в наслідок чого файл на диску змінюється(модифікується). · Створення файла. Створення на диску файла нульової довжини. Після створення файл автоматично відкривається. · Вилучення файла. Спричиняє вилучення файла і звільнення занятого ним дискового простору. Операція для відкритих файлів не виконується. · Читання із файла. Це пересилання певної кількості байтів із файла з поточної позиції у зазделегіть виділений для цього буфер памяті режиму користувача. · Записування у файл. Запис здійснюється із зазделегіть виділеного буфера від поточної позиції у файлі. Якщо у цій позиції вже є дані, вони будуть перезаписані. Ця операція може змінити розмір файла. · Переміщення показчика поточної позиції. Покажчик поточної позиції у файлі визначиє де перебувають потрібні дані або куди треба їх записати. Якщо покажчик перемістити в кінець файла, а потім виконати операцію записування, то довжина файла збільшиться. · Отримання і задання атрибутів файла. Ці дві операції дають змогу зчитувати значення всіх або деяких атрибутів файла або задавати для них нові значення.
Лекція №2.
Тема: Розміщення інформації у файлових системах.
План: 1. Базаві відомості про дискові пристрої: принцип дії жорсткого диска, ефективність операцій доступу до диска (Л1 ст.284-286). 2. Розміщення інформації у файлових системах: фізична організація розділів на диску та основні вимоги до фізичної організації файлових систем (Л1 ст.286-287). 3. Неперервне розміщення файлів (Л1 ст.287-288). 4. Розміщення файлів зв’язними списками: прості зв’язні списки, зв’язні списки з таблицею розміщення файлів(Л1 ст.288-289). 1. Накопичувачі на жорстких магнітних дисках (НЖМД) (рис. 12.1, далі - диски) складаються з набору дискових пластин (platters), які покриті магнітним матеріалом і обертаються двигуном із високою швидкістю.
Кожній пластині відповідають дві головки (heads), одна зчитує інформацію зверху, інша - знизу. Головки прикріплені до спеціального дискового маніпулятора (disk arm). Маніпулятор може переміщатися по радіусу диска - від центра до зовнішнього краю і назад, таким чином відбувається позиціювання головок. Головки зчитують інформацію із доріжок (tracks), які мають вигляд концентричних кіл. Мінімальна кількість доріжок на поверхні пластини в сучасних дисках — 700, максимальна — більше 20 000. Сукупність усіх доріжок одного радіуса на всіх поверхнях пластин називають циліндром. Кожну доріжку під час низькорівневого форматування розбивають на сектори (sectors), обсяг даних сектора для більшості архітектур становить 512 байт (він обов'язково має дорівнювати степеню числа 2). Кількість секторів для всіх доріжок однакова (у діапазоні від 16 до 1600). Основними характеристиками доступу до диска є: · час пошуку (seek time) — час переміщення маніпулятора для позиціювання головки на потрібній доріжці (у середньому становить від 10 до 20 мс); · ротаційна затримка (rotational delay) — час очікування, поки пластина повернеться так, що потрібний сектор опиниться під магнітною головкою (у середньому становить 8 мс); · пропускна здатність передавання даних (transfer bandwidth) - обсяг даних, що передаються від пристрою в пам'ять за одиницю часу; для сучасних дисків ця характеристика порівнянна із пропускною здатністю оперативної пам'яті (200 Мбайт/с), час передавання одного сектора вимірюють у наносекундах. Час, необхідний для читання сектора, одержують додаванням часу пошуку, ротаційної затримки і часу передавання (при цьому час передавання можна вважати дуже малим). Очевидно, що час читання одного сектора практично не відрізняється від часу читання кількох розташованих поряд секторів, а час читання цілої доріжки за одну операцію буде менший, ніж час читання одного сектора через відсутність ротаційної затримки. Швидкість доступу до диска, порівняно із доступом до пам'яті, надзвичайно мала, зараз диски є основним «вузьким місцем» з погляду продуктивності комп'ютерної системи. При цьому, за рахунок реального поліпшення останніми роками пропускної здатності, затримку передавання даних можна не враховувати. Час пошуку і ротаційна затримка майже не змінюються, тому що вони пов'язані з керуванням механічними пристроями (дисковим маніпулятором і двигуном, що обертає пластини) і обмежені їхніми фізичними характеристиками. У результаті час читання великих обсягів неперервно розташованих на диску даних усе менше відрізняється від часу читання малих. Як наслідок, першорядне значення для розробників файлових систем набуває розв'язання двох задач: · організації даних таким чином, щоб ті з них, які будуть потрібні одночасно, перебували на диску поруч (і їх можна було зчитати за одну операцію); · підвищення якості кешування даних (оскільки пам'яті стає все більше, зростає ймовірність того, що всі потрібні дані міститимуться в кеші, і доступ до диска стане взагалі не потрібний). 2. Файлова система будує базове відображення даних поверх того, яке їй надають драйвери дискових пристроїв.Драйвер дискового пристрою надає тільки посекторний доступ до диску, а ОС розподіляє дисковий простір не секторами, а спеціальними одиницями розміщення - кластерами (clusters) або дисковими блоками (disk blocks, термін «дисковий блок» більш розповсюджений в UNIX-системах). Визначення розміру кластера і розміщення інформації, необхідної для функціонування файлової системи, відбувається під час високорівневого форматування розділу. Саме таке форматування створює файлову систему в розділі. Розмір кластера визначає особливості розподілу дискового простору в системі. Використання кластерів великого розміру може спричинити значну внутрішню фрагментацію через файли, які за розміром менші, ніж кластер. Деякі застосування (насамперед, сервери баз даних) можуть реалізовувати свою власну фізичну організацію даних на диску. Для них файлова система може виявитися зайвим рівнем доступу, що тільки сповільнюватиме роботу. Багато ОС надають таким застосуванням можливість працювати із розділами, поданими у вигляді простого набору дискових секторів, який не містить структур даних файлової системи. Про такі розділи кажуть, що вони містять неорганізовану файлову систему (raw file system). Для них не виконують операцію високорівневого форматування.
|
||||
Последнее изменение этой страницы: 2017-02-05; просмотров: 203; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.6.9 (0.008 с.) |