Управління процесами. Організація дочірніх процесів. Частина 1

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України НУ”Львівська політехніка” Кафедра ЕОМ Лабораторна робота №8 з дисципліни:”Системне програмування” на тему:”Управління процесами. Організація дочірніх процесів. Частина 1” Мета: Ознайомитись з принципами управління процесами в MS-DOS. Дослідити механізм активізації дочірніх процесів з під управління прикладних програм. Програми завантажуються в пам‘ять для виконання за до-помогою функції DOS Exec (Int 21h, функція 4Bh), що виконує роль системного завантажувача. Програма, що завантажується функцією Exec в пам‘ять, включає такі компоненти: оточення, префікс програмного сегмента, власне програму. В процесі початкового завантаження DOS створює оточення, в якому працюватимуть активовані програми і, в першу чергу, командний процесор COMMAND.COM. Оточення являє собою область пам‘яті, в якій у вигляді символьних рядків записані значення змінних (змінні оточення). Формат рядка (рядок обов‘язково завершується нульовим байтом.) є таким: змінна = значення Для завантаження і виконання дочірнього процесу програма вищого рівня повинна використати функцію DOS Exec - Int 21h, функція 4Bh. При цьому стан регістрів повинен бути таким: AH = 4Bh; AL = 00h (підфункція завантаження дочірньої програми); DS:DX = адреса рядка із специфікацією файлу запуску дочірньої програми; ES:BX = адреса блоку параметрів. Блок параметрів служить для передачі функції Exec необхідних даних і включає в себе адреси таких об‘єктів: оточення (сегментна адреса, одне слово); залишок командного рядка (повна адреса, два слова); два блоки управління пам‘яттю (файлами) (FCB) (повні адреси, комірки по два слова). Формат функції Exec вимагає адрес двох FCB і, відповідно, наявності цих блоків довжиною 37 байт кожен в інціалізуючій програмі. Якщо ж відомо, що програмою ці блокі не використовуватимуться, місце під них можна не виділяти. В цьому випадку в поля блоку параметрів для адрес цих блоків записується 0. DOS дозволяє дочірньому процесу передати у ініціалізуючий процес, що викликав його, код завершення із значенням в діапазоні 0-255. Як правило, 0 використовується в якості коду успішного завершення, інші значення – характеризують різні помилкові ситуації. Значення коду завершення формується в дочірній програмі по мірі її виконання і передається в ініціалізуючу за допомогою функції 4Ch. Текст програми, що викликає в якості дочірнього процесу програму з лабораторної роботи №4: DOSSEG .model small .stack 64 .data parameters dd fcb1 dd fcb2 fcb1 db 37 dup (0) fcb2 db 37 dup (0) progname db 'c:\julia4.exe', 0 .code main PROC FAR mov ah, 4ah mov bx, stack add bx, 4 int 21h jc err1 mov ax, @data mov ds, ax mov es, ax mov ah, 4bh mov al, 00 lea bx, parameters lea dx, progname int 21h jc err2 mov al, 00 jmp quit err1: mov al, 01 jmp quit err2: mov al, 02 quit: mov ah, 4ch int 21h main ENDP end main Висновки: під час виконання лабораторної роботи №8 ми ознайомились з принципами управління процесами в MS-DOS, дослідили механізм активізації дочірніх процесів з під управління прикладних програм.
Антиботан аватар за замовчуванням

31.03.2013 15:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!