DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Управління процесами

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

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

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

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

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 9 з курсу „ Системне програмування ” Тема: Управління процесами. Організація дочірніх процесів. Частина 2. Львів – 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 SYSTEM Volume Serial Number is 263A-1EEA Directory of С:\TEMP\9 L9 TXT 543 12-18-04 6:37p SAMPLE TXT 543 12-18-04 6:37p 2 file(s) 1086 bytes 434230272 bytes free Висновок: Виконуючи дану лабораторну роботу, я дослідив механізм виконання команд MS-DOS в якості дочірніх процесів з-під управління прикладних програм.
Антиботан аватар за замовчуванням

31.03.2013 15:10

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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