ОС1/Септембар 2014 — разлика између измена
м (→5. zadatak: Rešenje već postoji) |
м (Formatiranje) |
||
Ред 7: | Ред 7: | ||
=== Rešenje === | === Rešenje === | ||
Multiprocesni | Multiprocesni operativni sistem je operativni sistem koji podržava izvršavanje više procesa uporedo (nad istim procesorom). | ||
Multiprocesorski sistem je računarski sistem sa više procesora koji imaju deljenu memoriju. Procesori mogu da pristupaju toj deljenoj memoriji preko zajedničke magistrale na koju su povezani. | Multiprocesorski sistem je računarski sistem sa više procesora koji imaju deljenu memoriju. Procesori mogu da pristupaju toj deljenoj memoriji preko zajedničke magistrale na koju su povezani. | ||
Ред 16: | Ред 16: | ||
=== Rešenje === | === Rešenje === | ||
Videti [[ОС1/Јануар 2013#2. zadatak|2. zadatak iz januarskog roka 2013. godine]]. | |||
== 3. zadatak == | == 3. zadatak == | ||
=== Postavka === | === Postavka === | ||
Na | Na jeziku C, korišćenjem sistemskih poziva <code>fork()</code> i <code>execlp()</code> za Unix, napisati program koji pokreće drugi program iz fajla čiji je naziv zadat kao parametar komandne linije prvog programa. | ||
=== Rešenje === | === Rešenje === | ||
Videti [[ОС1/Јун 2021#4. zadatak|4. zadatak iz junskog roka 2021. godine]]. | |||
== 4. zadatak == | == 4. zadatak == | ||
=== Postavka === | === Postavka === | ||
Korišćenjem | Korišćenjem standardnih brojačkih semafora u školskom jezgru, na jeziku C++ napisati globalne deklaracije i inicijalizacije, kao i kod tela dve uporedne niti A i B koje ciklično rade sledeće: | ||
* A: upisuje vrednost u deljene promenljive x i y, a zatim čeka da proces B upiše zbir x i y u promenljivu z čiju vrednost onda ispisuje na standardni izlaz; | |||
A: | * B: čeka da proces A upiše vrednosti u deljene promenljive x i y, zatim ove dve vrednosti sabira i zbir upisuje u deljenu promenljivu z. | ||
B: | |||
=== Rešenje === | === Rešenje === | ||
Videti [[ОС1/Јун 2021#5. zadatak|5. zadatak iz junskog roka 2021. godine]]. | |||
# | |||
== 5. zadatak == | == 5. zadatak == | ||
Ред 99: | Ред 43: | ||
== 6. zadatak == | == 6. zadatak == | ||
=== Postavka === | === Postavka === | ||
Navesti | Navesti najmanje tri sličnosti (npr. zajednički zahtevi, ograničenja ili problemi) između kontinualne alokacije memorije i segmentne alokacije memorije procesa. | ||
=== Rešenje === | === Rešenje === | ||
# | # Operativni sistem mora da organizuje i održava strukturu podataka za evidenciju slobodnih fragmenata | ||
# | # Operativni sistem mora da sprovodi neku od tehnika dinamičke alokacije | ||
# | # Problem eksterne fragmentacije | ||
== 7. zadatak == | == 7. zadatak == | ||
=== Postavka === | === Postavka === | ||
Kojom | Kojom tehnikom se nedeljivi uređaj može učiniti virtuelno deljivim? Navesti klasičan primer takvog uređaja za koji se najčešće primenjuje ova tehnika. | ||
=== Rešenje === | === Rešenje === | ||
Videti [[ОС1/Јун 2021#6. zadatak|6. zadatak iz junskog roka 2021. godine]]. | |||
== 8. zadatak == | == 8. zadatak == | ||
=== Postavka === | === Postavka === | ||
U | U fajl podsistemu nekog operativnog sistema ne vodi se tabela otvorenih fajlova za svaki proces, već postoji samo jedna globalna tabela otvorenih fajlova za ceo sistem. Drugim rečima, ne postoji nikakva informacija o upotrebi otvorenog fajla lokalna (privatna) za pojedinačni proces, već su sve takve informacije globalno deljene. Da li pojam pokazivača trenutne lokacije (kurzora) za čitanje/upis u fajl ima smisla čuvati u globalnoj tabeli otvorenih fajlova i zašto? | ||
=== Rešenje === | === Rešenje === | ||
Ne, jer više različitih procesa mogu imati različitu vrednost kurzora. | |||
== 9. zadatak == | == 9. zadatak == | ||
=== Postavka === | === Postavka === | ||
Dati | Dati procenu kompleksnosti datih operacija sa direktorijumom u odnosu na broj postojećih fajlova ''n'' u direktorijumu, za navedene implementacije direktorijuma, ukoliko u slučaju hash tabele nema nijedne kolizije. | ||
=== Rešenje === | === Rešenje === | ||
Ред 129: | Ред 73: | ||
== 10. zadatak == | == 10. zadatak == | ||
=== Postavka === | === Postavka === | ||
Neki | Neki fajl sistem koristi indeksirani pristup alokaciji fajlova sa indeksima u dva nivoa, blokom veličine 256KB i 64-bitnim adresama fizičkih blokova. Kolika je maksimalna veličina fajla u ovom sistemu? | ||
=== Rešenje === | === Rešenje === | ||
Broj ulaza: 256KB | * Broj ulaza: <math>\frac{256KB}{8B} = 2^{15}</math> | ||
* Maksimalna veličina fajla: <math>2^{15} \cdot 2^{15} \cdot 2^{18} = 2^{48}</math> | |||
Maksimalna veličina fajla: 2^15 | |||
[[Категорија:Рокови]] | [[Категорија:Рокови]] | ||
[[Категорија:ОС1]] | [[Категорија:ОС1]] |
Верзија на датум 19. јул 2022. у 22:43
1. zadatak
Postavka
Šta je multiprocesni, a šta multiprocesorski operativni sistem?
Rešenje
Multiprocesni operativni sistem je operativni sistem koji podržava izvršavanje više procesa uporedo (nad istim procesorom).
Multiprocesorski sistem je računarski sistem sa više procesora koji imaju deljenu memoriju. Procesori mogu da pristupaju toj deljenoj memoriji preko zajedničke magistrale na koju su povezani.
2. zadatak
Postavka
Korišćenjem operacije yield(PCB* old, PCB* new)
koja čuva kontekst izvršavanja prvog i restaurira kontekst izvršavanja drugog datog procesa, implementirati operaciju wait na semaforu koji je realizovan klasom Semaphore
poput one u školskom jezgru.
Rešenje
Videti 2. zadatak iz januarskog roka 2013. godine.
3. zadatak
Postavka
Na jeziku C, korišćenjem sistemskih poziva fork()
i execlp()
za Unix, napisati program koji pokreće drugi program iz fajla čiji je naziv zadat kao parametar komandne linije prvog programa.
Rešenje
Videti 4. zadatak iz junskog roka 2021. godine.
4. zadatak
Postavka
Korišćenjem standardnih brojačkih semafora u školskom jezgru, na jeziku C++ napisati globalne deklaracije i inicijalizacije, kao i kod tela dve uporedne niti A i B koje ciklično rade sledeće:
- A: upisuje vrednost u deljene promenljive x i y, a zatim čeka da proces B upiše zbir x i y u promenljivu z čiju vrednost onda ispisuje na standardni izlaz;
- B: čeka da proces A upiše vrednosti u deljene promenljive x i y, zatim ove dve vrednosti sabira i zbir upisuje u deljenu promenljivu z.
Rešenje
Videti 5. zadatak iz junskog roka 2021. godine.
5. zadatak
Postavka
Šta je osnovni razlog za to da linker obavlja zadatak u dva prolaza? Precizno objasniti.
Rešenje
Videti rešenje 5. zadatka iz jula 2017. godine.
6. zadatak
Postavka
Navesti najmanje tri sličnosti (npr. zajednički zahtevi, ograničenja ili problemi) između kontinualne alokacije memorije i segmentne alokacije memorije procesa.
Rešenje
- Operativni sistem mora da organizuje i održava strukturu podataka za evidenciju slobodnih fragmenata
- Operativni sistem mora da sprovodi neku od tehnika dinamičke alokacije
- Problem eksterne fragmentacije
7. zadatak
Postavka
Kojom tehnikom se nedeljivi uređaj može učiniti virtuelno deljivim? Navesti klasičan primer takvog uređaja za koji se najčešće primenjuje ova tehnika.
Rešenje
Videti 6. zadatak iz junskog roka 2021. godine.
8. zadatak
Postavka
U fajl podsistemu nekog operativnog sistema ne vodi se tabela otvorenih fajlova za svaki proces, već postoji samo jedna globalna tabela otvorenih fajlova za ceo sistem. Drugim rečima, ne postoji nikakva informacija o upotrebi otvorenog fajla lokalna (privatna) za pojedinačni proces, već su sve takve informacije globalno deljene. Da li pojam pokazivača trenutne lokacije (kurzora) za čitanje/upis u fajl ima smisla čuvati u globalnoj tabeli otvorenih fajlova i zašto?
Rešenje
Ne, jer više različitih procesa mogu imati različitu vrednost kurzora.
9. zadatak
Postavka
Dati procenu kompleksnosti datih operacija sa direktorijumom u odnosu na broj postojećih fajlova n u direktorijumu, za navedene implementacije direktorijuma, ukoliko u slučaju hash tabele nema nijedne kolizije.
Rešenje
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
10. zadatak
Postavka
Neki fajl sistem koristi indeksirani pristup alokaciji fajlova sa indeksima u dva nivoa, blokom veličine 256KB i 64-bitnim adresama fizičkih blokova. Kolika je maksimalna veličina fajla u ovom sistemu?
Rešenje
- Broj ulaza:
- Maksimalna veličina fajla: