
- •Сравнение характеристик разных ос.
- •Задание
- •Вопросы коллоквиума.
- •«Наследники» Создание дочерних процессов
- •Задание
- •Вопросы коллоквиума
- •«Трубы» Использование программных каналов
- •Задание
- •Вопросы коллоквиума
- •«На деревню дедушке» Использование очереди сообщений
- •Задание
- •Вопросы коллоквиума
- •«Вспомнить всё» Использование семафоров и разделяемой памяти
- •Задание
- •Вопросы коллоквиума
Задание
В каждую из А (табл. 1) областей разделяемой памяти С серверов пишут по D строк. Один клиент читает и удаляет строки из А области, В клиентов читают и удаляют по Е строк из остальных областей. Отдельный процесс возвращает количество заблокированных процессов на каждом из семафоров и их идентификаторы. Кроме того, он удаляет все семафоры и области памяти.
Вопросы коллоквиума
Что делает системный вызов semget.
Что делает системный вызов semop.
Что делает системный вызов semctl.
Что делает системный вызов shmget.
Что делает системный вызов shmat.
Что делает системный вызов shmdt.
Что делает системный вызов shmctl.
Таблица 1.
№ |
А |
B |
C |
D |
E |
|
№ |
A |
B |
C |
D |
E |
1 |
5 |
4 |
4 |
5 |
2 |
|
41 |
6 |
2 |
8 |
4 |
3 |
2 |
4 |
5 |
5 |
5 |
2 |
|
42 |
5 |
2 |
8 |
3 |
2 |
3 |
4 |
6 |
6 |
4 |
3 |
|
43 |
6 |
2 |
5 |
6 |
3 |
4 |
5 |
4 |
6 |
4 |
2 |
|
44 |
3 |
2 |
8 |
4 |
3 |
5 |
6 |
2 |
5 |
3 |
2 |
|
45 |
6 |
3 |
5 |
5 |
3 |
6 |
4 |
3 |
6 |
3 |
2 |
|
46 |
3 |
3 |
7 |
3 |
2 |
7 |
3 |
2 |
5 |
4 |
4 |
|
47 |
4 |
3 |
6 |
4 |
4 |
8 |
4 |
6 |
8 |
3 |
3 |
|
48 |
5 |
5 |
3 |
6 |
3 |
9 |
4 |
3 |
4 |
3 |
2 |
|
49 |
4 |
3 |
3 |
4 |
4 |
10 |
3 |
2 |
3 |
3 |
3 |
|
50 |
5 |
4 |
8 |
5 |
3 |
11 |
3 |
5 |
5 |
3 |
4 |
|
51 |
4 |
6 |
6 |
6 |
2 |
12 |
4 |
5 |
8 |
5 |
2 |
|
52 |
5 |
5 |
6 |
4 |
4 |
13 |
3 |
2 |
5 |
4 |
4 |
|
53 |
4 |
4 |
9 |
4 |
4 |
14 |
4 |
3 |
7 |
3 |
4 |
|
54 |
6 |
1 |
7 |
4 |
4 |
15 |
5 |
4 |
3 |
3 |
2 |
|
55 |
5 |
4 |
3 |
6 |
2 |
16 |
4 |
1 |
4 |
5 |
3 |
|
56 |
3 |
6 |
7 |
3 |
3 |
17 |
4 |
2 |
6 |
5 |
4 |
|
57 |
6 |
4 |
7 |
3 |
4 |
18 |
3 |
3 |
3 |
6 |
2 |
|
58 |
6 |
4 |
7 |
5 |
2 |
19 |
4 |
3 |
8 |
4 |
3 |
|
59 |
3 |
4 |
8 |
4 |
3 |
20 |
3 |
3 |
9 |
3 |
4 |
|
60 |
3 |
4 |
6 |
4 |
3 |
21 |
5 |
6 |
4 |
3 |
2 |
|
61 |
4 |
2 |
4 |
6 |
2 |
22 |
6 |
4 |
6 |
3 |
2 |
|
62 |
3 |
4 |
6 |
3 |
2 |
23 |
3 |
1 |
5 |
3 |
2 |
|
63 |
4 |
5 |
5 |
3 |
4 |
24 |
4 |
6 |
7 |
5 |
2 |
|
64 |
5 |
2 |
5 |
4 |
2 |
25 |
6 |
3 |
9 |
4 |
2 |
|
65 |
5 |
5 |
9 |
5 |
2 |
26 |
4 |
6 |
3 |
5 |
2 |
|
66 |
4 |
2 |
7 |
5 |
3 |
27 |
4 |
5 |
6 |
4 |
3 |
|
67 |
6 |
2 |
8 |
5 |
3 |
28 |
4 |
4 |
8 |
6 |
2 |
|
68 |
6 |
6 |
7 |
3 |
3 |
29 |
3 |
2 |
8 |
3 |
4 |
|
69 |
3 |
2 |
3 |
3 |
3 |
30 |
5 |
5 |
4 |
3 |
4 |
|
70 |
3 |
3 |
3 |
5 |
3 |
31 |
5 |
5 |
7 |
3 |
4 |
|
71 |
6 |
6 |
6 |
3 |
4 |
32 |
5 |
4 |
4 |
4 |
4 |
|
72 |
3 |
6 |
7 |
5 |
2 |
33 |
3 |
6 |
7 |
4 |
2 |
|
73 |
4 |
5 |
5 |
3 |
4 |
34 |
4 |
3 |
5 |
5 |
2 |
|
74 |
4 |
4 |
5 |
4 |
4 |
35 |
4 |
2 |
4 |
4 |
4 |
|
75 |
4 |
6 |
4 |
4 |
2 |
36 |
5 |
6 |
9 |
2 |
4 |
|
76 |
6 |
5 |
3 |
3 |
2 |
37 |
3 |
4 |
8 |
4 |
3 |
|
77 |
6 |
4 |
8 |
3 |
4 |
38 |
6 |
2 |
9 |
4 |
2 |
|
78 |
6 |
2 |
8 |
3 |
4 |
39 |
5 |
6 |
7 |
3 |
4 |
|
79 |
4 |
3 |
4 |
4 |
4 |
40 |
6 |
5 |
6 |
4 |
3 |
|
80 |
3 |
4 |
3 |
3 |
2 |
Таблица 2.
Серверов (А) |
Количество сообщений типа |
|||||
1 |
2 |
3 |
4 |
5 |
6 |
|
3 |
8 |
7 |
9 |
|
|
|
4 |
2 |
9 |
6 |
8 |
|
|
5 |
5 |
9 |
2 |
4 |
7 |
|
6 |
5 |
7 |
3 |
2 |
8 |
6 |