Реферат: Принципи побудови інтерфейсів операційних систем
Залежність прикладної програми від архітектури цільової враховуючої системи.
Реалізація функції АРІ на рівні ОС .
При реалізації функцій АРІ на рівні ОС за їх виконання відповідальність несе ос. Об’єктний код, виконуючий функції, або безпосередньо входить в склад ОС, або постачається в складі динамічно завантажуючи бібліотек, розроблених для даної ОС. Система програмування, відповідальна тільки за те, щоб організувати інтерфейс для виклику цього коду.
Недостатком організації АРІ по такій схемі являється практично Повна відсутність перенесення не тільки кода результуючої програми, но і кода вихідної програми. Програма, створена для одної архітектури враховуючої системи, не зможе виконувати на враховуючій систем іншої архітектури навіть після того, як її об’єктний код буде повністю перебудований. Скоріше всього систем програмування не зможе виконати перебудову вихідного коду для нової архітектури враховуючої системи, оскільки багато функцій АРІ орієнтовані на визначені ОС будуть у новій архітектурі просто відсутні.
Реалізація функції АРІ на рівні системи програмування.
Якщо функції АРІ реалізуються на рівні системи програмування то вони представляються користувачу у вигляді бібліотеки функцій відповідної мови програмування. RTL (rub time library). Система програмування представляє користування бібліотеку відповідної мови програмування в забезпечує підключення до результуючої програми об’єктного коду, відповідального за виконання усіх функцій. Очевидно, що ефективність функцій АРІ в такому варіанті буде трохи нижча ніж при безпосередньому звертанні до функцій ОС.
Існування всіх необхідних викликів і звертань до функції ОС у об’єктному коді RTL забезпечує система програмування. Однак перенесення вихідного коду програми у такому варіанті буде найвищим, оскільки син такс і семантика всіх функцій будуть суворо регламентовані у стандарті відповідного язика програмування. Вони залежать від мови і не залежать від архітектури цільової враховуючої системи. Тому для виконання прикладної програми на новій архітектурі враховуючої системи досить заново побудувати код результуючої програми за допомогою відповідної системи програмування.
Однообразне виконання функції мови, забезпечується системою програмування. При орієнтації на різні архітектури цільової враховуючої системи в системі програмування можуть бути потрібні різні комбінації викликів функції ОС для виконання одних і тих функцій вихідної мови. Це повинно бути враховано в коді RTL. У загальному випадку для кожної архітектури цільової враховуючої системи буде потрібен свій код RTL мови програмування. Вибір того чи іншого об’єктного коду RTL для підключення до результуючої програми система програмування забезпечує автоматично.
Реалізація функції АРІ за допомогою зовнішніх бібліотек.
При реалізації функції АРІ за допомогою зовнішніх бібліотек вони подаються користувачу у вигляді бібліотеки процедур і функцій, створеної стороннім розробником. При чому розробником такої бібліотеки може виступати той самий виробник. Система програмування відповідальна тільки за те, щоб підключити об’єктний код бібліотеки до результуючої програми. При чому зовнішня бібліотека може бути динамічно завантаженою. З точки зору ефективності виконання цей метод реалізації АРІ має найнижчі результати, оскільки зовнішня бібліотека звертається як до функцій ОС так і до функцій RTL мови програмування. Тільки при дуже високій якості зовнішньої бібліотеки її ефективність стає на одному рівні з бібліотекою RTL. Якщо говорити про перенесення вихідного коду, то тут потреба тільки одна – використована зовнішня бібліотека повинна бути доступна в любій з архітектур вираховуючих систем на котрі орієнтована прикладна програми. Тоді вдається досягнути перенесення. Це можливо, якщо використована бібліотека задовольняє який-небудь прийнятий стандарт, а система програмування підтримує це стандарт. Для більшості специфічних бібліотек окремих розробників це не так. Якщо користувач використовує якусь бібліотеку, то вона орієнтована на обмежений набір доступних архітектур цільової враховуючої системи.
В цілому розвиток функцій прикладного АЗІ йде в напрямку спроби створити бібліотеки АЗШ забезпечує широке перенесення вихідного коду. Розробка широко використовуваного стандарту ФЗШ поки що залишається справою майбутнього. Що стосується прикладних програм, то багато більшу перспективу для них представляють технології зв’язані з розробками в рамках архітектури “клієнт-сервер” або трьохрівневої архітектури створення прикладань. У цьому напрямку передові виробники ОС, СУБД і систем програмування скоріше дойдуть до згоди, ніж в напрямку стандартизації АРІ.
ІІ. Функції файлової системи ОС і ієрархія даних.
Нагадаємо, що під файлом звичайно розуміють набір даних організованих у вигляді сукупності записів однакової структури. Для управління цими даними створюються відповідні системи управління файлами. Можливість змінити діло з логічним рівнем структури даних і операцій, виконуючих над ними в процесі їх обробки, представляє файлова система.
Таким чином, файлова система цей набір специфікацій і відповідно програмного забезпечення, які відповідають за створення, знищення, організацію, зчитування, запис, модифікацію і переміщення файлової інформації. Іменно файлова система визначає спосіб організації даних на диску або на якому-небудь іншому носію даних. Система управління файлами являється основною підсистемою в більшості сучасних ОС, хоча в принципі можна обходитись і без неї.
По-перше, через систему управління файлами, зв’язуються по даних всі системи обробляючі програми. По-друге, за допомогою цієї системи вирішуються проблеми централізованого розподілення дискового простору і управлінням даними.
По-третє завдяки ви користуванню чи іншу систему управління файлами користувачам представляються слідуючи можливості:
Створення, зниження. Переназвання;
Робота з не дисковими периферичними устройствами так, як із файлами;
Обмін даними між файлами, між устройствами між файлом і устройством або навпаки.
Робота з файлами за допомогою звертань до програмних модулів від несанкціонованого доступу. В деяких ОС може бути декілька систем управління файлами, що забезпечує їм можливість працювати з декількома файловими системами.
Система керування файлами – організація зручного доступу до даних, організованих як файли.
Термін “файлова система” визначає перед усе принципи доступу до даних організованих у файли.
Система управління файлами – комплекс програмних модулів забезпечуючи роботу з файлами в конкретній операційній системі.
Будь-яка система управління файлами не існує сама по собі – вона розроблена для роботи в конкретній ОС. Для кожної ОС повинна бути розроблена відповідна система управління файлами.
Структура магнітного диску.
Для того щоби можна було загрузити з магнітного диску ОС, а потім з її допомогою організувати роботу тої чи іншої системи управління файлами були прийняті спеціальні системні відношення про структуру диска. Розташування структури даних, несучі інформацію про логічну організацію диска і найпростішу програму. За допомогою якої можна знаходити і завантажувати програми тої чи іншої ОС. Очевидно це самий перший сектор магнітного диску. Як відомого інформація на магнітних дисках розміщується і передається блоками. Кожний такий блок називається сектором, сектори розташовані на концентричних доріжках поверхності диска. Кожна доріжка створюється при обертанні магнітного диску під зафіксованою в деякому опреділеному положенні головкою читання запису. Накопичувач на жорстких магнітних дисках (НЖМД) має один або більше дисків.
Групи дорожок одного радіуса, розміщених на поверхностях магнітних дисків, утворюють так звані циліндри. Сечасні жорсткі диски можуть мати декілька десятків тисяч циліндрів, в той час як на поверхності дискети число доріжок тільки 80.
Кожний сектор складається з поля даних службової інформації обмежуючи і індитифікуючи його.
Розмір сектора установлюється контролером або драйвером.
Фізичний адрес сектора на диску визначається за допомогою трьох “координат” [c-h-s] де с – номер циліндра, h- номер робочої поверхні диску, S – номер сектора на доріжці.
Номер робочої поверхності диска “h” належить діапазону О.Н-1, де Н – число магнітних головок в накопичувачі.
Номер сектора на доріжці “S” указуються у діапазоні 1..S, де S – кількість секторів на доріжці.
Жорсткий диск може бути робочий на декілька розділів котрі в принципі потім можуть використовуватися або одною ДС або різними ДС. Причому самим головним являється те, що на кожному розділі може бути організована своя файлова система. Однаково для організації навіть єдиної файлової системи необхідної визначити хоч один розділ.
Розділи диска можуть бути двох типів – первинний і розширений (primaryIextended).