THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

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

види прикладних програм

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

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

Види і приклади прикладних програм

Прикладні програми це:

  • Текстові редактори. Призначені для створення і редагування тексту без оформлення;
  • Текстові процесори (MS Word). Більш просунуті текстові редактори, що дозволяють редагувати текст з оформленням, зміною шрифтів і його розмірів, вставки графічних файлів, Таблиць і т.п. для більш презентабельного оформлення тексту;
  • Електронні таблиці (MS Excell). В основному використовуються для обробки будь-яких даних, що містяться в цих таблицях. прикладні завдання найчастіше виконуються для зберігання облікових даних з подальшим їх аналізом;
  • Растрові і векторні графічні редактори (Photoshop, Corel), "переглядачі". Використання прикладних програм такого типу дозволяє створювати, редагувати, а так само переглядати графічні зображення;
  • Аудіо відео плеєри, редактори (WinAmp). Дозволяє переглядати відео, слухати музику, створювати музичні композиції;
  • Системи управління базами даних (наприклад - MSQL). Такі програми служать для роботи з базами даних. Наприклад, програма обліку клієнтів - проста база для зберігання відомості про клієнтів, їх контактні дані і т.п. Можна проводити операції з пошуку, видалення та додавання записів в базу;
  • перекладачі або електронні словники. Такі прикладні програми дозволяють без особливих зусиль переводити текст на різні іноземні мови без їх безпосереднього вивчення;
  • Комп'ютерні ігри. Використовуються для розваг або для розвитку в ігровій формі.

Одним із прикладів прикладної програми, може послужити, наприклад, програма підрахунку репоста. Всі види прикладних програм перерахувати складно, але ми постаралися виділити основні програми прикладного забезпечення.

Найчисленнішим класом комп'ютера є прикладні програми.

прикладне ПО призначене для того, щоб забезпечити застосування обчислювальної техніки в різних сферах діяльності людини.

прикладні програми - програми, призначені для вирішення конкретних завдань користувача.

Один з можливих варіантів класифікації.

Класифікація прикладного програмного забезпечення по призначенню

Текстовий редактор - програма, призначена тільки для перегляду, введення і редагування тексту.

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

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

Різні текстові процесори записують у файл інформацію про форматування по-різному і тому несумісні один з одним.

Основні компоненти текстового процесора:

  • Набір шрифтів.
  • Перевірка орфографії.
  • Попередній перегляд друкованих сторінок.
  • Об'єднання документів, многооконность.
  • Автоформатування і автоперенос.
  • Стандартні інструменти.
  • Табличний редактор і калькулятор.
  • Вставка графічних об'єктів.

Приклади - MS Word, Write, WordPerfect, Ami Pro, MultiEdit, Лексикон, Рефіс

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

Приклади - Corel Ventura, QuarkXPress, Adobe PageMaker, MS Publisher, FrameMaker

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

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

Основні компоненти графічного редактора:

  • Набір шрифтів, робота з текстом.
  • Стандартні інструменти.
  • Бібліотека картинок.
  • Об'єднання картинок.
  • Спецефекти.

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

Растрову графіку застосовують при розробці електронних (мультимедійних) і поліграфічних видань.

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

Фрактальну графіку рідко застосовують для створення друкованих або електронних документів, Але її часто використовують у розважальних програмах

Приклади - Paint, PaintBrush, CorelDraw, MS PhotoEditor, Adobe PhotoShop, 3D MAX Studio

СУБД (Система управління базами даних) - призначена для автоматизації процедур створення, зберігання та вилучення електронних даних (обробка масивів інформації).

Приклади - dBase, Paradox, MS Access, Oracle, FoxPro

інтегрованим системи зустрічаються двох типів

  • Традиційні (полносвязанние) пакети прикладних програм (ППП).
  • Пакети прикладних програм з інтеграцією об'єктно-пов'язаного характеру

традиційні ППП

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

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

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

Відомі пакети Open Access фірми Open Access, FrameWork фірми Ashton-Tate, Lotus 1-2-3 і Symphony фірми Lotus Development Corporation, Lotus Works.

ППП з інтеграцією об'єктно-пов'язаного характеру

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

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

