KIV/OS - Operační systémy
Z FAV wiki
Operační systémy
Soubory Soubory2 - zcu.arcao.com
[editovat] 2012/2013
[editovat] Zadání 4. ledna
- Nakreslit procesy v koleckach, vztahy mezi nimy (rodic, potomek, mladsi sourozenec, starsi sourozenec)
/* U */ if (fork == 0) { /* V */ if (fork == 0) { /* X */ } } if (fork == 0) { /* Y */ }
- Uvedte 3 mozne pripady, kdy muze byt zachycen signal.
int s; main() { ... signal(SIGINT, sig_obsluha) ... while (s == 0) pause(); } sig_obsluha() { signal(SIGINT, sig_obsluha); s = 1; }
- Vypoctete priority procesu A, B, C, D v 1., 2., 3., 4. a 5. vterine. Pocatecni priorita 60, hodiny prerusuji 100x za s, poklesCPU = CPU/2, priorita = poklesCPU/2 + zakladni priorita
- Nakreslit tabulku deskriptoru a odpovidajici objekty VFS
int fd1, fd2, fd3; fd1 = open("/d/f", O_RDONLY); fd2 = open("/d/f", O_RDONLY); if (fork == 0) { fd3 = dup(fd2); }
- Jake hodnoty budou v buf procesu A pri paralelnim behu s procesem B. Uvedte vsechny moznosti.
/* proces A */ main() { int fd; char buf[128]; fd = open("soubor", O_RDONLY); read(fd, buf, sizeof(buf)); read(fd, buf, sizeof(buf)); } /* proces B */ main() { int fd, i; char buf[128]; for (i = 0; i < sizeof(buf), i++) { buf[i] = 'a' } fd = open("soubor, O_WRONLY"); write(fd, buf, sizeof(buf)); write(fd, buf, sizeof(buf)); } Soubor obsahuje 128x u, 128x v
- Adresar obsahuje adresar ad1, soubor maxsoubor, adresar uziv1. Nakreslete obsah adresare v Ext2. Jaky je maximalni pocet polozek adresare a maximalni delka jmena? Nakreslete obsah adresare po smazani souboru maxsoubor.