ОС2/Јануар 2016

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

Zadaci na stranici predmeta.

1. zadatak

Zaokružiti slovo ispred onih karakteristika koje važe za MFQS raspoređivanje procesa u osnovnom/najčešćem obliku.

  1. Za izvršavanje se uzima proces iz prvog sledećeg nepraznog reda u odnosu na onaj iz kog je prethodno uzet proces za izvršavanje (po round-robin politici)
  2. Za izvršavanje se uzima proces iz nepraznog reda najvišeg prioriteta, a unutar njega po round-robin politici
  3. Procesu iz reda višeg prioriteta daje se kraći interval vremena izvršavanja
  4. Procesu iz reda višeg prioriteta daje se duži interval vremena izvršavanja
  5. Proces koji ponovo postaje spreman nakon I/O operacije smešta se u red nižeg prioriteta od onog iz koga je taj proces prethodno uzet za izvršavanje
  6. Proces koji ponovo postaje spreman nakon I/O operacije smešta se u red višeg prioriteta od onog iz koga je taj proces prethodno uzet za izvršavanje.

2. zadatak

Postavka

Na jeziku Java napisati kod za monitor koji realizuje standardni brojački semafor.

Rešenje

public class Semaphore {
	private int count;
	
	public synchronized void waitx() {
		while (--count < 0)
			try {
				wait();
			} catch (InterruptedException e) {}
		
	}
	
	public synchronized void signal() {
		if (++count <= 0) notifyAll();
	}

}

3. zadatak

Postavka

Da li serverski osluškivač (engl. listener) na istoj serverskoj priključnici (engl. socket) može uporedo da obavlja komunikaciju sa više klijenata? Ako može, na koji način?

Rešenje

Može, tako što klijentu odredi neki drugi port na kom treba da uspostavi priključnicu sa serverom i onda komunicira sa njim u odvojenoj niti.

4. zadatak

U koji model međuprocesne komunikacije (shared object ili message passing) spada tehnika:

  1. veb servisa (Web service) message passing
  2. razmene podataka preko memorijski preslikanog fajla (memory-mapped file) shared object

5. zadatak

Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.

Postavka

U nekom sistemu postoje dva procesa, P1 i P2, koji koriste resurse R1, R2 i R3 na način dat dole. Pretpostavlja se da odmah nakon operacije zauzeća određenih resursa dati proces vrši operacije sa tim resursom, odnosno da je proces ovako konstruisan da bi resurse držao zauzete najmanje moguće (alocira ih najkasnije što može, pre same operacije). Prestrukturirati ove procese tako da se spreči njihova mrtva blokada (deadlock) ukidanjem uslova cirkularnog čekanja (circular wait). Prestrukturiranje podrazumeva da proces može da zauzme resurs i ranije nego što je to neophodno za operaciju sa tim resursom, ali ne pre nego što je neophodno za sprečavanje mrtve blokade.

P1:
request(R1);
request(R2, R3);
release(R1, R2, R3);
P2:
request(R2);
request(R1, R3);
release(R1, R2, R3);

Rešenje

6. zadatak

Postavka

Data je sledeća sekvenca referenciranja stranica od strane nekog procesa: 3, 2, 6, 8, 5, 6, 9, 8, 2, 6, 4, 9, 3, 6, 7, 9, 8, 6, 7, 8 Procesu su dodeljena 4 okvira, zamena se vrši lokalno, samo u skupu stranica dodeljenih tom procesu, a inicijalno nije učitana nijedna stranica ovog procesa. Koliko puta ovaj proces generiše straničnu grešku (page fault) ako je algoritam zamene stranica LRU?

Rešenje

Odgovor: 12

7. zadatak

Postavka

Koji osnovni problem alokacije memorije rešava slab alokator?

Rešenje

Slab alokator rešava problem fragmentacije, pošto se objekti iste veličine smeštaju u tačno dimenzionisane odeljke.

8. zadatak

Postavka

Na kom disku 0 do 15 se nalazi logički blok broj 67 (blokovi su numerisani počev od 0) kod strukture RAID5 / 4+1 (na svaka 4 bloka 1 blok parnosti)?

Rešenje

Ako ima 16 diskova i redom se distribuiraju blokovi na 4 i onda se jedan koristi kao blok parnosti, to znači da je do 67. bloka bilo 67 / 4 = 16 blokova za parnosti. Bez njih, 67. blok bi bio na 3. disku, ali je do tad bilo još 16 za parnost. (67 % 16 + 16)% 16 = 3, što znači da je 67. blok na 3. disku.

9. zadatak

Postavka

Isti zadatak se našao i na januarskom roku iz 2022.

Ukratko objasniti šta je .Net CLR.

Rešenje

Common Language Runtime (CLR) je komponenta virtuelne mašine koja pokreće .NET programe.

10. zadatak

Postavka

Navesti osnovne slojeve arhitekture Android sistema i kratko navesti šta koji sloj predstavlja-sadrži.

Rešenje

  • Linux kernel - sadrži drajvere, kontrolu napajanja, alokaciju memorije itd.
  • Biblioteke - napisane u C/C++ i služe programima na sloju aplikacija preko JNI (Java Native Interface)
  • Android Runtime - okruženje koje sadrži virtuelnu mašinu koja izvršava programe
  • Application Framework - sadrži Java aplikacije i servise koje služe sloju aplikacija
  • Sloj aplikacija - sadrži korisničke aplikacije