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

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

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

Рік:
2004
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Системне програмування

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 8 з курсу „ Системне програмування ” Тема: Управлiння процесами. Органiзацiя дочiрнiх процесiв. Частина 1. Львів – 2004 Мета роботи: Ознайомитись з принципами управлiння процесами в MS-DOS. Дослiдити механiзм активацiї дочiрнiх процесiв з-пiд управлiння прикладних програм. Короткі теоретичні відомості Програми завантажуються в пам‘ять для виконання за допомогою функцiї DOS Exec (Int 21h, функцiя 4Bh), що виконує роль системного завантажувача Програма, що завантажується функцiєю Exec в пам‘ять, включає такi компоненти: оточення, префiкс програмного сегмента, власне програму. Для завантаження i виконання дочiрнього процесу програма вищого рiвня повинна використати функцiю DOS Exec - Int 21h, функцiя 4Bh. При цьому стан регiстрiв повинен бути таким: AH = 4Bh; AL = 00h (пiдфункцiя завантаження дочiрньої програми); DS:DX = адреса рядка iз специфiкацiєю файлу запуску дочiрньої програми; ES:BX = адреса блоку параметрiв. Блок параметрiв служить для передачi функцiї Exec необхiдних даних i включає в себе адреси таких об‘єктiв: оточення (сегментна адреса, одне слово); залишок командного рядка (повна адреса, два слова); два блоки управлiння пам‘яттю (файлами) (FCB) (повнi адреси, комiрки по два слова). Завдання на лабораторну роботу Створити програму, що запускає дочiрнiй процес та аналiзує результат виконання по його завершеннi. В програмi дочiрнього процесу передбачити повертання коду завершення (“успiшне завершення” / “помилка”) в iнiцiалiзуючу програму. В якостi основи для створення програми дочiрнього процесу необхiдно використати програму створену в процесi виконання лабораторної роботи № 4. Вміст .asm-файлів Основна програма: .model small .stack 64 .data parameters dd fcb1 dd fcb2 fcb1 db 37 dup (0) fcb2 db 37 dup (0) progname db 'max4.exe', 0 Err1msg db 'Child process returned error code!',10,13,'$' Err2msg db 'File not found or not enough memory.',10,13,'$' .code main PROC FAR mov ah, 4ah mov bx, stack add bx, 4 int 21h ; alloc mem mov ax, @data mov ds, ax mov es, ax mov ah, 4bh mov al, 00 lea bx, parameters lea dx, progname int 21h ; child launch jc err2 ; launch failed? mov ah, 4Dh int 21h cmp al,0 ; check return value of child process jne err1 mov al, 00 jmp quit err1: mov dx,OFFSET Err1Msg mov ah,09 int 21h mov al, 01 jmp quit err2: mov dx,OFFSET Err2Msg mov ah,09 int 21h mov al, 02 quit: mov ah, 4ch int 21h main ENDP end main Частини програми, що відповідають за код повернення дочірнього процесу (max4.exe): .DATA … errcode db 0 … .CODE start: jnc ok ; error check mov errcode, 1 jmp quit ok: … quit: mov ah,4Ch mov al,errcode ; return value int 21h END start Результат виконання програми 1 випадок: файл max4.exe відсутній у каталозі програми. File not found or not enough memory. 2 випадок: max4.exe повертає 0. Executing max4.exe 3 випадок: max4.exe повертає 1. Executing max4.exe Child process returned error code! Висновок: Виконуючи дану лабораторну роботу, я ознайомився із принципами управлiння процесами в MS-DOS, дослiдив механiзм активацiї дочiрнiх процесiв з-під управління прикладних програм.
Антиботан аватар за замовчуванням

31.03.2013 15:03-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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