Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

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

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

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

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

Рік:
2004
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування
Група:
КІ-З

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 9 з курсу „ Системне програмування ” Тема: Управління процесами. Організація дочірніх процесів. Частина 2. Виконав: студент групи КІ-3 Львів – 2004 Мета роботи: Дослідити механізм виконання команд MS-DOS в якості дочірніх процесів з під управління прикладних програм. Короткі теоретичні відомості Важливим випадком активізації дочірнього процесу є виклик з ініціалізуючої програми другої копії командного процесора COMMAND.COM. Це дає можливість виконувати, не перериваючи активної програми, будь-які команди DOS, наприклад, копіювання файлів та ін. В багатьох випадках така методика суттєво спрощує програмування і розширює можливості прикладних програм. Для виклику за допомогою функції Exec командного процесора слід вказати повну специфікацію його файлу, яка зазвичай видобувається із оточення активного процесу, хоча може бути задана безпосередньо в полях даних програми. При передачі командному процесору імені програми (в якості залишку командного рядка) воно повинно починатись ключем “/C”. Залишок команди може в цьому випадку бути таким: cmdtaіl db 10,‘ /C DІR C:’, 0Dh В наведеному вище прикладі після завантаження другої копії командного процесора автоматично виконується команда DOS “DІR C:”. Таким самим чином можна виконати будь-яку іншу команду DOS або іншу прикладну програму. Можна виділити два варіанти процедури активації другої копії командного процесора: 1. Командний процесор викликається з ключем “/C” і вказуванням конкретної програми (команди DOS). Отримавши управління, командний процесор активує потрібну програму. Після її завершення управління відразу передається ініціалізуючому процесу. Таким способом можна запускати не лише команди DOS, а й командні файли, які не можна активувати безпосередньо функцією Exec. 2. Командний процесор викликається без ключа “DІR C:” і без імені конкретної команди. В цьому випадку командний процесор, отримавши управління, очікує вводу команд DOS з клавіатури. Користувач може необмежений час працювати з DOS, викликаючи будь-які команди DOS або прикладні програми. Для повернення в ініціалізуючий процес слід ввести команду EXІT. Такий режим (тимчасового виходу в DOS) широко використовується в більшості прикладних програм. DOS дозволяє дочірньому процесу передати у ініціалізуючий процес, що викликав його, код завершення із значенням в діапазоні 0-255. Як правило, 0 використовується в якості коду успішного завершення, інші значення – характеризують різні помилкові ситуації. Завдання на лабораторну роботу Створити програму, що запускає дочірній процес та аналізує результат виконання по його завершенні. В якості програми дочірнього процесу використати командний процесор COMMAND.COM. Запуск дочірнього процесу здійснити двома способами: проста ініціалізація другої копії командного процесора; ініціалізація другої копії командного процесора з передачею йому в якості вхідного параметру команди MS-DOS згідно варіанту вказаного викладачем. Варіант 9. Знайти всi файли, що мають розширення TXT, результати вiдсортувати i вивести на екран  Вміст .asm-файлу .model small .stack 64 .data parameters dw 0 dd cmds dd fcb1 dd fcb2 progname db 'COMMAND.COM', 0 cmds db 21,' /C DIR *.TXT /A /O:N',13 ; COUNTER,'...',13,0 fcb1 db 37 dup (0) fcb2 db 37 dup (0) ermsg1 db 'ERROR!$' ermsg2 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 jc err1 mov ax, @data mov ds, ax mov es, ax mov ah, 4Bh mov al, 0 lea bx, parameters lea dx, progname int 21h jc err2 mov al, 00 jmp BUXIT err1: mov al, 01 mov dx,OFFSET ermsg1 mov ah,09 int 21h jmp BUXIT err2: mov dx,OFFSET ermsg2 mov ah,09 int 21h mov al, 02 BUXIT: mov ah, 4ch int 21h main ENDP end main Результат виконання програми Microsoft(R) Windows DOS (C)Copyright Microsoft Corp 1990-2001. Volume in drive C is...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

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

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини