Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodychka-lab_OS.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.35 Mб
Скачать

7. Хід роботи

  1. Ознайомитись з основними теоретичними відомостями даної лабораторної роботи.

  2. Ознайомитись з приведеними в додатках прикладами програм.

  3. Ознайомитись з додатковими джерелами, приведеними в п. 11 (Література) .

  4. Затвердити номер індивідуального завдання у викладача.

  5. Виконати завдання згідно з номером.

8. Зміст звіту

Звіт повинен містити:

- титульну сторінку;

- мету роботи;

- завдання, робочий варіант тексту програми, результат виконання програми;

- короткі висновки по проведеній роботі.

9. Завдання На 75 балів виконати 4 завдання:

Програма розробляється на мові асемблер для ОС Windows, використовуючи пакет MASM32. Результат виводиться на екран консолі.

  1. Зробити програму, яка виводить назву ехе-файла, для першого процесу в списку процесів.

  2. Вдосконалити програму таким чином, щоб вона виводила назви та ідентифікатори всіх процесів в системі.

  3. Добавити вивід кількості потоків для кожного процесу.

  4. Зробити так, щоб ця програма кожні 2 сек. записувала в файл назви ехе-файлів, ідентифікатори і кількість потоків для всіх процесів у системі. Коли файл вже існує новий список повинен заміняти старий.

На 95 балів потрібно розробити програму згідно варіанту.

Програми розробляються в MASM32. Результат виводиться на екран консолі. Розробити програму, яка

  1. виводить імена процесів у вигляді: “ім’я батьківського процесу” -> “ім’я породженого процесу”

  2. з допомогою функції GetCommandLine приймає назву процеса з командної стрічки, який необхідно завершити і завершує його.

  3. кожну сек. перевіряє чи не з’явився процес з назвою “mirc”, при появі такого процесу програма повинна видавати звуковий сигнал.

  4. повинна виводити імена модулів, які використовуються всіма процесами в системі.

  5. виводить пріоритети для всіх потоків зареєстрованих в системі.

  6. кожну сек. (використовуючи функцію Sleep) перевіряє чи не завершився процес з деяким іменем, а коли завершився видає повідомлення.

  7. друкує на екран назву класу пріоритету для процеса, ідентифікатор якого задано в командному рядку (“Найнижчий” - IDLE_PRIORITY_CLASS, “Нормальний” - NORMAL_PRIORITY_CLASS, “Високий” - HIGH_PRIORITY_CLASS, “Найвищий” - REALTIME_PRIORITY_CLASS).

  8. з командної стрічки приймає два параметри: ідентифікатор процесу і число, яке визначає клас пріоритету (0 - IDLE_PRIORITY_CLASS, 1 - NORMAL_PRIORITY_CLASS, 2 - HIGH_PRIORITY_CLASS, 3 - REALTIME_PRIORITY_CLASS). Програма повинна змінити пріоритет виконання заданого процесу на вказаний в другому параметрі.

  9. інтерактивно записує в файл зміни в списку процесів у вигляді: дд.мм.рррр гг:хх:сс запустився/завершився “назва процесу”

  10. інтерактивно записує в файл зміни кількості потоків у вигляді: дд.мм.рррр гг:хх:сс “назва процесу” кількість_потоків

10. Контрольні запитання

  1. Назвати функцію і параметри для створення списку процесів та потоків.

  2. Назвати функції перегляду процесів.

  3. Які функції викликаються для перегляду модулів?

  4. Де зберігається ідентифікатор процесу повернутий функцією Process32First?

  5. Як визначити всі потоки створені заданим процесом?

  6. Що необхідно зробити для керування процесом?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]