Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метвказівки для Астистовой1.doc
Скачиваний:
1
Добавлен:
08.11.2019
Размер:
288.26 Кб
Скачать

Контрольні питання

1. Що таке каталог?

2. Що таке дескриптор каталогу?

3. Що формують каталоги в ОС LINUX?

4. Що визначають каталоги в дереві файлової системи стосовно файлів?

5. Чи має право на запис у каталог будь-яка задача користувача?

6. Які Вам відомі системні функції, що дозволяють працювати з каталогами?

7. Яка структура каталогу по суті?

8. За допомогою якої керуючої структури організовується доступ до файлу каталога?

Лабораторна робота № 4

Тема: Створення процесів.

Мета роботи: Вивчення та застосування системних викликів для роботи з процесами в ОС LINUX.

Основні положення.

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

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

  1. Створення процесу.

ОС необхідний спосіб, який дозволяє впевнитися в наявності всіх необхідних процесів. В найпростіших системах можна реалізувати таку ситуацію, при якій всі процеси, які можуть коли-небудь знадобитися, присутні в системі при її завантаженні. Але в універсальних системах необхідний спосіб створення та переривання процесів по мірі їхньої необхідності. Є 4 основні події, які призводять до створення процесів:

  1. Ініціалізація системи.

  2. Виконання системного виклику від працюючого процесу на створення процесу.

  3. Запит користувача на створення процесу.

  4. Ініціювання пакетного завдання.

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

В UNIX для виведення списку задіяних процесів використовується програма ps, в WINDOWS 2000 можна викликати диспетчер задач комбінацією клавіш CTRL-ALT-DEL.

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

Процес завершується завдяки одній з наступних подій:

  1. Звичайний вихід;

  2. Вихід за помилкою;

  3. Вихід за непоправною помилкою;

  4. Знищення іншим процесом.

Після закінчення компіляції програми компілятор виконує системний виклик, щоб повідомити ОС про закінчення роботи. В UNIX цей системний виклик – exit, а в WINDOWS - ExitProcess.

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

Третя причина – помилка в програмі, наприклад, виконання неприпустимої команди, звернення до неіснуючої області пам’яті, ділення на 0.

Четверта причина – виконання іншим процесом системного виклику на знищення процесу. В UNIX – це системний виклик kill, а в WINDOWS - TerminateProcess.