Изучение Windows API. Методические указания к выполнению лабораторных работ по курсам «Операционные системы» и «Операционные системы и оболочки»
.pdfbInitialState – признак начального состояния: если TRUE, начальное состояние – сигнальное, иначе – нет; описание остальных параметров и возвращаемого значения аналогично представленному для мьютексов/семафоров.
Контрольные вопросы
Объекты синхронизации Windows: критические секции, мьютексы, семафоры, события.
2. Объекты синхронизации POSIX: семафоры, условные переменные.
Управление памятью. Файлы, отображаемые в память.
Создание объекта отображения файлов в Windows.
Отображение адресного пространства процесса в объекты отображе-
ния.
Схема взаимодействия процессов через разделяемую память.
Библиографический список
1.Microsoft Developer Network [Эл. ресурс]. – Режим доступа: msdn.microsoft.com.
2.Харт, Дж. М. Системное программирование в среде Windows [Текст] / Джонсон М. Харт. – М.: Вильямс, 2005. – 592 с.
3.Руссинович, М. Внутреннее устройство Microsoft Windows [Текст] / М. Руссинович, Д. Соломон. – СПб.: Питер, 2013. – 800 с.
4.Гордеев, А.В. Операционные системы [Текст]: учебн. для вузов / А.В. Гордеев. – СПб.: Питер, 2009. – 416 с.
31
Приложение
|
|
|
|
Таблица 1 |
|
|
Задания к лабораторной работе № 1 |
||
|
|
|
|
|
№ |
Количе- |
Номера |
Позиция в ре- |
Установка атрибутов |
вар. |
ство |
строк |
зультирующем |
|
|
строк, n |
|
файле |
|
1 |
3 |
1,3,9 |
Начало файла |
«только для чтения», «скрытый» |
2 |
3 |
4,7,10 |
Текущая позиция |
«архивный», «скрытый» |
3 |
3 |
2,3,10 |
Конец файла |
«системный», «скрытый» |
4 |
3 |
3,5,6 |
Начало файла |
«только для чтения», «архивный» |
5 |
3 |
1,8,10 |
Текущая позиция |
«только для чтения», «системный» |
6 |
4 |
2,4,6,8 |
Конец файла |
«только для чтения», «скрытый» |
7 |
4 |
1,5,7,8 |
Начало файла |
«только для чтения», «зашифрованный» |
8 |
4 |
2,3,7,8 |
Текущая позиция |
«зашифрованный», «скрытый» |
9 |
4 |
4,7,9,10 |
Конец файла |
«зашифрованный», «архивный» |
10 |
4 |
1,3,6,7 |
Начало файла |
«только для чтения», «скрытый», «архивный» |
11 |
3 |
6,8,10 |
Текущая позиция |
«только для чтения», «скрытый», «системный» |
12 |
3 |
7,9,12 |
Конец файла |
«зашифрованный», «скрытый», «системный» |
13 |
3 |
4,5,10 |
Начало файла |
«зашифрованный», «скрытый», «архивный» |
14 |
3 |
2,7,11 |
Текущая позиция |
«только для чтения», «зашифрованный», «скры- |
|
|
|
|
тый» |
15 |
3 |
3,8,10 |
Конец файла |
«только для чтения», «зашифрованный», «си- |
|
|
|
|
стемный» |
16 |
4 |
1,2,5,6 |
Начало файла |
«только для чтения», «зашифрованный», «архив- |
|
|
|
|
ный» |
17 |
4 |
1,5,6,8 |
Текущая позиция |
«зашифрованный», «системный», «архивный» |
18 |
4 |
2,3,5,8 |
Конец файла |
«только для чтения», «системный», «неиндекси- |
|
|
|
|
рованный» |
19 |
4 |
2,6,9,10 |
Начало файла |
«только для чтения», «скрытый», «неиндексиро- |
|
|
|
|
ванный» |
20 |
4 |
5,6,8,9 |
Текущая позиция |
«только для чтения», «архивный», «неиндексиро- |
|
|
|
|
ванный» |
21 |
3 |
1,4,5 |
Конец файла |
«только для чтения», «зашифрованный», «неин- |
|
|
|
|
дексированный» |
22 |
3 |
1,5,9 |
Начало файла |
«скрытый», «системный», «неиндексированный» |
23 |
3 |
4,6,8 |
Текущая позиция |
«архивный», «системный», «неиндексированный» |
24 |
3 |
6,8,10 |
Конец файла |
«зашифрованный», «системный», «неиндексиро- |
|
|
|
|
ванный» |
25 |
3 |
2,3,7 |
Начало файла |
«только для чтения», «системный», «неиндекси- |
|
|
|
|
рованный», «скрытый» |
Примечание. Здесь и далее использовано сокращение: вар. – варианта.
32
|
|
|
|
Таблица 2 |
|
|
|
Задания к лабораторной работе № 2 |
|
|
|
|
|
|
|
|
|
№ |
Число |
Порядок создания процессов |
P |
|
Q |
вар. |
процессов |
|
|
|
|
1 |
3 |
Вначале первый, после его завершения – параллельно вто- |
1 |
|
1 |
|
|
рой и третий |
|
|
|
2 |
3 |
Вначале параллельно первый и второй, после того, как хотя |
2 |
|
2 |
|
|
бы один из них завершится, – третий |
|
|
|
3 |
3 |
Вначале параллельно первый и второй, после того, как хотя |
1 |
|
3 |
|
|
бы оба завершатся, – третий |
|
|
|
4 |
4 |
Параллельно первые два, после завершения обоих – парал- |
2 |
|
1 |
|
|
лельно последние два |
|
|
|
5 |
4 |
Параллельно первые два, после завершения хотя бы одного |
1 |
|
2 |
|
|
– параллельно последние два |
|
|
|
6 |
4 |
Параллельно первые два, после завершения обоих – третий, |
2 |
|
3 |
|
|
после его завершения – четвертый |
|
|
|
7 |
4 |
Параллельно первые три, после завершения трех – послед- |
1 |
|
1 |
|
|
ний |
|
|
|
8 |
4 |
Параллельно первые три, после завершения хотя бы одного |
2 |
|
2 |
|
|
из трех – последний |
|
|
|
9 |
4 |
Первый, после его завершения – второй, после его заверше- |
1 |
|
3 |
|
|
ния – последние два |
|
|
|
10 |
5 |
Параллельно первые три, после завершения трех – парал- |
2 |
|
1 |
|
|
лельно последние два |
|
|
|
11 |
5 |
Параллельно первые три, после завершения хотя бы одного |
1 |
|
2 |
|
|
из трех – параллельно последние два |
|
|
|
12 |
5 |
Параллельно первые два, после завершения двух – парал- |
2 |
|
3 |
|
|
лельно последние три |
|
|
|
13 |
5 |
Параллельно первые два, после завершения хотя бы одного |
1 |
|
1 |
|
|
из двух – параллельно последние три |
|
|
|
14 |
5 |
Параллельно первые четыре, после завершения четырех – |
2 |
|
2 |
|
|
пятый |
|
|
|
15 |
5 |
Параллельно первые четыре, после завершения хотя бы |
1 |
|
3 |
|
|
одного из четырех – пятый |
|
|
|
16 |
6 |
Параллельно первые три, после завершения хотя бы одного |
2 |
|
1 |
|
|
из трех – параллельно последние три |
|
|
|
17 |
6 |
Параллельно первые два, после завершения двух третий, |
1 |
|
2 |
|
|
после завершения третьего – параллельно последние три |
|
|
|
18 |
6 |
Параллельно первые два, после завершения хотя бы одного |
2 |
|
3 |
|
|
из двух – параллельно последние четыре |
|
|
|
19 |
6 |
Параллельно первые четыре, после завершения четырех – |
1 |
|
1 |
|
|
пятый, после завершения пятого – шестой |
|
|
|
20 |
6 |
Параллельно первые четыре, после завершения хотя бы |
2 |
|
2 |
|
|
одного из четырех – последние два |
|
|
|
21 |
6 |
Параллельно первые два, после завершения обоих – парал- |
1 |
|
3 |
|
|
лельно следующие два, после завершения хотя бы одного |
|
|
|
|
|
из этих двух – параллельно последние два |
|
|
|
22 |
6 |
Параллельно первые два, после завершения хотя бы одного |
2 |
|
1 |
|
|
– параллельно последние четыре |
|
|
|
23 |
6 |
Параллельно первые два, после завершения обоих – третий, |
1 |
|
2 |
|
|
после его завершения – четвертый, после его завершения – |
|
|
|
|
|
параллельно последние два |
|
|
|
24 |
6 |
Параллельно первые три, после их завершения – парал- |
2 |
|
3 |
|
|
лельно последние три |
|
|
|
25 |
6 |
Вначале первый, после его завершения – параллельно по- |
1 |
|
1 |
|
|
следние пять |
|
|
|
33
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 3 |
|
|
|
|
Задания к лабораторной работе № 4 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
№ |
Операция, выполня- |
Размер |
№ |
Операция, выполняе- |
|
Размер мат- |
|||||||||
вар. |
|
емая над элементами |
мат- |
вар. |
мая над элементами |
|
рицы |
||||||||
|
|
|
|
строки |
рицы |
|
|
|
|
строки |
|
|
|||
1 |
|
Поиск заданного элемента |
4 |
14 |
|
Сумма четных |
5 |
||||||||
2 |
|
|
Поиск максимума |
5 |
15 |
|
Сумма нечетных |
6 |
|||||||
3 |
|
|
Поиск минимума |
6 |
16 |
|
Произведение четных |
7 |
|||||||
4 |
|
|
|
Сумма |
7 |
17 |
|
Произведение нечетных |
4 |
||||||
5 |
|
|
|
Произведение |
4 |
18 |
|
Квадрат первого элемента |
5 |
||||||
6 |
|
|
|
Среднее |
5 |
19 |
|
Квадрат последнего |
6 |
||||||
7 |
|
|
Квадратный корень из |
6 |
20 |
|
Сумма квадратов |
7 |
|||||||
|
|
|
|
суммы модулей |
|
|
|
|
|
|
|
|
|
|
|
8 |
|
Поиск первого четного |
7 |
21 |
|
Сумма квадратов четных |
4 |
||||||||
9 |
|
Поиск первого нечетного |
4 |
22 |
|
Сумма квадратов нечетных |
5 |
||||||||
10 |
|
Поиск первого элемента, |
5 |
23 |
|
Поиск элемента, кратного |
6 |
||||||||
|
|
|
|
кратного трем |
|
|
|
|
трем и пяти |
|
|
||||
11 |
|
Поиск первого элемента, |
6 |
24 |
|
Поиск заданного элемента |
7 |
||||||||
|
|
|
|
кратного пяти |
|
|
|
|
|
|
|
|
|
|
|
12 |
|
Поиск первого элемента, |
7 |
25 |
|
Поиск максимума |
4 |
||||||||
|
|
|
|
кратного семи |
|
|
|
|
|
|
|
|
|
|
|
13 |
|
|
Квадратный корень из |
4 |
|
|
|
|
|
|
|
|
|
||
|
|
|
суммы квадратов |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 4 |
|
|
|
|
Задания к лабораторной работе № 5 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
№ вар. |
|
А, Б |
|
M, N |
|
|
|
№ вар. |
|
|
А, Б |
|
M, N |
||
1 |
|
|
|
3, 1 |
|
4, 20 |
|
|
|
14 |
|
8,2 |
|
5,25 |
|
2 |
|
|
|
4, 2 |
|
5, 20 |
|
|
|
15 |
|
8,3 |
|
6,30 |
|
3 |
|
|
|
5, 2 |
|
6, 20 |
|
|
|
16 |
|
8,4 |
|
7,28 |
|
4 |
|
|
|
3, 2 |
|
7, 25 |
|
|
|
17 |
|
4, 3 |
|
8,30 |
|
5 |
|
|
|
4, 1 |
|
4, 21 |
|
|
|
18 |
|
4,2 |
|
6,15 |
|
6 |
|
|
|
5, 1 |
|
5, 22 |
|
|
|
19 |
|
4,1 |
|
6,34 |
|
7 |
|
|
|
6, 1 |
|
6, 26 |
|
|
|
20 |
|
7,5 |
|
7,18 |
|
8 |
|
|
|
6, 2 |
|
7, 24 |
|
|
|
21 |
|
8,4 |
|
4,24 |
|
9 |
|
|
|
6, 3 |
|
4, 12 |
|
|
|
22 |
|
5,4 |
|
5,56 |
|
10 |
|
|
6, 4 |
|
5, 25 |
|
|
|
23 |
|
7,2 |
|
7,23 |
||
11 |
|
|
5, 2 |
|
6, 34 |
|
|
|
24 |
|
7,3 |
|
6,45 |
||
12 |
|
|
5, 3 |
|
7, 35 |
|
|
|
25 |
|
7,1 |
|
6,78 |
||
13 |
|
|
7, 4 |
|
4, 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 5 |
|
|
|
|
Задания к лабораторной работе № 6 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
№ вар. |
|
M, N,K |
|
№ вар. |
|
|
|
M, N, K |
|
|
№ вар. |
|
M, N, K |
||
1 |
|
|
|
4, 20, 40 |
|
9 |
|
|
|
4, 12,60 |
|
17 |
8,16,30 |
||
2 |
|
|
|
5, 20, 50 |
|
10 |
|
|
|
5, 7,60 |
|
18 |
6,15,40 |
||
3 |
|
|
|
10, 20, 40 |
|
11 |
|
|
|
6, 14, 40 |
|
19 |
16,14,50 |
||
4 |
|
|
|
15, 25,60 |
|
12 |
|
|
|
7, 8,30 |
|
20 |
17,18,100 |
||
5 |
|
|
|
22, 21,50 |
|
13 |
|
|
|
4, 8,40 |
|
21 |
14,24,100 |
||
6 |
|
|
|
16, 22,40 |
|
14 |
|
|
|
5,25,50 |
|
22 |
15,15,40 |
||
7 |
|
|
|
6, 26,50 |
|
15 |
|
|
|
6,12,40 |
|
23 |
17,23,50 |
||
8 |
|
|
|
7, 24, 40 |
|
16 |
|
|
|
7,15,40 |
|
24 |
16,25,50 |
||
34
|
Таблица 6 |
|
|
Задания к лабораторной работе № 7 |
|
|
|
|
№ вар. |
Операция |
N |
|
|
|
1 |
Выдача первой позиции в строке s1, в которой встретился любой символ из строки s2 |
10 |
|
|
|
2 |
Расширение записей вида a-z в строке s1 в соответствующий список abc…xyz в строке s2 |
12 |
|
|
|
3 |
Выдача позиции самого правого вхождения строки t в строку s |
14 |
|
|
|
4 |
Замена каждой строки, содержащей более одного пробела, одним пробелом |
15 |
|
|
|
5 |
«Переворачивание» строки s |
9 |
|
|
|
6 |
Получение строки s, состоящей из символов, принадлежащих одновременно строкам s1 и s2 |
6 |
|
|
|
7 |
Замена всех троек пробелов в строке одним символом |
8 |
|
|
|
8 |
Получение строки s, состоящей из символов строки s1, имеющих в ней нечетные позиции, и символов |
7 |
|
строки s2, имеющих в ней четные позиции |
|
|
|
|
9 |
Поиск последнего вхождения подстроки s в строку s1 |
5 |
|
|
|
10 |
Замена в строке s подстроки, начинающейся с определенной позиции, на заданную подстроку |
4 |
|
|
|
11 |
Замена всех пар одинаковых символов в строке одним символом |
3 |
|
|
|
12 |
Подсчет числа вхождений подстроки s1 в строку s |
13 |
|
|
|
13 |
Сравнение строк s1 и s2 |
6 |
|
|
|
14 |
Выдача первой подстроки, которая встречается в строках s1 и s2 |
5 |
|
|
|
15 |
Удаление хвостовых пробелов и табуляций у каждой вводимой строки |
7 |
|
|
|
16 |
Проверка введенной строки на наличие в ней непарных круглых и квадратных скобок |
17 |
|
|
|
17 |
Замена всех пар, троек и т.д. одинаковых символов строки s на один символ |
12 |
|
|
|
18 |
Слияние первой и второй четвертей двух строк s1 и s2 соответственно в строку s |
13 |
|
|
|
19 |
Удаление из строки s символов, встречающихся не менее одного раза в строке s1 |
11 |
|
|
|
20 |
Выдача последней позиции в строке s, в которой встретился заданный символ |
8 |
|
|
|
21 |
Поочередное копирование символов из строк s1 и s2 в строку s |
3 |
|
|
|
22 |
Слияние первой и второй половин строк s1 и s2 соответственно в строку s |
8 |
|
|
|
23 |
Разбиение строки s на две подстроки s1 и s2 следующим образом: подстрока s1 образуется из всех |
6 |
|
нечетных символов s; подстрока s2 - из оставшихся символов s |
|
|
|
|
24 |
Слияние второй и первой половин строк s1 и s2 соответственно в строку s |
7 |
|
|
|
35
Журавлева Марина Гарриевна
Изучение Windows API
Методические указания к лабораторным работам по курсам «Операционные системы»
и «Операционные системы и оболочки»
|
Редактор М. Ю. Болгова |
|
Подписано в печать |
Формат 60х84 1/16. Бумага офсетная. Ризография. |
|
Печ.л. 2,2. Тираж 85 экз. Заказ N |
. |
|
Издательство Липецкого государственного технического университета. Полиграфическое подразделение Издательства ЛГТУ.
398600 Липецк, ул. Московская, 30.
36
