ОС1/Јул 2015

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Zadaci na stranici predmeta.

1. zadatak

Postavka

Šta je multiprocesorski, a šta distribuirani računarski sistem?

Rešenje

Videti prvi zadatak iz julskog roka 2012. godine.

2. zadatak

Postavka

Na asembleru nekog zamišljenog dvoadresnog RISC procesora sa load/store arhitekturom napisati prevod sledeće rekurzivne C funkcije:

int f (int n) {
  if (n <= 1) return 1;
  else return f(n - 1) + f(n - 2);
}

Rešenje

Videti zadatak iz julskog roka 2014.

3. zadatak

Postavka

Korišćenjem školskog jezgra napisati kod koji omogućava da se kreira nit sa celobrojnim parametrom n. Ako je n manje ili jednako 0, ova nit samo ispisuje pozdravnu poruku i završava se. U suprotnom, ova nit će (rekurzivno) kreirati istu takvu nit, ali sa parametrom n-1.

Rešenje

class MyThread : public Thread {
    public:
        MyThread(int val) {
            n = val;
            start();
        }
    protected:
        void run() {
            if (n <= 0) {
                printf("Hello");
            } else {
                new MyThread(n - 1);
            }
        }
    private:
        int n;
};

4. zadatak

Postavka

Navesti koja su to dva osnovna modela (paradigme) međuprocesne komunikacije.

Rešenje

Deljena promenljiva/objekat/podatak i razmena poruka.

5. zadatak

Postavka

Navesti bar jednu razliku u načinu funkcionisanja linkera kada kao svoj rezultat pravi .exe i kada pravi .lib.

Rešenje

Kada pravi .exe fajl linker mora da završi posao bez nerazrešenih simbola, a .lib može da ima simbole koje uvozi.

6. zadatak

Postavka

Koja dva parametra procesa čine sastavni deo njegovog memorijskog konteksta, a koristi ih hardver pri preslikavanju adresa kod kontinualne alokacije memorije? Ukratko objasniti njihovo značenje.

Rešenje

Registri base i limit su sastavni deo konteksta procesa. Operativni sistem ih učitava pri promeni konteksta. Relokatibilnost se obezbeđuje dinamičkim preslikavanjem sa base registrom. Limit registar obezbeđuje zaštitu operativnog sistema od korisničkih procesa i procesa između sebe.

7. zadatak

Postavka

Virtuelna memorija organizovana je stranično, sa straničenjem u tri nivoa. Vreme pristupa operativnoj memoriji je 50 ns, a TLB-u 10 ns. Procenat pogotka u TLB je 90%. Koliko je efektivno vreme pristupa memoriji?

Rešenje

8. zadatak

Postavka

Navesti bar tri vrste usluga vezanih za realno vreme koje uobičajeno nude operativni sistemi.

Rešenje

  1. Čitanje tekućeg datuma i vremena
  2. Vreme proteklo između 2 događaja
  3. Pokretanje datu operaciju u zadato vreme

9. zadatak

Postavka

Izvod iz jednog uputstva za Unix fajl sistem i dodelu prava pristupa fajlu iz komandne linije:

To change the mode of a file, use the chmod command. The general form is chmod X@Y file1 file2 ... where: X is any combination of the letters 'u' (for owner), 'g' (for group), 'o' (for others), 'a' (for all; that is, for 'ugo'); @ is either '+' to add permissions, '-' to remove permissions, or '=' to assign permissions absolutely; and Y is any combination of 'r', 'w', 'x'.

Na primer, komanda chmod u=rx file daje vlasniku prava rx, ali ne i pravo w.

Napisati komande koje za dati fajl postavljaju prava na sledeći način:

Rešenje

  1. Grupi i ostalima dodaju prava na rw, ali ne i na x: chmod go+rw file
  2. Svima oduzimaju pravo na upis: chmod a-w file

10. zadatak

Postavka

Neki fajl sistem podržava kombinovano indeksiran pristup alokaciji fajlova, pri čemu FCB sadrži 512 ulaza sa direktnim indeksom (sadrže brojeve blokova za podatke). Ako sadržaj fajla preraste veličinu koju podržava ovaj indeks nultog nivoa, za blokove preko te veličine postoji indeks prvog nivoa sa 512 ulaza u FCB; svaki od tih ulaza sadrži pokazivač na indeks drugog nivoa u kome je po 512 ulaza sa pokazivačima na blokove sa sadržajem. Koliki je maksimalni kapacitet fajla u blokovima? (Odgovor dati kao izraz.)

Rešenje