- •Лабораторна робота №1
- •Основні положення. Поняття операційної системи.
- •Завдання
- •Лабораторна робота № 2.
- •Основні положення
- •1. Поняття файлу
- •2. Поняття файлової системи
- •3. Типи файлів
- •4. Імена файлів
- •5. Організація інформації у файловій системі
- •6. Загальні відомості про файлові операції
- •Приклад виконання завдання.
- •Завдання
- •Контрольні питання
- •Лабораторна робота № 3
- •Основні положення.
- •1. Каталоги
- •2. Операції над каталогами
- •3. Робота з каталогами в posix
- •Приклад виконання завдання
- •Завдання
- •Контрольні питання
- •Лабораторна робота № 4
- •Основні положення.
- •Створення процесу.
- •Ієрархія процесів.
- •Реалізація процесів.
- •4. Системні виклики для роботи з процесами
- •Приклад виконання завдання
- •Завдання
- •Контрольні питання
- •Лабораторна робота № 5
- •Основні положення
- •1. Застосування каналів.
- •Приклади виконання завдань
- •Завдання
- •Контрольні питання
- •Лабораторна робота № 6
- •Основні положення.
- •1. Черга повідомлень.
- •2. Створення черг повідомлень.
- •Прикдад виконання завдання
- •Завдання
- •Контрольні питання
Контрольні питання
1. Що таке каталог?
2. Що таке дескриптор каталогу?
3. Що формують каталоги в ОС LINUX?
4. Що визначають каталоги в дереві файлової системи стосовно файлів?
5. Чи має право на запис у каталог будь-яка задача користувача?
6. Які Вам відомі системні функції, що дозволяють працювати з каталогами?
7. Яка структура каталогу по суті?
8. За допомогою якої керуючої структури організовується доступ до файлу каталога?
Лабораторна робота № 4
Тема: Створення процесів.
Мета роботи: Вивчення та застосування системних викликів для роботи з процесами в ОС LINUX.
Основні положення.
Процесом являється виконувана програма, включаючи поточні значення лічильника команд, регістрів та змінних. З позицій даної абстрактної моделі у кожного процесу є власний віртуальний центральний процесор.
Різниця між процесом та програмою має принципіальне значення. Процес – це активність деякого роду. У нього є програма, вхідні та вихідні дані, а також стан. Один процесор може переключатися між різними процесами, використовуючи деякий алгоритм планування для переключень.
Створення процесу.
ОС необхідний спосіб, який дозволяє впевнитися в наявності всіх необхідних процесів. В найпростіших системах можна реалізувати таку ситуацію, при якій всі процеси, які можуть коли-небудь знадобитися, присутні в системі при її завантаженні. Але в універсальних системах необхідний спосіб створення та переривання процесів по мірі їхньої необхідності. Є 4 основні події, які призводять до створення процесів:
Ініціалізація системи.
Виконання системного виклику від працюючого процесу на створення процесу.
Запит користувача на створення процесу.
Ініціювання пакетного завдання.
Звичайно при завантаженні ОС створюються декілька процесів. Деякі з них – високо пріоритетні, тобто забезпечують взаємодію з користувачем і виконують задану роботу. Інші процеси – фонові, вони не пов’язані з користувачем, але виконують особливі функції, наприклад, призначені для обробки електронної пошти. Такі процеси називаються демонами.
В UNIX для виведення списку задіяних процесів використовується програма ps, в WINDOWS 2000 можна викликати диспетчер задач комбінацією клавіш CTRL-ALT-DEL.
Процеси можуть створюватися не лише в момент завантаження системи, а й пізніше. В інтерактивних системах користувач може запустити програму, набравши на клавіатурі команду чи клацнувши мишкою по значку програми. В обох випадках результатом буде створення нового процесу і запуск в ньому програми.
Процес завершується завдяки одній з наступних подій:
Звичайний вихід;
Вихід за помилкою;
Вихід за непоправною помилкою;
Знищення іншим процесом.
Після закінчення компіляції програми компілятор виконує системний виклик, щоб повідомити ОС про закінчення роботи. В UNIX цей системний виклик – exit, а в WINDOWS - ExitProcess.
Другою причиною завершення процесу може стати непоправна помилка. Наприклад, якщо користувач набрав на клавіатурі команду для компіляції програми, а відповідного файлу не існує, то компілятор просто закінчить роботу.
Третя причина – помилка в програмі, наприклад, виконання неприпустимої команди, звернення до неіснуючої області пам’яті, ділення на 0.
Четверта причина – виконання іншим процесом системного виклику на знищення процесу. В UNIX – це системний виклик kill, а в WINDOWS - TerminateProcess.