Смекни!
smekni.com

Принципи побудови інтерфейсів операційних систем (стр. 1 из 2)

.

Нагадаємо що ОС завжди виступає як інтерфейс між апаратурою комп’ютера і користувачем з його задачами. Під інтерфейсами операційних систем тут і надалі слід розуміти спеціальні інтерфейси системного і прикладного програмування призначених для виконання слідуючи задач:

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

Запуск, зупинка і зняття задачі з виконання;

Задання і змінення пріоритету задачі;

Взаємодія задач між собою;

REC (remote procedure call) – віддалений визов програм.

2. Управління пам’яттю:

Запит на виділення блока пам’яті:

Відображення файлів і виводом:

3.Управління вводом і виводом:

Запит на управління віртуальними приладами.

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

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

Зазвичай ці люди називають інтерпретатором команд. Так наприклад функції такого інтерпретатора в МS-POS виповнює модуль GOMMAND.COM.

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

Треба примітити, що в послідовні роки велику популярність отримали графічні інтерфейси. (GUI), в котрих задіяні відповідні маніпулятори типу “Миш” або “трек бал”.

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

Передусім необхідно однозначно розділити загальний термін ФРІ (applicatiioprogramintertace – інтерфейс прикладного програму3вання) на слідуючи напрямки:

АРІ як інтерфейс високого рівня, належить до бібліотек RTL;

АРІ прикладних і системних програм, що входять в поставку операційної системи; та інші АРІ.

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

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

В практиці АРІ використовується не тільки прикладними, но і багатьма системними програмами як в складі ОС так і в складі системи програмування.

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

Існує декілька варіантів реалізації АРІ:

Реалізація на рівні ОС

Реалізація на рівні системи програмування.

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

Можливості АРІ можна оцінити з слідуючи позицій:

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

Обсяг представлених можливостей;

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

Реалізація функції АРІ на рівні ОС.

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

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

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

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

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

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

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

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

В цілому розвиток функцій прикладного АЗІ йде в напрямку спроби створити бібліотеки АЗШ забезпечує широке перенесення вихідного коду. Розробка широко використовуваного стандарту ФЗШ поки що залишається справою майбутнього. Що стосується прикладних програм, то багато більшу перспективу для них представляють технології зв’язані з розробками в рамках архітектури “клієнт-сервер” або трьохрівневої архітектури створення прикладань. У цьому напрямку передові виробники ОС, СУБД і систем програмування скоріше дойдуть до згоди, ніж в напрямку стандартизації АРІ.

ІІ. Функції файлової системи ОС і ієрархія даних.

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

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

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

По-третє завдяки ви користуванню чи іншу систему управління файлами користувачам представляються слідуючи можливості:

Створення, зниження. Переназвання;

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

Обмін даними між файлами, між устройствами між файлом і устройством або навпаки.

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

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

Термін “файлова система” визначає перед усе принципи доступу до даних організованих у файли.

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