|
N |
S |
P |
|
1 |
1 |
1 |
|
2 |
1 |
2 |
|
3 |
1 |
3 |
|
4 |
1 |
4 |
|
5 |
1 |
5 |
|
6 |
1 |
6 |
|
7 |
2 |
1 |
|
8 |
2 |
2 |
|
9 |
2 |
3 |
|
10 |
2 |
4 |
|
11 |
2 |
5 |
|
12 |
2 |
6 |
|
13 |
3 |
1 |
|
14 |
3 |
2 |
|
15 |
3 |
3 |
|
16 |
3 |
4 |
|
17 |
3 |
5 |
|
18 |
3 |
6 |
|
19 |
4 |
1 |
|
20 |
4 |
2 |
|
21 |
4 |
3 |
|
22 |
4 |
4 |
|
23 |
4 |
5 |
|
24 |
4 |
6 |
3. Создание, уничтожение и управление потоками в QNX Neutrino
Запускается th1 и th2. th1 запускает th2(создается в соответствии с Z) и анализирует, в случае если это необходимо информацию th2, который в свою очередь должен вернуть:
S1 ProcessName
S2 UID
S3 GID
S4 PID
S5 PPID
S6 Process Priority
P1 Joinable
P2 Detached
Z1 4 KbStack
Z2 64 KbStack
Если тип запускаемы потоков P2, то анализировать состояние потоков вы не можете, в этом случае
S1 вывести на консоль собственный TID
S2 сравнить собственный TID с TID родителя
S3 запретить уничтожение th2, затем разрешить его и уничтожить th2
S4 установить деструктор потока как указатель на функцию, которая выводит «I`am killed»
S5 Установить тип завершения th2 отсроченное
S6 Установить тип завершения th2 асинхронное
|
N |
S |
P |
Z |
|
1 |
1 |
1 |
1 |
|
2 |
1 |
1 |
2 |
|
3 |
1 |
2 |
1 |
|
4 |
1 |
2 |
2 |
|
5 |
2 |
1 |
1 |
|
6 |
2 |
1 |
2 |
|
7 |
2 |
2 |
1 |
|
8 |
2 |
2 |
2 |
|
9 |
3 |
1 |
1 |
|
10 |
3 |
1 |
2 |
|
11 |
3 |
2 |
1 |
|
12 |
3 |
2 |
2 |
|
13 |
4 |
1 |
1 |
|
14 |
4 |
1 |
2 |
|
15 |
4 |
2 |
1 |
|
16 |
4 |
2 |
2 |
|
17 |
5 |
1 |
1 |
|
18 |
5 |
1 |
2 |
|
19 |
5 |
2 |
1 |
|
20 |
5 |
2 |
2 |
|
21 |
6 |
1 |
1 |
|
22 |
6 |
1 |
2 |
|
23 |
6 |
2 |
1 |
|
24 |
6 |
2 |
2 |
S1 fork() – exec()
S2 vfork() – exec()
S3 spawn*()
S4 system()
P1 Неименованные программные каналы
P2 Именованные программные каналы
P3 Разделяемая память
P4 Именованные семафоры
P5 Неименованные семафоры
P6 Очереди сообщений POSIX
|
N |
S |
P |
|
1 |
1 |
1 |
|
2 |
1 |
2 |
|
3 |
1 |
3 |
|
4 |
1 |
4 |
|
5 |
1 |
5 |
|
6 |
1 |
6 |
|
7 |
2 |
1 |
|
8 |
2 |
2 |
|
9 |
2 |
3 |
|
10 |
2 |
4 |
|
11 |
2 |
5 |
|
12 |
2 |
6 |
|
13 |
3 |
1 |
|
14 |
3 |
2 |
|
15 |
3 |
3 |
|
16 |
3 |
4 |
|
17 |
3 |
5 |
|
18 |
3 |
6 |
|
19 |
4 |
1 |
|
20 |
4 |
2 |
|
21 |
4 |
3 |
|
22 |
4 |
4 |
|
23 |
4 |
5 |
|
24 |
4 |
6 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.