Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы СПО-new.docx
Скачиваний:
7
Добавлен:
14.11.2019
Размер:
239.58 Кб
Скачать

Контрольные вопросы

  1. Что такое скан-код ?

  2. Какие типы кодов символов вы знаете ?

  3. Что хранится в буфере клавиатуры ?

  4. Каким образом организован буфер клавиатуры ?

  5. Как очистить буфер клавиатуры ?

  6. Как проверить пуст или нет буфер клавиатуры ?

  7. Из каких групп клавиш состоит клавиатура ?

  8. Что такое слово состояния клавиатуры и от чего зависит его значение ?

  9. Перечислите последовательность действий, которые необходимо выполнить для расширения стандартного прерывания клавиатуры ?

  10. В каких случаях происходит переполнение буфера клавиатуры и что при этом происходит ?

Лабораторная работа № 3 Средства ос Windows для управления процессами и потоками

Продолжительность работы – 4 часа.

Цель работы: изучение механизмов реализации многозадачности в ОС Windows 2000. Разработка приложения для изучения средств Win32 API и Delphi для управления процессами и потоками. Оценка влияния приоритетов процесса и потока на их производительность и время выполнения.

Используемое оборудование: любой IBM РС-совместимый компьютер под управлением ОС Windows 2000.

Используемое программное обеспечение: система программирования Delphi 6.0.

Подготовка к работе

Изучить по конспекту лекций, методическим указаниям к лабораторной работе и приведенной ниже литературе, следующие вопросы:

  • реализация многозадачности в ОС Windows 2000;

  • объекты ядра ОС Windows 2000;

  • управление процессами и потоками средствами Win32 API;

  • управление процессами и потоками средствами Delphi;

  • классы приоритетов процессов и относительные приоритеты потоков;

  • хронометраж процессов и потоков.

Программа работы

    1. Получите у преподавателя вариант задания в соответствии с табл. 13. Запустите Delphi и создайте новый проект в отдельной рабочей папке.

    2. Разместите на форме компоненты для отображения текущего состояния, управления приоритетом и работой процесса (приложения). Напишите необходимый код и запустите приложение на выполнение для проверки его работоспособности. Проверьте возможность изменения приоритета процесса при помощи заданного компонента (табл. 13).

    3. Добавьте в проект поток, который при выполнении должен определять сумму десяти случайных целых чисел, увеличивая при этом счетчик числа выполненных суммирований за одну секунду. Разместите на форме компоненты для отображения текущего состояния, управления приоритетом, а также режима работы, создания, запуска на выполнение, останов и уничтожение потока. Запустите приложение на выполнение для проверки его работоспособности. Проверьте возможность изменения приоритета потока при помощи заданного компонента (табл. 13).

    4. Разместите на форме компоненты, для обеспечения возможности работы с двумя потоками в приложении. Для этого скопируйте компоненты, размещенные на форме в п.3 и поместите их на форму, задав новые координаты. Запустите приложение на выполнение для проверки его работоспособности. Оцените производительность потоков и время их выполнения при раздельной и совместной работе в соответствии с заданными относительными приоритетами и классом приоритета процесса (табл. 13). Результаты занесите в форму, приведенную в табл. 14.

    5. Запустите диспетчер задач Windows и повторите выполнение пп.2-4, следя за общим количеством процессов и потоков в системе, загрузкой центрального процессора. Зафиксируйте и объясните полученные результаты.

    6. Создайте новое приложение, которое обеспечивает запуск двух экземпляров разработанного в пп. 1-4 приложения. Приложение должно обеспечивать отображение информации о вновь созданных процессах – идентификаторы процессов и их главных потоков, режимы доступа, работы и т.д. Оцените время выполнения процессов и потоков при их совместной работе в соответствии с заданными относительными приоритетами и классами приоритетов процессов (табл. 14). Результаты занесите в форму в соответствии с табл. 14.

    7. Оформите отчет по лабораторной работе, который должен содержать:

  • название и цель лабораторной работы;

  • программу работы;

  • оконные формы разработанных приложений;

  • результаты оценки производительности потоков;