- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Завдання 4
- •Завдання 9
- •Завдання 10
- •Завдання 11
- •Завдання 12
- •Завдання 13
- •Завдання 14
- •Завдання 15
- •Завдання 16
- •Завдання 17
- •Завдання 18
- •Завдання 19
- •Завдання 20
- •Завдання 21
- •Завдання 22
- •Завдання 23
- •Завдання 24
- •Завдання 25
- •Завдання 26
- •Завдання 27
- •Завдання 28
Завдання 26
Текст завдання: Що буде надруковано в результаті виконання наведеного прикладу програми?
1 main() 2 { 3 int var = 5; 4 if(fork()) wait(&var); 5 var++; 6 printf("%d\n",var); 7 return var; 8 } |
Завдання 27
Текст завдання: Скільки копій змінної var буде створено при виконанні наведеного фрагмента програми? Які значення вони отримають в результаті?
1 main() 2 { 3 int pid = fork(); 4 int var = 5; 5 if(pid == 0) var += 5; 6 else 7 { 8 pid = fork() 9 var += 10; 10 if(pid) var += 5; 11 } 12 } |
Завдання 28
Текст завдання: Одна з редакцій системи UNIX для розрахунку пріоритетів при переключенні процесів застосовує формули: decay(ВЦП) = min (пороговий пріоритет, ВЦП-10); пріоритет = ВЦП/10 + (базовий рівень пріоритету); де ВЦП – рівень використання центрального процесору. Заповніть схему диспетчеризації процесів в системі протягом перших п'яти квантів з розрахунком пріоритетів процесів, та вкажіть процес, який буде активним на кожному кванті. Довжина кванта = 1 сек. За цей час таймер надсилає до системи 60 переривань. Кількість процесів у системі дорівнює трьом (A, B, C). В перший квант часу запускається процес А. Всі процеси у системі створюються з пріоритетом 60 (порогове значення). |