Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Файлова система HPFS



Скорочення HPFS розшифровується як «High Performance File System» —високопродуктивна файлова система. HPFS уперше з'явилася в OS/2 1.2 і LANManager. HPFS була розроблена спільними зусиллями кращих фахівців компаніїIBM і Microsoft на основі досвіду IBM по створенню файлових систем MVS,VM/CMS і віртуального методу доступу. Архітектура HPFS-початку створюватисяяк файлова система, що зможе використовувати переваги багатозадачного режимуі забезпечить у майбутньому більш ефективну і надійну роботу з файлами надисках великого обсягу.

HPFS була першою файловою системою для ПК, у якій була реалізованапідтримка довгих імен. HPFS, як FAT і багато інших файлових систем, маєструктуру каталогів, але в ній також передбачені автоматичне сортуваннякаталогів і спеціальних розширених атрибутів, що спрощують реалізацію безпекифайлового рівня і створення множинних імен. HPFS підтримує ті ж самі атрибути,що і файлова система FAT, по історичних причинах, але також підтримує і новуформу file-associated, тобто інформацію, так звану розширеними атрибутами (EAs). Кожен ЕА концептуально подібний змінній оточення. Але самою головноювідмінністю все-таки є базові принципи збереження інформації про місцерозташування файлів.

Принципи розміщення файлів на диску, покладені в основу HPFS, збільшують якпродуктивність файлової системи, так і її надійність і відмовостійкість. Длядосягнення цих цілей запропоновано кілька способів: розміщення каталогів усередині дискового простору, використання методів бінарних збалансованих деревдля прискорення пошуку інформації про файл, розосередження інформації промісце розташування записів файлів по всьому диску, при тім що записи кожногоконкретного файлу розміщаються (по можливості) у суміжних секторах і поблизувід даних про їхнє місце розташування. Дійсно, система HPFS прагне, насамперед,до того, щоб розташувати файл у суміжних кластерах, чи, якщо такої можливостінемає, розмістити його на диску таким чином, щоб екстенти (фрагменти,фрагменти файлу, що розташовуються в суміжних секторах диска. Файл маєпринаймні один екстент, якщо він не фрагментований, а в противному випадкудекілька екстентів) файлу фізично були якнайближче один до одного. Такийпідхід істотно зменшує час позиціювання голівок запису/читання жорсткого дискаі час чекання (rotational latency — затримка між установкою голівкичитання/запису на потрібну доріжку диска і початком читання даних з диска).

Можна сказати, що файлова система HPFS має, у порівнянні з FAT, щовипливають основні переваги:

 висока продуктивність;

 надійність;

 робота з розширеними атрибутами, що дозволяє керувати доступом дофайлів і каталогів;

 ефективне використання дискового простору.

80 Основні характеристики файлової системи NTFS.

У назву файлової системи NTFS входять слова «New Technology», тобто«нова технологія». Дійсно, NTFS містить ряд значних удосконалень і змін, щоістотно відрізняють її від інших файлових систем. З погляду користувачів, файлияк і раніше зберігаються в каталогах (часто званих «папками» чи фолдерами всередовищі Windows). Однак у NTFS на відміну від FAT робота на дискахвеликого обсягу відбувається набагато ефективніше; є засоби для обмеження вдоступі до файлів і каталогів, введені механізми, що істотно підвищуютьнадійність файлової системи, зняті багато обмежень на максимальну кількістьдискових секторів і/чи кластерів.

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

При проектуванні системи NTFS особлива увага була приділена наступнимхарактеристикам:

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

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

підтримка POSIX2. Оскільки уряд США вимагав, щоб усізакуповувані ним системи хоча б у мінімальному ступені відповідалистандарту POSIX, така можливість була передбачена і в NTFS. Дочисла базових засобів файлової системи POSIX відноситьсянеобов'язкове використання імен файлів з урахуванням регістра,збереження часу останнього звертання до файлу і механізм так званих«жорстких силок» — альтернативних імен, що дозволяють посилатисяна той самий файл по двох і більше іменах;

