Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spz / шпори.doc
Скачиваний:
100
Добавлен:
23.02.2016
Размер:
1.56 Mб
Скачать

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

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

Утиліти.

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

Основні функції ос.

Основними функціями ОС є:

1. Сприймання від користувача (або від оператора системи) завдань або команд у вигляді директив (або команд) оператора, а також у вигляді вказівок від маніпуляторів (наприклад, миші) та їх обробка.

2. Завантаження, запуск, призупинення, зупинка програм.

Керування файловими системами та системами управління базами даних.

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

4. Забезпечення функцій з організації та керування усіма операціями вводу/виводу.

5. Забезпечення виконання обмежень на час відповіді в режимі реального часу (для ОС відповідного типу).

6. Розподіл пам’яті (як основної, так і зовнішньої), та організація віртуальної пам’яті.

7. Планування та диспетчеризація задач у відповідності із заданими стратегією та дисципліною обслуговування.

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

9. Забезпечення роботи систем програмування.

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

Не 1.1. Базові поняття сучасних операційних систем Базові поняття операційної системи Linux. Файли, каталоги, робота з файлами. Права доступу до файлів і каталогів.Інструментарій.

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

Віртуальна машина

Система Unix — багатокористувальницька. Кожному користувачу після реєстрації (входу в систему) дається віртуальний комп'ютер, у якому є всі необхідні ресурси: процесор (процесорний час виділяється на основі «карусельної» диспетчеризації (RR — round robin) і з використанням динамічних пріоритетів для того, щоб забезпечити рівність в обслуговуванні), пам'ять, пристрої, файли. Поточний стан такого віртуального комп'ютера, наданого користувачу, називається образом. Можна сказати, що процес — це виконання образа. Образ складається з:

􀂾образа пам'яті;

􀂾значень загальних регістрів процесора;

􀂾стану відкритих файлів;

􀂾поточного директорія (каталогу файлів) і іншої інформації.

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

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

Образ пам'яті поділяється на три логічних сегменти:

􀂾сегмент реєнтерабельних процедур (починається з нульової адреси у віртуальному адресному просторі процесу);

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

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

Користувач

Із самого початку ОС Unix розроблялась як інтерактивна багатокористувальницька система. Іншими словами,Unix призначений для мультитерминальної роботи. Щоб почати працювати, людина повинна «увійти» у систему, ввівши з вільного термінала своє облікове ім'я (ассоunt name) і, можливо, пароль. Людина, зареєстрована в облікових файлах системи і, отже, що має обліковий запис, називається зареєстрованим користувачем системи. Реєстрацію нових користувачів звичайно виконує адміністратор системи. Користувач не може змінити своє облікове ім'я, але може установити і/чи змінити свій пароль. Паролі зберігаються в окремому файлі в закодованому виді.

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

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

Інтерфейс користувача

Традиційний спосіб взаємодії користувача із системою Unix ґрунтується на використанні командних мов. Після входу користувача в систему для нього запускається один з командних інтерпретаторів. Звичайно в системі підтримується декілька командних інтерпретаторів зі схожими командними мовами, але які розрізняються своїми можливостями. Загальна назва для будь-якого командного інтерпретатора ОСUnix — shell (оболонка), оскільки будь-який інтерпретатор представляє зовнішнє оточення ядра системи.

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

Привілейований користувач

Ядро ОС Unix ідентифікує кожного користувача по його ідентифікаторі (UID — user identifier), унікальному цілому значенню, що привласнюється користувачу при реєстрації в системі. Крім того, кожен користувач відноситься до деякої групи користувачів, що також ідентифікується деяким цілим значенням (GID — group identifier). Значення UID і GID для кожного зареєстрованого користувача зберігаються в облікових файлах системи і приписуються процесу, у якому виконується командний інтерпретатор, запущений при вході користувача в систему. Ці значення успадковуються кожним новим процесом, запущеним від імені даного користувача, і використовуються ядром системи для контролю правомочності доступу до файлів, виконання програм і т.д.

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

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

Соседние файлы в папке spz