Особливістю цього типу інтеграції є використання загальних ресурсів. Види спільного доступу до ресурсів:

  • використання утиліт, загальних для всіх програм комплексу (перевірка орфографії);
  • застосування об'єктів, які можуть перебувати в спільному використанні декількох програм;

У плані спільного використання об'єктів декількома додатками є два основні стандарти:

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

також даний механізм дозволяє переносити OLE-об'єкти з вікна однієї програми у вікно іншого.

OpenDoc є об'єктно-орієнтовану систему, що базується на відкритих стандартах фірм - учасників розробки. В якості моделі об'єкта використовується розподілена модель системних об'єктів (DSOM - Distributed System Object Model), Розроблена фірмою IBM для OS / 2.

  • реалізація простого методу переходу з однієї програми до іншої;
  • наявність засобів автоматизації роботи з додатком (макромови).

Приклади: Borland Office for Windows, Lotus SmartSute for Windows, MS Office.

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

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

Прийнято виділяти в ЕС три основних модуля: модуль бази знань, модуль логічного висновку, інтерфейс з користувачем.

Експертні системи використовуються в самих різних сферах людської діяльності - науці (класифікація тварин і рослин за видами, хімічний аналіз), в медицині (постановка діагнозу, аналіз електрокардіограм, визначення методів лікування), в техніці (пошук несправностей в технічних пристроях, Стеження за польотом космічних кораблів і супутників), в геологорозвідці, в економіці, в політології і соціології, криміналістиці, лінгвістиці і багатьох інших. Існують як вузькоспеціалізовані ЕС, так і «оболонки», користуючись якими, можна, не будучи програмістом, створювати свої ЕС.

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

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

АРМ - автоматизоване робоче місце.

АСНИ - автоматизовані системи наукових досліджень.

АСУавтоматизована система управління.

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

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

Ефективність цього підходу пов'язана з тим, що більшість сьогоднішніх програм працюють під управлінням GUI (Graphic User Interface графічних інтерфейсів користувача) типу Windows, Mac або UNIX Motif, при цьому додатки витрачають велику частину часу, виробляючи деякі добре передбачувані дії. Вони безперервно виконують виклики бібліотек GUI для маніпулювання вікнами і для інших пов'язаних з GUI дій. Сьогодні в типових програмах 6080% часу витрачається на виконання функцій GUI та інших бібліотечних викликів ОС. Саме це властивість додатків дозволяє прикладним середах компенсувати великі витрати часу, витрачені на покомандного емулювання програми. Ретельно спроектована програмна прикладна середовище має в своєму складі бібліотеки, що імітують внутрішні бібліотеки GUI, але написані на «рідному» коді, і цим досягається істотне прискорення виконання програм з API інший операційної системи. Іноді такий підхід називають трансляцією для того, щоб відрізняти його від більш повільного процесу емулювання коду по одній команді за раз.

Наприклад, для Windows-програми, що працює на Macintosh, при інтерпретації команд процесора Intel 80x86 продуктивність може бути дуже низькою. Але коли здійснюється виклик функції GUI відкриття вікна, модуль ОС, який реалізує прикладну середу Windows, може перехопити цей виклик і перенаправити його на перекомпіліровать для процесора Motorola 680x0 підпрограму відкриття вікна. В результаті на таких ділянках коду швидкість роботи програми може досягти (а можливо, і перевершити) швидкість роботи на своєму «рідному» процесорі.

Щоб програма, написана для однієї ОС, могла бути виконана в рамках іншої ОС, недостатньо лише забезпечити сумісність API. Концепції, покладені в основу різних ОС, можуть входити в протиріччя один з одним. Наприклад, в одній операційній системі з додатком може бути дозволено безпосередньо управляти пристроями введення-виведення, в інший  ці дії є прерогативою ОС. Кожна операційна система має свої власні механізми захисту ресурсів, свої алгоритми обробки помилок і виняткових ситуацій, особливу структуру процесу і схему управління пам'яттю, свою семантику доступу до файлів і графічний користувальницький інтерфейс. Для забезпечення сумісності необхідно організувати безконфліктне співіснування в рамках однієї ОС декількох способів управління ресурсами комп'ютера.

3. 7. 3. Способи реалізації прикладних програмних середовищ

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

