ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
Лабораторная работа #2
2
ВопросОтветВопросОтвет
3
В чём отличие потока от процесса? эй где вопросы
4
Что за .so файлы в pmapэто динамические библиотеки (shared object)Спрашивает про твои структуры
5
линковка статическая и динамическаязнать что такое GOT (Global Offset Table) и PLT. Чуть-чуть сложноВыделение памяти в ядре
6
Что общего у процесса и потока?есть команда вроде strace -e clone *имя проги* (точно не помню), которая покажет создание потоков и какие флаги передаютсяПро разницу vmalloc|vfree и kmalloc|kfree
7
https://infopedia.su/22x7ef8.htmlэти флаги отвечают за инфу, которая шарится с потоками. По дефолту вроде:Про многопоточку может спокойно спросить
8
CLONE_VM | CLONE_FILES | CLONE_FS | CLONE_SIGHAND | CLONE_THREAD | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID | CLONE_SYSVSEM
9
С помощью этих флагов указываем, какая инфа клонируется. Например CLONE_SIGHAND зачит клонируется обработчик сигналов
10
Что такое TGID, SGID, ...Thread Group ID. У потоков вместе с главным процессом одинаковый TGID.
У главного процесса он совпадает с его PID, у потоков же PID другой
11
Что такое ioctl, как работает?
12
когда поток становится зомби?ZOMBIE - это состояние, когда дочерний процесс освободил ресурсы,
но не может передать статус завершения в родительский процесс (если не был запущен с флагом _SPAWN_NOZOMBIE),
поскольку родитель не ожидает получения этого статуса (не вызвал wait() или waitpid()).
13
File descriptor. Что происходит если в
первом потоке у нас получаест open(filename) = 10,
в вотором потоке используем read(10)
14
Atomic operation
15
Mutex
16
Как поток превратить в процесс
17
как процесс превратить в поток
18
PIC
19
Что такое Guard Pages? Что случится при обращении
по указателю оттуда?
Страницы без прав (задаются в mmap с флагом PROT_NONE) для ограничения доступа из одних сегментов памяти в другие. При попадании туда происходит SEGFAULT, что
приводит к падению программы и сбросу кора на диск (не уверен, что последнее его устроит).
20
Виды взаимодействия процессов
21
TaskStruct
22
Как система обнаруживает нарушение доступа к памяти?
23
Как работает strace?Сходу могу только сказать, что использует системный вызов ptrace и аттачится к существующему или дочернему относительно strace процессу.
24
Что такое дистрибутив? Чем они похожи друг на друга
и отличаются?
25
Какой командой можно без запуска программы узнать
используемые динамические библиотеки?
ldd
26
Что такое виртуальная память? Для чего нужна?
27
Чем процесс отличается от потока? Может ли процесс
создавать потоки и наоборот?
28
Сколько потоков есть при запуске процесса?
29
Что такое TLB?
30
Что такое GOT и PLT, для чего нужны?
31
Чем отличаются статические библиотеки от
динамических?
32
Что означают буквы для потоков в top?
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100