гнучкість. Модель розподілу дискового простору в NTFS відрізняєтьсянадзвичайною гнучкістю. Розмір кластера може змінюватися від 512байт до 64 Кбайт; він являє собою число, кратне внутрішньому квантурозподілу дискового простору. NTFS також підтримує довгі іменафайлів, набір символів Unicode і альтернативні імена формату 8.3 длясумісності з FAT.

NTFS чудово справляється з обробкою великих масивів даних і досить добревиявляє себе при роботі з томами обсягом від 300-400 Мбайт і вище. Максимальноможливі розміри тому (і розміри файлу) складають 16 Ебайт(один екзабайтдорівнює 264, або приблизно 16000 млрд. гігабайт). Кількість файлів у кореневомуі некореневому каталогах не обмежено. Оскільки в основу структури каталогівNTFS закладена ефективна структура даних, звана «бінарним деревом» (див.розділ «Файлова система HPFS»), час пошуку файлів у NTFS (на відміну відсистем на базі FAT) не зв'язано лінійною залежністю з їхньою кількістю.Система NTFS також має визначені засоби самовідновлення. NTFS підтримуєрізні механізми перевірки цілісності системи, включаючи ведення журналівтранзакцій, що дозволяють відтворити файлові операції запису по спеціальному

системному журналі.

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

81 Основні поняття інтерфейсу прикладного програмування.

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

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

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

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

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

В останніх ОС це здійснюється за допомогою графічного інтерфейсу GUI (graphic userinterface). Використання інтерфейсу GUI це є частковий випадок виконання задачі вводу/виводу,який фактично не є частиною ядра ОС, але в деяких випадках функції GUI відносяться доосновного системного АРІ.

В сучасних ОС існує два підходи до керування задачами в залежності від реалізації АРІ:

 звернення до ОС може здійснюватись як шляхом виклику підпрограми з передачеювідповідних параметрів, так і через механізм програмних переривань. При цьомуреалізація викликів функцій АРІ залежить від архітектури обчислювальної системи;

 в більш складних системах є не одна підпрограма входу, а декілька у відповідністю зкількістю функцій АРІ.

82 Інтерфейс прикладного програмування АРІ.

АРІ (application program interface – інтерфейс прикладного програмування) призначенийдля використання прикладними програмами системних ресурсів операційної системи, а такожфункцій які реалізує ОС.

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

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

В сучасних ОС інтерфейс АРІ реалізовується на рівні операційної системи, на рівнісистеми програмування, а також на рівні зовнішніх бібліотек процедур і функцій. В будь – якомувипадку система програмування надає розробнику засоби для під’єднання (використання) функцій

АРІ у вихідному тексті програми, а також засоби для організації виклику функцій АРІ. Об’єктнийкод самих функцій АРІ включається в об’єктний код розроблюваної програми по мірінеобхідності.

Основні можливості інтерфейсу прикладного програмування доцільно оцінювати понаступних характеристиках:

 ефективність виконання функцій АРІ, що включають в себе швидкість виконанняфункцій та об’єм обчислювальних ресурсів необхідних для їх виконання;

 функціональна повнота, функції які надаються інтерфейсу;

 залежність прикладної програми від архітектури обчислювальної системи.

83 Реалізація функцій АРІ на рівні операційної системи.

В цьому випадку відповідальність за реалізацію функцій АРІ несе ОС. Об’єктний код,який безпосередньо виконує функції АРІ безпосередньо входить в склад ОС (в деяких випадкахнавіть в склад ядра ОС) або реалізуються у вигляді динамічно - завантажувальних бібліотек, якірозроблені для даної ОС.

Система програмування відповідальна лише за те, щоб організувати виклик об’єктногокоду. При такому підході програма звертається безпосередньо до ОС, тому тут досягаєтьсянайбільша ефективність функцій АРІ в порівнянні зі всіма іншими методами.Недоліком організації АРІ по такому методу є практично повна відсутність властивостіперемішуваності не тільки коду виконуваної програми, але і коду початкової програми, якавикликає функції АРІ.

В цьому випадку програма яка створюється для однієї архітектури обчислювальноїсистеми не може виконуватися на обчислювальній системі іншої архітектури навіть після того, якїї об’єктний код буде повністю перебудований. Тому для переміщення програми на іншуобчислювальну систему необхідно змінювати вихідну (початкову) програму. Прикладом такогоАРІ може служити набір функцій АРІ які надаються користувачу ОС типу MS Windows Win API.Навіть в середині такого АРІ існує певна несумісність, яка обмежує переміщуваності програм міжрізними версіями ОС Windows.