У багатьох версіях ОС UNIX транслятор прикладних середовищ реалізується у вигляді звичайного застосування. В операційних системах, побудованих з використанням микроядерной концепції, таких, як, наприклад, Windows NT, прикладні середовища виконуються у вигляді серверів призначеного для користувача режиму. А в OS / 2 з її більш простою архітектурою кошти організації прикладних середовищ вбудовані глибоко в операційну систему.

Один з найбільш очевидних варіантів реалізації множинних прикладних середовищ ґрунтується на стандартній багаторівневій структурі ОС. На рис. 3. 8 операційна система OS1 підтримує крім своїх «рідних» додатків додатки операційної системи OS2. Для цього в її складі є спеціальний додаток - прикладна програмна середовище, яке транслює інтерфейс «чужий» операційної системи -API OS2 в інтерфейс своєї «рідної» операційної системи - API OS1.

Мал. 3. 8. Прикладна програмне середовище, Що транслює системні виклики

В іншому варіанті реалізації множинних прикладних середовищ операційна система має кілька рівноправних прикладних програм-мних інтерфейсів. У наведеному на рис. 3. 9прімере операційна сі-стема підтримує програми, написані для OS1, OS2 і OS3. Для цього безпосередньо в просторі ядра системи розміщені прикладні програмні інтерфейси всіх цих ОС: API OS1, API OS2 і API OS3.

Мал. 3. 9. Реалізація сумісності на основі декількох рівноправних API

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

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

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

Мал. 3. 10. мікроядерний підхід до реалізації множинних прикладних середовищ

Такому підходу до конструювання множинних прикладних середовищ притаманні всі достоїнства і недоліки микроядерной архітектури, зокрема:

    дуже просто можна додавати і виключати прикладні середовища, що є наслідком хорошої розширюваності мікроядерних ОС;

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

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

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

Питання для самоперевірки

    Що розуміють під архітектурою ОС?

    Які три основних шару прийнято виділяти в структурі обчислювальної системи?

    Яка роль покладена ОС на інтерфейс системних викликів?

    Які умови при проектуванні ОС повинні бути дотримані для того, щоб ОС була легко переноситься?

    У чому відмінність микроядерной архітектури від традиційної архітектури ОС?

    Чому микроядро добре підходить для підтримки розподілених обчислень?

    Що мається на увазі під концепцією множинних прикладних середовищ?

    У чому суть методу трансляції бібліотек?

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

У багатьох версіях ОС UNIX транслятор прикладних середовищ реалізується у вигляді звичайного застосування. В ОС, побудованих з використанням микроядерной концепції, таких як, наприклад, Windows NT або Workplace OS, прикладні середовища виконуються у вигляді серверів призначеного для користувача режиму. А в OS / 2 з її більш простою архітектурою кошти організації прикладних середовищ вбудовані глибоко в ОС. Один з найбільш очевидних варіантів реалізації множинних прикладних середовищ ґрунтується на стандартній багаторівневій структурі ОС .

Мал. 3.13. Прикладні програмні середовища, що транслюють системні виклики

На жаль, поведінка майже всіх функцій, що становлять API однієї ОС, як правило, істотно відрізняється від поведінки відповідних функцій інший.

В іншому варіанті реалізації множинних прикладних середовищ ОС має кілька рівноправних прикладних програмних інтерфейсів. У наведеному на рис. 3.14 прикладі ОС підтримує програми, написані для OS1, OS2 і OS3. Для цього безпосередньо в просторі ядра системи розміщені прикладні програмні інтерфейси всіх цих ОС: API OS1, API OS2 і API OS3. У цьому варіанті функції рівня API звертаються до функцій нижчого рівня ОС, які повинні підтримувати всі три в загальному випадку несумісні прикладні середовища.

У різних ОС по-різному здійснюється управління системним часом, використовується різний формат часу дня, на підставі власних алгоритмів розділяється процесорний час і т. Д. Функції кожного API реалізуються ядром з урахуванням специфіки відповідної ОС, навіть якщо вони мають аналогічне призначення. Наприклад, як вже було сказано, функція створення процесу працює по-різному для додатка UNIX та додатки OS / 2. Аналогічно при завершенні процесу ядру також необхідно визначати, до якої ОС відноситься даний процес. Якщо цей процес був створений за запитом UNIX-додатки, то в ході його завершення ядро \u200b\u200bмає послати батьківського процесу сигнал, як це робиться в ОС UNIX. А по завершенні процесу OS / 2, ядро \u200b\u200bмає зазначити, що ідентифікатор процесу не може бути повторно використаний іншим процесом OS / 2. Для того щоб ядро \u200b\u200bмогло вибрати потрібний варіант реалізації системного виклику, кожен процес повинен передавати в ядро \u200b\u200bнабір ідентифікуючих характеристик.

