Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы / Задания / Operatsionnye_sistemy_lr_zaochn.pptx
Скачиваний:
14
Добавлен:
15.02.2021
Размер:
4.51 Mб
Скачать

2.2. GetVersionEx()

Версии Windows

4. Из реестра

Лабораторная работа №2.

Процессы и потоки

Цель работы: получение практических навыков использования Win32 API для исследования процессов

Программа, которая

принимая дескриптор, имя или полное имя модуля, возвращает другие два элемента в своих выходных параметрах (выполнить задание для своей программы и для любой известной библиотеки).

будет выполнять последовательно по шагам следующее:

Используя функцию GetCurrentProcessId определит идентификатор текущего процесса.

Используя функцию GetCurrentProcess определит псевдодескриптор текущего процесса.

Используя функцию DuplicateHandl и значение псевдодескриптора определит дескриптора текущего процесса.

Используя функцию OpenProcess определит копию дескриптора текущего процесса.

Закроет дескриптор, полученный функцией DuplicateHandl.

Закроет дескриптор, полученный функцией OpenProcess.

выдает список перечисления всех процессов, потоков, модулей и их свойства в системе:

while (true)

Как делать

Делаем меню? (switch)

Последовательно реализуем по методичке

class Program

{ …static void Main(string[] args)

{

{

Console.WriteLine(

"1: Вывести все\n" + "2: По имени\n" +

"3: По полному имени\n" + "4: По дескриптору\n" +

"5: Информация о процессе\n" +

"6: Информация о процессах, потоках, модулях\n" );

switch (pressedKey)

{ case 1: //all init();

Console.WriteLine(

$"Имя: {shortFileName}\n" + $"Полное имя: {longFileName}\n" +

); $"Дескриптор: {processHandle}\n"

break;

case 2: //name

break;

…….

case 3: //fname

default:

break;

Результат работы

Лабораторная работа №3. Методы синхронизация потоков

Цель работы: получение практических навыков по

использованию Win32 API для синхронизации потоков.

■ Исследование на конкретном примере следующих методов синхронизации потоков:

критические секции

мьтексы

события

■ Задачу для синхронизации выбрать на свое усмотрение.

Синхронизация

Может быть реализована

1.С использованием Win32 API

2.Средствами языка программирования (C#)

Задачи для каждого метода синхронизации должны быть

РАЗЛИЧНЫМИ.

Задачи должны наглядно демонстрировать выбранный метод синхронизации и учитывать его особенности.

Студент, сдающий работу, должен АРГУМЕНТИРОВАННО обосновать задачу, выбранную для синхронизации и метод синхронизации.

Межпроцессное

взаимодействие

согласование действий процессов

передача информации от одного процесса другому

контроль над деятельностью процессов