init commit

This commit is contained in:
2025-04-13 21:48:15 +03:00
commit 23255e9121
192 changed files with 12200 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
Что будет выведено на экран? Прокомментировать, почему? Если возможны несколько вариантов – привести все. Предполагается, что
обращение к функции вывода на экран прорабатывает атомарно и без буферизации. Все системные вызовы прорабатывают успешно.
Подключение заголовочных файлов опущено.
int main() {
int pid;
int fd[2];
char c = 'a';
pipe(fd);
if( (pid = fork()) > 0 ) {
read(fd[0], &c, 1);
kill(pid, SIGKILL);
wait(NULL);
} else {
putchar(c);
c = 'b';
write(fd[1], &c, 1);
c = 'c';
}
putchar(c);
return 0;
}
(Вес задачи: 2 балла)
Answer:
1) начнётся с a т.к. отец заблокируется на считывании
2) сын записал б в канал, дальше либо отец может отправить его "на убийство", либо сын проработает быстрее. У сына с
3) только после смерти сына отец выведет б
aсб
aб