Мал. 3.14.Реалізація сумісності на основі декількох рівноправних API

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

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

Такому підходу до конструювання множинних прикладних середовищ притаманні всі достоїнства і недоліки микроядерной архітектури, зокрема:

§ дуже просто можна додавати і виключати прикладні середовища, що є наслідком хорошої розширюваності мікроядерних ОС;

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

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

Мал. 3.15. Мікроядерний підхід до реалізації множинних прикладних середовищ

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

висновки:

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

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

§ Ядро, будучи структурним елементом ОС, в свою чергу, може бути логічно розкладено на наступні шари (починаючи з самого нижнього):

§ машинно-залежні компоненти ОС;

§ базові механізми ядра;

§ менеджери ресурсів;

§ інтерфейс системних викликів.

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

§ Будь-яка ОС для вирішення своїх завдань взаємодіє з апаратними засобами комп'ютера, а саме: засобами підтримки привілейованого режиму і трансляції адрес, засобами перемикання процесів і захисту областей пам'яті, системою переривань і системним таймером. Це робить ОС машинно-залежною, прив'язаною до певної апаратній платформі.

§ Переносимость ОС може бути досягнута при дотриманні наступних правил. По-перше, більша частина коду повинна бути написана на мові, транслятори якого є на всіх комп'ютерах, куди передбачається переносити систему. По-друге, обсяг машинно-залежних частин коду, які безпосередньо взаємодіють з апаратними засобами, повинен бути по можливості мінімізований. По-третє, апаратно-залежний код повинен бути надійно локалізована в кількох модулях.

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

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

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

Завдання і вправи

1. Які з наведених нижче термінів є синонімами?

§ привілейований режим;

§ захищений режим;

§ режим супервізора;

§ призначений для користувача режим;

§ реальний режим;

§ режим ядра.

2. Чи можна, аналізуючи двійковий код програми, зробити висновок про неможливість її виконання в режимі користувача?

3. У чому полягають відмінності в роботі процесора в привілейованому і призначеному для користувача режимах?

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

5. Які етапи включає розробка варіанту мобільної ОС для нової апаратної платформи?

6. Опишіть порядок взаємодії додатків з ОС, яка має мікроядерну архітектуру.

7. Якими етапами відрізняється виконання системного виклику в микроядерной ОС і ОС з монолітним ядром?

8. Чи може програма, емульованого на «чужому» процесорі, відбуватиметься значно швидше, ніж на «рідному»?

Концепція микроядерной архітектури

Двійкова сумісність і сумісність вихідних текстів

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

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

Сумісність на рівні вихідних текстів вимагає наявності відповідного компілятора в складі програмного забезпечення, а також сумісності на рівні бібліотек і системних викликів. При цьому необхідна перекомпіляція наявних вихідних текстів в новий виконуваний модуль.

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

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

ОС ОС1 крім своїх додатків підтримує програми ОС2 і ОС3. Для цього в її складі є спеціальні додатки, прикладні програмні середовища, які транслюють інтерфейси чужих ОС API ЩС2 і API ОС3 в інтерфейс своєї рідної ОС API ОС1.

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

У просторі ядра системи розміщуються прикладні програмні інтерфейси всіх ОС.



Функції рівня API звертаються до функцій нижчого рівня ОС, який повинен підтримувати 3 (в даному випадку) несумісні середовища.

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

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

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

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

Додаток, використовуючи API, звертається до системних викликів до відповідної прикладної середовищі через микроядро.

Прикладна середовище утворить запит, виконує його, і відсилає додатком результат. В ході виконання запиту прикладної середовищі доводиться звертатися до базових механізмів ОС, реалізованим мікроядром і іншими серверами ОС.

Такому підходу конструювання множинних прикладних середовищ притаманні всі достоїнства і недоліки микроядерной архітектури.

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму