Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PR_СП_лекции_укр.doc
Скачиваний:
6
Добавлен:
22.04.2019
Размер:
697.34 Кб
Скачать

1 Середовище програмування ос unix

1.1 Структура ос unix

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

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

Системи програмування

У правління логічними пристроями

Управління фізичними пристроями

Апаратні засоби


Малюнок 1.1 – Структура Обчислювальної системи

Нижній рівень - це чисто апаратура.

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

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

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

Тепер давайте подивимося на конструкцію ОС.

Малюнок 1.2 – Структура Операційної системи

1. Ядро. UNIX, як практично будь-яка ОС має поняття ядра. Ядром ОС є її резидентна частина, тобто та частина ОС, яка завжди присутня в оперативній пам'яті.

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

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

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

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

Системні виклики забезпечують:

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

  • створення і припинення процесів;

  • реалізацію операцій введення-виводу;

  • доступ до файлів і дисків;

  • підтримку функцій терміналу.

Unix має обмежений набір системних викликів, які документовані в розділі 2 електронні довідники. (man 2 kill).

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

Крім системних викликів програмістові пропонується великий набір функцій загального призначення. Вони не є точками входу в ядро ОС, хоча в ході виконання багато хто з них (але не все) виконує системні виклики. Ці функції зберігаються в системній бібліотеці З і разом з системними викликами складають середовище програмування ОС UNIX (документовано в розділі 2 електронні довідники).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]