83 Реалізація функцій АРІ на рівні системи програмування.

Якщо функції АРІ реалізуються на рівні системи програмування, то як правило вонинадаються користувачу у вигляді бібліотеки функцій відповідної мови програмування, або іншимисловами бібліотеки часу виконання RTL. В цьому випадку система програмування надаєкористувачу бібліотеку відповідної мови програмування і здійснює під’єднання до виконуваноїпрограми об’єктного коду, який виконує функції АРІ. В цьому випадку ефективність функцій АРІє трохи нижчою ніж у випадку з ОС. Це відбувається тому, що для виконання функцій АРІбібліотека RTL все рівно повинна здійснювати виклик відповідних функцій ОС.

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

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

84 Реалізація функцій АРІ за допомогою зовнішніх бібліотек.

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

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

З точки зору ефективності виконання коду цей метод реалізації АРІ має самі низькірезультати, тому що зовнішня бібліотека звертається як до функцій ОС, так і до функційвідповідних бібліотек системного програмування. З погляду переміщуваності вихідного кодузовнішні бібліотеки повинні бути доступні в будь – якій з архітектур обчислювальних систем наякі орієнтується розроблювана програма. Це можливо, коли зовнішня бібліотека підтримує певнийстандарт і системи програмування також підтримують цей стандарт. Однак для більшостізовнішніх бібліотек інших фірм виробників це не так. Наприклад, бібліотека MFS (фірми

Microsoft) і бібліотека VSE (фірми Borland) жорстко орієнтовані на архітектуру обчислювальноїсистеми Windiws. Інший приклад, бібліотека SLX (фірми Borland) орієнтована на Windows і Linux.

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

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

Однією з основних характеристик АРІ повинна бути незалежність від системипрограмування. Як правило, різні типи АРІ не стандартизовані. Кожному конкретному випадкунабір викликів АРІ визначається архітектурою операційної системи та її призначення. В той жечас стандартизується деякий обмежений набір функцій з метою полегшення переносу програм зоднієї архітектури на іншу. Наприклад, до деякої міри стандарт Win АРІ фірми Microsoft єстандартизований. З точки зору Win АРІ основною задачею є вікно. Таким чином цей стандарт повизначенню орієнтований на роботу в графічному середовищі. Проте окремі функції цьогостандарту (наприклад бібліотекиWin АРІ 32, Win АРІ 16, Win АРІ СЕ) не стандартизовані, щонакладає певні обмеження при переносі програм з однієї ОС на іншу.

85 POSIX-інтерфейс.

POSIX (portable operation system interface for computer environment – платформеннонезалежний інтерфейс операційних систем для комп’ютерного середовища).

Цей інтерфейс стандартизований міжнародним інститутом ІЕЕЕ, який описує системнівиклики для відкритих операційних систем, в тому числі оболонки, утиліти та інструментальнізасоби. Крім того, згідно інтерфейсу POSIX стандартизованими також є задачі забезпеченнябезпеки задачі реального часу, задачі адміністрування, мережеві функції та задачі обробкитрансакції. В основному POSIX інтерфейс стандартизований і використовується для ОС Unix, хочавін є реалізований для інших операційних систем.

POSIX детально описує систему віртуальної пам’яті, багатозадачність та технологіюпереміщуваності операційних систем. Тому насправді POSIX є не єдиний стандарт, а набірстандартів POSIX.1... POSIX.12. Зокрема, стандарт POSIX.1 описує системний АРІ (мовупрограмування С), POSIX.4 – задачі реального часу, POSIX.6 – системну безпеку, POSIX.7 –адміністрування системи, POSIX.12 – графічний інтерфейс користувача, тощо. Таким чиномпрограми, які розроблені з урахуванням даних стандартів будуть однаково виконуватись у всіхPOSIX сумісних ОС. Однак, в деяких випадках POSIX стандарт має чисто рекомендаційнийхарактер. Частина POSIX стандарту описана строго й детально і невиконання цих вимог не

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





Дата публикования: 2015-09-18; Прочитано: 566 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...