fv
jak będą realizowane powyższe Żądania dostępu do stron. Kiedy wystąpi błąd braku strony i jak wygląda przydział Stron do ramek? Przemyślenia zapisz w tabeli przedstawionej poniZcj.
Pytanie 4 ffl 5 nunktul:
Omów pojęcie semafora i podstawowe operacje na nim. Wykorzystaj semafor do rozwiązania problemu wzajemnego wykluczania w
wersji dla n procesów.
Pytanie 5 ri.O punkt):
Rozwal tabelę przedstawioną poniżej. Określ sumaryczny C2as wykonania każdego Z procesów (od rozpoczęcia do definitywnego zakończenia) w przypadku zastosowania rotacyjnego (Round Robin) z trwaniem czasu równym 4 jednostki czasu. Zaló2, że jeśli przybywa nowy proces, to umiszczany jest na czele kolejki procesów gotowych. Jeśli proces przybywa w chwili, której jednocześnie powinno nastąpić przełączenie kontekstu, nowy proces zostanie najpierw umieszczony na czele kolejki procesów gotowych, a dopiero ^ polem następuje przełączenie. W przypadku, gdy więcej niż jeden proces spełnia warunki algorytmu, wybierz proces o najmniejszym ( J J identyfikatorze. Przedstaw swoje obliczenia.
j Proces ID ' • |
1 . Czas'przybycia |
'.C.-i Wymagany cyk) CPU Z. |
1 ' 4 |
1 0 |
3 |
■■■3 -u'.' |
2 |
10 |
1 i:.....)' |
4 |
7 |
| 2 ‘ |
A |
6 |
0 .. • |
6 |
4 |
_ _ '>'> ,,f.
" ZalóZmy. Ze ponumerowaliśmy cylindry 40-cio cyindrówego dysko od Ó do 39 tak. Ze cylinder 0 jest najbardziej zewnętrzy. zaś .!9 -najbardziej wewnętrzny (bliski osi obrotu dysku). W chwili, gdy głowice dysku znajdują się nad cylindrem !9 napływają zamówienia dostępu do cylindrów w kolejności: 0,39.1,18,20,0,39,10. Oblicz całkowitą liczbę przejść nad cylindrami dla następujących algorytmów planowania dostępu do dysku:
Pytonie 6 (0 51 punktu):
i
(a) FCFS
fb) SJTF (c)SCAN (d) C-SCAN
Pytanie 7 10.5 punktu):
Co to jest zbiór roboczy! Co rozumiesz pod pojęciem szamotania'? Jak wyznacza się zbiór roboczy? Podaj przykład. Co oba pojęcia mają ze sobą wspólnego1’
Pytanie 8 {1.0) punktu);
Rozważmy zdefiniowany ponżej procesy, pracujący pod kontrolą systemu Linux. Wyjaśnij co dzieje się po jego uruchomieniu? Ile utworzonych zostanie procesów? Co każdy z nich robi? Odpowiedzi uzasadnij, analizując przedstawiony poniżej kod.
irinclude <stdio.h>
#include <unistd.h> tfinclude <sys/types.h> int main(void)
{
int fd[21, nbytes; pid_t chtldpid;
char stringf] ~ "Hello, wor!d!\n": char readbuffer[80];
pipe(fd); //iwow-y l«,4Ze e
if((childpid = forkQ) =-•-]) // •/j^on.yu.y
{ ywttS yo+ołnfjy
penror("fork"); j( i lt’ nu k-yJtL
H u ił i 'Y-
aJ po kv w- ^
if(childpid = 0)
{
close(fd[0]); •< k-CMSlyp-^^y I ^ C 2 e O1
write(fd[l], string, strien(string)}; exit(0); » 7 • i 7
}
else
close(fdfij); // 2.a.nw>k«.n»y
nbytes = read(fd[0j, readbuffer, ,, /
sizeof(readbuffer)); ćlsft-^i^y printf(’' Odebrano łańcuch: %$", readbuffer); * _ '
d'
■fck.ni
+Mlo ui«>t i *1
OaaCK <ly
)
return 0;
}