DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

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

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

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

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

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

Про що ця робота

У звіті досліджено механізм виконання команд MS-DOS у якості дочірніх процесів під управлінням прикладних програм. Наведено код програми на асемблері для запуску командного процесора з передачею параметрів.

У роботі розглядаються

  • Системне програмування
  • Дочірні процеси
  • Командний процесор MS-DOS
  • Функція exec
  • Мова асемблера
  • Обробка кодів завершення

Зміст і розділи

  1. Мета роботи
  2. Короткі теоретичні відомості
  3. Завдання на лабораторну роботу
  4. Лістинг програми
  5. Результат виконання програми
  6. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів.
Викладачі:Викладач кафедри

Ключові поняття

дочірній процесcommand.comMS-DOSфункція execкомандний рядоккод завершеннястекпам'ять

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 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 в якості дочірніх процесів з-під управління прикладних програм.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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