operativni sistemi (etf)

281
Univerzitet u Sarajevu Elektrotehniki fakultet Sarajevo PROGRAMSKA ORGANIZACIJA RAUNARA I OPERATIVNI SISTEMI (interni materijal) mr Nazif Husovi Sarajevo, februar 2004 godine

Upload: nedzad-fejzic

Post on 25-Jun-2015

973 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Operativni sistemi (ETF)

Univerzitet u Sarajevu Elektrotehni�ki fakultet Sarajevo

PROGRAMSKA ORGANIZACIJA RA�UNARA I OPERATIVNI SISTEMI

(interni materijal)

mr Nazif Husovi�

Sarajevo, februar 2004 godine

Page 2: Operativni sistemi (ETF)

Plan rada 1. Uvod u operativne sisteme

Istorijski razvoj operativnih sistema od jednostavnog batch sistema preko multiprogramskih i time-sharing sistema, sistema sa personalnim ra�unarima, paralelnih, distribuiranih i real-time sistema.

2. Struktura ra�unarskog i operativnog sistema Osnovne operacije ra�unarskog sistema, rad sa prekidima, vrste UI prekida, DMA struktura, strukture za smještanje podataka, hijerarhija kod ure�aja za sekundarno smještanje podataka, hardverska zaštita U/I ure�aja, memorije i procesora, softverske komponente operativnig sistema, servisi operativnog sistema, sistemski pozivi i sistemski programi, hijerarhijska struktura operativnog sistema, virutelna mašina i projektovanje operativnog sistema i implementacija.

3. Upravljanje procesima Kocept procesa, stanja procesa, struktura podataka: kontrolni blok procesa, redovi �ekanja procesa, raspore�iva�i procesa, izmjena procesa i izmjena konteksta, operacija nad procesima, thread-ovi, me�uprocesna komunikacija, problem proizvo�a� - potroša�, -ovi, direktna i indirektna komunikacija me�u procesima. Raspore�ivanje procesa na procesor, dispe�er, kriteriji raspore�ivanja, algoritni raspore�ivanja (FIFO, SJF, prioritetno, round robin, višenivoiski redovi �ekanja, raspore�ivanja kod multiprocesorskih sistema), Guntt-ovi dijagrami. Sinhronizacija procesa, problem ograni�enog bafera, kriti�na sekcija, kriti�na sekcija za dva i više procesa, hardverska sinhronizacija, me�usobno isklju�ivanje procesa pomo�u test & set instrukcije, pomo�u swap instrukcije, semafori i opertacije nad semaforima, klasi�ni problemi sinhronizacije, napredne sinhronizacione tehnike: kriti�ni regioni i monitori, konkurentne atomske transakcije u bazama podataka, protokoli zaklju�avanja i protokoli bazirani na vremenskim oznakama

4. Zastoji u ra�unarskom sistemu Definisanje zastoja i problemi koji mogu da proiza�u, predstavljanje povezanosti procesa sa resursima preko grafova, metode za rad sa zastojima, sprije�avanje zastoja, izbjegavanje zastoja, stabilno stanje sistema, algoritam za alokaciju resursa, bankarski algoritam, detekcija zastoja, algoritam detekcije zastoja, oporavak od zastoja

5. Upravljanje memorijom, virtualna memorija Povezivanja podataka i instrukcija u memoriji, dinami�ko punjenje, dinami�ko povezivanje, overley- tehnika, definicija logi�kog i fizi�kog adresnog prostora, jednica za upravljanje memorijom (MMU), Swapping, kontinualna alokacija memorije, problemi kod dinami�ke alokacije memorije, fragmentacija memorije, strani�enje (engl. paging), izra�unavanje efektivne adrese kod strani�enja, implementacija tabele stranica, asocijativni registri, irzra�unavanje efektivnig pristupa memoriji, zaštita memorije, višenivoiska organicacija tabele stranica, invertovana tabela stranica, djeljene stranice, segmentacija, segmentacija sa strani�enjem na primjeru operativnih sistema Multics i OS/2. Viruelna memorija, strani�enje na zahtjev, greška stranice, performanse strani�enja na zahtjev, izmjena stranice, algoritmi zamjene stranica (FIFO, optimalni algoritam, LRU, aproksimativni LRU, fiksna i prioritetna alokacija, zasi�enje sistema, segmentacija na zahtjev

6. Interfejs datote�nog sistema Datote�ni koncept, struktu datoteke, datote�ni atributi, datote�ne operacije, metode pristupa, struktura direktorija, operacije koje se izvode nad datotekama i direktorijima, logi�ka organizacija direktorija, nivoiska organizacija direktorija, zaštita datote�nog sistema, liste pristupa i grupe.

7. Implementacija datote�nog sistema Struktura datote�nog sistema, komponente datote�nog sistema, kontinualna alokacija datoteka, alokacija datotreka preko ulan�ane liste, indeksna alokacija datoteke,

Page 3: Operativni sistemi (ETF)

upravljanje slobodnim prostorom na disku, implementacija direktorija, efikasnost i performase, keširanje diskovnih podataka

8. U/I sistemi U/I hardver, komunikacija sa ure�ajima putem prozivke (engl. polling) i preko prekida, opis ulazno izlaznog ciklusa koji se obavlja preko prekida, DMA, koraci kod izvo�enja DMA, ulazno izlazni interfejs prema aplikacijama, podjela ure�aja prema veli�ini pristupne jedinice, mrežni ure�aji, sistemski sat i broja�i, blokirani i neblokirani U/I i kako se izvodi u jezicima visokog nivoa, kernel i veza sa ulazom/izlazom, rad sa greškama, struktura podataka kernela, U/I zahtjevi za hardverske operacije, životni ciklus U/I zahtjeva, komunikacije me�u ra�unarima, poboljšanje performansi

9. Sistemi za pohranjivanje podataka na periferni medij Struktura diskovnog ure�aja, raspore�ivanje diska, algoritmi za raspore�ivanje glave diska (FIFO, SSFT, SCAN, C-SCAN, C-LOOK), upravljanje swap prostorom, pouzdanost diska, implementacija stabilnog pohranjivanja podataka, struktura medija za tercijalno smještanje podataka (izmjenljivi diskovi, WORM diskovi, trake), upravljanje hijerarhijskom smještanjem podataka, brzina i pouzdanost i cijena.

10. Zaštita ra�unarskog sistema Cilj zaštite, struktura i implementacija domena, matrica pristupa: koriš�enje, implementacija, rad sa pravima pristupa, sistemi bazirani na capabilities, jezi�ki bazirana zaštita, problemi sigurnosti, autentifikacija, prijetnje koje dolaze od programa (trojanski konj, Trap Door), sistemske prijetnje (Worms, virusi), monitorisanje prijetnji sistena, kriptiranje i dekriptiranje, zaštitita baza podataka, zaštita od pristupa sa Interneta i zaštiti ra�unarskih resura.

11. Komparativna analiza nekih operativnih sistema: UNIX, LINUX, WINDOWS NT Literatura koja se preporu�uje studentima: 1. A.Silbershatz, P.Galvin, "Operating system concepts", V izdanje, 1998. god. 2. R.Kvaternik, "Uvod u operativne sisteme", 2 dopunjeno izdanje, 1985.god. 3. Pribilješke sa predavanja Laboratorijske vježbe: Na labaratorijskim vježbama se izvode zadaci iz sinhronizacija procesa (10 zadataka koji pokriva po jednu od tehnika sinhronizacija: od sinhronizacije putem djeljene varijable, binarnih i težinskih semafora, test and set instrukcije, monitora kao i zadaci iz izvo�enja konkurentnih procesa). Za ovu svrhu upotrijebili smo konkurentni alat BACI kojim se simulira izvo�enje konkurentnih procesa na DOS operativnom sistemu. U okviru BACI-a u�i se konkurentni jezik C-- (Pascal) koji sadrži deklaracije za pisanje konkurentnih programa (cobegen, atomic, coend, semaphore i sl.) Pored toga izvodi�e se vježbe vezane za operativne sisteme Windows i Linux. Na auditornim vježbama se izvode tri tipa zadataka i to: 1. Tehnike raspore�ivanja procesa, razli�iti algoritmi 2. Tehnike punjenja memorijskih okvira starnicama procesa 3. Algoritmi za kretanje glave diska Svih 10 zadataka za laboratorijske vježbe kao i ispitni zadaci sa rješenjima, trenutno 10, se nalaze na adresi www.porios.8m.com. U toku školske 1999/2000 razvijen je grafi�ki alat koji integriše procese kompajliranja, editiranja i izvo�enja korisni�kih programa u jeziku C-- (Pascal) (Baci) i kao takav �e se primjenjivati u ovoj školskoj godini

Page 4: Operativni sistemi (ETF)

Plan izvo�enja nastave

1. Uvod + pola struktura ra�unarskog sistema 2. Pola structure ra�.sistema+struktura o.s. 3. Thread-ovi + discipline usluživanja 4. unix raspore�iva�+sinhronizacija procesa 5. Zastoji u ra�unarskom sistemu, 6. Uvod u upravljanje memorijom 7. Virtuelna memorija 8. Interface datote�nog sistema 9. Implementacija datote�nog sistema 10. U/I sistemi 11. Struktura medija za pohranjivanje podataka 12. Tercijalni smještajni proctor 13. Zaštita ra�unarskih sistema 14. Sigurnost ra�unarskih sistema 15. Distribuirani sistemi

Page 5: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

��������������������������������������� ������������������� ������������������� ������������������� ������������������

• ������ ����� ����������������������������������������������������������������

• ��������� �������������������������� ������������� ������������������ ����������������� ��!����

�� ��"������������������������� � ������� ���� ���!���

• # ������������ ������$��������������������������������%���������������

�• &�� ��������������������� �&�� ��������������������� �&�� ��������������������� �&�� ��������������������� ������

• '������(� ���������������������������������)�*�"���������"��+,�������-��• # ��$���������� �.�� ��������������������� ���������������������� �

�������� � �������������������������• / �������� �������.���%�������������������� ��������� ���������������������

������ ����������� ��!��������������)��� �����"��������!�� ���"�����������"� �������� ������-�

• &������$��.���������"�� ���"��������������������

� / ������ ������������� ������� ������/ ������ ������������� ������� ������/ ������ ������������� ������� ������/ ������ ������������� ������� ����������������%���$����� ������������� ���%���$����� ������������� ���%���$����� ������������� ���%���$����� ������������� ������

• 0� ����������������.�� ���������$������������• &�������� ����� �.�������������� ����������������� ��������� ��$���������

��������������• &�����. �����.���� �����$��������������

Page 6: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

0����������0����������0����������0����������....�1���� $�����)�����234�������-�1���� $�����)�����234�������-�1���� $�����)�����234�������-�1���� $�����)�����234�������-��������

• 5������• 6������� ������� ����7������������• �������������������������������)����������������� -�• *�������"������������������ ��������������� �����• * �������������!� �������$��

• 0�����%����• /���!����"���� ������• 8������"� ����$��)8�����-�• 1�!�������������$���� � ������• ����$����������

• 5��������• 9�%������ ���!���� ����������

• 9�����������$������*�.�• :��������������������� ��������������

9���� ������� � �������� ������ ���� ��� ��������������� $������ ��!��� �� ���� ���� ������������� ����� �������������������������7��!������ ���������&������$�������� ������������� ����������������������� ���!�����������/����� ������������������ �� ���!������������������ �;�������������������������������� ����������!��������������������� ���!��� ��������������� ����� ������ ����������������� �� ����� � ��� ���������� �� ���� �%���������� !� ���� ���$�� �� ���� � ��� ������������� � �������� � ���$� � ��� !���� �!�������� ����� ��� � ������� ���� �������������������� �������*���� ����������$�!����!����7��������������������������$���*���� ����������$�!������ ����� ����$�)������8����-�������� ���� ��������� ����� � �7��� �� ��$����#���������� � ������ ��!��� ������� ���������<�����=������������ �������6������������!������ �� ��������$� ������� ���� �������� �������� �� ����� ���$�� � �� ������� ��� �� � �����������!���� ����� ��� ��!�� ����� �������� ���� ����� ��� ��7� �!����� �� �������� � ������ ���!����� 6������� ��� ��!���� ���� �������� ���$� ��������� ������ �����!�������*�!��� ���� ��� !���� ������������ � ��%���������� � ������ #�� ��� !��� ��� ���� ����!������ ��������� �� ��������� �� �������� � ���$� � �� �������� ��� ����� ��!�������������������� ������� &�� �������� ������� �"� �������7�� ��� �������� ���9��� ����������������$� ���� ����� ���!����� ����������� ����������� ������� ���� ���� !�� ��� � ����� �!���� ��� ���� 9� ������"� ��� ��� ���� ������!����������"����� ���� �����!������ �������� ����������� �������� ������� ��������!������������ ������

�>������������ ����������)�����234>������������ ����������)�����234>������������ ����������)�����234>������������ ����������)�����234....��������((((��2?4��2?4��2?4��2?4....�-��-��-��-�((((����0���������� �����0���������� �����0���������� �����0���������� �������������

• � � ������������ �����• ����������� ����� ��������� ������• �������������������$�• ����$��������������������� �������������� �������������������� ������

)��������!-�

Page 7: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

• /�������������$��������!.���.�������� ���������������������������!.����������*������������������� ������������ ��

����

@������������������������������������������ ���� ��������� �������)������1$����!-���� ����������������

� ......................................�� A������������������������������������� � � ���A�� A���B������)�������������������-���������������A�� A�������������������������������������������������������������������A�� ......................................�� A�������������������������������������������������������������������A�� A���������&���������� �����������������������������������A�� A�)��� �����" ������" ��$�"���-���������������A�� A�������������������������������������������������������������������A�� ......................................��

0��������� ������� ��� ��������� �� ����� �� ����� � �������� �������*������������� ������%������������������������������ ��$��������������!����������� ����� ������$��� �� ��������� � ��������� &�� � ������ ������� ����)������>�!-���� ���������������$���������������������� ������ ������ ������ �������������� ��� ������#�� �������"�������� �������"���%������� �������� ��%����������� ���������� ������� ����������������������������� �� ��������0��������� ������� � ����� �+,� �������� ���� � ��� �� ��� ���� ���$� )������$��������-���!� �����$�)������$��� ��$�-���� ����!���!������������ ��������� �� ���� � ������� ����������� � ������ �� � &�� ��� ��� �� ���� ����� ��������������� ��������� ��������

��������*��!������������������������������

1. &���� ����������� ���������!.�)��$����@����������������/����-���������� ����� �������� ���

2. &���� �����������������!������!.����� �������� �������

�0�� ������������������� �����������$���� �����������$����

• 5 �$���������$��������;��������������� ����� ������� �����������C>#1���������C@�9���������C0�9���������C�/�/���������CD9���

• *���!�����$������������ �����������$����� �������� ����� ��������$����������C��������������������++��������������E���������F.2�������������

���������������� ������� ���������� �������

Page 8: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

� C>#1�����G� �$� � H�����%��$����������������������!���� C@#0�0/9� � H� ��������@#0�0/9��� �������������������������$�� ������� C8#/�� � � H� ����������� �������� ������� C0�9� � � H����� ����� ������� &��$�� ����� CD#>� � � H�&��� ����)��!.-��� C>#1�����G� �$� � H������%��$������������������� C8#/�� ���$���� C0�9�� ��$��� CD#>�

I�������� ��������������!� ����������������� ���� ����������� ��������� �������� �������

�• ��������������������� ������

• ,��� ������ ������������$�.������������������������$���������$� �

• *����$�)8����-�.� ��������� ������ �������� ������������������• ����$����������(���� � ����� ���������������������� ������� ���!��� �

�������������������+,�������• *��!�����9����� ��%�������.�,+#����*��������� ���� ���� �H��������$�

������� �� ����• 0�� ������#%%.������ ��$����(� ���7�� ��%����������������������"�

�������� ���!.���������������� ��$�������� �������$� "�������� � ������� ������%.������

��� *���������������� ��������� � ���������

o *����� ����� �� ���������� ��������������

o *���7������� ��%������ � ������ ���7�� ������������� ������� ���� �� ��������� �����

E�� 9����$��

o ��� �������������� ��� ���������7��������� ����������

Page 9: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

o ��;�������!������� ������

o >�!���;���7����!��������� ������

��• *������.������������������� ���7���� ��� �!������ ��������$����

���������� � �"�����������!������ �!�����������$�� �����������• 9���� ���!��� ���!���������� ������� ���$����� � �������������

��������������������������������%%.������• 5������!��.�� ���7�������� ������ ������������)�����������.�. �-��

��� ������ ������������ � ���)������ �.�. �����-����������������*���

5 ������5 ������5 ������5 �����������>������� ��!����������������� ���������� ��!���� ����� ���������!������ ��� ����$� ����� ����� �� ��������� ��� ����� ��#������������� ��$�������� ���������������"���������� ���"�� ��$������*� �� ��� ������� !��;�� ���� �� � ������� ��� ����� �� ���$"� ����� �����!������� �� �������� � $������ �� ����� ������� ������ ������ ����� ���� �� ����!������������#��"� ��!����������"� ������� 7���� ������� ������� �����$� ��� ������ ���� ��� �� ���� �� ������ !�;�� ������� �� �����"� �� ���� � �������� ����������������������� ��������������!���� �������� �������9������������� ���7���� �������� ������� ����������������������� ������*����������������������!������ ����������� ������ ������ ���� ������!��������!���� ����� ������ ����������������������� ����� �� � �����������

9����������������� �;���������+,�� ��$���� ������������ ����� � �����"��������� ��������� ���7���������������$�� �����������"���!� ������������ � ��������������������� ������������ �������#��� ��$�����������5*##8,9J�)������5555����������****��� �����#### ������####�8888���-���

5 �����������������!���� ������������������������ ����� �������������

>������� ��������� ������!$��������������������������!.��� ���;������ ������!���� ������������������!.������$���������� ���

���� B��� �����������������B��� �����������������B��� �����������������B��� �����������������....��������B��� �����������)�2?4B��� �����������)�2?4B��� �����������)�2?4B��� �����������)�2?4....��������((((�������-�������-�������-�������-����

����B��� ����������� ��������� �������� � �������$��� �� ���� ���� ��������������������: ��;������������ ������ �� ������������������#���!��� ����� ��������� ��!��� ������� ���� �������� ������� #������� ��� �� �� ��������������� � ���������������� �������� ��$������������������������� ��$�������� ����������������+,���������!��� ����+������ �������/��� ���� ���� � ������ �� ��������� ������ !���� � ������� �� ��������� �������� ������������� ����� ���� ����������������� ��#��"������"��������!������ ��"������������������������� �������� ��������������

Page 10: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

� ....................................�� A��������������B��������������������� � A�� A���)�� ������ ������������ -������ � A�� ....................................�� A���������&���������� ����� ���������� � A�� ....................................�� A���������&���������� ����� �E�������� � A�� ....................................�� A���������&���������� ����� �K�������� � A�� ....................................�� A���������&���������� ����� �L�������� � A�� ....................................�

������� ������������������ ��!��;������������ �������� ���������������#�������������������� )�-�� ����������������������!.���������)E-��� �������� ��$�����������)K-���+,�� ��$�������������������!.����������)L-������������ ��$���������������������������!.����������)3-���!��!����������������� ���������������!����

#�������������������������������!.�����;������������������� ���������� ��$��������������������������&����������� �������������� ���!��������� ������������

• �+,������������������������������• � ����������������� �.������ �������$��������������������������!.����• �*���� ����������.������ ���������!��������������������!.���� �������

������ ������• /���$���������

Page 11: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

���5����������������� ��������� �)��������?4���5����������������� ��������� �)��������?4���5����������������� ��������� �)��������?4���5����������������� ��������� �)��������?4....������F4������F4������F4������F4....��-��-��-��-�����*���� � ������ � ������� ����� � �� ����������� � ������� )D9J8�� ����� 5�������M��� �-��!�������B��(��9,N��*���������������� �������������� ��������� ������������ ���� ���� ��� ���� &�������� !��� ���� ����� ����� ��� �� ���$� � �� � ���� !�� ��� �������� ���������� ����� ������5���� � �� ���������� � �������� � ����������� ���������� �� �� �������� ����� �� ����� � �� ���� ��������� ���� ���� ���� �� ���� �������� ��������� �� ������� � ����������������� �����������������&����������;���� ����������$������������� ���������� ������ ��� �� ���� ��� �� �������� �7����� ������ ������7����!������� � 5������ �� �������� ��� !���� ��������� �� �!��� ��� ������� �� ����7������������������B���� �������� ������ ��� ���������� ������� ) ��$����-�� *��$������ ��� �� �������������� � ��� ��������� !���� �� ��������� ��;�� ������� $������ ����� � ��� ����� �������*��%������� ��� ������ �� ������� ������� �������� )������ ��� ����� ���-"� ����� �������� ���������������������� ��������� ���� ������ �������������&��� ����� ������ �� � �������� ��!��� ��:�������� ������������������ � ������������%���$�������������!���� ��$������������������������"��������������� ��� �������� �������� ��!��� ������ ������� !�� ��� � ����� ���� ��� �� ���� �������������

����• �*��������� �����������������������!.�������������;�����������������������

)�*�������$��������� ���!.��������������!�����������-��• >�!������!$�����������)� ��$�����O �������O ���-�• #��������������$�������������������������������������H����� �������

����� ���� ������ �������������� ���"�����;���������7��P� ����������� ���P������������������$���7���������������������

• #������������������� �����!����� ���;����������������� ���� �� ��$�����������

�*�������������������������*�������������������������*�������������������������*���������������������������

• *���������������.��������������� ����������������� ������������• �+,��������.����"��� "�����"�� ��� � ����• ���������� ���������• ��;��� ���������������������������������������� �������������H������

������$�������������������������;��� ���������� ����� ��$��������� ��������������

����*��������������*��������������*��������������*���������������

• B��� ��$������������������� �������������*�������������������$�����• I����� ��������������)�����M�$�� �����M��� -�.� ��$�������������������������

�H��������$�������!������������������������������������• *�������� ���������������

• ���7���� �� ������)����� �-�• ������������• ���7�� ��������

• 5������������� ��$��������)�������M�����$����� ��$������-�

Page 12: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

!

• ����� ��$����� ����7������������� ����� ��������������• ������ ��$����� �������� ������ ���!�����!��� ��%�������

• /�������������� ��$��������)������/�������$����� ��$������-�• 5���� ��$�������� �����;���� �$�%����� ���.�H������� ��$������� ��������

����$��� ������ ���7��� � ��$�������)����� ��$������-�• ��!��������������������������� ���������

������!������������������!������������������!������������������!���������������

• �����!���� ��$�������������������%�������� ��$�����• 5�!�� ��������������)8�����M�$�� �����M��� -�.������ ��$������� �������

�����"�������"����������H� ��$������������$������������������ ������������������$��������������� ���������%������������"��������!����!��.����������

• *�������������!��������������• ������������������• ���7����!����������������.������������ �������• *��������• &������$����

�5�������������� ���������5�������������� ���������5�������������� ���������5�������������� �����������

• I��������������������������������������������������� ���$��������������� �������������� ���� ��������"�����$������ ������������"������������� �� �������� ��������������� ����������� �����������������

• ��!�����%����������������%��������������• '�������������������������

• ���%������������������������������� �����H� ��$��������� ��������������)0/B-"���������.���M����������)0#B-�

• ���%���������.��������������H������ ���;������ ������� ���������� ����������

• 5�%����.������������• �������������� ������������������� �� ��������������!��$��• ���������� ���$��� �)������������� �.��������������-"��������

������������ �������� ����������������:�$��:�$��:�$��:�$������������&������������������������� ��$��������������#��������*��������������������� ��$��������������• �������������������������������������������� �� ������������������ �

����������������$���������%�����������• �� ��$��� ���!��� �������� ������ ����� ���� ��� ���!��� �� ��� �����

���������� ��!�����/���$����� ��$���7��!��� ������ ���7���%������������������� ����������������������������

• &�������� ����� ����������;������������������%���$������• 5� ������������ ���������������� ��������!��� ����������� ���������������

� ���!��������• � ���������������� �� ��$��� ����� ���������+,����������

Page 13: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

"

��E�� � 9������ ������ ����� ���� ��� ���!�� �� !�� ��� ���� ��� ����� � �� � ������������� ���������#��������

�� 0�����������������������������!�� 0��������� ���� ����� ������������$�� 9 ������� ������������ ��������� �������� B������ �������� ��������� ����� � ����������������

���K��D������������� ������."� �������P �������P"������������$������ ��

���;�� � ������ ���� �� ����� ����� ����� �� ��� ����� ��������� *����������������� ����������������������� ���� ��

�#��������#������������������������� ������.���� �������+,�� ��$���������� ��$���!�������5��� ���!��� ��$������� ���;��������� ��$������� �;��!�;������ ���� 9����$�� ���� � �� �� ������� ��� ��� �� ���� ����� ��$��"� �������� ������� ��������������������� ����������� ������������ ��� ��������������������L���� ���� ����� ���� � �� ���.������� ����;����"� ��������� ��������� ������� ����� �

���������&��������������;����� ������������������ ��!���������������-� 9����������������� ��!����!-� B�;����� ��� ����������� �� ��� �������������� ������ �� ���������� � �������� �

��� ���� �������������� �� ������� ���������)����������$��-�#���������

-� &��������� ������ ���������� ���H����� ���������� ������������)�*�"��������"���������� �����"� ���%����������-�!����!����� �7��������)������$$������-�

!-� 6�������� ��"� � �� !���� ���� ��� � ��� ��� ����� ��� ����� �������� �;������!��;���!�����!������������"������� ����� �������� �������������� ��������7�� ������������������� ������� �����$�����

���3��&������������� ������������ ������������#��������B��� �����������������%������� ���!�� ��$����� ���� ���� ��������� ��$��������+,�������� �������������������#��� ��� �� �� ���7������� ����� ��$��������7�������������� �������� �����)������ ���7�����!����� ������ ��$����������!�;������+,������-�����?��&���� ��� ������ ������� ������� � �������� ������ �� � ��%���� ������� ��

������������������#��������# ��$������������ �������������������!��������������������� ������� ��$���������� ��$������������������ �������������� ������������������������������������� ��� ������� ��������������� ������������������������������������!����� ��$�������%���������0������������������� ��$���������$��������� �� �� �� ��%����� ����%���� ��������� )J�,-�� B��%���� � ������� ����� � ��������� ����������� �������������+,���������������������$���������;������������ ������� ������ ���� ��� ������� �����F����%���������������������������������7���� ���� ��$��������������

-�!$�� � � �-���������!-����������� � �-������!������

Page 14: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

�#

�������$-��������������#����������-� 1$��1$��1$��1$��� � *������� �� ������� � �������� ��� ��� ������ ������� �� ���� ���� ��� ��

������������� � ��������������� ���������������� ���7��������$��� �������*��%���������� ���7���� ��� ���7������� ��$��������+,����������;�������� �������������������� �����!%������"��%%.������ ��$��"�� ������.��� ���� ����������� 1$�� � ������� ����� � ��� ��!�� �� ���� ����� �������� �������������!���� ��������$��H�� ���� ��� ����������� ����������������������� ��� ����

!-� ,��������,��������,��������,����������5����������������� ��������������$����������������������7������$���� ����� !��� �� ����������� 6������� �������� ��!� �� ��� ����"� ��������� "� � ��������������������;�����������������������

$-� ����� ����������� ����������� ����������� �������� 5������ �� ���������� � �������� ���������� ���������� ��$����������� ����������� �� ������� ����������� �� ���������� � ���!�� �������*��$����� ��� ����������� !���� ������� ������� ��� ������� ���������� ������� ���� ��� ���� ����� ��� ���� �� ���� ����"� ������ ����� ����� � ��� �������7��� ��������P���$�P����������������� ��������������� ����������

�-� 0��� ���0��� ���0��� ���0��� ����� # ������� ������� �� ������ � �������� ��� ����� ��������� ��������� ��������� �� ���$��� �� 5���� � ��� ��%���$���� �� ������� �� � ��� ���������������%�����������������������!������������������ ��%��������

�-� �����!���������!���������!���������!�����������!�������� �������������������%�������� ��$������*��$�������������������������������������������������������"��������� ��$������� �������������� ���������� #��� ������!��� ������$����� ����� �������� �������$�����������"�������� ��������%����������"�����.� ����!���������

���Q��*��� ����� � ���������� !�� ��!��� �� ��������� !����� ������� ����� � �� ���������� �

�������� ������ ���������������������������$���������� ��������������#��������&���� ��������������������"�������� ���������!����������������� ������������ � �������� � �� � ������� *���� ����� ������ ��� ���7�� �� ����������� � ��!������� *��!��� � ��;�� !��� ���� ��� !�;�� ����� �� ��������� � �������� ������������ ��� ��� �� � ���� ��������� ����� ��!��� �������� �� ���� ��������� *������������������ ��!�������� ��� ������� ���������� ��� � �� ������� �� �� �����"������ ��� ��%������������������������� �� ����� ���������������������������2��# � ����������������� ������������� ��������������� ��$�������� 9���������

����������������� ������� ��$�����������������#��������5������������� ��$�������������������������� ��$�������������������+,���;��!������� �����!��������� � ��$�������/�������������� ��$����������������� ��$����� �� ����� ��$������ ��� ���������� )������ ����-�� J����� ��$����� �����!���� ������� ����� ����� � ��$������� � �+,� ��� �!����� ���� �� ���� �� ������ � ��$������� B��� ��$�������� ������� ��� ������������"� ��� ��� �� ��$����� � ����� �� ���%������#���� �������� ��� �������!�;����� ������ �� ���7��� ���������#��������� ���������������������������%������������� ��$��������������������

Page 15: Operativni sistemi (ETF)

������������� �����������������������������������������������������������������������������������������

��

���4� �: ����������!������������� �;��������#�������� �����!������ ������� ����� �������� ���������� ������"� �!�������������������"� ���7��� �������� �� � ���7���� �� ������$����� �� �������� ���������������� �&������������ �� ��7�� ������������ �����7�� � �7��� ������������ ���

���.��������;�������#��������#������ �� ��7�������;��������������%����������������� ������� ������������������������/�������� ������� �� � ���� ����������� ��������"���7�� ���������� ���������������������������� �����������"���� � ����� ���������������������������� ��$���!������������������$� ���������;����� ��$������������������������������������������;�� ��7�����������������������,�%���$������R�!.����������������� ���������������

• # ������5M��� �'����M�)� �++OOO����$�������+$�������$�����+$��EE3�.���+�����$��� -�

• /��$�����B������%�# ������5M��� �&������@��$�����M�)� �++OOO.������%�������+ ���+$$��������+�������-�

• '����M��%�# ������5M��� ��)� �++����$���� ����+S�������+D���G�4+ �������-�

• # ������5M��� ��*����$�,�%�������)� �++OOO�$�����������+ �� ��+!������+��������-�

• 0����$���������������# ������5M��� �5�$���M��• ����������# ������5M��� ����O�����M���$�����.������*���$M��• J9#5,5��/�*���M ��# ������5M��� �%�������224T��

)� �++OOO�$���� �������+S&�M&#5+J�����+J���������-�• B,��DU��������# ������5M��� �)� �++OOO� �����$��������+�U�����-�

Page 16: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

12

�������������������� ������������������������ ������������������������ ������������������������ ������������������������������������������������

�������� ����������� ���� ���������� �������� ���� �� ������ �� � ��� ����������� �� �� � � � ������� �� � ��� �� ���!�� ���� ���!��� ������ ��"� ���!���#� ��"�"� ���� ���������������������$����������������� � � ������������ ���� �%�

�• &������� ������'������&���� ��( �� )�'&(��)������ � �� !�����������

����� ������� � �� ���� � ��������� � � �� � ������ ������� � "�� "��!����������������&������ � "��!�������� ���� ���� ���� ���������� ����*� ��� �������� ������ "��!���� ��������������������� ����+�����#������ ������ ��� ����� �� "����� �� ��������� ��� � ��������� (,-� ������ ��� ����� �� ���� ��.��� ������

• �*/� ������ ������ *���� /����0�� )� ���� � ������� ��� � ��� � ��������������� ����� "��� ��������������� ������� ����

• /���� �� ���������� )�������������� ��������� ���������� ���.���� "���������� ��� ����������,������������ ����� ������-"�����������#������ �� � ��������� ��� �������� ��� � ����� ��� ����� ���� �� ��������� � � ����� "�������� �� �� ����� � !����� �� ��� ��� �� !����� �������� #�1/*���" �� �(,-#� �����

• (,-� �������� � )� ������������� ���.��� "����� ��������,�������� � ����������&����� �����!���� ����������������� � ���� �� � ���.������(,-������� ��#� (,-� �������� � ����� ��!�� ������� ���� !��� �� ���� !�������������#�������� ����� �.��� ��������������������$������� �� ������������������������ ��(,-������������+�� ����� �� ����� ������� � �(*�23����� ���������� �� �� "��" ��� �����

• (,-������� �)������� �����!�������������#�� �������� #�� !#����� #� ����• 2 ����)������������������������������������������

����

Page 17: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

13

/���� ����� ������ ���/���� ����� ������ ���/���� ����� ������ ���/���� ����� ������ �������������� � ���������� ��� ��"� � � �� � ���������� ����4��������� ������������������ ������������� �������� �������� ����� ������ �������� � ������� ����' ������������� �������������� � ���"������� ���!���������� ����! ���1��� ������ ���������� ��#�������� � ��������!���������� ������������ � ������������ � � ������"�������� � ��$�� ��� �� ���� ��� ��� �� ������ � ��� � �� �� ����� � ���������� ��� � � �� ���������� �� ��5���������!� ������ �������������� �������� ���� ���������! ����� � � ������������!��� ��������������� ���� ����� �������������� � � ���������������&���� � ���� ��� ��"� � � �� � ���������� ��� �� ���������� ������(�� � � ������������������ ��������� � ������� ������� ���������� ������� ������� ����� �����

• ��� �� �)�������������� �������� ��������������������������� �������� ������" �������������

• 67���!�)����������������� ������������"������� ��������������������������������������������� ����� �� ���� ����������������������" � ���������

• 68���!�)������ �������������� ������67���!���� �������������������� ������ ��� ���� �����������������������" ����������� ������ �� � ��

• 9���������� ���)������ � ��*/��� ������� ��������������� ���� ��� ����������� ������ ����� � ��

• 1 �� )� �� ��� � � ���� ������� ����� ��� "�� ���!����� ���������� $������ ����� �� "������� � ������� ��� �� "������� �� ������� ��� ������� ��*/���

�&������������������� �� ������"� ����� ������������������������������ �������������� � ����!����� ����� ��, "�������������� ����$�!������ ������� ��������������������������� ���� � ����� �������������!�����6�(���:� ��3����� � �:� ��3����������� � � ����� �� ����� ��� � ��� � � � !�� �� ����� � �� ������ ����� ���� $�!� ����� ��� ����� ��� ��� �� �.������� ����� "�"��� !��� �� ��� �� ���.������ � ���� �� ��� ��� ������ !�� ���� "����� ��������� (��!��� �����#� ������ � � ���� ��� ��������� "���������� .����� ��� "���������������� ��� �� ��� �"��������������� ������� ����� ������ ��� ������������� ��������������'������������ ������������������ ������ ������ ������������������������� ��� � �� ������ ��������������� �������!���������� ������� ��������� ������� ������� ������� ������������������� �����������������! ���������������� �����������"����������� � �����!��� ������ ���������������� ���������� "��� � � ����������������������� �����&� ���� ���� ��� #������� ���������� ��� �"�����!�������������������� "��� �� ������ �� %�

• ��" �• � �� �

Page 18: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

14

• $��������� ���" �����$��������� ���" �����$��������� ���" �����$��������� ���" �������������(� � ������ ����� ����� ����� � �� ������������� ��� �� ����� �� ��"� � � �� �� ��� �����"�������������������2�������� �����#������������������ ������*���� ������������� �4����������� �� �"��7��+���� ������������������ ��� ��������������������������� � �������� ���" #� �� "�� �� ��� "� ��!� ����� ��� �������� �� ��� ����� +���� ������ ���������� ��������" ������ ���� ������ � ��������� ��� � ����������������������� ������;�� � ������� �������� � ���� � ����� �������� � ������� !����������� �� !����!������ ����/������ ����� � ������� ���!� ���������� ������ ����������������������������"����������������!�� �������!����� ��� ������� ����� ��������� � ������ ���� ����� ��� � ������ ��� ���"������ ��" �������������#� ����� ��� �� �������� �������� ��� ������ (� ������ � �� �� ����� ����������������������!�������� � ����� ����� ������� ��������� ������ ����������������� ���������� � ������������� ���������� �� �� ���������������&�!�����"�� ���� ��� ����� � � � ���� ���� � � �� �� ����� �� ��� � � ��������#� ����������"���� � ������������������� ������� ��������������������������������� ���!���������� ���� ������� �������������� ��� �(,-������������ ��� �(,-������������ ��� �(,-������������ ��� �(,-��������))))�2 �����2 �����2 �����2 ������������$���� �������� "��!���� ����� �������#� ��� ���� &'� ������ �������� �������� ��<������!��=����"�������������������� � ���� �� ����� ���� �������������#����"� ����� ��� ����#� �� ������ �� ������ ��� "�������� (� ��� ��� �� � ����� ���������#� ������ � � ���� ��� �������� ��� ��! � "����� ����� ����� ��� �� � �������������������� �������� ����� � ����*� �������������������� "��!��������������� � � �������������"�� ��������>��5���� �� ���� ��� �� "����� ���� ��� ��� � � ������� � ���" ����� ������ � � ���� "�������� ���� �� ��" ����+�� ����� �� #� ��������� ������� ��� �� ��� ������ �

Page 19: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

15

�������������� ���� �������"��������� ���������������������������� ����������� "�������� ? ��:� @�A� ��� � � �� ���� �"��� �3������� ��� ���� ��� ��� "��!������ � !����� �� ������� ��"� ��������� ����������� &�������� � � � ���� ���� �� ��� ������ � � ���� � ��" �� 0 ������ �� � ������ ����� !��� � � ���������������� ���������� ���� �������� �� �������������� � ����� �����������������*� � ����� �� ���� ��� ������� ��� ���!����� � &������� � � �� ������ �� � � ���� ������������� "��!���� � �������� ������� �� � ����� ������ � � ���� �� ����� ����"�� ����������1��� ������������.��������� "������� ���� ����" ����(��� ����� "������ !�� ���� �� ��" ��� ��������������� �������������� �� � �����"�� "��!���#�����#� ����� �� "��!����� +�� � ��������� � ����� ����� � ����� ���� �� ��" ������ ���� � � ��� � !�� ������ �� � ����#� �� � ����� �� � � � ����� � ��� ������������ ������������������ "������������ � ���� ���" �����2 ������������������ ��� �(,-���������/���� ������� ���������������������� ���3��"����!���� ������������ ������ ��������� ��� �����" �����������������������(������ � ���� ��� �� ��� � � ������� ��"��� ��� � ��� �������� "������#� �!��� � ���!����� � ���������"��������� ������ � �������������� ��� � ������� �"������������ � ����� ��. ���� ��� �� �������� 2 ���� ��� ��� ���� ��� � �� � ����� ����� � ���������� �� �����#� �� ��� �� ����� ������� ������ ���� ������ �� ���������� ��������� ����� ���"���������� �������� ����������� ������������-������� "��������� ���� ���3�������"���������������2 � ����� ������������3���������7B��������$�� �� � ����� �� ���#� ����� ���� ����� �� "��!���� ����� ������� � ����� �� �� ����� �� ��� � ���3�#� ������� ���� ������ ���� ����� �� ���" ��� "� ������ ��� ������ ��� � ���3�� ������ -�������� ���� ��� ���� �� )� -�����(� ���� �������� ������� ������������������������ � � � � ����� ���������C���� ��� ������� � ��� �� ����� �� ���� �� "��!���� � ��� � ������� ��"� ���� ����&�������� "��!����(,-������� ��� � ��!���������!�������� ��������������������������� � ����������D������������������#���� ��� "������������ �� ���� ����" ��#� "��!����������� ������� ������������� ��������� � ��� ��������&��" ���� ����� � �&��" ���� ����� � �&��" ���� ����� � �&��" ���� ����� � ���������(��!��������#������� � ����������������������������� ����� ����(����������#������� ��� "���� ����� ������������ ���������� "������������� ��������������������������� ���"���! ��/���� ������� � � ��� ����������!��������� "��!������������������������������������ ��� ��������"���!��������"�� "��" �������� ����(�� �����������.��� � ��#��������������������� � ������� ��������� ��������� ���������< "����������=����5��������� ���������"� ��! ���������������������.�������� �� ������" ����������� �� ��� ��<���� � �"���! �>=�������� ������� ��� #�������#������������ ��� ����������! ������.��������� � ������������������������ ����1��� ��� ���#���� ������ ������ ��������� �� ��� ��#�"����������������������!�������� �� ����� � ��� ��� ! ���� �������� �� ���� ���� ;�� � ��� ���� �� ����� ��� �������� ��� � ��� �� ������ � ������ �� �������� � ����� �� "���� � ���� ������ ��"������������ ��������-����������E����6 ��)�-�F���$�������������� ����������������� ���� ���������������� � � ������ � � ���� � ������������� �������"�� �

Page 20: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

16

�������� ���� ���� �� � "� �� ��� ���� �������� ��� ��!��#� ����� ��� �� �� � ����"�� ����������� ����� ������*� ������������� "��!���� ����� ��������"����������&'���������!������ ����� ������ � ���� �� ����� ��� "�"��� ���� �� ��� �� ��� ����� ��� � ����� �"������� ����� (��������������������� ��������������� �������������������� ��� �2C&#������-��������C������2�������2������������������ �������������� "�.��� ��� ������" �������� ������!�� � �� ���� ���� ��������� ����� ����� ���� �� ���� ������ ����� � � � �����"�� ��� � ����!��������� ������������������������ ���� ����� � �� ���������������!��������� ���������������������������(� ����� ������� ������ ���� ����#� ������ "�� ��� ����� .��� ��� ��"���� ������������� ������ ��������-������������ ������� ��)�-���� � �������3�������!������������ "�� ������ ��� .��� ��� ��� � �� ������ ���� ����� ��������� "�� ����" �������� ����������������"������������������ �"����������������������������� ��������������������������� ���������$�������� ����� �#���������"�������-�F�� ��������� ����������������� ������� �����2������������������ ������ ������ � ����� ������������������������� ����(��!� �������� "��� �������-�F�� � � � ����� �� ��� � � ����� ���� ��� ���� ���� �� ������� �������� ���� ���� *����� ���� �������� �������� 2C&3�� �� ������ ��.���� ��� "��!����� � ���������� ����������� ���$��������� ��"���! #����������� ���������������������������������� ����� ������� ����� ����� � "�������� �!��� ����� ���� ��� ���� !��� ������ ����� ����� ��(� ���� #� ����������� ����� �� ����� �� ��������������������"��� � � ��� �������� ��� ������ ����������� �������� � �������������� ��������� ��������������������G�������� >�2���������� ������ ����� ������" � "���������� �� ���������� �����������+������������������������������� � ��������� ������� � ������"����� ������ !������������� ������� � �� $��� �� �� ���� ��� �� ������ �� ��� ��� ���� ���� ���� ��� ��� ���������� ����� �� ���� � ���� *�� ������� ���� ��� ��� �� ��� � ��� !��� ���� ���� � ����� ����� ������" � "���������!�.�� �� ����� ��������������

Tabela vektora prekida (TVP) Broj vektora obezbje�uje indeks u tabelu vektora prekida funkcija za svaki prekid (engl.handler)

Page 21: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

17

������ -�F�� ��� ��� ����������� ������ �� ��� ���� ���� ��� ��� � ��� ����� ���� ����������� � ��� �� ��������� $���� �� � ������� "�������� <�����=� ��������� ���� �� ������������� ������ �������� ����*���������������������� �������������� ����� "��!�������������� ���-�������!�������� ����� �����$����"����� �������� ������� �������� ��������� ����� �������� ������������ "��!���>�$���� ������ ��� ���� � � ���� �#� ����� ��� ���� � !�.���� ����� ��� ���������� ��� ����������������� � ����� ��������� �� ���������������� � �<�����=�����������1��� ����������"�� ���������������"������� �������������� ��������������-"��� ����"�������������-�F�� � #����������" �����������#��� �������������� ����������� � ������� �� ������ ������ � ������� ��� ������������������� ������������*�� �������� ��� ��� ��� ���� ��� � �� ��������� ��� ����� ��������� ��� � � �� �� ����� ���� �� ������� ��� ������ �������� �������� ��� �� �� ����� ���� ��� ��� ���� ���� ��� �� ���� �� ����������� "��!������������� �� ������������������ � ��� ������ ����� ����!��������� �����1��� ��� ��� ��#������������� ���� ����� ������H������������������ ������� ���������H��(������������#��������� ��� � ����� ������������� � ���� � ���� ������� ������B����H����G������������ �������� ��>�G�������� ���������<�����=������������ ����������������������� "��!���� �!��� I��� ��J��(� ���������������� ����� � ��� ���� ��� � ���� ���������� ��"����� ����� ����� ��"� � � ��������������� ��������������� ���� �� ����������� ���������������4 ����� � ������������������ ����� ����������� ������"����������������� ��� ���� ��� ����� ����� ���� ��� ��� �� ���� ��� C���� ��� �� ���� � � ��� ����� ����������� ��������� ��"����������������� ��#���������������� ������������"������ ����*����� � ����� ���� �� !�������������������������"�����������5�� ���������������������"�������������� ���� ���������������&���� � ��!� ����� ��� ���� �� ��� ���� ���� ��� � "���� ������� ���� ��� ������ �������������� ����� ��� ���� ��� ��� ����� � �� "�� ��� � ���� ��� 4 �� ����� � ���� ��� "��!������� ���������� ���<��=������ ��������� �������������� ���� ��� ��� ����*���� �� ������������ �� ��� � ���� ��� �������� � �� � ���� � ���� ��� /���� ���� ��� ��"����������������� ��� �� ������� � � ����� ��� ��� ���� �������� �"�� �� ��� ���������� �� ������ +�� ����� �� � ������������� ���� � ��� � �� ������ ��� �� ����� �������� ��

Page 22: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

18

�• *�� ������������ �������������� ����������� ���� ����� ���• 1���"� ����� � ����� ���� ����������� ����� �� "��!����������� �����

��� �� �����"������ ����� ����• 2��������.����� ����� ������ ���"������� � ������!���� � ���� �� ��

"���������• ������ � � ������������������������"� ������������ �������� ��

���� � ���� ���������� ����• $��������� ���� ������������������ ����������������� � � ����������

���� ���������� � � ���#����� ��#�������������������������!��������� ����� ���������������������&�������'�����3&'������#�������������� �� ������ ������� ���;����� �� ������ ���������� ������������� ���� ������� "��!�����&������������ ��������� � ������ ��������(,-��������������� ����� ����� ����� ��� � �� ������������������������ ����

����(,-���������(,-���������(,-���������(,-�����������������(,-����� � �(,-����� � �(,-����� � �(,-����� � ���������

����������������&� ������� ���&� ������� ���&� ������� ���&� ������� �������&� �������!����������� ���������� ������� �������!��������� �� ������������������������������� "���������������������������#�(,-������� ������� "��!��������� ����<���" ���=�������&��� ����(��������� � �������� ����� "��� � �������� ������� !� ������(,-����������������������������������&���������� ������� "������ ������%��K��� L7��������M��� ��M"�M��������N�� ����� �������������� ����� :� ��� ��M"�����M�M���������� ���O�

�����������������&��� ����������� �(,-&��� ����������� �(,-&��� ����������� �(,-&��� ����������� �(,-����

�1��� �� � ����������� "��!������(,-������� "��� � "���������������#������������ � "��!������(,-������� ������������������������ ��� " ������������������������������� ���������"��������� � ������������������ ����������"���!����&���������#������������������ ������� ������������� ������� ��������������� ���������� � ����� ���������� "���������������#�"�� �� "��! ������������������� ���� ��� " ������(,-��������#� ����������� ��� "������������������ ������� ���!�����������������" ������� ������

�����&��� � ���� ������ ���"������������������� ���������%�

7�� &��� �������8�� &��� ��"���� "������� ����� �������� ���������>�$����������!���>��@�� $��� ���� �����" ������ ���������������.����� ����� ������� ����

����������������

Page 23: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

19

���� � ��� �(,-� ��� �(,-� ��� �(,-� ��� �(,-��������

• &��������������(,-������� ���������������� ����� �����������������������"���!�����(,-������� ����(����������������������"���!�����(,-������� ��������� � � "���������������������� �%�

• ?� �� ����� �������������������'&(����� ���� ������� ���• ����������������������%�����������

�������� * ��� �(,-* ��� �(,-* ��� �(,-* ��� �(,-��������

• &��������������(,-������� ���������������� ����� ����������������"����������"���!�����(,-������� ����

• � ���� ���" ���0����������3�"���������������� ���� ��������"����� ������� ��������(,-������� ����������� �������������� ������"���!����#� � �������������� ��������� �

• ������ � � ������� ��� ��������� �����(,-��������� �������� ������ �����������������������1�2�1�2�1�2�1�2�3333���� ����������������� ����������������� ����������������� ������������������������������� ����"�"����� �(,-����������� � � � ���������� �#������� ������

• ������ � � ������������ ������� ����������������������������������������������������"�� �� ���������� ��� "��!� �#�"���!����������� ��#��������������� ����

�����������1/*�����������1/*�����������1/*�����������1/*�3333�� ���� ������ �� ��� ������ ����������0�������� ���� ������ �� ��� ������ ����������0�������� ���� ������ �� ��� ������ ����������0�������� ���� ������ �� ��� ������ ����������0�������

� �

• $�� � ���"��(,-���������� ������" ������������������� �����" �������������� ���

• $�������������������� ����������������H783P7Q8�������� "� ��������.����� ������������� �����"��������������������

• �������������� �������� !����������#�!������"����������������������� ������������

�����������������������"�!� ��������"�!� ��������"�!� ��������"�!� ���������� ���������� � � ��������"������� ������������� �<����=���! ���+�������������"�� ��������� �������������� ���� �� �������������� ��������� ������������ ����(������� �������"���� ��������������"���������������������� ���<����=���! ��"������������� ���������������� ��� �������$�������������� �� �������� ���� ������(�� ��������� � �������� � �� ��������� ������!������(+-R���������� ���!��� ������� � � �����(���� �������� � ��

Page 24: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

20

��� ����������������������� �������� � �� �������� �����������������"�������� � � ������

/��� �� �"�!� ���/��� �� �"�!� ���/��� �� �"�!� ���/��� �� �"�!� �������

�*�������������� ��� ��������"�������� ��������������"�!� ������������������� � ������������ ���������� ��������������������"�!� �����������+�� ���������������+�� ���������������+�� ���������������+�� �����������������������������������

• 1�������� ���� ��������"�������������� � � �������� ����"���� �����������������������������������"������� ���������� �������� � "��!���������������

• ���"������������������������ ��������"� ������� �������������� ����

1. $�� �� ��� ������3� "��!�������������"����� ���� ���2. � ���� ��� ������������ �������#�0����������3� "��!����

��������"����� ������� ���� �������

• 4 ���� ������������������������� ����������� � � ������� ��� �����%� ���� �B�#���� �� �7���

• $��������� �� � ����!������#������������������� ���� ���� �������

• &� � �������� ����� ���������� "��� ������� ��������������� ����

�� � ������� +�� �� ����#� ����� ��� I����J#� (,-� � ����� ��� ���� //(������������� ����� ����

�-"��� ����"����#����� ������#���� " ��" ����� ������ �������� ��� "��!������ ��������� �� ����������� � � I�������� �J��(��� �� ��� ��� �������� "��!����� ������ �� �������������������������� ��������� ��������$����� ������ �� ����#��� �������� � �#� ���� ������ ���������� "��!����������� ������� �� ����������������� ������ ����� "��!�������� � �������������� ����� "������� ��������� ��������+���� ����#�(+-R� ������� � ����������������������� ���#�������� ��������#�������� � ���� � ��� ������ � ������ ������ � � � �� "��!������ �� ������� �� ��������1��� � ��� � �������������������� ��� "��!�������� ��������� ������� ���� ������� ����������� ������� ��#���������� ������� ���������� � ���� � ��" �������� ��������#���� ��� "��!����������� ������� ������� ���� ������ ������������� "��!��������� � ������ ��(,-� ����� ����

Page 25: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

21

�����(,-�;�!� �������(,-�;�!� �������(,-�;�!� �������(,-�;�!� ����

• �������"�� "��"�������� ����� "������������ � �������� ����� ��������� ���� ��� ���������� ����(,-��������� �� �������" ������������ ���� �����

• /���������"���� � ������� �� ��������� �����������"�������������������� ���� ������� ��������������������� ��������� �� ������������� ������������������������ �������������#������������ ����� ��������� ��������� ������ �� ������������ � ������ �����������������"�� � �� �������"��� ��� � �����

����;�!� �������� ������;�!� �������� ������;�!� �������� ������;�!� �������� ����������

• /�����������"��� � �"�!� �������� ��������������������������� ��� ���� ����� ������ ���

�7��(�� ������������"���� �"�!� �������� ������������������ ������� ������������������� ����������� ���������������� ��� � %�

♦ ��" ���� ���#����� ������������ ��. " ��������� ����������♦ ��� � ���� ������ � ����� ����#����� ���� � ���������

&� ��������� � � "�����������. ������������������� ���� �������"��������8��$�� �� ���� ���"����������������������������/����0����������

� �3�//(������������� ��������� "���� �� �������������. " ��������� ����� ����������"��������� ������������ ������"� � � ��� ������������ � ��� ����� ���"� � � �������������� �������//(���

&� �����"�!� �������� ���&� �����"�!� �������� ���&� �����"�!� �������� ���&� �����"�!� �������� ������� ���� ���� ���� ���� ;�!� � ���������;�!� � ���������;�!� � ���������;�!� � ��������������

• $������������ � � ���� "��!������ ������������������� ����� �������������������� � #����� ���� ����� � ��������

• -����� ���"�����������"��� ���� ������� �������� � �������� ����� ���

������������

Page 26: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

22

*�� ����������!���� ����*�� ����������!���� ����*�� ����������!���� ����*�� ����������!���� ������������

• ����" ������������"�� "��"�� ����� ����� � ���������������� �� ��������� "��!����(,-������� ��>�

• � ���� ���" ���0����������3������ ������ ������������"�������� "��!������������ ����� ������������ ���� �����

����� ��� ������ ���.������������ �������� . � ��������� �������������

���� �����$������������� ����"������������ �������������� ���������� ����

������� ������� ������������� � ���������� ���� ���+���� �������� . ������������� ���� �������������� � � ���� #�"�� ����

"��!����"������� ���"�������� ������������ ����� ������������ � ���� ���" ���

��

������"� � � �����" ��� �������"�� ���� � ���� �� ��� ��������&������������ ��� ���"� � �������" ������������"�� ���� � ���� �� ��� ������������� ���������� �� ��������������� ������ ���������������� �������!����������������� ��� �������� ���� �������;���� %;���� %;���� %;���� %�����8�7�<&��.���� �=�����������������������������(,-�������� ������ ���� �����������

"�� ����� "�����������-����������������%���!��� ��"���! � ������ ��� � ����� � ���������� ���� ����� ����� ��� �� "��!���� ��� ����� ��#� �������� �� "�����"������� (,-� �������� "�� ������� � ���� �� � ������&������� � ���" � ������� �� ����"��"�� ���������� �#��������������������"��� ���� �������������" ������������� ����� ���� ������������&��������������������� � ��������� ����������#��������" ����������� ���� ������ ���� �������������� ��� ����������� � ���� ! ���"�� "��"��(������������#��������� ���������������������������.�������� "��" ���������� ������� &���� ��� ���.���� �� !���� �� ���� �� !����� ����� �������� ������������"����������������� "��!������� � "��"�������� �����������

��������%� &��.���� �� ��� ��� ���� ��" ���� �� ��� ��� ���� ��� ���� �� ��� ������" ������ ����������� �����������.��� � � ��� ������������(,-� ������� �����������������8�8��$���� �� ��"� ��� "����� .��� ��� ����� �� "��!������ �� ��� ����� � �������

�� ��������������� ����������������������� ��� ����� � ����>���������%� (������������ ����� �� � ������ �� ����� ��� ����� ����� � � � "��!��������� ��������� ������#������� � � �������"�������������� ����� ������ �����������������������8�@��$��������"� ��� "���������3�� ����� ����;��!�������� ������ ����� �>���������%� &��� �� ��� �������� � ���� ��� �������� ����� ������ ������ ����������� ��� ��� ��"��� ��� ����� � �"���� ���� ��S� �������� �� ���� ��� �� �� ���� �� �

Page 27: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

23

������� � ����� ���� 2���� ��� �.����� � ���� �� ���� ��� &��� �� �� ��� � � ��� ��� " ���"���!�����(,-����������� ���������"�����" ������������� ���������� ����2��������� � �"����" ����� �������� ���� ����� � ��������������� ���� �������!�����8�T��;�������� ����������� ������1/*���� ��>��������%� 1/*� ��� ��� ��� "�� ����� ��� ��� ��� � �� ��������� "����� ����� ��� ���������� �� �� � !�� "�������� "�� �������� ��� ����� �������� �� ���.��� ��������#���"��������� ���������������������"���! ����������������������� ��� ����� ����������������������������8�H�$�������� ���� �� ����� ���� ���������� � ��� � �������>�

�������� ��� ���������� ���D ������ ���������� � ����� � ������ ������"���� ����� ��� � ��� ������ � ������ "� ��� ����� �� �� ����� �� ���� �

�������%���#��#��#����8�U�+�� � ������� � ��� � �� ���"�������� ���� � �� � ����� �������� �� 1�� � � ���

���� �� �� �� � ����� ������ � � ���� "�� ������� ����� ��������� 1�� �������� �"�� ����� �>�

�������%������� � � ����"���������������� ����������� �"�������� ���� ������������ ������� ����������� ������������ ��������� �%�

��� �.�������� ��������� ����� ����� �� ������������������ �4*�-'#�*&6� � �6-�&� ��� #���������.����� � ���������� �����"���� � ����!����������������"���������

��� ;�������������� �������� �������� � �����" � ���� ����� ��������� �������� ������ � ���� ��� "�������������$��������� ������ �� �� � � 3� �� � ���" ���.��� ��������� �����"���� ���������"�!� ���������������� ����������������"���� ���

8�V��(� �� �� �� �� ������ ��� "�!� �� ������ � � ���� �� ���!���� �� ���������� �������� � �������� ������� ����� . ����� � ������� ���������� � ���������� ���� ������ �� ! ��� ����!�� �� ����� � � ������ ��� "� � ���� ������ !�������� "�� ��>�

�������%� &���� � "������� � ��� ������ ���� ����� ���" ��#� �������� �� ����#� .����� �������������������� ������ ������������ � ����"�!� �������� ��������"�� ����� �� ����� ������������ "��� ����� � �����8�P��;�!� � ������� � � ���������������������"������������������������������

������ /����� ���� "�!� ��� ��� "������� ������ ��� �� ���� �� �� ����� ���� �� � � ���� �#� "�!� ��� ����� ��� � ���� ������� �������� 1�� � � ��"��� � � ��� �����.��� � ���� � � � � ������ � ��� �������� � ����� ���� ����� �� ��� ���� (����������������� ��� ����� �����������������"�!� ����G������� ��� ����� ����� ������ ������� � �"�!� �>���� &������������ �� ��� ������� ������&��������� ���� ��� ���������� ' ���� "� ����������� ��� �������& ! ��� ���� ������ ��� � �������&���"� � ����� ��� "� ����������� ��� �.�� (����� ����� ��������������������� ���� -����� ����� ���������������������

��������%��#��#��#���

Page 28: Operativni sistemi (ETF)

25

��������������������� ��� ��������� ������� �� ����������� ��� ��������� ������� �� ����������� ��� ��������� ������� �� ����������� ��� ��������� ������� �� �������

��������������������

����� ������ ����� ��� �� �� � ��� ����� ����� ��� ��� ����� �������� �� ����

� ������� ��� ���������� � ��������� �� ������ � ����� ����� �� �� �� ��� �� ���

��������������������� ��� ������������ ������ ����!� �� ���"�#��� �#����

$���� ������� ����������� �� ����� ��� � �� �� � ��� ���� ��� � � � � �#��� ���

��%����������������������� ���&��� �� �#����

'���� ����!� �� ����%��(����������� �����%� �(����������������� �#����

����������������������������������� ���������������%������ ����!� �� ���

• )�� ���������� �������� �������������� ���������������� ���

���������������������*���������� ����������������������������

� ��������������

• +������������������������������������������ ����������� ����

� �"�������� ������� �� �����%�� �������������������

��� "��� ��������� ���������������� ���������� �����������*�

���"��� ���������� �� ���������� ����� ��������� ��� �

�� �� �� ����������%��#���������������������� ����������������

����� ����������� ����&����� ���� ������%��# ������ ���

���������� �����������&�����������������&�&������������

�����������������&�� ��� ������ ���� �� �������������� ���

�� �� �&���� ���� ��� ���� ��������" ������ �

• *������������ ������� �������������� �%����%���������(���

�������# �����������,����� ��������������� ���-*./�� �������

���������������%��������(������������� ��� ��� �� � �����

��������� � ������������� ��������������

'���������� �� ����� �������� � �� ������� �� ����� ���� ����������

� ��"���0��

• � ��"����������������

• � ��"���������������

• � ��"��������� �� �� ������ �� ���

Page 29: Operativni sistemi (ETF)

26

1������������ ��"�������%��(������������&��������������������&��

�������������0�

� � ��������%��������������������������������������������������

�������������� ������� �� �������������%�� ����������%��� ��"���

������������

� � ������������%������������������ �����%�� ���������%��

� ��"�������� ������� �� ������������� ��

� � '��������������%�� ���������%��%����������� ��"����$�����

���������������������������� ����� �� ��������� �������

��������� ��"����

� � $���(������ �� �����%�� ���������%��� ��"������� �������

� ���&��� ������������� �� �� ��

$��������� ����� �� ������������� ����������� ���������������%�� ������0��

���������� �� ���������� �������������� ���������������%������������ ��"����

�������%�������������� �� ���������� ����������%���������������� �"����

������ ���������&�� ����������� �������������� �� �������������� �����

������������������ ���������%�������������# ���2�����������������(������

�� �����0�

3�� 1� �� ������� ����� ��

4�� �������������������� �� ��

��� 1� �� �����%��

5�� 1� �� ���������� �

6�� 1� �� ����� ��� ����

7�� �� ������� �#���

8����+���� �������� �� ���� ���� �� ����

��3�1� �� ������� ����� ���3�1� �� ������� ����� ���3�1� �� ������� ����� ���3�1� �� ������� ����� ��

• ����������������� ���+�������$������ �� +�������$������ �� +�������$������ �� +�������$������ �� �

• ����������� �� ���� ��$�� ��!�$������ �� $�� ��!�$������ �� $�� ��!�$������ �� $�� ��!�$������ �� �

• �������������"����� �� �� ���� ���1�������!1�������!1�������!1�������!....1 ������$������ �� 1 ������$������ �� 1 ������$������ �� 1 ������$������ �� �

• 1� �� �%���������������%�� 9%��%�� ��:9'�1!� �� �$������ �� :9'�1!� �� �$������ �� :9'�1!� �� �$������ �� :9'�1!� �� �$������ �� �

• ������������ � ���� �������$������ �� ����$������ �� ����$������ �� ����$������ �� �

• 1� �� �%�# ���+�� �� ���1!� ��+�� �� ���1!� ��+�� �� ���1!� ��+�� �� ���1!� �� �

• �� ����������,� ;�����,� ;�����,� ;�����,� ;����� �

• ��� ������ ����� ����-�� � ���-�� � ���-�� � ���-�� � ���....:� ����� ���1!� ��:� ����� ���1!� ��:� ����� ���1!� ��:� ����� ���1!� �� �

Page 30: Operativni sistemi (ETF)

27

��3�3��3�3��3�3��3�3���� ����������������� ������������������� ������������������� ������������������� ������

����

• ���������� ����������������� �������� ����������� ������ �� ��

����������+����������� ������������ ���%��#��������� ���������

��� ������������������ ��������������������������� �����0����� ��

��������������� �� ������� � ��������%��9%��%������(��������������

��������%��#��%��� ������� ������������

1 ����������������� ����0�����������%��#������������ ��������

������������������������������� �������������������� �����

��������+-.���

• '���������� �� �������������%�������&���� ���� ��� ������

������������������ 0�

��1 �����������������������

��1�����%�������������������������������� ������

��+����� ��� ����%�� ��%��������%�����������������

��� ���������������

��3�4��3�4��3�4��3�4���� ����������� �� ��������������� �� ��������������� �� ��������������� �� ���� ����

����

• +��� � ��� ��� �� ��������������%��������� ���������������� �

���� ����� �������� ��<������� �������������� ������%����� ������

����������� ������9:����(���

• -�� ������� �� ��������� ������ �� ���������������� ������������

��� �����������

• '����������� �� �������������%�������&���� ���� ��� ������

����������� �� ���� 0�

��������������������#&����� �� ������

��'�������������������������������� �� ��������� ��������

����������

��)����������������� �� ��������� ����������� ������

��3����3����3����3������ �������������"����� �� �� �����������������"����� �� �� �����������������"����� �� �� �����������������"����� �� �� ���� ����

����

• +�# ������� ������� �� ������� ������ �� ��������� ��������� �� �

���� ���� ��� � ������� �� ���� ���� ���� � ���������� �� �� � � ���� ���

���%����� ���� ���� ���"����� � �� ���� ��� ���� � ���� ������ ��

���� ���%���� ������� �� ����

Page 31: Operativni sistemi (ETF)

28

• �������� � � ������ ���������� �� �� � ���� �� ������� ���� ������

� ���� �%���� �# �������� ����� ��%������ ����������� ��

• '�������� �� �� � �� ���������� %�� �����&�� �� ���� � �� ��� ���

���������� ����"����� �� �� ���� 0�

�������������������� ����� ���� �������"������ �� ����������

������������ ������ �� ������������ ������ �� ������������ ������ �� ������������ ������ �� �

��)����������� ����������"������ �� ����������1 ����������� ��1 ����������� ��1 ����������� ��1 ����������� �� �

��������������� ����������������.������ � ��

��3�5��3�5��3�5��3�5���� 1� �� �%�����������1� �� �%�����������1� �� �%�����������1� �� �%���������������%�� 9%��%�� �����%�� 9%��%�� �����%�� 9%��%�� �����%�� 9%��%�� �����

����

���� 1� �� ����%�9%��%����� �������0�

��1� �� ����#�����"����

��'�# ���� ��"��������� ��������� �����(������

��*������%������"�������(������

��3�6��3�6��3�6��3�6���� ������������ � ���� ������������� � ���� ������������� � ���� ������������� � ���� �����

����

• *� � ���������������%�����"��� ������"���������� �����

������������ ������������� ��� � ��������� ������������� ���

���� ���

• '���������� �� �������������%�������&���� ���� ��� ������

������������ � ���� �0�

�������������������� � ����

�������������� ������������

��'��%��(�������������"������%��� ����������� � �����

���� ����

��'����%�������� � ����������"������ �� ���

��1��#�������� � �������� ��������"������ �� ����

��3�7��3�7��3�7��3�7���� =�# ���� ��=�# ���� ��=�# ���� ��=�# ���� �� ����

����

• =�# ��������������� ����%� ��%����� �������� �������������

���������� �� ��� ���������� �������� ��

• $����%�� �%�# ��� ���0�

Page 32: Operativni sistemi (ETF)

29

��/�%����� ��� ��%������������� ��%��������� �����

��1���"��� ���� ���������&��� ���� � �� ��

��'��%��� ������ ������ ����

��3�8��3�8��3�8��3�8���� �� ����������*� ��������� �� �� ����������*� ��������� �� �� ����������*� ��������� �� �� ����������*� ��������� �� ����

����

• *� ��������� �� ������������������������������ �� �������� ��

1�������������� ����������� ������ �� ���������

• +������������ �� ��������������%���� ���������� ��������

• *� ��������� �� ����%��(�������������� �����%�� ��� �� ��� �

������� �����

• +�� ��������� �������� ����%����������

��+���&��������%���%�����������

��+���&��������������� ����� �������

��=�� �������&�������%����� ����

����

��3�>��3�>��3�>��3�>���� ��� ������ ����� ����� ������ ����� ����� ������ ����� ����� ������ ����� ������

����

• $�������� ���������� �������������� ��� �� ��������� ��������%�

����������0�

• ���������������������������

• /���������%�� 9%��%�� �

• ����������������"����� �� �� ���� �

• ���������� ������� ������ �� �� ���� �

• +�� ����� � ����� ��� �� ��

• =�# ��

• �� ���������

• +������ ����� ���� ����� ������ ���������%��� ����%�� ��� ���0�

• :� ����� ������ ��������� ���

• :� ����� ������ ����������

• 1������������?.� �

� ,�����"������������ ���%��#������� ��������%��

Page 33: Operativni sistemi (ETF)

30

��4��4��4��4���� 1���������� ������� �� �1���������� ������� �� �1���������� ������� �� �1���������� ������� �� �����

����

• :%��#������������� ��.�� ���&��� ��� �� ������������������ ���

� �� ����������������

• ���%��9%��%�����������.���# ����������������� ����� ����%��# �

�9:������������� ��������������� �� �� �������%��� �����������

���%��#��9:����������

• /�������� � ���� ��� �� �� �.�� ���&��� �������� ������ ����#���

���������#���� � ����

• ��� �������.�%� �����"��� ����%� �(����������������%��#�����

������ �� �����������������%�� � ����������� ��� �� � ������%���

%���������� ����� ��:� ���� �� �������������������� �� ����

��������� �� ��! ���������(����� ���������� ������������� ��

• *� ��������#���.����%��(�������� ���%����������������� �����

� ������ �� ��� ����#����������������� �� ������ ������������9:�

���(�� �������������� �������� � ���

*��� ���"������������������� �� �0�

• *��� ���"��������� ������������ ���������������������

���%������"�������� �� �����������0�

• )���������������.������������������#�� ���� �������� ����

�#�� ���� ������ ��������%��#�������� ������ ��

• ��(��������������#&������ �� ��.�������������%���������

�������������� ������������������������ �������������� �� ��

������� �������������������� ������������� � � �������

�� ���&���%��������������������� ��%�����#&����

�������������� �� ��

• =�# ��.����%��(������������ ����� �� ��� �������� �����

��� �������

Page 34: Operativni sistemi (ETF)

31

���������������� 1� �� �����%�1� �� �����%�1� �� �����%�1� �� �����%�����

����• 1� �� �����%�����%��(���� ��"���%� �(��������� ��������

%��#������������������ �� ��

• /����������������� �������� ���� ������� �������� ��%���

• *�"����������%����#�����������%�� ������� ��������%���

�� ���&��� �� ����������� �������%�������&��� �� ����

��%���������%��#������ ����-��@�����+A9�7B �

• <����# ��� � ����������� ���������������������� � ��%� �(��

������� ��������%��#������������������ �� �0�

♦ +�����(���������� � ���������� �� ��

♦ 1� �� ������ � ����� ��������� �� ������������� �����������������

��������� � ��������� ���

♦ 1� �� ���������� � ������ ���������������� ����� ������������ ���

���������� ���������������� ����� ������������������ �� ��

C������������" �����������0�������������������� ���������������������%��

���� ��� ���������� � ������ �� ������� :� ����� � � � ��" ������ � ������ ��������

<��� ��+�����������(������������������������%��������������� �������(���

1�" ������ ������ �� �%�������� ������� �� �� '�� ��� �%������ ������� �

� ������ ������ ���1D:�E���" �;����� ����� ��$-7>BB ���� ����� ��%��������

�%��#���� �������&���� ���������������#������������ ����������������

%�# &�����

����� ��� �� �� ��� ������ ��� �� ��#��� ��� ���(��� �������� &�� ���� � � � ���

���&�����������������%��#�����%��# ������%����� �� ������������������ �

����(�� ��� ��������������'����� ������%������ ���%����������������������

����� ������� ��� � ������ � ����� � ������� �� '��� � ���� ������� � �� � ������ ��

������ ��������������������������������������������� ���%���#�%��(�����

�������%���������������������� ���%��#���������������������������� ��

$�(� � �� ����� ��� �� �� � � ���� �������� � � ���� ����� ������� �� ������� ���

������ ���������(�������

��������%��#������ �� �����%������ �&���" �������������������������������

� ���� ��������� ��������� �����%� �� �� �� ���� � ���� � ��� ����� ������� �� ���

������������������������������������������������� �������%��������������

Page 35: Operativni sistemi (ETF)

32

�� �� ���� �������� '�� �� ��� ����� � ��� �� �� ����� ��%���� ��� �� �� �� ��

����������� � ���� �� ��� ��� �� ������� ���� ����� ��� �����%� ��� ,����� ����

��� ����� ��� ������� ��� ���� ��� ����(��� ������� ������ ����� ��� %���#�

%��(������ �� �������%������� �����������&��������������� �����%��#����

�� �� ���� ��%��� �� ����� � ������ � �������� �� ������� ��� ������ ��

�������(�������

+�� ��0��:%��(��������� � ����"��������������"�����""�����! �� ��������������

��������������+����%��#���������� � ����"����������������%������� �����

�� �� ������������� �� ����"�������,�������&�������������%�������������

���� ������������ �����%��#�������� �� �������%����

��

Page 36: Operativni sistemi (ETF)

33

��5��5��5��5����1� �� ��1� �� ��1� �� ��1� �� ���������� �������� �������� �������� ����

����• 1� �� ���������� ����%��(������������������������%����%���

������� ���%��#�����'��� ����� ����������������&���������0����

♦ /�������� � ���� ��

♦ 1 � ������"��� �������

♦ :%� ������ � �������

♦ +�� �&�������� ��� ��%�� �����

♦ +������������� ���%��#�������

♦ ��� ����������

♦ )���������������� �����

• ����������������������������� �� �����"���������� �� ��� �

������� � ����������� ����� ��� �� ��� ���%�� �����

������6��6��6��6�����1� �� ����� ��� ����������������� �� ��1� �� ����� ��� ����������������� �� ��1� �� ����� ��� ����������������� �� ��1� �� ����� ��� ����������������� �� �����

����

��6�3��6�3��6�3��6�3���� 1 ��� ������ �� ��1 ��� ������ �� ��1 ��� ������ �� ��1 ��� ������ �� ��....������ �������� �������� �������� �������� �������� �������� �������� ������

����

• $1�*'1�$1�*'1�$1�*'1�$1�*'1�����������������%��������#���"����������� ������ ����

���� �������

♦ �������������� ������

♦ � ����$1�*'1�� �������� ��� ������������ ��"��������

"����������� ������������%���������

• �,:F��,:F��,:F��,:F�....�������������"����������#&��������������������,:F�

����������� �� �� ���������������� ��� ������,:F�'1������� ����

�������������������0����

♦ 1� �� ����������� ��

♦ 2�%��������� ������� �� ��������� ����

♦ 1��������������� ��"������ �� ������%����%����"%�����

��������

Page 37: Operativni sistemi (ETF)

34

♦ '��%��(����� � ������ �� ���������(�����-+�������������

� �� ���� ��������"����������� ������� �� �G�� �������

��� � ����� �����������"������%������������

��6�4�1 ��� ������ �� ����6�4�1 ��� ������ �� ����6�4�1 ��� ������ �� ����6�4�1 ��� ������ �� ��....���� ���������� ���������� ���������� ������....��������

����

• '���������� �� �������������������������������������������

������������������ �������,�������������B ����������������

����&����������, ������������ ��"���

• 1��� ��������#&����������%������ ���������������� �"������

�������� ������������ ������������

� ,������� ��� �������<CH�'1�

• +����� �����������#&�����<CH����������� ��� �� ���,������7�

�������������&0�

� � ,���60� � ��������������� �

� � ,���50� � @�"��������%�����%���%��%������(���

� � ,����0� � *���������(�������%��������� ����

� � ,���40� � ����������� �� ���� �

� � ,���30� � /������(����������������

� � ,���B0� � C������

����

��7��� ������� �#�����7��� ������� �#�����7��� ������� �#�����7��� ������� �#�����������

• /����������� �� ����������������%�� �������������� ������������

������������������,�������&�� ����������%������������������ �

������������� ���������%��#�������� �� ������%���%����� �����

���� ������#���������� ������� �#��� �� ������������������ ����

������ ���������������������� ���������������������#������������

��������� ��"�������������������

• �� ������� �#������%��(���� �"������ ���������������������

����%�������������%������������� ������� �� ������

• '���������� �� ��������%���#�� ����������������������������

%��#����������� �� ������������������ �� ���� ������ �� �� ���� �����

• �%��������������������������������������� ������� �#�������

Page 38: Operativni sistemi (ETF)

35

• /������(���������������� �������%��� ����%���������

�������� ������������ �������������

• 1���������� � ������ �� �� �������%��� ��� ������ ���

��� ������ �����# �� �������

• �������� ��� �������������� ����� ����� ����� �

����� ���������%������ ������� �#������

����

���� +������ ��� ������ ������� �#��+������ ��� ������ ������� �#��+������ ��� ������ ������� �#��+������ ��� ������ ������� �#������

����

• ������ ���� ������� �#������%��(����� �����%�# ���� �� ����

����������# ������������ ������� �#���%������������������'���

%�������� �(� � �������%����������� ����������������������

• �� ������� �#�����$ ��������������� ���%��� �����������%���

������������ �� ���/�%���������������� �� �����%��������$�

�� �� �����"%����� �����������#�������� ����������� �� ����

������������������������� ������� �#�������

• ������ ��$��� �#���� ���� �� �� �%�����������%�� ������������

���%���������� ������(����� �#�������

��8�-������ �� ���������� �������8�-������ �� ���������� �������8�-������ �� ���������� �������8�-������ �� ���������� ���������

����• �������������.������������ �� ��� ������� ���������%��

��� ����������� �����%������������%���������������%����

• 1� �� ��������.�'���������� �� ��� ������� ������ �����%��

����� �������� ���� �� ����������������# ����� ���&��"���������

���%�����������(������#������"����������

���8�3��8�3��8�3��8�3���� �$����%� �������������������$����%� �������������������$����%� �������������������$����%� ����������������������

• $����%� �����(���� ���&��� ���� �� �� ������ �� ���������$1�

��%���������� �� �� ������� ���������������������� ���� ������

���������������������(���# ��&��� ����(����������� ����"�� ��

� ��������� ���������%��������������� �������� ��������������

������� ���� ������

• '���������������������������� ����%�� ����������������������<��

��%�������� ���� �����"��������� ���������������������������

���� ����������������

Page 39: Operativni sistemi (ETF)

36

��>�:� ���� �� ������ �� ���>�:� ���� �� ������ �� ���>�:� ���� �� ������ �� ���>�:� ���� �� ������ �� �����

����

• <���������������������� �������� ��%��������������� �� ���������

� ������� ����%�� ���#�����������

• ������������%�� ���#�����������

• � ������ ������%�� �����������

• �#������� ��� ������

• ���#�������� �������#�������������� ����

• '���������� �� ������#������� ������������������������������

�%�� ���������������'����������%���������� ������ �����

����

��I�J���������� ��I�J���������� ��I�J���������� ��I�J���������� �� ��� ��� ��� �����

���� ����

• '���������� �� �������� ����� ����������� ����%��� ��������

���������� �#����=���� ������ �� �� ����� ����"�������%��������

����"���������������� �� ��

• 1K1JH,�������� �����%� ���"��� ����������� �������"����

��"��������������������� �� ��

• @�� ���.������ �������������������� ���������

• @�� � ����������� �.������� �# �����/'$.�����&��� �&������ �

������������� ������� �� ������ ���� ��������%��#�������

����

@� ������� �� ��@� ������� �� ��@� ������� �� ��@� ������� �� ������

��

+������ ����� ���� ����� ����� �� �� �� ��� ����� ��� ��%��� �� ����� �������

��� ��� �� ��� � ��� �� /�%�� �� � �#��� � ���� � � � ��%�� �� ��������� ����� ��

���� �� ������ *�� ����� �� ����%��� �������� �� ����� %������ ���������

�� ����������+-������������

1���� +-� � �� /'$� ��� ������ ����� ������� �� � ���� %���� �� @:'1�� ����� ���

������ �������� ��������� �� ������ ���� ��� ��������� ������ %��#��� � @:'1��

@:'1� ��� ���#�� �� �� ��� ��������� ��#� ����%����� �������&� ��� �������

��� ������������������ �� �� ����� �������� �����������������������������

�� ���� '���� ������ ��� ���� ���(�� ��� ����� &�� %��# � �� ������ /��������

Page 40: Operativni sistemi (ETF)

37

��� �������� �� ������ )� �� ����� -�� )��� ��� �� ���� �� �� ���(��� )�� @:'1� &��

����#� ����%��#��� ��������������:���������#�&����� ���������������-���

+�� ��� ��� �������� ������ �������(���)��@:'1�&������� �������� ��������

�634� �� � � ��� � �� ������ ������� B?B8-BB� � %��#� ����� ��� ���� ���� ��� ��

%��#�������������� ������� �� �������%���� �������������� ��������������

��������� 4� �� �� ����� ��������� ��� ���� ������� �%����� B?66))�� )��� ��� ��

�%����� ��� � ��� ���� ���� &�� �� � �� � ��� �� ���� ��� �� ������� ����� ����

��� ���������������%�������������#������������������������ �� ��������

:��������������������� � �������� ������� �� ����� �� �����)�������� ���

�� �� � ������ �� ����B?8�BB����� �������� ���������������� �� �����������

� �� �� ���� ������� ����� ����� �� �� ��� ����� ��� ������� ����� �����

�� �� ��%���#����� ���������� ���������������� ������������� ����� �� �����

���������������&����

@� ����� ��� ����� �� ��# �� ��������� *��� �� ������ �������� �� ��������

���������%��������������%�������� ����+��� �����������������������

��� �����%��������� �������� ����+������ ���������������� �����$@/��'��

������ ������� � %�� ������� �������� ��� ����� ������ � �%����� ��� �� ��� ���

�� ������ ��� ������� � ������ 1����� ��� ��� � ���� ������ � �� ������ �� �� ��

)�������������������������� ���� ���������� ������� ���������� ���� ����

����� �����

�� ���� �� ������ @:'1� &�� ����� � $@/� ��� ������� B?8�BB�� ���� # �� �� ��

��������������� ���� ����� �� ������������+������ �����������%���$@/.��

��� ������ ��������� ����������#��������� �������� ���������������%�����

��� �� �� ����� ����� ��(�� �� ���� ��� ��� ����� ��� %��� ���� ���� ������ ���

������$@/����������������������������%�� ��� �� �����������������������

��� � ��� ��� �� ���� ��� ��� ��� ������� B?8�BB� � ������� ��� ����� �����

��������� ��������1������%��� ������������������������������������� ���

�� �� ������%�������� ����� ����

����

Page 41: Operativni sistemi (ETF)

38

=����0=����0=����0=����0����

��3� ���� ��� �������� �� ���� � ����������� �� �� �� ���� ��� ������� ���

����������������� �L�

'������0��

• ���������������������������� �� ������������

• +������������%� ����� �����%��#�������������

• '��%��(����� ����%�� ��%��������%������������

• '��%��(����� ����%�� ��%����� ���������������

• '��%��(����� ����%�� ��%���������%� ��� ��

��4� ���� ��� �� ��������� �� ���� � ����������� �� �� �� �� ������� ��� ���

����������� �� ���� L�

'������0�

• ��(�������������������� ������� �� ������������#&������������

• '��������� ��� ������� &�� ����� � � �� ����� ���� ��� ���� ��� ����

����������

• )��������������������� �� ����������� ������������� ������

���� ���� ��� �� �������� �� ���� � ����������� �� �� �� �� ������� ��� ���

�������������"���� ����(�� �L�

'������0�

• ������������������ ����� ���� �

• )����������� ����������"����� ����(���

• /������(�������� ����������������

��5������������������� ���� �������������� �� ���������������������������

�� � ���� �L�

'������0�

• ������������������ � ����

• �������������������� ����

• +���������� �� �� ��� "������ ���� �� � %�� ���� ��� �� � ���� �� �

���� ��� ��

• $��������� � ����������"����� ����(���

• :%��(����������.������ ���������%���� �� ���%������������� ����

Page 42: Operativni sistemi (ETF)

39

��6����� �� ��� ���� ��� ������� � ����� ���L� =�# �� �� ��� ������ ������� ���

�������L�

'������0� � '�� � �� ��� ����� ��������� ��� ����� ��� �� � ���� �� %� �� � ����

��� �����%��#�������'����� ��������� �����&���� ��������� �� ������%����

'����� ��� ��� ���� ��� �������� ��# �� ��� ����� � ����� ��� �� ���������

���� ���� ����������������� ����������� ��� �� ������� ���#��������� ����

����� ����������� �

��7�,���� �� �� � ������� ���� ��������� �� �� � ����� ��� ���%����� '���� ��

��������������������%��(����������� �%�����������'���� ������� �

�������� �� &�� � � ��� ���&�� ���%��� � ���� ������� �������� �

������� � �L�

'������0�

����

� � :%��#������������� �:%��#������������� �:%��#������������� �:%��#������������� �0������������ �� ��������������������� ��� � ������

� �� �����������%��#���������������������� ����� ����� � ��������

������������������������� �����

� � � � ���� �9:� �������0�9:� �������0�9:� �������0�9:� �������0� *������ ������ ������� ���� � ����� ���(�� � �����

��� ����� � ��� ���� �� ����� � ������ ������� ����� ��� �� ��� ����"����

���(������ �������������� ��������%��#������� �������� �� ������� ���

%�� ��������������&����� ���������"�������(�������� ����������������

������� � � �� ������ ���� � ��� �� �� ��� ���� ���(��� ����� ��� ��� � ����

���� �����

� � � � ���� /�������� � ���� ��� �� �� 0/�������� � ���� ��� �� �� 0/�������� � ���� ��� �� �� 0/�������� � ���� ��� �� �� 0�+�� ��� ������� ������������������������

�� � ����������������� ������ ��������%������������������ ���������

������@������������������� ����������� ��%���� � ������� �� ����� �������

� ������� ����������@�������� � ����%�� �������������� ������ � ����

� ������(���� ��������� ��������� =�# �� ��� � ���� ��� &� ��� ��� ���%����

����� ��� ��� ��� �� � ���� ��� � �������� ������� � ��� � ���� ��� ��� �

��� ������� �%�# ��� ���������� ����������������������� ������ �������

%�� �� � ����� <�� � �� ���� � ���� ������� �� � ����� �������� �����������

������������#�������� ������������������� ����������������� ������

� � ��� ������0���� ������0���� ������0���� ������0� +�����(����� ������� %� �(�� �� �� �� %�� ���� �� � ����

������� �� �"��� ������ ���� ��� ������ ���� �� ��� � ������ � ��� ������� �

������� ���%� ��� �������� � ��� ���� � ������ ������� ���� �� ���

�����#��� � �� �� ��� <���(�� � ���� � � ��������� ���(���� ���� �� ���� �

Page 43: Operativni sistemi (ETF)

40

�������� ���#���� ������� ��� ������� �������� ������� � ��&�� �������� �

��� ��� � ������ � ���(��� � � &�� � �&� ��� � � ���� �� ��� ������ ����� �

������� ����

� � � � ���� ��*� ����� ���#��0���*� ����� ���#��0���*� ����� ���#��0���*� ����� ���#��0� *� ����� ���#��� ��� ��#���� � ��� ����������� � �

��" ������� �������,������������� ��������������������� ����� ������ �

���������������������������� ���������#����������� ������� ������������

1�� ������ ��� � ���� � ����� � � ��� ������� ��� �� ��� ������ ��� ��� ��

���� ���� ��� ������� ���������� ������ ��� � ���� ,�� ��" ������� � �����

� ��� � ����� � � ������ ������� ��� ���%� �� ��� � ���� ����� ������ ��� ��

���� ��������� � ����������� �������� ��� ���(��� ��������� ������� � �����

�������� ��� ���(���� *������ ���#��� ��� ��� �� ���������� ��%������ ����

��� ���� ������ �� ������ �� ��� ���� �� ���� ��� � ���� ��� �� � ���������

������� � ��� ��� ���� ��� � ���� �� ���#���� ���������� �� �� �� <���(���

����(��&� ���#��� ��� ����� ��� � �� �� �� � � �� ��� ������� ��� ����� ���

������������������� ���&�����#��������� �� �������� ��������� ����#�������

��8�M ������������ �� ������%��L�

'������0� 1� �� �� ��%�� ��%�������� ������� �� ��� ��������� � ����� ���

����������������� ������� �� ���

��>�M ������������ �� ����������� ���

'������0� 1� �� ��� ������� � � ���� � � %�� #���� ���� ����� �������

�� �� ������%����'�����%��(���

�������� "����������� � ��� ������� �� ��� ��� ����� ��� �#�� ����� ���� ��

������� ���������#��%���������

������� ���

��I����������������������� �������� ������ �� ���������� ������������ �L�

'������0���������� ��������� ��� ��������������� ������������ ������

����� ������� �� ������ ���������������� ����������������� ��1� �� ���

���#�� �����.�� � � � ��"���� � %� �� # �� ���� ���� � ��� �"�� �� ��� �� ���

���������� ������� �� �� �� �� �� �� ��� ���� ������� ����� ����� �� �� ���

:�"��� ������������� �� ������ �������� ����� ������� �� ���� ����� ���

��"��������������������� � ������������������#���������� ������� ����

���(��� ����� ������������������"����� ������������

Page 44: Operativni sistemi (ETF)

41

��3B� ����������������������� �%������� �� ������� ������� �� ����������

���� ���� �� ������ ������� �#��L�

��33� �=�# ������������� ����%�� ���������!.��������������� ��� ��L�

��34� �/�%� � �� �� ������� �� ���� 1!� ����� ��������� �� �� � ��� � ��

���� ����� �������� �� �������� *�� �� �� � %���� ���"��� ����� �� �� ����

��%��� ������� ������ ���� �� ��� ��� ��� ��������� ���� ���� �������� ��� ��

� �� %���� �� � ��� ����� ��� ������� �� �� ��� ��%�� ���%� �������� '���

��� ��� �� ����� ��� ��� ���� ����� ������ ����� ����� �� �� �� ��� ���� ��

����������� ����%����������������%������������ ������� �� �������#���

+������ �� ��%����� %�� � �� � �� ���� ����� ��� ���� ����� ������ �������� �

������ � %������ �� �������"��� ���L�

'������0� � 1!� ����� � �� ������ ���"��� ����� ���� ��� ��� ��� ������ � N��

�� �N�� ,������ �� �#��� �� �����.�� � ������� �� ��� ��� �������� %����

N"������ N���������������� ��������������� ���������� ����#��������������

������� �������� ����������� ��<���(������������ ������������"������

�� �� �����&�1!� ����� �#�� �%������������������� �� ���������� ������

� ����� ��������%���������������� �� ��� ��

Page 45: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

42

4. Procesi Kod ranih računarskih sistema bilo je dozvoljeno samo jednom programu da se izvršava u jednom trenutku. Ovaj program imao je potpunu kontrolu računarskog sistema i pristup svim sistemskim resursima. Današnji računarski sistemi dozvoljavaju punjenje u memoriju više programa i njihovo konkurentno izvođenje. Definišimo pojam procesa kao programa u uzvođenju. Proces je radna jedinica u modernim time-sharing sistemima. Sistem se sastoji se skupa procesa: operacioni sistem izvršava sistemski kod a korisnički procesi izvršavaju korisnički kod. Svi ovi procesi se mogu izvršavati konkurentno na procesoru koji se djeli među njima. Djeleći procesor među procesima operacioni sistem može napraviti računar produktivnijim. 4.1 Koncept procesa

• Operacioni sistem izvršava raznolike programe • batch sistem - job-ove • Time sharing sistem - korisničke programe ili poslove (tasks)

• U literaturi pojam procesa i posla se često upotrebljava u istom kontekstu • Proces predstavlje program u izvršenju i izvršenje procesa mora napredovati

na sekvencijalan način. • Jedan proces uključuje: programs (tekst sekcija), program counter (PC), stek,

sekcije podataka Stanje procesa:

• Proces u izvršenju mjenja svoje stanje koje može biti:

• new - proces je kreiran • running - proces se izvršava • waiting - proces čeka na neki događaj da se desi • ready - proces čeka da mu bude dodjeljen procesor • terminated - proces je završio izvršavanje

• Dijagram procesa stanja

Page 46: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

43

Kontrolni blok procesa (Proces control block, PCB) Za svaki proces se po njegovom kreiranju formira struktura podataka nazvana procesna struktura podataka (PCB – process control block) u koju se čuvaju podaci za dati proces. Osnovni podaci koji se mogu naći u PCB su:

• Informacije vezane za raspoređivanje procesa: (Registri, programski brojač, PSW, pokazivač na stek, Stanje procesa, prioritet, parametric raspoređivanja, ID procesa, ID procesa roditelj i grupe, signali, vrijeme pokretanja procesa, vrijeme korišćenja procesora, vrijeme korišćenja procesora za proces dijete, vrijeme slijedećeg alarma) • Informacije o upravljanju memorijom(pokazivač na tekst segment, pokazivač na data i stack segmente) • Informacije o korišćenju resursa računarskom sistema koji mogu služiti za formiranje računa po završetku procesa • Informacije o statusu ulazno/izlaznih operacija • Informacije o datotekama(korjenski direktorij, radni direktorij, deskripotori

datoteka, identifikator korisnika i grupe). Redovi čekanja procesa Proces može biti u jednom od tri stanja: • Stanje izvršavanja (Running) – to je proces koji je pridružen procesoru i izvršava se

na njemu. Takav proces se još naziva tekući proces (current process)

• Stanje spremnosti za izvršenje (Ready) – to je proces koji bi se mogao izvršavati ako procesor(i) nije zauzet izvršavanjem drugog procesa. Procesi koji su spremni za izvršenje čekaju u redu čekanja koji se zove red spremnih procesa (ready queue).

• Stanje blokiranosti (blocked) – proces se ne može izvršiti dok se nešto ne desi, recimo proces može da čeka na završenje ulaznih operacija, ili završetak komunikacija sa drugim procesom. Takav proces će biti stavljen u red čekanja na

uredjaj ili događaj. • Migracija procesa - predstavlja premještanje procesa iz jednog reda čekanja u drugi

zbog uslova koji dovode do takvog postupka

Page 47: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

44

Raspoređivač

• Raspoređivač poslova (Long term scheduler) - izabira koji procesi će biti dovedeni u red spremnih procesa

• Raspoređivač procesora (Short term scheduler) - izabira koji proces iz reda spremnih će biti pridružen procesoru

• Raspoređivač procesora se poziva vrlo često, nakon nekoliko milisekundi, a to znači da mora biti brz

• Raspoređivač poslova se poziva nefrekventno (sekunde ili minute su potrebne za njegovo aktiviranje) te zato može biti i sporiji

• Raspoređivač poslova upravlja stepenom multiprogramiranja • Procesi mogu biti predstavljeni kao:

• proces vezan za ulaz/izlaz - troši vrijeme uglavnom na izvršavanje ulazno/izlaznih operacija dok je korišćenje procesora vrlo kratko

• proces vezan za procesor - troši više vremena na izračunavanja i sastoji se od znatnih punjenja procesora (zato može značajno na napreduje)

Izmjena konteksta procesa (engl. process switch)

• Kada procesor prelazi na izvršenje novog procesa operativni sistem mora spasiti stanje starog procesa i napuniti spašeno stanje novog procesa.

• Vrijeme izmjene konteksta je opterećenje sistema, jer operativni sistem ne izvršava korisni posao u toku izmjene (može biti od 1 do 1000 mikrosec).

• Brzina izmjene zavisi od harverske podrške

Page 48: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

45

• Izmjena konteksta (context switch) ne mora uključivati izmjenu procesa. U čemu je razlika između izmejene konteksta i izmjene procesa? Izmjene konteksta se dešava kod svakog prekida i ne implicira nastavak izmjene procesa (može se nastaviti izvršavati isti proces).

Operacije koje je potrebno izvesti su: • sačuvati PCB starog procesa • napuniti PCB stanje novog procesa • očistiti keš za stari process • promjeniti adrese koje ukazuju na memoriju procesa u TLB-u.

Suspenzija procesa

Ponekad je poželjno da se izvrši suspenzija procesa, t.j. da se proces ne tretira za izvršenje na neko vrijeme. Obično to nastaje u nekim izuzetnim slučajevima rada operacionog sistema kao što su:

Sistem je pretrpan i ne postoji dovoljno prostora u memoriji za sve procese, ili ♦ ♦ Sistem je nestabilan i može uzrokovati pad, odnosno zaustavljanje rada. Ako je

proces u stanju izvršenja kad se to desi može biti teško ili nemoguće da nastavi izvršenje procesa po povratku sistema u stabilno stanje.

Da bi ovo omogućili tada se može izvršiti suspenzija procesa iz bilo kog stanja kao što je dato na slici.

Page 49: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

46

Ovde je data kompletna lista operacija nad procesom:

Create Process - koji se vrši formiranje procesa ♦ ♦ ♦ ♦ ♦ ♦

Distroy Process – završetak rada procesa Suspend Proces – prevodjenje procesa u stanje suspenzije Resume Process – ponovni nastavak procesa u stanju u kome je bio Change Process’s Priority – izmjena prioriteta procesa Block Process – Blokiranje procesa i prevodjenja u jedan od redova za čekanje (uređaj ili događaj) Awake Process – prevođenje procesa iz stanja blokiran u stanje spremnih za izvršenje Assign Process – pridruživanje procesa procesoru

Kreiranje procesa Jedna od funkcija operativnog sistema je da obezbjedi mehanizme da postojeći procesi kreiraju nove procese. Kada se ovo desi kažemo da je proces koji je kreirao novi proces, predstavlja proces roditelj. Proces koji je kreiran zvaće se procesom djete. Moguće je da jedan proces roditelj ima više procesa dijete. U stvari, čak i procesi djete mogu imati procese djete. U UNIX-u proces djete dobija sve resurse koje je imao proces roditelj ili dobija nove resurse. Međutum, postojeći resursi ne mogu se razdjeliti. U UNIX-u, kada se novi proces kreira, proces djete je kopija procesa roditelj. Novi proces može ili nastaviti sa izvršavanje kopije procesa roditelj ili napuniti drugi sliku procesa. U nastavku razmotrimo sistemske pozive fork() i exec(). Poslije kreiranja novog procesa, proces roditelj može ili čekati proces djete da završi svoje izvođenje ili nastaviti da se izvršava konkurentno (stvarno ili zamišljeno) sa procesom djete.

Page 50: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

47

Primjer na UNIX-u

• sistemski poziv fork kreira novi proces • sistemski poziv execve se koristi posle fork iskaza da zamjeni

memorijski prostor sa novim programom • Po iniciranju operativnog sistema aktivira se init process i deamon

procesi. • Poslije logiranja kreira je komandni process (u terminologiji UNIX-a to

je shell) (t.j.virtualna konzola) • Na nivou shell-a korinsik aktivira proces

Tradicionalna implementacija novog procesa Fork() je sistemski poziv koji se koristi za kreiranje novog procesa u UNIX-u. U tradicionalnoj implementaciji, on kreira novi process koji je gotovo istovjetna kopija procesa roditelja. Zašto kažemo gotovo istovjetna?. Neke stvari nema potrebe duplicirati, tako da imamo identifikacije procesa koje su različite. Sistemski poziv fork() vraća identifikaciju procesa, ID, u procesu roditelj i ID koji je jednak 0 u procesu djete. Ne računajući male razlike, ova dva procesa su veoma slična. Izvršenje nastavljaju u istoj tački oba procesa. S obzirom da izvršenje počinje u istoj tački kako sistemski poziv fork() može vratiti nešto što je različito? Odgovor je jednostavan. Njihov stek je dupliciran i različite vrijednosti koje predstavljaju identifikacije su stavljene na stek tako po završetku poziva fork() vraća različite identifikacije procesa. Različita vrijednost na vrhu steka je veoma značajna. Programeri većinom kotrolišu rezultat izvršenja sistemskog poziva fork() i na taj način određuju da li se nalaze u procesu djete ili procesu roditelj. Vrlo često procesi djete i roditelj predstavljaju vrlo različite stvari. // Primjer korišćenja sistemskog poziva fork() #include <stdio.h> #include <unistd.h> #include <sys/types.h> int main(void) { pid_t child_pid; printf("Ovo je process glavnog programa, sa PID-om %d.\n", (int)getpid()); child_pid = fork (); if(child_pid != 0) { printf("Ovo je process roditelj, sa PID-om %d.\n", (int)getpid()); printf("PID procesa dijete je %d.\n", (int)child_pid); } else printf("Ovo je process dijete sa PID-om %d.\n", (int)getpid()); return 0; }

Page 51: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

48

Exec familija sistemskih poziva Pošto će procesi “djete” često služiti za različite svrhe u odnosu na njihove procese “roditelj”, korisno je zamjeniti memorijski prostor procesa dijete, koji je kopija procesa roditelj, sa nekim drugim programom. Zamjena uključuje slijedeće korake koje je potrebno izvesti:

(1) dealociranje memorijskog prostora procesa (memorijske stranice, stek i sl.) (2) alociranje novih resursa procesa (3) punjenje ovih resursa sa stanjem novog procesa (4) Neka od stanja procesa roditelj se sačuvaju kao što su: identifikacija grupe,

maska prekida, i sl. Primjer korišćenja sistemskih poziva fork() i exec()

• fork() – izvršava dupliranje procesa da bi stvorio novi proces sa potpuno istim sadržajem kao proces koji je kreirao. Jednina razlika je u povratnoj vrijednosti sistemskog poziva fork().

• exec(ime_datoteke) –zamjenjuje stadržaj procesa sa programom koji se nalazi u datoteci ”ime_datoteke”

• Kada proces izda sistemski poziv fork() dolazi do kreiranja novog procesa. Šta više, u tabeli procesa, u operativno sistemu, će biti dodat novi process.

Page 52: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

49

Alternative sistemskog poziva fork() - slučaj kopiranja kod pokušaja pisanja Kopiranje svih memorijskih stranica koje pripadaju jednom procesu je veoma ”skupa” operacija. Ona postaje još “skiplja” ako razmotrimo činjenicu da process dijete vrlo često dealocira vel alocirani prostor da bi ubacio novi process u njega. Jedna od alternativa tradicionalnoj implementaciji sistemskog poziva fork() se naziva “kopiraj ako imaš zahtjev za pisanje” (engl. copy-on-write). Detalje mehanizma će biti razjašnjenji kod proučavanje upravljanja memorijom ali ćemo polušati da ukratko kažemo nešto o tome. Osnovna ideja je da se označe sve memorijske stranice procesa roditelj kao “read only” umjesto da se vrši njihovo dupliciranje. Ako neki od procea, roditelj ili dijete pokuša da piše preko ovih stranica desiće se prekid u kome je operativni system zadužen da napravi kopiju te stranice za process koji je pokušao izvršiti pisanje. Ova tehnika dodaje izvjestan interni rad ali spašava nas nepotrebnog kopiranja svih stranica. Alternative sistemskog poziva fork() - Vfork() Postoji i druga alternativa sustemskom pozivu fork(). Ova tehnika korišćenjem sistemskog poziva vfork() je i brža ali je opasna u “pogrešnim” rukama. Kod vfork()-a ne duplicira se niti označavaju stranice procesa roditelj, jednostavno se pozajmljuju i stavljamo ih na raspolaganje procesu djete. U toku ovog, proces roditelj ostaje blokiran i ne može pristupiti stranicama. Opasnost je što svaka promjena na strani procesa djete može se vidjete od procesa roditelj. Sistemski poziv vfork() je veoma koristan kada se koristi sa exec_(). Ovo je iz razloga što će exec() kreirati potpuno novi proces. Ovdje ne postoji kreiranje novog prostora za proces djete jer ga možete imati preko exec()-a. Ovdje se pozajmljuje adresni prostor procesa roditelj dok ne pokrene proces. Završetak procesa Proces djete može završiti na slijedeće načine: normano završenje procesa, kada ga operativni system nasilno prekida zato što je “narušio pravila ponašanja”, ili kada ga process roditelj nasilno završi komandom kill. Često procesi roditelj će završiti svoje procese djete prije nego oni izdaju sistemski poziv exit() ili kada je funkcija koju obavljaju procesi djete više nepotrebna. U UNIX-u kada proces završi onda on ulazi u stanje “mrtvila”. On ostaje u tom stanju sve dok process roditelj ne prepozna činjenicu da je on završio preko sitemskog poziva iz familije wait(). Mada umrtvljeni procesi su odustali od korišćenja mnogih resursa, ostalo je sačuvano mnogo informacija o stanju tako da process roditelj može naći razloge završetka procesa djete. U UNIX-u process djete može nadživjeti proces roditelj. Kada se ovo desi mogu nastati neznatni problemi. U tom slučaju proces roditelj nije u prilici da potvrdi završetak

Page 53: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

50

procesa djete. Proces dijete poznat je pod imenom «zombie» proces a njegov proces roditelj je već prije završio izvođenje. Init proces je zadužen za sve zombie procese dozvoljavajući im da imaju «dostojan» završetak. Često su zombie procesi poznati pod nazivom «siročići» (engl. Orphan).

Šta je zombi process

• Kada process dijete završava izvođenje on treba da potvrdi signalom (SIGCLD) svome procesu roditelj da je završio izvođenje i da izda process roditelj komandu za uništenje procesa djete.

• Međutim, ako process roditelj ne potvrdi kada je process djete “mrtav”, onda process djete postaje “zombie” process.

• Proces dijete će ostati u stanju zombi sve dok process roditelj ne potvrdi prijem signala SIGCLD i onda process djete može završiti svoje izvođenje. On to ne uradi iz nemogućnosti ( recimo, nalazi se u stanju blokiranosti 10 sekundi, ili je završio izvođenje ranije). U ovom drugom slučaju signal uništenja procesa dijete predaje procesu “init” koji će u njegovo ime proslijediti signal procesu djete da bi normalno završio.

// primjer nastajanja “zombie” procesa #include <stdlib.h> #include <unistd.h> #include <sys/types.h> /* Koristite 'ps -x' za provjeru statusa procesa */ int main(void) { pid_t child_pid = fork(); if(child_pid > 0) { /* Proces roditelj: ide na spavanje 100 sekundi */ sleep(100); /* exit(0) */ } else { /* Proces dijete: završava izvođenje odmah */ exit(0); } return 0; } Kooperirajući procesi

• Nezavisni procesi ne mogu imati efekta zbog izvršavanja drugog procesa • Kooperirajući procesi mogu imati efekta zbog rada drugog procesa • Prednosti kooperirajućih procesa su slijedeće:

• Djeljenje informacija • Povećavanje brzine izvršavanja • Modularnost

Page 54: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

51

• Pogodnost Problem proizvođač-potrošač

• Tipičan primjer kooperirajućih procesa: proces proizvođač proizvodi informaciju koja se troši od strane procesa potrošača.

• Neograničen bafer - predstavlja bafer bez ograničenja • Ograničen bafer - predtsvlja bafer fiksne veličine

• Djeljenji podaci var n; type item=…; var buffer: array[0..n-1] of item in,out: 0..n-1

• Proces proizvođač Repeat …. Proizvodi item u netp …. While in+1 mod n=out do no-op; buffer[in]:=nextp; in:=in+1 mod n; Until false;

• Proces potrošač Repeat while in=out do no-op; nextc:=buffer[out]; out:=out+1 mod n; …… troši item u netc ….. Util false;

Rješenje je ispravno ali može puniti samo n-1 mjesto u baferu.

Page 55: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

Threadovi Pojam thread-a Zadatak (engl. task) je u operativnom sistemu apstrakcija koja predstavlja stanje programa u izvršenju. To stanje uključuje elemente kao što su registri, stek, memorija i programski brojač kao i stanja koja mogu biti "izvršava se", "blokiran" i sl. Kažemo da se procesi na sistemu nadmeću za sistemske resurse, posebno procesor(e). Pozabavimo se sa drugom apstrakcijom u operativnom sistemu koja se naziva thread. Thread, kao zadatak, predstavlja odvojen dio posla u toku uzvođenja. Ali nasuprot procesu thread sarađuje u korišćenju resursa i , u stvari, djeli mnoge od njih. Možemo reći da je thread proces unutar procesa. Između ostalog, thread uvodi konkurentnost u naše programe - može postojati više upravljačkih thread-ova. Stariji operativni sistemi nisu podržavali thread-ove. Njihov rad se može predstaviti apstrakcijom proces. Kada kažemo proces, onda mislimo na akciju tipa "uradi ___, onda uradi ____, ako je x>0 uradi ____na kraju uradi ____" koja izgleda kao jedan upravljački thread. Ime "task" sugeriše opštiju apstrakciju. Iz istorijskih razloga, koristićemo riječ proces kada u stvari mislimo na zadatak. Od sada pa nadalje koristićemo riječ proces umjeto zadatak ali ćemo skrenuti pažnju ukoliko je ta razlika važna. Memorija procesa Prije nego što vidimo kako izgleda memorijski raspored za zadatak, pogledajmo kako to izgleda na primjeru procesa koji predstavlja zadatak sa samo jednim upravljačkim thread-om.

A process with one thread

Primjetimo da "heap" raste na gore kamalloc i sl.) a da stek raste u suprkoristeći pozive funkcija. Podaci kaoparametri, lokalne varijable i druga st

52

Data

User space

Program

Instruction counter

stack

registersA thread of execution of the process

da se vrši dinamička alokacija memorije (koristeći otnom smjeru kada se na stek smještaju podaci što su povratne adrese, povratne vrijednosti,

anja se smještaju na stek (engl. runtime stack).

Page 56: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

• Dio memorijskog prostora označen sa "text" sadrži programski kod • Memorijski prostor označen sa "data" sadrži globalne i statičke varijable koje moraju

biti smještene u izvršni oblik programa pošto su inicijalizirane • Prostor označen sa "bss" sadrži varijable koje se inicijaliziraju u smislu da ih ne

treba spašavati na disk - one se mogu uključiti kasnije Implementacija thread-ova Svi thread-ovi u procesu postoje unutar konteksta tog procesa. Oni djele sekciju koda, sekciju podataka i resurse operativnig sistema takve kao što su otvorene datoteke i sl. AlsvDoto Loopdi Sis Nastrkekoka

53

i oni ne djele sve resurse. Pošto se svaki thread izvršava nezavisno, svaki thread ima oje lično shvatanje steka i registara.

Stack 1

Stack 2

A process with two threads (a multithreaded process)

Data

One user space

Program

Instruction counter 2

Registers 1 Thread 1

Instruction counter 1

Thread 2 Registers 2

bra strana dijeljenja resursa je izmjena threa-ova koja je manje "skupa" nego što je slučaj kod izmjene procesa.

ša strana je da, nasuprot procesa koji imaju zaštitu izlaska iz adresnog prostora, erativni sistem ne može spriječiti thread-ove da međusobno pristupaju "tuđim"

jelovima koda i podataka jer oni dijele isti adresni prostor.

temski thread-ovi

jjednostavnija implementacija thread-ova je bila takva da oni nisu bili vidljivi od ane korisnika. Oni postoje samo u kernelu i zovu se sistemski thread-ovi (engl. rnel threads). Mnogi od sistemskih rutina su implementirani kao thread-ovi (funkcija ja obrađuje grešku stranice). Implementacija različitih funkcija operativnog sistema o thread-ova ima smisla iz mnogih razloga:

• Nema potrebe za zaštitom pošto programeri koji razvijaju kernel vjeruju jedan drugom međusobno. Treba primjetiti da će se izgubiti zaštita memorije procesa čim formiramo thread jer se thread izvodi u istom adresnom prostoru

• Različite funkcije operativnog sistema dijele mnoge resurse kernela • Oni se mogu stvarati i "ubijati" veoma brzo tako da se mogu koristiti za

izvršavanje U/I zahtjeva i drugih naizmjeničnih aktivnosti • Veoma brzo se izvodi izmjena među thread-ovima

Page 57: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

54

• Lakše je misliti o aktivnostima kernela u smislu posebnog thread-a umjesto funkcija unutar monolitnog kernela.

Korisnički thread-ovi Programeri koji razvijaju UNIX nisu mogli držati dugo korišćenje threadova samo u sistemskom stanju. Korisnicima je omogućen korišćenje thread-ova preko biblioteka thread-ova. Biblioteke thread-ova dale su korisnicima iluziju o thread-ovima bez ikakvog uključivanja u sistemsko stanje. Kada jedan proces koji sadrži thread se izvršava onda se i raspoređivač thread-ova izvršava unutar istog procesa. Ovaj raspoređivač izabira koji će thread se izvršiti i koliko dugo. Ako se thread treba blokirati, raspoređivač može izabrati slijedeći thread da izvrši unutar istog procesa. Ova implementacija thread-ova je mnogo više nego iluzija. Daje korisniku da napiše vrlo efikasne programe. Ovi programi mogu se izmjenjivati sa threadovima i djeliti resurse sa vrlo malim "overhead"-om. Da bi izmjenili thread-ove, registri se moraju spasiti i vratiti kao i izmjeniti stek. Kod izmjene konteksta operacija se znatno brže izvršava nego je to slučaj kod izmjene procesa. Druga prednost je što su thread-ovi na korisničkom nivou implementirani u potpunosti sa bibliotekom thread-ova - od interfejsa do raspoređivanja. Kernel ih ne vidi niti zna o njima.

LWP - procesi Sistemski thread-ovi su odlični za programere koji pišu sistemski kod dok korisnički thread-ovi odgovaraju mnogim potrebama korisnika ali nisu savršeni. Pogledajmo slijedeće primjere:

• Na multiprocesorskom sistemu, samo se jedan thread, unutar procesa, može izvršavati u vremenu

• Proces koji sadrži više thread-ova, od kojih bi se svaki mogao izvršavati u bilo nekom vremenu neće dobiti više procesorskog vremena od procesa koji sadrži samo jedan thread.

Page 58: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

55

• Ako neki thread unutar procesa načini sistemski poziv, svi thread-ovi unutar procesa će biti blokirani zbog izmjene konteksta.

• Ako neki thread se blokora čekajući na završetak U/I operacija ili na dobijanje resursa, cijeli proces se blokira. U thread bibliotekama se obično zamjenjuju sistemski pozivi sa blokiranjem sa sistemskim pozivima bez blokiranja kad god je to moguće da bi ublažili ovaj problem

Da bi ukazali na ove potrebe trebali bi da imamo korisničke thread-ove koji su podržani od strane kernel-a. Da pojasnimo, treba nam mogućnost za thread-ove da dijelimo resurse unuta procesa ali nam treba i mogućnost kernela da može skinuti thread sa procesa (engl. preempt) , rasporediti ga staviti ga na procesor (engl. dispatch). Ovaj tip thread-ova je poznat pod imenom korinički thread podržan od strane kernela ili lako-teški procesi (engl. light-weight process - LWP). Ovaj proces je suprotan klasičnom procesu ili zadatku koji spadaju u kategoriju "teških" procesa (engl. heavy-weight process). U ovom modelu svakom thread/LWP je pridružen po jedan kontrolni blok procesa (PCB- process control block) koji se sada može raspoređivati od strane operativnog sistema,

odnosno njegovog raspoređiva a ne interneg raspoređivača unutar procesa. Ako sistem

podržava sistemske thread-ove (bar neke, ako ne sve thread-ove koji će biti LWP), onda će vjerovatno sistemski threadovi biti pridruženi svakom LWP i ove threadove će kernel raspoređivati.

Page 59: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

56

Poređenje thread-ova i procesa

Poređenje procesa i thread-ova Karakteristika Proces Thread

Vrijeme kreiranja(u UNIX-u) � 10 ms ��1 ms Vrijeme izmjene ��1.8 ms ���0.4 ms Komunikacioni mehanizam Kompleksan Jednostavan Djeljenje podataka Ne Da Zaštita Da Ne Lokacija Isti ili različit računar Isti računar Komplesniji model U nekim modelima, takvim kao što se koristi kod Solaris-a, moguće je da se pridruži nekoliko thread-ova podržanih od kernela jednom procesu ne označavajući ga da je to korisnički thread. U ovom slučaju. U ovom slučaju process će imati više prilika da ga raspoređivač operativnog sistema vidi. Na multiprocesorskim sistemima, maksimalni nivo konkurentnosti je određen sa brojem LWP-a pridruženih procesu (naravno, ovi je dalje ograničeno sa brojem thread-ova koji se izvode unutar procesa i sa brojem raspoloživih procesora). Mada su u suštini, LWP i korisnički thread-ovi podržani od strane kernela sinonimi, Sun koristi ove termine različito. U kontekstu Solarisa, LWP je korisnički vidljiv kernel thread. Za LWP se kaže da se brže izmjenjuje od procesa ali zahtijevaju više internog posla nego korisnički threadovi bez podrške kernela. Izmjena konteksta među korinsničkim thread-ovima unutar procesa je mnogo brža nego izmjena konteksta među LWP-a. Ali, izmjena konteksta kod LWP-a vodi većoj konkurentnosti zadatka dok se threadovi na korisničkom nivou blokiraju unutar kernela tako da raspoređivač thread-ova može pokrenuti slijedeći što je suprotno principu konkurentnosti. Dijagram pokazuje LWP-e koje su pridruženi zadacima i sistemske thread-ove kao i sistemske thread-ove bez pridruženih LWP. Pored toga prikazane su i nekoliko različitih veza između thread-ova na korisničkom nivou i LWP-a pridruženih procesu.

Page 60: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

57

LWP-i nude zgodan i fleksibilan kompromis između korisničkih thread-ova i posebnih procesa. Važno je shvatiti da su oni složene strukture:

• Komunikacija, čak i unutar procesa, između LWP-a zahtijeva uključivanje kernela (čitaj, dvije izmjene konteksta)

• LWP-e raspoređuje kernel tako da blokiranje LWP-a zahtijeva uključivanje kernela

• LWP su vrlo fleksibilni i vrlo uopšteni - ovo znači da su vrlo veliki. LWP-i troše veliki rad nad resursima

• LWP-i su skupi za kreiranje i «ubijanje» zato što uključuju kernel • LWP nisu kontrolisani tako da ih korisnici mogu kreirati mnogo trošeći

sistemske resurse i dovodeći sistem u stanje da drugi procesi "umiru" zato što im se daje više procesorskog vremena nego sličnim procesima sa nekoliko LWP-a.

Primjer kreiranja thread-a #include ``csapp.h'' void *thread(void *vargp); int main() { phtread_t pid; // za smještanje novih vrijednosti identifikacija procesa Pthread_create(&tid, NULL, thread, NULL); //kreiranje novog thread-a Pthread_join(tid, NULL); //glavni thread čeka na druge thread-ove da završe exit(0); /* glavni thread završava izvođenje */ } void *thread(void *vargp) /*thread routing*/ {

Page 61: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

58

printf(``Hello, world! \n''); return NULL; } Primjer procesa sa dva thread-a (Linux OS)

main() pthread_create(one_func); pthread_create(another_func); pthread_join(thread1); pthread_join(thread2);

one_func()

thread1

another_func()

thread2

OS kernel

int r1 ; A fragment of main() . . . thread1 ; pthread_create(&thread1, …, one_func, &r1); Odgovarajući vremenski dijagram

main() one_func()(thread1)

another_func()(thread2)

pthread_create(one_func); pthread_create(another_func);

pthread_join(thread1); pthread_join(thread2);

Moguća organizacija servera sa thread-ima Primjer implementacije web server-a

Dispatcher thread

Request for work

File server process

Worker thread

Mailbox

Page 62: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

59

Port

Disks

Requests

Detaljniji prikaz u odnosu na sliku lijevo. Performanse Kod izvršavanja thread-ova koji se nalaze u dva procesa komunikacija se treba obaviti preko jezdga operativnog sistema čime se usporava komunikacija između dva procesa. U slučaju jednog procesa sa dva thread-a komunikacija se može obaviti preko djeljenih podataka pri čemu se ova komuniakcija može obavljati znatno brže zato što nema interakcije sa operativnom sistemom.

Inputs/ outputs

Process A Process B

Kernel of OS (kernel level)

Data exchange via system calls(expensive & slow)

Sending/ Receiving (user level)

Inputs/ outputs

Process

OS Kernel

Data exchange via common data (simple & fast)

Sending/ receiving

Data

Komunikacija među procesima Ovo pitanje je posebno važno kod operativnih sistema. Moderni operativni sistemi nude lepezu načina međuprocesog komuniciranja od koji ćemo neke pomenuti ovdje. U laboratorijskim vježbama za UNIX/Linux ova tema dobila je značajno mjesto i u okviru tih laboraotijskih vježbi su obrađene slijedeće tehnike međuprocesnih komunikacija:

Page 63: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

60

imenovane i neimenovane pipe-i, djeljena memorija, rad sa socket-ima, mroslijeđivanje poruka i sl.) U nastavku ukažimo samo na osnovne pojmove koji se susreću kod implementacije ovakvih mogućnosti operativnih sistema.

• Mehanizam za sinhronizovanje procesa koji komuniciraju • Proslijeđivanje poruka - procesi komuniciraju jedan sa drugim bez korišćenja

djeljene varijable • IPC omogućuje dvije operacije:

• send(message) - poruka je fiksne ili promjenljive dužine • receive(message)

• Ako procesi P i Q trba da komuniciraju oni treba da: • uspostave komunikacionu vezu između njih • izmjene poruke preko send/receive

• Implementacija komunikacione veze • fizička (t.j. djeljena memorija, hadverski bas) • logička (t.j. logičko definisanje komunikacionih veza, recimo više

logičkih veza preko jedne fizičke) Implemetaciona pitanja

• Kako su veze uspostavljene? • Može li veza biti pridružena ka više od dva procesa? • Koliko veza može postojati između svakog para procesa? • Šta je kapacitet veze? • Je li veličina poruke koju veza može podržati fiksne ili promjenljive veličine? • Da li je veza jednosmjerna ili dvosmjerna?

Direktna kominikacija

• Procesi moraju imenovati jedan drugog eksplicitno: • send(P,message) - pošalji poruku procesu P • receive(Q,message) - primi poruku od procesa Q

• Karakteristike komunikacione veze • Veza se uspostavlja automatski • Veza je pridružena tačno jednom paru komunikacionih procesa • Između svakog para postoji tačno jedna veza • Veza može biti jednosmjerna ali je obično dvosmjerna.

Indirektna komunikacija

• Poruke se šalju i primaju preko mailbox-ova (poznatih i pod imenom port) • Svaki mailbox ima jednistveni ID • Procesi mogu komunicirati samo ako djele mailbox

• Karakteristike komunikacione veze: • Veza se uspostavlja samo ako procesi djele zajednički mailbox • Jedan veza može biti uspostavljena među više procesa • Svaki par procesa može djeliti nekoliko komunikacionih veza • Veza može biti jednosmjerna ili dvosmjerna

Page 64: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

61

• Operacije • kreiraj novi mailbox • pošalji i primi poruke kroz mailbox • uništi mailbox

• Djeljenje mailbox-a • P1,P2 i P3 djele mailbox A • P1 šalje poruku, dok P2 i P3 primaju • Ko će dobiti poruku?

• Rješenje: • Dozvoli da jednu vezu koristi bar dva procesa • Dozvoli jednom procesu u vremenu da izvrši prijem poruke • Dozvoli sistemu da izabere važećeg prijemnika. Pošiljaoc je obavješten

ko je primio poruku Baferovanje

• Red poruka pridruženih jednoj vezi može se implementirati na jedan od tri načina

• Kapacitet 0 - može da primi nula poruka. Pošiljalac mora čekati od prijemnika da primi poruku (rendezvous)

• Ograničen kapacitet - mailbox može da primi n poruka. Pošiljalac mora čekati ako je veza puna (mailbox)

• Neograničen kapacitet - beskonačan broj poruka se može prihvatiti. U ovom slučaju pošiljalac ne mora čekati.

Izuzetna stanja - Oporavak od grešaka

• Završetak procesa • Gubitak poruke • Poruka je uništena (podaci stigli u pogrešnom rasporedu i sl.)

Zadaci 4.1 Nekoliko popularnih mikroračunarskih operacionih sistema obezbjeđuje malo ili nimalo konkurentne obrade. Prodiskutuj osnovne komplikacije koje će konkurentno procesiranje dodati operacionom sistemu? Odgovor: • Metoda dijeljenja vremena (time-sharing) mora biti implementirana da bi dozvolila

svakom od nekoliko procesa da ima pristup sistemu. Ovaj metod uključuje pražnjenje procesa sa procesora koji ga nisu dali dobrovoljno ve koriš enjem npr., sistemskih poziva. Kod kernela je višeulazan (reentrant), tako da više procesa mogu izvršavati kod kernela konkurentno.

ć ć

ć

č

• Procesi i sistemski resursi moraju imati zaštite i moraju biti zašti eni jedan od drugog. Bilo koji proces mora biti ograničen u iznosu memorije koju može koristiti i operacijama koje može izvršiti na uređajima kao što su disk.

• Potrebno je provesti brigu da se sprije e zastoji među procesima tako da procesi ne čekaju jedan na drugog za alocirane resurse.

4.2 Opišite razlike između kratkoročnog (engl. short-term), srednjeročnog (engl.

medium-term) i dugoročnog raspoređivanja (engl. long-term)?

Page 65: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

62

Odgovor:

• Kratkoročno raspoređivanje (raspoređiva procesora) - izabira proces u memoriji i to one koje su spremni da se izvrše i alocira im procesor.

č

č ć

čč

ć

• Srednjoročno raspoređivanje se koristi posebno kod sistema sa raspodjeljenim vremenom kao jedan među nivo kod raspoređivanja. Šema swapp-ovanja se implementira da bi uklonila djelomično završene programe i nastavila ih kasnije na mjestu gdje su bili prekinuti.

• Dugoro ni raspoređivač (raspoređivač poslova) određuje koji e posao biti donesen u memoriju na obradu.

Osnovna razlika je u frekvenciji njihovog izvršenja. Raspoređivač procesora izabira veoma često novi proces dok raspoređiva poslova mnogo manje pošto se on bavi smještanjem posla u sistem i može se desiti da eka da se predhodni posao završi da bi slijedeći posao bio ubačen u memoriju. 4.3 Računar DECSYSTEM-20 ima višestruki skup registara. Opišite akcije kod izmjene

konteksta ako je novi kontekst napunjen u jedan skup registara. Šta se još može desiti ako je novi kontekst u memoriji umjesto u skupu registara a svi skupovi registara su u upotrebi.

Odgovor: Tekući skup pokazivača na registre procesora se promjeni da bi pokazivali na skup koji sadrži novi kontekst i ta operacija je veoma brza. Ako je kontekst u memoriji, onda jedan od konteksta koji su u registima mora se izabrati i premjestiti u memoriju da bi novi kontekst mogao biti napunjen u skup registara. Ova proces traje nešto duže nego kada se novi kontekst nalazi u registima i zavisi od načina izbora konteksta koji treba izubaciti iz skupa registara (kontekst kojeg procesa treba biti izabran). 4.4 Koje dvije prednosti imaju thread-ovi u odnosu na višestruke procese? Koje su

osnovni nedostaci koje oni imaju? Navedite jednu aplikaciju koja bi mogla imati koristi ako upotrebljava thread-ove i jednu koja ne bi imala koristi od njihove upotrebe?

Odgovor: Thread-ovi su vrlo "zgodni" da bi se kreirali i unuštili i dok postoje, koriste veoma malo resursa. Na primjer, oni koriste vrijeme procesora ali nemaju potpuno odvojen memorijski prostor. Nažalost, thread-ovi moraju vjerovati jedan drugom da ne oštete djeljene podatke. Na primjer, jedan thread može uništiti podatak na koji su svi drugi thread-ovi povezani. Isti slučaj se ne može desiti sa procesima bez obzira da li koriste sistemske mogu nosti koje im dozvoljavaju da dijele podatke. Bilo koji program koji može uraditi više od jednog zadatka odjednom mogao bi imati koristi od multithreading-a. Na primjer, koji čita ulaz, obrađuje ga i smješta na izlaz bi mogao imati tri thread-a, po jedan za svaki posao. Procesi koji se izvršavaju sekvencijalno u njihovoj prirodi ne bi imali koristi od multitasking-a, na primjer, program koji ispisuje vrijeme. 4.5 Koji se resursi koriste kad se thread kreira? Kako se razikuju od onih koje koristi

proces kad se kreira.?

Page 66: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

63

4.6 Opišite akcije koje provodi kernel kod izmjene konteksta?

a) Među thread-ovima b) Među procesima

Odgovor:

a) Kontekst thread-a mora biti spašen (registri i ostali podaci, recimo računovodstveni podaci ako postoje) i drugi thread-kontekst mora biti napunjen.

b) Isto kao pod a) ali ovdje treba biti spašen kontekst memorije i onda se može slijedeći proces napuniti.

4.7 Koje su razlike između thread-ova na korisničkom nivou i thread-ova na

sistemskom nivou (thread-ovi podržani od kernela)? Pod kojim okolnostima je jedan tip bolji od drugog?

4.8 Algoritam proizvođač - potrošač dozvoljava samo n-1 bafera da bude puno u bilo

kojem vremenu. Modificiraj algoritam da dozvoli svim baferima da se u potpunosti iskoriste.

Odgovor: Djeljene strukture su kao u rješenju datom u ovom dijelu stim što treba dodati slijede e: ć

č

č

Boolean full[n] Pri emu inicijalno je full[i] =false za svako i. Proces proizvođač ima lokalnu varijablu nextp u koju se novi element koji se proizvodi smješta. repeat ... produce an item in nextp ... while full[in] do skip; buffer[in]=nextp; full[in]=true; in := in+1 mod n; until false; Kod za proces potrošač može se modifikovati na slijedeći na in: repeat while not full[out] do skip; nextc = buffer[out]; full[out]= false; out = out+1 mod n; ...

Page 67: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

64

consume the item in nextc ... until false; 4.9 Razmotrimo šemu međuprocesne komunikacije gdje se koriste mailbox-ovi.

a) Pretpostavimo da proces P želi da čeka na dvije poruke, jednu od mailbox-a A i jednu od mailbox-a B. Koji niz direktiva send i receive će se izvršiti?

b) Koji niz direktiva send i receive bi trebao izvršiti proces P ako želi da čeka jednu poruku ili od mailbox-a A ili od mailbox-a B (ili od oba)?

c) Operacija receive stavlja proces u stanje čekanja dok je mailbox neprazan. Ili smisli šemu koja će dozvoliti procesu da čeka kad je mailbox prazan ili opišite zašto takva šema ne može postojati.

4.10 Razmotrimo operacioni sistem koji podržava i IPC i RPC šeme. Dati primjere

problema koji bi se mogli riješiti sa svakim tipom šeme. Opišite prednosti vaše metode?

Informacije na web-u Process Scheduling in the Windows operating System (http://www.gfdi.fsu.edu/~hitoshi/cop6611/node9.html) Interprocess communication - semaphore tutorial (http://freya.yggdrasil.com/bible/info-html/ipc_toc.html) Computer science department web servers – (http://www.cs.haverford.edu/CS-Departments.html)

Page 68: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

65

���������� ��������������������� ��������������������� ��������������������� �������������������� ��� ��� ��� ������������������ ������������� ������������ ���������� ��������� ������� �������� ������������� ����������� ��������� ������� ����������������� ����������������� ����������������������� �� ��� ���� ����������������� ��� ���������������� ������������������������ �� ������ �������� ��������������� ��������� �������������� � ������ ���� �� ������ �������!�������� �!���������"�������������������#��������$����� �������������������������#������������� ��� ��#��������#� ����� �$� ��������� ��� ����� ����� �� �� ���� �� ������ ������������������������ ���������#� ��%���������&����������'��� ������� �� ������ ������������ ��������������������!����� �!�� ����������� ���� ���������������(����������������� ��������$�������������������������� ���������� ��� ���)��������� ����� ��� ���� �� ��� �� �!� ����� �� ����� ������ ��� �� ����� ������ ��� �� )���� �� �� � � � ���������� �� !���� �!� ����� �� ���� !��� �� ����������$� � � � �� ��� ������ � ���� � ������� ��� �� !� �� ����� ������ ���� �������������� !�����*+���#�� ����������#�����������

��������� ������������ !� ��������������� ������������ !� ��������������� ������������ !� ��������������� ������������ !� ����������������(������������������������������ �� � ������������� ��� � �����,����� �������� ��������� ���������������(����������������� �������� ��� � ������ ������������������������$��������� �� !� ������*+���#�� ���,����� ������ ��� ��������� ������������*�������

�������� ����������������� ����������������� ����������������� ���������������������� ��� ������� �� ��!� ���� �� �� ���������� ������ ������������ ������ ������������ ������ ������������ ������ ��� ���� ������ ��� ����� � � �� ��� -����� .�/0� �� ��#���1�� ,������� � ��� ������ ���� �� ��� �������������������������� � ����������(��� ������ ���� �� ���������� ����� ������� �� !���� ������ ���� ���� ��������� ������ ���� ������ ����� ��� � �������� ' ��� ���� ������ ���� �� ����������� ���� �� � ������ ��� ��� �� ������ ��� ������� -����� ���0����� ���#���1��2��� ��������������� ������� �� �3�� �

• �������������������������������� �������������������• ������������ !���� �����

�4���� ������ ���� ������ #�� ���� ��� � ��� ��� �������� ����� ����� �� �� !� ����������#�� ��������� ������������� � � �� !� ����� � ���� ����������� �-+5��0��������� ��� �����1��������������� ������ ������ ��������������� � ������ ����������������� ���� ���������� ����������������� �� !� ������������������ !� �����

Page 69: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

66

�� ��������$������� �������� ����#�� ������� �������� ���� �������������������� ������� � ���� ' �� ��� � �� �������� ���� � ����� �������� ����� ����� ��6������� ���������� � �������������� � ��� !� ���������������������� ��� ��� �� ����� � -����� ����� � ��#���1� � � � �� ���� ����� ������������ ����������� �3��

7�� ���������� �����������������������������������������8�� ������� !� ��� ����� �����9�� ���������������������� �!���������������� !� ����������������� ����:�� ������� �� �!������ ������ ��� ������� ������������ ���������� ���� ������

!�������������������� ������!������ ����� �����������)���� ����������������������������� �!��� !� �������#������ �������������������� ��� ������ �� ����� ����� �� �������������� � �� �� �� ' �� �� ����� �������� ����� � � � �� ���� � ��� ������ �� ������ ���� ������� ������� �������� �����;��0���

��������

������� ����� �������� ��������#� ������ ������������#� ������ ������������#� ������ ������������#� ������ ���� ���� ������ ���� ��� �!� � �� ���-����� � #��#0� �� ��#����1�� ��������� ������ ��� ��� �!� � �� ��� ���� �(+<0�� ������ ���/�����6������ ���� ��������������������=�� ��������� ���������������������������� �����=�� ���� ������� ��������������������� �!���������������� ����� ��� ���$���� ������������ ���������� �#��� � ��� ��� ����� ��-� ��� ������������� �������������������� ������������������ ������������������ ������������������ ��1���

��������������� ������ ������ ��� ������+>)�������� ������������ ������������� ���'������������������������������������������������?��� ������������#������ ������������������ !������������������� !� ������������������� ������������������ �����4�������������� ������������������������ ����������������������������� ��������$������������#�� ���������������� ����������������������������#������������������������ �������

����(��������������������������������� � �������������������������� �������������������#������� ���������������������� ������ �����������

Page 70: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

67

��������4����4����4����4�������������� ������ ��� ������� ����� ����� ����� ���� �� ���� ��� �����$� ����� �������� ����� ������� ��� ��� ������� �������� ������ �������� � �����������������������������������3��

7�� +�� �������������8�� �����������������������������9�� 5���� ��� ���� ������� ��������� �� ������� ��� ��� ������� ���� ����� ���

�� !� �������������!����� ���� ���� ������� � �� !� ����� � �#� ������ �� ���� �� ��!����� �������������� �� ������ ������ ��� ������ -����� �������#� �����?1�� @����� �� ��� � ����!�������������������!������ ������ ����������������������������� ��������� � � ��� ����� � ����� � �� !���� ������� �� ������� ��� ���������� �� ����� �� �� � ������������� �� ��� ������ ��� ��� �� ���#� ��������� ����� �� �!� ����� � �� �� ��$� ���������������� ��� ������ ��� � ����������������������� ������ ��������������� �������������������� ��������������� ��� ���� ������������������������������������������� � ����� ����������������������� � ����������������� ���

���������������� ���������������� ���������������� ���������������� �������������������������� �������� ��������� ��������� ������������� ������������� ���(���������� ��=� �������������� ����������������$����������������� ����!� ��� ��� ��������� ������� ��!��� ������� ��������� ������������ ����� ��������#� ������������������!���=�� ��� ������ ������������ �������� ��������������� ��#�������3��

• +����!��������+����!��������+����!��������+����!����������3���3���3���3�;���������� ����������������� ��������!����� � ����� ����������� �� +����!���� ������� ����� ���� ������� � ����������������������

Page 71: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

68

�• ����������-������#���#���13������������-������#���#���13������������-������#���#���13������������-������#���#���13��@��������������������������=�� ����

�������� ����������� ������� ������������������������ !���������������� � ����' ������� ������� �������������������������� �������� �������$� �������$� ����� ������ ��� ���� ����������� ���� �� �������� ��� �� ��� ����������$� 6�� �� ����� ������ ��� �����!�������������������!������������������������ !������������������!��������� ��� ������������� ������������

�• "��� � ������3� �"��� � ������3� �"��� � ������3� �"��� � ������3� � ���������� ������ � ���� �� �� !� ���� �������� ������

� ��� �� �� ���� �������� ����������� �� ������� �������� ��� ������ ������*������� ' �� =������ �� �� ��� ��� �������� �� ������ ������ "��� �������������������� ��� ��� ��������������������������

�4=������ ��������������� �3��

• "��� ��� !����-6����������� 1�"��� ��� !����-6����������� 1�"��� ��� !����-6����������� 1�"��� ��� !����-6����������� 1�0�������� ��� �������� !������������

• "��� ����� ���-���������� 1�"��� ����� ���-���������� 1�"��� ����� ���-���������� 1�"��� ����� ���-���������� 1�0�������� ��� ������������� !� ������������������ ������ ������� ���-��� ������������������������������������������������� ����������� � � ��1�

����

'���� ��������������'���� ��������������'���� ��������������'���� ����������������������

• )����� ����������!������������ )����� ���������������• )���� ����� ��� ��� !���� � )�� ����� ��� ��������• )���� ����� ��� ����� ���

2������ �������� ����2������ �������� ����2������ �������� ����2������ �������� ���������,����������������������������� �������������������� ����#��0� ��������������� ��� �������������������������������#��� ������� ������������� � ���������

�A+A'�-A����+�$�A����'��1�����A;A5�-A����;�� $�A����5 1A+A'�-A����+�$�A����'��1�����A;A5�-A����;�� $�A����5 1A+A'�-A����+�$�A����'��1�����A;A5�-A����;�� $�A����5 1A+A'�-A����+�$�A����'��1�����A;A5�-A����;�� $�A����5 1�����A;A5������������ ������������� ��+� ������� �����������������������������������������$������������� �������������6#������� �� ��������� ������������������# �����������$���������������������#��������5�������������������� ���������������������������������������������2������� ������0����� �-����� ���������������1�������������������� �������������������������$����� �����$�������������� ���� ���������� ������ ���� ��� !���� ����������������������� ������������������������������������������ �!�������������������#������������ �����������������������������' ����������� ���������� �������� ��� ������������������=�������� ����������� ��������������� ���������������)�����$���������������������������3��

Page 72: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

69

• ��!���������������� ��� ���������� ���������������� ������������������� �����$������ ��� ����������� � ��� ������(��������������������$�� ����������� ��� ������������������

• ��!������������� ����0����� �� � ���������������� ������������ ��#������ ���4��������� ��� ������������ ��� ����� ����������������

• )�������������!���$�� ����������������������������������������������������� �� � �������������� �� � ����������������#������� ����#��������*������������ ������� !� ����������������������� ��������������������������� �������������' ���=��� ������ �����������=�����-�������� �?�==��1$����������������������������� ������������*�������������������������� ����������������������

���� �3��

� � � ������ "��� ��� !� �������� ������ � � � 000000000000� 00000000000000000000000000�� � � � �����7� � � 8:�� � � � �����8� � � ��9�� � � � �����9� � � ��9��

• ������� �� �������������� ��������7$�8$�9��B����0� �������� ����� ������������� ������3�

�• "��� �����������������7CDE��8C8:E��9C8F�• 5���� ��� �������3�-DG8:G8F1*9�C��7*9C7F�• ������� �� �������������� ��������8$�9$�7�• B����0� �������� ����� ������������� ������������� ���3�

�• "��� �����������������7CHE��8CDE��9C9�• 5���� ��� �������3�-HGDG91*9C9�• )������������������#����� ���������• ;�� �?�=����0���������������������#�������

Page 73: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

70

����������� �������������� �������������� �������������� ������������������������� ���� ���� ���� �������� ����� ���������������� �� ����������������������������������� � ��������� ���������� �� ����� � �� ��������������� ��� � �������� ���� �� �������!�"������� ���� �������#� �� ������� ���� ����������� � ��!�$����%�������%���� ����� � ���� ����������� � ������ ������ ����� ����#�� %������������ � ���� �����&����&�#�����������#� ����!���'�����(����������������������#������ ����������� ��������� � ��������� ����� � �� !�)�� ������� %��� � ������� ������������� ������� ��������������� � �������������������� ������ � �� !���*������������������ ���� ���� ��������� ���� � �� �!�* � ����� ��������������� � �� ������������� ����� � ��������� ��� ����� ���� ���#� %����!�+�������������� ���� �#������&� ��������� ���� �� ������ �� �� ����&�����!��� ���� �� ���������� ���� �����,-��!��*������������%�� �.�

• ���� ������������������������� � ���������� � �� ����� ���������� ��������������#�� %��������#��/�����

• � ��������������������� � ����� ����� �� �� ���� ��#� %��������� � �� �������������� � �����������#� %������������ %���#� ������ � ������� � �� �!�"���%�� ����#��������������� ����,�� �������-������ ����,-��!�

������������� ��������������������� ���� ����������#������������ � �����������* �� �� �#�����* �� �� �#�����* �� �� �#�����* �� �� �#������.�.�.�.������ * � ��� 0 ���� ����#����� � 0 ���� ���#� %������ ������������� ���������������������� � ������������������������ ���*1� � �������2!2� � � � 3�� ���*4� � �������4!2� � � � 5�� ���*6� � �������5!2� � � � 1�� ���*5�� � �������7!2� � � � 5��

• ������#�� ������������ � �� ��������#�� ������������ � �� ��������#�� ������������ � �� ��������#�� ������������ � �� ����������

����� � ������� ���� ����������8��29:9693�;5�8�5���������������������������� ����

Page 74: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

71

• ����������������<<<<���� �������� ���� � �� ������ �������� ���� � �� ������ �������� ���� � �� ������ �������� ���� � �� ����������� * � ��� 0 ���� ����#����� � 0 ���� ���#� %������ ������������� ���������������������� � ������������������������ ���*1� � �������2!2� � � � 3�� ���*4� � �������4!2� � � � 5�� ���*6� � �������5!2� � � � 1�� ���*5�� � �������7!2� � � � 5�����

����� � ������� ���� ����������8��=919294�;586���� ��������"� �/������������������������#� %����������� � �� �"� �/������������������������#� %����������� � �� �"� �/������������������������#� %����������� � �� �"� �/������������������������#� %����������� � �� ���������

• >�������� ��� � ���������������• >����������# ������� ������������ ������������������� � �� ��

�� �%������ �������� �������� �����������1!� ���8���� ���������������������������� � �� ��4!� ��91�8�� ���������� ��������#�������������������� � �� ��6!� �(�2?8�?81�5!� ������%����

�� � � ���������91���91���91���91��8�����8�����8�����8���������9�����9�����9�����9���1��1��1��1������������������������������������@��� ����������%�����!�� ������������* �� �� �������� �������� ����������.* �� �� �������� �������� ����������.* �� �� �������� �������� ����������.* �� �� �������� �������� ����������.��������

• �82�• ���91�8�����• * ����������� ����������#��������#� �

�• �81�

• ���91�8�����• ) ������������ �������������������� � �� ��

�• A���� �%� ������ ���(����������

����91�8�����9�1�������1�9B 9�1�����������9B 9��1����91��2��

• *�%������������1����� ����������������1�������� ������������ ��� ������������������������� ���������!�

����������������

Page 75: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

72

��� ������ ������ ������ �������-���-���-���-�������-�-�-�-�����C��������C��������C��������C�������������� ����-C���� ����-C���� ����-C���� ����-C�������"����� � ����������#�� %�����#��/������ ����#� %��������������������� �����!�� ����� � ������#� %��������������� ���� � �����#����������� �����/���� ���#���� �#����#;�#�#!��A����������������(�� ���� ��� � �� ����������� ������� � ���������#�������� ����!���* �� ������� ��� �/�����������!�* �� ��D�� ��������* �� ������� ��� �/�����������!�* �� ��D�� ��������* �� ������� ��� �/�����������!�* �� ��D�� ��������* �� ������� ��� �/�����������!�* �� ��D�� �������������*,E��*,E��*,E��*,E������* �� ������� ��� �/���������������� � ���� �/����� � ��!�0�������� � ���� ����������#� %������� ����� ������������� � ��!�A������������ ������ ��� �/������������ ���� ��������������� ��������� �� � ������ � �� �(��������������������������� ������������ � ������ � �� ������������������#� %�����!��'�������� ���� ����������� �������������������&��� ����&�� � ��!�>���������������� � ���������� �� �� ������ ��������������#� %��������������� � �����������#�!�,��%������������ � �����������#������������������ �� ����������������/����� ���������� �����#� %������!�A�����<��� ������ � ���!������,����� ����� ��� �/�������,����� ����� ��� �/�������,����� ����� ��� �/�������,����� ����� ��� �/������������,����� ����� ��� �/�������� ��������� �� ���������C������ ������%���� ���������� � ������ � �� �!�* � ������� �/������ ��������������������#������C���!�F����������C����� ������������� � ������� ������������� � ��� ��������� ��� �/��!�F���������� ����� � ��� ������ ���� ������� � �������������� ��%������� ��!���,�#�������%������������ ������������ � ���� ��� �� ���������������#����������� �����12����122�� �!�A���� � ���������������#� %����������%�������������������� �� ����������� � ��������%���������#������ ���������� � ������ � �� �!�'���������� ��� �/������ ����� ������������������ � �������������� ���������������� � �� !�"����� ������������� �� �� ���������������� �� � ��������C��������,���������������� ������ %����� � ����!���A������������� ����� ��� �����������#��������� ��������������!��A����������'�� � ����� ������������������������� � ���#� %�������������� �������� �� � �� ��� #���� �1;'!�"���������������#�������������� � �� �!���������� � �� �!���������� � �� �!���������� � �� �!�'�������� � ������������%��������'�1�GH�� �� ������������� �!�A������H�� ��(������H�� � ������������������������#� �� �����#� �������������(����������� ����� ������� ������������������!���A������������� ����� �����(������������������������ � ���� ����#�� %�������� ����������������� �(������� �������� ������ ����� �������C����� ������ ����������!��0 �� ������������ �� ����������#�� ����������� ����������������!��* �� �� .�,,���� �� ����� �������� �� �8�42�� * �� �� .�,,���� �� ����� �������� �� �8�42�� * �� �� .�,,���� �� ����� �������� �� �8�42�� * �� �� .�,,���� �� ����� �������� �� �8�42�� ����� * � ��� 0 ���� ���#� %�������� �� ������������� ������������������������ ���*1� � � 76�� ���*4� � � 13�� ���*6� � � :I�� ���*5� � � 45�

Page 76: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

73

�• J����������� �� ��#�����������

���

• -������(������ ������� ���� ���#� %�����������,-����������� ���� �������� ������,��� �/�����������%������������!�>�,��� �/�����������%������������!�>�,��� �/�����������%������������!�>�,��� �/�����������%������������!�>�������K������ �������������K������ �������������K������ �������������K������ �����������>K��>K��>K��>K�������>K�� ��� ����� ����� �� ��� �/�������*,E��#�#���%��� �� � � �������� ����� � �� ���� ���������� � � �� ������!� '�� � �� �� (� ��� ���� ��� � � ��� � ���� �� ���� ��%�� � �� ����� ������� ���������� � ��(������������� ���������� �� ��������� ������ ����!���� ���� � ��!�* � ��� �#�������� �� ��������� ��%������� �#������ �������������!��)������ ������ ��� ���� �(����� � ����� ��������������%���� �� ������� � �������#� %����� ����� � �������������#������������� � ������������������� �� �����!��"����� ������ ��������������&��� ����&�� � ������������������������ ��� �/�������*,E!�)������ ������ ���� ���� �� ���� ������ ���#�� ��� � ��������� � � ��� �� � � �� �(� � � ��� ������� �� �� ������ � ��� ��������������� ��� �������� �������� ������������ � ��������� �� �����!��

�� ���� � ����� ��� ��� �� ������ � �� ����� ����� �� � �/�� �������� �������!� ,�������������� �� ��%�� � � �� ������ � � ���� ��������� ��%��� � �� ����� �������� ��� ���������������������� �� �� �����!�"����� ����(���������������(�� ������&��� ����&�� � ��!���,��� �/�����������%������������� ����� �� ���� �,��� �/�����������%������������� ����� �� ���� �,��� �/�����������%������������� ����� �� ���� �,��� �/�����������%������������� ����� �� ���� ���������!�>������������� ��K�����>�K�����!�>������������� ��K�����>�K�����!�>������������� ��K�����>�K�����!�>������������� ��K�����>�K������)������ ������������>K������������� �������� � ����#��/�������!�-��#��������������#����� � ���� ��%������� ��������������������������� ����������������� ������������������ � ��������������������������!���

Page 77: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

74

F����������� ��� �/�������>�K(�� �� ������� � ������ ����� ����������������� �#�������� �%������� � �� �!�* � ��������#������������%��� � �� ������������������������ � ������������#����#����#;�#�#������������/����� � ����� � �� ����� �����(���������� �����������!��"������������ ��������� ������ � ����������� � ��������������#����#����#;�#�#�� �� ����������������������� ����/����� � ���� ��������������� � �������#���� �#��� � �� !��*���#������� ������������� �����&�������&��������!��,��� �/�������� �/�� �#������ � ������������������ �������#������ �� ����� ������������ ����� ����� �� �������������!�,��� �/������������ ������� �������������(�����/�(��� ����� �������!���>���������������� ��� �/�������#������ ��#�����(�����������%���� ����������!��"���������������� ��� �/����������������������������� ��� �� �� �� �.��

• L ���� � ���������������• ������� ��#�� ��� �/�������������� � ������������• ������� �#�� ��� �/��������#��/�� ��������������• ������� �������#������ �� ������� � ����• ������� �#��� ��������� �� ������� � ���

����

* �� ����������� #���* �� ����������� #���* �� ����������� #���* �� ����������� #�������

>�������� � ��������� ��������������� ����� �� �� �����,-"��<� ������ ����� ������D����� �� ���� ��� �/����� �� � �������� � �� � � �� �� ����!� � ���������!� "��������� � �� ������ ����� � � � ��� ���������� ����� � �� �����!� ,��� �/��������#���/���� ��� ��� � ������ � � ��� ����� �� ���#�� �� ���� �������� ��� � � �� (�� � ������������ �� �� ������ ����#��� ��������������� � �� !�������� ��������������������� ���(� ��� �/����� � �������������������������� � �� �(���� � ��������� �������� �� ����������������������#� %������!��

$���� ����� %��� � � ��� ����� �� �(� ����/���� ����� �� ��%������ �#���� ���� ��� ��� �/������� ����� ���������#� %������� � ������� � ����������� �� �������������� ����!�A������������(�� � ������������� ������� ����������� ��� ���������������

Page 78: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

75

���� �%��!�* �� ����������� #��������� ����#�� ��� ���������� �� ������ � ����������� �� �������������������������#� %����� �������!��

��������� �� ����������� �� ����������� �� ����������� �� ������

* � ��� � ���� ��� ����� �� �� ��� ��� ������ � ��� �� �� �/����� �������!� A����������� �������� �� ��� ������������������� ����������������� ������� �� �����������������������!��

)� ���� ����� � ���� �(� ���� ���� � � ��� ������ �� (� ������ ���� � ��� ����� ���� (� ��������������� ���� ��� /�������#� ������� �� ������ �(��������������������������� ���������� �� ����!�0������ �� �������� � ��������������������������%������� ������� ���(�������� ��� � ������� � ����!� >�/����(� ���� � � �� �� ����� � � �� ������ � �� ������������������� �� ������� � ���������� � ���������� �� ���#���#� %������������%��� �� ������� � � �� � � �� ������� ��� � � �� ����� �� �� ����� � �� ����� ��� #�� %�� ���� �%������ � �� �!�F���������� �� ���������� � ���������� �� !�A��������� � ���� � � �� �#� %���� #�� ����� �� �/���� � ���� �� ����� �� � � �� �#����� ����� �� ��� ���M������������N�#������������� �� �����#��������#� �� ����� �� �����������!�A����������������� �� ����������������������(� ��� ����������� �� ��� � �� ����������� ����������!�

* �� ����������� #����* �� ����������� #����* �� ����������� #����* �� ����������� #��������

* ���� � ���� � ������� ����� � � �� ������� ������ � �� ������ �#�� �� �� � � �� ��� � ������� ���������������� �� ������������� ���(��������� ��(��������� �� ���������� � ����%���� �� ����������!�����#� �� ���� ���� � ��������� �� ������� �� ���������#� %�����#� %������� � �� �������������� �� ���������#����������� �����������#����� �� ����������� #���!��

"����������� ������/���������� � ���� ��� � �!� * � �������� � �� ������ O� �� �������� �� ������ P� ����� ���� �� !�*�%��� O� ��/�� ��� �� �(�� � ��P��������� �� ���������#� %�!�>�/����(�� � ��P�� � �� ������� ��� � � �� O� ����� #�� %�� �� ������� �� (����������������� �� !�* ��������� � � �� O� #�� %�� �� �� ��(� � � �� >� �������� �� ��� ��� �� �#� %�� ���#�� ������� � �� ��� � ��

O!�������>��#� %���(���� �������%�� � ��������>(�� � ��P����������� �� �� ������ ������������!��

>������ �� ����������� #��������#���������������� ��# ��������%�������� � ������������ �����������#� %������ ���� �!�A������������� �� ����������� #������%�������# ������� ������� ��� ���� �!� -����� ����/��� �� ����� ��� � ����� >A,�� *�������� � 1==3!� "��������������#����������� ����� �������� �#�� �������������������#�� ��!��

����

Page 79: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

76

,��%������ �� ����������� #���,��%������ �� ����������� #���,��%������ �� ����������� #���,��%������ �� ����������� #�������

E� ��������������� �� �������� ���������������� ��%����.�* �������#��������/������/������/������/��� � ������� � ������� � ������� � ���������������� � ��������� �� �� ������ �����/����� �� ������ � ����������� �� ��������������������������� �� !�"����������������� �� � ��P�������������!�"����� �����#���������� %������ ������������ �!��

� ���� ��%����(���#!�� �� �������� �� �� �������� �� �� �������� �� �� �������� �(��������� �� ������� �� ���������� � �� �!�,��� �/����������� ������ �� ����� �� ������ � �������� ������ �� �!* �� ������� �� ����� �� ������ �� ������ ���������������� �� �� ������ ����������!�F����������� � ��#�� %��������������� �� ������������������������������!��

,��� �� �,��� �� �,��� �� �,��� �� �����

,����(�J���!�&,�.�Q����,��D�P�����������>� R(&�,����� �� ������(�0��� ��1=.�E���7I(������ D�1==I!��

����O!(�,!�,������ (������!*!�O��� #�D!�&* �� ��D�E��� ���� ��* ��� �.�A��A�� �� �����,���-�����D� � ���#�����((&�ESSS�- ��� ��������C������ (��������� �1==2(��!�1137!��

����)������ ��� �/�������� � �������)'ET)������ ��� �/�������� � �������)'ET)������ ��� �/�������� � �������)'ET)������ ��� �/�������� � �������)'ET�������������E�� ������� ��� �������� ����� �#������� ���� �������� �� ������ ��� ��� � ��� ������� ������(������� �����%������)'ET!��"�������������� ��� �/����������� ���(���� ��� ��� ��� ���� �(� ���� A-U-� �0,6� �� 5!6L��!� '������ )'ET� ������ �� ���� ��%��� ��������� �����!��* �� �����* �� �����* �� �����* �� ����������,��� �/������� �� )'ET� �������� ��� ��#� ���� ��� � �� ������ �!�* �� ���� � � ���� ������������2����143�� �� ����������� ��� �#���������%��� �� ����!�*���������#��� �� ����������� ��� � �� ������ ��� 2�5=� � ���������� � �� ������ ���� ���� � � ��!� � E��� ������������� ���� � ���� ������ ����� �� ���������� �������������� �� �����!�"���� ����������� �������� � ���� ����������� ���������� ��� �� � ����!���*� �� �� �*� �� �� �*� �� �� �*� �� �� ������* � ��� �� � ���� � � �� ���� ��� �/������� � �� ������ �������� ����� �!� � "��� ����� �� ��� ��%�������� ���� ��� � �������� ���������������.��

• �V� ������������ �� ����� ��� �/��������• �V�� ����� �� ������ � ������� ������� �������� �����• �V ������ �� ���� �%������� � �� ���• �V�� ������ ������������������������ ������������� � ����

�*���#������ �� ������������ ��� �������� ����*���#������ �� ������������ ��� �������� ����*���#������ �� ������������ ��� �������� ����*���#������ �� ������������ ��� �������� ���������*��������V� ��� ��������� ����� ���������2�143������� ��������� �� ����� � � ��!�"������� ������������� ��� �/������� �����������#�� ���� � ����������� ������������� � �� !��"���� ��������������������V� � �!�>�/����(������ ��������� ���������� �����

Page 80: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

77

��������������������� � ����������(���������� �� ��������� ���� ������������� � ���#��������� �����#��!���- ��� ������� )'ET� ���� � ��� �� �� ��� �� � ������%��� � ��������� � � ��� ��� � �� �!�"������� �������#������������������� � ������ ���������������� ��� ������!�A������� � ������ ��(������#��������� �����#��(�� ������ �������� � ��������� �����#� %������ ���������� �������� �����#���������� ���!��E#������ �#���(�� � �������������� ��������#��������� �����#������������ ������� ����� ���������V� ���������������%���� ����#�� %���������������� ������� ����������� ������������� ���!��"�����#������� � ���� � � � ����� ����� �� ���� ���� ��� ����� �� �� ��� ��� ��������� �������� �� �#� %����!� � F���� �� #�� %�� �#��/����� ���� ���� ��#���� � ����� ��� ���������V� ��� � ���������������������� ���������V� � �!���* �� ������� ��������� � ���* �� ������� ��������� � ���* �� ������� ��������� � ���* �� ������� ��������� � ��������* �� ����������� � �������������� ��� ������������� ������#� ���������������� ������ � �������#����� �� �����������������!������ �� ��D�!�*������ �#�������������������� �� ������ ����� �� � �������� �� #�������� ��� ����� ���� ����!� '�� � �� �� (� � ������ ����������#�;�#�#�����4I���#����#;�#�#�����������42!�* �� ����� ��� �/�������� � ������� ������� �������� ����#��������� ������� �.��• ����� ��(����� ��������������(�� �� ����#���� ������������� ���(�*)�S,� ��� ��������

�������72!�• ����%������ �%������� � �� �(��V ���• 0 ��������� �� ������� � ��(��V�� ���0 ���������V� ������#��������������������%������� ���� ���������������72������#�������������������� ��� �/�������#���� �������� � ��!���0 ���������V�� ������ �������������2(��������� ������������������!��* �������������� � ��� ����� � ���� ��� ������ ��� � � �� � �� ���� #��� � ��� ������� � �� �����!�*����������� �� ����������V�� ��� � ��� ��������������� ������������������#�� ��!�* � ������ �����������������#� %����������������� ����������#�������� � ��!��0�/����������� ����0�/����������� ����0�/����������� ����0�/����������� �������� �%������� � �� ������ �%������� � �� ������ �%������� � �� ������ �%������� � �� �������0 �������� ����� �� ���#�� �� �V ��� ��� � �� �� �� �%������ � � �� �� ��� � ���������� �� ����!�0 ������������� ��������������������2����143������ ���������������������� 2!� ������ �������� ������(� � ����� ������ � ������ ����� ���� �� � �������� ���� ������� �� ������� �� ���� ��� ���������V ����#���������� � �!���������1��������� ����� ����� ������� �������� ���������V �������� � �����������#� %�����������!��F����0,6����� ����������� ����������� ��������� ���������#��2!7!��* ���� ��������� �� �������� ������������������ �� ��������������� �� � ����������������� ����������� �������(���%���������������� � ����������� � �� !�"������������� ���� ���� ��� ��� ����� �V ��� ��#�������!� � * ���������� 5!6L��� �# ���%��� �� ������ ���� � ���/����� � �� ��������� � �������� ����!� �� �D�� ����� ��� �� ���� ���� ����������� ���� ���� ������(� ������� � ���� � � ��� �� ���� � ������ � � ��� � �� �������������������!��� �����#����������.��

Page 81: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

78

� � �� �DV�� �� �8��4�G����V��� ����;��4�G����V��� ����9�1��������� ����#��� �� ������ � ������� ������� �������� ������ ����#��� �� ������ � ������� ������� �������� ������ ����#��� �� ������ � ������� ������� �������� ������ ����#��� �� ������ � ������� ������� �������� ���������,��� �/������# ��������� �� ������� ��������� � �������������������������� �.��� *V� � ��8�*)�S,�9���V ��;5��9��4�G��V�� ����E� ��� ���� ����E� ��� ���� ����E� ��� ���� ����E� ��� ���� ���������'���� �� ��SC�0AT������������������� �������������������143�� �� ������� ���������64� ��������������������������� ���� � ����������� �� �����������������5�� �� ��������������2�6(�5�3(�I�11(�14�17(�1:�1=(����!�������� � �� ����� 64������ � ���!� ������ ���� � �������� ������ ��� �������!� A��� ��� ������������(�������� ��� � ����� ��������������������������������2��������� ������������ �#��!� � ����� � �������� ����� ���� ��� ����� �� ��� � ����� ��� ��� ����� � �#��!� ,�� ��� �/������� � � �� �#� ���� �������� �� ���� �� ����� ����� �� ������ ���������!�,����� ���������������� ����122�� ���� �� ��������������� � ��������� ������� �����������!�A��������� � ��������� �� �� ������(����������������� � �(�� � ���������� ��� �/������� �������������#�� ������������ ��� � ��!��* � ���������� �� ���� �� �� �����(��������� �������������� � ��(���������#� %���������� ��������������������� �� �� ������� �� ���� ������ �#��!����,����������������� ���� �������������� �������������������������� � ��������� ������ �� ������� ����� �� ���������� �� � ���������!����

�������������

Page 82: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

79

A���#��A���#��A���#��A���#�������"���� ������ ��� �/�������� ���������� ��������������������%� ������ �������� �������#������������������������.��

• A��� �� ������ �� �� � ������� � ��� � � ��� ����� ���� ��� ��� ����� �� ������ � ������������ �� ������#�������� � ���������������������%�������

• 0 ��������*��� ������ ������������� ���������������• F����� ������#�� ���������� � ������ � �� ������������� ���������������

� � ��� � � ���� ������� ��� � � ��� ������ � �� ������ �� �� ���!� * �� �� ���� ���%������������ �� ������ �������� ���%����!�

����,��� �/���������������� � �� �������� �,��� �/���������������� � �� �������� �,��� �/���������������� � �� �������� �,��� �/���������������� � �� �������� ���������

• ,��� �/������� � � �� � ���� ����� � �� ���� ���� �� ��� #��������������������

• P��������� � �� ������� ������ � �� �������� �����• �����������������@��� ��������#���������� ������������ ������� � ��!�����

� � ��� ��� ���� �� ������ ��� �������� �� ����� ��� �/������ ��� ������������� � �� �����

• A���� ����� ����� � �� ����� �� �� �� ������ � � �� � � ������ ���� ��� �� ���� �� �� ��������(� ���%�������� #�������� #�� ��������� ��������!� "��� ������������������ ������������ �� ����������� � �� ����!����

�,��� �/������� ������ ������ �,��� �/������� ������ ������ �,��� �/������� ������ ������ �,��� �/������� ������ ������ ������

• E# ������������� ������ ���������������������������������.�• P� �� ������ �� ������ #���������� #�� %����� � �������� ���� ����� �

�� ���� ������ �� ����• ����� ������ �� ������ ��#������������ �������� � ��� ��������� �� �����

���������������A�� ���� ������ ���A�� ���� ������ ���A�� ���� ������ ���A�� ���� ������ ��������

• ���� ���������� � ���� ����� �� �#���� �� ��#� � � ����������� ��������� ��������%���� �� � ����#���������� ���� �#����������������

• >�������������• ����� ����• E���� ���� ����

Page 83: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

80

$��� �.�,��� �/�������� � �� ��$��� �.�,��� �/�������� � �� ��$��� �.�,��� �/�������� � �� ��$��� �.�,��� �/�������� � �� �������7!1�A�� ���� � ��� �/�������� � �� ���� �/���� ���������#� %������ � ��!�A����� ����� � ��������� ������������ ��������������� � �� �������������� �#������� ��� ���R�������� ���������� ��������!��"����� .��W!�������� ���8���X���1�XB X�4�X�1��7!4�"�������� �#�����#��/�� ��� �/���������� ��������� ��� ��������������#�� �������������� ���������R���� ���%����#�%��� ��� �/���������#�� ������������������������#���� �%�������� ����� ��� � ��� �� �R��"����� .�,��� �/���������� ��������� ���#�������� � ������������ �������� ������������#� %����(��#��������� � �� ����������������������� ���� �� � ��!�,��� �/���������#�� ������������#���/�������� � ������������ ���� � �� ���� ������#�� %������������ �������� ��� �%������ �� � �� �!��7!6������������� � ������������������#� %����������� � �� ���������� � !��

* � �� 0 �����#� %�������

* �� �����

*1� 12� 6�*4� 1� 1�*6� 4� 6�*5� 1� 5�*7� 7� 4�

�* ��������������� � ���������� ���������*1(�*4(�*6(�*5���*7��������� �� �����82!��

��� '� �����J�������������� �� ����� � �������#� %����������� � ����� �������C��(����(���� �� ������ ���#�� ���������� � �� �(�,,� ������������������� �H81!�

��� F���������������� ���� ��#�� ��������� � �����������#�������� � ����#����������� ���� � ��� �/���������������R�

�� F��������� ���� ����������#�������� � ����#���������� ���� � ��� �/���������������R�

��� F���������� ���� �� ��� �/��������������������� ������� ���� ����������#������ � ��R�

�7!5�* ����������������������� � ������������#� %�������� �� ����������� ����������������������#����� ���� ���#� %�������� � ��!�F� �������� ������������������#�� ���������� � �� �������� ����������������������.��� � � * � ��� 0 ���� ����#������ � 0 ���� ���#� %�������� � � *1� � � 2!2� � � I�� � � *4� � � 2!5� � � 5�� � � *6� � � 1!2� � � 1��

��� F������� ������� ���� ������������ ����������� � ������������������� �����C������ ���� � ��� �/������R�

Page 84: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

81

��� F������� ������� ���� ������������ ����������� � ������������������� ����������� ���� � ��� �/������R�

�� $����� ���� �������� ���������������������%������ �� � ��!�* �� �����������������������#� %������� � ��*1���� �������2(�����#���������������� ����� � ���� #��������������!��E# ������� ����������� ������� ���� ���� ������ � ��������������������� � �� �������� �#���1������� ��� �� ��������������� ����������� ���� � ��� �/������!�* �� ����������� � ���*1���*4��������������������� �#����� �� ����������������������� ���� ����������� ������������!�"������� ���� �� ����������#����� ��� �/���������#������ ���������� �����%����!��

�7!7�,�#��� ������ ���������� ��� �� ��� �/�������,,����������#���� ���� ������

� � �������#���������*CL����!���� F�������������������������������������� �������� � ����� ���� ������� � ��!R���� F�������������������� ���������� ������������� �����R� �� F������� ����� �������������������,,���� ���� ���������������������������#�

���� � ���������#�����R��"����� .���

��� * � ������������������� �� ��������������� �� �� ������%���������������� ������ �������� � ���� ���������� ��� ��(�

��� * ������������������������������ ������ ������%��� �� ���(�� ���� � ������ �(������� �� �������� ��� ���!�*����� ��������������%����������� ���� ��#��/������ ����������!�

�� ��#����������������� ���� ��� � ������������������ #���(�� ���� � ������ �(������������%��� ���������#��������� �� ������������%����,,!�

�7!:�F������� ������������������ �#��������������� �� ������������� ����� �#������ �

����������%�������������� ���������R��"����� .�* � ��������� ������� ������������ ��� ����(����� �� �� ����� ��������� � ������%����������� (�� ���������� ��%������� �������������� ��� �� �� ����� ����������!�* � ����������� ������� ����#������� �� ��� ����� �� ������������������� ������������������ ���������� ������#����������� ������#� ��������������������#�� %����� ������������������������� ���� ����� �!��7!3�,�#��� ��������������� ���� �#��� �� ������� ��� �/���������� ��������� �

��#� ������������������#� ������ �� �����!�0����� ������� �� ������#����������� �� ����!�F����� � ����������� � �� ���� ����� ������� � ������������� �� �������� ������������������������#� %������������ �� �������� �� ������������!������� � ������ �� ������ �2���#���� ������������ ������� � ��!�*� �� �� �������������� ���������������������������� �#��������� ��� ��#�� ��� �/������!��

���� F���������� ���� ������������Y���Y2R���� F���������� ���� �����������?����?2R�

�"����� .�

��� �C������ OE�"�

Page 85: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

82

7!I�>�������� ����� ��� �/����������� �� �� �#�����!�'��� �� �� (�,,���� ���� �#���������� �� ��� ���������� � ��� �� ����������#��/������ � ������� � �� �!�,������������������%��������#���������������� �� �� ��� ��� �������������(�� ������ ��� �� ��� �/�������#������� ����������(�� ��� ����#� ������ � ����#��/�� �����������������!�"������ ���������������������� ���� ��� � ���(�����,,���� ���� ��#������ �� ���������������!�!�������������� ���� ��� �������������� ������� !(��C������ ���� ����,,���� ���� ������������������� �� ������%���#����������!�F���� �� �������������������������#��/������������� �������������� ���� �R�

���� � �� ���������������� ���������������%�����������C��� �� � �� ����������C������ ,,�������

�"����� .��

��� ������ ����������� �� �������� '������������ ����������������%������������C��!� �� �C����������������� �� ���������������������������������������������!���� '����������

7!=�* �������������������� ���� � ��� �/������������������ ���� ������ ��� �/������������ �#��������� � ������������ ��������� ������ � �� ����� �� ������� �%���!�$�%����������� ���� ����� �#����);E�� �� �� ������%����&�����&�� �� �� ����#����#��� � �� R�

�"����� .����� �#������);E�� �� �� ��#����%����� ���� ��������� ������ ���� ������ � �� �(�� �/����(�� �� ������#����#��� � �� ������&�� �����&�#����%������ ���������� ����� � �� �� ����������������� ��������);E!��7!12� �"��%���� �#�������������������� ���� ��� �� ��� ����� ��������R�

��� �C������� ,,�� �� ���������������%��������

�"����� .�

��� �C���� ���� �#��������� ��������������%��������������������������������������������� ���������� ���� ���������!�

��� ,,�� ��� ���������������������(���������� ���������� ���� ������ � �� ����������� ��������������� ���������������� �� �����%�������������� ��!�

�� ,���������������%�������� ���������,,���� ����!�"��������� �#������� ����������!�

�Q����� ����.��C*)�� �������������.;;ZZZ!��!���;[��������; 524;� �� �; ���!��� ���

Page 86: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

83

������������� �������������� �� �� ������� ���� ��������������� ����� �� ���� ����������� �� ��� ������ �� � ��� ����� ��� ����� �� � �� ���� ������ ���������������� ����������������������� ������������������������������� ������������������ �������������������������������� � ��� ������ ����� �� ������� �� � ���� ��!� ������������ ��� ����� �������� ��� �������������� ������ ��������� ������� �"� ���������������������������������������������������#����������� �������������� �� ������� ��������������������������������������� ����������������������������� �����������������������������!������������� ������� � �����!�������������� � ����� �� ������ ����������� $� ������ ����� � ������ ������� !����������������� ����� ������������������� �������������� � ��%������������������������� �� �� ����� �� ���&������ ��� ���� �� ����� � �������� ����� ��� ��� � �� �� ������!������'������� ����� � (�������������������� ������������������� ������)������� ���� ��&����� ����� ��� �������� ����� ������� �� � �� �� ��!���� �� ��������� ��������� � ��� �������� �� �������� ������� �� � �� �� �� ����� � ��������� '������ ������*�� ���(� ���� �� ���� �� ����� �� �������� �������� �� � ��� ���� �������� �� ������� ��������� ������ ���� ������������� ����� ��� �� � ����������� ����� ���������� ������������� ������� � ����������������� ���� � ���� �!���������+������������ �����������%��������������������� ���� � ������������������������������� ������ ������������������������������!������� ����!������������� �������)��������������� ��������������������������!����� ����������� ����� ���� �������� �������� ����� ��� �� ����� ������ ����� � �!��� �� ����� ���������� �������� ����������������������������� �����!������� ������������������������������������ ���� ����,������!������������ ������� ��������������!���������� ������������ ����-��.�� �������� ���� ������ �-� �������������� ������ ��� � �������� ����� �������

������������������������������� ��������������� �����+�/�� ��������-���������������� � ���������������������������� ����������� � ��� ��������

����������� ���0�� � �������� ����� �-������ ������������������ �������� �� �������� �������� ������

������-������������� ������������������ ������

Page 87: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

84

!� ����"�#�$����������%��1����������� ������� ����!������������������������������� ����������� �������� ������ � ��%������ ��������������������������!���������� ����������� �-��&'���(� �������)� � ����� ��������'&��*�����$����%�+�����*�����$�����,-���%.� &'�������������� �������� �����(� ��������'&�����///�������������� ��000���������-� .�����///����������������������� ��000�1��%�� ��� !����� ��� ��� �� ���� ���� ��������� ������� ���������� ��������������� � ���� ������� ����������������,������ ���!�� �� �� ����� � ��������� � ���� ���� ���������� )���������� �����������������������������������������������������-�

• )����� ������ ����� ������ � � �!��� �� ������������� ������������2���2������������ ����������������� ������ ������������������� ������������� �������

�"� �������������� �)3��������������������� ������435��������������������� �).�����������.5������������������� ������ ���������� �).���&�������������� ����������� ���������������������� �)3��������������������������������������������������������� ����

� �• )�����������!����������������������� ������������� �!������ �!�� �����������

�������������� ���������� ��!�-��

.�� ����� ����������������2���2�/�� ����� ������������������������2���2� �������

���������)�������������� ������� ���� �!������������������ �������������������� ��������������� �!������ �����!�� ������� �� ����������������������������������������������� �� �������������!���������2�"����� ���� ���"��#��• 6��������� .����� ������!���� ���������� ������������������ �� ����������������

��� ������������� �������������������� �����• 6��������� .� ���� ������ !���� ���� ������ ������ ������ ��� ����� ����� � ������

��������2���2���������������� �����• "� ����� � ��������� �� ���!�� ���� ����������� ��������� ��� ����� ��� ��

��������� ����������������#����������������� ������������� ����� ������� ����2!�!���2��2 ���2��� ����

• 7�������� ���� ������������ ������������ ������

Page 88: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

85

2���� "�����(�!� ����"�3�$����������%��%�������������� ��������������������.� ������������������8������������������������������ 2���2��7��������2���2� ��� ����� ��������� ����� ����� �������� ��6����������� ��� ��������� ������������������ ����������������&'���(� �������)�� �(� ����� ��������'&��*�����$����%�+�����*�����$�����4 5�--���������%.� &'� �������� ����������������� ������ ���'&����������4�5�-�������.� � &'���������� �������������������������� ��'&�����///�������������� �000�����������4�5�-�������.� � &'���������� ������6�� ������������������ ��'&�����///����������������������� ��000�1��8������������������������������������ ����-��

• �����������������!���!���������� ����������� ���������������� ������'���������������������� ����!��������(�

• $�����������!��������� ���� �������� ������������������������� ���������������������� ������

�%����������� ���������������%�������!������������������������������������ ����� ����������� �����-�

• )���� � ���� �� �!������� ��� ����� ��� ����� �� �������� �� ����� ���� � �������������� ��������������������� �����!����������

• 9!�� ���� �!����� ������ ��� ����� ����!�� ��� ����������� �� ������ �!�� ��������� ������������������� ������������������ �����

�!�"������(������������ ������!�����������������������������!����������8������������������� �������������������� ��!��' ����:.;�<<��� ���(������ ��������������� ���� ��!����' ����:3;�<<� �� ���(����� ���� �%���������������������������������� ����������������������������������� ������!�� ����������������������8��������� �������� ���������#����� ����������� ���� �!�� � ����� �� ������� �� ������� ��������� )���� � )3� ����� ����� ������� �� ����� ���� �!�� � ���� ����� ��������� �������������).�����������).��� ������� ����:3;�������������&�� ����!����������������� �������)��������� �������� ����� ��������� ���� ���� ��������� =�� ���>� �� =�� ���>� ���� ������������� ������������.���3���.�� )3�����!�������' ����:.;�<<��� ���(�/�� ,� ���� ������!������!����������� ���7�� ).�����!�������' ����:3;�<<��� ���(�8�� ).��� ������' ����:3;�<<��� ���(�?�� ).���!����������� ������@�� ,� ���� ������!������!����������� ���4�� )3��� �������' ����:.;�<<��� ���(�A�� )3���!����������� ������B�� 9�)3���).� ������!������������ �������)����� ���������� ������������ ����������������� ������� �������������������������

Page 89: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

86

!� ����"�7�$����������%��)������� ������� �� ���� ��� �!�������� ����� ��������� �!���������� ������ ������ ������������������������������ ���������������� ����&'���(� �������)� (� ����� ��������'&��*�����$����%�+�����������4�5�--�����������.�� &'������"���������������������"����������������� ��'&�����*�����$�����4 5�--�������������%.� &'����� )�������� ����� ���������������'&����///�������������� �000�����������4�5�-�������������.� &'���������� ������������������������������ ��'&�����///����������������������� ��000�1��8��������� ������������� ����� � ���������������� �� �������������������8������ �����!������� ��!�������!���������� '��������������(��8���!������������ ��������� ����!� ���� ������ ���� � ����� ���� ����� �� ���� �� ������ !�� ����� ��� ������ ����� �� ������� ���!��������� ����������� ��������������)���������� ������� ���������� ��������� ���-��.�� )3��� ������ ����:3;���� �����2!������� ����2����� ����� �������!����!������������

������/�� %������ ���!����������� ����0�� ).��� ������ ����:.;����2!������� ����2�C�� ).� ��������������?�� %� �� ���!����������� ����@�� )3� ����������������8�������� �� ���������������� �������������8��� ������� ����!���������!������������!� ����"�89�2������(���� ����"�$��������%��6��� ��������� 0� ������� �������� D���>� ��� ��!���������� � ����� �� ���� ����� ��� ��������������� ������������������ �����������-��&'���(� �������)� (� ����� ��������'&�*�����$����%�+����������4�5�--�����������.�� &'������"���������������������"����������������� ��'&����������-� � � � &'��� �"������������ "��������'&�����*����� $�����4 5� --� ����������� � ::� ����� --� � %.� &'� ���� � ��� �� ��� ���������������'&����///�������������� �000�����������4�5�-�������������.� &'���������� ������6�� ������������������ ��'&�����///����������������������� ��000�1��8�������!���������� ��� ���� ��������� ����-��� ����� � ������������������������ �� �����������������������

Page 90: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

87

!� ����"�;9�������(���� ����"�$��������%��E��������������������)���� ������������������� �������%�������������������)����!������������ �� ����� � ������� ��������� �� ����� ������ ����� )���� ����� ���������� �� �!��������������*�����$����%�+����������4�5�--�����������.�� &'������"���������������������"����������������� ��'&����*�����$�����4 5�%.��&'����� ���� ����� ���������������'&����+�����������<�$�����--� %��&'� ��������������=�'&�����������+�������������������4�5�-�������������.�&'���������� ������6�� ������������������ ��'&���������������*�����$�����--� %.� &'�>������������������&'���������������������4�5�-�����������.� ����������1����1����///�������������� �000���������-� .� � &'�<����� ��" ��������������������������'&������������4�5�-�������������.�&'������������������������?����������'&���///����������������������� ��000�1��8������������������������� �������� � �������� �$������� �� ����� ��� ������"� ������ �����������������������)� �������� �����������������������!����������� �����������������E������� ������&�������=���>��%�������������� ����������F����������� ������������������������ ����������� �� ������&�������!� ���!���������� �������%������������������������������������� �������������������� ����������� ��������$�����!����� �������������������D���G���� ���� ��������������� ��������������������������������� �������%����������� ��HH������HH����������F���������������!��� ������������������ ����������������������� ��� ���������������������$��!��!���������������������������� �������������!����������������������������!�����1�����������������������������������������!� ���!���������� �������"� ������ �����������!���������������������������� �������!���� ������ � ����� �������� ������������ �� ������ �6����� ���� ������������������������������������������������ ���������������� ������������ ������$������� �������������������������������F��������������� ��������������������������������� ����������� ������#����������������!��������������������������������������������6��������� ������������������������!���� � ����������� ������ ����������������E��������������������'������� � ��������������������(����%���� ������������ ��������������������!�������������������������������������� ���������� ��������� ������$������ ���� ���������� ������� � ������������� ���������������������������������������8�����!����������������� ������� �!� �� �!���������� ���������� ��� � ������ �������� ��� �� � �������� ������%���� ����� ������ ������ ��� ��������� ��������������� ������&�������������� ����������������������������� ��������

Page 91: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

88

@� ���� ���������������������9�A�"������� ����"�$��������%����������� 4�5�-�+<����)<����)>1.�������"���4�5�-�+B)B)>1.��*�����$����%�+����������� 4�5�-�����.�� &'�������"������� �C��� ����������'&��������*�-�B.� � &'��� "�� ��" ������ �'&������<��$D-B.�D/�.�DEE%��<�$��"���4D50��*%�����*�-���"���4D5.�&'����?������� ��6���� '&��������"���4�5�-���*�E�#.�� &'��� ��� ��� �������6��'&����������� 4�5�-�<����.�� &'�������� ����"�� ���� ��'&������<��$D-B.�D/�.�DEE%� &'��>������ ���� �����'&�����+���������*�����$����� 4D5%� &'����� )�"?����"�����������6�"��� �"�'&���������*�����$$��"���4D5�,-�B%�::�$$��"���4D5/��"���4�5�FF���������$$��"���4D5--��"���4�5�::� $D/�%%%.� &'� ��� ���� �"�� "�� �� �� � ���� ���� )� �������������'&������1�����///��������������� ��000�������"���4�5�-�B.� � &'��������� ���� ������� ���6����������'&�����///����������������������� ��000�1��$��������������� �� ������ �������� ���������������� ���� ����������!������������ ��������E������������������������ ������������� ������ ����� ��������������������E������ ������������������!���������������� �������)����������� ����� ������� ���� �������� ���� ����� ��� ����������� ���� ������� � ��� ����� $� ������������!��� ����������� ��������������&������������� ��'������������I������ ���(����������������� ������������"����������� �!������&��� ����������������)���������������������������������������������� ������� �� ���������������� ��� ���8������ ������������� ������ �������� ��� ��� ��� ��������� ������"�������������������������������������������������� �������!�������������������� ���� ��� 9%� � ���������� � ��!����� ����������� � ���� ������� � �� ���� ������������ ��!������8���!���������������������������������������� ��������GH"��(���� ���� ��"������ ����� ������ ����)��������� ��� �� ��� �������� � �������� ����� ��� �� �������� �������� �� ������ �������!������� ����� �� �������� �������� ��� ������ ���������� �������� ��� ��� ������� �����������$� �� ����� �� �����!��� ������� ������� �������� ��������� ���� ����!�� �� ����� ������ ���!�� ���������� �������������� ��������������� �������8�����������������������JK����.B@@������)������������������� ������������������� ������ ���������������������������� ��������� ���� ������������ ���������� ���������,������ �� ��������� ���� ��!� ������� ���� �� ��������� ��� ���� ����� ���� ��!�������!����������������� ���������������������<�� 435�-�+B)B1.�����������������-�B.�

�2������$������%�

B�� +�#�� ���*����$#%�3�� ���+�7�� ������<�� 4��5�-�#.�8�� ������*�����$�����,-���%�

Page 92: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

89

;�� ������+���� ����������*�����$<�� 4#(��5�--�#%��I�� �����������.�J�� ����������������-���.�K�� �������1�#B����##���������///��������������� ��000�#3����������<�� 4��5-B.�#7����������///���������.�������� ��000�#8������1�

#;��1�)��������� ��� ��� �������� ���������� ���� ������ ����� ���������������������� ���� ������ ������ ��� � ������������ ������&�����!���������� ������ �!��� �� �������������������&������������������� ��������� �&����������������!����������� �����+��7������ )3� ).�3� .� .�.� .� 0�/� .� C�0� .� C�C� 0� @�?� C� @�@� ..� @�4� ..� @�A� ..� A�B� ..� B�.3� ..� C�..� ..� ..��L��� ����+� ���������� �� � ����� ���� �� ������ �� ������ E������� ����� ������ �� �������� �������L����������������"���� ������������������ �������!����������!��������������� ����!�������� ������������������ �� ���������� ��� �� ���� �� ��� ��������� ������� ���� �� ������� ������ � � �������� �������������� ������������������������� ������� �����������&��� �����!���������������1����� ��� � ������� ������� � �������!����� ��������� ���������� �� �� ��� ���������� ���������������!��������������� '�������� ������� �������� (����������� �������������������������������� ������ � �� ����� � ������� ����������� ��������� ���� �!��������� ������$����������������!�������������������������������������������� ��������� ����� �������������������)������� �������������� �������������!�� ����!���������� ��������������� ���������� ��� ��������� � � ��� ��������������� �����������!�� ������������ ���� ������������������������������������������ ���� ��������������� ����������������������� � ��������������������E���������������� ��������������������� �� ��������������!��������!����������������������������!�������������� ���������������������������� ������ ����������������� ������

� �������M���������$%.�� ///��������������� ��000�� N�����M���������$%.�

������ �������������� ����%������� �������� ��������������������������� ������ �� ����������������������������������������������� ������� �������������������8�������������������������� ������������������� ���� �������� �&�������

Page 93: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

90

O���M���M�����1����������������� ��������������������������������������������M���M������� ��������8����� ��������� ��������� ������������� ����!���������'����������� ���(��#��������������� ������������!�������� �����������������)�� ������ �� ������������� �������� ������������������������� �������������������������!������������ ��!����������������

� O��$/"�"���0%�� +�� ������<�$/"�"��0�--�B%�� �����+�� � /"�"����0�-�#.�� � �������B.�� �����1�� ������������ �����+�� � �������#.�� ������1�� 1�

�#���������� �M���M ����� ����������������������������� ����� �������!�������&�������!���� ������ ���� ����� ��� � )���� � �!������� !��� ����� ������� ���� �� �� �M���M ����� ������� ����������!������������ ������������������� ����������� ��!������������������������ ����������� ��������!������� ������������ ���������!������������ ���� ��������������� ������������3��)����� ������ ������������������������ ������� !�P����M"���D�$/"���D0%� &'���� ������������������������� ��'&�� +�� � *�����$O�$/"���D0%%�� 1��� @������M"���D�$/"���D0%����&'����� ������������������������� ��'&�

+�� /"���D0�-�B.�

� 1��2���������" �����%����������� �������������� ����������������� ���!���!������ �������!��������&��������=�����������!����>�'�������"����������*��(��#�������������� �M���M ����� �������������� ������������� ������ �� �!����� ���������) ��������������!��� � ����� ���� �� ���������� �����������������������!������������������������ ������������������������� Q��$/"�"���0)�/�D������������0)�/��*������0%�� +�� � �<�$/"�"��0�--�/�D������������0%�� � +�� � ����/"�"����0�-�/��*������0.�� � �����������B.�� � 1�� � ������ � +�� � �����������#.�� � 1�� 1��

Page 94: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

91

"���� �� ���������� � ��� �� �� ������� �� �M���M ��� ���� ��������� ���� �� ��������������M���M F��-��

� � O�$D%�--�Q�$D)B)#%��) ��������� �����!��� � �� ������ �� ����� ��������� ������� ' ���� ����(� ���� ������������M���M F��-��� !�P����M"���D�'N���*O(� PQ�������� ������������ �����QP�� R�� � F�����'S#'N���*O��3��.((�� T��� @������M"���D�'N���*O(����PQ��� �����!�� ����!���������� ������QP�

R�� N���*O�<�3U�

� T����"�<���������������� �������&���������������� ������������� ��������������������������������������������� �� �������!����������� ��������������������������������!���������������������������������������� ����������������!�� ���������� ������)������������&��������� ��������������� �� �����������������������������!���� ���&����8�� �������������� ������������������� ���)� ������������!��������������� �� ����������������������� ���������������-��

• )'*(������!����������� ���������=��������>�����!�����=�� ����>�• 7'*(������!����������� ���������=��������>�����!�����=�������!������>�

������������)'*(����� ��� �� �� �!��!�F���'*(���!����������7'*(���������� �����'*(���) ��������� �����!��� � ����� �� ������ �������� ���� ����� ��������� ���� ���&������ 8���� �������������� ���������������������� ����!��������������������� ������������ ������������ ���������������� 2$��"%� � &'���������C�������� )������� ��*���$��"%��'&�� +�� ���*�����$��"�/-�B%.�� ������"�-���"�C�#.�� 1��� R$��"%�� &'����� ���C������"������ )������ ���� ���$��"%�'&�� +�� ������"�-���"�E�#.�� 1��$� ���� ��� ���!������� ��� ��������� ������ �� ���&������ � ����� !��������� ���� �����������*������������������������ ������&��������!��� ���� ��������&���������� 2$���"%�+��������������� ����S�����$#%�+�� � !�P����M"���D�$���"�"���D%.�� � T<�$���"�������/-�B%�+�� � ����@������M"���D�$���"�"���D%.�� � ����Q������.�� � 1�

Page 95: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

92

� � �����+�� � �������"�������-����"�������C�#.�� � ����@������M"���D�$���"�"���D%.�� � ����U����.�� � 1�� ���������1�� 1��� R$���"%�� +�� � !�P����M"���D�$���"�"���D%.������������������������������������"�������-����"�������E�#.�� � @������M"���D�$���"�"���D%.�� 1�

�)������������������������������)'� ��(��6��������������!���������� �������������P��������������� ��������������������������� �����������������!��������������������"���������� �����!�!����������� ������������������������ ���������������������� ����������������� ������ ������������� ����� �� �!����� ��� ��������������� ������ �8���!��� ��������������������������������!������������ ������������������6��� ���� ��� �!��������$!������������������� � ������������� ��������������� ���&��������� �����!����������� � ��� ������������ �� ��� ��� ������� ����������)'(� ����������7'(��������� ��� �� =������>� �� �!����� ��������) ���� ���� �����!�� ������������� ������� ���&�������� �������!���������� �6����"�<������ 2$��"%�+�� ����S�����$#%�+�� � !�P����M"���D�$���"�"���D%.�� � T<�$���"�������/-�B%�+�� � �����T�����MP�����$ �����$%)����"�P����%.�� � ����@������M"���DM���M������$���"�"���D%.�&'���"���9�����*���(�����'&�� � 1�� � �����+�� � �������"�������-����"�������C�#.�� � ����@������M"���D�$���"�"���D%.�� � ����U����.�� � 1�� ���������1�� 1�

R$���"%�+�

� ����!�P����M"���D�$���"�"���D%.������������������������"�������-����"�������E�#.�� ������P����M���M*������$���"�P����%.�� ����@������M"���D�$���"�"���D%.�� 1�

)��������� � ��� �!�� ���� &������ )'(� ���� ����� ��� ����� ���� ��� �� ����� ��������� ��� ������������*��8�����!������� ������� ����!���=�!��������� ���>������ ������� ����� ��������� ���!������������!���������������-������ �M���*'* ������*(��� ����'(��6��� ���� �� �!����������� ��� �!�� ����������&����������� �������� ������������������� ��!�������������7'(������������������� ������������ ���� ��������!�������������������� ������� ����� �������� ���� � ���� ����������������������� �� ����� ���� ��������� ������ ���������������� �������� ������!�� ������������� ����������������������������� ���������������� �����������������������!��������!����������������8���������� � ��������!�� ������������������� � ��� ������!���� ����'(�����!���� ���&������*���������������������������������� ������������*��� ������������ �� ����� ������� '��������� �� ��������(� � ����� �������� � ���� ���� ��� ��������� ���� ���!����������

Page 96: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

93

�U�������"�<�����$�������� ����������������������������������� � ���������� ���� ����������)� ��������� ���&�������!������������ ���&��� ����������� �����!����� ������8������� ������ ����������� ���3���.��$�������� � ������������ ���&���� ��� ����� ������ ��������"�<������!������������������������"�<������

2����"���������C���������1����� ��� ��� ������ � � ��������� �� �����"� �������(�������� ���� �� ��!���� ����������� �����"� ������� � ��<����� $� ����� ���� �� ���� ����� �� ����!�� ��� ����������������� ������������������� ����� ���������&����V�&��� �������������������� ����������!�� ��������������!�������� �����������$� �����������&������!���������������������� ��!� �����������������!�������!�����&�������� �����������&�����������!�� ������������ ��!� ��������������������������!�������������������� ���������������������������� ��������� ������������������������������� � ����������� ����������������� ������!�� ����������� ��������������� �������!� ����������%���� �������� ���� ������ �������� ������������ ��&���� ���� ����� ���&����� )��������� ������� ����� �������� ���&���� ����� ��� ������� ��������� �� ���� ��&����� %��� ���&���� ������ ���������!����������� ������������ ������&���������� ����������� ���!������������������ �� ��� � ��&���� )���!�� ��� ���� ��� ���!��� �� ��� � ��&��� � ' ������������� �� ���&���� �� &������� )'((� �� ����������� ������� �� !�!����� �� ���'������������������� ��� ���&���� ��&�������7'((��6�����������!������ ������&��������� ������� ����������!�� ��������������)'(��)���������������� ������������������V������� ���&���� �� ���� ��� ��� !������� ��������� ������ ����� ����� I� ���� ������ ���� ������!�� ������������������� ��� ���� �������������������8���������������������������������� �����!�� ��� ��������������������������������� �������!��� ���������� ����������&�������2������$%�+�����*�����$#%������+�� ///������������"����000�� 2$�"��H%.� &'��� � ��������������"������<���)������� ���� ����"��'&�� 2$"���D%.� &'����?���������������� ��C� �� ������<���'&�� ///��������������� ��000/�� R$"���D%.� &'��������������������� ��'&�� R$<���%.� � &'����6� ��� �������" �����'&�������1�1��Q���"��$%�+�����*����$#%�����+�� 2$<���%.�� 2$"���D%.�� ///��������������� �9����������"������� �� �� ���<����000�� R$"���D%.�� R$�"��H%.�1�

���

Page 97: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

94

2����"������(�������8������������� ����������������� ����������������������������)����� ��������������������� �� ��� ������������ ���� ���� ����� I� �������� �� ���� ���� ���� I� �� ����� W������ ����������������� ��������� ���&���������� ���������������������������� ���)� �������� ������������������������� ����)���������!��������������������������������������������������������������� ���������������� ��!�������� �����&������$������ �������� ��� ���������� ���&��������������=���*>��)������������ ������ ��� ��� ���� ������������������ ���������� ��� ���������� ������������������ ����������������������� �����������)����������������������������*� ������ ��������������������������� �� ����������� ������������������������=��M�����V������������ �������������V������� ���&���� ������ ������ �������������������������������#��������������������������������������� ����������������������������� ��� ���������� ��&�������)'(����7����������������� ������������������� � ����&�����!��������������� �������6��� �������� ��� ������� ��������� �� ���� ���� ������� �� �������� ����� �������� ��� �� ��������������������� ��������������������&�����!�������� ����������������������*�����$%� � &'�2����������)���"� ������������������"�����"����������'&�+�����*����$#%�� 2$*����� %.�� ///��������������� ������� ��000�� R$*����� %.�����1�1�

������$%� � &'���������������C������� ���"?�������������������� ������ ��'&�+�����*����$#%������+�� 2$"���D%.�� @�M����EE.�� T<��$��M�����--�#%��&'�����"�����������)��������"����"�<��������� ���'&���� �����2$*����� %.����&'���������"�"���������"�����������������'&�� R$"���D%.��� ///������������ ��000�� 2$"���D%.�� @�M����((9�� T<��$��M�����--�B%��&'�����"������� ��������� ����������'&�� �����R$*����� %.� ���&'������������"����������'&�� R$"���D%.������1�1�

�2����"�<��<����)������-��

• X���!�&�����!���������� ��������• %������������������ �����������������• X���!�&�� ��� ���� �������������������������������!�������������������

����������������� ������������• X���!�&������������������������������������� �����������• X���!�&����� ���=����������������>�• 7�������������&���!�&������������������������������������� ������������

Page 98: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

95

�2�������W#����W��<������<�$�%�$�%���W��<������ ��$�%�$$�(#%�X �;%������TO�@�<���+���������������4;5�-�+3)�3)�3)�3)�3�1.�&'�<��������������������������'&����������������� �H4;5.�����������H�������M<���$��������%�+�����������<�$�����4�5�,-�3%���� �H4�5�*���$%.���������������4��<�$T%5((.������4�� ��$T%5((.�������1���������H�����*�M<���$��������%��+�������������4��<�$�%5EE9������4�� ��$�%5EE.���������<�$�����4��<�$�%5�--�3%���� �H4��<�$�%��� ���$%.���������<�$�����4�� ��$�%5�--�3%���� �H4�� ��$�%5��� ���$%.�����1���1��8������� ������������������������=������>��8��������� ������������������������&���!�&����������������������$���������������!���������� ������!������� ��������������������!������� ������������������������ �������������������!������#������������������������ ��� ������1���� �����������������������!�������������������������� ����

Page 99: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

96

��� �����������)������������������!��������� ���&�� ������� ����������"��������������4;5�-�+�#)�#)�#)�#)�#�1.����*�����$#%���+������2$��������4�5%.������2$��������4$�E#%�X �;5%.������///�����000������R$��������4�5%.������R$��������4$��E#%�X �;5%.������///�������000���1����

6������������������� �������������L��� �� ������������%����������������&���!�&�� �������� ����������������������� �������������������������������!���������)���������������� ���� �������� �����&���!�&�������������������������������������������� ���!����������� ������������������ � ��� ����������8������ �����������!���������!� ���'�������������(���

�Y"���� ��������)����=�

8������ �������������!�������� ��������� ���������������� ���8��������� ������������������������&���!�&������������������������������

$������������������������ ���� ����������!������������������������!������� �������!�!������������������������� ��������������������� �������,�������������������������������#���� ��������������������������� ��� ������1��������� ����������������������������������!���������������������!������� �������������

�L�����9�#�������!���������� ����@�.�L���!������ ��!�2!��� �����������2+������������� ������������ �����������������

� ���+�"������� ��2!��� �����������2�������� ���������� ���+�����������

• ����� ������ ��������������� ������������������������������������ ����• ����� ������ ��������������� ������������������� ������������������������� ���

�����������������!������������������������� ����������������� "�• #$����!������ ����#���������%���!����������������������"�

�@�/�%���!��������2�����K2��������������� ��������� ��!�-��

6�����)������������������� ��������)��'�P<�(��������!�������������������'�(<P3��������'�����'�(��(�N�'�����'�(��(��

��@�0�W� ������������������������������������������� � ��� ��� ����8�������!�������� �����

�������� ������������������&�������� ��������������!�����+����������������%�������������������&�����&�������������� ������ �������������������������� �����!������"���!������ �����&��������!����� ������������ ���� ������������������������������� �����

Page 100: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

97

���������%�����������������������������"�' �������� �����������(�����������!��������������&��������&!���������(����(������%��������������������������������������������"����@�C�)��������������� �����������F������ ����������!����������� �������������������

������������ ������ ������ ��+�@�?�)������������������� ������V��������� �� � ������������ ����!������������� ���������

����!��������� �������� ���������6������������ ������������ ������6������� ���� ���������� ��� ������� �!�!������������� �����!��!���!���������������������������6������������!�!������� ��������������!������������� ���� ��������������0� ��������6���������� ��������� �������������������������������������������������������������������� ������

@�@�)�����������������������%����� � ���� ����������� ��2����2������������� �2�����2��#����������������������������������!����������"� ���������������������������������������������� ��������������-�����������������������1������������� ��2����2�������������������������������������6����� �������� ��������������!���!�����������������������������6���� ����������������������� ����)�����!���������������������������������������������� ������!��������������� �!��������������8���������� ������������������������������� � ����������������������������������� �������!�����������������������

����������)��!��������� ����������� ���������������* �������!�����������+�����������������������!����������,"�-��������������������!�����(�������������

.�����������������������������������������+���/"�����0��������� 1������������������ ����������!��2�3 1�����������4��2�3 ����������!��2�3 1�����������4��2�3 ����

��5�� �����������������&��������������!����������!��������!���&���������������������������������������+���/"�������������������0�����2�3 1��������������2�3 �����0�����2�3 1��������������2�3 ����66����77����������!������ 1����������4������ �8�

Page 101: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

98

����?� ����*��(���2��������������� �������������������������

• )���� �#K�������!������'����-PPFFF��&���& ���PY���� ��P���@@..P����0�����(�• X����1����S�� �����'����-PP ������ �������PY�������PS"#SC/.P&���M���(�• �����������9�����)���� �S������������

'����-PP���������P����� P���P��������(�• S�������A-�S���������)���� � �

'����-PPFFF� �� �� ������P&�PS������AP����A�����(�• S9#�034-�)����������Z���� ��S��������K�Z������X��������1�����S�V�����S�[���

'����-PPFFF��� ����������PY��������P�� 034P������� P���������������(���������������� ����������������"6�������������� ���

�• 6�#���K��&�"����[*�� ����6�������� �&���"�������� ���8���������#K ��� �

'����-PP��&��������PY��P/C/������P/C/�����������(�• S�������� ���������������'����-PP������*����������PY��������P� C/P ��/4�����(�• "����[*�� ��������S��������,����� �

'����-PP������ ����������PY��������P���P�� 034&B?P������� P���*�����(�• )���� �9�����������'����-PPFFF/����������P����� P���P�����P �����������(�• X� ��"����[*�� ����&���$������� �� �

'����-PP������ ���� ������P�& P� P������P����P�����PFFFP���P�� ����� P,� �����(�

• 6�������� �&��� �������� K�������!��������� �����������K���������� �� �'����-PPFFF��������P�� P���P6� ����� P��� P.304/B�����(�

���"�<�������������������"�������� ������������• #�������� �'����-PPFFF��� ����*�����PY ������KP8# ���#,P �������� �����(�• S�� �����)�������-�)�������S�� ����)��������

'����-PP���������P����� P���P�����P���� �������(�• S��������K�'����-PPFFF��������������PY&�����P8�#K �03C�C/4P�������

���� P����/B�����(�• )�����������-�Z�������9����&����&���#�������� �'����-PPFFF���������������

�����P������P3�?P���P���P#�������� �����(�• #����K��&�1����S��������K�S�� ���� �'�

����-PP����� �� F������P��P��P1���#����K�������

Page 102: Operativni sistemi (ETF)

99

������������������� �� �������� ������ � �� �������� �� � � ������ ����� ����� ����������� ������������������������� ����� �������������� �������� �������������������������� �� ���� ����� �� �������� ��� ����� ����� ������� � ���������� ���� ���� �� � ���� �� ������� � ����� � ��� ��� ��� � ������� � �������������� ���!�������������� ����������� � ���� ������"������ �������������� ����������������� ������� ��� ��������������������������� ��������������� �������� ����� ������������ ��������������#��� � �� �!������ �������� ��� � � ���� ��� � �� � � ��� ��� ����$����������������������� ��������� ����������������� �������������������� ������%�������� �������� � ����������� ��� ����� �������������������������������������� ����� �������� ��&� � ���� ����� ��� ����� ��������� �� �'��������(�)��*��� ��� �� ���������� ���+����� ����� ���� !����������� ����,����,����������������� ����������� �� ��������������������������������� � ����� ��� ����� � �� ���� ���� ���� �������� � ��� ����� �!�������������� ��� �� ��������� � ������ ���������� ����� � ������ � ��� �� � �������������������������-� ���� � ������ ���� ��������� ������������� � ������������ � � ���� � �� ��������� ���.� /� ���� ��� �� � ��� �� �� � � � �� ������ �������� ��� ����� 0 ��� � ���� ������ � ��� �� � ��� ���� ��������� ���������� ��/������������� ���������� ��������� ��� ��!�������������/����������� � �� ����������� �1 ��������������� ���������� ! �� ���� ���������� ������������ ���2�������� ����� ����� ���������� �1��� ������� � �� ���������-� ��������.�3 ��������������� ����� ������������!����������������� �������� ���������������!��.� � "� ���� ��� �� ��� �������������� ���� � �� ������������ ������������������� ������������������ ��� ���� ���������� ���� � ������� �������� �������������� ���� 4�� �5� �1�� ���65�� ���� ��7 �������� ���� � ����� ������������

Ulazni red �ekanja za monitor Red �ekanja blok- Red �ekanja na iranih thread-ova signaliziranih threadova

Djeljeni podaci Int x,y,z;

Procedura A

Procedura B

Procedura C

Page 103: Operativni sistemi (ETF)

100

������������8���� �� ���� �� � �������������� ������������ ����� ��� ������� ����������� ������ ��� �� ������� ������� �1�� ����� ��������� �� ��3�������� �� � ��� � � ����!��� �� ��� � �� ����� ��� � � ���� ��� � ����� � ������ ����� ������� ��� �� �������������������������"� �������� ��� � �� � �������� �� ��� �� ������� � ������� � ������������� ����� � � � ����� � � ������ � ��� ! �� ����� � � �� ����� �� �� ��� ������ ��������������������� ���� ���������9������������� ��� ������ ���������������5� �� � � ��� � � ��� ���� ����� ������� ������ %��� �� ����� ������ ��� �1 �� ����������������� ������������3�������� ���� ��� ������ ��������� �� ��8 � ���� ���� !����������� ���� ��������� ������� ��� �� ���� ������ ����# �������� ���� ������ ��������� �� ��� � ������������� ��������� �� ��"� ������������������������� ������ ��������������������� � ������� � ��������������������

Ulazni red �ekanja za monitor 4 3 1 Red �ekanja blok- Red �ekanja iranih thread-ova signaliziranih thred-ova 8 6

2 4 5

Djeljeni podaci Int x,y,z;

Procedura A

Procedura B

Procedura C

Ulazni red �ekanja za monitor 3 1 Red �ekanja blok- Red �ekanja iranih thread-ova signaliziranih thred-ova 5 6 8

2

4 7

Djeljeni podaci Int x,y,z;

Procedura A

Procedura B

Procedura C

Page 104: Operativni sistemi (ETF)

101

: ���������������� ���� � �� � ��� ���� �1 ������� ��������������������5� �1��� ��������;�� 2�� ��%��� �������������<�� 2�� ��%��� �� ����������������������������� ��������'����� �������� � � ����� ����*�

=�� 2�� ��6��� �������������'�������� ��� �������� ����������� �� �� ��������*��

>�� 2�� ��6���� ����� �� �� ������������� ����� �������� ��������� �� ��?�� 2�� ��%����������� ��������������@�� 2�� ��%�� ���� ���������A�� 2�� ��6����������� �������������B�� 2�� ��6�� ���� ���������C�� #���������� ����������������������� ��������� �� �� ����������

������� ������������������������� ���� �� �������� ������������������� ����� � ������ ������6������5 ����� ���� ��"� ���������� ��������� �� ���5� ��� ������6������5 ����������� ���������� � �������������� �1��� ���� ����� �� ������� � � ��� ������� �� /� ���� ������� ��� �� ���� ���� ������ �� ��� ����� ��� ������������������������������������������������ ����� ������ ��������������������

� � � � �����

: ���������������� ���� � �� � ��� ���� �1 ������� ��������������������5� �1��� ��������;�� 2�� ��%��� �������������<�� 2�� ��%��� �� ����������������������������� ���������=�� 2�� ��6��� �������������'�������� ��� �������� ����������� �� �� ��������*��

>�� 2�� ��6���� ������������� ������ ����� �� �� ������������� ��?�� 2�� ��%����������� ��������������@�� 2�� ��%�� ���� ���������A�� 3������������������������ ������� ��������� �� �� ���������

Ulazni red �ekanja za monitor 3 1 Red �ekanja blok- iranih thread-ova 5 6 4

2

Djeljeni podaci Int x,y,z;

Procedura A

Procedura B

Procedura C

Page 105: Operativni sistemi (ETF)

102

����������������

�D � � ����� ���� ����� ��������� �������� � � �������� ����� �������� ����������� ����� ���� ��/���������� �� ����� �������� ���� ����� ����� �������� ����� ���������� ����� ����������������� �� ������ ���� ��� � � �������������� �1���� ��D � ���� ���� �� ������������ ���� ���������������� � ������� �� � ����� ��� ������� ���������������� ������ ��� ������������� ������� �� � � ������ ��� ������������ ����!�� ��D ������ ������������� �� ������ �� �� ����������� � �� �� �������������������������D � � ��������� �� ������� ��� ����� � ������ � � � � ����� ��� � ���������� ������������5� ������� �� �������8���D � ���������� ��� ����� ��� ������ ��� ���'������ ��*����� ��������� � �������������������8 � ��� ����� ���� ���� ����������������8 � ������� ����� ��� ������������� ���� ���� ��� ��� ����� �� �� �������� � ������� ��� ����� � �� � �� � ����� �� ���!�� ���� ����� ����������: ������65�������� ���� �����������������������������: ������5� ��� ����� ���� ����� ������ �1 � ������ ������ �� ��� ����� ���� ��� �1��� : ������ � � ��� � ���� ����� ��� ��� �� ��� ������ ��� ������ �����3 ������ ���� ����� �D � ���� ����� ��0 ��'*��3 ������� ����� ������ �1��������� �� ������ ��� ������ � �����������������'� ��������������� ���� ��������*�D � ���� ����� �������('*����

������������������������3 ���������������������9�������������� �����4�2��D � �E ��� � ��#�����5 ���( ��"F�����/������(��� �;CCB�������� ������� �� ������ � � ������� ��� ������� � �� � ���� �� ���� �������������! �1������ ��� "��� ������ ����� � � �� �� ��� �� �������! �� �� �� ����� �������� ���������������� ��������! ����� ����� ������� � �������� �� �� ���������������� �� �� "��� �� � ��� ���� ������ �� ���� ����� ������ �� ��� � ��� ���� ��������������� ���� ����������� �� � ������� ������������������ �� ���� ������������! ������������� ���� ������ �� ������������������� �������

���������������������������������������������������������������������������������������� ���������#����G�HI�������� �������JK�������G�����I�������� ���������&��G�H �� �"���G�HI�������� ������������G�HI������� �����������������!�������"���#������������'���#����LG�H*�����0��0�&��� �%������MF������',���#���LGH,*I��������������#����G����#���I�������������G��0������J���#���KI�������#(��������������',6�����6����� ��� ����#���G,�N����#���*I����O������� ����$����������������������!��� �������#���������0����'������GG����#���*������������(�P�������������0 ��'*I����������O�� ����'&��������MF�������*�P�������������#(�������������',�����������������0 ��,*I�

Page 106: Operativni sistemi (ETF)

103

���������O������������J���&�K�G�� ��I����������&��G�'���&��N�;*�Q����#���I������������NNI����������������������0 ������������������������'������GG�;*������('*I��������������������0 ������������#(��������������',� ��������� ������G,�N����������������N�, ����&�G,�N����&�*I����O������� ����$�������������� ��������!#���������������� ��I�������0����'������GG�H*������������(�P�������������0 ��'*I����������O�� ����'&��������MF�������*�P�������������#(�������������',�����������������0 ��,*I����������O�������� ���G������J� �"��KI�������� �"���G�'� �"���N�;*�Q����#���I������������11I������������������������������0 �������������������������'������GG����#���1;*������('*I�������������������0 ������������#(��������������',� �������� ������G,�N����������������N�, �� �"��G,�N�� �"��*I�������������� ��I����O�O�

�%��&�����'��'���'���������������# ���������������������� ���� �1�� �������������������� �������������! � ���������� � ���# ������ �������������������������� ����� � �� ����� ��� ����������� �������� � ����� ���� ����

���(� ���)������$* �������������� ���������7 ���G�HI�������� ���������R�����G�HI�������� ���������R �����7 ���G�HI�������� ���������R �����R�����G�HI�������� ������ ����2�R����G����I�������� �������� ��R �����7 ��2���G�HI������� ����(� �!#�������!+�,(�+#-�.������� ����$�������������������%��!�����#��������������� ��%���� �2���G�HI����������'���R �����R�����S�H�TT����R�����S�H*�P�������������R �����7 ��NNI����������� ��%���� �2���G� �'*I����������0����'� ��%���� �2���SG�� ��R �����7 ��2��*���������������(�P0 ��'*IO�� ����'&��������MF�������*�PO�������������R �����7 ��11I�������O����������7 ��NNI����O���� ����$�������������������%��!�����#������������7 ��11I���������2�R����G����7 ���GG�HI����������'��2�R���*������(%��'*I����O����� ����$�������������������/����!�����#������������'���7 ���S�H�TT����R�����S�H*�P�������������R �����R����NNI������������2�R����G�� �I����������0����'U��2�R���*���������������(�P0 ��'*IO�� ����'&��������MF�������*�PO�������������R �����R����11I�

Page 107: Operativni sistemi (ETF)

104

������O���������2�R����G�� �I����������R����NNI����O����� ����$�������������������/����!�����#������������R����11I�����������������%##M72'���R����GGH*���������2�R����G����R �����7 ���GG�HI�������� ��R �����7 ��2���G� �'*I������������(%��'*I����O�O�

�0���������� �����/���� �� ��� �� ������������ ���� ��������� ���� ������!�������� �� �� ������ ���� �1����2�� ������ �� ������� ����������� ���������%���������� ���������&� � ���� �� ����������� �� ���� �1�� �� ������8 � ���� ��� ����������������� �������������� ����� ������� ��� �� ��������� �� ���������� �� ��� � ���/��������� ��������������� ���� �� ������� ����������� � ���� �� ������������� � ����� �1������&�� �������������������� ��� ��������!�������� ���������� ������� �� ���������� �� �� ����������������&������ ��� �������� ��� �����������������������F1 ����/���� �� ��� �� ������ � �������� ���4��

• /�������� ����� ������� ���������� ������ ��� �� ���� ���,� � �� ,�

• "�����1���� �� ���� ������� ��� �� ��������� ��• �������1���� �� ������������ ��1����������� �� ���

�8 � ������������������ ��� ��� ���� �������F���������������� �� ������������������������ �� ��������� ��� ���� ����� �������������������� ���� ����� �������

1���'�������&2���������������� ����

#������������������ ������������������������� ��� ���� ��������������������������� ������F��F�������� �� ��� �� ����������!��������������0 �����

%������������������ �������������0 �� �� ������� �0 ���������� � ���� �������� ! ����F���� ��� ���� ����� ���,� � �� ,����������� ����� �� ���� �1 �������������!�� ����������������� ������"������ ����� ���������������������!����"� ���� ��� ������������� � ��������������������������� ������������ ��� �����

����V�����I���3��4����!������������5�����)��)#���P��������FV �)����'�F*I�����0����'E"98M3*�������0 ���'� ��F*I�������������GE"98M3I��������FV�� �'�F*I���O�

Page 108: Operativni sistemi (ETF)

105

���%����4����!������������5�����)��)#���P��������FV �)����'�F*I������������G�/:E"98M3I���������� ��'��*I��������FV�� �'�F*I���O����

6������������������������ �����

3 � ������ ������������������� ��� ���������� ��� ������

"��������������

#������� ���� � � �������� ��� ��� ��������������� ��������������������� ������� �� ��"� ������������� ������������������ ����� ��������� �� ��"� ��� ���������� ������������1������ ����������� ��� � ������ �� ������� ���

��������������������������������)�-���7�6�������������������������������7���������������-���7�����'������� ������������������7�����������)��)-��7��&��������'�����7����.-����

*�������,��!#���

"�� ��� �0 ��'*���� ����� �������������� �� �� ��� ���� ��������� �� �'� � �� *��W ��� �� ����F������������������������������� �������� ���������!����� ��� � �� ����� �����0 ��'*���"���������� � ���� �����0 ��'*�� � ���� ������������� ��� �������F���� ����������� ��������� �������

%����� ���� ��� ����� ���� ������������ ������� �������� ��V���F�'�F*������������������� �������� ��������� ���� ���������� ��������� ����� ����������������� ��8 � ��������������� ������������� ���� �������� �������������� �� ������� �������� � ���������� ���� �� ������ � ���������� ��� ���� �������

��������,���!����������7��5�����)�7�)#��

��������)8�9����!:��;���4���#-���7��&���������'������7����9�����!:��;��)�5:��;����5���8���!##-�7�������������'��<7������)8������!:��;���4���#-��7����&������������7��

�7*�������������������������8����)!#��� ��� ����������7�������8����)�!�)##-����8������!���#-���7�"���������������������� ����7������)8�9�����!�)#-��7���� �=��>�&�������5��������������'����������7��������-���.�

���

Page 109: Operativni sistemi (ETF)

106

*��������������

"�� ��� ���� ������ ����������� ������� ��� �� ��������� ��%���������� �� ��� � ���� ���� ��� ���� ������� ���

�������������!����������7�#��������������8������-���������)8�9�����!��;�������#-��7��&���������'�����7����������?���9����!:��;��)�5�:��;����#-���������)8������!���4���#-�����������!���;@#����������8���������!���#-������������-���.����

*������� ��������

"�� ��� ���� �� �������� ������ ��������� �� ����������"����� ���� � ��������������������������7���� ��� ������� ���� ������� ���� ���X��� �Y���� �������������

������� ������!����������7�#��������������8������-����������)8�9�����!��;���4���#-��7��&���������'����7������,�����!:��;��)�#��7��������'���������������7������������������?���9����!:��;��)�5�:��;����#-��7���� ����7�����������8���������!���#-��7��'����������&�����7������.���������)8������!��;���4���#-��7����&���������'����7����.���

Page 110: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

107

������������� ����������������������������������������������� �� �������������

• ��������������������������� ����������������� �� �������� ���• � �� ���������������� �������������� ���� �� ���������������� �������������� �������• �� ����������� ��� �������������� ������������� �� � �������• � � ��� �����������������������������!� ���������������� � �� �� ������

�"������ ������� ����� ������������� ����������������

• "������� ����� ������������� �� ���������� �����#���������$ ��%������������������ ��������������������� ���������� ������������������� ����&�'���������������� � �������� ��������������������������� ���� ��� &�

������� ������������

• �������(��"����������������)���������������� ������(����*������ ���������������� ������ +������� � ������������)��&�

• �������*��"��� ���,���-�����������������������(&��� ������.����(���������� ��� /��� � � �.� � � �(�� � ��������$$$$$$$$$$$$$$���������$$$$$$$$$$$$$$$$�� � � �#,%� � � �#-%�� � � �#-%� � � �#,%�����������������������

��������������������������������������

• "� ���0������ �������� ������ ���������• "������ �� ����� ��������� ���������� �������������• ,� �������� ������� ��������������+����� ������������ �������# �� ��)������������%�

• ��� ��� ������� ������������� ���������� �������� ������• 1��������2����� ��0��

������������������������

• ��������������(��*�3�����#�� ��� ���������������� ��������� �� ��� �4����)���%�• "�����������������������5������������• "������� ����� �����������������������0���������

♦ ��������♦ �� �������♦ �� ��)������

Page 111: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

108

��!���������������!�"����6��� �������+�������� ���� ������������ � ��������

�• #�$��% ��������"� ���������&����� ������ �������� ��������������� ���� ��������������������

�• '�(����������)����� ��*�������� ����� ������������������������������ ����� ������������� �������������� �����

�• +�������( � �������������+����������� ����������� �������� �� � )������ � �� � ��� � ���������� ������ ������������ +� ��� ��������+���� ��� �� &�7������ �������� ������������������� ���� ������������������������������������� )����&�8 ��������� ������������� ����������������&�

�• ,������ ������ �����������*������� �� �������������������� ����� �� ����������0��������������� �������������0���� ����������&�

���-�� ����" ����%�� ������������������'� ������������������������������������ ���������&���

• 7�� ������� ������ ����� �������������� �����������������������������������������������������

• ��������������������������0������ ������������ ���• 6������������������� ������ ��������������������� ����������� �������������&�'� ��������������� ������������0��������������������������������� ������ �����������������0����� ����

• 9�������� ������������������� ��0����� �+� ������������ ������ ���0���������� ������� ����� ������0����� �������������������������� ����������&��

��.���������������%����������������,� �������+�� ������+����� ��� � ���������� ��������������������������� �������+��� ���������� ����0�������&�'� ��������� �������� ���� � ��� ��������������+�������������������������������:&��:��� ������� ����������������0������������ �����������������+���� +� ������������������������� �������������������������� ��� ����������������� ���������&���������� ������� �� ����������������� ������)���� � ���&�

Page 112: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

109

��

��.����)�����)�������/01�2�3�45�45�45�45�4�67����*)�����4����3������������8����94��: �0���3��������������)�������/�1�7��������������)�������/��94��: �01�7������6������3�������������)�������/��94��: �01�7��������������)�������/�1�7������6������888�����;;;������<��)�������/�1�7������<��)�������/���94��: �01�7�

�����888��)� ��;;;���6�

�=����"����������������������;�� �������� ������������������� ���� ������������� �������� ��+0�������������������������������������� �� ���������� ��&����� ���� ��� ���� �������;��� ���������� ���<=�>?���������=������������������>�������������������&��� �� ��������������������������������

• ���������$��������������������� ������� ������������������������ ���� �����#�4@%�

• >������!��������������������� ��� ��� ����� ������������������� ���������&�� ������������������������������ ������������ ������������� ��� �������

�� �� ������������������������

• ��)��"��!� ����� ���������������� �� ���� ������ �������������������������������� ��������������&�� +� ��� ������������ ���������������������0�� ����� � ��)�� ��������������� ��������������������� ����� ��� ���������� ������������������ ��� ����&��

• ���!?� ���������!� ������ � � ������� ����������� �� �� ������� ������������������������� ������ ������������� �� �����&�� +� ��� ����� ��������������� �� ��������������������������������������������� �� ��������������� ��� ������ ������� �����&��

��

Page 113: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

110

��

��

Page 114: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

111

'������������������6�� ���� �� ���� ��� ���� �������� � ��� ��� ����+���� ��������� ���� ���� � ��� �� � � � A���B��� ����&� '� � �� � �������� ���� �� � ���� �� � �� ���� �� ����� � ��� ��� ����� ���� �� 0�� ������� �������� � �� ����� ������������� � ������ �������������������������������������+��������� ����&��

�,� �� �� ������ �������������������� ��������������� ������������������������������ ����� �� �� ����������������&���<�!�����������������"�������������������,� � � �� ��� ��+�������� ���������� ��� �� ����� ��������� ��� ��� � ��� ���������� ���� ������� ��� ��� � �� ������ �������&� � ,� � ��� �������� � ���� �������� ��� �������� ��� � �� ���������� ��&������������������ �������������� ��������������������AC���0����������� ������ ����� ��� �������+��������+���� ������ )����B&� �������������� ������ ���������� ����� ������������ ���������������+���� ������ )������� �� � ������������ ��������� &� �� ��� ������ ������������ ���������� � ��������������� ����&�� ������� ��� ������������ ������ ������ ����+������ �������������� ����� � ������+�������� )������������������ ��������0������ ������ �� ��������������� ������ ����������+���&������������������������������������� ������ ��� ������������ ������������&�

Page 115: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

112

���

Page 116: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

113

#��������������������������

• 8������� ��������������������������)��������������� ���#�������"� ��������%�

• @�� �� �������������)��������������� ����� �������� � ���������%���"� ����������

• 4�� ��+���� �������� ��+������� ���������� �����0�����������������������/�� ���������� ��� ����������������������0���� �4D�

.�����"� �����������"���������������������������������������� �� �������� ��������������� ������� ���� ������������������� ������������ ���������&�� ������ ���� ����� ���������� � ������������������������������ ������ ���� ��������������� �&��

• #�$��% ��������"� ��!��������������������������������������� ���� ��������� ���������

• '�(�� �� ����� !� �� � ����������� ������� ����� ��� ���� ��������� �� � �� �������������������������������������������&�@�������������������������� ������������������������������������� ��������������&�,� ����� ������������������� �����0�� 0�� ���������������� �������������������������������0�� 0�� ����&���� ���� ���������&��

• +�������( � ���������������!������������������������������������ ��� �� ���������� � ������ ����������������� �� ������������

• ,������ �� ���� �� !� �� ������ �� ������� �� ������� ��� �������� ���� ��������� �� �������� ��� � ��� ����� ��������� &� 7���� �������� ��� �� � �� ����������������������� ��� ��� ����������� ������������ ������� ������������������� ������� ��0���������� ������&�'��������������0������ ����� ����������������� �����0��� ��� ����� �� ��� �� ���� ��� � ��� �������� ������� ��� ��� ����� ��������� �����0������ ������&�'� � �� ���������� ������ ����� ��������������������� � ����� � ��� ��� � �� � ��������� �� �������������� �������&� '� � ��� � ��0������� ����� ����� ��������� ��� ������������� �� �� ������ ������������ ���� ��� �� � ������������ ������&� �@���������������������������+�����������������0���������������� ����������������������� ������� ��������������� � ������0��� ��� ��������&� ,� � ��� ��� ������� ��������� ��� �������� ��0�� �����0��� ������������ �������� ����&��

�@�%���"� ����������6�������������������������� ������� �������������� ����� �������

• 7�� �������������� ��������� ���� ���������������������� ����������+��������������� �������������� �������� ���������

• ,�� ����������������������� ������������������������������ ���������������������������������0�� 0�������������������� ����������

• "�������� ������������������������� ������ �������� � ���������� ������������������������������������������� �����

�.��%�� ����� �����������

• E���������� �������������� � �������������������� ��� ������������������� ��� �������� � �������������������� ��������

• "������������������ ����������� �� �� ���������������������������� ������+�������������� �����

Page 117: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

114

• "��������F�(���*��3���G���������������� ������������ ����������������� ����� �������� ������������ ���������� � �������������0������� � ����������������H���������� ������������� ����������F�&�

• ,� ��� ��������������������� ��������������� ����� � ���� ������� ���������� �������� ���������������+������ ���0��������������

• E����� �����������+����� �������� ������� ���������������������� ���������������������� ��������������������+������� )����&�

• E����� �����������+���� ������ )������ ����� ������H(�� ��� ��������� ���������������������&�

�A� �" ���� � �����

• ,� ������������������� ����������������� ��� 0�� ����� ���• ,� ��������������������� �������������� �� ���+������� )�� ����� ���• 8������������������������ ��� ������)���������������0���������0������������ ��������

�B�������������������������������?��������

• 6���������������������� ����������� ����������������������������������������������������� ������ �&�

• 6������������������� ������������������������� ������������� �����������������

• E����������������� �� � �� ���������� ���������������������������� ���������������������������

• ��������� �������������������������� ��������������@������ ��������%���"� ���������C�D� ������������������

• � �� �����+��������������������������• "������� ����� �������� ����������������������� �� ��+0�����• E���������� �������������������� ��� ��� ����������• E��������� ���� ����������� ����������� ������ ��� ������������ ���� ������ ��

�.�������������������%� ������������������� ������������ ���� ����������� ����� ����������&��

• ���� � ��� ����������� ����������� ���� ��������� ������ � ������������������ ������&�,� �������� � ��� ��I�J�K���� ���� �� ������������������������������������ � ��� �

• L�M���M��������������+�������������������������� ���� ����&�,� ������MI���J�K��� ����� �����������������������������+�������������������������������

• ,� ���������M����������� ��������� �������������� ��������� ������������ ���� ����&&�,� ������ ������I���J�K���� ����� ������������ ������������� �����������������������������

• � ��������M����������� ���������� ��������������� ����������� ���� ����&�,� �� �����I���J�K���� ����� ���������������������� +�����������������������������������+���� ��� �� &�

�� � � �����%�/�51�2�#�&/�51�C�B�������/�51���

Page 118: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

115

.��� �� �������������

1. ��������� ���E������F� ��)��������� ������������������������� &�4�������������� ����

�� � � E�����2�>������(�"����� � � F� ��)/�1��2������������245G5H5 ��

2. ��)�������� �������� ������ �����

a. F� ��)/�1�2�������b. �����%�/�182�E����

�� � ,� ������������� �� ���������� ����:&��

3. E����2E����9�B�������/�1���������F� ��)/�1��2�������������=�����G��4. ,� ������ ��)/�1�2����������� ����� ��������������������� ��������&�

�B������������)"��� ����)��"��������������� 6������I�J�������������������������� ������&�,� �����������I�J�K�� ����� �����������������������������������������&�E���������������������������������� ���������� ��������������0����� �������������+������

1. ,� �����������I�J�FK�� �����I�J�� ����� ����*&�4������ ��������������+���� +� ��� �������� ��������� ������������

2. ,� �����������I�J�FK����� � ��� ��I�J�������� ����N������������ ����������� +� ������������������ � �����

3. � ��+������� ����+���������������������� ��������� ��� ���������������������0���������

� �� � >������(�"���/�1��2�>������(�"���/�1�C���)��"/�1�� � B�������/�1��2B�������/�1�9���)��"/�1�����������������������������������%�/�1��2������%�/�1�C���)��"/�1��

• �� ����������������� � ���������������� ��������� ��������• �� �������������������� � ����� �������� ���������������� ���������� ���������������������0��

Page 119: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

116

�������%� �������������������

• ������ ������.� ��:/�����������������������,#���(.�����������%��-#O�����������%���9#P�����������%�

• ����������8.����� ������0�������������� � � ,� ����� � L�M� � ���� � ��� ��������������������� �������� � � $$$$$$$$$$$$� $$$$$$$$$$$$� $$$$$$$$$$$$$$$$$������������������$$$$$$$$$$�� � � ,�-�9� � ,�-�9� � ,�-�9����������������������������,�-�9�� � �.�� .��(��.�� P��O��N�� N��N��*����������������������������P��:��N�� � �(� *��.��.�� N��*��*������������������������������������������������(��*��*�� � �*� N��.��*�� Q��.��*������������������������������������������������R��.��.�� � �N�� *��(��(�� *��*��*�� �������������������������������������.��(��(�� � �:�� .��.��*�� :��N��N�� � � ����������������:��N��(��

• "��������������� �������������������� �L�M�$�,� �������• "����������������� ���������� +� ����������F�(��N��:��*��(G��� � ��������������������� ���&�

������ ������ ����� �����(���������� ������������������,#(%���9#*%�������� �����(����������#(�.�*%��

• �� ��������������6�������FK����� � ��� �����&�#(�.�*%FK#N�N�*%�������&��� � � ,� ������� � ������ � ���� � ��� ���� � � $$$$$$$$$$$$$� $$$$$$$$$$$� � $$$$$$$$$$$$$$$$$�� � � ,�-�9� � ,�-�9� � ,�-�9�� � �.� .��(��.�� P��:��N�� *��N��.�� � �(� N��.��*�� .��*��.�� � �*�� N��.��*�� R��.��.�� � �N� *��(��(�� .��(��(�� � �:� .��.��*�� :��N��(��

• 4���+���������� ������������ ����� ���������������������F�(��N��:��.��*G���� � ��������������������� ���&�

• L �����������������#N�N�.%� ��� ������:������ ������S�#��������������������� � ����%�

• L �����������������#.�*�.%� ��� ������.������ ������S�#��������������� � �������������������������� ��������%�

'����������������

• @ �� �����������������)��������������� ���• ,�� ���������������• "����� �����������#� �������������� ��%�

�������"�!�������������������• ��� ������ �����������!�� ������� ������������������������ ������������ �����������������

• E�������� ��������� �����!����� ����������������������������������� ����• E�������� � ��� ������� ����� �#���� ���� ��� ������ ��%�• ���� ��� ��

Page 120: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

117

�.������ ��������������������"�����������

• '�����������T���$ ���• U� � �������� �����• ��������� ���������������

• ���� ��� ����� �������� ����������������������� �� �����������������• ,�� ������� ����������������������������������������������� ��������������������� ����� ���������&�

��������������������������������

• ���������������������������A� ��������� �B�o ���� �� ���� �� ������ ����� ����������������� ���� ����������������� ������� ���������������� ��������

o E���������� ���������+�� ���� ��+������ ��������� ������o ����� ������ � �� ��� �������� � +� ����0�� � ������ ��� �������� �� ����&�'� �������� �����������������������,L������������������� ������������������������������������������������� �� � ������

o ��������A�����B����������� ��������

• ,� ����� ����� ��0���������o ����� 1�����2� ����0�� ���� ��� �������� ���� � �����&� U�+0����� � ����� �������� ������� ������!��� ����� �� ���������������� ���� �����+����������������������������&��

�• "���������������������������������� ���� ���������� ������������������������� ����� ������� �&�U�+0�������� ���������� ���������� �������� ���������������������� � �� ���������������������� ���� +� � ���+������������&�

�.����"�!�������������������"������������ "���������� �������

• ���� � ��� ����8������������������������ ������ � ������������������ �������• ,� ��������L��������M������+���� �������������� �������������� ��� ������������ ���� �����

• 6�����������������M��� ���� �����������0�������������� ���� ����&�,� �����������I���J�K�� ����� ��������������������������������������������&�

�B�������������������

1. ���������������V �����W���������������������������� &�4���������������

a. E�����2�>������(�"�����b. �����245G5H5 5������������������2I�J�� ���F� ��)/�1��2������� ����F� ��)/�1��2�����

�2. ��)�����M����������� ���

�a. F� ��)/�1�2�������b. ��)��"����82�E�������

Page 121: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

118

� � B��� �������"����5����� ��������K��3. E�����2�E����9�B��������

� ��������F� ��)/�1��2������ ��������������G��

4. ,� ����W�����I�J�K������������ ����(FK�FK��� �������������������������� ������������ ���������I�J�K������ �������� ��������� ��� � �� ����� �&�

����������������������������

• ������ ������.� ��:/������������������,#P�����������%��-�#*����������%���9#R�����������%�

• �����������.����� �������0����������� � � � ,� ������� 6������� � ���� � ��� ���� � � � $$$$$$$$$$$$� $$$$$$$$$$$$� $$$$$$$$$$$$$$$$$�� � � � ,�-�9� � ,�-�9� � ,�-�9�� � � �.� .��(��.�� .��.��.�� .��.��.�� � � �(� *��.��.�� *��.��*�� � � �*�� N��.��N�� .��.��.�� � � �N���� *��(��(�� (��.��.�� � � �:�� .��.��*�� .��.��*��

• "�������F�.��*��N��(��:G�0���� ��������W�����I�J��K������������ ���#�������������������������� ��%�

• �*��������������� ����������������������������9������������������������������ ��� ��

�� � � � � 6�������� � � � � $$$$$$$$$�� � � � � ,�-�9�� � � � �.� .��.��.�� � � � �(�� *��.��*�� � � � �*�� .��.��(�� � � � �N� (��.��.�� � � � �:�� .��.��*��

• "�������������S�• �L ���������� ���������������������� ��� ������.�����������������������• 6��� ��� �� ���������������� ������(��*��N����:�#���� �������������� � ���������������%�

�L�����%��B�������������������

• E�������� ����� ��� ��������� ������������� �• E�� �������� ����� ���+�����+���S�• E ��� ��� �������������� ����� �� � �� �� ��������#� �������%�

• ,� ������� ����������������� ������������� ������ ���� �� ������� � ����������������������������0�� �� 0����0��� ��� ��� �������� ��������� ��

�A����"�������������C���"�!��������������

• ������ ���������#�� ��%������� ������ ������ ��������� ��• ������ ��������������� �������� �������� ������������� ����������������+��

Page 122: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

119

• E ������ ��0�������������������� ��� ����S�• ��� �������� �����• E ��� ������ ���� ����� ��� ���� ��� ���������������� +� ���� � �����+�����

• ��������� �������� ����� ����� �• ��������� ����� ����������������+��• E ��� ��� ����������������� ������������• @���������� ���������������������� �������S�

�A����"��������������C����( � ����������

• 4�� � ��1�����2����������������������• � �������$�� ������������� ������� ����������� � ��������������� ����� ����������• "������� ��$�������� ������ ��������1�����2/���������������� ���� ������$ �������� ���������

� ��%� �"� ���������������� ������ �����������

• E ������������� �� �������������• ������������• �������������• ���������

�� �� �������0�������� ������ ��������������������������������������������������

• @������������������������������������)����������• E ��+0��������� � ���������������������������������� ����������������������&�

����������P&(�������������������������� ���� ��������� � ������ �����������������������������S��P&*�@��������� ��0������������ ��� ���������������� �������� ���S�'��������� � � �&����������� �� ���� ��� � ��� � �� ������� ������������ ���� ��� ���� � ����� ��� � � ��� ����������� ������������ � �����P&N�E ����������������� �����0���������������� ���������� ������������� ���������&�8 � ����� �� �� � ��� +� � ��� �� ����� �� ����� #��������� ��� ��� ����� ��� ���%� ��� �������� ��� ������������������������� ������������ �+� ����+����������������� ��&� U������� ��0�� ������������������������ ������� #����&� ������������%� ���� �������� �������� � ��� ������������������ ����������������� ��� ��� ���������� �� ��� ����&� @����� ���� ��0��������������� ���� ��������� ������������ � ���������&� ,� ����������� ���� ���� ���� ������ ���� ��������S� ,� � ���� ��������� ��+� S� E ��� +���� ���� ��� ��� ��������� ���� ����� �� ��� �����+������ ���#�� �� �����������%������� �����������������+�� �#�� ������� ��0����������%S������������� � �������!���� ��"���� ���������#�����#$���% ����� ��������� �����������%�����������#&�����#&���% ������������ ����% �������#$�������� ���! �������� � � ���� �� ��� ������������������� �� ����%������������������������'����� ��(���P&:����� ���� ����� ������ ���0���������������������������� ��������� �� ���� ��� �� ��������������������� ��� �����%� � ����������������� ��������������������� ��� �� ������ � ����������S��%� '������������ ����� ������� ���� ������������������ ���� � ���������S�

Page 123: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

120

�P&O������ ������ ����������������������� ��������&�� ������������� ��0������� �����������+���� ������ )����������������������������� ��&�����������)������ ����� ��!���� ���� ��������� *������+�����)������% ��������*,-.�*,-.�*,-.��#�/�//$&�//$&�$0&/��#�$�$///�$10/��#�&�$203�&204��#�2�/42&�/40&��#�3�//$3�/404��.�����������! � ������� #$� ��� ���� � � ���� � ������ ������ �� � ���� �������% � �� ����������%��������� � ���� ��� ����������#2��5����#2����� ������ ���"��� �������� ������������ ����� �������% � �� �������'&�6�6�4(����������� ��� ����� � ����� � ���� � ��� ������������� �������P&R� ���� ����������� �������������������� � ��� ��������������������������� ���������������������� ���������������� ��������������� ������ ��#�������%&�E ���������� � ��������� ����� ����� ��������������������� ����� �� � ����+���������� ��� ���� ����������� ���� ��� �������� ���������� ���� ���� �� ������� #��� ��� �� � ������0����������%&�,� �������� ��� ��� �������������������� ���� ���� ��� �������0����� ������� ���������������������� �#������ )������ �������� ��%���� �� ���� � �� �����&�

��%� � ��0������������)������� �����# �������� ������������%��%� "����������������)������� �����#������������� ���� ����������������%��%� � ��0����� ������� +�7� ��� ����� �� ���� #�� ���� ������ ��+�� �������� ��� � +� � ��� �� ���� ������������������+�%�

%� "����������������+�7����������� ����#�� ���� ������������������ ��� ��������%��%� � ��0������� ����� ������%� "����������� ����� ������

�P&P�@ ������������� ���������� ����� �����������������M�*�&�����������5�����&���%��� ��� � ���8�'��$(�8�9828&8$:��7�'��$(;&��<�������� ���� � ����� ������������������ � � �� ������.��������� ��������������7���7�'�8$(;&�����������P&X�@�������������� ���������� ��� ���������������� ��� �������� �������� ���������� ������ �� ������������������������������&�� ������������������������������������ ��&��

�����������#�������� ��������� ������������������� ��� � ���������� ���������% ��������������� �=���������� ��#� ��������� ��� �������� �=� � �������������������������� ���� � ����������������������������������� �������� ������������� ������� !���������P&Q�@�������������� ���������� ��� �������������� �������� �������������� ����� ����&���������� ������������������ �� ��)������� ��������&�� ������������������������������������ ����� ��������������0�������� ������%� L����������� ��������������� ��� ������������)��(������������&��%� "���������������������� ��������������� ��H�&�

��

Page 124: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

121

������������� >����� �:$�+�7� �?���8�����

����+�7� �>�$���������� ��.�������� �:�+�7� ���*������ ��� �*��������� �����������������������

���>���� �:$�*������ ��� �:����5�� �� �������� ���� ���>��� �8�>�*������ ��� �:�>�+�7� �?���8����5�� �� ������� ���� ���>��� �8���?���8�����@��������� �� ���>���� �:$��� �?���

����� ��� � ������������ �������# �������������� �:�/��#� ���+�7� >$��� �� ����#� ������������������������� ���%�������� � ��.����� ��������%�� � ��������������������

�P&(.� �@������������������������� ��� ����+����O...�� �$ ����������� ������������+������������������ ���� ��� �� +���� ��� � � ������������� ���� ��&� 6��� ��� ��� �+������ ��� ������������ � �� ����� ��� ���� ������ �������������+���� ��� � �� �� �������� � �(.�� �$ ��&�"������ ������������ ��� �*� �����#����� ��� ��� ���������%���������������������� ���� � �� � � ���� � ����+��&� "������ �� ������� ��� �� ������ � �� ��� ������ �������������������� ������������ �+� �������������� ��� ���������� ���� �� � ������������ ������������� ��0��������������������������+������ �� �$�� � �(.�Y&�� +� ������������N.Y����������� � � ��������O...�� �� ���������� �0������ 0������+���� ��0������� ������������+������ �$������ ��0������� � �*.�Y&��

�%� E ����������������������������������� �������������������������� ��S��%� E ������������������ �������������������� �������������������������� ��S�

�����������

�(� <�� ����������� ������� �!����� � � � ��������������=���������� �����������������=����� �������� �� ����� ��� � � � ��� ��� ���=����� �������� � � ��� ��� ���������� ��������� @����� ������ ����� ���� ��� ���������� ��������� ���=��������������������������������=������!�� � � ����������

�(� *��� ������� � �� �� ��� ��� � � � ��� ���� ��� ���� � �� ������ =������� ������ ����� �������� ��� ����= �������� �������������� �����

�P&((� L ��� ��� ����� ���������� ��� ������ ��� ����� ���� �������� ��� �+���� �������� ����� ������ ��� ����� �� ������� �� � ������ ���� ���� ������� ��� ��� ��� �������������&� � �������� ��� ��� �� ���������� +���� �������� �� ��� ������ ��� ��+����������������� ���������� ��� ��������������� � ��������� ����������� �� ��+�� ����� ���������������� ����������������������&��

����������.����� � ���� ��� ����� ���� ���*�,� �-� ��� ���� �������#/� �#$� � �� ��!�� �� ���� �������*������ ���+�7���*�� ������#�/�$&&�&23�$$&�$$$��#�$�$$&�&22�$&$�A ���� � �� �� � ������� �������� +"�� ��� ���� �� ��� ��� �������� � ����� ���� ��� ������������������ ���������� !����� ��!��

Page 125: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

122

�• ��?#/�#$B�������������� ������������������������*��• ��?#/�#$B�������������� ������������������������,��• �� ?#$�#/B� ������������ � �������� ������� ��� ������ -� � ������� � ���� !� � � � ��� �����������������

P&(*� �L ������������������ ������������ ����� ������ �����Z�����Z&�,� � � � ����������� ��������� ��+� �� �� �� � � � ����� ��� ��� ��������� +��� ������� � ��� ������ ����� ���� ��Z��������Z��� ����&���

����������.��� ������ ����������������������� �� =��������������������� ��������� �� ������������� ��� ��������������! ������������������%����� � ����� ����������������� � ����+"�� ����� �������%�� � � ��� �=����������������������������= ���������%���������=�������� ������������������������������������=����%� ������ ��%���� ������������ ��������������P&(N� ������ ���� �������0������������������

,� ����� � L�������� � ���� � ��� �$$$$$$$$$$$$$� $$$$$$$$$$$$$$$�$$$$$$$$$$$$$$$�,�-��9�@� �,�-�9�@� ,�-�9�@�

� �.� .��.��(��*� � �.��.��(��*� (��O��*��.�� �(� (��.��.��.� � �(��P��O��.� �� �*�� (��N��O��:� � �*��N��O��R�� �N�� .��R��N��*� � �.��R��O��*�� �:�� .��.��(��:� � �.��R��O��R��'� � ��������������0����������� �����0��������������� ��������

�%� E ���������������������#����C��%� @����������������������� ��������S��%� ,� ��������������� ��� ������(����#.�:�*�.%�� �������������������� ���)��� ���S�

�P&(:� ����� ���� � ������0�� �������� ��� �� ������� �������&� 6�������� ��� ���������� �� �� ��)���������������� �� ����������� �� ����������&�,� ������������������������������� �������� �������� �+� ���������� � �������������� ����� �������� ��� ������ �������� ��������������������������&�,� � ������������������������� ������������������������� ������ �� ���� ������ �� �� ����&� =��� �� �������� �� ����� � ��� ��� �� ������ ��� ���0���� ������������ ��������������&�

������������������������������ ������������� �� ���� � ������ � ��������������)������% �������������� ��� #:�*�*%&� ,� � �� ���� �.� ��������� #*�*�(%� ���� ��� ����&� ,� � �(� ������#(�.�(%� �� �� ��� ����&� ,� � ������ �.� ������ #.�.�(%� �� ��� �� ����� �� �������� � ������������ ����&� ,� ������*� ������ #*�.�.%� ��0�� #(�.�.%� �� ����� ��� ������.�� +� ������ �����.��� �����&�8������� ���� ������������������ ������.�� ������#(�*�(%������� ������ ��� ���������������#(�.�(%&���%� L ������������� �������S�,� �� ������������������ ����� ���� ���� ��������������������� ��������S�

�%� L ������������������� ���� ��� �������S�����������

�(� D�����������%��� � ������ ��������� ����%����������������(� .���#������� �� ��� ���� ��� � � ��� ������������������� �� �� ����� ������������������ ��"���� ������������� ����������� �����

Page 126: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

123

�P&(O� ������ ������ ������������������� ��������������� ������������������ ����������������� ������������������ ���������������������� ��&�L ��������� � ����������� �������������� ����� ������������+�0�����L�M��K�V���������H�,� ����� �������V��������������� ��� ����������������������� ����� ������������ ��,� ����� ��������� ���� ��������������������� ��� �&�

������������ )�E � ������+�7�������� �������������E � ��� � �#����' (:�� � ��' (��A�������#����� ��� ���� D����� ' (� ���� ����� ���� ��� ���� ��� ��������� �������� ����� �� � ����� ������ ����@ ��������� ��*�%C���������������% �����"�5������"�������������������5�����?�"� ����������

• 94"N.P��@��� ����#8������ ��������[%�#�������TTT&���&������&���\������� � �����N.PQO������������ ��&����%�

• 9"N*.:��@��� ����#=��������8���%�#���������&��&��&���\��N*.:����&QP�� ������� ������ ��&����%�

• @��� ��&&&�8���@���[�>�������#L������������ ��������[%�#���������&��������&�����NX*&���N..&����%�

• 7����,�������� T������� ������@���������� � ������#�����������&���&� �� ���� ������ ������������������������� ��&����%�

�'��������������5�����% �������"��������������������

• @��� ���@������ ��,�������,�@����������@��� ���@������ ��"������#�������TTT&�&��&���$������&����������� ���������� �����&����%�

• @��� ���@������ �����L����$��������"[������������ �������,���[����#�������TTT&�����&�����������������(QQO�Q:Q�Q:Q&����%�

• @����������@��� ���@������ ��#�������TTT&��& ���&���\���O((&����%�• @��� ���@������ �����@����������@��������#�������TTT&���& ��������� ��,���������.NR.$.N..�:R(RN&����%�

• 8���@����������@��� ���@������ ��,�� ������#�������TTT&���& ��������� ��,���������.PN:$*.P(�RO(R&����%�

�@�%���"� ����������������"��������������

• ��������[� �V��� �����L��� ����������� ���� ����� ����� ������#�9"�ONP�%�#�������TTT&��&T���&���\��ONP$(�%�

• ��������[� �L��� ���$E���������[���������� ���� ����� ����� ������#�9"�:N(�%�#�������TTT&����&����&���\������:N(���� ��]�� �&����%�

• ��������[� �V������9������������� ���� ��-���������� ������#�������TTT&����&����&���\������:N(���� ��]�� �&����%�

• -�������,�� ������ �������������� �����#�������TTT&���&������&���\������� � �����N.PQO������������ ��&����̂O�%�

• � ��������[� �V������9������������� ���� ��@��� ������ ���[�#�������TTT&��&�&��&��� ����'&W&����� ��������� �(*�� �Q&����%�

• ��������[� �L��� ���$E���������[���������� ���� ����� ������ ���[�#�������TTT&����&����&���\������:N(���� ��]���&����%�

��

Page 127: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

124

������������ � ���� ������������������������� � ������������������������ ����������������� ���������������������������������������������������������������������

• ��������������������������������� �������������������������������� ��������� ������������ ��

• ������������������������� ������������������������������� �� ���������������!�� �����"������

• ��������������� ����������������������� ��������������������������#�������� ���������������������������������� ����$���� ������� ���

�%� �������������������������������� ��������������������� �����

• ���������������!��������� ������������������� ����� ������ &�������������������• ������������������������� �������������� ���

���������������� � ���� ���

• ��� ���������'�����������!#������� ����$������������o ( ����������#�������������������� ���o ( �� ��"����� ����� ����!#�����o ���������������$����� � �������������������������'����������������$������������������� ���� � ����� ����� �����������������!�����)���)�����

• )���!���������� �������������� ������ ����������� �������������o %����������� ����������������������������������������o *����������������������������������$����������$�� ��������������o +��������������!��������� �����!#������������������������ ���������������

• %������ ������ � �� ��o ,���� �����������!������������������� �����!������������������������������$��������������������� ������������������ ������� �������

������������������������������������ � ������)����������� ��������������������������������������� ����$�� ���� �����������������'������

1. ������� ���� ����������������-������.������������� ��������������������������������� ����$�������� ����� ���������������#�� �������������������/��� ���������������������������� ����������������������������

�2. ������� ����������0����������1����� ������������ �������� ���������� ��������������������� ������������������������������������������������

�3. ������� ������������23�������������1����� ������� �������������� �������� ����������������$���������������!�������������� ���$�� ���������!��������������������!���������������������� ���� ����������������1����� ����������� ������������ �������#������������������ ������� �������������������� �����

Page 128: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

125

���� ��������������

♦ 4����� ��������������������� ��������� ����������������� ���� �$�� ������ ����!#����������� ������� ������

♦ 5������������������������������� ��������������#�� ���������������������������������

♦ (��� � ����������� ���� ������������������������������������ ��� ��������'��������� �����������

♦ ���������� ���� � �������#����������� � ������������������ �� �������'��������������������������

����� �����������������

•�����)����������������$�����������������!�����������������•������1����� ���������������������������6 � 6� ������ ���������������������#��

� ���� ���������������� �������������������������•�����6%� 6������������ ��� � �� ������ ���������������������������!����������•������(���������� � ��� ���� �������������!����������������������� ������� ����

����� ����������� �!������������������������

• /������������������� ������� ��������������������������� � ���'����������� ������ ������� ��������������������������������������• 0����������� ��-������� ������� �����7)18����� ����!������������� ��• *����������� ��-��� ������ ���������������������������������������������

�• 0���������'����������� �� ��� ����!���������� ��������������-����������-����������������������������'����������� �� ������������������ ���� ��������������������!����������������

�"�������������������� � ���� �#$� ��%� ����� ��������� �$$�&��

• )��� ����������� ��������������������������$�� ��������������������'����������� ���• 1� �������1��������� ���������� ���������� ��� ������������ �������� �������� ������� ��������� ������������ ��������������� ��!�����������������

• /��� ������������������� ��������������� �������������������������'����������� ����

Page 129: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

126

'����%� ����

•����/������������������������ ����$�� ���������� ���������������������� ������ ��������� ���������������•���/��� �� ��������������� ��#����������������������������������•���9����������� ����� ���������� ������������ ���� � �������#��������������

� �����������������������)������������������ ������������������������������� ����������!����������������������������������

��

�()��������

• )���� ���$�� ����� ����������������������������������'�����������������������#����������������� ���� �������!�������

• (������'�������������� ������ �������������������������������� ���������� ��������� ��������� ��� �����-������������� ����� ������ ������(�������� �� ������������������� ������������� � ���� ������������ ��������$�������� ���� ������!���������� ���

• )���� ����� �������� ��� ������������'�������������� ������ &��-���������� ������������������ ��� ����� ���� ����������������������������������������� �� ������ &��-����

• 4���-��������-������� ����� &�������������������!#������������������ ������������ ������������������������������ � ����$������������� ���� �������������'����������������� ������� � ���!������������������� �����������������!����

• ( ��������������������� ����!������� ������������� ����������������� ��������1������������������ ������������������������������������������������ ��� ��������������� �������

• ����'�������������� &������-�� ������������������ � �������1�9:-�����%�;����& -������

Tabela simbola - 20K Zajedni�ke rutine - 30 K Overley driver - 20 K Prolaz 1 - 70 K Prolaz 2 - 56 K

Page 130: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

127

�*� ��������������)������������

+������������������ � ������$��������� ��������

• /����������������������������������������������� �����������������������������• ��������������������� � ����� �������$������� ������������� ��� �������������������

• ���� ����������� ���� �������$�������!�������������• .�������������������������

• %���������������������� ���� ������ �������!������� ����������� ������������������������������������������������������������ � �������

• 4��������������� ��� ���$��������� ����������'����������� ���<������������ ��� ���$���� ���������������� ��-� ���������������� ������� ��������������������������� ����

�$��������� ����������������� ��������� ����

• /���������������������� � ������������������ ��������� ����������������������

• ���������� ���!���������� �������������������������� ��������������������$������������������� ���

• )�������������������������������������������� ������������������ ��������������$�� ����!���������������

• (���������� � ������$�����'����������������������������������� �� ����������������������������� �������������������

��

Page 131: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

128

$��������� ������������� ���� ��������� ����

• )���!������ �����$�� �� ���������������������������������• .������� �� ����!��������� ����������� ��• )�� ���!���� ������ �� ������� ��� ���,�-���� � ����� �� ������

�����������• ���������������� ���� ������������������ ��������������!������� �� �����������

�(������ �����$������������������������������������ ������������������������������� �����������(�������� ������������� ���������� ������'�������������� �4���!����������� �������������$�����#�����������������������������

��

���������.���������������� � �������

- � �������������������������� 5���������������������� 4������������������������

�������������������*�� �����������������������������������������������������������������

1�����������������

�������������������� =����� �������%������������ =����� ������%����������� �������'�� �����������

��7����������������������������������

� � �)������������������(��������

=��������������������'��� ������� ��������� �����

=���������������������� ����������������� ����������

�)�������������������*�� ������������

�)����������������������������������������

Page 132: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

129

������������� ������������������������������������ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ ���������������� ����� ������������� �������� �� �������� ��� ������ ������������ ����������� ����!"� ��������� ��������� ����������� ��� ������������ #������� ��������� �� ����������� $� �������� �� ��#�������������������������������������%���������&��#�����������������������������������������&��������������&��������������������!����������������������������������������� ���������������'�������&����������!����������������������������������������

�������������������������� ����%������ ����� ����� ��� ������� �� ��������� ��� ������ ������ ��������� ���������� ��������������������� �������������(�������������������������������� ����������������������������������)����&����������������"���������������� ������$����������������������������� ������������ �����������������������*���������������������������������+��������������������������������'��&��� ��������� ������ �� ��,�� ������ ���� ������������ ������� ��� ��������������������-������������������������������������������������������������#���������������������������������.� ������/0� ����"�������������������� ���������������/01� ����"����������������� �������&��+2//����������-������������������������� �������������� "� ����� ���� ���� ����� ���� "� ��"�� ��� ������� �� ����� ������� �� �������������������� ������ ���� ������ ������� ���� ���&��� ������� ��� ���,��� �������������������!�����&������&�������3�������� ����������������������&��������������������������������&�����������&������������������,����������� ������� ���!��������������������������� �����3�������������,� ��������������!��������������������������������!"�������������

��

�������������������������������������4������&�������������������������� ����� ��������������������������������������������������� ���������������������#�����������&�����������������&�����5����!����� ���������������������� ��������������������������������������������&���(����������������������������������� �������������������#�����������$��������

Page 133: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

130

#�������������� �&������������!�����������������������������6�,�����������������#��������������3�����������������������������������������,�����������(����������&����#������������������������������ ��������������������"������������������������������������&����������������������������"���������������������7����8����-��������&�������������������&������ ��������������������������� ��!�����������������������������������������������������������&��������������&������3�����������������������&���������������%���������������������������&����������������&�������������3����������,������������ ����� ���������� �����!������)��������������������������!�����������4������������������,�������"����������������������������������������������������������������9�������������� ����������������������������������������������"������������������������������������������������������������������ ����� ����������������&���������������� ����������������������

�������������������������(��������,����!������� ������������������������"����������&������!��������������������������������� ������������������������

• ���� ��������� ����� ����������� :� ������ �������,����� ��������� �� ���,���� ����)��� ������� %���� �������,���� ���� ����� ��,� ������������ ������� �� ���������9������!"���������������������������'���������������������������������������������������!��������&����������������"�����������

• ��� ��� �������������� ������ :�;����������,�������������������������������������������"�������������%����������� �����������,������������������������������� 3������� �� ������ �� ������ �� ����������"�� ���������� 3��� ��,� ������� ���������������������������������������������,����������������������������������������������������������� ������������������������������,��������&���������������������

• ������������������������������:�;����������������������"�����&������������� ������� ������ ������� -��������� �� ��!�� ������ �� ��&���� ����� ����� ��� ��������,�������3�����������������������������������������������"���������������������������)����%������������"�������"���������������������������������������������������,������ ����������!"��<����������������������������������������������������������"�����������

• �!����������������=�����#����:����,������� ������������� �&������&������������������������������������������� ����&��������������,��������������>�� ���?�����������������������

�9���� ���� �������� ��� �� ����� �� ����� ����������� �� �������� #����@#��� �� �������� ����� !��� ��������������������������������!���������������������������������������������� �����������&�������������������������������������������������� ������������������7�����������������������������������,������������!"��������������

���"������A������������������ ����� ��������� ����� ��������������&�"� �����!���������������������� �������������������������������� ��������������������$���������������� �����

Page 134: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

131

��������������������&����������,���������������� ��@#�������������������������������� � �� �� ��� ����������� ������� ����� ������ -��� �� ������ ��� ����� ������� ����� ������&�����������������,������������������� ��@#����� �������������������������������%����,������������� ����� ��������� �,�����������������!���������� ����� ������������&��������&��� ��������9�������&������������������������"������������������������� ����� ������������ ������������,��������� ����������������� �������������������������&�������������������������� ����� �������������� ��������������������������������������!������� ������������������������������������ ����� ����������������������������� ���������,����������������!���������� ����� �����������������������&����(������������������ ����������� ����� ������������������������������������������������� �����0�� � 3������������������������������,������������ ����� �������������&����������� ��������0��-��������������������������������������������������������������-������������������������������������������"������������0��3�����������������������)!������������"����������������������������������,��������������������%������� %����� ��� ���������� ��������� ����� 6��� � ������ ���,���� �������� ����� ������� ���&��� +�0�.�B�+C� �� ��� ��������&�� ���������� ����������� +6 � ����������������"�0+���������� ����� ��������������&�������&���������������������������������������������������� ���������������+�6 ��4������������������%�&�����#������������������������������� �� ���������*���������������+0B�����������0DC(����������/B.(�����������D+0(���������C.*(���������ECB(����������BFC(����������+6��������������������@@@@@@@@@@@@@G@@@@@@@@@@@@@G@@@@@@@@@@@@@G@@@@@@@@@@@@@G@@@@@@@@@@@@@G@@@@@@@@@@@@@G@@@@@@@@@@@@@G@@@@@@@@@@@@@G�%�&������������H� � � � � � � � � � � ��H�� �������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H�5�����E*������H� -����������H������+0B������H����������������0DC����������������H����������������������������������D+0�����������������������H�� ���������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H�5������/D�����H� -����������H�������H��C.���H����������������0DC����������������H����������������������������������D+0������������������������H��� ���������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H�5������B*�����H� -����������H�������H��C.���H�����I�����H����+0B���������������H����������������������������������D+0�����������������������H�� ���������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H�-�����!���������H� +0B�������H�������H��C.���H�����I�����H����+0B���������������H����������������������������������D+0�����������������������H�� ���������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H��������C*�����H� +0B�������H�������H��4����H�����I�����H����+0B���������������H����������������������������������D+0�����������������������H�� ���������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H�������!����������H� +0B�������H���C.��H��4����H�����I�����H����+0B���������������H����������������������������������D+0�����������������������H�� ���������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H�4�����!����������H� �����������0DC���������������H�����I�����H����+0B���������������H����������������������������������D+0�����������������������H�� ���������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H�I�����!����������H� ���������������������������������������������������������+*0.��� � � ������������������������������H�� ���������H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@H�

� ���������(������)�������������� ��������������E*�(��������������������������+6���������������� �������������������������������������"�����������������������������������,�������������������&����+0B(��������������������������������������E*(��$���"�������������������������������/D(��������������(��������� ���������C.(������������������������+0B(������������������������������������������������������$��&�����������������&������������B*(��5������������-�����!��������)�������� �)�� �������+0B(��5�������"�����������C*(�������� ���� ������������+F0(��5�����������!��������)������������������� �)�� �������C.(����������+0B(��� �������C.(������������������������������������ ��&�����������������������0��%�������!�����������4���������������������!���������C.(������������+0B(�&�"���������"��!����������0DC(����

Page 135: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

132

%�������������� ��������������-��������������E*(������������� �������+0B(��%���������DB(������,���������������������&�����������������#�������������<������#����������������&����������������������������������������������������,������������������������,�����������,������������ �����������&��:������!��������� �������������������������

#��������������������������������������������������������������� �������������J�����������������������#�������������

• <������#�����������@������������ �����������������������������,��������������������������������������������������������������������������

• K����#�������������������������������������������������&�����"���������������������3������&��������������������������������������,��������������

• <������#���������������,���������������� ��������� �������������������������������������������

• ����������&��������� ��������������������������� ������������������������#��������������������� �������� �����������

• (����������������"����������������������������&�������������������������!������������

• (�������������������� ����������������,�����������������������������������������������������

Page 136: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

133

���������������� ������������������������������������� � �������� ��� �������������� ���������� �������������� ������������������ ���� ���� �� ������������ ���� ���� � ������������������������ ����������� ��������� �� ��������������������������������� ������ �������������������� ����������� ������������� �������������� ����������������������� ���� ������ �� �� �������� ������������� ������ ��������� ��������������������������� �� ������������������� ���� ���� ������ ��������� ������ �� ��� ���� ������ ������ ���� ����� ������������ !����������"�������� ����������� �����#������������������ �����������������������������

$�� ������� ������������������������������������������������� ������ ���������������%���������������&��'���������������������������������������������� ��������� ��(�����#�����#����������� ���������"��������%��)$(���������*+�,-&���

(�� ������������������������� �� ������������������� ������������������������������ ��������������������� �����������

.�� /�����#���� ������������������������ ���� ������������������ ���� ����+�� 0�"���������������������� ������������%����������&���� ������������������ ���� ������������ �����������������������1�#�������������� �������������������������������� ���

)�� /����������������������������������� �������������������� ���� �����"�������������������������

*�� 2�� �������� �������� ��������� ���������������� ��������#���� ����������������"��������������� ��

���� ����������������������������� ������0����� �����������������������'������������� �� ����������������������������������������� ����������� �������������������������������������#��������������������� ���������3�������������������� �1������������� �������������� ����������� ��.(������������ �������������������"�(4������������������ �������� �� ������"� $(� ����� �������� ������� %������ �� ��&1� �� �� ��������� ��������� ������������ �� ���������� ��������� ��������� �������1�������������� �������������������+�,-�%(�$(&��

�,��������������������� ���

$�� ������� ���������������� ��(�� -��� ������������� ����������������� ������������������������������������.�� ����� ������������ ��������� ������������������� ���������������������� ����+�� ������ ���� ��������������������

����� ����������������� ���������������������������������� ������������� ���������� ��������������� ������������ ���� ����������������������������� ���� ��� �������� ���� ������������������ ���� ������� ���,�������$���+� �����������#��������"��������������������� ������������ ������������������� �����

Page 137: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

134

����� ��� ������ ����� ��� ��#���� ������� �� � ������ ,���� (� ��� ������ ������ �� ������ �����������������������������������������

• 5��� ������������#��6�7� ������������• -��� ���������%�����������&����� ����� ����������� ���������� ������������ ���������������� �� ����� ���������������������������

• �������������� ����������%������� ��&�8������������������ ������������ ��������#����������������� ������� ������ ���� �����

�������������������� ���������# �����09-8����

��

Page 138: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

135

���� ������������0������ �������� ����� ��� �� ���������� ������"� ���� �� �� �������� �� ���� ��������� ��������� ����� ��� ��� ����������� ��������

• 0������ �������� ��������������������������• 3��������������� ������������������������� �������������� ���������0-:�%����8�������� ������ ���&���

• '��������������� ��������������������� ������������������ ���������09:�%����8�����������"����� ���&��

• 7����#���������������������� ������� ��������;�� �����������"���������������� ����� ���1����������������� ������������������������;�� �����������

• ��������� �������� ������������������������#���������� ����������"������ �����#�������������������������� �������������������� ����%� ������������ ��� ��������� ��������8� ���������� �809- &�

�� ������������ ����

• <��������� ���������������� � ���=��• /��������������� ������������������=�0������ �������� �������������� �����������������"�������� ������� ��� � ����������� ��������� 0������ �������� �� ��#� ������� ���������"�������� ������ �������� �� #���� ������1� ���� ���� �� ���� ���� ������ ��"��� ����� ������ �������1�������� �������� �� ��#�� ����������������� ��#��� ����������� �������� ������������ ����������������

���� ����������������������������-��� �������� �� ���������� ���� �� ��� ����� � �� ������� ��������� 0������ �������1� ���� �����"����������1� �������������������� ��������������������

Page 139: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

136

����������������������

��������������������������#�� ��������� �������� ���#��� �����������������1��� ���������� �������� ���������� ������������������������� ����� �����#�������������� ����������������> ��?������������������������ ������������� �� �����#������ �� �#�����09-�%������ 0��� ������ 9�� ����-�����&���09-� ���#��� ������#������� ����������������������"��������������� ������ ������"���������������������������������� � ������������������������ � ����������� � �����������#������������������������������������#�� �������� ����� ������ ������������������� ���� ���������� ����� �������09-8����������������� �� ���������������������� ���5�� ��������#��09-������ ����������#����3����09-�������������������������� �� ���� ����������������� �� ��������������������� ���������09-� ����� �� ������� ��#�� �� ����� ��"��������� ���� � ������� �� 09-� �� �������������� ��#�������������

������������������������������� ��������!"#���5�� ���� �����#����������������������� �� ��������������� �������������������� ����������������� ���������� �� ���#�����09-��3��6!�6����#����������������������� �����"���������0������ �����������"������ ��� ��������������������� ������ ������������� �����3��:!�6���#�����1��������������� �� ������� �� ������������������ � ������������� �������#�������������������09-8�����������������������#��"���������$�����������������������������������

• 3��������������������� ���������"����� ������� �������@�A������� ��"����������• 3��������� ������������������� ��@��%��%�����1�$44�� &��• �������������%��������������&����� ������������������ �������������������� �������1����������� �������1���������09-8��

Page 140: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

137

• ����������� ��@�%��• B������������������ ������������%B50�8��������������� �0���&� �������������

�����������������&'��(�)*+���,�-+��,�).+��,�-+)*#�-�(�.+���,���#����2���CD4E��������4�D4F%$44G(4&G4�(4F%(F$44G(4&C$+4�� 1����������C(41����� �����������$44�� ��2���CHDE������4�HDF�$(4G4�4(�F((4�C�$((�� �%��������((E�� �������� �����������&�� '�#��� ���������"����� ����������������#��"������������������������������� ������ �������������-������� ����������$*���)$(���"����������D4���HDE��3���I�����*D4.4�%���# ������I����� "� � ����&�����((���������09-1����!�����+D*�����.(����� �������� ��"����������

/���������������

• 2�#������������� ������������������������������#�������������� �����������• 2�� ������������������� ����������� ����������������%����;������&������

• ��������������������������� ������������������������ ���� ������� ����������������������� ��������

• ������������������� �������������������������� ���� ������� ����4� (� �� 0������ �������� ��.� �������������� ������"� �����������

�����������������$� .� �� ��������������(� +� ��

���� ����������������������������������3���� �������������� �������� ������������������������������������������ ���������������������� ������������������� ��������� ������������������������������ ���� ������� ���������������� ���� ���������������������������������"���������������������������#�������������� �������"��8��� ������������ ����������# ���� ����������

0������ �������� ����#������� �����������#����������������:���������� ��� �� ������������ ��� ��"� ������� �������1� ����� ������ ��� ������� ���������I��� �� ������������������ ����������������� ���������3���������������� ������������������������ ���� ��������������������������%������� ��������$&1����� ��������%������� ��������(&������������I��� �� ��������� ������ ��� ���������� ��� �� ��"����� ��#� ���������� ���� ���� ���������� ������ �����������������������I����� ��������������������������� ���� ��������������� Ako pretpostavimo 32 bitne adrese i 4Kb stranice, 4Gb adresni prostor zauzima minilon stranica, ta�nije 2 20 = 1 048 576. Ako je element stranice 4 bajta onda samo stranica zauzima 4Mb. Ova struktura se može organizovati od dvije stranice, prva koja ima 1024 elementa i

koja se može zapisati u jednom fizi�kom okviru i druga, na drugom nivou koja ima milin elemenata. Pošto je ova prva tabela stranica mala, ona bi mogla biti u memoriju cijelo vrijeme dok bi se druga prettraživala samo djelimi�no, odnosno 1024 elementa na koji pokazuje prva tabela stranica. Prva tabela stranica se �esto naziva i direktorij ili korjenska tabela stranica i ona ukazuje na drugi nivo. Na ovaj na�in se postiže da se manji dio stranica pretražuje, odnosno brže do�e do željene stranice.

Page 141: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

138

�������������������� �� ������������������ ����������������������� ���������������������������������������������������������������� � ��� ������������������������������������������������ ��������������������������������������� ������� ������������������������������������������� ������� ������������������ ������������� ������ ��������� �����

�� � � � ������������ ������������������������ ����� ��� ����� ��� �������� ���� � �� ������� ���� �� �� !������!�� ��� ������������ ��������"�������������#$������ ����������� ����������������� ��� ����������������!�#$�������������������� �� ����������� ����������� �������������������������� �����������������������������������������������

Page 142: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

139

�������������������� ��������

• ������������� �������������������������������������������������������������• ����������������������������������• ������������������������������������

• ��������������������������������� �!����������������������������������������• ���������������������• �����������������������

• "����#������������������$��������������

� ������� ��������!�������!������!��������#���������������!�!�����������������!�!��$!��������������������%��

��������������� �����

• &'��������(����������$���'�����!!�������������������������$������������

Page 143: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

140

������������������������������������

• & )*+�,��������#�-�������./����,���������• �����������������������������������������������!����������������������������������������!���$���!���0��$�'����������������������������!���

• 1��������!��������!���������������������$�������������������������!�$����������

• 2��������������������!������'34/5�����������������������$���������������$������������

�� � ���������������������!���3��%4/�6�����7��%���6�8���3���/�������� ���������������/5�!��������!�����!�!��������%��

�������������������������������������1������������������������������������������������������������$!�������������$����������!�����������������������!�������!�������������%��9����������������������������$�!$�����������������!����������������������������������������������������!������������������!%���1���� ��� ���� �$�������:� 1���� ���������� ��!����� ����� ����� �!� ��;�� �� ��������� ��$������������:� ���!��� ������� �������� ��� �������� ��� ���%� -��� ��� �$����� �� ;�� ������� �����������!����������������������������!����'�!���$����������������������%�<���������$���������������%���=���������������������������������������!��!�#���%�������������������!���������������!%�<�����0�����!�!����������!������$������������%�&�����!��$�!����������!������!�����������0�����!��$���!��������0��������������!�������������!���!����!�$������!�������!%�=�����������������������!������!�����������������!������������!�������!�����������������������������#�$������0��������������������������;����'��� ����%�'��'����������%�

Page 144: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

141

�����������������

• "�����������• >�������������,���?� �����������������������(!���������� �%�%������������#����������#�@��@����������

• "���������������������������������������������!����������������������!����'��������

• ������������������• &�����������0��������!������!���������������• &�������$����������������������������!�������������������!����������������������!�

�������� �����������������

���

������������&�����������������'�����$����������!���������!���������������������!�$��������!�������������!��������������������������!��������!%� ������������������������������!�����������������$�����������������#�������������������������!���%�9�����#���������!�����������$�������!�������������������������������������������������������������������������������������������������������������� �������������������������%�=$����'��$����#��$��(!�������'#���0�� ����$��;��������������������������0����������!��������������������������!������$����������6/.#������������������;��������������������������'���0����!�!���!�!�!;���������$����������6/.%���1�����������$���������������������������������!���$������'��������������������������!�����!������������������%�<����������#����!�������������#������!�!���������%�<����������������������!��������������0��������0�%���

Page 145: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

142

�������0�����������������!� ���������$����#� �������'���%� ���������������� ������������!�������������$����!��!�������������������'�������������������'���,��������$���%�&����������'��������������������������������������������������������������%��A����������������������!�����!%�-����������������������������������������������!������������������������!�!�����������%��

������������

1���!� ��!���!�����������#����������������!������'���$���$������(�����������$������������������������!���$����������������%��<������'���$�������������������!����������%���� ����� ��� ����������������!� ��� ���������#�������� ���������� � ��0�� ��� ��������!����!������������$���������������'���!��%�B��������0����������!��$�$���������������%� ��������������!��$���0�������!������������������������!0��!���������%� ��������������!��������!����������������������!�����������������������������������!0���%��� �����������������������������������������!����������������#���������������������!������!����������%� B������ ���������� $�� ���!;�� ������ ��� 0�� !� �������� �� ��� ��!� ����$!�!� ���'������� ������#� ������� �������� ������� ���������� ����%� &BC*� D� &������,������ ����������������������!0�������������������� ����%�&B�*�D�&������,�����������'��������%�1������'��'�����!�#�������������������������������������#���0�����������������!�����!������!���������������%���

������������������������1�����������������������#�'�������������!����$���!����!�������;�������!����������%�E�������������!��$�!������!�����������������������������������������������$��������!���$���!����!� ��������%�F�������������� ����������$����������� ������������� ������������������0�;��%�A����������������� ����������!�!�����������������������������!�!��������������;����!0������������#�������������������0�;��%�)�������������0�;�������������������!���$���!����!����������$��!����������!�����������������������������������%��

Page 146: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

143

����� ���������� ������������������������!�����������������������������!��������$�����������%�9�������#������������������������������������$��(!����������������%�<������!;��$������������!��������!�����$������������������'������������!������!����������%���1��� ��� ��������� ��������� ��$���� � �� !��� ����������� ��!��!�� ��� ����$�� !� ������������������!���������������������������������������%�<������������������������������������0�����������������������������$�'����������������!�����%��

!���������

-��� ������������� ��������� �����!� �����������!� ���� ��� $���!������� $�������� ��������������������%�-��!;��������������������������������������������������!������������������������;���������������������������������������������������$�'���������������!����!����%��F����������������!������������!�$�������������������������������%�)����!� ������������������ ����������!�!��������������!�������0�������������������%�F������� �!� ��������������������������������$�������;��������0�������������������������!�����������������������!���!����������������������������������%���1�������������!�������!���������!��!���������������������������������������#������������������������ $������� ���!� !������� ��� �����������!%� F� $���������� �� ��������'� ������� � �����!��!���������������'������0���������0��$����������������������;���!�������������������$��!������������������%����&������� $�� � ���������� �!� !� �����!� �� �������!� � ��������� �������;�'� ������� ����;�� �'�������!�����%�<��������!������$!$�����G��!�H����$�'������$������������������$���������������������!�!��%�<���$�'����������������!��������������������!;���������!������%��

�� �"�������������� ����������������#���� ���$��%�����������

� ����� ���!������ ������� � ������� ����� ��� ��;�� �� ��$������ ������� ������� $�'����������!�������!� ����%�����������������������������������$������������!�(��!���������������%�<���������������������������������������0��0���� ������������������� �������������$����!����!������������������!%����1�������������������!��$���������������#�!���������������#��0������!���������������!�(����������������������$����;�#����������������������������!�(���%�<������������������'��������������$���������$���������������'����'���%��

Page 147: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

144

�����������������������&�'()��*���

• -F�B=+&���������������������������������������������$�������������������0��������������������������������

• *������������$���!������������������������!������������������������������0������!���;�������������#���������!����������������$�������������%�

• &��������/�����#��.�����������#����������.������ ���#��#�#�� /#��#.#�����

��+� �,� �+� �,�

Page 148: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

145

�����������������������&������-./�&�0�1,��

• 1��������������$�������������;���������!#�=������/.�������������������!����������������������'���!�$��!��������������������������������������������������%�

• -�������������������������������!�����.1�������������������0�����������������I�%�J��������������������1�%�����������������������������������������!��������������� ���#������/1����������������������$��������������!�������������������������'�!��'��������%��

• =�����������������������������0��!��"B�,�������"��������B��������������������!�����������������!���!�!�I"B�,�I������"��������B����%�2�����������������/�����������������������������������������������������!%��

• ���������������������������������� �������#�����������������������.�������������������������� �#�#��� ��#�#�������������$�������������������#����$�������!��������������������������#��"B�����I"B��������������������$������%��<�������������������������������������������!�������!�!�������������������������%��

• K�$����������������������������;������������������������������$!�!�����������!;��!��$��!��"B���I"B%� �������������������������������!0���������������������������$���������%�J����������������������������������������������%�)�����������������������;���������� ���������;����$��������������������%�)�������������0�;����������������������������������������������������������������������!;��������!���$�;�!����!%��

• &�����������������������������������������������1%�>���������������������0����0�����������!��$�%� ����������$�!$���������������$�����������������������$������!������!�����������-���������%��>�����������������������������;�����$�����������!����������!�����������������,���������$��������������������%��

• ����������������������������������������� ����������������� ��������%�&���$�������������������������!����������!����������������������������������������� ������������� �������������������������������������$������������

�C����������� � ���������������� �� ���������

� ���������

"�

Page 149: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

146

• A����������������������������������0��������@��,���������������������������;���%��

�����������������$���������������������• -��!;������'������

• ,�����������������$!�!�����������!���������������������������������(������������������'�������

• ��������,������������������������$��!�������������������• K������������,��• *���������#�&@������#�"��������#�A�������

�����/%��<����������$���!��$��(!�������������$���������:��<�����������������������������!������������������'��������������������!��������������!��������%�K�$�����������!�����������������;�����������!$�!�����������������!�������!%��/%��<����������$���!��$��(!������������������������������%��<������=�������������������������!��������!���������������������������������������������������$�!$��������������������������!%�"����������������������0���$��!�����!�����������������������������$������������$��(�����������������������������������������������%��/%��<���������������;������������������������

��� �������������� ���� 9������������������� ���� 9�����������������

�<������

Page 150: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

147

��� �������������������0!������������������0������������������������������������������������������$����������$�'����%�

��� 9������������������������0!������������������0��������������������������������������'�����������������������!���������$������$�'�����

��� 9������������������ ���0!�������������������������0��������������������������;������������$����������$�'�����%�<��������!����!���������!��������������!������������������������������������!������������������������;��$�'���������$�����#�������������������������������%�

�/%��1�������������$������$�������������!������!;��������������������#����$�������������%�<�������!�!����!����!������������!������!;���������;���������������������������!��$��������$��������%��<������1�������������#�!�����������!�������������������������������� ���$�����!���������/%8�"�����!������������������������1#����1#����1���.��1� !��������!�%�1����������������������������������������������1#���L1#����1�����.1� !��������!�%�1����������������������������������������!%���/%.�*�$��������������������������0����������������!����������������������%� ������$��� �� ��� ��� ��� ����!������ ��� ;�� ������ ��!$������� ����!������� ���� ������� ��� ;�� ��������!$������� ������� ���� ����������� �������%� A����� ��� ��$��,�������� ���� �������� � ����������������$������!�������������$��������%�=���!�������������$��,�������'�������������!��������� ��,���?#� ����� �� ������� ���!� ����� �������� ��(!� �$�������� ����������%� ����!�!����������������������������%���<������I�����������������������������������������������'���$���$������������������������%�9�������#�������������������������������������������������������������0����!��������%�"!�������������$��������������������������'������������'������������%�>������������������������������!����������������!�����!�����������������������������������������������,�%��/%L�A������!������������������!����������������:��/%/�*�$�������������������������������������������������������������#��������'�!���$���!�������������������� ��������������������������������

���� 1�������������������!��������������:���� 1�������������������!���$����������:��

<��������� ������������������������� K�$������������8�������

/%4�A������������������!�������!���������������#������������0������!����������������������!�������������������!:�1����������������� ��������������$�����������!��!�����������:�A�����������������������$��������������������%�

Page 151: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

148

<������)����!�������!������������������������������������������������������������� ��������%�K�$��������������������$������0�����������������$�����������!������������������������������������$����� �������%� ��������������� ���������������������!���������������#������0������������������������!������������������������%�9����������������������������!����������� ����� �������������$�������������!� ������� ������������������%� "�� ��� �$����������������!�#�������������������$������������!��!�������!���������������!����������������������������������������!������!������������������������$�'������%�<��������������������������������������������$�������������,��������!��������!��������'���$����'������ ���������������������!�������������$��;����%�9������������� ������������������������!����������$��(!�������%���/%��� �*�$�����������������������������������������������������'�!�������!%����� )�����������������������!$������������#���������!�������������������������������������

��� )��������B�C� ��!0��������������������!���������;���������������������������������:� �����������������!��$��!������������$��!���!0�����������������$������!����$�������#��������������������$��!�������%��

�/%��� 1�����!�������������$����������!��$��!������!���������������������������$������������������� !� �������%� <������� ����� ��� ��� ����� ������� ������ ����������� �� ��� ������� �$��������������������$��������������������$��������������������������������!��%�1��������������������0!����������'����������������������������!�!�������!:�

�<������ � "�$��������!;�����!��$��!� �����!� ���������� ����$!�!���� ����� �����!� ��������������������!�������������������%�)�������������!��$��� ����%���������������������������0����������!���������������������'�������������'����������!������������#���������#�����������$������������%�1�����������������$���������������0����������;������������������������������������������$!�!���������������������������%�-�(!���#����������������������������!��$��������������$��������������������������������������!����!���0������������������������� ��������������������!����������������������� ����������������������%���/%��� �A�����������������������������������������������!�!�!����!����!:��<������&����������������������������������������!�!�!�����!������������������������������� !���%� &���������� ����������� ��� ������� ��� ������� �������� �������� ��������%� J������������!��������������� ������������� ���������������0������� ��!������!������ �!��$�!������!���������� ��������� ��!�������� �������%�&�������� ������������� �����������������������'����������������$�'������!������������������������%�&���������������������!�!�!�����!��������������$����������������������������������������������!������������%���/%��� ��<���������'���$������������������������������������������������������!�����$�������������%�

�<������ ����� �!�������� ���������� ��!�������$��',�������'��������#� ������������!������������������ �!� !��$��!������!� ����������������$������������������$!�!�������!���$���!��������!%� "����� ������� ����������� ����!� ������ ��������� ��$��� ����$������ �� ���� ������������������������������������!����������%���/%��� ��<���������$��������������������������������!��������;�������������!������!���!���!�������������������������:�

Page 152: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

149

�<������ ����� ��� ������������� ��$����� � ����� ��� ��������� �����$������ �������� ����� �����$�����#� ��������� ����� ����� ��������� ���!� ����� �������� ��� ����� ������ !��$��� !� �����!�����������$�����������������%�&�������������#��������������������!��$��!������!���������$������!�������!��������������%��/%�8� �"���������������������(!�������������$�'������!;��������������������������!;��!��������������$�����������!�������������%�

���� "�����������������������$���������������������$�������������������������������$�'�������!;����������������������!!�����%�

��� "�������������!������������������$�������������������!!������������$�'�������!;�����������������!������%��

�<������� <�����������������������������������������!������!����������������������������$�$����������������������������������!0���'������������������!%�-F�B=+&�����������������������!0!�!;��������������� ������������!%�>������������������!����!;������������� ��������#� !��� ���� ��$�!� ���!� $�� ����#� $����� ��$�!� ���!� $�� ������������������%�=������������������������������!�����������������$�����������������!�!����!;��������������������������%�=$����������'��������#�����������0������$������$���$����������������$�$������������������������������������%��/%�.� �"�������������;��������������������� ��

&������� ����������������

"!0����

�� ��4� .����� ����� ����� 4�� ������ ���L� 8/���� �48�� 4.�

��1�����!���$����������$��������;�������������������� �#������� �#������ �#8����� �#������� �#�����<������

��� ��4�7�����3�.�4���� �����7����3��������� �����������������#������!�������������������� ���L�7�����3��L�L���� �����������������#������!������������������

�/%�L� �*�$�����������!����!�=������/��/.%�

Page 153: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

150

���� <��������������������������$�������=�����/��/.��������(������������������!���$���!%���� 1�����!��������������������������!��������'�������������$���(!������������������������������������������'���:�

��� �������������������������������:��<�������

��� &����������������!������!� ���������������,�%�*�$!����� ���������������,���������������������������������������������������������������������,��#������������������� ������� �������� ������������%� "�����������!��������� �������%�=$��$��$�������������������$����������!�����������������������������������������!������!��������%�=$��$��$������������������������������������$���!����!%��

��� B�������'���$���$�����������!����������!����������������������$�������������������������� ���������� �� ������������!� ���'��!� ��������!� ���!� !� '���!�!��������������!����������������!�'���!���������!%�A�����������������$����!�'���!��������������������������������������������������%�

��� B���������� ����� ��0�� ��� �$������ !0�� $���� ���� ������!��� ����0�����������������!������!���!����%�1�������0������;�������������������!�������M����M����,�� �����0��������������!����!��������������������!������

�/%�/� �F�=C-N�L�#�$���������������������$���(���������;���������!����%�1��!������,���������%�&������1���������������������������������!�� ���!��$��������������������!������!0��%� �������������!����!0�������!� $�����������!��%�<�����������������������$������������������!��������!�������������������������������'��������%�1������������;�'������$��!�����������������������������������������!����������������'�����:�

���� I�������������� &���������������������������� -!����������������������������������������� -!������������������������������������������������ &������������� &������������

�<������

��� A�������������������#����������������������!���������� ��������������������!����������������������������������!���� �$��(���������!�������

��� J�������������������!��������������������;����������1�#��������������!�����������������������

�� =���������������� J������������������!��������;������$����1�#��������������!������������������ J������������������������������;������$����1�#��������!�������!���������������%��

Page 154: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

151

=��������������@��,!���F������������������#���������������

• -���?�-���������� ������������-���?�-����������"������������'����NN@@@%��%��%��%!�NF��N<%K%*���N��N����!���/N����!���/%'����

• =���!���������+�������#�B�����������'����NN��������%@@�%�!NO���?��N���P�N �C<<1NB���������%'����

• +�Q���������"�������������������'����NN@@@%��@�������%���NB2*-N�N���!��P����?%'����

• I�����-�����F�������?#�"������������+���!���&�������'����NN��%��!%�!NO�������N������N��N ���%'����

• F�������?����=�@�#�"������������+���!���&�������'����NN@@@%��%!��@�%�!NO�����N���?�N�����N�L%'����

• B'��+���������'��9�@�2������#��!��������!����'����NN���%��!%�!N��!���N��N����N����%'����

�"������������������#�����������!����������������������$��������• +����)����&�����"?��������������'����NN@@@%�!�%���N�����'N���'��N�44�N�������,�%'����

• E�@�B�������)�K����'����NN������?%����%������?%�!N������?�������N��������N���N���N'���N�����%���%'����

• ����������"?������������'����NN��,�������%�%��%���N�����N���N���N���N���4�N�����'��R%'����

�&������������������������#���������������������#������������������������������

• J��!���-���?�B!������-�������!����-!��������� ����B������'����NN���%��!%�!N��!���N��N�!����%'����

• -���?�-�����������)����B����������'����NN@@@%���%�!NO�������N�����N����!��N�������%'����

• -�������������������������/��/.�'����NN@@@%!��,�!�������%�N$�N�������N���!6N�����N�'�N��������PLP4%'����

• -!���������=����� ����&�������������'����NN'��������%!��%��%!�N8.�/�N���N���O�%'����

Page 155: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

152

������������ ���� ����������������� ������������������ ������������������������

Page 156: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

153

������������� �������������� �������������� �������������� �����������������

• ������������� ���������� ������������ ��� ��������������������� ������������

• ��� ������������������������������ ���������������

������������� ����������������������� ���� ��������������� �

• ���������������������������������� ���������������������������������� �!����������"#�������������� �$

• %������� ������������������������������������������������ �������� �������������!�&�����'���$

• ������������� �������������������������• ��������� �����(� ��!)����������$• ��������� �����(� ��!)���������������$

��������� �����(� ����������� �����(� ����������� �����(� ����������� �����(� ���

��������� � �� ��(� �� !����* )���� %�����$ � ��(���� �� � ���(���� � ������������� ���� ����������*��������� � ������������ ��������+, ���������*� ������ ������������������ ���������������������� �� ����������������������� �� � � � ����� ������� ������������������ �� ��������������������������������*-������ ��� �������� ����� ��� �*.����������������������������� �������� �������������������������������� ��� � ��������������������������� ������ � ���� �� ������ ������ �������� !����* ���� �����$* /��� �� ���� �������������� ���� �� �������� ����� �� ������� ���� �* .�� � ���� � �� ����� ����������������� ������������������� ��������������������������������� ��������� ���� � � �� � ��� ���� �� ������� �������� � � �������� �� ����������� �*-������������ ����� ������������������� ����������������������������0�����1*��������� �����(� ����(� �����������������(����������������2

• 3����������������!34$��(��������������� �������• �������������������������������� � ���������������• 5��� ��������������� ���������������• ,�������� ������������������ �������

/��������������������������/��������������������������/��������������������������/��������������������������

"* ,������6�����78* 9�������������6�����7������!��������� ��������������� �������$:* ;��� �������������������!�������� ��������������������� �$<* ;�� �� ��������� �� ������������������������� �3�4=�

Page 157: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

154

/���������6�����7/���������6�����7/���������6�����7/���������6�����7

%���� ����������������������� ���(������2

• -������������������������������������ ����������� �*• >��������������������������������������������������������

������������������*4�� ������ ���� �������� ��� �� �������� ����� �����������( ������* -�� ��������������� ������������������� ���*4������������������������ �4������������������������ �4������������������������ �4������������������������ �

• �������������������������� ��������� ���������� ����������������������� ����������"��������� ���������������������?������������������������ ������ �

• ,���� �������������������������������� � �����������������*

• %�� �����������������������������

4�� ������ 4��@" "@8 "@: "@< ?@A ?

3�������������

. ������������� ���������� �������������������������� � ���������������������������������� �������0��������������1!���������$*

Load M

VM

Tabela stranica

Greška

Slobdni okviri

Page 158: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

155

B��������B��������B��������B����������������������������

. /������������ ������������������������������������������� ������������������������������������� ������� ��������� �������������� �!��������������$

. -������������������������������������������� ��� �������. ������ ������������������� ��������� �� ���������� ��������. ���������� ������ �

. .�� ������������� ������������������������� ������������

. 9�������� ����������������������

. %������������������������������"

. ,�������� �����������C�!������������D����$!����� ��� ��� ���$. ��� ����� ��������. ��������+�������������� �

E�� ������������������� ��������������E�� ������������������� ��������������E�� ������������������� ��������������E�� ������������������� ��������������

• 9� �����������=��������������������� ������� ��� ����������������� ������� �

• ��������• ����������=�������� ��������������� � ��������������������

���������� ����������������*. F������������������������������� �������������

%����������������� �����(� ��%����������������� �����(� ��%����������������� �����(� ��%����������������� �����(� ��

• ,�����������������������?GH�GH"*?• ��� ��H?����������������������• ��� ��H"����� �����������������������������

• I����������� ����������!I�%$ I��H!"I��H!"I��H!"I��H!"====�$�$�$�$J�K�J����J�K�J����J�K�J����J�K�J������ � � ��L������������ ���������� �L��� ����������������� ���� �

���L��� ������������������������������� �L� �������� ��� ����������������������� !"=�$L� �������� ������������� ������������������*

/���������������������������������������� ��� ���� �������� �2

"* %���������������������!����$8* �������� ��������������� ������������������%M4:* -����� ������� �����������N��������������N<* %��� ���������������������������������������� ������� �����������

�����A* ,��� ���������� ������ ����������������������

�* ;��������������� ������ ����� !����$�������������������� ������ �

�* ;������������������ ������!��� ������������� ����� ������ �� �$�* %���� �����������������������������

Page 159: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

156

O*)��������������������������������������������$P* %������������������������������������ ������ �Q* -��������� �������������������,�������������� �������"?*%��������������������������� ���������������������� �!�������"

��������������$""*;��� ��������������������������������������!�� ����������$"8*��������������������� ����������������������������������������

��������� �%�� ����������� �����(� ��%�� ����������� �����(� ��%�� ����������� �����(� ��%�� ����������� �����(� ��

• ��� �������������� � �"??����• ��� ������������� �N��������������N �8A���

I.3H!"=�$J"??K�J!8AJ"??????$H"??K8<�QQQ�Q??J�• I����������� ������������������ ��������������������������N������

��������N%���������������� �������������� �%���������������� �������������� �%���������������� �������������� �%���������������� �������������� �-����������� � �0���� ���������������� ������ �1R)������� ��������������� ��!����*%�����(���$ ������ ������������������������ �������� ������ ��������������� ���� �(*9�(� ������������!����*)����������$ ������ ���� ������������� �������� �������������!����������� ��� ���(� ������������������ ��������������������� �������� ������ �$*%���� ����������� ����������� ��������������� ��2

• M���������L �������������� ��������������� ����������������������������������� ���������������� ����� �������������*

• %���������L ������ �������� ����������������� �������� �� �������������������������� ������������������� �*-�� ����� ��������������������*���������*

/����� ��������(���=��������������������������� ������������������������������������*�������� �������������� ������ ��� ��� ���������������� ��������������� �����������������������*5������������(����������������������� ��������� �������� ����������� ��������� ��������*-���������� ��������0������� ����� �1 ���������������� ����� ��������� ����������*%����������� �������%����������� �������%����������� �������%����������� �������-����������� ��� ������ ����� ��� �2

• /�������� �������������������������• /� ������������������������

%�������� ����������������������� �������!����*S�������������D$����������� ������������������� ��� �����������*%������ ��� ��� ������������� �������*��������������� ���� � ��� ������ ����������������*.���������� ����� ��������������������������� ����������������� ��������� ������� �������������� �*������� ����������������� �������������������� ������� �!��������$� ���������� ��������������������� �*

Page 160: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

157

5������������������� ����������������������� ������� �*%���� �������������� ��� �� ����������������������� �������� ����� ����������������������������*%���� ����� ���� ������ �������������� ����2&����=�(����(�&����=����*/��� ���� �0&����=�(����(1������ ������ ���������������� ������� ����������������� ����� ������������ ���� �*.������������ ���� �0&����=����1���������� ���������������� ��������� �!�������$���� ����� �������� ��� ���������*9�������������������������� ���� �0&����=�(����(1�������������� ���� ���������� ���� �0&����=����1*5������������������ ��������� ������������������������*-�� ���������������������������*/��� ����������� ��������������������� �� ����������������� ������������������ ������������*5����������������������� ��� �����*/������������ ���� ���������������������� ���� �������� ������������������������������������ ��� �������*-�� �����������������������������������(������������������������������*-�� ����������������S����&�=���������������������������� ��������������� ������������������������������������� �� ������������������*9� �����������9� �����������9� �����������9� ����������� %��� ��� ������ � ���������� ���������������� �*-�������� ��������������������������������������������� ��� ���������������������*/����������������������������� �������������� ������������������� ���������������������*��������� ���������������� � ���������������������������� ���������*

• ��������������������������������������� ��� �������������� �����������

• /������������������ ����������� ��� �����������=����������������������������� �������

• 9� ����������������������� ��������������������������� �=������������������� ������������� ��������� ������������ �

.��������� �����������.��������� �����������.��������� �����������.��������� �����������

• 9�(� ��� ��������������������������������• .����������� ��������������������������������� ���(���������

�������������� ��������������������������• �������� ������������������� �

"�8�:�<�"�8�A�"�8�:�<�A@,@-��������!@����,�@����-��$@,@-��������!@����,�@����-��$@,@-��������!@����,�@����-��$@,@-��������!@����,�@����-��$

• C���������������2"�8�:�<�"�8�A�"�8�:�<�A• 3��������!����������������������� �����������������$

" " < A8 8 " :: : 8 <

9 grešaka stranice

Page 161: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

158

• ;�����������

" " A <8 8 " A: : 8 < < :

• @,@-�� ���=4����� ��������� �!��������������� ���������� �

�� ����������������$

-%3-%3-%3-%3LLLL-����������������� ���-����������������� ���-����������������� ���-����������������� ���

,������ ���������� ��� � -%3* -%3����� � ���� ���� � ������� �������� �� � �������������� ���������� ����������������������� ���*F������������������ � ������� ����������� �� ���� �������* -�� �� ������� �� ��� � ��������� ���������������������������������������������������*.������� ������������� ���� ������ ������ �� �� �� ���� ������� �� ������ ���������*-%3�������� ������������������������ ����������������� ���� �*

�C��C��C��C�LLLL��������������������������������

� ������ �� � -%3 ����� � ������������� ��� � ��� � �������R >���� �������� ���( ���������� � -%3 �������� � �C� �������� !����* ���� C������D ����$*-�� �������� ������������������ ���� ����������������� ��������� ��������� � �( ��������� ��� � �� ������ � ����� ���� �����* /�� ���� ����� ������������ ��������������6�����7�� ������ ����������������*

5��� � ��� ����� ������� �� �� � �������* 9� �������� 6������ �� � �� �7 !����*������� ����������$� �� ��� ��� ������� � � ����� ��������� �� ���� ���� ���� �������������� ������ �� ��������������������������������������� ���� �������������������� �*

/�����������/�����������/�����������/������������ ��C���������� ��C���������� ��C���������� ��C���������%���� � ��������(���� ���( ������*������������������������� ������������� ���������������������*F��� ���������������������� �6��� ���� 7��������� ���������� �6(�������� 7�����*/��� ������������������������� �� ������������������������ ���������������*

5��������������� ���������� ������������������������������ � ��������6�����7 ���� �� � ������ �� ������� ������������ �C� ��������* %���� � �������������� � ���� ��������* /��� � �������(������� ������������� ����������������� ��� ����� �� ���� �����*-������ ��� �������(���������� ��������������������������� �� ��������� ��������������������������������*�C����������� ��C����������� ��C����������� ��C����������� �

5������������������ ��� ��������������������(���������������������������������������*T������������� ���������������������������������*

10 grešaka stranice

Page 162: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

159

>���������� ������� � �� �� ����� �� ��� ��� ����������* � ������� ��� ���� ��������� ����������������������� � �����������������������������������*F���� � ����� ��������� �������� �� ���������� ����� ��� �������������� ����� ��������� � �������� �� ���������� ��� ��� ���� �������� �������� ���� � ������������������������ ��������������������� ����� �����*���������������������� �������� ���������������� ����� ������������ ����������� ���������������������� ������� ������������ ��� ����������������������� �����������*/��� ������������������������������������������������*

.�����������.�����������.�����������.�����������)����������������������� ��� ��������������������������*.�������������������������������������������������������������*/����������6�����7���������������� ����������������������������� �����������������*/������������������� �������������������*-������� ��� ��� �6�����7��������������������*��� ��������� ��6�����7 ����� ��������������������������������L����������� ����� ������������� ���������������(�����������*

Page 163: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

160

.������������C����(����������������.������������C����(����������������.������������C����(����������������.������������C����(����������������

.��(����������������C�������������������*��������������������������������� ��������������� ������� �*/��������������������������������� �����������������*/�����������������������������������������������������������������������������������������������*.���������������������������������������������������� �������������������������������������(������������� �������������C���������������������*%��������� ����������������� ������������ ��� ������2

"* ��������������������������� ���������34*.�������������������34������ ������ ������!����������� ����������������$������ ���� ���� ������������� �*

8* -�����34:* .������������������������� ��34���������� �*

.������ �������.������ �������.������ �������.������ �������

• �������������������������� ��������• )�� ��������������������

. ������������� �

. ������������������ �@������������ �@������������ �@������������ �@������������ �

• >������������� �=�* *������"??�������A�������������8?��������������������*

• %�������������������� �=������� �������������������������• ��H���������������%�• �H���!��$• H��������� ������• ��H������� ���������%�H��+�U

H#<��"H"?��8H"8O �"H"?+":OU#<H���A �8H"8O+":OU#<H���AQ%����������������� �%����������������� �%����������������� �%����������������� �

• /����������������������������� ���������������� ������������ �������������������

• .��������%���������������������������• ����������� ��� ������� �����(������• ����������� ���������� ���������������� �� ���� �

����������B������������������ ������� �B������������������ ������� �B������������������ ������� �B������������������ ������� �

• B��������� ���=������������� ������������� �������������(������V ��������������������������������������

• ��������� ���=������������������������������������������ �����������(������

Page 164: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

161

9��� �� �9��� �� �9��� �� �9��� �� �

� ������ ����� � ���� �� � ��� �� ����� ���� ������ �� ��� �� ������� ������������������������������������*������������������������� � ���������� �� �*/����������������������������� ��� ����� �� �����������( �������( ������ �� ����� �������� �� �� ������� ��� �(������������(� ��*/������������������� ����� �� ������!����*����(���$*-�� ��������������������������������������������������*%������ ������������������������ ��������������� �������� �� �������������� ���� ������ �������������� � � ����� ���� ���� � �������� ������� �� ������� ��*%������ ���� ����� ��� ��� ������������������������ ���� �(��������������� ����� ���* %���� � ������� ����� ��������� ���� ��������� ������������ ���������������������������*-�� ����� �����(� ����������������� ���������� ��� ���� ����� ���� ���� ������� ������ � �� ������� ��� ��� ����� � ���� �� �*%���� � �� ��� ������� ���������� ������� ��� ��������� ����� � ����� ���� ����������������������� ����������������������������������������� ��������� ���*/�������������� ������������ ���� �������������� �*

/�������������(������/�������������(������/�������������(������/�������������(������

/����� ����������������� ����� ����������������(� ������������������������������������������������ �������������������������������������*.���������������������������� ����������������������������������������������� �������(������*/������������ �������������� �������� ����������������� ��� �� ������ � ���� �� ���� ���� �� � �����( �������� ��� ���� �������� ������ �* .�� �� ��������� ������ ������� � ��� ������� ������ ���� �� ����������� � �� � ������� ��������� ������ �� �����( ������� �� � � ���� �������� ������ �*

/������ ��������������������������������������������������������������������������� �� �������� � ��� �� �� ��� �������� ��� �� �������� ��������� �� �� ������� � �� �������� �� ����� ���� �������� �� � ������� �������� �� � �� � ������������������*-��������������������������� �� ����� �� �������*.�������������������������� ���������������������� ������ ������������������������������� ������������ ���������(�������� ������ �� � ���������������*

%������ ��������%������ ��������%������ ��������%������ �������������������� ������������� ������������� ������������� �====��������������������������������������������������������������������

>���� �� �� ����( ������� ��������� � ��������� ������� � ��������� � ��� ����������������*4�� ��������������� ������� ����������������2

• ���������������!������������� �$• ������������������� �• /����������������� ���• %��������������� �

Page 165: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

162

9�������� ����� ������������ �����(� ���������� �����������������������������������������*5������������ ��������������������� ��������*9��������� �������������� ���������� ����������������������������*C��������!3$ � �������� ����������(���������� �������������� ��������������������������������3*������� ��������������������������������� ���������������������������������������������*-������ ����������� �� �������*%���� �������� ���� �2

• )������������� �• 4�������������������������������

5��� ��������� �������������� ��������� ���������! ������$ �������������������������* %�������� ������ � ��� ������ �� ����� ���� ����� ���� �����������*��������������� �������������������������� ���� ���������������� ������ ������ ���������������������*��������������� ���������������������������� ����� ������� � ��* %�������� ������ � ��� ������ ������ ����������������� ��������*��������������� ��������������������������������������� �������������� ��� �� ������� � ��������* ��������������� ��������� ����������������������������(���� ����������� �*)������������������� ������������ ���� 25��� �� ��������� �������� ������ ����� �������� ��� ��� ���������( �������� �� ���������������������������� ��� �������������������������������� �*.�����������������������������(�������������������������������������������� ���������� ������*.�������������������������������������������� ������������ �������������������������������������������� ������ ������������*-�������������������� �������������� ���������������������������� � �*.�� �������������������� ��������������������� ���(����������������� ��� �������� �� �������� �������� ������� �� ����� ������� �� � ������� ���������� ����� ���� �* .�� � �������� ������ ������� ���� ���� �� �� � �(������ ����������������������������� ������������*@�������� ���������������@�������� ���������������@�������� ���������������@�������� ���������������)��������������������������������������������� � ������������������� ����������������*.��������������������������������������� ��������������������� ������������������������������������������������������*

Page 166: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

163

)� �������� �� �)� �������� �� �)� �������� �� �)� �������� �� �

♦ E����������� �����R♦ 5���������� ��������

♦ %��������� ����� ����� �����������♦ 5 �������������������

♦ 9���������� �� �������R♦ �����������W���������� �����������

E���������������������������E���������������������������E���������������������������E���������������������������

��������� �0���(���� ��1������������������������• ��� ��������������� �����������������������• ��� ���������������������������� �������

)������������ �)������������ �)������������ �)������������ �

• %��������• ,��������������������

• ���������� �• ����������������������• �=,����(���• ���������

• %�����������������

• F��.X"?8<�"?8<Y���������• ���������� ������ ���� ������������• ���������

Page 167: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

164

• %�����" ���>2H"��"?8<�� ����2H"��"?8<�� .X�� YH?V "?8<U"?8<��������������

• %�����8 ����2H"��"?8<�� ��� 2H"��"?8<�� .X�� YH?V "?8<��������������

• �+,������������������� ���������� �����(� ����������� �����(� ����������� �����(� ����������� �����(� ��

• /�����������(������� ������ ������������������������� �����(� ��• -�+8����������� ������������������������ ����������

�����������• ����������������������������� ������������� ����� ��������

���� �• ��� ������������ ������������������������ �• ������������ ������ ������ ��������������

9�����29�����29�����29�����2Q*"/����� ��� ���������������R-���������� ��� �����������������������������������������������R-������2B��������������� ��� ������������������������� ��� �������������� �*-���������������������������� ������������������� �������� �������������������������� ���������*.�� �������������� �����������������������������������+,��(� ��������� �����������������������������*%�����������+,��(� ����������������������������������������� ����������� �������� ���������� �*Q*8%������������������������������������������������������!����� ���������������$*F������������������������������������������(��� �����������*9������� ����������� ������������

�$ /� � ��� �������������� ����������������R�$ /� � ��� �� ����������� ����������������R

-������2

�$ ��$ �

Q*:>������� ������������� ��� ���� ������������������������ ���8!��:8$�� ��*C�������8!��"P$�� ������������� �*������������ � ������������������������ ������� ����������������� ������<?Q#�� ��*/���������������

Page 168: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

165

�����������������������"""8:<A#*-� ������������������������ ��������� � �������������� �*F������������������(���������(�����������(������� �*-������2�����������������������������������������2 ???"???"???"??"???""?"???"?"?""?%���� �����������������8!"8$����������� ��� ��������������������� �8!8?$*)���������("8����N?"???"?"?""?N�������������� ��� ��������������������������8?����N???"???"???"??"???""N�������������� ��� ���������������*Q*</� ������ ��� �(���������(��(������N�����N����������� �����(� ��R/� �����N�����NR-������2

�$ ����=������$ 3�����������!(��(��$=�� �������$ �������� ��������������� �=������$ 4����������������� �=�� �������$ ;�������=������$ ���������������� �=������$ ,���������������� �=���������*

Q*A%������������� ����� ������������ �����(� ��*3�����������������������������*��� ������������������������������������� ������������������������������������� ��� �� ��� ������������ �P��������� �8?������ ��������������������*%���������� � �"??����*%����������������������� � ������� �� ��� ������������O?Z������*/� � ������������(���� ���������������������������������������� ������������8??����R-������2 ?*8[���H!"=%$\?*"[���K!?*:%$\P�������K!?*O%$\8?������� ?*"H=?*"%K8<??%K"<???% ?*"]"#�<??% %]?*?????#Q*#)�������� ��� �������������� �����������*C������ ��������������������"��A��N�����N��N��������N���������� ������������������������������*-��� �������������� �N����N��4�����D=��������� ������(�� �����N����N2

�$ �C��� ����$ @,@-�� ����$ -��������� ����$ 9� ���������������� �

Page 169: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

166

-������2.��������� �N����N��4�����D=��������� �������������N��N���N��N*

"* -��������8* �C����:* )���������� ���<* @,@-���

Q*O/���������������������������� ��������������������������� �

��� �������������������������� ��(���������������� ��������(����*F������(*)��� ���� ����������������� ����������R.�� ������� ���� ������������������������ ����������������R

-������2 3����������������(������������ ���� ����������*/������������(���� ����������� �� ����� ���� �����������������������������������������*Q*P-����������������������������������� ������������ ��������� ���������

�������������������"����*)���������������������������� ������ ��������� ��������("����*���������� �"???�� ��������� ����������� � �������� �������:???������������������"������� �������*%�������� ����������� �������� ��� ������������ ���2

• "Z���(��������� ��� ����������������� ������ �����������������

���� ���������• -���������� ��� ��������� ������ ���������P?Z�(������������������ �

������ �*• /�������(� ������������������ �� ����������������������A?Z

������* ,������� �������������� ��������� ���������� ������������� � � ������������������� ������������� �������������������������������������*-������2 I����������� ����������H?*QQ\!"[���K?*??P\!8[���$K?*??8\!"?�???[���K"�???[���$ K?*??"\!"?�???[���K"�???[���$ H!?*QQK?*?"#K88*?K""*?$[���H:<*?[���Q*Q)�� ����������������� �����(� ������� ��� �������� �� �2

• %������� 8?Z• )�������������� � QO*OZ• )�����+,����� � AZ

/� ������ ��� �(!�������� �$��(���� �!� ��������$����� ����������� �� ����������R-�����������������2

�$,������� ����������������$,�������� ��� ������������������ �

Page 170: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

167

�$%��� �� ���������������������� ��$��� �� ���������������������� ��$,��������� ��������������� ��$,��������� ������������������������(�������������������������������$)������ ���������� ������� ��!����*���������$������������

�������� ���������($%��� �� �����������������

Q*"? )�� �������������������.2 ������������.2����D����D����D����DX"**"??Y������D������D������D������DX"**"??Y���������������VB� �.X"YX"Y ��������� �8??�� ��������������������� �����(� ����������������������8??�� ��*>������������������������������?!������ ���?��"QQ$���������������������������������� � � �����������������������?*9����������������������������������������� ��������������� ��� ����� �������� ������� ������������� ��C����������� ��������������� � � �����������������" ������ ����������������������������������2

�$ ������������ 2H"��������"??���������������������2H"��������"??��������.X�YX Y2H?V

�$ �������������2H"��������"??�������������������� 2H"��������"??��������.X�YX Y2H?V

-������2F����� �����������������������������������������������.X"�"Y�.X"�8Y�**�.X8�"??Y����������������������������.X:�"Y�.X:�8Y�̂ �.X<�"??Y���*

�$ F��������������������� �2?�"�?�8�?�̂ �?�<Q�?�"�?�8�?�̂ �?�<Q����������� ���A???���������������

�$ F�������������� ��������� �?�"�?�8�?�̂ �?�<Q����������� ���A?���������������

Q*"" C���������� ��� ����������������������2

"�8�:�<�8�"�A�#�8�"�8�:�O�#�:�8�"�8�:�# /�������������������� �������������� ��� ����������� ����������������������� � � ������ �������������������������������O��������(������*%��� ������������������������ ������������������ �������� �� � ����������������������������*

• �C���������• @,@-��������• -���������������

Page 171: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

168

Q*"8 %�������������������������������������������� ��� ���(� ������

������������ �!������������� ���������������� ���������������������������$����(������������� ��� ��������� ����*F���������������������������������������������� ������ ������������(������������ ��������������� ���� ��������*.�� ���� ������������������������������������ �*

-������25��������������������� �+������ ��� ���������(�����������������������������*,���� ��������������������� �*/������������������� ����������� � ����������!��������$�������������������������*-�������������� ���������������"���������������������� ����������� �*Q*": /����������������������������� ��������������� ��������� �

��������*������������ �������������� ������������4����D=��������� �*)��� ���������������������R-� �������������*

-������2F�Q*"< %������������������������ ���!������������������ �$����� ��

��������� ������������������������ �������������� ���������� ������������ ����������� �*E�� ���������������������������� ���������������������C�������������������������������� �R

-������2-������������C���������������������� ������� ��� ���������� ���������������������������������� �*,�������� ��������������������������� �������������������� ��� ��������������������������������������� �*)���������� ����������(������ �������������������������� ������������� �������������*4������������������������������������������������ ��������� �!�������(������$ �� ����������������*Q*"A ��������� � ���������������� �����������N��������N��� ��� �����������*

)������������������������ �������������������(���������� �����������2@,@-��C�*%��� ��������������������������������������������� ������������������� �� ���������������� ��������������������� ��������������*C��������������� ���������� ����������������������������������������� ������������������*

-������2

• @,@-2F������������������ ����������������� ������� �������*.���������� ��� ���� ���� ������������ ������ ������������������������ ������������� ����� � ����������������!� ����������$������������������� ������������������*.�� ��������� ���� �������������� �����������(F��������������� ���������� �������������������������� �*)��������������� ����������������������������������������� �*

• �C�2,�������������� ��� ��������� ��������������������� ������ ������������� � ��������� ��� ��������������������������������*.������ ������������ ������ ������������������ �N�� ����� �(N������������������������������������!����������� ��� ������������$������������ ��������*.�� ��������� ������������������N�� ����� �N����������������������� �������� ������������*

Page 172: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

169

Q*"# .����������� �������������������������������� ���������������*-��

���������� ��������������������� ���������������(���������������� ������ ���������� ���� � ��(������� ������*������������������������������������� ���� ���������� ���� ���������� ���������������������*)����������� ����� ��������������������� �������������������� �� ���� �*

�$ )������������������ ������������������ ���� ���� �����������

������������*%������������������ ��� ���������2"$�� �������� ������� ���������� ����8$��������� ������� ��� ��:$��������� ������ � ��<$����������������������� ������������ �� ���*

�$ /�������������������� ���������������������������� ��� ���������������� ��������������� ������<��������������R

"�8�:�<�A�:�<�"�#�O�P�O�P�Q�O�P�Q�A�<�A�<�8�$ /� � ����������� ����������������� �������������������� ��� ���

����������������������� ����������������$�����������������������*-������2

�$)�������������������� ���������������� ��� ������2

"* ,���� ������� ���������� �����?8* 4�� ��������� ��� ��������������������������� �������*:* 4�� �������� � �����������������������������������������������<* /�������������� � ��������������� �� ���=�� ���������� �� �

��� ���*/������ �@,@-����

�$ "<����������������$ ""���������������

Q*"O C��������������������� �����(� ��������������������� � ������ ������������ ���������8?���*.��������������������� ���������������������� ���� �������������������"������������� �����������*)�������������� ����������������������������������������������� �*)�������� ���������� ������� ������� ���������� �!3�4$�� � ��������������� ������������ �������� ��������������� ���� ������������������� ����� ������ ���� �*%����������������P?Z�������� ������� ������ ���� ����������������������"?Z!���8�����������������$������ ���������������*/� � ������������� �������������� �*

-������2

I����������� ����������H!?*P$\!"[���$K!?*"$\!8[���$K!?*"$\!A??8[���$HA?"*8[���H?*A�������

Q*"P C����������������������� �����(� ���� � �������

�������������� �����������<*����� � ��������������������� ������������������������������� �*C���������� ��������� ��� �(�����������*E����

Page 173: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

170

������������������ *5��������� �� ���������������������� �������������� �� �������� ���������������*)����������������� �R

�$ ������� �� ����������":Z�������� �� ������QOZ�$ ������� �� ����������POZ�������� �� ������:Z�$ ������� �� ����������":Z�������� �� ������:Z

-������2�$ )����������� �� ��$ ,������ �� ���������� ������ ��������*5��������� ���������

�������������� �*�$ %��� �� ���������������������� �

Q*"Q )�� ������������������������� ���������������������������������

������������������������������������������*5������������������������������ ����������������������������������*/��� ������ �������������������� ���� �R

-������2 3��������������������������� �������������������������������������������������� �������������������������������*F���� ������������������������������������������������������� �+������ ������������������������������������������������� ������*-�� � ������ ���������������������������� �*Q*8? E�������� ����� �� �!����*����(���$*/��������������� ����� �� �R/���

������������ ����� �� �������������������������������� �� �R������ ��&��=�2������ �� ������������������������������ ���&��=����,������������������������

• M��(����5���D5����������������(�@����(���M�,%%IC%��������(���2++�������*�������D*���+)�����+�,+8*?+M�������+������*���+M�)=P#=8PQ+"R���������H:

• 5���D5���������%���.������������)���������������&������������U�D����(���2++���(��* ���*(�+����U+���+����8<*(��!���� �������U/�����$

• I���D�(���D��&��������&�����5���D5��������(���2++&&&*U����D�*��+����&���_�����++�������D+*(��

• M�����������((���2++&&&*��*&���*���+̀ ����+A:O+������������+�8"*(��

Page 174: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

171

10. Interfejs datotečnog sistema 10.1 Datotečni koncept

• Kontinualan logički adresni prostor • Tipovi podataka: Numeric, Character, Binary • Tipovi programa: Izvorni, objektni (load image) • Tipovi dokumenata

Datotečna struktura

• Nikakva - podrazumjeva niz riječi, bajta • Jednostavna struktura sloga

• Linije • Fiksna dužina • Promjenljiva dužina

• Kompleksna struktura • Formatirani dokument • Relokatibilna datoteka za punjenje

• Poslednje dvije mogu se simulirati sa prvom unošenjem odgovarajućih kontrolnih karaktera

• Ko odlučuje: • Operacioni sistem • Program

Datotečni atributi

• Ime - jedina informacija koja se drži u čitljivoj formi • Tip - potreban za sisteme koji podržavaju različite sisteme • Lokacija- pokazivač na lokaciju datoteke na perifernom uređaju • Veličina - tekuća veličina datoteke • Zaštita - kontroliše ko može imati pristup za čitanje, pisanje ili izvršavanje. • Vrijeme, datum i korisničke informacije - podaci za zaštitu i sigurnost, kao i za

monitorisanje • Informacije o datotekama se čuvaju u strukturi direktorija koja se održava na

disku Datotečne operacije

Šta se tačno nalazi u strukturi direkorija, odnosno u svakom njegovom ulazu vezanim za datoteku ili naziv direktorija. Direktorij u UNIX-u je samo ime i broj indeksnog čvora (inode). Indeksni čvor sadrži sve podatke vezane za datoteku, sve što se može vidjeti sa komandom ls –l. On sadrži informacije o svakom bloku podataka na disku vezanom za datoteke.

Kod MS DOS-a direktorij je znatno kompleksniji. U suštini, sadrži informacije o datotekama:

• Naziv – 8 bajta

• Nastavak – 3 bajta

• Atributi (datoteka/direktorij/labela uređaja, samo čitajući ili sakriveni system – rezervisano 10 bajta (koristi se kod OS/2 I Wondows 9x)

• Vrijeme – 2 bajta

• Datum – 2 bajta

• Broj klastera – 2 bajta

• Veličina – 4 bajta

Page 175: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

172

Unix drži slične informacije vezane za datoteku unutar indeksnog čvora.

Operacije u datotečnom sistemu se mogu svrstati u tri kategorije:

• Opracija za rad sa direktorijem, modifikuju proctor imena datoteka. Kao na primjer, mkdir(), rename(), creat(), mount(), link() i unlink().

• Datotečne operacije su kojima se dobijaju ili modifikuju karakteristike objekata. Kao na primjer, stat(), chmod(), chown().

• U/I operacije sa kojima se pristupa sadržaju datoteka a ne podacima iz indeksnog čvora vezanog za datoteku. Primjeri su, read(), write() i lseek(). Ova skupina operacija je znatno duža nego operacije iz druge dvije skupine.

Spisak operacija

• Create - Formiranje datoteke • write - pisanje u datoteku • read - čitanje datoteke

• seek - pozicioniranje unutar datoteke

• delete - brisanje podataka • truncate

• Open(Fi) - pretražuje strukturu direktorija na disku za Fi i premješta sadržaj u memoriju

• close(Fi) - premješta trenutni sadržaj Fi iz memorije na disk, ako je potrebno, I zatvara datoteku.

Tipovi datoteka Tip datoteke Uobičajeni nastavak Funkcija Izvršni exe, com, bin ili prazno spreman za izvršenje

program u mašinskom jeziku

Objektni obj,o kompiliran, mašinski jezik, ne povezan

Izvorni kod c,p,pas,f77,asm,a izvorni jeyik u raznim jezicima

batch bat, sh, cmd komande za komandni interpreter

Tekst txt,doc tekstualni podaci, dokumenti

Procesor riječi wp, tex, rrf i sl. Formati raznih procesora riječi

Biblioteka lib, a Biblioteke rutina Za štampu ili pregled ps, dvi, gif ASCII ili binarna datoteka Arhiva arc, zip, tar skup datoteka grupiranih u

jednu ponekad i komprimirani

Metodi pristupa

• Sekvencijalni: najčešći način čitanja datoteka. Podacima se pristupa u redoslijedu, dio po dio.

• Read (čitaj slijedeći ) • Write (piši slijedeći) • reset • Nema operacije read posle poslednje operacije write

Page 176: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

173

• Slučajan pristup (engl. random): pristup bloku bez pristupa njegovog prethodnog bloka. Može se pristupiti bilo kojem bloku direktno bez obzira kolika je datoteka. Ono što treba da znamo je “kojem bloku treba da pristupimo”

• Read n • Write n • Pozicionira se na n

• read next • write next

• rewrite n, n je relativni broj bloka • Pristup sa ključem: Pretraživanje blokova sa zadanom vrijednošću ključa

(recimo, heš tabele, direktorije, baze podataka) • Ovo obično nije obezbjeđeno od strane operativnog sistema (neke verzije IBM

datotečnih sistema ga imaju) • Model se može posmatrati kao slučajan pristup.

Struktura direktorija

• Direktorij predstavlja skup čvorova koji sadrže informacije o svim datotekama

• I struktura direktorija i datoteke nalaze se na disku • Sigurnosne kopije ove dvije strukture se drži na trakama

Page 177: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

174

Informacije direktorija uređaja

• Ime • Tip • Adresa • Tekuća dužina

• Maksimalna dužina • Datum poslednjeg pristupa (za arhivu) • Datum poslednjeg ažuriranja (za pregled) • Identifikacija vlasnika • Zaštitne informacije

Operacije koje se izvode na direktorijumu

• Pretraži datoteku • Kreiraj datoteku • Briši datoteku • Listaj direktorij • Preimenuj datoteku • Prolazak kroz datotečni sistem (konzistnost)

Logička organizacija direktorija Logička organizacija direktorija se ozvodi da se postigne:

• Efikasnost - brzo lociranje datoteke • Imenovanje - pogodno za korisnika

• Dva korisnika mogu imati isto ime za različite datoteke • Ista datoteka može imati nekoliko različitih imena

• Grupisanje - Logičko grupisanje datoteka sa karakteristikama (t.j. svi paskal programi, sve igre, …)

Page 178: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

175

Direktorij sa jednim nivo-om

• Predstavlja jedan direktorij za sve korisnike

• Problem imenovanja datoteka • Problem grupisanja

Direktorij sa dva nivo-a

• Poseban direktorij za svakog korisnika

• ime staze • može se imati isto ime datoteke za različite korisnike • efikasno pretraživanje datoteka • nema mogućnosti grupisanja datoteka

Direktorij sa strukturom drveta

Page 179: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

176

• Efikasno pretraživanje • Mogućnost grupisanja datoteka • Tekući direktorij (radni direktorij)

• cd /spell/mail/prog • type list

• Apsolutno ili relativno ime staze • Kreiranje nove datoteke se vrši u tekućem direktoriju • Brisanje datoteke se izvodi sa rm <ime_datoteke> • Kreiranje novog direktorija se izvodi na tekućem direktoriju

• mkdir <dir_name> Primjer: ako je tekući direktorij “/spell/mail”, onda “mkdir count “ formira direktorij “count”

• Brisanje “mail” briše se cijelo drvo ispod imena direktorija

Aciklički graf direktorija

• Predstavlja prirodno predstavljanje šeme direkotrija • Ima djeljene poddirektorije i datoteke

• Dva različita imena (alias) • Ako “dict” briše “list” onda imamo apsolutne pokazivače na elemente u strukturi

direktorija

Page 180: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

177

• Rješenje: • Pokazivači unazad, tako da možemo brisati sve pokazivače. Problem

predstavlja slogovi varijabilne dužine • Entry-hold-count solution (brojač prolazaka kod pretraživanja direktorija)

Opšti graf direktorija

• Kako garantovati da nema ciklusa • Dozvoliti samo vezu na datoteke a ne i poddirektorije (komanda link) • Garbage collection • Svaki put kad se doda nova veza ona se dodaje koristeći ciklički detekcioni

algoritam da odredi da li je to u redu Zaštita

• Vlasnik datoteke /kreator moći će da kontroliše: • šta može biti urađeno sa datotekom • od koga

• Tipovi pristupa • read • write • execute • append • delete • List

Lista pristupa i grupe

• Načini pristupa: read, write, execute • Tri klase korisnika R W X

a. pristup vlasnika 7-------- 1 1 1 b. Pristup grupe 6-------- 1 1 0 c. Javni pristup 1-------- 0 0 1

• Menager kreira grupu (jedinstveno ime), recimo G i dodaje neke korisnike u

grupu • Za jednu posebnu datoteku (recimo game) ili poddirektorij definišimo

odgovarajuči pristup na slijedeći način

Page 181: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

178

chmod 761 game • Aktiviraj (zakači) grupu na datoteku: chgrp G game

Zadaci: 10.1 Razmotrimo datotečni sistem gdje datoteka može biti pobrisana i njen diskovni prostor popravljen dok veza na tu datoteku postoji. Koji se problemi mogu desiti ako se kreira nova datoteka na istom smještajnom prostoru ili sa istim apsolutnim imenom staze datoteke? Kako ovaj problem može biti izbjegnut? Odgovor: Neka je F1 stara datoteka a F2 nova datoteka. Korisnik koji želi da pristupi kroz postojeću vezu će, u stvari, pristupiti datoteci F2. Primjetimo da će se koristiti prava pristupa datoteke F1 umjesto datoteke F2, jer su definisana kod otvaranja. Problem može biti izbjegnut obezbjeđujući da sve veze ka pobrisanoj datoteci se izbrišu. Ovo se može uraditi na nekoliko načina.

a. održavanjem liste veza na datoteku i uklanjanjem svake kad se desi brisanje b. Ostavljajući veze ne pobrisane a brisati ih kad se napravi pristup datoteci koja je

pobrisana c. Održavajući listu referenci na datoteku (ili brojač), brišući datoteku tek kada se

uklone sve reference na datoteku 10.2 Neki sistemi automatski brišu sve korisničke datoteke kod odjave korisnika sa sistema ili ako job završi, osim ako korisnik nije eksplicitno zahtjevao da oni treba da ostanu, dok drugi sistemi zadržavaju sve datoteke osim ako ih korisnik eksplicitno pobriše. Prodiskutuj dobre osobine svakog pristupa. Odgovor: Brisanjem svih datoteka koje nisu posebno sačuvane od strane korisnika ima prednost kod minimalnog prostora za datoteke koji je potreban svakom korisniku tako da se ne spašavaju nepotrebne datoteke. Spašavanjem svih datoteka osim onih koje posebno izbrišemo je sigurnije za korisnika u smislu da korinsik nepažnjom ne izgubi datoteke koje je zaboravio da spasi. 10.3 Zašto neki datotečni sistemi vode oveidenciju o tipovima datoteka, dok drugi jednostavno prepuštaju korisniku ili ne implementiraju uopšte višestruke tipove datoteka? Koji je sistem "bolji"? 10.4 Slično, neki datotečni sistemi podržavaju mnoge tipove struktura za podatke datoteka dok drugi podržavaju samo kao niz bajta. Šta su prednosti i nedostatci ovakvog pristupa? 10.5 Šta su prednosti i nedostaci ako se zapisuje ime formiranog programa sa njegovim datotečnim atributima (kao što je dato kod Macintosh operacionog sistema)? Odgovor: Zapisujući ime formiranog programa zajedno sa njegovim datotečnim atributima, operacioni sistem može implementirati karakteristiku takvu kao automatsku prozivku datoteke pri čemu se kod pristupa pregledavaju ove informacije. Ovo unosi opterećenje kod operacionog sistema i zahtjevani prostor u strukturi podataka koja opisuje datoteku. 10.6 Može li se simulirati višenivo-ska struktura direktorija sa strukturom

direktorija na jednom nivou u kojoj se modu koristiti dovoljno duga imena datoteka? Ako je odgovor da, objasnite kako bi se to postiglo i poredi je sa višenivo-skom šemom. Ako je odgovor ne, objasnite šta vas sprečava da izvršite uspješno simulaciju. Kako bi se vaš odgovor promjenio ako su imena datoteka ograničena na 7 znakova?

Page 182: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

179

Odgovor: Ako se mogu koristiti duga imena datoteka onda je moguće simulirati višenivo-sku strukturu. Ovo se može uraditi, na primjer, koristeći znak "." koji će ukazivati na kraj poddirektorija. Dakle, na primjer, ime jim.pascal.F1 predstavlja datoteku F1 dok je poddirektorij pascal koji se nalazi ispod korjenskog direktorija jim. Ako su imena datoteka ograničena na 7 znakova, onda se ne može koristiti navedena šema, dakle, odgovor je da se ne može simulirati na taj način. Slijedeći najbolji pristup u ovoj situaciji bi mogao biti korišćenje specifičnih datoteka kao jedna tabela sibmola (direktorija) za mapiranje dugih imena datoteka, takvih kao što je jim.pascal.F1 u kraća imena, takva kao što je XX00743, koja se onda koriste za stvarni pristup datoteci. 10.7 Objasnite svrhu operacija "open" i "close". Odgovor: Operacija "open" informiše sistem da je imenovana datoteka postala aktivna. Operacija "close" informiše sistem da imenovana datoteka nije više u aktivnoj upotrebi od strane korisnika koji je izdao operaciju "close". 10.8 Neki datotečni sistemi automatski otvaraju datoteku kada se na nju

referencira prvi put i zatvara je kada se proces završi. Prodiskut prednosti i nedostatke ovakvog pristupa poredeći sa jednim tradicionalnim datotečnim sistemom gdje korisnik može otvoriti i zatvoriti datoteku eksplicitno.

Odgovor: Automatsko otvaranje i zatvaranje datoteka oslobađa korisnika od poziva ovih funkcija i čini se pogodnim za korisnika. Međutim, to zahtjeva više overhead-a nego u slučaju gdje se eksplicitno zahtjeva otvaranje i zatvaranje datoteka. 10.9 Dati primjer aplikacije u kojoj će se podacima u datoteci pristupiti na jedan

od slijedećih načina:

1. Sekvencijalno 2. Random

10.10 Neki datotečni sistemi obezbjeđuju djeljenje datoteka održavajući

jednistvenu kopiju datoteke, dok drugi sistemi održavaju nekoliko kopija, po jednui za svakog korisnika koji dijeli datoteku. Prodiskutuj svaki od pristupa.

10.11 U nekim sistemima, poddirektorij se može čitati i pisati od strane

neautorizovanog korisnika kao obična datoteka.

a) opišite probleme zaštite koji mogu prizaći u ovom slučaju, b) Sugerišite shemu za rad sa svakim problemom zaštite koji ste naveli pod a)

Odgovor:

a) Jedan dio informacije koji se čuva u direktoriju je lokacija datoteke. Ako bi korisnik mogao modifikovati ovu lokaciju, onda bi korisnik mogao pristupiti i drugim datotekama zaobilazeći shemu zaštite pristupa.

b) Ne doszvoliti korisniku da direktno piše u direktorij. Umjesto toga, obezbjedite sistemske operacije koje to mogu izvesti.

10.12 Neka datotečni sistem podržava 5000 korisnika. Pretpostavimo da želite da

dozvolite da 4990 ovih korisnika će moći da pristupi jednoj datoteci.

a) Kako će te specificirati ovu shemu zaštite u UNIX-u? b) Možete li sugerisati drugu šemu zaštite koja se može koristiti efikasnije za

ove svrhe nego što to obezbjeđuje UNIX?

Page 183: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

180

Odgovor:

a) Postoje dvije metode za postizanje ovog: 1. Kreiranje kontrolne liste pristupa (engl. access control list) za imenima

za svih 4990 korisnika 2. Stavi ove korisnike u jednu grupu i postavi prava pristupa grupe. Ova

shema ne može biti uvije implementirana pošto je veličina korisničke grupe ograničena od strane sistema.

b) U univerzalnu kontrolnu listu pristupa primjenjenu za sve korisnike sa različitim pravima pristupa. Kod ovog slučaja samo se ostalim 10 korisnika zabrani pristup dok je svim ostalim inicijalno dozvoljen.

10.13 Istraživači sugerišu da, umjesto da imamo listu pristupa pridruženu svakoj

datoteci (koja specificira koji korisnik može pristupiti i kako), da imamo kontrolnu listu korisnika pridruženu svakom korisniku (koja specificira kojim datotekama korisnik može pristupiti i kako). Prodiskutuj prvu i drugu shemu.

Odgovor: • Kontrolna lista datoteka: Pošto se informacije o pristupima su smještene na jednom

prostoru, lakše je da se promjeni kontrolna informacija pristupa i ova shema zahtjeva manje prostore.

• Kontrolna lista korisnika: Ovo zahtjeva manje overhead-a kod otvaranja datoteka.

Page 184: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

202

Kašnjenje i propusnost U diskusiji o performansama U/I uređaja često se diskutira o propusnosti (engl. throughput) i kašnjenju (engl. latency). Propusnost je mjera koja govori koliko podataka kanal može držati u nekom trenutku vremena dok je kašnjenje mjera koja kaže koliko brzo bilo koji dio podataka može proći kroz kanal. Autoput bi bio primjer koji se može posmatrati. Broj traka određuje broj auta koja mogu ući na autoput u bilo kojem trenutku vremena i na taj način definiše propusnost autoputa. Kašnjenje je određeno sa ograničenjem u brzini, tako da sa manjim brzinama se dobija veće kašnjenje. Upošte rečeno, kašnjenje se definiše kao vrijeme između isporuke podataka i stizanja prvog bajta. Propusnost se definiše kao iznos podataka koji stiže u jedinici vremena, poslije prijema prvog bajta. Poboljšanje U/I performansi – Kašnjenje U U/I uređajima, kašnjenje se može redukovati koristeći brže uređaje za smještanje podataka ili korišćenjem keš memorije kod smještanja podatka kao i drugim tehnikama unutar hijerarhije za smještanje podataka. Ako je lokalitet podatka intenzivna, ove tehnike reduciraju očekivano vrijeme pristupa. Privremena lokalnost podataka se koristi u hijerarhiji za smještanje podataka zadržavanjem podataka u kešu za ponovnu upotrebu. Prostorna lokalnost se koristi kod spremnika sa čitanjem unaprijed. Osnovni ključ ovog uspjeha je transparentnost. Često vrijeme kašnjenja može se reducirati korišćenjem poboljšanih tehnika raspoređivanja. Propusnost - Poboljšanje U/I performansi Propusnost se poboljšava povećanjem nivoa paralelizma na uređajima za smještanje podataka ili U/I sabirnici. Paralelizam se postiže razmještanjem podataka u trake (engl. striping) kroz nezavisne U/I uređaje. Ovim se povećava propusnost koristeći propusnost na svakom uređaju simultano. Ova tehnika se koristila u memorijskim sistemima i poznata je pod imenom preplitanje. Takođe se koristi i u RAID sistemima o kojima će biti riječi kasnije. Redudantni niz nezavisnih (neskupih) diskova – RAID RAID je jedna nova tehnologija koja je pokazala da može biti komercijalno uspješna. Ako je propusnost memorije, aproksimativno, 150 MB/s a propusnost diska, aproksimativno, 10 MB/s, primjeti se da U/I sa diska predstavlja usko grlo. Aplikacije vezane za ulaz/izlaz su ograničene sa diskovnom propusnošću a ne samo diskovnim kašnjenjem. RAID tehnologija je uspješna zato što uklanja ovo usko grlo. RAID tehnologija riješava pitanje propusnosti distribuiranjem pristupa disku kroz nekoliko diskova simultano. Ovo dozvoljava višestrukim zahtjevima da se obrade paralelno, odnosno da se jedan «veliki» zahtjev servisira sa propusnošću gotovo jednakom propusnosti memorije. Tipične aplikacije uključuju mnogo konkurentnih zahtjeva koji se mogu sresti na serveru ili

Page 185: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

203

multiprogramskom okruženju (ranije se koristilo) a naučne aplikacije «gladne» ulaza/izlaza se izvršavaju kao jedan zahtjev. RAID – Striping RAID sistemi povećavaju propusnost distribuirajući podatke kroz nekoliko diskova koristeći tehniku poznatu pod nazivom striping (smještanje podataka u trake). Kao rezultat primjene ovakve tehnike je da propusnost nije ograničena na propusnost jednog diska već na sumu propusnosti nekoliko uređaja. Kada razmišljamo o U/I sa RAID rehnologijom onda ne mislimo na sektore ili blokove. Umjesto toga, mislimo na stripe-ove (trake) na koje su razmješteni podaci. Traka je apstrakcija koja predstavlja fundamentalnu jedinicu podataka koja može biti pisana simultano kroz nekoliko diskova. Ovaj iznos podataka koji može biti smješten u traku se zove širina trake (engl. stripe width). Dio trake je smješten na svakom od nekoliko diskova i naziva se jedinica trake (engl. stripe unit). Veličina jedinice trake je broj bajta trake koji se smješta na pojedinačni disk. Ako je širina trake S bajta i N diskova je raspoloživo za smještanje podataka, onda je jedinica trake S/N bajta. Na primjer, ako RAID ima 5 diskova raspoloživih za smještanje korisničkih podataka i širina trake je 100 K, svaka jednica trake je 100K/5 = 20 K. Korist – sekvencijalno čitanje i pisanje velikih datoteka Ako aplikacija, ili operativni sistem, u U/I spremnik čita cijelu traku u nekom trenutku vremena, kontroler niza diskova može izvršiti paralelni pristup ka svakom od N diskova. Propusnost viđena od strane korisnika nije propusnost pojedniačnog diska nego ukupna propusnost svih diskova.

Cijela traka izdana odjednom sa nekoliko diskova, brzinom N*Xmb/sec

Korist – konkurentno čitanje ili pisanje nekoliko datoteka Ako se nekoliko zahtjeva napravi konkurentno, moguće ih je uslužiti sve ili neke od njih paralelno. Ovo je zato što podaci koji se nalaze u jedinici trake na različitim diskovima mogu biti izvršeni paralelno. Na ovaj način niz diskova može servisirati višestruke zahtjeve u isto vrijeme.

Page 186: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

204

Naravno, ako su zahtjevi na jedinicu trake na istom disku onda ovi zahtjevi se moraju obraditi serijski.

Slika: N zahtjeva odjednom se uslužuju sa N različitih diskova od kojih svaki ima brzinu Xmb/sec Podešavanje performansi Ako se drži konstantan broj diskova raspoloživ za korisnika onda se može podešavati performanse niza diskova varirajući veličinu jedinice trake.

• Ako je cilj da se poveća propusnost, pojedinačan zahtjev mora se odraditi paralelno kroz nekoliko diskova. Da bi postigli ovo, veličina jedinice trake mora biti mala s respektom na veličinu zahtjeva, obezbjeđujući da zahtjevi traže višestruke jedinice traka. Na taj način se može pristupiti jednici trake paraleno na različitim diskovima. Ovakav način izvršavanja povećava propusnost. Ovo je često korisno, na primjer, na serverima gdje su zahtjevani podaci slučajno raspoređeni kroz nekoliko diskova. Ovo implicira da postoji dobra vjerovatnoća da mnogi od zahtjeva mogu biti paralelni (namješteni da im se pristupa paralelno).

• Ako je cilj da se smanji kašnjenje, svaki zahtjev bi trebao biti vezan za jedan disk unutar niza diskova. Ovo ostavlja druge diskove raspoloživim za servisiranje drugih zahtjeva paralelno, i na taj način smanjujući njihovo čekanje i kao posljedica toga primjećeno kašnjenje. Da se postigno ovo, veličina jedinice trake trebala bi biti velika sa respektom na veličinu zahtjeva. Ako je zahtjev vezan na jednu jedinicu trake, drugi diskovi u nizu diskova će biti raspoloživi za servisiranje drugih zahtjeva konkurentno.

Mnogi komercijano raspoloživi nizovi diskova dozvoljavaju administratoru da izabere nekoliko raspoloživih veličina jednica trake kada se disk prvi put inicijalizira. Neki nizovi diskova se ne mogu konfigurisati tako da se to razmatra u vrijeme nabavke. Raspoloživost niza diskova Kako broj diskova u nizu diskova raste, šanse za grešku na bar jednom disku unutar niza rastu propurcionalno. Ovo se može iskazati formulom: Rapoloživost niza od N diskova = (raspoloživost jednog diska /N)

Page 187: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

205

Pretpostavimo da je srednje vrijeme između grešaka, MTBF, diska jednaka 50.000 sati, odnosno oko 6 godina. MTBF za niz od 70 diskova je jednaka 50000/70 – oko 1 mjesec. Nizovi diskova moraju biti zaštićeni od drugih tipova grešaka koji se nesmiju zanemariti. Često su RAID sistemi opremljeni sa duplim napojnim jedinicama ili kontrolerima, zato što oni mogu proizrokovati kvar na nekoliko diskova istovremeno. Mnogi nizovi diskova dupliciraju podatke, ali često su kritični nepouzdani djelovi takvi kao što su kablovi i sl. Veliki nizovi diskova bez redundancija su isuviše nepouzdani da bi bili korisni. Iz tog razloga koristimo izraz redudantni niz neskupih diskova (RAID). RAID-ovi su djelimično ili potpuno redundantni da bi obezbjedili da sistem može tolerisati greške kritičnih komponenata. RAID pristupi Postoji mnogo pristupa kako bi se postigla redundantnost diska koja se traži kod nizova diskova. Mada posoje i dugačije klasifikacije, većina komercijalnih RAID sistema se mogu svrstati u kategorije poznate kao RAID nivoi: RAID 1 do RAID 5. Postoje izmjenljivi diskovi koji mogu reknostruisati oštećeni podatke na disku u toku konkurentnog pristupa podacima (engl. hot sparing). Postoji nekoliko pokazatelja koji mogu biti korišteni da se procjene ovakvi nizovi diskova:

• Koliko se prostora gubi ako se koristi redundancija? • Koja je vjerovatnoća pojave opasnih mjesta (engl. hot spot) u toku znatnog

opterećenja diskova? Opasna mjesta su djelovi diskova kojima se pristupa znatno frekventnije tako da uzrokuju usko grlo.

• Kako performase degradiraju kada se dese greške na disku ili u toku oporavka diska na osnovu redundantnih podataka?

RAID 1 RAID 1 je poznat pod nazivom «miroring». Diskovi unutar niza diskova postoje u paru – jedan disk podataka i odgovarajući disk koji čuva iste podatke (backup disk). Blokovi mogu biti čitani sa jednog od diskova u paru, ali u normalnim okolnostima podaci se uvijek pišu na oba diska. U zavisnosti od pretpostavki o tipovima grešaka, pisanje na disk podataka i njegov backup disk smije ili ne smije biti izvršeno paralelno. U slučaju greške, podaci se čitaju i pišu ka i sa radnih diskova. Kada se pokvareni disk zamjeni onda se podaci mogu rekonstruisati sa odgovarajućeg drugog diska. Takođe je moguće locirati backup disk tako da bude udaljen više kilometara. Na ovaj način se izoliraju podaci sa lokacija na kojima se može desiti zemljotres, poplava ili požar. Disk1 Backup disk 1 Disk 2 Backup disk 2 Disk n Backup disk n RAID 2&3

Page 188: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

206

RAID 2&3 koristi shemu za korekciju greške sa preplitanjem bita (engl bit-interleaved). Ovo znači da redundatne informacije potrebne za korekciju greške se izračunavaju na osnovu bita od odgovarajućih bita kroz nekoliko diskova. Ovo znači da sve glave moraju uvijek postati zaključane za pristup. RAID 2 koristi shemu ECC, sličnu onoj koja se koristi u mnogim memorijama baziranim na silikonu. Često se koristi Heamming-ov kod koji zahtjeva log(N) diskova za korekciju greške. RAID 3 koristi jednostavni bit pariteta. Mada paritet ne može uopšte biti korišćen kao kod za korekciju greške već samo kao kod za detekciju greške, ovo nije slučaj sa diskovima. Najčešće se može odrediti koji disk je pogrešan. Kako se ne desi više grešaka, bit pariteta može biti korišten da se odredi vrijednost svakog bita na disku. Dobra osobenost je što se koristi samo jedan disk za paritet i ovaj trošak se amortizira svim drugim diskovima podataka. RAID 2 se rijetko implementira zbog broja diskova potrebnih za redundanciju. ECC-u se nepotrebno daje visok nivo pouzdanosti na najviše diskova. Mada RAID 3 ne pati od ovog problema, takođe, se rijetko implementira. Pošto se sve glave diskova moraju premjestiti u stanje zaključavanje, ovaj tip diskova ne može podržati konkurentnost pristupa. RAID 4 Nasuprot RAID 2&3, RAID 4 je projektiran da dozvoli konkurentne pristupe diskovima unutar niza diskova. On održava mali gubitak RAID 3. Ovo se postiže korišćenjem pariteta prepletenih blokova. Jedan disk sadrži samo blokove pariteta. Svaki blok pariteta sadrži informacije o paritetu za odgovarajuće blokove na drugim diskovima. Svaki put kad se izvrši pisanje, odgovarajući blok pariteta se ažurira i to na osnovu starog pariteta, starih podataka i novih podataka. Bit pariteta predstavljen je funkcijom XOR odgovarajućih bita kroz sve diskove. Pogledajmo na primjer:

Disk 0

Disk 1

Disk 2

Parity Disk

D0,0 D0,1 D0,2 P0

D1,0 D1,1 D1,2 P1

D2,0 D2,1 D2,2 P2

D3,0 D3,1 D3,2 P3

P0 = D0,0 XOR D0,1 XOR D0,1 Pošto se disku pariteta treba pristupiti svaki put kad se izvrši pisanje na neki drugi disk, onda on posatje opasno mjesto koje može dovesti do opterećenja kanala prouzrokujući usko grlo. Mada može izgledati da se mora pristupiti svakom disku svaki put kad se piše bilo koji disk, to nije slučaj. Sa starim paritetom, starim podacima i novom vrijednosti podataka može se izračunati novi paritet bez čitanja bilo kojeg drugog diska.

Page 189: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

207

Neka treba pisati na D0,2, novi paritet se može izračunati na slijedeči način: P0-novi = (D0,2stari XOR D0,2-novi) XOR P0-stari Normalna operacija čitanja zahtjeva pristup samo jednom disku. Normalna operacija pisanja zahtjeva pristup disku na koji se piše i disku pariteta. Kada neki od diskova ispadne, operacije čitanja i pisanja zahtjevaju pristup svim diskovima. Odgovarajući bitovi pariteta i bitovi podataka se XOR-uju da bi se izračunali izgubljeni bitovi podataka. RAID 5 Ova tehnika zapisa poznata je pod nazivom RAID 5 sa rotiranim paritetom. Radi isto kao što radi RAID 4, izuzev što su blokovi pariteta distribuirani kroz sve diskove. Ova distribucija blokova pariteta spriječava pojavu opasnih mjesta (hot spot) koja se pojavljivala na disku pariteta kod RAID 4. Blokovi pariteta se smještaju tehnikom round-robin, rotiranjem po diskovima. Ovo je poznato pod nazivom rotirajući paritet.

Disk 0

Disk 1

Disk 2

Disk 3

D0,0 D0,1 D0,2 P0

D1,0 D1,1 P1 D1,3

D2,0 P2 D2,2 D2,3

P3 D3,1 D3,2 D3,3

P0 = D0,0 XOR D0,1 XOR D0,1

P3 = D3,1 XOR D3,2 XOR D3,3 Normalna operacija čitanja zahtjeva pristup samo jednom disku. Normalna operacija pisanja zahtjeva pristup disku na koji se pišu podaci kao i disku gdje se nalazi blok pariteta. Kada disk ispadne, operacije čitanja i pisanja zahtijevaju pristup svim diskovima. Odgovarajući bit pariteta i drugi bitovi podataka se XOR-ju da bi se izračunao izgubljeni bit podatka. Korekcija greške – detekcija greške Spomenuto je ranije da RAID 2 zahtjeva Log2(n) diskova pariteta. Prodiskutirajmo o korekciji greške i detekciji greške. Detekcija greške je mogućnost da se otkrije da primljena poruka nije bila korektna. Poruka može biti primljena ili sa oštećenog diska ili iz mreže. Korekcija greške predstavlja mogućnost da se prepozna greška u poruci i da se ispravi greška tako se se poruka prihvati korektnom.

Page 190: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

181

Implementacija datotečnog sistema Fizička organizacija disk uređaja

Kada govorimo o diskovima onda mislimo na uređaj poznat pod nazivom “disk pack”. Svaki ovakav uređaj sadrži nekoliko diskova, nazvanih još i diskovna ploča, koje su smještene jedna iznad druge. Svaka disk ploča ima dvije površine, gornju i donju. Podaci se smještaju na ove površine pri čemu svaka od ovih površina ima glavu za čitanje i pisanje podataka.

Svaka od ovih površina je podjeljena na koncentrične krugove koje nazivamo stazama. Svaka staza (engl. track) je podjeljena na sektore sa graničnicima sektora. Ovi graničnici polaze iz centra površine diska ka njegovom kraju. Sektor je osnovna jedinica za smještanje podataka na disk. Diskovima se pristupa adresiranjem sektora tako da kad god se pristupa disku cijeli sector mora biti pročitan ili upisan. Uobičajena vrijednost za veličinu sektora je 512 bajta ali može biti i neka druga.

Kao posljedica sektor bazirane organizacije diska je da je potpuna gustoća podataka na mediju postignuta samo u centru diska, na mjestu gdje su sektori najmanji. Primjetimo da sektori koji su udaljeniji od centra imaju više smještajnog kapaciteta. Mnogi moderni uređaji odbacuju organizaciju po sektorima i formiraju zone (zonski diskovi). Kao i sektori, svaka zona ima isti kapacitet, ali nasuprot sektoru, više zona je smješteno na vanjskim nego na unutrašnjim stazama.

Sve glave najviše disk uređaja se premještaju sa staze na stazu zajedno. Iz ovih razloga često je korisno posmatrati ove staze na odgovarajućoj lokaciju na svim površinama. Skup ovih staza zovemo cilindrom.

Da li sve glave mogu čitati odjednom? Mehanizam za čitanje koristi samo jednu diskovnu glavu za čitanje tako da ostale glave se pomjeraju a samo jedna je aktivna kod čitanja odnosno pisanja.

Postoje tri tipa kašnjenja koje se može desiti kada pristupamo podacima na disku. Oni su predstavljeni u redosljedu njihove važnosti.

• Kašnjenje kod pozicioniranja na stazu (engl. seek latency): predstavlja iznos vremena potreban da se premjeste glave na određeni cilindar.

• Roraciono kašnjenje (engl. rorational latency): predstavlja iznos vremena potreban disku da se okreće do odgovarajućeg sektora koga treba čitati ili pisati.

• Kašnjenje kod prenosa (engl. transfer latency): Iznos vremena koji je potreban da se cijeli sektor ili nekoliko sektora koji se nalaze ispod glava diska pročita.

Page 191: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

182

Podaci na disku

Glave koje se koriste za čitanje podataka sa disk uređaja su u suštini žičani kalemi. Ako one prolaze kroz magnetno polje, one osjećaju promjene u polju kao protok struje kroz žicu. Ovo znači da glave ne mogu oosjetiti postojanje “0” i “1” kao sjeverni ili južni pol. Umjesto toga, one mogu samo osjetiti promjene sa jednog pola na drugi. Ta promjena stvara struju u glavi za čitanje. Djelovi kodirani sa nizom “1” ili “0” neće generisati nikakvu struju i glave ih neće osjetiti.

Format podataka sektora

Sektor je organizovan na slijedeći način: __________________________________________________________ |________|______________________________________|__________| prolog podaci epilog adresa diska kontrolna suma (checksum)

Početni dio sektora, prolog, uključuje sinhronizacijske oznake koje su potrebne za sinhronizaciju sata koji se koristi za čitanje sektora da bi bio sinhronizovan da bi prepoznali početak podataka na sektoru. Iza ovoga, sector obično sadrži punu diskovnu adresu sektora. Termini prolog i epilog nisu univerzalni, koriste se termini “zaglavlje” i “rep”, “preambula” i “postambula”, i imaju isto značenje. Adresa diskovnog sektora je uključena u prolog iz mnogih razloga. Prvo, dozvoljava verifikaciju hardvera za pozicioniranje glave i logike za izbor diskovne površine da rade korektno, ili bar da rade na isti način kako su radili kad je disk bio formatiran. Drugo, na nekim diskovima,

Page 192: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

183

mehanizam za pozicioniranje glave koristi broj cilindra ili staze da se pomjeri na pravu stazu kako bi popravio trenutnbu nesinhronizovanost i na kraju adresna logika mnogih disk sistema se vezuje na broj sektora zapisan na početku svakog sektora da bi se odredilo da li je dati sector onaj kome korisnik želi da pristupi. Ma kraju prologa obično se nalazi kontrolna suma. Jedanput, kada je prolog zapisan formatiranjem diska, on se više ne piše. Kada se zahtjeva operacija pisanja, hardver počinje čitanje i verificiranje prologa. Poslije toga počinje sa pisanjem podataka. Epilog sadrži obavezno kontrolnu sumu. Sve operacije čitanja i pisanje sektora moraju obraditi cijeli sector (pišući cijeli sector I na kraju kontrolnu sumu, ili čitajući cijeli sector iverificirajuči kontrolnu sumu). Da li kontroler može dozvoliti funkcije djelomičnog čitanja sektora? Kada bi i mogao, morao bi čitati cijeli sector da bi provjerio kontrolnu sumu. Formatiranje diska Kada se novi disk stavi u disk uređaj, on mora biti formatiran. Ovu uključuje pisanje slučajnih podataka, ili svih nula na svakom sektru ili svakoj stazi diska. Važan dio kod operacija farmatiranja je prolog i epilog na svim sektorima koji su zapisani. Uobičajeno je da softver za formatiranje verificira svaki sector kod čitanja i pisanja, prikuplja dobre sektore u strukturu slobodnih blokova podataka I kreira datotečni system na nekim tipovima diskova. Kada je disk interfejs konfiguriran za formatiranje diska, odgovarajući softver može pisati važeće podatke da bi popunio odgovarajuće sektore na disku. Ako se sektrori rasporede u redoslijedu može biti nemoguće da se čitaju ili pišu susjedni sektori punom brzinom. Ovo je iz razloga zato što nastaje prekid na kraju jednog čitanja/pisanja koje se izvrši i može biti kasno početi čitati slijedeći sector bez čekanja punog okretaja diska. Da bi izbjegli ovaj puni okretaj diska, programi za formatiranje diska zapisuju sektore u prepletenom redosljedu tako da logički susjedni sektori nisu fizički susjedni. Na primjeru su prikazani prepleteni sektori na stazi sa 8 sektora:

0 1 2 3 4 5 6 7 ne prepleteni 0 4 1 5 2 6 3 7 prepleteni sa jednim preskokom 0 3 6 1 4 7 2 5 prepleteni sa dva preskoka

Softverski interfejs prema disku

Da bi čitali ili pisali sector na disku, sotver mora da uradi slijedeće:

1) Navede adresu memorijskog spremnika

2) Navede jedan od nekoliko disk uređaja koji kotrolira kontroler

3) Navede kako da se glava diska pozicionira; ovo se odnosi na dio odrese koji govori o cilindru.

Page 193: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

184

4) Navede koja će glava za pisanje ili površina na disku biti korišćenja na odabranom uređaju.

5) Navede koji sector izabrane staze na cilindru i površini se koristi

6) Navede se smijer prijenosa podataka

Jednostavni disk kontroleri mogu da imaju posebne registre koje je moguće pisati softverom. Transfer podataka počinje samo kada se potpuna komanda izda kontroleru identificirajući smjer i čitani/pisani dio na disku. Dakle, punjenje memorijskih adresa ili polja na disk adresama nema efekta sve dok se softverom ne specificira jedna operacija za čitanje ili pisanje.

Kada se završi operacija onda se u statusnom registru prikaže ovo stanje koje indicira bilo koju grešku koja se detetktovala. Pored toga, stanje završetka operacije rezultira zahtjevom za prekid koji ima smisla da bi obavjetio operativni system da je data operacija ulaza/izlaza završene i da se prema datom vlasniku izdane operacije pokrene procedura. (vjerovatno se process nalazio u stanju blokiranih procesa te je u tom smislu potrebno pomjeriti u red čekanja spremnih procesa na processor.)

Struktura datotečnog sistema

• Struktura datoteke • Logička jedinica sa čuvanje podataka • Skup povezanih informacija

• Datotečni sistem se nalazi na diskovima koji predstavljaju sekundarno mjesto smještanja podataka

• Datotečni sistem je organizovan u nivoima • Kontrolni blok datoteke - FCB (File control block) - struktura podataka koja sadrži

informacije o datoteci Sa stanovišta OS programera i korisnika operativnog sistema datotečni sistem se može posmatrati na slijedeći način: OS programer Korisnik Blok orijentisani fizički sektori Imenovane datoteke sastavljene od bajta Nema zaštite Ima zaštite Kod kvara na disku podaci se gube Robusna mašina na moguće greške (RAID 5 -

hot swap) Komponente datotečnog sistema

1. Upravljanje smještajnim prostorom (engl. storage menagement) Uređuje blokove diska u datoteke

2. Imenovanje (engl. naming) 3. Zaštita - održava korisničke datoteke sigurnim 4. Pouzdanost

Page 194: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

185

Struktura datotečnog sistema

Datotečni sistem se smješta na diskove. Diskovi mogu biti podjeljeni u jednu ili više particija sa nezavisnim datotečnim sistemom na svakoj particiji. Sektor 0 na disku se naziva MBR (engl. Master boot record) i koristi se kao prvi korak kod punjenja operativnog sistema. Na kraju MBR nalazi se opis particija. Ovaj opis particija sadrži početnu i krajnju adresu svake particije ( za detaljan opis vidi projekat 1). Jedna od particija je označena kao aktivna i kod punjenja sistema BIOS čita MBR i izvršava kod u njemu. Ovaj program mora da uoči koja je particija aktivna i da pređe na čitanje prvog bloka aktivne particije i počne izvršavanje programa u tom bloku. Ovaj program predstavlja punjenje operativnog sistema koji se nalazi u toj particiji. Svaka particija sadrži boot bloki čak kad i nema na sebi operativni sistem.

Poslije boot bloka izgled datotečnog sistema varira od jednog datotečnog sistema do drugog. Uobičajeno je da datotečni sistemi sadrže informacije kao što su date na slici:

Boot blok Super blok Upravlj.slob.prostorom Indeksni blokovi Korjenski direktorij Datoteke i direktoriji

MBR Particija 1 Particija 2 Particija 3 Particija 4

Prvi element poslije boot bloka predstavlja super blok. On sadrži sve ključne parametre o datotečnom sistemu i nalazi se u memoriji u toku rada operativnog sistema. Informacije koje sadrži su: magični broj koji inedtificira tip datotečnog sistema, broj blokova u datotečnom sistemu i druge ključne administrativne informacije.

Slijede blokovi koji služe za vođenje evinedcije o slobodnom prostoru, na primjer u obliku bit mapa ili ulančanih lista. Zatim slije informacije o indeksnim blokovima, niz struktura podataka i to jedna po jednoj datoteci. Poslije toga slijedi blokovi podataka u kome su upisani podaci o datotekama u korjenskom direktoriju. Na kraju dolaze blokovi u kome su upisani podaci o datotekama iz korjenskog direktorija kao i poddirektoriji i datoteke u njema.

Page 195: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

186

Upravljanje smještajnim prostorom

Ključni problem u upravljanju smještajnim prostorom uključuje:

• Nezavisnost medija (CD ROM, flopi disk, disk itd.)

• Efikasno korišćenje prostora medija (minimizacija internog rada)

• Porast, unutar sadržaja datoteke kao i broju kreiranih datoteka.

Ovi problemi se razlikuju od upravljanja meorijom u nekoliko slučajeva:

• U/I uređaji su tako spori da interni rad kod pristupa kompleksnijim strukturama podataka kao što su povezane liste može preklopiti U/I operacije i znatno uticati na efikasnost pristupa

• Logička kontinualnost ne podrazumjeva i fizičku kontinualnost. Bajtovi datoteke mogu biti smješteni na veliki broj načina na mediju a da ih mi vidimo kao kontinualne.

• Ekvivalent od tabele stranica virtualne memorije može se na efikasan način smjestiti na disk a da pri tome ne zahtjeva hardversku podršku.

Blokovi i fragmentacija

U toku diskusije o upravljanju memorijom, rečeno je da je bajt najmanja adresibilna jedinica memorije. Ali system za upravljanje memorijom je koristio veće i pogodnije memorijske apstrakcije, stranice i segmente. Datotečni system će koristiti isti pristup.

Mada su sektori najmanje adresibilne jedinice kod pristupa disku, datotečni system će upravljati smještajnim prostorom u jedinicama višestrukih sektora. Različiti operativni system daju ovoj jedinici različita imena. CMP koristi ime “extent”, MS DOS ga naziva klaster dok Unix sistemi ga nazivaju blok. Ali bez obzira kako ga mi zvali to u suštini predstavlja logički sector. Operacioni system će koristiti sve operacije nad cijelim blokovima.

Interna fragmentacija je rezltat smještanja podataka u cijelim jedinicama blokova – čak i kad se manji smještajni prostor zahtjeva. Ali kao što je bio slučaj sa memorijom, ovaj pristup izbjegava eksternu fragmentaciju.

Ključne razlike u odnosu na upravljanje smještanjem u memoriju

• Varianse u veličini datoteka su veće nego što je to slučaj kod procesa. Ovo predstavlja dodatne zahtjeve na structure podataka koje se koriste za upravljenje ovim prostorom.

• Stalno smještanje podataka podrazumjeva i čvrsto smještanje grešaka. U slučaju problema sa memorijom problem nije moguće riješiti ponovnim pokretanjem datotečnog sistema.

• Disk pristupi su mnogo sporiji nego pristupi memoriji, što nam daje dovoljno vremena da napravimo odluku?

Page 196: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

187

Alokacija smještajnog prostora

Sada se pozabavimo ulogom datotečnog sistema i karakteristikama medija kojim upravlja odnosno razmotrimo alokaciju smještajnog prostora. U toku diskusije razmotriće se nekoliko različitih pravila i struktura podataka korišćenih za odkluku koji disk blokovi se alociraju pojedinačnoj datoteci.

Kontinualna alokacija

Vratimo se na diskusiju o tehnici upravljanja memorijom. Počnimo sa jednostavnim prijedlogom. Sugerišimo da bi svaka jedinica podataka se mogla smjestiti kontinualno u fizičkoj memoriji. Ovaj pristup bi se mogao kontrolisati sa listom, pravilima za smještanje kao što su “first fit” i kompakcijom.

Ovaj jednostavan pristup je primjenljiv i na datotečni system. Ali nažalost, ima neke očite mane:

• Eksterna fragmentacija će se javiti kao posljedica malih nealociranih šupljina.

• Razriješenje eksterne fragmentacije preko kompacije moguće ali je brzina kojom se izvodi kritična tako da nije izvodiva.

• Porast datoteka bi mogao dovesti do problema jer bi to uzrokovala i eventualne relokacije cijelih datoteka.

• CD ROM predstavljaju izuzetak od ovog pravila, razlozi su njegovo smještanje koje se samo jedanput izvodi.

Alokacija datoteka korišćenjem povezane liste

U cilju da elimišemo problem eksterne fragmentacije, treba da raskinemo vezu između fizičke i logičke kontinualnosti, hoćemo da steknemo mogućnost da zadovoljimo zahtjeve sa nesusjednim blokovima a pri tome da očuvamo iluziju o kontinualnosti. Da bi uradili ovo, potrebna nam je struktura podataka u koju smještamo informacije o logičkim odnosima između fizičkih blokova na disku: koji fizički blokovi su logički susjedni jedan drugom.

Pritup bi bio da se koristi povezana lista. Mogli bi razmotriti pristup da cijeli disk bude skup povezanih lista gdje jedan blok predstavlja element liste. Kod datoteke, svaki blok bi morao pokazivati na slijedeći blok u datoteci. Ali i ovaj pristup ima probleme koji se reflektuju u slijedećem:

• Blokovi ne sadrže samo podatke datoteka tako da moraju biti ispravno interpretirani kod svakog pristupa.

• Pristup koji nije sekvencijalan je veoma spor, zato što se mora pristupiti predhodim blokovima u datoteci koji bi ukazivali na slijedeči blok u datoteci.

Page 197: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

188

Pokazivač na slijedeći Informacioni sadržaj

• Alokacija je potrebna kao i pokazivač na slijedeči, vidi primjer gdje datoteka počinje na bloku broj 9

• Jednostavna je - potrebna je samo početna adresa • Sistem za upravljanje slobodnim prostorom - nema gubitaka slobodnog prostora • Ranom pristup nije moguć • Mapiranje

• Blok kome se pristupa je blok u povezanoj listi blokova koji predstavljaju datoteku

• Pomjeraj u bloku je R+1 zato što prva riječ predstavlje pokazivač na sledeći blok, a ostatak bloka predstavlja korisnu informaciju datoteke.

• FAT - File allocation table - alokacija prostora na disku koja se koristi kod MS-DOS-a i OS/2.

Alokaciona tabela datoteke

Drugi pristup bi mogao nas vratiti riješenju za RAM – tabeli stranica. Tabela stranica neće raditi za disk zato što process nema svoje sopstveno mapiranje iz logičkog adresnog prostora u fizički. Umjesto ovog, mapiranje je univerzalno za cijeli datotečni system.

Prisjetimo se invertovane tabele stranica. Ovo je pristup mapiranju za cijeli system. Primjeniće se sličan system mapiranja za datotečni system. Pogledajmo ovaj slučaj na primjeri MS DOS-a. Kažemo da je ulaz u direktorij pridružen imenu datoteke (8+3) koje je dao korisnik sa odgovarajućim imenom na niskom nivou, kao i brojem prvog klastera (čitaj bloka) koji čini datoteku. Objasnimo sada razloge za ovo.

MS-DOS koristi pristup sličan invertovanoj tabeli stranica. Održava jednu tabelu sa jednim ulazom za svaki klaster na disku. Na tom mjestu se nalazi pokazivač na klaster koji ga logički prati. Kada se otvori direktorij onda on sadrži adresu (broj klastera) prvog klastera u odgovarajućoj datoteci. Ovaj broj se koristi kao jedan indeks u tabeli mapiranja koja se zove alokaciona tabela datoteke (engl. FAT – File Allocation Table). Ovaj ulaz obezbjeđje broj

Page 198: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

189

slijedećeg klastera u datoteci. Ovaj postupak se ponavlja sve dok ulaz u odgovarajuću tabelu ne ukaže na poslednji klaster datoteke koji sadrži oznaku kraja a ne adresu na slijedeći klaster.

Složena “hash” pretraživanja nisu potrebna zato struktura drveta kod direktorija obezbjeđuje mapiranje. Ne treba da pratimo mapiranja zato što svi klasteri moraju biti prisutni na disku – uglavnom ne postoji rezervni podaci (engl. backing store) za podatke na disku. Da bi se koristio ovakav system potrebno je znati unaprijed broj klastera tako da FAT može boraviti na disku.

Ali ovaj pristup ima ograničenja:

• Cijeli FAT mora biti u memoriji u toku rada. Za jedan 1 GB disk, 232 bajta sa 4 Kbajta klasterima, potrebno je 1 MB memorije (220 bajta) koja će čuvati FAT ako se 4 bajta koriste za svaki ulaz.

U stvari, rani MS DOS sistemi nisu keširali tabelu u memoriji – tako da je tada pristup bio spor čak i za MS DOS standarde.

Prostor je morao biti alociran i za šupljine u datoteci. To znači da nealocirani dijelovi unutar prostora datoteke će okupirati fizički proctor. Ovo predstavlja gubitak diskovnog prostora. Zamislimo šta će se desiti kada proces zapiše svoju sliku memorije na disk (engl core dump). Sada, prisjetimo se da system može da ima i 64 bitni adresni prostor. Bilo bi lijepo kad se ne bi alocirale prazne šupljine na disku kao što se to radilo u memoriji.

Alokacija s indeksnim čvorom Unix koristi složeniji i elegantniji system nego MS DOS. Bazira se na strukturi podataka koja se naziva indeksni čvor (engl. inode). Postoje dvije važne karakteristike pristupa sa indeksnim čvorom.

• Tabela mapiranja se koristi po datoteci umjesto jedne FAT tabele za cijeli system

Page 199: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

190

• Adaptacije tabele stranica sa više nivoa se koristi da efikasno podrži široki opseg veličina datoteka i nealociranog prostora .

Svaki indeksni čvor na nivou 0, najviše vanjski indeksni čvor, je podjeljen u nekoliko različitih polja:

• Atributi datoteke: najviše stvari koje komanda ls –l može prikazati je smješteno ovdje.

• Direktno mapiranje: Ulazi predstavljaju direktne adrese na odgovarajuće blokove podataka. Ovo mapiranje obezbjeđuje mapiranje sa logičkog broja bloka datoteke na fizičko broj bloka datoteke na disku.

• Indirektno mapiranje 1: Ulazi sadrže inderektno mapiranje na drugi nivo koji predstavlja direktno mapiranje kao je opisano gore. Ovdje se provodi mapiranje logičkog broja bloka u tabelu direktnog mapiranja na stavrne fizičke blokove.

• Indirektno mapiranje 2: ulazi sadrže indirektno mapiranje koje zahtjeva dva nivoa indirekcija. Ovo mapiranje mapira logički broj bloka u tabelu koja sadrži indirektno mapiranje 1 kao što je opisano gore.

• Indirektno mapiranje 3: Ulazi sadrže mapiranje koja zahtjevaju tri nivoa indirekcija. Ovdje se mapira logički broj bloka u tabelu sa indirektnim mapiranjem 2 opisanim gore.

Datoteke do izvjesne veličine se mapiraju koristeći samo direktna mapiranja. Ako veličina datoteke pređe neki limit onda se koristi indirektno mapiranje 1. Ako dolazi do rasta datoteka tako da se svi njeni blokovu ne mogu predstaviti sa postojećim mapiranjeim onda se koriste i indirektna mapiranja 2 i 3. Ovaj system dozvoljava balansiranje između kompaktnosti smještajnog prostora na sekundarnom mediju i internog rada u sistemu alokacije. U nekom smislu postoji optimizacija za male datoteke.

Page 200: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

191

Kombinovana šama: UNIX (4K po bloku) (drugi put)

Procjena maksimalne veličine datoteke

Sa datih K direktnih ulaza i I indirektnih ulaza po bloku, veličina najveće datoteke koju možemo memorisati je K + I + I2 + I3 blokova.

Ako treba da alociramo datoteke veće nego što postojeći sistemi mogu onda bi trebali da redukujemo broj ulaza za direktne blokove i uvedemo nivo 4. Ovaj process bi se mogao ponavljati dok se cijela tabela ne bi sastojala od indirektnih blokova.

Page 201: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

192

Upravljanje slobodnim prostom

• Bit vektor (n blokova) 0 1 2 ….. n-1

bit[i] = 0 onda je blok[i] slobodan 1 onda je blok[i] zauzet

• Izračunavanje broja bloka broj bita po riječi * broj riječi sa vrijednošću 0 + ofset od 1 bita

• Bit mapa zahtjeva poseban prostor. Primjer: Veličina bloka = 2 na 12 bajta Veličina diska = s na 30 bajta = 1 GB n = 2 na 30 /2 na 12 = 2 na 18 (ili 32 KB)

• Lako se dobijaju kontinualne datoteke • Povezane liste (slobodne liste)

• Ne može se dobiti konitinualan prostor lako • Nema gubitka slobodnog prostora

• Grupisanje • Brojanje

• Treba zaštititi

• Pokazivač na listu slobodnih blokova • Bit mapu

• mora biti držana na disku • kopija u memoriji i na disku mogu se razlikovati • Ne smije se dozvoliti da blok[i] ima situaciju takvu da je bit[i] =1 u

memoriji a bit[i] =0 na disku • Rješenje:

• Postavi bit[i] = 1 na disku • Alociraj blok[i] • Postavi bit[i] = 1 u memoriji

Implementacija direktorija

• Linearna lista imena datoteka sa pokazivačima na blokove podataka • jednostavno se programira • troši se vrijeve veliko prilikom izvršavanja

• Hash tabela - linearna lista sa hash strukturom podataka • smanjuje vrijeme pretraživanja direktorija

Page 202: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

193

• Kolizija - situacija gdje dvije datoteke sa hash organizacijom pokazuje na iste podatke

• Fiksna veličina Efikasnost i performase

• Efikasnost zavisi od: • Alokaicje diska i alogoritama koji rade sa direktorijom • tipova podataka koji se čuvaju u datoteci direktorij

• Performanse • disk keš (disk cache) - posebna sekcija glavne memorije za frekventno

korišćenje blokovimaž • Free-behind i read-ahead - tehnike koje optimiziraju sekvencijalni pristup • poboljšanje performasi PC-a dodjeljivanje posebnog djela memorije kao

virtuelni disk ili RAM disk.

Vrste keševa: icache – inode keš, dcache – direktorij keš i keš podataka. Postupak oporavka (Recovery)

• Kontrolor konzistentnosti - poredi podatke u strukturi direktorija sa blokovima podataka na disku i pokušava da sredi nekonzistentnosti

• Koristi sistemske programe da se izvrši back-up podataka na drugi uređaj (flopi disk, magnetna traka)

• Oporavak izgubljenih datoteka ili diska - backup-om sminljenih podataka Primjeri datotečnih sistema: FAT, VFAT, VFAT32, NFS, UFS, FFS, ext2, ext3, minix, XFS, AFS, ISO9660.

Page 203: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

194

Od open() do inode-a Operativni sistem održava dvije strukture podataka koje predstavljaju stanje otvorenih datoteka. Prva struktura se odnosi za svaki proces i zove se tabelom koja opisuje datoteku (engl. file descriptor table – fdt ) a duga se odnosi na cijeli sistem i zove i tabelom otvodenih datoteka (engl. open file table). Kada proces pozove funkciju open(), u tabeli otvodenih datoteka se formira novi element koji se odnosi na tu datoteku. Pokazivač na ovaj ulaz je smješten u procesov fdt. Fdt predstavlja niz pokazivača na tabelu otvorenih datoteka. Kažemo da indeks u fdt predstavlja opisnik datoteke (engl. file descriptor - fd). On se vraća nakon izvršenja komande otvaranja datoteke, open(). Kada jedan proces pristupa datoteci, on koristi fd kao indeks u fdt da bi pronašao orgovarajući ulaz u tabelu otvodenih datoteka. Tabela otvorenih datoteka sadrži neke podatke o svakoj datoteci:

• Tekući pomjeraj u datoteci, odnosno slijedeću poziciju kojoj će se pristupiti) • Referentni brojač (objašnjenje u djelu sa fork()) • Način otvaranja datoteke, tipovi pristupa • Oznake koje se proslijeđuju u direktivi open() (samo za čitanje, samo za pisanje, kreiranje

i sl.) • Pokazivač na jednu veziju inode-a u RAM-u (nešto skraćena verzija indeksnog čvora za

svaku otvorenu datoteku koja se drži u RAM-u, ostale se drže na disku). • Pokazivač na strukturu koja sadrži pokazivače na funkcije kao što su read(), write(),

close(), lseek() i sl. u datotečnom sistemu koji sadrži ovu datoteku. Ovo je ista struktura koju smo vidjeli kad smo diskutovali interfejst datotečnog sistema ka U/I uređajima.

Svaki element tabele otvorenih datoteka održava njegov sopstveni pokazivač ćitaj/piši iz tri važna razloga:

• Čitanje od strane jednog procesa ne utiče na datotečnu poziciju drugog procesa • Pisanje je vidljivo svim procesima ako datotečni pokazivač dosegne do lokacije pisanja. • Program ne mora da obezbjedi ove informacije na svaki poziv.

Važna primjedba: u modernism operativnim sistemima, “tabela otvorenih datoteka” je obično duplo povezana lista a ne statička tabela. Ovo obezbjeđuje da je , tipično, razumne veličine i u stanju da prihvati opterećenja kod korišćenja velikog broja datoteka.

Page 204: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

195

Šta se dešava kada process pristupa datotekama Pogledajmo vrijeme izvršavanja operacije čitanja i pisanja u datoteku.

• Svaka operacija bi mogla zahtijevati razriješenje puta imena datoteke, kontrolu zaštite pristupa i sl.

• Informacije kao što je tekući pomjeraj u datoteci se mora održavati, • Dugoročno stanje je potrebno takođe održavati, posebno u svijetlu činjenica da nekoliko

procesa koji koriste datoteku može zahtijevati različite poglede na datoteku. Potrebno je, takođe, inicirati odgovarajuće bafere za datoteke.

Riješenje je da se amortizuje vrijeme ovog internog rada nad mnogim operacijama nad datotekom pregledavanjem operacija unutar sesije. Funkcija open() kreira sesiju i vraća cjelobrojni identifikator (engl handle) dok operacija close() zatvara sesiju i briše stanja. Interni rad može se “platiti” jedanput i podjeliti sa svim operacijama.

Posljedice izvođenja operacije fork() Ako ne postoji izvođenje operacije fork() onda je mapiranje jasno definisano između fdt i tabele otvorenih datoteka. Uvođenjem fork() nastaju komplikacije pošto je fdt procesa roditelj kopiran. Drugim riječima, process dijete je povukao sve dtf-e roditelja – ali novi ulazi nisu kreirani u tabeli otvorenih datoteka.

Page 205: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

196

Interesantna posljedica ovog je da čitanja i pisanja jednog procesa imaće za posljedicu kod drugog. Ako process roditelj čita ili piše on će promeniti datotečni pomjeraj u tabeli otvorenih datoteka – ovo će uticati na process roditelj kao i na sve procese djecu. Ito važi ako operacije izvrše procesi djeca.

Šta će se desiti kad process roditelj ili dijete zatvori djeljeni fdt?

• Prisjetimo se da tabela otvorenih datoteka sadrži referentni brojač. Ovaj referntni brojač se dekrementira sa zatvaranje datoteke.

• Smještajni prostor se ne uklanja sve dotle dok referentni brojač je različit od nule koji ukazuje da postoji datoteka u tabeli otvorenih datoteka.

• Kada referentni brojač dostigne nulu, smještajni prostor se uklanja.tj. komanda “rm” može reducirati broj veza na 0, ali ulaz se uklanja tek kada svi izdani “open” iskazi probađu odgovarajuće “close” iskaze na toj datoteci.

Zašto kopiramo fdt operaciom fork()?

• Konzistentno je sa pojmom fork koji kreira tačnu kopiju procesa roditelja.

• Dozvoljava korišćenje anonimnih datoteka od strane procesa djeca. Nikad nije potrebno da se zna ime datoteke koju koristi – u stvari, datoteke ne posjeduju više imena jer se radi sa njima preko broja koji ukazuje na njegov fdt sa podacima

• Uobičajeno je da se ovo koristi u komandmo jeziku (shell) kod implementacije U/I redirekcija. (<and>). Kako se ovo radi?

Datoteke mapirane u memoriju

Do sada smo govorili o načinima pristupa datotečnog sistema datotekama i sada pogledajmo kako se ovo radi na drugačiji način. Moguće je raditi sa datotekom preko VMM nešto slično kao što radi backing store za virtualnu memoriju. Ako se ovo uradi, datotečni system se samo koristi da se podese stvari I onda se pristupa preko imena datoteke.

Kada ovo uradimo, onda se pristupi stranici, dešava se greška stranice, i onda se čita stranica u fizičku memoriju. Pristup podacima u datoteci je upravljan kao i sa podacima u backing-store. Sadržaju datoteke se onda pristupa preko adrese virtualne memorije. Datoteka može biti posmatrana kao niz karaktera, cjelobrojnih varijabli ili neke druge izvedene varijable ili tsrukture.

Samo one stranice koje se koriste se čitaju u memoriju. Stranice se keširaju u fizičkoj memoriji tako da čest pristup stranicama neće zahtijevati svaki put čitanje sa eksternog medija novih ili istih stranica kad god se pristupi podacima. Važno je primjetiti da smještanje stranica datoteke u fizičku memoriju se natječe sa stranicama drugih memorijski mapiranih datoteka i onih drugih stranica virtualne memorije čiji izvori dolaze od programskog koda, podataka i sl. i predmet je iste sheme smještanje odnosno zamjene.

Kao u slučaju sa virtualnom memorijom, promjene se upisuju korišćenjem izbacivanja stranica pri čemu se nemodifikovane stranice ne trebaju izbacivati. Sistemski poziv za memorijski mapiranu datoteku je mmap(). On vraća pokazivač na datoteku. Stranice datoteke se ubacuju kao u slučaju sa bilo kojom drugom stranicom u memoriji. Ovaj poziv ima nekoliko parametara. Komandom “man mmap” se mogu dobiti detalji. Pojednostavljena verzija bi izgledala ovako:

Page 206: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

197

void *mmap (int fd, int flags, int protection)

Opisnik datoteke je pridružen već otvorenim datotekama. Na ovaj način datotečni system samo radi posao lociranja datoteke. Oznake koje se navode su uobičajenog tipa kao što su: dat je datoteka izvršna, čitljiva, da se može u nju pisati i sl. Zaštita je nešto drugačija.

Razmotrimo što će se desiti ako višestruki procesi koriste memorijski mapirane datoteke. Mogu li oba dijeliti istu stranicu? Šta ako jedan od njih promjeni stranicu? Da li će to svaki od njih vidjeti. MAP_PRIVATE obezbjeđuje da se stranice dupliraju kod pisanja obezbjeđujući na taj način da process koji zove ne može imati efekta na poglede datoteke koju vidi drugi process. MAP_SHARED – ne dolazi do dupliciranja “prljavih” stranica – obo znači da su promjene vidljive svim stranicama. Memorijski mapirane datoteke se zatvaraju pozivom munmap(). Poziv uništava memorijski mapiranu datoteku ali bi ga još trebalo zatvoriti koristeći iskaz close().(prosjetimo se da je otvoren sa komandom open()). Pojednostavljenu verziju funkcije prikažimo u nastavku a komandom “man munmap” za više detalja. int munmap (void *address) // varijabla “address” je bila vraćena sa mmap. Ako želimo da izmjene koje nastaju u memorijski mapiranim datotekama budu čvrsto zapisane na disk, umjesto čekanja na izbacivanje stranica, može se koristiti poziv msync(). U nastavku prikazujemo pojednostavljenu verziju, a detaljnu verziju možete dobiti sa komandom “man msysnc”

int msync (void *address) Cijena pristupa memorisjki mapiranim datotekama Momorisjki mapirane datoteke redukuju cijenu pristupa datotekama koja je nametnuta za zahtjevom tradicionalnog pristupa kopiji podataka, prvo sa uređaja na sistemski proctor I onda iz sistemskog prostora u korisnički prostor. Kada se datoteka počne mapirati u VM proctor pnda se ona natječe sa običnim memorijskim stranicama za stranične okvire. Hoćemo reći da pod značajnim memorijskim opterećenjem pristup memorisjki mapiranim adtotekama može prisliliti VMM da gura stranice programa, text ,data ili stek na disk iz memorije.

Pogledajmo kako izgleda cijna kopiranja. Razmotrimo, na primjer, “brze I prljave” kopije programa. int main (int argc, char *argv) { int fd_source; int fd_dest; struct stat info; unsigned char *data; fd_source = open (argv[1], O_RDONLY); fd_dest = open (argv[2], O_WRONLY | O_CREAT | O_TRUNC, 0666); fstat (fd_source, &info);

Page 207: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

198

data = mmap (0, info.st_size, PROT_READ, MAP_SHARED, fd_source, 0); write (fd_dest, data, info.st_size); munmap (data, info.st_size); close (fd_source); close (fd_dest); }

Primjetimo da kod kopiranja datoteke, datoteka se posmatra kao skup stranica I svaka stranica se mapira u adresni prostor. Kako funkcije write() piše u datoteku, dešavaće se greške stranica u fizičkoj memoriji. Svakoj stranici izvorne datoteke će se pristupiti samo jednom.

Nažalost, u ovom pristupu dešavaće se da su stranice, vjerovatno, izvan memorije čak i u slučajevima programa za kopiranje. Posmatranja pokazuju da su memorijske mapirane datoteke najbolje za male datoteke ili one datoteke, ili njihove dijelove kojima se često pristupa.

Performanse ulaza/izlaza – Disk

• Vrijeme pozicioniranja staze (engl. seek time): vrijeme potrebno da se premjesti glava diska (čitaj držač glava) na željenu stazu

Ts = n*m+s n = broj pređenih staza m = vrijeme potrebno da se pređe sa staze na susjednu stazu t = vrijeme inicijalizacije diska (disk treba da se zavrti na radnu brzinu)

• Rotaciono kašnjenje: vrijeme potrebno disku da rotira kako bi željeni sektor došao ispod glave diska

Tr = 0.5 x (60/r) r = rotaciona brzina diska u obrtajima u minuti (rpm) 60/r = rotaciono kašnjenje u sekundi

• Vrijeme prenosa (engl. Transfer time): vrijeme potrebno da se prenesu podaci sa diska Td = b/N * 60/r b = broj bajta koji se prenosi N = broj bajta na stazi b/N = dio podataka koji je potreban

• Ukupno vrijeme = Ts + Tr + Td

Vremenska poređenja pristupa datotekama Disk srednji seek time = 20 msec, 3600 rpm, sektor sa 512 bajta i 32 sektora po stazi. Potrebno je čitati datoteku od 128 KB. (128KB/512 B = 256 sektora). Datoteka je zapisana kontinuirano: to znači da zauzima sve sektore na susjednim stazama. Koliko staza? (256 sektora/datoteci) / (32 sektora/stazi) = 8 staza/datoteci. Tr = 0.5x(60/r) = 0.5*60/3600 = 1/120 = 0.0083=8.3msec Td= b/N * 60/r = 16K/16K * 60/3600=1/60 = 0.016666 = 16.7 msec

Page 208: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

199

Vrijeme da se čita prva staza (32 sek.)= Ts+Tr+Td=20msec+8.3msec+16.7msec=45msec Vrijeme čitanja ostalih 7 staza po 32 sektora: (sada ne postoji seek time jer su susj. staze) = 7 * (Tr + čitanje 32 sektora) = 7*25 msec Ukupno vrijeme = 45 msec + 7*25msec = 220 msec = 0.22 sec Datoteka je u blokovima na disku koji su slučajno raspoređeni: To znači da se seek time mora uračunati svaki put. Vrijeme da se čita bilo koji sektor= Ts + Tr + ćitanje jednog sektora = 20 msec + 8.3 msec + (1/32)x(16.7)msec = 28.8 msec Vrijeme za čitanje 256 sektora = 256 * 28.8 = 7.37 sec !!!! TREBA MINIMIZIRATI BROJ POZICIONIRANJA NA STAZU (seek). Zadaci: Implementacija datotečnog sistema 11.1 Neka se datoteka sastoji od 100 blokova. Pretpostavimo da je kontrolni blok datoteke ( i indeksni blok u slučaju indeksne alokacije) već u memoriji. Izračunajte koliko se diskovnih U/i operacija zahtjeva za kontinualnu, ulančanu i indeksnu (na jednom nivou) alokacionu tehniku ako se za jedan blok sljedeće stanje se održava. U slučaju kontinuirane alokacije, pretpostavimo da nema mjesta za dodavanje bloka podataka na početku a da ima mjesta za dodavanje na kraju. Pretpostavimo da blok podataka koji treba dodati se nalazi u memoriji.

a) Blok se dodaje na početak b) Blok se dodaje u sredinu c) Blok se dodaje na kraj d) Blok se uklanja sa početka e) Blok se uklanja iz sredine f) Blok se uklanja sa kraja

Odgovor: Kontinualna Ulančana lista Indeksna (1

nivo) A 201 1 1 B 101 52 1 C 1 3 1 D 198 52 0 E 98 52 0 F0 0 100 0 11.2 Održavanje slobodnog prostora u listi je preko liste.

a) Pretpostavimo da je pokazivač na listu slobodnog prostora izgubljen. Može li sistem rekonstruisati listu slobodnog prostora? Objasnite odgovor.

Page 209: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

200

b) Predložite shemu koja će osigurati da se pokazivač na listu nikad ne izgubi kao rezultat memorijske greške.

11.3 Koji problem bi se mogao desiti ako dozvolimo sistemu da montira datotečni sistem

simultano na više od jedne lokacije. Odgovor: Postojaće za istu datoteku više staza koje će “zbuniti” korisnika ili dovesti do grešaka ( brisanjem datoteke koja ima jednu stazu dovešće do brisanja i ostalih staza). 11.4 Zašto se bit mapa za alokaciju datoteka radije drži na disku negu u memoriji. Odgovor: U slučaju sistemskog pada lista slobodnog prostora neće biti izgubljena ali će biti izgubljena ako bit mapa bude smještena u memoriju. 11.5 Neka sistem podržava kontinualnu, ulančanu i indeksnu strategiju za alokaciju datoteka.

Koji kriterij bi trebalo korisnititi u odlučivanju koja strategija je najbolje iskorišćenja za pojedinačnu datoteku?

11.6 Dat je datotečni sistem na disku koji ima i logičke i fizičke veličine blokova od 512 bajta.

Pretpostavimo da su informacije o svakoj datoteci u memoriji. Za svaku od tri alokacione tehnike (kontinualna, ulančana i indeksna) odgovorite na pitanja:

a) Kako je uspostavljeno prevođenje adresa iz logičkog u fizički u ovom sistemu? (

za indeksnu alokaciju pretpostavimo da je veličina datoteke uvijek manja od 512 blokova.

b) Ako se nalazimo na logičkom bloku 10 (posljedni kome smo pristupili) a zatim pristupamo logičkom bloku 4, koliko fizičkih blokova se mora čitati sa diska?

Odgovor: Naka Z bude početna adresa datoteke (broj bloka).

a) Kontinualna alokacija: Podjeli logičku adresu sa 512 i smjesti u X i Y rezultat i ostatak. 1. Dodaj X na Z da bi dobili fizički broj bloka. Y je pomjeraj u bloku. 2. 1

b) Ulančana lista: Podjeli logičku adresu sa 511 i smjesti rezultat i ostatak u X i Y. 1. Dobijeni blok je X+1 a pomjeraj je Y+1 2. 4

c) Indeksna alokacija: Podjeli logičku adresu sa 512 i rezultat i ostatak smjesti u X i Y. 1. Smjesti indeksni blok u memoriju. Adresa fizičkog bloka je smještena u

indeksnom bloku na lokaciji X. Y je pomjeraj u tom fizičkom bloku. 2. 2

Page 210: Operativni sistemi (ETF)

Elektrotehnički fakultet u Sarajevu Programska organizacija računara i operativni sistemi

201

11.7 Jedan od problema kod kontinualne alokacije je da korisnik može alocirati unaprijed

dovoljno prostora za svaku datoteku. Ako priliko rasta datoteka postane veća od alociranog prostora unaprijed moraju se poduzeti posebne akcije. Jedno rješenje ovog problema je da se definiše datotečna structura koja se sastoji od kontinualnog djela na disku specifične velilčine. Ukoliko i ova ideja propadne, operativni sistem će automatski definisati jednu novu zonu koja će biti povezana na prethodnu. Ako i ovo nije dovoljno operativni sistem će definisati novu zonu na disku koju će povezati na prethodnu. Poredite prednosti i mane kod zapisa datoteke kod kontinualne i ulančane strategije alokacije.

Odgovor: Metoda zahtjeva više internog rada nigo kod standardne kontinualne alokacije. Kod alokacije ulančanim listama ima manje internog rada. 11.8 Fragmentacija na diskovnom smještajnom prostoru bi se mogla eliminisati sa premještanjem

podataka. Tipični dikovi nemaju relokacione ili bazne registre(takvi kao što se koriste u memoriji) pa kako onda možemo relocirari datoteke? Dati tri razloga zbog čega su relokacija podataka izbjegava?

11.9 Kako korišćenje keša povećava performanse? Zašto sistemi ne koriste veće keš memorije ako su tako korisni?

Odgovor: Keš memorija dozvoljava komponetama različite brzine da komuniciraju efikasno smještajući podatke sa sporijih uređaja na brže uređaje ( koji predstavljaju keš). Keš je, po definiciji, skuplji negu uređaj koji kešira, tako da povećavanjem veličine keš-a dolazi do porasta cijene cijelog sistema. 11.10 U kojim sistuacijama će korišenje memorije kao RAM disk biti manje korisno nego

korišćenje diskovnog keša. Odgovor: U slučaju gdje korisnik ili sistem zna tačno koji podaci će biti potrebni, Keš je baziran na algormima a RAM disk je direktno dostupan korisniku.

Page 211: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

208

������������������������������� ������������������� ������������������� ������������������� ����������������������������������������������������������

• ������� ��������������������������• �������������� ��

• �� �• ���!����"��#�������������������� ������ ��$�• % �����!#� ����� ��$�

• �������������� ��������������������������� �• ��������������������&�����'�������

• ����� �� �������� ����������• ����������� ������� �����

�(�������� ��)������������(�������� ��)������������(�������� ��)������������(�������� ��)��������������������(�������� ��)������������� ����#���� �������� ������������*�+������*�� �������������,���������&� ������� -��.����� �+����������&������������ �/�������������#������������������'�����0�

��������1��2�*�� ������1��2�*�� ������1��2�*�� ������1��2�*�� ��������3������(��������3������(��������3������(��������3������(����������������������������44�44�44�44�44�44�44�44�444������������������44�44�44�44�44�44�44�44�444������������������44�44�44�44�44�44�44�44�444������������������44�44�44�44�44�44�44�44�444����

����/567����������89689:89;89<89589�89�89/8���������������/567����������89689:89;89<89589�89�89/8���������������/567����������89689:89;89<89589�89�89/8���������������/567����������89689:89;89<89589�89�89/8������������������� ��������������������������������������������������������========================================================================================================================================����������������������44�44�44�44�44�44�44�44������������������44�44�44�44�44�44�44�44������������������44�44�44�44�44�44�44�44������������������44�44�44�44�44�44�44�44��������

56>56>56>56>����? � ����8 ?83%8�@81A8@28B�8B�8B�8���������� ����? � ����8 ?83%8�@81A8@28B�8B�8B�8���������� ����? � ����8 ?83%8�@81A8@28B�8B�8B�8���������� ����? � ����8 ?83%8�@81A8@28B�8B�8B�8���������� ������������ ����������������������������================================================================================================����

�������� ?�C��������� ��������������� � ?�C��������� ��������������� � ?�C��������� ��������������� � ?�C��������� ��������������� ��������� 3%�C��������������������� ������ ���3%�C��������������������� ������ ���3%�C��������������������� ������ ���3%�C��������������������� ������ ����������� �@�C��������� �������� ����������@�C��������� �������� ����������@�C��������� �������� ����������@�C��������� �������� ����������������� 1A�C������������ �����������1A�C������������ �����������1A�C������������ �����������1A�C������������ ������������������� @2�C���������� ��*������@2�C���������� ��*������@2�C���������� ��*������@2�C���������� ��*��������������������������44�44�44�44�44�44�44�44�4����������������44�44�44�44�44�44�44�44�4����������������44�44�44�44�44�44�44�44�4����������������44�44�44�44�44�44�44�44�4����

/56>�� ����������8B�8B�8B�8�@8?A8�,8A(8?D8�����������!�������������$/56>�� ����������8B�8B�8B�8�@8?A8�,8A(8?D8�����������!�������������$/56>�� ����������8B�8B�8B�8�@8?A8�,8A(8?D8�����������!�������������$/56>�� ����������8B�8B�8B�8�@8?A8�,8A(8?D8�����������!�������������$����������������������������������������������������������������============================================================================================================================�������������@�C�������*�'����������� ���������������@�C�������*�'����������� ���������������@�C�������*�'����������� ���������������@�C�������*�'����������� ������������������?A�C������������+����� �������������?A�C������������+����� �������������?A�C������������+����� �������������?A�C������������+����� ������������������,�C���������,�C���������,�C���������,�C�������� �������������!���������������� ������ ������$�������� �������������!���������������� ������ ������$�������� �������������!���������������� ������ ������$�������� �������������!���������������� ������ ������$������������A(�C�������������� ��������������������!A���)���$��������A(�C�������������� ��������������������!A���)���$��������A(�C�������������� ��������������������!A���)���$��������A(�C�������������� ��������������������!A���)���$������������?D�C���������������� ������ �������������?D�C���������������� ������ �������������?D�C���������������� ������ �������������?D�C���������������� ������ ���������

����?��� �����)���� +� �� ��� ����� ���� �� ����� �������� �.� ��������� �� � ���� ������� �+�������� ���� ����������� ��)������� �� ��������� �.� ������3��������� � ��)���� ���� �� ��� ���� ���*�� ������� ��� ������� +� �� ��+�� ������ � �� ���� ������ � ��������������*�������� � ��!�����&�E����������F���������� ��'���'�������� � �� �� �� � �������$�� ������ ��� ��� �� � ��� ���� �� �� ��������������� ���� �����3�����G�������������� ������������������������� ������������������*�� ������ ���������������������������� ���=�������� �������������� ������������� � ��� ��*�� ��� ��� ���� ��'� ��� �����#� ������ 3�� ��� �� ������� � ��=�����

Page 212: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

209

���������� ���� ���� �������������������������������� ����������������������*�� ������ �����,���������������*�� ������ �������� ������������� ������������*����*����*����*����

• 1������������ ������������• ����������"�• +��"�• �����

• .������������*�����������������������������������������������������������������

• A�������# ������ ��� ������������!.����2H$����E�+����F���������������• ���������+����������������� ���������!� �������#�����$�• -G������ ������ ������*�����������*������*����������• I�� ����������=����������������������������������*������'���� ������

+�������������• +������������� � ����• �����������������!,-�$�

• -�#����� ������������� ������������������ ����������������������������������������������������������������������������������������������������'����������������������'����������������������'����������������������'��������������

� �

9����������������9����������������9����������������9��������������������

������� ���� ��� ��� ���������� � ������� � ���������� ��� ������� �� �������� �� ���� ������� ���*�'� �&��������� ���� ����������� �+*��*&����� ������������+���*����� � �� � ���������� ����� � ��)���� ������ ����� +�� �*�� ������ �� ��� �� ����#���������9�+������������������������� ��&��������������� ����)�� ��� ��)�������������� ������������D����������� ��)����+���*����)���� ����������������#�)�����������*�

Page 213: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

210

��������� ������� �� ������� ��#��������� 1�+�+� ������*�� ��)������*���+������������'����������� �������*�� ��)�������1�� ��� ������ ���� ��� �,�J� �*������� ��������� ��������� ,�������� ��� ������� ������� ��*�������������������������������������"� �� ��� �������������������������*��������� �+���� ����������������� ������� ������������������������������� ����������������� ������������������������ �� ������ ���������#� ���������� %��� �'�� ���� ���� ��&� ��������� ��� ���������������'��������G�������������)�����������'�������� ��������������������������� ��������� ����� �� �+���� ��� �G�� �'�� ������� ������ ��������� ��������&� ����� ��� � � �����!$&������������������������������'������������ ������������ �� ����&��������&������������������� ������� ���+����������������� �)�������+�����������!�*���� ������+��$&����������������������������� ������������ ���� �+���� ��,�� ��������G��������� � ����� �)�������+�������������������������������������� �+���0��

�9��9��9��9���������������������������������

1�������1�������1�������1���������������

====���� ����!$����!$����!$����!$���� K�� �!$K�� �!$K�� �!$K�� �!$������!��!��!��!$$$$����

����!����!����!����!$$$$����

����������������

/� =� =� =� =� =�

�� =� =� =� =� =�

�� =� =� =� =� =�

���� =� =� =� =� =�

����

������� ����������������� ������� ������� ����� ��������� � ������� ����������������� ������� ������� ����� ��������� � ������� ����������������� ������� ������� ����� ��������� � ������� ����������������� ������� ������� ����� ��������� �����

� ��)���������������������G�������� ������������������ �*����0�%���� ������� ��������������?��������������� ���+���+�)��������I���������� ����������� ������������������������ ������� ����� ���������������������G��+� ��������������*������ �����������G��+� ��+�)����������������*����������� ��� ������&�������&���������� ����� ���� ������� ��������������������������������� ����� ��� ����+�)������� ��,���������&��� �����"� �� �����G���� ��� ��������+������� ��������������� �� ���# ����������������� ����,���������&������������*���� �������� ��������+������� ���������������%�������������� ��*���� ���������������������� ������������ ������������������������������� ������������ ������+�������������������#������������������������ �������+��������� ����������G������� ��������� ������� ������+������� ����� ��)������� ���������� ��,�J����� ���� ���� ��������������� ��������������� ������ ������� ���*�� ��)��������E�����F�����������+������� ������ ��)������������������+�)������� ���

��� �)�������+���������� �)�������+���������� �)�������+���������� �)�������+���������������������������������������

?��������������������������� �)����������� ���� �+���� ��1����+������������G������*�� �������� �������� �����"� ��&����A��B� �����A��B�9������2�*�� ��&����� ��� ������� ���3��L���B��*��1����+�������������������������G���)�� �����������������������&����������� ��� ������� �����������4� ��� ��

Page 214: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

211

,�G����� �)�������+��,�G����� �)�������+��,�G����� �)�������+��,�G����� �)�������+������

-G���� �� ������������������ *� �����,���������&��G���� �� ��������������������� ��� ��9@�� ��������?������������������������������� ��������������������������G������ �)�������+����������������� �������� ������� �)�������+�������*��������������������������� *� �����,������*���������� �)�������+���!�*����������������+��$������*�� �������������������+������������G������������������������/���,�������������������������������"� �� �������*�� �����������������+����*�������� �)������ �+���#��������*��������������

� ��)������ ��*���� �� �� ��)������ ��*���� �� �� ��)������ ��*���� �� �� ��)������ ��*���� �� �����

�����'���*��� ���� ��)������� ��*���� ������������&������� ���������,�J=������������������ ������������� �����?�������������� ��������������� �����"� ��&�+��������������� ������3������G�������������������������&����*���G��� ��� �������!$&������������ �����%����*�� ����&����� ���� ��������������������!$���K�� �!$�������������*�&��������� �!$������ ��� ��������!�*���)����������� �$�����������������������

����9���� ���������������� ���!9-3�9���� ���������������� ���!9-3�9���� ���������������� ���!9-3�9���� ���������������� ���!9-3�====������ �����"�������$������ �����"�������$������ �����"�������$������ �����"�������$�����

• %��� �������������+��*����*������������������������������� ����• ��# �����9-3�� ����• ��+������������������������� ��������� ����������������������

������������

%��������9-3������%��������9-3������%��������9-3������%��������9-3��������������

������������ 9�����9�����9�����9�����====�����������������)�� ������������������� ���������������+�)����������������������)�� ������������������� ���������������+�)����������������������)�� ������������������� ���������������+�)����������������������)�� ������������������� ���������������+�)������������B��������B��������B��������B�����

������������ 9������������������������+��� ������������������� �����9������������������������+��� ������������������� �����9������������������������+��� ������������������� �����9������������������������+��� ������������������� ��������������+�)������������+�)������������+�)������������+�)������������B���������B���������B���������B����

5�5�5�5����� 9����� ������������9-3�������9����� ������������9-3�������9����� ������������9-3�������9����� ������������9-3�����������<�<�<�<����� 9����� �����������������+�� ����9-3�� ������9����� �����������������+�� ����9-3�� ������9����� �����������������+�� ����9-3�� ������9����� �����������������+�� ����9-3�� ����������;�;�;�;����� 9-3�� �����������+�� ����+�)���B9-3�� �����������+�� ����+�)���B9-3�� �����������+�� ����+�)���B9-3�� �����������+�� ����+�)���B����

Page 215: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

212

:�:�:�:����� %���������������������9-3���������������������+�������*��������%���������������������9-3���������������������+�������*��������%���������������������9-3���������������������+�������*��������%���������������������9-3���������������������+�������*�������������� ����������������� ����������������� ����������������� ���������������

��������������������������������������������� ��)���������������������� ��)���������������������� ��)���������������������� ��)����������������������

• ������� ���������������������������������������*��������������• ,���������������������������������������������� �����������������• ��������������������*�� ������������

• ����� ��������+���• ���������������������������� ���• ���#����������#���• ���������������������• +��������������• ����=K�� �&���������������������� ����

���� ���������� ������� ������������ ���������� ������� ������������ ���������� ������� ������������ ���������� ������� �����������������

• ������� �������������������������������������• ��������������������&�K�� �&������• ��� ���������� ����� ��������������������• �*�'������������������ ��������� ����

• %���� ������� ��������������������� �� � ���&�����&������������ ���• ����������������*� &�� �• +�+�� ������������������ ������������

-��G���������-��G���������-��G���������-��G��������������

• I����������+���������� ��������������� ������� ����� ��)����• ��B���M��K��,D��������������� �� ��)����

• ��������� ��G���� ������� ��G�#����������• ��������������� �)������� �

• ���� ��������������������!����&�(�(1&�����&�������������&�� ����+B$�����?� ���+�����?� ���+�����?� ���+�����?� ���+�������

• 1+��+������� ���'���������&��� �����������&�+�����• ��*��� �+����� �������+���������'�����+������!+����$�����������#�

��������• �� ��!���,�J=�$��������������� ����������� ������ ���+������

� ����������+���������� ����������+���������� ����������+���������� ����������+���������������

• ��������=�����������������������������������������������• ��������� ��+����������������• ��������������� ��+��

• ,�+��������=����������������'��� �����*�'��������• ���������� ��)���&������������ ���!+�)���������$�• ������� ����������������� ����#� #����=���• I��'�����+������+���� �+�� ���� ��#����������#�

• 3��#�� �=��������������������������������������• D�G����������'����

Page 216: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

213

• ��������� �� ���*������������������������������������������������� �� ���������������� �� ���������������� �� ���������������� �� �====�%�����%�����%�����%���������

• 2������������• ,����������# �������������������������������������������• ,����1?�����������+� ���������&���+����)������� ����

�• �)�������=������ ������� ��������������������+�����������

���������������• ���������*�����+������������������������������• ���������*������������������������������������• 9�������G�������� ����E��"F��������

�• %��������=�+������������������G����������� ����

• ���������������• %�����������)�� ����

�• ?���*�=���G���������������������

• �����������G������G��� �������������# �������������• ����� �������

�• 2�������������������=�+��+���������������������� �����������

• ?�� �������������������������������������• ��������������*������ ��

����2�������*������ �2�������*������ �2�������*������ �2�������*������ ������

• 1���� ������� �� ��G���������� ���0�*������������ ���������&����� ������� ��'�� ��������&�*���������������*��������������

• �*���� ����� ������*�������������� �����������+������������*������������# ������

• ?�� ������*�����������������*��� ��������? ��� ������� ����������? ��� ������� ����������? ��� ������� ����������? ��� ������� ��������������

• %�������G���)�� ������ ��������������� �&����������'�� �+���� ����#��� ���&�� ��G������&�� ��������� ������� ����#���������

• -*���������#�� ��� ������� �������������G����+�)�����&�������������������&�E�������F�+������

• %��� �����+��� =���� ������� �������������������������������������� ��������

�������# ��������#������������������������# ��������#������������������������# ��������#������������������������# ��������#����������������������

• 2��� ������ ������ ����������������������• 1����� ���������������G���� ����• (�������������� ������+���������� ���������• (��������� ������ ��������������+�)���• �������� ��������G���� ��������• I�� ��� ��������������

����

Page 217: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

214

N�� ���������������# ����N�� ���������������# ����N�� ���������������# ����N�� ���������������# ���������

���)�� ������)�� ������)�� ������)�� ��������

• �������*�����)�� ����� �����#����)�� ����• ��# �������������������������������������&�����������������• �������� ��� ���+*���������• ����������� ����• � ��G����+��'������+��������

�����+����������)������+����������)������+����������)������+����������)����������

• ��������+����������� ��� ��• ������������������� ����• ��������������������'���� �������#������&�� ���*� �#�� ����&�

��������• %��� ��9-3�• ���������������&��������&����������)�� �����������'�������� �

�%�����M�+�� �����0KKK�� � # #���*����+� �

Zahtjev za I/O

Sist.poziv

Poziv odra�en ?

Pošalji zahtjev drajveru ure�aja i blokiraj proces ako je potrebno

Na zahtjev procesa, izdaje se komanda kontroleru, konfiguracija kontrolera

U/I završen, ulazni podaci raspoloživi, ili

izlaz završen

Transfer podataka (ako je potrebno) ka procesu, izdavanje grešaka koda po završetku

Odrediti koji je U/I završen, Iniciraj izmjenu stanja u U/I podsistemu

Prihvati prekid, smjesti podatke u bafer drajvera ure�aja ako je ulaz, deblokiraj drajver ure�aja (signal)

U/I završen, generiši prekid

vrijeme

Korisni�ki proces

Da

Kernel, U/I podsistem

Drajver Ure�aja

Interrupt handler

Kontroler ure�aja Monitorisanje ure�aja, prekid kada

je U/I završen

Page 218: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

215

������0��������� �� �������0��������� �� �������0��������� �� �������0��������� �� ������

��� ,����� �� �������� ��������)������� ��������������� ������� ���������������������������

1�*+�0�*������'��� ���������� �������� ���������� ��*���� ��������)�� �����*��+� ���+�������������������� �#������� �����*������ ���*�� �������#��������,�� ������&�������'��+� ������ ��������������*�� �����+���������*���-�����0� �G�����*������ ��� ��O����#���������������K������������ ��+������+���������*�� �� ���� � ���+�� ��+�����#������������+���*��������*�� �������������*�+� ������)�� ���������������)��� ������� 2��� ����������'�����������������.��������� �������� ���

�$� %��� ������������*��)����� ���������� �� ��)���� ��+$� ���������� ����������� ��� ���� ��������������������!��� �� �����

��������������������������������$��$� 9��������G������������� �����$� P��)�������� ���������� � ����� ���+�������������� ���������

����������� �����*��������������������#��������������&������ �� ������ ������� �� ����+������ ��+�)������&�����*&����������������+������Q�9�����+�� ������ ���������������������� ������ �����Q�9� ������*�������������+����1�*��0��

�$� �)��������G��+� ��� ��+����+���������������� �����������������������������*������ � ������������*���?���*�����������������*������'���1�����+��������� ��������� ������ �������

+$� �)����������� ��+��������������������������'�������������������� ����������������������� �����������������%������������ �G������ � �����+�������G������������� ������������������� ������+*�+�G�*����� �����?���*�+������*������ � �����+�������G������������+�G�� ���������������������������G��������#��� �������������������� ������ ������������+���������� �����������+�������)�� ������

�$� �)�����������G������ � ���������G����� ����� �������������������*���� ������������+�� ��%������������G���� �� � �������G����� �������������+*����'�������)�� �����?���*������ ��+����������������������������������� ����� ��� ��������� ������ �����������+��������������� ��������� �����������*��������������� �������*�� ��� � ���

�$� �)��������G��+� ��� ��+����+�������������������� ����� ����� ���������+*����)�� ����!������+�)�����������G������ � �������������������������������������������������� ���������������������&����$�%��������������*������ ��+���+*�+��������������������*������������������������������������������������������ ������������� ����������������&� ����������� �������� ��+���������������� �����������������

��5����� �������� ������������������� ��������� ����������*�� ������� ������������������������� ����������� ����� ������� �����%�������#���� �������E+���FQ���

Page 219: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

216

<��?���&�������� �������G�������*�� ������ ��� ��������� ������� ���������*������� ���������� ����������+�� ���%����������� ������� ��������*����� ���Q��

Page 220: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

217

�������������������������� � ������������������� �������������� � ������������������� �������������� � ������������������� �������������� � ������������������� �������������������������������������������������������������

• �������������� ������������������ �� �������������������������������� ������������������������� ���������������

• �� �� �������������������������� ������������� �������������������• ������ ��������������������������������� ������ �������• !�������������� ��������������� ��������������������� ������ �

��������������� ���� �"��� ������������ ������#���� �����$������������ ��$������������ ��$������������ ��$������������ ����������

• %��������������� ����� �����������&��������#"������� ����'���������� ����������� ��� �������������������������� ������ ������������������(�������� )���*����

• �+����������������� � ������������������������• ���������'���������������������������� ���������� ������

����������� ������� ����� ������ ��������������� �,����������������

• $��������#�������(��������������-*�'��������������������� � ��������� ��,�������������������������#������ ������ �������

• !����������������������• �������������������,����� ��� �����������• �������#�����( ����� )� ��*������������������������������� �������

�������� ��������� �����������������������������������#�������� ���������&����� ������

• .������������������������������������������,����� ��������/01�����������

• 1������������������ �� �������������( '�22*������ � � 23��3���4��55��6��56�78�74��� 9����������������� ��8���:;:�:;:�:;:�:;:������� 1����������������������������������� �76 ������ ���

Page 221: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

218

���<:��<:��<:��<:�����

• 1������������������������ ����������� ����"���������������� ������• ��<:����������������������� ���:������������=���,�����������

��������(��������*������� ��������������• 1������������������������������������� �5�7������ �����

�;>?�;>?�;>?�;>?��

• ��,������ ��������������� ��� ����� �������"������������ �� ����� ����� ������� ����������"������������ ����������������"������,����������������� ��������

• .��� ������������������ ���&�'����• 1���������������������������������� ���� �5 3������ �����

Page 222: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

219

��������;;;;''''�;>?�;>?�;>?�;>?��

• %��������������&���������������������������;>?�• 9����������������� ������� ����� ����������,���"������������

������@ � ���� ����� ����� ��������"��������� �����������,������������������������������

• <����������� ����������������������������������������� ���� ��������� ������ ��� �����

Page 223: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

220

;;;;''''A%%@A%%@A%%@A%%@��

• +������;'�;>?'����• 9���� ������ ������� ������������������������� �������� ��

����� ��������������� ���������������� ��� ����� ��������>������� ��������������������� ��>������� ��������������������� ��>������� ��������������������� ��>������� ��������������������� �������

• ��:<������#���������� ��������• �;>?���;'�;>?�����#�������������� ���������������������������

����"���� ���� ����• .��&������������� ����������������������• B���������������� ���������� ���������� �� ��� ���������� ��������• >������� ���������������� ���"������������������������ ���

������������������ ���������"�� ��� ���������������������� ���������� ������������������

�/��������� ����/��������� ����/��������� ����/��������� ���� �����

• :������&���������� ������&����������������� �������(��)'�)�)��&��������*�'� ��������� ������������ ������������� �����,�������������������

• ������������� ������ � ������������ ��������������������� ������������������������������ ���� ������

• .������������� ������� ��������#������������ �����• A������&��������������C&�������� ���������������D����

• E�������������������������� ����• E���������������#������$%!'�����• E���������� ��������� ����

• !����������������#��� ���������������/��������� ��)����������� �/��������� ��)����������� �/��������� ��)����������� �/��������� ��)����������� ���

• �)����������'������������ �������������� ��������������������#�������������� �����������

• �)������������,���������������������������"��� ����������������������,������������������ ���������������

• /����������)����������� ����• 6���E����������)���������� �����������������������=�����������

� ���F����������(������*��� ����������(�� ��*����• @��������������)��� ��� ���������)����������� ����• �������5��������)�������������� ����������������&������

� ������������.��� ����� ��.��� ����� ��.��� ����� ��.��� ����� �������

• ?������������#���������������#"���� ���������������#"�������#�������� ���������� ����������������

• �������������������������� ��������� ����� ����������������� �����• $>1��#�� ��������#�������&������������� ��������������������������

�� �������������� � �������� �����

Page 224: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

221

• !��������������� �)���� �,�� �������������� ������• E������������� �����-��������������� ������ � �����������

�1����� ���������������������������� �1����� ���������������������������� �1����� ���������������������������� �1����� ���������������������������� ������

• ��������������������������������������� �G����• ���������������� �������#��� ��� ����� � ��������������������

�� ��(���� ��*������������ ��������������� ����#����• >,����������&������������������������ ����������� ��

����"���������������������������������������������#�������� ������ ���������� ������

��������B ���������?��� ��� ���������������������� �����������:;:�����������#����(��������������,�� �����*���*�%���������#������������� ����H��% �����G�������������������������������� ��������������������,��������������"����� ��������������������,������������������������������������������������"���������������������*�%��#����������� �&������������� ������#�������;>?� ����������� ������#������H�% �����G��������������������� ���� �&�������C�������D���������������������������� ���������� ��� ������ ���������������� ��������������������������������� �����������, ������ �������� ������������������������*�%���������#��������#��������� ���,�������� ���������� �������� ��������� ���% �����G� ��������������������� ������� ���� ������� *���������������#���������������� �����,��� ����������������� ��� ������#����� �����,�����/0�����������% �����G�'''��5��.������������ � ����������� �8 ������ ������ ��������� � � ��6222��/���������,������������������ ����6����������� ��������������������58��/��� �������������������������������I��������:1:%��� ����� �G��37���64 ��2�����446��263���8 2��� 55���48 ���� ���.����#��� ����"���������������������������������������(������ ���*����� ������������� ����� ������������������������������������� ����� �"�������������������������� ��H�*�:;:�� �*���<:� �*��;>?� *�A%%@� �*�;'�;>?�7��?��#���������� �������"������������������������� ��������;'�;>?����;>?����% �����G��%� ������ ������#�������;'�;>?������-��� ���� �J����������������-G�������=�

Page 225: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

222

���G���� �����=���� ����������G��������=��������� ��������-��K�����( ���G��������*=����������&����-��������&��� ����L� �������������)��( ����I������*����������)��( ����I������I�*=�����-�GJ�����=���&� ����M��� ����������������GJ�������I��=���� ����GJ� ���=���� =������� ��������-�������=������������-�GJ�&���=����������=���� =����������� ����GJ� =��������GJ� =���� ����

Page 226: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

223

�������������� ������������������� ������������������������ ������������������� ������������������������ ������������������� ������������������������ ������������������� �������������������������������������������������������������������������������������������������������������������������������

• ���� ����� �!���"����������������#������������• $��"�����%���&����#���������������#����������'��������#������� �������• (�"�����������������������������#�������� ��������!#���� ��������)*�

+(,���������-�����#����� �����-�����#����� �����-�����#����� �����-�����#����� ����������

• .#���� ����������!#���/�#�� �����������������������������#����������������"�������#���%����'�"������

• $�#�����!#���� ������������ ������ ������,01��#�%��������#����������������� �������#������ ������ �������� �������"��� ���20����

. -�����#������������� �����������/����/����������������!�������� � ����&�#���������%������� �����"������ ���#�������

• ,����������%�� ������������� ���������������"��������������������������������#������

. #������������������������ ����%�"��������#/������������#���� �������� ����/������

. 3������������#�������������������%�������� ���������!!�������

. ,����������%���#�����'����������� #���� �����"���� ���������#������������ �������������������#�������������������"���������������#������#����#1�������������4� ��5��#�����

. (���%�� ������������������������1��������������� ��#���������#����������������#������������#������

�6(+,� �6(+,� �6(+,� �6(+,� �������������������

• 7� ���� ����������������"����%�������8��/������ �!���������������• 6(+,��6�����(� ��+� �,���������� �������������������������� ��������• ����#���������!�#����������#���������� �������#�����#���#���%���

����"�������

. *�/������#���� ��/��&��������������#������������#�� ���#���#������������#��������1���!��� ���������/�������"�����#����������������������

. 9�#������������� �����

. +� �(�#�� �����&�������)*�+(,���*9*� �#������!/�������� ���������� �������������

�����������������

. $������������� ���������������������� �8����"���� �&�#��������� ��#�%������������������������������

. ������������%���� ����������/�����������������/����#�%����������&������/ ������������ ���� ��������� �8����#����/����� �����

. 9�#�������# �����������%������������/��������������%������������������������������������������ ��� ������������������������/�/#���� ���������

Page 227: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

224

. �� �����/�/#�������� �8�� �����#���������

. ��#����/�/#�������� �8����#� ��������. *������������#����� ���������8��/������������������������!�����

�� �������������"�1�������������8������������� ��� �����������������/�����

����7�����������������������7�����������������������7�����������������������7�������������������������

• 2#������������������������������ �����#��!���%������������� ����8���#� �������� ����������#����"����

• :��� � ������������������������/��/������� ��������� ����• �������������������� �/#������ ��• *����%���������������� ���������������#������ �%������

���������������#��������������� ����#����#� ����;�#� ����������!���;�#� ����������!���;�#� ����������!���;�#� ����������!�����

• ����"��������������������� ����������#������ ��������%�������!������ ������&��� ��������� ������!��������������� ����%�������������������"���� ����

• ���������� ���#���������������� ���������"������� �&�������� ���#� ����������� ���������� �&��������� ���#���������4������5������

• $�/�%�������� ��������������"������#�������������/���� ����#� ����

• 7�"������� ����������������/��/���������#���� ����%������������#� �������� #�%������ ������������/#����

• 7�"�������#� ������������#���������#��� ��������������&���������� ����#�������8��/�������"'���� ������������������������

�$�������$�������$�������$�����������

• (����������� ��������������������#������ �������� ���������• #� ������� ��������������� �!� �����#���%��/#��������%�����������"���

� ������������� �����• �� �������������� �����'�/����#���%���/#������������#������• �� ������ ��������'������#�������������• �������������4���� ���#�5�������1�8��������/#������� ����������

������/��"�������������/#���• 7��#��������/#����"���������<(����������������

�-��������� ����-��������� ����-��������� ����-��������� ������

• 7��������������� �������������#�������� ������������/�����"������� �8�#���� ���"������ �����������#����� ������� �����%��������� ���������������� �������

• ������������������������������"�����%��������#�������/#������������� �����������"�������������#������� ������������������� ��#� �����������������%��������/�������������/#������

• ����������������#�������� ���������)*�������� ����������� ���������#��������������������%���

Page 228: Operativni sistemi (ETF)

Elektrotehni�ki fakultet u Sarajevu Programska organizacija ra�unara i operativni sistemi

225

�$���#����������������������"������� �$���#����������������������"������� �$���#����������������������"������� �$���#����������������������"������� ������

• �������������������������"������� �����"���������������������������������� ��������� ��#������/�%������#������������ 8�/�������#��������#������ �����

• $��/�%������#��%��������� ��#��������������������������� ��������� �����"�������� ����%�����������

• �#����%��������"'���� �������������� ����• ��#��&���������������� �������������������� 8�/���

• $���#����������������������"�������� ����/�%���������#����� ���������������%��������#��������# �������������/�#������#��������� ��

�0����0����0����0��������

• *������������������� ��#�������������������"������� �����/� =� �����"�������

• 0� =���������������/������������ ��• ( �8���/� =� �������� ����������������� ����������#����

����!����� �1�/����/���>�������������!���• <!�������/� =� �������� ����������������� ����������$>-�

���������#��%���'�������#��#� ��&������������� 8�• �"�����������������������������������/�� ����#� ����� ��

• ���������������� ����������������#�������/���� �#�� ����%�������� �����"������1�?@A���#����� ��

• 7����������� �������������������� ��8�#������/#�1� ���������#�������������� ��

• $��"�����%�����#�%������������ ����������#� ��������������������#�%������������ � ���

• ���� �������� ������������������������ ���������#��������������!������������������� ��#���������������

• -�����#����/�/#����������/�#��������"�������!������������ �&�����/�/#����������8���� ���������"��� ����#���$>-����������������

7��� ����7��� ����7��� ����7��� ������

• .����� ���������� ������ �������#������ ����#������• (���%�� ���������� ������ ���������� ����#������• 7 �����#����!������ �������"����� ���� �����������������

�#������%�� ���%���������#���� ����� �������)����)����)����)������

• 2#�����������������������#��� � ������• )�����������/������ � ���������� #���������������������� ��

��������������������• ���!��������������������������!��������������� �����#����������� �����

�� ����• ��� ��#����������������� �� ����"�� ������ ����/������������

���������'��� �/�����������

����

Page 229: Operativni sistemi (ETF)

226

Sigurnost i zaštita u kompjutorskim sustavima

UVOD John Naisbitt, u knjizi “Megatrendovi” (Megatrends) koja je izazvala zna�ajnu pažnju u stru�nim krugovima, je ustvrdio da postindustrijski razvoj svakog društva mora biti obilježen prijelazom iz gospodarstva zasnovanog na proizvodima u gospodarsstvo zasnovano na informacijama. Posljedica za sigurnost i zaštitu informacijskog sustava je slijede�a: informacijama treba manipulirati, upravljati i štititi ih kao što se �ini sa ostalom imovinom. Ne postoji op�eprihva�ena definicija sigurnosti kompjutorskog sustava. U nastavku slijedi nekoliko definicija: "Kompjutorski sustav je siguran ako se korisnici mogu pouzdati u njegov rad i ako se programska podrška ponaša prema o�ekivanjima" [3,6] "Kompjutorski sustav je siguran ako osigurava privatnost, integritet, dostupnost i konzistentnost podataka i programa" Prema ovim definicijama, prirodne katastrofe i nevaljana softverska podrška1 su podjednaka prijetnja sigurnosti kompjutorskog sustava kao i neautorizirani korisnici. Neovisno o tome da li su neispravni podaci uklonjeni iz baze podataka od strane neautoriziranog korisnika, virusa, neo�ekivane programske greške ili udara groma, rezultat je identi�an. Zbog toga mjere zaštite moraju obuhvatiti daleko više od pokušaja namjernih upada u ra�unalni sustav. Osiguranje raspoloživosti je... Sigurnost informacija je prvenstveno problem upravlja�kih struktura (menadžmenta), a ne, kao što se ponekad misli, samo tehni�ki problem. Najsofisticiranije tehni�ke sigurnosne mjere mogu biti nedostatne u slu�aju korisni�ke nepažnje i pogrešaka u poslovnim procedurama. Prema nekim istraživanjima [1], najozbiljniju prijetnju sigurnosti informacija predstavljaju nezadovoljni ili otpušteni djelatnici. Prema tome, nije teško složiti se da menadžer koji svojim aktivnostima postiže zadovoljstvo i motiviranost djelatnika, za sigurnost �ini jednako koliko i tehni�ko osoblje koje implementira npr. sustav za kontrolu fizi�kog pristupa. Nekoliko �initelja uzrokuje proširenja odgovornosti na rukovoditelje poslovnih funkcija. Isti�em slijede�e: 1. Masovna upotreba osobnih ra�unala. Veliki broj korisnika upotrebljava osobna ra�unala za obavljanje svakodnevnog posla. Ra�unala su �esto povezana lokalnim mrežama, te je omogu�en pristup do centralne ili lokalne baze podataka. Rastu�i broj baza podataka koje se mogu organizirati na osobnim ra�unalima (desktop databases) �ini kompjutorski sustav još ugroženijim. Veliki porast broja ra�unala i korisnika ra�unalnih sustava je uzro�no-posljedi�no vezan s pove�anjem koli�ine informacija pohranjenih i obra�enih ra�unalnom tehnologijom. Prakti�ki, sve vitalne informacije svake napredne organizacije su pohranjene u ra�unalnim sustavima. Menadžment mora insistirati na adekvatnom korištenju, pouzdanosti i sigurnosti ra�unalnih sustava koji služe za manipulaciju najvrednijim resursom – informacijama. 2. Poslovanje preko Interneta je inicirano poslovnim odlukama rukovodstva. Zbog svoje otvorenosti i velikog broja korisnika, Internet predstavlja zna�ajan sigurnosni problem. 3. Stupanj poznavanja informati�ke tehnologije se razlikuje od korisnika do korisnika: neki djelatnici koriste samo poslovnu aplikaciju, dok su drugi gotovo postali ra�unalni eksperti. Grafi�ko su�elje, alati za uredsko poslovanje i postavljanje QBE upita su približili tehnologiju korisnicima. Time je i informacijski sustav postao otvoreniji i osjetljiviji s aspekta sigurnosti. Menadžment ima klju�nu ulogu u obrazovanju korisnika, definiciji sigurnosnih politika i procedura.

1 U engleskom jeziku se koristi izraz "buggy software".

Page 230: Operativni sistemi (ETF)

227

1. Zaštita resursa sistemske programske podrške - operativni sustav UNIX

1.1 Kontrola pristupa informacijskom sustavu upotrebom lozinki Ovo je najrašireniji i naj�eš�i oblik zaštite informacijskih sustava. Rukovoditelji �esto pod pojmom ra�unalne sigurnosti podrazumijevaju lozinke. Popularnost proizilazi iz jednostavnosti i fleksibilnosti. Procedura definiranja lozinki je naj�eš�e jednostavna, te se može dopustiti korisnicima da samostalno mijenjaju lozinke2. Ispravna lozinka identificira ovlaštenog korisnika i dopušta mu korištenje samo odre�enih pridjeljenih funkcija. Ipak, treba voditi ra�una o slijede�em:

- lozinka nije jedini i sveobuhvatni oblik zaštite informacijskog sustava; uspostava lozinki može biti efikasna jedino u kombinaciji s drugim sigurnosnim mjerama

- uspostava lozinki je onoliko efikasna koliko i njihova administracija tj. postupci i pravila izmjene, �uvanja i upotrebe.

U slijede�oj tablici su navedena odre�ena obilježja upotrebe lozinki, te odre�ene prednosti i nedostaci: Obilježje Prednosti Nedostaci postupak kreiranja lozinke: korisni�ki sistemski generirana

lako se pamti teško se može pogoditi

ponekad se lako poga�a teško se pamti; neki algoritmi za generiranje se mogu lako izvesti

vrijeme trajanja neograni�eno fiksni period samo jednom (one-time password)

lako se pamti lako se pamti ako je vremenski period korištenja dovoljno dug; ve�a sigurnost spre�ava pokušaje otkrivanja poga�anjem

osjetljivost na pokušaje otkrivanja poga�anjem osjetljivost ovisi o duljini vremenskog perioda teško se pamti

Sustav lozinki je dio "prve linije obrane" protiv neovlaštenog pristupa. Osobe koje pokušavaju neovlašteno pristupiti ra�unalnom sustavu naj�eš�e pokušavaju do�i do lozinki ovlaštenih korisnika. Osnovni na�ini za pronalaženje lozinki su:

- pokušaj prijave na ra�unalni sustav isprobavanjem mogu�ih lozinki iz baze podataka �esto korištenih lozinki (common passwords database)

- dohvatom datoteke lozinki i dešifriranjem šifriranih lozinki. Nakon što napada� pristupi ra�unalnom sustavu, može pokušati ostvariti ve�i nivo privilegija. Stoga je poželjno onemogu�iti napada�a da se prijavi na ra�unalni sustav. U tome može zna�ajno pomo�i ispravno korištenje lozinki. Ako lozinke prolaze nezašti�enim telekomunikacijskim linijama (npr. Internet), potrebno je koristiti se šifriranjem (npr. SSL prilikom korištenja Web usluge).

2 Ovo nije uvijek najbolje rješenje. Korisnici �esto za lozinke koriste osobne ili poznate podatke (npr. datum ro�enja, ime djeteta, prezime poznatog sportaša i sl.).

Page 231: Operativni sistemi (ETF)

228

1.2 Pojam korisni�kog ra�una na operativnom sustavu UNIX Svaki korisnik koji se prijavljuje (login) na operativni sustav UNIX ima definiran korisni�ki ra�un. Korisni�ki ra�un sadrži korisni�ko ime (username) i odgovaraju�u lozinku. Korisni�ko ime je javno – ono je identifikator korisnika na sustavu. Lozinka služi za autentikaciju korisnika s odre�enim korisni�kim imenom – lozinkom se dokazuje identitet korisnika. Korisni�ko ime i lozinka mogu imati od jedan do osam znakova, iako neke novije verzije dopuštaju korištenje duljih lozinki. Dulje lozinke su uglavnom sigurnije (jer ih je teže pogoditi). Nije dozvoljeno kreiranje dva identi�na korisni�ka imena na sustavu. Dva korisni�ka imena mogu imati identi�ne lozinke, iako je to siguran znak da su oba korisnika odabrale lošu lozinku. Naravno, jedna osoba može imati više korisni�kih ra�una na istom UNIX ra�unalu.

1.3 Kako se spremaju lozinke na UNIX ra�unalu? UNIX koristi datoteku /etc/passwd za identifikaciju svakog korisnika tj. za spremanje podataka o korisni�kim imenima i odgovaraju�ih lozinki. Svaki red (slog) datoteke sadrži podatke o jednom korisniku odnosno korisni�kom imenu. Pojedina polja su odvojena dvoto�kom (:). Tipi�na /etc/passwd datoteka je npr.: mzgela:w/.izi"#m:134:121:Mario Zgela:/users/home/mzgela:/bin/bash kpetrovi:x:140:100:Katica Petrovic:/users/home/kpetrovi:/bin/bash admin:x:145:100:admin:/users/home/admin:/bin/bash aperkov:x:146:100:Ana Perkov:/users/home/aperkov:/bin/bash kreich:x:684:100:Karolina Reich:/ users /home/kreich:/bin/bash ksosic:x:685:100:Ksenija Sosic:/ users /home/ksosic:/bin/bash Pojedina polja datoteke imaju slijede�a zna�enja: Polje Zna�enje – opis sadržaja mzgela korisni�ko ime w/.izi"#m šifrirana lozinka 134 identifikacijski broj korisnika (UID) 121 identifikacijski broj grupe (GID) Mario Zgela puno ime i prezime korisnika /users/home/mzgela korisni�ki po�etni (home) direktorij /bin/bash korisni�ka ljuska (shell)

1.4 Postupak autentikacije Prilikom prijave korisnika (login procedura) udaljenom UNIX ra�unalu, nakon što korisnik unese korisni�ko ime, potrebno je dokazati svoj identitet. Postupak dokazivanja identiteta se naziva autentikacija. Postoje tri osnovna na�ina autentikacije:

1. Predati ra�unalu podatak o ne�emu što korisnik zna – npr. tastaturom unijeti lozinku 2. Predati ra�unalu nešto što korisnik posjeduje i zna (npr. magnetna kartica i pin) 3. Dati ra�unalu informaciju o onome što korisnik jeste (npr. otisak prsta, rožnica oka, glas itd.)

Niti jedan od navedenih postupaka nije potpuno siguran na�in autentikacije. Prisluškivanjem telekomunikacijskih linija (packet sniffing) napada� može do�i do lozinke. Tako�er, fizi�kim napadom na osobu, napada� može do�i do magnetne kartice i pina. Op�enito, što je postupak autentikacije napredniji, to napada� mora upotrijebiti agresivnije metode da bi se uspio lažno predstaviti ra�unalnom sustavu.

Page 232: Operativni sistemi (ETF)

229

Mnoga osobna ra�unala ne koriste sustav lozinki niti bilo koji drugi postupak autentikacije. Time se omogu�ava jednostavnije korištenje ra�unala od strane bilo kojeg korisnika. Ve�ina korisnika osobnih ra�unala se, stoga, pouzdaje u fizi�ke mjere za zaštitu informacija pohranjenih na diskovnim ure�ajima. Me�utim, �im se ra�unalu može pristupiti s udaljenih mjesta (npr. korištenjem modema i telekomunikacijskih linija) ili s drugih mjesta lokalne mreže ra�unala, lozinke su neophodne. Lozinke su najjednostavniji na�in autentikacije: one su tajna koju korisnici dijele s ra�unalom kojem se predstavljaju (shared secret), tj. kojem se prijavljuju s ciljem korištenja resursa. Nakon unosa korisni�kog imena i lozinke, ra�unalo provjerava da li lozinka pripada (odgovara) korisni�kom imenu, tj. obavlja se autentikacija. Ako je identitet korisnika potvr�en, korisnik može nastaviti i zapo�eti s radom na ra�unalu. Slika 1 prikazuje prozor unosa IP (Internet Protocol) adrese UNIX ra�unala na koji se korisnik želi prijaviti korištenjem programa telnet3.

Slika 1: Unos ra�unalne IP adrese

Slika prikazuje da se korisnik želi prijaviti upravo na ra�unalo s adresom 170.170.111.29 (polje Host name). Nakon klika na Connect, pojavljuje se ekran kao na slici 2:

Slika 2: Prijava na udaljeno ra�unalo

Zatim korisnik unosi korisni�ko ime (oracle u redu linux login) i lozinku (red Password)4. Nakon uspješne autentikacije, korisnik je postavljen u svoj po�etni direktorij (u ovom slu�aju /ora816/app/oracle/product/816). Neke verzije UNIX-a omogu�avaju blokiranje korisni�kog ra�una u slu�aju unosa neispravne lozinke nekoliko puta u nizu. Blokirani korisni�ki ra�un se može ponovno po�eti koristiti tek nakon intervencije administratora sustava. 3 Program telnet omogu�ava prijavu na udaljeno ra�unalo - korisnik zapravo radi na udaljenom UNIX ra�unalu, tj. njegovo osobno ra�unalo postaje "virtualni" terminal. 4 UNIX ne prikazuje lozinku koju korisnik unosi, tj. eventualno se prikazuje niz specijalnih znakova (npr '*'). Tako se sprije�ava tzv. shoulder sniffing – �itanje lozinke od strane prisutnih osoba.

Page 233: Operativni sistemi (ETF)

230

Blokiranje ima dvije funkcije:

1. Štiti sustav od osoba koje velikim brojem pokušaja žele prona�i odgovaraju�u lozinku poznatog korisnika

2. Obavještava stvarnog korisnika i sistem administratora o pokušajima neovlaštenih prijava na ra�unalo.

Organizacija koja implementira sustav blokiranja mora definirati stroge formalne postupke za odblokiravanje korisni�kih ra�una. Me�utim, automatsko blokiranje može biti iskorišteno od strane napada�a za tzv. napade s ciljem uskra�ivanja usluge (denial of service attacks). Napada� koristi poznata korisni�ka imena, prijavljuje se pogrešnim lozinkama i onemogu�ava stvarnim korisnicima prijavu na ra�unalo. Stvarni korisnici �e mo�i ponovno koristiti resurse ra�unala tek kada im administrator sustava odblokira ra�un. Stoga, automatsko blokiranje ra�una nije optimalno rješenje. Korištenje mehanizma rastu�e vremenske odgode prijave (increasing delay login) je daleko bolji pristup. Ovaj pristup uvodi vremensku odgodu ponovne procedure prijave nakon odre�enog broja neuspjelih pokušaja. Vremenska odgoda ponovne procedure prijave je dulja što je ve�i broj neuspjelih pokušaja prijave u nizu. Npr., nakon 3. neuspjelog pokušaja, korisnik �e mo�i ponoviti proceduru prijave tek za 5 minuta. Ako i 4. puta ne unese ispravnu lozinku, ponovni pokušaj prijave �e biti mogu� tek nakon 15 minuta. Nakon 8 neuspjelih pokušaja, korisni�ki ra�un �e biti blokiran. Operativni sustav AIX ver. 4 se vrlo jednostavno može konfigurirati s ciljem implementacije vremenske odgode prijave tako da se izmijeni vrijednost logindelay varijable u konfiguracijskoj datoteci prijava (/etc/security/login.cfg). Tako�er, AIX podržava automatsko blokiranje (varijabla logindisable) i odblokiranje terminala (varijabla loginreenable). Linux tako�er dopušta konfiguriranje s ciljem vremenske odgode slijede�e prijave i blokiranje korisni�kog ra�una nakon definiranog broja neispravnih pokušaja. Ve�ina današnjih UNIX ra�unala koristi konvencionalne (jednostavne) lozinke za autentikaciju: korisnik zna lozinku i unosi je tastaturom, tj. predaje ra�unalu na provjeru. Prednost korištenja konvencionalnih lozinki je u jednostavnosti korištenja i �injenici da nije potrebna dodatna oprema (kao što su npr. �ita�i magnetskih kartica ili otisaka prstiju). Nedostatak je u tome da se lozinke prili�no jednostavno mogu presresti za vrijeme prijenosa komunikacijskim linijama i preuzeti od strane napada�a. Ovo je posebno problemati�no ako se ra�unalu pristupa s udaljenog mjesta. �ak i prosje�no sposoban napada� može do�i do lozinki koje nezašti�ene putuju mrežom – na Internetu je dostupan veliki broj besplatnih programa za prisluškivanje mrežnog prometa. Jedini na�in za obavljanje sigurne procedure pristupanja UNIX ra�unalu s udaljenog mjesta je korištenje jednokratnih lozinki (one-time passwords) i/ili šifriranje lozinki. Na žalost, ve�ina UNIX sustava i dalje koristi lozinke koje je mogu�e koristiti više puta ili se lozinke nešifrirane prenose komunikacijskim linijama. Upravo zato su lozinke naj�eš�i cilj napada.

1.5 Procedura izmjene i provjere nove lozinke Procedura izmjene lozinki mora biti sastavni dio sigurnosne politike svake organizacije. Izmjena lozinke se provodi naredbom passwd. U pravilu, novim – tek kreiranim korisni�kim imenima, sistem administrator postavlja slu�ajno odabranu lozinku koju su korisnici obavezni promijeniti prilikom prve slijede�e prijave. Ovo je uobi�ajeno – predefinirano (default) ponašanje na AIX operativnom sustavu.

Page 234: Operativni sistemi (ETF)

231

Ukoliko korisnik zaboravi svoju lozinku, jedino administrator sustava (superuser, root) može postaviti novu lozinku. Niti administrator sustava ne može dešifrirati lozinku bilo kojeg korisnika, ali kao što je prethodno re�eno, može postaviti novu lozinku bez poznavanja stare (tj. trenutno važe�e)5.

1.6 Sustav šifriranja lozinki Ve�ina starijih operativnih sustava je �uvalo lozinke svih korisni�kih ra�una u �itljivoj ASCII datoteci. Sustav je samo privilegiranim korisnicima i programima dozvoljavao pristup do datoteke lozinki (password file). Me�utim, programskom greškom, greškom sistem administratora6 ili namjernom akcijom napada�a sadržaj datoteke lozinki može postati vidljiv neovlaštenim korisnicima. Ovaj problem se u UNIX-u rješava tako da se lozinke ne pohranjuju u stvarnom, �itljivom obliku. U datoteci lozinki (/etc/passwd) su pohranjene šifrirane lozinke. Postupak šifriranja se obavlja jednosmjernom (nereverzibilnom) funkcijom crypt(). Kada se korisnik pokušava prijaviti sustavu, program bin/login zapravo ne dešifrira šifriranu lozinku pohranjenu u /etc/passwd nego izvršava obrnut postupak:

1. nakon unosa lozinke u liniju prijave (login prompt), program šifrira unešenu lozinku 2. uspore�uje rezultat šifriranja unesene lozinke sa lozinkom za korisni�ko ime pohranjenom

u datoteci /etc/passwd 3. ako su vrijednosti jednake, korisniku se dozvoljava prijava, a time i korištenje odre�enih

ra�unalnih resursa Sigurnost ovog postupka se zasniva na snazi kriptografskog algoritma i teško�ama pri poga�anju korisni�ke lozinke. Do današnjeg dana, crypt() algoritam se pokazao vrlo otporan na napade. Na žalost, algoritam ne spre�ava korisnike da odaberu lozinke koje je lako pogoditi. Algoritam crypt() se zasniva na DES algoritmu. Preuzima korisni�ku lozinku kao klju� za šifriranje i šifrira 64 bitni blok sa�injen od niza 0. Rezultat šifriranja se ponovno šifrira sa lozinkom. Proces se ponavlja 25 puta. Kona�nih 64 bita se transformira u niz od 11 ispisnih znakova (printable characters) koji se pohranjuju u /etc/passwd datoteku. Svaki od 11 znakova sadrži 6 bita rezultata šifriranja i predstavlja jedan od 64 znaka iz niza ".", "/", 0-9, A-Z, a-z. Vrijednost 000000(2) šifriranog teksta �e u kona�noj lozinki biti predstavljen znakom ".", a vrijednost 000101(2)=5(10) se predstavlja znakom "2"7. Ciljna abeceda je: ./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz Primjer: Ako je rezultat crypt() algoritma 0101100101001110010010110100011100000100101011001101011000110001 onda se u datoteku lozinki sprema niz znakova:

2YBFnP1eALk 5 Ovo se radi navo�enjem korisni�kog imena �ija lozinka se želi promijeniti nakon naredbe passwd (npr. passwd mzgela). 6 Npr. sigurnosne kopije diskovnih podataka se moraju redovito kreirati i u pravilu se spremaju na magnetne trake, CD medije ili neki drugi prijenosni medij. Mediji se moraju �uvati na fizi�ki sigurnom mjestu (npr. sef). Ako je medij sa datotekom lozinki ukraden, svi korisnici sustava moraju promijeniti lozinke. 7 Prva 4 bita slijeva se dopunjavaju na duljinu 6 bita sa 2 vrijednosti 0, tako da niz bita zapo�inje sa 000101 (a ne 0101).

Page 235: Operativni sistemi (ETF)

232

Objašnjenje:

000101(2)= 5(10) se preslikava u 5. znak ciljne abecede -> 2 100101(2)=37(10) se preslikava u 37. znak ciljne abecede -> Y 001110(2)=14(10) ... -> B 010010(2)=18(10) ... -> F 110100(2)=52(10) ... -> n 011100(2)=28(10) ... -> P 000100(2)= 4(10) ... -> 1 101011(2)=43(10) ... -> e 001101(2)=13(10) ... ->A 011000(2)=24(10) ... -> L 110001(2)=49(10) ... -> k

Iako je izvorni kôd crypt() algoritma javan i dostupan, još uvijek nije prona�ena i objavljena tehnika kojom bi se šifrirana lozinka mogla dešifrirati, tj. kojom bi se od šifriranog niza došlo do izvornog teksta. Stoga su jedini na�ini probijanja UNIX sustava lozinki tzv. brutalni napad (brute force attack) i napad pomo�u rje�nika lozinki (dictionary attack). Brutalnim napadom se za poznati algoritam iskušavaju sve mogu�e vrijednosti klju�a (u ovom slu�aju se radi o lozinki) kako bi se došlo do šifriranog teksta lozinke. Kada se za odre�eni klju� (lozinku) K dobije niz znakova koji odgovara šifriranom tekstu lozinke, sa sigurnoš�u se može ustvrditi da je klju� K lozinka. Da bi brutalni napad sigurno bio uspješan, potrebno je iskušati 6410 + 16 (260 + 24)klju�eva i usporediti svaki rezultat sa stvarnom, šifriranom lozinkom. Napad pomo�u rje�nika lozinki se zasniva na rje�niku koji ima pohranjene nizove znakova koji se �esto koriste kao lozinke (npr. imena osoba, datumi, itd.). Svaka vrijednost iz rje�nika se šifrira i uspore�uje s odgovaraju�om vrijednosti spremljenom u datoteci /etc/passwd8.

1.7 Jednokratne lozinke (one-time passwords) Najefikasniji pristup minimiziranja rizika upotrebe lozinki je upotreba jednokratnih lozinki koje se koriste samo za jednu prijavu na ra�unalo. U nastavku �e biti pojašnjena implementacija jednokratnih lozinki pomo�u token kartica. Korisnik posjeduje karticu s programiranim funkcijama za autentikaciju i serijskim brojem. Da bi se prijavio na centralno ra�unalo, korisnik mora upotrijebiti karticu i pripadnu lozinku (pin) da bi dobio vrijednost jednokratne lozinke. Procedura generiranja jednokratne lozinke je slijede�a:

1. Korisnik kontaktira udaljeno ra�unalo na koje se želi prijaviti; ra�unalo mu prikazuje odre�eni broj; ra�unalo izra�unava lozinku na osnovi pina i broja prikazanog korisniku 2. Korisnik unosi prikazani broj u karticu, zajedno s tajnim pinom kartice 3. Kartica izra�unava lozinku na osnovi unešenih vrijednosti i prikazuje je na zaslonu 4. Korisnik upotrebljava prikazani broj kao svoju jednokratnu lozinku na udaljenom ra�unalu

Kartica može biti programirana tako da se sama uništi ukoliko se više puta pokuša unijeti neodgovaraju�i pin. Osnovni nedostatak ovakvih sustava može biti cijena.

8 Ova vrsta napada se �esto naziva i pretraživanje klju�eva (key search) ili razbijanje lozinke (password cracking).

Page 236: Operativni sistemi (ETF)

233

Sustavi token kartica su pouzdani i efikasni, proizvo�a�i u pravilu osiguravaju programsku podršku za jednostavnu implementaciju i integraciju u UNIX operativni sustav. Kartice eliminiraju rizik prisluškivanja tj. presretanja lozinki.

1.8 Kerberos – alternativa jednokratnim lozinkama Autentikacija se u sustavu Kerberos zasniva na lozinkama pohranjenim na Kerberos poslužitelju. Za razliku od UNIX lozinki koje su šifrirane jednosmjernim nereverzibilnim algoritmom, Kerberos lozinke su pohranjene na poslužitelju i šifrirane su DES algoritmom. Zato se lozinke mogu dešifrirati kada je potrebno. Korisnik i dalje dokazuje svoj identitet pomo�u lozinki. Kerberos poslužitelj pristupa do nešifriranih korisni�kih lozinki što je rezultat �injenice da se ne koristi asimetri�na enkripcija. To je ozbiljan nedostatak sustava. Kerberos poslužitelj mora biti osiguran fizi�kim mjerama, te neprobojan za napade prijavom (login attacks). Ako bi se napada� mogao prijaviti na poslužitelj i do�i do lozinke administratora, mogao bi preuzeti sve korisni�ke lozinke. Za obi�nog korisnika, prijava na UNIX poslužitelj sa Kerberos sustavom je potpuno identi�na: korisnik unosi svoje korisni�ko ime i lozinku. Ako korisni�ko ime postoji i lozinka je ispravna, korisnik može upotrebljavati ra�unalne resurse. Ono što se doga�a u pozadini, daleko je složenije. Nakon unosa korisni�kog imena i lozinke, odgovaraju�a poruka se prenosi do autentikacijskog poslužitelja (Kerberos Authentication Server). Poruka sadrži korisni�ko ime i to�no vrijeme enkriptirano simetri�nim algoritmom (DES) i klju�em - korisni�kom lozinkom. Autentikacijski poslužitelj sadrži bazu podataka korisni�kih imena i lozinki. Na osnovi korisni�kog imena dolazi do lozinke, koristi DES algoritam i lozinku kao klju� za dešifriranje primljenog podatka o to�nom vremenu. Ako je dešifriranje uspješno, server kreira "ulaznu kartu" (Uk - ticket granting ticket), šifrira je korisni�kom lozinkom i šalje korisniku. "Ulazna karta" sadrži dva podatka:

- sesijski klju� (session key) Sk - kartu za Kerberos servis za dozvole (Ticket Granting Service - TGS); karta je šifrirana

sesijskim klju�em i klju�em servisa za dozvole Tek nakon primljene "ulazne karte", radna stanica može kontaktirati Kerberos servis za dozvole s ciljem dobivanja dozvole za pristup resursima UNIX ra�unala. Na primjer, recimo da je korisniku potrebno dozvoliti pristup do datoteka u po�etnom (home) direktoriju. Kada korisnik pokuša pristupiti datotekama sa svoje radne stanice, sistemski softver inicira kontakt sa Kerberos servisom za dozvole i zahtijeva kartu odnosno dozvolu za pristup servisu poslužitelja datoteka (File Server Service - FSS). Servis za dozvole dostavlja kartu korisni�koj radnoj stanici. Ova karta (Pk) sadrži:

- korisni�ko ime - vrijeme kada dozvola pristupa istje�e - IP adresu korisni�ke radne stanice.

Karta je šifrirana lozinkom servisa poslužitelja datoteka. Radna stanica korisnika zatim dostavlja ovu kartu servisu poslužitelja datoteka. Poslužitelj datoteka dešifrira kartu sa svojom lozinkom i zatim stvara vezu izme�u korisnika i korisni�ke radne stanice (korisni�ko ime, IP adresa) i korisni�kog imena. Cijela komunikacija izme�u radne stanice, servisa za dozvole i servisa poslužitelja datoteka je šifrirana �ime je prisluškivanje onemogu�eno. Kerberos servis za dozvole (TGS) je mogao ustanoviti identitet korisnika nakon što je korisnik zatražio kartu za servis poslužitelja datoteka jer je:

1. zahtjev korisnika šifriran sesijskim klju�em Sk

Page 237: Operativni sistemi (ETF)

234

2. korisnik mogao saznati sesijski klju� jedino dešifriranjem originalne ulazne karte šifrirane korisni�kom lozinkom; originalnu ulaznu kartu je korisniku dostavio Kerberos autentikacijski poslužitelj

Treba primijetiti da se korisni�ka lozinka nikada ne prenosi mrežom:

- korisnik unosi lozinku na svojoj radnoj stanici, ali se ona koristi samo za enkripciju to�nog vremena – i ne prenosi se do servera

- autentikacijski poslužitelj posjeduje lozinke svih korisnika i koristi ih za šifriranje ulazne dozvole Uk

Servis poslužitelja datoteka može ustanoviti identitet korisnika jer:

1. karta Pk koju poslužitelj datoteka prima od korisnika je šifrirana klju�em servisa poslužitelja datoteka – to šifriranje je obavio Kerberos servis za dozvole, a ne korisnik

2. karta Pk sadrži IP adresu i korisni�ko ime – te podatke je u kartu mogao smjestiti i šifrirati, klju�em FSS-a, jedino Kerberos servis za dozvole (TGS)

Stoga je TGS siguran u identitet korisnika, što je sasvim dovoljno za to da i FSS bude siguran u isto. Treba napomenuti da Kerberos sustav u svaki korisni�ki zahtjev smješta podatak o to�nom vremenu kako bi se napada�e onemogu�ilo u namjeri da presretnu ulaznu kartu s ciljem kasnijeg ponovnog slanja s istog ra�unala. Nakon autentikacije, korisnik upotrebljava ra�unalne resurse na uobi�ajen na�in. 1.8.1 Ograni�enja Kerberos sustava Postoji nekoliko ograni�enja sustava Kerberos: 1. Sustav je dizajniran za okruženja u kojima svaku radnu stanicu koristi samo jedan korisnik. Kerberos

�uva "karte" u direktoriju /tmp. Ako korisnik dijeli ra�unalo s drugim osobama, može se dogoditi da njegova karta bude ukradena s ciljem neovlaštenog pristupa.

2. Obavezno je postojanje sigurnog Kerberos servera koji sadrži centralnu bazu podataka lozinki. Server bi morao biti �uvan u zasebnoj, fizi�ki osiguranoj prostoriji.

3. Ako Kerberos server prestane s radom, cijeli sustav se ne može koristiti. 4. Sve lozinke u centralnoj bazi podataka su šifrirane sa samo jednim, glavnim klju�em poslužitelja

(server master key), koji je �esto pohranjen na istom tvrdom disku na kojem je i baza podataka. Ako je Kerberos server uspješno napadnut, tj. napada� je došao do glavnog klju�a, sve lozinke moraju biti promijenjene.

5. Obavezna je instalacija Kerberos sistemskih programa i podešavanje pristupnih parametara na svaku radnu stanicu s koje �e se pristupati Kerberos sustavu.

6. Zbog prethodne to�ke, Kerberos se ne može efikasno upotrebljavati na Internetu.

1.9 Sustav UNIX datoteka i pristupnih privilegija Korisnik koji kreira odre�enu datoteku postaje njen vlasnik (owner), te ima razli�ite mogu�nosti manipulacije s tom datotekom. Svaki korisnik sistema pripada odre�enoj grupi i može, ako to želi, dijeliti svoje datoteke s korisnicima iste grupe. Svi korisnici koji nisu u njegovoj grupi se tretiraju kao "ostali" (others). Pristupne privilegije (file permissions) odre�uju tko može �itati, mijenjati i izvršavati odgovaraju�e datoteke i programe. To je osnovni na�in zaštite podataka pohranjenih u UNIX operativnom sustavu.

Page 238: Operativni sistemi (ETF)

235

Primjer: Naredba ls – l rezultira slijede�im ekranom:

Slijedi objašnjenje sadržaja ekrana:

total 212 – ukupan broj blokova veli�ine 512 B u svim datotekama i direktorijima teku�eg direktorija

d (ili -) - tip datoteke: d zna�i da je direktorij, a "–" zna�i da je obi�na datoteka rw------ - dozvole za korištenje datoteke

1 - broj veza (links) na datoteku mzgela - vlasnik datoteke (korisnik koji je kreirao datoteku) users - grupa kojoj pripada vlasnik

126 - veli�ina datoteke u B Svi 9 13:07 - datum i vrijeme zadnje izmjene datoteke .bash_history - ime datoteke

Tre�e grupa znakova iz objašnjenja (npr. rw-------) definira dozvole za korištenje datoteke/direktorija - pristupne privilegije tj. prava korisnika za rad s tom datotekom/direktorijem. Niz od 9 znakova treba razložiti na tri polja po tri znaka. Prva tri znaka ozna�avaju dozvole pristupa za vlasnika datoteke, druga tri znaka za korisnike iz iste grupe kojoj pripada vlasnik, a posljednja tri za sve ostale korisnike. Svaki znak govori da li je, i kome, dozvoljeno �itanje, izmjena i izvršavanje datoteke: r (-) - dozvoljeno �itanje datoteke (nije dozvoljeno) w (-) - dozvoljeno pisanje u datoteku (nije dozvoljeno) x (-) - dozvoljeno izvršavanje datoteke (nije dozvoljeno) Dozvole imaju razli�ita zna�enja za datoteke i direktorije: 1. Dozvola za �itanje (r)

- za datoteku zna�i da se može pregledavati sadržaj te datoteke (naredbe more, cat, vi, joe) - za direktorij zna�i da se može pregledavati sadržaj direktorija (ls)

2. Dozvola za pisanje (w)

- za datoteke zna�i da se može mijenjati sadržaj datoteke (vi, joe, ed) ili zamijeniti cijelu datoteku s drugom (replace)

- za direktorij zna�i da se može kreirati ili brisati datoteke iz tog direktorija (za brisanje datoteke iz direktorija dovoljno je imati dozvolu za pisanje na tom direktoriju, a ne i na samoj datoteci)

3. Dozvola za izvršavanje

- za datoteku zna�i da se može izvršiti kao naredba - za direktorij zna�i da se može pristupiti tom direktoriju (cd)

Pri dodjeli privilegija, vrijede slijede�a pravila: - Korisnik može imati dodijeljenu privilegiju izvršavanja, bez privilegije �itanja. Program je mogu�e izvršavati bez �itanja njegova sadržaja. Ovo je korisno kada se program želi sakriti, a dozvoliti izvršavanje.

Page 239: Operativni sistemi (ETF)

236

Tako�er, ova opcija se upotrebljava kada se korisniku dozvoljava izvršavanje programa, a ne dozvoljava kreiranje kopije programa. - Korisnik može imati dodijeljenu privilegiju �itanja programa, bez privilegije izvršavanja. Ako korisnik kopira program, mo�i �e ga i izvršiti. Kopija �e se od originala razlikovati u dvije bitne stvari: apsolutnom putu (absolute pathname) i vlasništvu - kopija �e biti u vlasništvu korisnika koji ju je kopirao, a ne više u vlasništvu originalnog korisnika. - Vlasnik datoteke ne mora imati nikakva prava pristupa, a �lanovi grupe u kojoj je vlasnik mogu imati sva prava. Vlasnik datoteke to može napraviti kako ne bi npr. nenamjernom operacijom obrisao datoteku. Za promjenu dozvola se koristi naredba chmod sa sintaksom: chmod u?d datoteka pri �emu je:

u - polje koje želimo mijenjati (u – vlasnik, g – grupa, o - ostali); ako se izostavi onda se izmjena radi za sva tri polja

? - operacija (+ dodavanje dozvole, - uklanjanje, = postavljanje na danu vrijednost) d - dozvola (r – �itanje, w – pisanje, x – izvršavanje).

Tako na primjer za datoteku sa dozvolama "rw-rw-r--", naredba chmod +x mijenja mod u "rwxrwxr-x". Osim što može promijeniti dozvola pristupa datoteci, korisnik može promijeniti i grupu kojoj datoteka pripada, ali i samog vlasnika. Drugim rije�ima, korisnik može prenijeti vlasništvo datoteke na drugog korisnikana sistemu. Naredba za promjenu grupe kojoj pripada odre�ena datoteka je naredba chgrp sa sintaksom:

chgrp datoteka grupa pri �emu je datoteka ime datoteke, a grupa ime grupe kojoj želimo da datoteka pripada. Da bi se ovo moglo uraditi, korisnik mora biti vlasnik datoteke i �lan grupe kojoj datoteka pripada. Analogno, za promjenu vlasnika se koristi naredba chown: chown datoteka vlasnik Kada korisnik jednom prenese vlasništvo datoteke na drugog korisnika ili grupu, više nema mogu�nosti vratiti datoteku nazad u svoje vlasništvo.

1.10 Liste za kontrolu pristupa (Access Control Lists, ACLs) Neke verzije UNIX operativnog sustava podržavaju liste za kontrolu pristupa. Liste za kontrolu pristupa su nadopuna standardnim UNIX pristupnim privilegijama. Omogu�avaju specificiranje dodatnih pristupnih privilegija za odre�ene korisnike, što osigurava daleko bolju granulaciju privilegija nego kod standardne mogu�nosti. Mogu se postaviti razli�ita pristupna prava za razli�ite korisni�ke grupe i pojedine korisnike. Operativni sustav AIX podržava liste za kontrolu pristupa. Liste su posebno pogodne za manipulaciju pristupnim pravima u okviru manjih projektnih grupa - kada korisnici samostalno žele dodijeliti prava odre�enim korisnicima ili grupama tj. kada je nužna fleksibilnost u definiciji pristupnih prava. Npr. recimo da Darko želi Petru dodijeliti pravo pristupa do fajla F. Bez ACL-a, Darko bi morao od administratora sistema zahtijevati dodjelu privilegija. Administrator bi morao u�initi slijede�e:

Page 240: Operativni sistemi (ETF)

237

1. kreirati novu grupu G, 2. u grupu G smjestiti samo korisnike Darka i Petra 3. datoteku F pridružiti grupi G

U osnovi, lista za kontrolu pristupa u operativnom sustavu AIX ima slijede�i izgled:

base permissions: osnovne pristupne privilegije u UNIX-u: owner (janko): rw- pristupne privilegije vlasnika group (statistika): rw- pristupne privilegije grupe 'statistika' others: r-- pristupne privilegije ostalih korisnika extended permissions dodatne pristupne privilegije: enabled da li se specifi�ne privilegije koriste ili ne specify r-- u: marko pristupne privilegije za korisnika 'marko' deny -w- g: proj pristupne privilegije grupe 'proj'

permit rw- u: damir, g: racun pristupne privilegije korisnika 'damir' kada je u grupi 'racun' Linije ispod odjeljka 'base permissions' su zapravo standardna UNIX pristupna prava do datoteka i direktorija. Dakle, vlasnik datoteke 'Janko' na koju se lista odnosi ima pravo �itanja i izmjene datoteke, �lanovi grupe 'statistika', koja je vlasnik datoteke, tako�er imaju ista prava, dok ostali korisnici sistema imaju samo prava �itanja. Odjeljak 'extended permissions' dopušta definiranje pristupnih prava za odre�ene korisnike i grupe. Klauzula 'enabled' ukazuje da se dodatne pristupne privilegije doista koriste9. Ostatak linija predstavlja tzv. "ulaze kontrole pristupa" (access control entries) koji imaju slijede�u sintaksu: operacija tip_pristupa podaci_o_korisniku_i_grupi Pojam 'operacija' može biti 'permit', 'deny' ili 'specify', koje odgovaraju operacijama + (dodavanje privilegije), - (uskra�ivanje privilegije) i = (postavljanje na odre�enu privilegiju) naredbe chmod. Pojam 'tip_pristupa' je identi�an standardnim pristupnim mogu�nostima (r -�itanje, w - izmjena, x - izvršavanje). Pojam 'podaci_o_korisniku_i_grupi' sadrži korisni�ko ime (kojem prethodi 'u:') i/ili jednu ili više naziva grupe (svakom nazivu grupe prethodi 'g:'). Pojedini podaci moraju biti odvojeni zarezom. Prva linija ACE-a iz prethodnog primjera (specify r-- u: marko) daje privilegiju �itanja korisniku 'marko' na datoteci za koju se piše ACL. Druga linija (deny -w- g: proj) uklanja pravo �itanja grupi 'proj'. Svi korisnici koji pripadaju grupi 'proj' gube pravo �itanja datoteke, bez obzira kakva prava su im direktno pridijeljena. Posljednja linija (permit rw- u: damir, g: racun) daje prava �itanja i izmjene korisniku 'damir' dok je u grupi 'racun'. Liste koje specificiraju i korisni�ko ime i grupu se �esto koriste kada se korisniku pripadnost grupi dodjeljuje privremeno. Takvom listom se osigurava da �e pravo pristupa do odre�ene datoteke biti ukinuto kada korisnik bude uklonjen iz grupe navedene u listi. U prethodnom primjeru, korisnik 'damir' �e izgubiti pravo pristupa do datoteke kada bude uklonjen iz grupe 'racun'. Ako je u odjeljku 'podaci_o_korisniku_i_grupi' više od jednog elementa, svi elementi moraju biti istiniti da bi se redak primijenio (AND operator). Na primjer, permit rw- g: racun, g: proj 9 Ako se pristupne privilegije koje slijede ne žele koristiti, potrebno je upisati klauzulu 'disabled'.

Page 241: Operativni sistemi (ETF)

238

�e dopustiti �itanje i izmjenu korisnicima koji su istovremeno u grupama 'racun' i 'proj'. Pristup ne�e biti dozvoljen korisnicima koji su u samo jednoj od navedenih grupa. Slijede�i ACE �e dozvoliti korisniku 'marko' pristup samo ako se on nalazi u obje navedene grupe ('racun', 'statistika'): permit rw- u: marko, g: racun, g: statistika Ako se želi dozvoliti pristup svim korisnicima koji su u grupama 'racun' ili 'statistika' (OR operator), potrebno je kreirati dva zasebna reda u ACL-u: permit rw- g: racun permit rw- g: statistika Name�e se pitanje što se doga�a kada se može primijeniti više od jednog reda za istog korisnika ili grupu. Kada korisnik zahtijeva pristup do datoteke s dodatnim privilegijama u ACL-u, provodi se uniranje osnovnih dozvola pristupa (base permissions) i svih primjenjivih ACE-a. Sve ACE koje se mogu primijeniti na korisnika se kombiniraju sa operatorom unije (UNION). Tako�er se kombiniraju i zabrane pristupa iz skupa osnovnih dozvola i ACE-a. Ako je pristup dozvoljen i nije zabranjen, onda je pristup mogu�. Dakle, mogu�e kontradikcije me�u ACE, se razrješuju na najjednostavniji na�in: pristup nije dozvoljen osim ako je dozvoljen i nije zabranjen. Na primjer, su ACE za odre�enu datoteku: base permissions owner (petar): rw- group (platni): r-- others: --- extended permissions enabled specify r-- u: darko permit rw- g: racun , g: proj deny rwx g: info Ako je korisnik 'darko' u grupama 'racun' i 'proj', a nije �lan grupe 'platni', o�ito je da prema osnovnim dozvolama pristup korisniku nije dozvoljen. Me�utim, u dodatnim dozvolama je dozvoljeno �itanje (1. red dodatnih dozvola). Drugi red dozvoljava �itanje i izmjenu svim korisnicima grupa 'racun' i 'proj'. Dakle, i drugi red se odnosi na korisnika 'darko'. Prvi red, me�utim, implicitno zabranjuje izmjenu i izvršavanje, te �e 'darko' ipak imati samo pravo �itanja.

1.11 Pojam sistem administratora (superuser, root) Osim redovnih, "obi�nih" korisnika, svaki UNIX operativni sustav ima i poseban korisni�ki ra�un za administriranje sustava (superuser, root). Korisnik root služi operativnom sustavu za izvo�enje osnovnih funkcija, kao npr. prijava i odjava korisnika, upravljanje ulazno-izlaznim ure�ajima itd. Zbog toga ima gotovo potpunu kontrolu nad operativnim sustavom: gotovo sva sigurnosna ograni�enja se zaobilaze ako se program izvršava od strane root korisnika. Tako�er se isklju�uju gotovo sve provjere i upozorenja. Root korisnik ima UID vrijednost 0 u datoteci /etc/passwd. Bilo koje korisni�ko ime može biti (ili naknadno postati) superuser, tj. dobiti privilegije sistemskog administratora. Svaki korisnik koji ima (dobije ili sam ostvari) UID vrijednost 0 ima privilegije superusera. sistem administrator treba pažljivo pratiti promjene u /etc/passwd datoteci odnosno u UID polju. Neo�ekivana pojava vrijednosti 0 u polju UID najvjerojatnije zna�i napad na ra�unalni sustav.

Page 242: Operativni sistemi (ETF)

239

U pravilu, ve�ina današnjih UNIX sistema je tako konfigurirana da se root korisnik može prijaviti na sistem samo sa sistemske konzole, a ne s ostalih terminala. Root korisnik može:

- uklju�iti i isklju�iti postupke pra�enja korisni�kih aktivnosti (logging, auditing) - �itati i izmijeniti svaku memorijsku lokaciju - pristupiti svakom ure�aju - isklju�iti ra�unalo (shutdown) - �itati, mijenjati i brisati svaku datoteku ili direktorij na sustavu - izvršiti svaki program - brisati, dodavati ili mijenjati obilježja korisnika (npr. lozinke) - mijenjati i dodjeljivati prava pristupa svakoj datoteci, direktoriju ili programu

1.11.1 Problemi sa root korisnikom Superuser je glavni sigurnosni nedostatak UNIX operativnog sustava. Pošto superuser može izvoditi gotovo sve operacije, nakon što napada� ostvari superuser privilegije, može u�initi mnoge neželjene aktivnosti na sistemu. Zato svaki napada� koji se uspije prijaviti kao obi�an, redovni korisnik na UNIX ra�unalo, pokušava postati superuser. Ve�ina sigurnosnih problema proizilazi iz zadobivanja superuser privilegija od strane obi�nih korisnika. Da bi se rizik smanjio, izme�u ostalog je neophodno:

- pohraniti važne podatke na prijenosnom mediju (removable media), tako da napada� koji zadobije privilegije superusera ipak ne�e imati pristup do kriti�nih datoteka, odnosno ne�e ih mo�i uništiti.

- šifrirati važne podatke; superuser ima sve privilegije na UNIX sistemu, ali to ne omogu�ava dešifriranje podataka šifriranih naprednim kriptografskim tehnikama

- redovito kreirati sigurnosne kopije korisni�kih i sistemskih datoteka (backup) 1.11.2 Zaštita root korisni�kog ra�una Osnovni na�in zaštite root korisni�kog ra�una jesu sigurnosni terminali. Napada�i se �esto pokušavaju prijaviti kao root korisnici uzastopnim poga�anjem root lozinke. Da bi se ovi pokušaji onemogu�ili ili ograni�ili, mogu�e je dopustiti izvo�enje procedure prijave root korisnika samo sa zašti�enih terminala. Ako je terminal ozna�en kao nesiguran, ne može poslužiti za prijavu root korisnika sa standardnom procedurom prijave (login prompt). Poslu deklariranja sigurnih terminala treba pristupiti vrlo pažljivo. Terminali s modemskom vezom nisu kandidati za sigurne terminale. Tako�er, terminali kojima fizi�ki može pristupiti ve�i broj osoba, tako�er ne bi trebali biti proglašeni sigurnima. Treba napomenuti da ako je terminal proglašen "nesigurnim", to ne zna�i da je zabranjeno izvršavanje superuser naredbi: to samo obvezuje korisnika da se prvo prijavi sa svojim korisni�kim imenom, a zatim naredbom su10 može postati root. Tako se dodaje još jedan nivo zaštite - da bi napada� mogao postati root, mora poznavati dvije lozinke (obi�nog korisnika i roota). Nasuprot tome, ako se terminal nalazi u posebno osiguiranoj sistemskoj prostoriji, može se deklarirati sigurnim �ime �e biti omogu�ena brza prijava roota sustavu, bez prethodnog korištenja naredbe su. 10 Naredba su omogu�ava ve� prijavljenom korisniku da se prijavi kao neki drugi korisnik. Npr. naredba su mzgela zna�i da se prijavljeni korisnik želi prijaviti kao korisnik mzgela. Upotreba naredbe su bez parametara zna�i da se korisnik želi prijaviti sustavu kao root. Ve�ina UNIX sustava automatski registrira - zapisuje (log) svaki pokušaj prijave root korisnika pomo�u su naredbe. To administratoru sustava može poslužiti za kontrolu neovlaštenih pokušaja prijave superusera.

Page 243: Operativni sistemi (ETF)

240

1.12 Zašto koristiti enkripciju u operativnom sustavu UNIX Možemo se zapitati zašto bismo u UNIX-u koristili tehnike šifriranja kada postoje sigurnosne metode koje obuhva�aju lozinke i dozvole pristupa do odre�enih datoteka i direktorija. Odgovor na ovo pitanje je vrlo jednozna�an: zbog superusera. Kao što je napomenuto u prethodnom poglavlju, superuser može zaobi�i sve provjere i restrikcije u sustavu datoteka (file system). Me�utim, niti superuser bez poznavanja klju�a ne može dešifrirati podatke šifrirane suvremenim algoritmom. To je važna razlika izme�u sigurnosnih kontrola zasnovanih na pristupnim dozvolama (access control) i lozinkama i kontrola zasnovanih na kriptografskim tehnikama. Kada se sadržaj datoteka štiti pristupnim privilegijama u okviru UNIX sustava datoteka, podaci su pohranjeni u �itljivom obliku (plain text). Svaki korisnik koji dobije pravi pristupa do odre�ene datoteke može "pro�itati" njezin sadržaj. Šifrirani podaci su zašti�eni: - tajnoš�u klju�a - što dulji klju�, ve�a je sigurnost - snagom algoritma šifriranja Usprkos �injenici da sistem administrator, ili netko tko neovlašteno zadobije superuser privilegije, može pristupiti svakoj, pa tako i šifriranoj datoteci, on ne�e mo�i dešifrirati njen sadržaj.

2. Neke mjere zaštite poslovanja preko Interneta Internet ima zna�ajan utjecaj na sve aspekte društva. Postaje izuzetno važno oru�e gospodarskih subjekata u marketinškim aktivnostima prema krajnjim kupcima i poslovnim partnerima. Broj obavljenih transakcija i, što je još važnije, koli�ina novca u optjecaju na Internetu su u velikom porastu. Me�utim, sigurnost ostaje središnji problem elektroni�kog poslovanja:

- potencijalni korisnici nemaju dovoljno povjerenja u sigurnost komunikacija i sigurnosne mjere koje poduzimaju ponu�a�i robe i usluga putem Interneta

- korisnici nemaju povjerenja u "virtualne du�ane" - u mnogim društvima, ve�ina pravnih problema još uvijek nije riješena

Prvi problem može biti djelomi�no riješen upotrebom naprednih kriptografskih tehnika i tehni�kim mjerama zaštite. Da bi upotreba kriptografskih tehnika postala efikasna, mora biti definiran pravni okvir. Neki tehni�ki problemi komunikacije preko Interneta koja treba riješiti su:

1. prisluškivanje poruka (osiguranje privatnosti) - packet sniffing Program za prisluškivanje paketa (packet sniffer) se instalira na odre�eno ra�unalo u mreži koje zaprima podatkovne pakete koji se prenose mrežom. Na takav na�in se prili�no jednostavno može do�i do lozinki pojedinih korisnika operativnog sustava, baza podataka i sli�no. Prisluškivanje paketa može biti vrlo korisno za nadgledanje mrežnog prometa (mrežni administratori), ali i neautoriziranim osobama za analizu podataka (hackers). Ovi programi se mogu i besplatno nabaviti na razli�itim Web stranicama. 2. maskiranje (autentikacija) - IP spoofing Svako ra�unalo na Internetu odašilje odgovaraju�e IP pakete. Paketi obavezno sadrže IP adresu ra�unala - pošiljatelja. Osoba s potpunom kontrolom softvera takvog ra�unala (npr. operativnog sustava), može izmijeniti protokol ra�unala te u paket ubaciti bilo koju IP adresu. Tako primatelj može ste�i lažnu informaciju o adresi pošiljatelja. 3. izmjena podataka prilikom prijenosa (data alteration)

Page 244: Operativni sistemi (ETF)

241

Poruku je mogu�e presresti u komunikacijskom kanalu, pro�itati je, izmijeniti i proslijediti primatelju. �ak i ako je poruka šifrirana tako da ju je nemogu�e pro�itati, napada� može poruku presresti, izmijeniti je i poslati primatelju. Recimo da dvije osobe (A i B) žele ostvariti "sigurnu komunikaciju". To zna�i da osoba A - pošiljatelj želi posti�i da osoba B – primatelj primi i uspješno pro�ita neizmijenjenu poruku. A želi biti siguran da doista komunicira s B. Naravno, vrijedi i obratno. Ovisno o vrsti poruke, A i/ili B mogu zahtijevati da nitko drugi ne može pro�itati sadržaj poruke dok je u komunikacijskom kanalu.

2.1 Uvod o kriptografskim tehnikama Šifriranje podataka (kriptografija) je skup postupaka kojima se mijenja na�in predstavljanja informacija s ciljem njihove zaštite. Pretvaranje izvornog skupa podataka (plaintext, clear text) u šifrirani (ciphertext) se naziva šifriranje (enkripcija, kriptiranje), a vra�anje šifriranog skupa podataka u izvorni dešifriranje (dekripcija, dekriptiranje). Šifriranje i dešifriranje se provodi prema nekom algoritmu i uz upotrebu jednog ili više klju�eva. Kaže se da je tehnika šifriranja pouzdana, ako pouzdanost ovisi samo o klju�u, a ne o algoritmu. Takvi algoritmi mogu biti i javni. Postupci šifriranja mogu osigurati sigurnu komunikaciju, �ak i kada je medij za prijenos (npr. Internet) nedovoljno siguran, tj. otvoren je za napade. Tako�er, šifriranje može poslužiti za kodiranje osjetljivih datoteka, kako napada� ne bi mogao do�i do njihovog stvarnog sadržaja. Kriptografija je skup procedura i tehnika za šifriranje koje omogu�avaju sigurnu pohranu i prijenos šifriranih podataka. Kriptografija je disciplina koja se bavi šifriranjem i dešifriranjem podataka, i to tako da se šifrirani podaci mogu dešifrirati samo od strane odre�enih pojedinaca. Sustav za šifriranje i dešifriranje podataka se zove kriptosustav. Kriptosustav obuhva�a algoritam za šifriranje i dešifriranje pomo�u jednog ili više klju�eva. Klju� je niz znakova poznat samo pošiljatelju i/ili primatelju. Kriptografija obuhva�a �etiri osnovne operacije:

1. šifriranje (enkripcija) 2. dešifriranje (obratno od 1.) 3. digitalno potpisivanje 4. provjera digitalnog potpisa (obratno od 3.)

Postupak šifriranja se može pojednostavljeno izjedna�iti sa spremanjem podataka u kuvertu. Po istoj analogiji, dešifriranje je sli�no otvaranju kuverte. Digitalno potpisivanje je sli�no ru�nom potpisivanju dokumenta i zatim parafiranju svakog dijela kako bi se osiguralo da se niti jedan dio dokumenta ne može promijeniti. Provjera digitalnog potpisa je ekvivalentna usporedbi potpisa sa potpisom u "mapi potpisa" i provjeri da li se ijedan dio dokumenta promijenio. Šifriranje se može koristiti za osiguranje:

1. tajnosti i privatnosti poruke: mogu�e je posti�i sigurnu komunikaciju i kada komunikacijski kanal sam po sebi nije siguran (Internet)

2. autentikacije: digitalni potpis dokazuje da je potpisnik, a ne netko drugi, potpisao dokument. Primatelj i pošiljatelj moraju biti sigurni u identitet druge strane.

3. integriteta podataka tj. poruke: ako je dokument izmijenjen nakon operacije digitalnog potpisivanja, operacija provjere digitalnog potpisa ne�e biti uspješna. �ak i ako su pošiljatelj i primatelj uspješno autenticirani, tako�er žele osigurati da poruka tijekom prijenosa nije izmijenjena, bilo slu�ajno ili namjerno

4. bezuvjetnog priznavanja (non-repudiation): potpisnik ne može naknadno tvrditi da nije digitalno potpisao dokument

Postoje dva tipa kriptografskih algoritama:

Page 245: Operativni sistemi (ETF)

242

1. simetri�ni 2. asimetri�ni

2.2 Simetri�ni algoritmi Simetri�ni algoritmi koriste identi�an klju� za šifriranje i dešifriranje. Osnovni nedostatak simetri�nih algoritama je upravljanje klju�evima. Jedinstveni klju� se mora dijeliti izme�u obje strane koje sudjeluju u komunikaciji. To uzrokuje dodatni problem distribucije klju�eva: kako da se pošiljatelj i primatelj dogovore oko tajnog klju�a, a da nitko ne otkrije njegov sadržaj? Trebalo bi koristiti pristupe kojima dvije strane komuniciraju bez bojazni od prisluškivanja i otkrivanja stvarnog sadržaja prenešenih podataka. To je posebno problemati�no u otvorenim, globalnim mrežama kao što je Internet. �ak i ako se klju�evi sigurnim putem razmijene izme�u obje strane, mora postojati povjerenje u drugu stranu da �e pažljivo �uvati zajedni�ki klju� i da ga ne�e odati tre�oj strani. Odre�ena osoba, mora imati razli�it tajni klju� za svaku osobu s kojom razmjenjuje poruke. Dakle, u ovakvom sustavu je neophodan vrlo visok stupanj povjerenja izme�u svih strana koje komuniciraju. Prakti�no, to zna�i da je sigurna komunikacija mogu�a samo ako su strane prethodno imale odre�ene kontakte. 2.2.1 Premještanje Premještanjem se mijenja me�usobni položaj znakova kojima se predstavlja informacija. Slijedi primjer u kojem se kao algoritam koristi vertikalni pomak znakova i dubina pomaka 3: izvorni tekst: DANAS JE LIJEP DAN vertikalni pomak: 3 D S _ E A

A A _ E L J P D N N J I _

šifrirani tekst: DS_EAAA_ELJPDNNJI_ 2.2.2 Supstitucija (zamjena) Tehnikom supstitucije se znakovi mijenjaju nekim drugim znakom ili grupom znakova. Da bi se zamjena mogla provesti, potrebno je poznavati ciljnu abecedu, tj. skup znakova u koje se znakovi izvornog teksta preslikavaju. Tri su tipa supstitucije:

- Cezarovo šifriranje – za šifriranje se koristi jedna ciljna abeceda �iji se znakovi izra�unavaju pomakom tj. odre�eni znak izvornog teksta se uvijek supstituira s istim znakom ciljne abecede. Vjeruje se da je još Julije Cezar koristio ovaj algoritam. Svaki znak izvorne poruke se mijenja sa znakom koji se nalazi k mjesta (pomak) nakon odre�enog znaka izvorne poruke. Na primjer, ako je pomak k=4, onda �e slovo 'e' izvorne poruke biti zamijenjeno s 'i' u šifriranoj poruci. - polialfabetska – za šifriranje se koristi više ciljnih abeceda tj. zamjena odre�enog znaka ovisi i o njegovoj poziciji u tekstu

Slijedi primjer monoalfabetske supstitucije u kojoj je pomak 4, a algoritam je horizontalni pomak za broj znakova klju�a: izvorni tekst: DOBAR DAN horizontalni pomak: 4 izvorna abeceda: A B C � � D D � E F G H I J K L M N O P R S Š T U V Z Ž _ ciljna abeceda: � D D � E F G H I J K L M NO P R S ŠT U V Z Ž _ A B C � šifrirani tekst: FŠD�U�F�S

Page 246: Operativni sistemi (ETF)

243

Na UNIX platformama i na Internetu je vrlo poznat jednostavni algoritam monoalfabetske supstitucije ROT13 (ROTate 13) kojim se ciljna abeceda pomi�e za 13 mjesta udesno. ROT13 je jednostavan algoritam za šifriranje teksta, ali nije namijenjen za osiguranje privatnosti i tajnosti nego prvenstveno za skrivanje teksta od jednostavnog �itanja. Naj�eš�e se koristi za skrivanje sadržaja poruka na Usenetu. Najjednostavniji na�in za korištenje ROT13 algoritma u npr. UNIX operativnom sustavu je upotreba naredbe tr (TRanslate): # /bin/sh tr 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 'nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM' Naredba �e prihvatiti tekst sa standardnog ulaza (tipkovnica) i zatim prikazati šifrirani tekst na standardnom izlazu (ekran). Slijedi primjer polialfabetske supstitucije sa dvije ciljne abecede, od kojih jedna ima pomak 3, a druga 5. Prvi znak izvorne poruke se supstituira s odgovaraju�im znakom prve ciljne abecede, drugi znak s odgovaraju�im znakom druge ciljne abecede, tre�i znak s odgovaraju�im znakom prve ciljne abecede itd. izvorni tekst: KAKO STE DANAS izvorna abeceda: A B C � � DDž� E F G H I J K L M N O P R S Š T U V Z Ž _ 1. abeceda (+3): � � DDž� E F G H I J K L MN O P R S Š TU V Z Ž _ A B C 2. abeceda (+5): DDž� E F G H I J K L MN O P R S Š T U VZ Ž _ A B C� � šifrirani tekst: NDNTCZZJCG�Š�Z Nakon što se poruka šifrira dogovorenim klju�em, pošiljatelj je šalje primatelju (slika 3).

Slika 3: Simetri�na enkripcija i slanje poruka

2.3 Jednostavni XOR simetri�ni algoritam Logi�ka operacija XOR (ekskluzivno ILI) je jedna od standardnih binarnih logi�kih operacija:

0 XOR 0 = 0 0 XOR 1 = 1

1 XOR 0 = 1 1 XOR 1 = 0

Mnogi algoritmi se zasnivaju na XOR operaciji. Jednostavni XOR algoritam, koji �e biti prikazan u nastavku, je simetri�ni algoritam. Izvorni tekst se pretvara u niz odgovaraju�ih binarnih brojeva, te se zatim provodi operacija XOR sa klju�em. Primjer:

Page 247: Operativni sistemi (ETF)

244

Izvorni tekst: Dobar dan. Izvorna abeceda: _.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz klju�: 2Mza Pošto izvorna abeceda ima 64 znaka, svaki znak se može predo�iti sa 6 binarnih znamenki. Postupak šifriranja: 1. izvorni tekst i klju� pretvoriti u niz binarnih brojeva: Izvorni tekst: D se nalazi na 15. poziciji izvorne abecede - > 15(10) = 001111(2) o ... 52. ... - > 52(10) =110100(2) b ... 39. ... - > 39(10) = 100111(2) a ... 38. ... - > 38(10) = 100110(2) r ... 55. ... - > 55(10) = 110111(2) _ ... 0. ... - > 0(10) = 000000(2) d ... 41. ... - > 41(10) = 101001(2) a ... 38. ... - > 38(10) = 100110(2) n ... 51. ... - > 51(10) = 110011(2) . ... 1. ... - > 1(10) = 000001(2) Klju� (24 bita): 2 ... 4. ... - > 4(10) = 000100(2) M ... 24. ... - > 24(10) = 011000(2) z ... 63. ... - > 63(10) = 111111(2) a ... 38. ... - > 38(10) = 100110(2) 2. Izvršiti XOR operaciju binarnih vrijednosti izvornog teksta i klju�a:

D o b a r _ d a n . XOR 2 M z a 2M z a 2 M 001111 110100 100111 100110 110111 000000 101001 100110 110011 000001 XOR 000100 011000 111111 100110 000100 011000 111111 100110 000100 011000 = 001011 101100 011000 000000 110011 011000 010110 000000 110111 011001 3. Dobiveni niz 6-znamenkastih binarnih brojeva pretvoriti u izvornu abecedu, prema rednom broju. 001011(2) = 11(10) na 11. poziciji izvorne abecede se nalazi znak 9 101100(2) = 44(10) na 44. ... g 011000(2) = 24(10) na 24. ... M 000000(2) = 0(10) 0. ... _ 110011(2) = 51(10) na 51. ... n

011000(2) = 24(10) na 24. ... M 010110(2) = 22(10) na 22. ... K 000000(2) = 0(10) na 0. ... _ 110111(2) = 55(10) na 55. ... r 011001(2) = 25(10) na 25. ... N

Šifrirani tekst je: 9gM_nMK_rN Za operaciju ekskluzivno ILI vrijedi:

x XOR y = z i z XOR y = x pa je dešifriranje obrnut proces: 1. svaki šifrirani znak se pretvara u niz binarnih vrijednosti, u ovisnosti o poziciji u izvornoj abecedi 2. Izvršiti XOR operaciju binarnih vrijednosti izvornog teksta i klju�a

Page 248: Operativni sistemi (ETF)

245

3. Dobiveni niz binarnih brojeva pretvoriti u niz znakova, u ovisnosti o poziciji u izvornoj abecedi.

2.4 Zaklju�ak o simetri�nim algoritmima Problemi koje simetri�ni algoritmi ne rješavaju su autentikacija, bezuvjetno prihva�anje i sigurna distribucija klju�eva. Pošto dvije strane koriste odre�eni tajni klju�, mogu�e je da jedna strana kreira odre�enu poruku u ime druge strane. Tako�er, ako je mreža preko koje se podaci prenose otvorena (npr. Internet), sigurna razmjena klju�eva može biti vrlo problemati�na. Nedostaci su riješeni asimetri�nim algoritmima. Osnovna prednost simetri�nih algoritama je njihova brzina. 2.5 Asimetri�ni algoritmi Problemi iskazani u to�ki 5.3 su teorijski obradili Whitfield Diffie i Martin Hellman koji su 1976. godine objavili koncept metode za razmjenu tajnih poruka bez razmjene tajnih klju�eva. Ideja je prakti�no implementirana s izumom RSA algoritma. Umjesto korištenja istog (tajnog) klju�a za šifriranje i dešifriranje, RSA koristi dva klju�a: svaki klju� je inverzna funkcija drugoga. Javni klju� (public key) je dostupan svim zainteresiranim stranama, dok je privatni klju� (private key) tajan, tj. poznat je samo vlasniku. Javni klju� se koristi za šifriranje i provjeru potpisa, a privatni klju� za dešifriranje i kreiranje potpisa Pošto je javni klju� svima dostupan, a privatni klju� je tajan, svatko može koristiti javni klju� za šifriranje poruke koja se šalje primatelju s odgovaraju�im privatnim klju�em, a samo osoba koja doista posjeduje privatni klju� može provesti operaciju dešifriranja (slika 4). Tako�er, samo osoba koja posjeduje odgovaraju�i privatni klju� može digitalno potpisati poruku, dok svatko tko posjeduje javni klju� može provjeriti valjanost digitalnog potpisa.

Slika 4: Slanje poruka asimetri�nom enkripcijom Osnovni problem je �uvanje tajnog klju�a, jer osoba koja ga posjeduje može dešifrirati sve poruke šifrirane s korespondiraju�im javnim klju�em, te potpisivati poruke u ime vlasnika. 2.5.1 Digitalno potpisivanje i provjera Digitalni potpis se koristi kada se želi osigurati integritet poruke i autentikacija pošiljatelja. Digitalno potpisivanje ne mijenja poruku, nego se kreira dodatni niz podataka koji se prenosi zajedno s porukom.

Page 249: Operativni sistemi (ETF)

246

Privatni klju� se koristi za generiranje potpisa, a odgovaraju�im javnim klju�em se provjerava potpis (slika 5). Koncept digitalnog potpisa omogu�ava korisnicima da provjere da li je poruka doista izra�ena od strane odre�ene osobe-vlasnika privatnog klju�a i da li je izmijenjena u komunikacijskom kanalu. Osim digitalnog potpisivanja, poruka može, ali i ne mora, biti šifrirana. Digitalno potpisivanje se svodi na:

1. izra�un sažetka poruke (hash) - S i 2. šifriranje sažetka poruke (S) pomo�u privatnog klju�a pošiljatelja.

Slika 5: Digitalno potpisivanje i provjera digitalnog potpisa Provjera digitalnog potpisa se svodi na:

1. dešifriranje sažetka (DS) korištenjem javnog klju�a pošiljatelja, 2. izra�un sažetka (S) primljene poruke i 3. usporedbu dešifriranog sažetka (DS) sa izra�unatim (S)

Ako su sažeci razli�iti, poruka ili sažetak su promijenjeni u komunikacijskom kanalu. Funkcija za kreiranje sažetka (hash functions)11, bi trebala biti što više jednosmjerna (one-way) tako da je:

- za poznatu vrijednost sažetka i/ili poruke, vrlo teško kreirati drugu poruku s istom vrijednoš�u sažetka

- posebno teško izvesti modifikaciju postoje�e poruke, a da sažetak bude identi�an sažetku izvorne poruke

Primjer funkcije za kreiranje sažetka je npr. izra�un kontrolnog broja (checksum). Naj�eš�e se koristi funkcija za izra�un kontrolnog broja po modulu 11. Prema prethodno re�enome, može se zaklju�iti da vjerodostojnost digitalnog potpisa (strength of a signature) ovisi o kvaliteti jednosmjerne funkcije za izradu sažetka i o tehnici za šifriranje sažetka. Ako funkcija nije dovoljno jednosmjerna, originalna poruka može biti izmijenjena. Ako je tehnika za šifriranje sažetka nedovoljno snažna tj. postoji mogu�nost relativno lakog probijanja, poruka je mogla do�i od nekoga drugoga, a ne od stvarnog vlasnika privatnog klju�a.

11 Najpoznatije funkcije za kreiranje sažetka su SHA-1 i MD5

Page 250: Operativni sistemi (ETF)

247

Funkcije šifriranja i dešifriranja poruka, potpisivanje i provjera potpisa zahtijevaju distribuciju javnih klju�eva:

- Ako osoba A želi poslati šifriranu poruku osobi B, A mora poznavati javni klju� od B.

- Ako osoba B želi provjeriti digitalni potpis poruke koja dolazi od A, B mora poznavati javni klju� od A.

Tu se postavlja važno pitanje: kako primatelj može biti siguran kome pripada odre�eni javni klju�? Ako primatelj primi javni klju�, za koji se tvrdi da je klju� njegove banke, da li bi trebao u to povjerovati? Prikladan odgovor bi mogao biti: "Ovisi tko je rekao da se radi o javnom klju�u odre�ene banke". Digitalni certifikati i infrastruktura javnih klju�eva omogu�ava povezivanje javnih klju�eva sa odre�enim fizi�kim i pravnim osobama. Digitalni certifikat je potpisani digitalni dokument koji povezuje javni klju� s dodatnim informacijama o vlasniku (npr. javni naziv, adresa itd.). 2.6 Usporedba simetri�ne i asimetri�ne enkripcije Osnovna prednost asimetri�nog šifriranja je pove�ana sigurnost i olakšana distribucija klju�eva. Privatni klju�evi se nikada ne moraju prenositi komunikacijskim linijama niti ih treba dijeliti s drugim osobama. Nasuprot, u simetri�nim tehnikama tajni klju� mora biti poznat i primatelju i pošiljatelju, pošto se isti klju� koristi za šifriranje i dešifriranje. Mogu�nost da napada� otkrije vrijednost tajnog klju�a tijekom prijenosa predstavlja ozbiljnu prijetnju. Nadalje, asimetri�no šifriranje osigurava koncept digitalnih potpisa kojem se vjerodostojnost autentikacije ne može naknadno zanijekati. U sustavima koji koriste simetri�no šifriranje preduvjet autentikacije je dijeljenje tajnog klju�a i povjerenje tre�e strane. U takvom sustavu, vrlo je teško osigurati da pošiljatelj ne može zanijekati slanje ve� autenticirane poruke. Pošiljatelj može tvrditi da je dijeljeni klju� kompromitiran od strane osobe (ili osoba) koje ga dijele. Primjer ovakvog sustava je Kerberos koji sadrži centralnu bazu podataka tajnih klju�eva svih korisnika sustava. Uspješan napad na bazu podataka bi omogu�io napada�u lažnu autentikaciju i prijevare. Autentikacija pomo�u javnih klju�eva spre�ava ovakav scenario, pošto je svaki korisnik odgovoran za zaštitu vlastitog tajnog (privatnog) klju�a. Osnovna prednost simetri�ne kriptografije je brzina: simetri�ni algoritmi su u pravilu zna�ajno brži od trenutno dostupnih asimetri�nih algoritama. U nekim situacijama, asimetri�na kriptografija nije potrebna - simetri�ni sustavi mogu zadovoljiti potrebe za sigurnom komunikacijom. Takav slu�aj je u zatvorenim sustavima, u kojima su sve strane koje komuniciraju me�usobno poznate i jedna nadležna (centralna, ovlaštena) ustanova poznaje i upravlja svim klju�evima. Pošto nadležna ustanova zna sve klju�eve, koristi se zatvorena ra�unalna mreža (a ne Internet), nema mnogo prednosti u implementaciji privatnih i javnih klju�eva. Tako�er, simetri�na enkripcija je jedino logi�no rješenje u jednokorisni�kim sustavima. Npr. ako postoji potreba za šifriranjem korisni�kih datoteka, to se može u�initi sa simetri�nim algoritmom korištenjem osobne lozinke kao tajnog klju�a. Mnogi suvremeni kriptografski algoritmi koriste kombinaciju asimetri�ne i simetri�ne enkripcije s ciljem iskorištenja prednosti oba pristupa. Asimetri�na enkripcija se može upotrijebiti za razmjenu tajnog klju�a izme�u primatelja i pošiljatelja. Pošto je šifriranje podataka naj�eš�e vremenski najzahtjevniji dio sigurnog komuniciranja, korištenje asimetri�ne enkripcije za razmjenu klju�a predstavlja zanemarivi dio cijelog postupka šifriranja. Može se zaklju�iti da: 1. asimetri�na kriptografija osigurava efikasno korištenje digitalnih potpisa i upravljanje distribucijom klju�eva 2. simetri�na kriptografija je efikasna u šifriranju poruka Privatni klju�evi u asimetri�nim sustavima moraju biti znatno dulji nego tajni klju�evi u simetri�nim sustavima. Pretraživanje svih mogu�ih klju�eva ("sirovi napad" - brute force attack, exhaustive key search) je najefikasniji na�in napada na poruke šifrirane simetri�nim algoritmima. Svi poznati asimetri�ni algoritmi su podložni efikasnijim metodama, tj. nije potrebno pretražiti cijelu domenu klju�eva. Posljedica je da bi,

Page 251: Operativni sistemi (ETF)

248

za jednaki stupanj sigurnosti, klju�evi u asimetri�nom sustavu trebali biti 10 puta ve�i od tajnih klju�eva u simetri�nim sustavima.

2.7 RSA algoritam za asimetri�nu enkripciju RSA je algoritam asimetri�ne enkripcije koji omogu�ava šifriranje i digitalno potpisivanje tj. autentikaciju. Najkorišteniji je asimetri�ni sustav šifriranja današnjice i �esto se naziva de facto standardom. Pošto se nalazi u širokoj upotrebi, šifrirani i potpisani dokumenti se mogu razmjenjivati izme�u velikog broja korisnika neovisno o softveru i platformama na kojima se koristi. Preduvjet primjene RSA algoritma je generiranje (izrada) javnog i tajnog klju�a. Trenutno je vrlo teško do�i do privatnog klju�a na osnovi poznatog javnog klju�a. Ako bi netko pronašao jednostavnu metodu za pronalaženje privatnog klju�a na osnovi javnog klju�a, RSA algoritam bi bio probijen (cracked). U praksi, RSA se u pravilu koristi u kombinaciji sa nekim simetri�nim algoritmom. Takvo korištenje se naziva RSA digitalna omotnica (RSA digital envelope): 1. pošiljatelj izabire slu�ajni tajni klju� S

2. pošiljatelj šifrira poruku korištenjem simetri�nog algoritma (npr. DES) i tajnim klju�em (S) 3. pošiljatelj koristi primateljev javni klju� i RSA algoritmom šifrira klju� S 4. šifrirana poruka i tajni klju� �ine RSA digitalnu omotnicu koja se šalje primatelju

Slika 6: Digitalna omotnica - aktivnosti pošiljatelja

1. primatelj dešifrira tajni klju� S sa svojim privatnim klju�em i RSA algoritmom 2. primatelj koristi tajni klju� S i simetri�ni algoritam za dešifriranje poruke.

Page 252: Operativni sistemi (ETF)

249

Slika 7: Digitalna omotnica - aktivnosti primatelja Ovaj pristup kombinira brzinu simetri�nih algoritama sa prednostima distribucije klju�eva algoritma RSA.

2.8 Infrastruktura javnog klju�a (Public Key Infrastructure - PKI)

Zaštita informacija koje se prenose globalnom i otvorenom svjetskom mrežom kao što je Internet je usporedivo sa procedurom potpisivanja obi�nog pisma, stavljanjem u omotnicu i pe�atiranja. Potpis osigurava autenti�nost, a pe�atirana omotnica garantira privatnost sadržaja poruke. Simetri�ni algoritmi osiguravaju privatnost šifriranjem poruke upotrebom tajnog klju�a. Primatelj dešifrira poruku korištenjem istog klju�a. Osnovni problem ovakvog pristupa leži u upravljanju i distribuciji klju�eva. Kriptografija javnog klju�a rješava ove probleme, ali sama po sebi nije dovoljna ako je potrebno ostvariti uvjete za tradicionalno poslovanje, ali korištenjem Interneta i ra�unalne tehnologije. Osnovni je problem kako garantirati da odre�eni javni klju� pripada odre�enom poslovnom subjektu ili osobi. Ovaj problem se rješava digitalnim potvrdama (digital certificates). Digitalne potvrde povezuju identitet osobe s javnim klju�em, a u biti su javni klju�evi potpisani od strane ovlaštenog izdavatelja potvrda (certificate authority). Ovlašteni izdavatelj potvrda je tre�a strana u koju oba sudionika u komunikaciji imaju potpuno povjerenje. Infrastruktura javnih klju�eva (Public Key Infrastructure) je skup mjera, postupaka i aktivnosti za izradu i dodjelu digitalnih potvrda. Infrastruktura mora definirati:

- sigurnosnu politiku - proizvode koji generiraju, pohranjuju ili upravljaju klju�evima

- procedure koje objašnjavaju kako se digitalne potvrde generiraju, distribuiraju i koriste Infrastruktura javnih klju�eva je kombinacija strojne podrške i programskih proizvoda, politika i procedura. Osigurava osnovni okvir neophodan za sigurno komuniciranje i poslovanje zainteresiranih strana koje prethodno jesu ili nisu imale kontakte. Tako se postiže ostvarenje �etiri osnovna sigurnosna obilježja transakcija elektroni�kog poslovanja (E-business):

1. Privatnost - tajnost informacija 2. Integritet - osiguravanje da se informacija nije promijenila tijekom prijenosa komunikacijskim kanalom

3. Autentikacija - dokazivanje identiteta osoba pošiljatelja i primatelja12 4. Bezuvjetno prihva�anje - osiguravanje da pošiljatelj ne može naknadno zanijekati da je poslao odre�enu poruku

12 Tako�er postoji potreba za identificiranjem/autentikacijom aplikacija koje automatski provode odre�ene aktivnosti na osnovi naloga osoba (npr. agenti). Naime, nakon definicije odre�enih pravila i ponašanja, agenti su ovlašteni izvršavati odre�ene zadatke.

Page 253: Operativni sistemi (ETF)

250

Kao što je ve� naglašeno, PKI se zasniva na digitalnim potvrdama koji funkcioniraju kao "osobne karte". U praksi, ako poslužitelj ima digitalnu potvrdu koju prezentira klijentima koji mu pristupaju, onda klijenti mogu biti sigurni u identitet poslužitelja. Korisnik koji kontaktira Web stranicu koja ima digitalnu potvrdu potpisanu od strane povjerljivog ovlaštenog izdavatelja potvrda, može biti siguran da poslužitelj doista pripada organizaciji navedenoj u potvrdi. Vrijedi i obrnuto: digitalne potvrde osiguravaju pouzdanost u identitet klijenta. Kada korisnik do�e na odre�enu Web stranicu, server može biti siguran u identitet klijenta ako primi njegovu digitalnu potvrdu. Digitalne potvrde su osnova sigurne komunikacije i kontrole pristupa na Internetu i intranetu. Osiguravaju slijede�e: - visok nivo sigurnosti - autentikacija pomo�u digitalnih potvrda smanjuje sigurnosni rizik jer korisnik ne mora slati korisni�ko ime i lozinku kroz nesigurnu mrežu; potvrde se mogu slati preko nesigurnih telekomunikacijskih linija - ako napada� izmijeni podatke iz potvrde, na strani primatelja �e to biti primije�eno - jednokratnu prijavu (single log on) - potvrde omogu�avaju jednokratnu prijavu ve�em broju poslužitelja i usluga. Korisnici ne moraju pamtiti razli�ita korisni�ka imena i lozinke za razli�ite usluge i aplikacije. Korisnici se prijavljuju jednom, a njihov Web pretraživa� (Web browser) automatski serverima dostavlja digitalnu potvrdu kada je to potrebno. Ovakvo rješenje pojednostavljuje administriranje, pošto nije potrebno održavati bazu podataka korisnika na svakom serveru. Komponente PKI-a su: 1. Sigurnosna politika (Security Policy) Sigurnosna politika definira sigurnosne smjernice organizacije, kao i opis principa korištenja kriptografskih tehnika. Sadrži opis manipulacije klju�evima i vrijednim informacijama, te postavlja kontrolne mehanizme za upravljanje rizicima. 2. Ovlašteni izdavatelj potvrda (Certificate Authority - CA) Ovlašteni izdavatelj potvrda je osnovica PKI-a. Upravlja digitalnim potvrdama javnih klju�eva. Zadaci CA su: - izdavanje potvrda kojima se garantira veza izme�u identiteta korisnika i javnog klju�a - potvrda se potpisuje privatnim klju�em CA - povla�enje potvrda kada je potrebno - to se osigurava objavom liste uskra�enih potvrda (Certificate Revocation List - CRL) - efikasno distribuiranje potvrda - to se postiže poslužiteljem direktorija certifikata (Certificate Directory Server) 3. Ovlašteni registracijski ured (Registration Authority - RA) Ovlašteni registracijski ured je veza izme�u osoba koje zahtijevaju potvrdu i CA. RA provjerava identitet osoba i ovlaštenom izdavatelju potvrda dostavlja zahtjev za potvrdom. Kvaliteta ovog postupka je klju�na za stupanj povjerenja koji se može imati u potvrde. 4. PKI aplikacije To su aplikacije koje koriste tehnologiju javnog klju�a. Podržavaju generiranje javnih i privatnih klju�eva, digitalne potpise, šifriranje i upravljanje digitalnim potvrdama. Primjeri ovakvih aplikacija su usluge WWW-a, e-mail, podrška za transakcije inicirane kreditnim karticama itd.

Page 254: Operativni sistemi (ETF)

251

2.8.1 Sigurnost CA i RA CA i RA su centralne komponente svakog PKI-a. Sigurnost ovih sustav je od primarne važnosti, jer ako je narušena, ugrožen je i cijeli PKI sustav. Posebno je osjetljivo pitanje sigurnosti privatnog klju�a CA kojim se potpisuju javni klju�evi klijenata tj. kojim se kreiraju sve izdane potvrde. Ra�unala s kojih se provodi potpisivanje javnih klju�eva, tj. koja imaju pristup do privatnog klju�a, ne bi trebala biti povezana s mrežama izvan sigurnog CA okruženja (npr. Internet). Tako�er, neophodno je na sigurnim mjestima �uvati rezervne kopije privatnih klju�eva, koje se koriste za potrebe oporavka od nezgode (disaster recovery). Fizi�ki pristup u prostorije CA i RA mora biti rigorozno kontroliran – npr. korištenjem pametnih kartica za autentikaciju i autorizaciju osoba. Poželjno je da su za proces odobravanja potvrda potrebna barem dva operatera. Sve potvrde moraju biti potpisane pouzdanim algoritmom za šifriranje. Preporu�a se da duljina privatnog klju�a CA kojim se potpisuje javni klju� korisnika nije manja od 1024 bita. U osnovi, digitalna potvrda se izdaje u pet koraka: 1. Popunjavanje korisni�kog zahtjeva – obrazac za registraciju je objavljen na CA i RA web stranicama.

Može biti interaktivno (on-line) popunjen ili se može zatražiti otisnuti obrazac. 2. Registracija – registracija se obavlja osobno u prostoru RA; identifikacijski dokumenti (osobna karta,

putovnica) se koriste za autentikaciju fizi�kih osoba, a dokumenti o registraciji za pravne osobe. 3. Izdavanje potvrde – nakon primanja i ponovne provjere registracijskog obrasca, CA izdaje potvrdu;

potvrda se u pravilu dostavlja e-mailom. 4. Instalacija – korisnik instalira potvrdu na svoj sistem i podešava korištenje u svojim aplikacijama 5. Objava potvrde – CA dodaje izdanu potvrdu u javnu listu potvrda (public certificate directory). Ova

lista se zasniva na Web tehnologiji i omogu�ava pretraživanje podataka o potvrdama i njihovim vlasnicima.

2.9 Tehnologija vatrozida (Firewall technology) Tehnologija vatrozida obuhva�a skup mehanizama koji propuštaju ili blokiraju promet podataka izme�u unutrašnje (LAN) i vanjske mreže (Internet). Važna pretpostavka implementacije vatrozida je sigurnosna politika koja bi se trebala sastojati od pravila koja eksplicitno odre�uju koji dio prometa izme�u vanjske i unutrašnje mreže treba propuštati, a koji dio blokirati. Stupanj restriktivnosti ili slobode pristupa do odre�enih podataka bi trebao biti uskla�en s vrijednosti i tajnovitosti podataka unutrašnje mreže, tj. sa potencijalnim gubicima u slu�aju gubitka ili kra�e podataka, te prekida rada ra�unalne mreže i opreme. U organizaciji koja ih koristi, vatrozidi mogu ograni�iti koli�inu štete koju napada� može po�initi: napada� se, eventualno, može probiti do odre�enog skupa ra�unala, ali vatrozid ne�e dopustiti prolaz do ostalih, važnijih ra�unala koji se nalaze iza vatrozida. 3.9.1 Predefinirano dopuštanje i zabrana (default permit vs. deny) Osnovna funkcija vatrozida je ograni�avanje tijeka informacija izme�u dvije mreže. Da bi vatrozid bio odgovaraju�e implementiran, potrebno je definirati koji tipovi podataka mogu pro�i iz jedne mreže u drugu i obratno, te koji podaci se ne smiju prenijeti. Ova pravila se definiraju vatrozidnom politikom (firewall policy). Osnovni pristupi definiranju politike su: - predefinirano dopuštanje Postavljaju se pravila koja rezultiraju ne dopuštanjem prolaska podataka. Svako ra�unalo i protokol koji nije obuhva�en pravilom �e biti propušten kroz vatrozid. - predefinirana zabrana

Page 255: Operativni sistemi (ETF)

252

Postavljaju se specifi�na pravila koja dopuštaju prolazak podataka pod to�no odre�enim uvjetima. Nenavedena ra�unala i protokoli koja nisu navedena u pravilima ne�e biti propuštena kroz vatrozid. Oba pristupa imaju odre�ene nedostatke i prednosti. Osnovna prednost predefiniranog dopuštanja je jednostavno konfiguriranje: administrator blokira prolaz protokolima i ra�unalima koji su nepoželjni. U slu�aju predefinirane zabrane, potrebno je navesti sve protokole i ra�unala kojima je dopušten prolaz. S oba pristupa je mogu�e kreirati vatrozid koji je siguran ili nesiguran, ako se dopušta ili se propusti zabraniti odre�eni tip komunikacije. 3.9.2 Ukratko o upotrebi vatrozida Vatrozid je smješten na presjeku dvije mreže i stoga se može koristiti za neke druge svrhe osim kontrole pristupa: 1. Zabrana pristupa odre�enim Web stranicama za sve korisnike ili zabrana odre�enim korisnicima i/ili ra�unalima da pristupaju odre�enim uslugama i/ili poslužiteljima. 2. Nadgledanje prometa izme�u bilo kojeg ra�unala u LAN-u (prema IP adresi) i vanjske mreže (Internet). Na primjer, 56 KB iznajmljena veza s Internetom omogu�ava prijenos 605 MB podataka dnevno, tj. 4,03 GB tjedno što se može pohraniti na jednu 8mm digitalnu traku. Ovi podaci mogu biti vrlo bitni za pra�enje pokušaja napada ili otkrivanje internih subverzivnih radnji. 3. Ako organizacija ima više fizi�kih lokacija i postoji vatrozid na svakoj lokaciji, mogu�e je programirati vatrozide tako da automatski šifriraju podatkovne pakete koji se prenose od jednog do drugog �vora. Tako se javna, globalna Internet mreža može koristiti kao privatna mreža bez kompromitiranja podataka. �esto se ovakav koncept naziva virtualnom privatnom mrežom (Virtual Private Network - VPN).

Literatura: 1. Baker, R. : Computer Security Handbook, TAB Books, Blue Ridge Summit, 1991. 2. Date, C. J.: An Introduction to Database Systems, Addison-wesley, Reading, 1995. 3. Garfinkel, S; Spafford, G.: Practical UNIX & Internet Security, O'Reilly, 1996. 4. Koch, G.; Loney, K.: Oracle - The Complete Reference, McGraw-Hill, Berkeley, 1997. 5. Martin J.; Odell, J.: Object-Oriented Methods - A Foundation, Prentice Hall, Englewood Cliffs, 1995. 6. Orfali, R., et al.: The Essential Client/Server Survival Guide, John Wiley&Sons, New York, 1996. 7. Scherer, S., et al.: Oracle 8i - Tips & Techniques, Oracle Press, Redwood Shores, 2000. 8. Schneier, B.: Applied Cryptography, John Wiley & Sons, New York, 1996. 9. Skoblar, M.; Žgela, M.: Napredna svojstva Oracle8 baze podataka, CASE savjetovanje, Opatija, 1999. 10. Vujnovi�, R.: SQL Relacijski model podataka, Znak, Zagreb, 1995. 11. Žgela, M.: Bankovni informacijski sustavi, Hrvatski institut za bankarstvo i osiguranje - skripte za predavanje, Zagreb, 2000. 12. Žgela, M.: Some Public Key Cryptography Issues in E-business, Me�unarodni simpozij IIS, Varaždin, 2000.

Page 256: Operativni sistemi (ETF)

DISTRIBUIRANI OPERATIVNI SISTEMI I pored velikih istraživanja u ovoj oblasti, narocito u poslednjoj dekadi, distribuirani operativni sistemi koji su danas prisutni ne predstavljaju sistem opšte namene koji uspeva da ispoštuje sve principe distribuiranih sistema

1. Definicija distribuiranog operativnog sistema Krajem prošle dekade doživljavamo veliku ekspanziju u broju i velicini računarskih mreža kao i razvoj same kako hardverske arhitekture tako i softverskih modela. Opšte prisuran je trend napredovanja mobilnosti, i portabilnosti u softverskim modelima kao i želja za povezivanjem uredaja i resursa na globalne računarske mreže.

Preteče distribuiranih operativnih sistema su bili sistemi sa podrškom za više procesora sa zajedničkom memorijom nakon cega su došli mrežni operativni sistemi na kojima se izvršavaju složeni distribuirani sistemi uz pomić middleware sloja jer sam OS nema podršku za transaprenciju distribucije. Uključivanjem middleware sloja u sam OS dolazimo do distribuiranog operativnog sistema koji implementira transparentnost distribucije i manje ili više omogućava izvršavanje procesa kao na jednoprocesorskom sistemu sa zajedničkom memorijom i resursima. Distribuirani operativni sistem je sistem koji upravlja kolekcijom nezavisnih računara i njihovim resursima čineci da se oni korisniku prikazju kao jedan računarski sistem. Iako istraživanja u ovoj oblasti do sada

imaju velikog uspeha, distribuirani operativni sistemi koji danas postoje ne ispunjavaju sve zadatke distribuiranih sistema. Proširivost i transparentnost konkurencije su veliki problemi upravo zbog nepostojanja centralizovanog upravljanja resursima kao u klasicnim operativnim sistemima. Svaki čvor distribuiranog sistema mora imati implementaciju kernela koji će upravljati lokalnim resursima obezbedujuci njihovu distribuciju na nivou celokupnog sistema svih čvorova – najcešće obeleženog kao klaster. Čvorovi mogu biti isti, kada se govori o homogenom, ali i razliciti kada je riječ o heterogenom klasteru. Za potrebe distribuiranog operativnog sistema koriste se mikrokerneli koji sadrže minimum koda koje je potrebno izvršiti u kernel modu (postavljanja podešavanja nad hardverom,

1

Page 257: Operativni sistemi (ETF)

prebacivanje procesora sa procesa na proces, upravljanje MMU procesora, prihvatanje hardverskih prekida itd.) dok se sve ostale celine (upravljanje procesima, memorijom, resursima, komunikacija itd) obavljaju iz procesa pokrenutih u korisničkom modu iz procesa kernela. Prednost mikrokernela je u fleksibilnosti, sami djelovi sistema iz korisničkog prostora mogu imati potpuno drugačiju realizaciju na razlicitim čvorovima, uz zadržavanje istog interfejsa komunikacije sa kernelom. Mana mikrokernela je pojava usporavanja usled povecanja komunikacije izmedu delova sistema, što za distribuirane operativne sisteme ne predstavlja veliki gubitak pošto se odvijaju u mrežnom okruženju gde nesumnjivo postoje mnogo uža uska grla. Druga mana je razbijanje tradicije razvoja sistemskog softvera koji nije u skaldu sa monolitickim kernelima koji se koriste u današnjim Unix sistemima. Distribuirani operativni sistemi pak inače razbijaju stege konzervatizma razvoja te mikrokerneli definitivno predstavljaju najbolje rešenje za korišćenje. Distribuirani operativni sistem treba da obavlja sve poslove klasicnog operativnog sistema (upravljanje memorijom, procesima i resursima) samo u drugačijem okruženju. Osnova svakog distribuiranog sistema je komunikacija sa ostalim čvorovima koja se odvija po odredenom aplikativnom protokolu. Uvek treba znati da se distribuirani operativni sistemi izvršavaju u mrežnom okruženju te je komunikacija često nepouzdana i prespora. Postoje brojna rešenja kako se sigurnost i brzina komunikacije mogu povecati korišćenjem kvalitetnih aplikativnih protokola koji imaju brzo vreme odziva i dobru kontrolu grešaka, koji dobro povezuju i dobro prosleduju poruke čvorovima klastera, Krajnja reprezentacija distribuiranog operativnog sistema je virtualni sistem (VM computer) koji na raspolaganju ima sve resurse klastera i u svakom trenutku može obezbediti korisniku njihovo korišćenje

2. Komponente DOS-a Pod komponentama distribuiranog operativnog sistema se pored komponenata klasicnog operativnog sistema (upravljanje memorijom, resursima i procesima) ubrajaju i komponenete koje se nalaze u slojevima iznad ili ispod nabrojanih. U ove dodatne, za DOS specificne komponente se ubrajaju model deljenja memorije, model deljenja resursa i procesorskog vremena, kao i komunikacija i sinhronizacija. Distribuirani operativni sistem takode mora implementirati kontrolu grešaka u sistemu, sigurnosnu zaštitu pri pristupu resursima kako na korisničkom tako i na sistemskom nivou, distribuirani sistem datoteka,... Da bismo dobili distribuirani operativni sistem opšte namene, mora postojati, pored vec u sistemu obezbedene transparencije, i dodatni nivo emulacije sistema koji uskladuje API sistema (interfejs koji procesi koriste za komunikaciju sa sistemom, potraživanje i oslobadanje memorije i resursa itd) sa POSIX i SysV specifikacijama bilo da se to radi na binarnom nivou (podrška za pokretanje programa kompajliranih za druge sisteme) ili putem specijalnih biblioteka koje ostvaruju kompatibilnost i sa programom se vezuju za vreme prevodenja stvarajuci verziju programa za konkretni distribuirani operativni sistem. Model deljenja memorije Jedan od razloga zašto je mnogo teže napraviti distribuirani operativni sistem jeste iz razloga što nije moguće kao kod klasicnih operativnih sistema vrlo jednostavno napraviti deljenje memorije gde će biti smešteni podaci o stanju sistema kako softvera tako i hardvera i njegovih kompozitnih

2

Page 258: Operativni sistemi (ETF)

delova, potrebni za rad operativnog sistema. Za razliku od toga posedujemo samo razmenu poruka kroz komunikacione mehanizme. Kašnjenje takvih poruka u komunikaciji usled zagušenja mreže, a pak neophodna komunikacija u realnom vremenu za, na primer blokiranje pojedinih resursa, samo otežava stvar. Upravo zbog navedenog problema, pojavili su se razliciti modeli koji pružaju emuliranje deljene memorije unutar klastera. Uz pomić ovakvog dizajna pruža se podrška za rad programima koji su pisani za klasicne sisteme, a omogućena je i podrška POSIX stadarda. Jedan od modela deljenja memorije u DOS okruženju jeste DSM (Distribuited shared memory) i zasniva se na postojecoj implementaciji imaginarnog adresnog prostora u klasicnim operativnim sistemima po principima stranicenja i segmentacije. DSM prikuplja stvarni fizicki adresni prostor memorije svakog čvora klastera i organizuje virtualni adresni prostor nad kojim postavlja organizaciju stranicenjem. Kada proces koji se izvršava zahteva adresu koja nije prisutna lokalno, lokalni kernel distribuiranog operativnog sistema suspenduje proces, prihvata sadržaj stranice i dostavlja je procesu nakon cega ponovo nastavlja sa izvršavanjem procesa. Usko grlo ovakvog sistema jeste brzina mreže. Pristojna ubrzavanja je pak vrlo lako postici prostom replikacijom stranica memorije. Naime, nakon što proces zahteva odredenu adresu memorije koja se nalazi u udaljenoj stranici u koju je moguće samo vršiti upis, kernel može izvršiti replikaciju te stranice, odnosno lokalno napraviti njenu kopiju. Kako je nad stranicom memorije omogućeno jedino citanje, ne dolazimo do problema konkurencije i sinhronizacije, tj. ne moramo pratiti promene nad stranicom. Postoje i modeli kod kojih postoji replikacija svih stranica, kao i heuristicko pronalaženje stranice koja će sledeca trebati kako bi se izvršila i njena replikacija pre nego što proces uopšte i zahteva ucitavanje neke adrese iz te stranice. Kada se radi replikacija svih stranica, na sistemu mora biti definisan efikasan i vrlo brz način obaveštavanja svih čvorova da je stranica promenjena kako bi se izbeglo postojanje više razlicitih kopija istog adresnog prostora. Kako bi informacija sigurno stigla, ovo obaveštavanje svih čvorova mora biti izvršeno pre samog upisa. Tada ce, u trenutku upisa postojati samo jedna kopija stranice, i to ona u koju se trenutno upisuje promena. Odredivanje veličine same stranice, kao i kod klasicnih operativnih sistema, puno menja ponašanje sistema, ali se ovde to dešava na drugačiji način. Stranice su svakako dovoljno male da su podaci za uspostavljanje komunikacije (zahtevanje i prihvatanje stranice) kao i zaglavlje same poruke veci od stranice. Ukoliko bi stranice bile veće (8, 16 ili 32Kb), a process pristupao kontinuiranom bloku adresnog prostora (nizovi podataka) bilo bi manje transfera stranica. Medutim, tada postoji veca verovatnoca da će se u adresnom prostoru iste stranice nalaziti podaci više procesa, pa distribuirani operativni sistem mora vršiti više replikacija i cešće se boriti sa višestrukim upisima i problemima konkurencije. Iako istraživanja traju duže od 15 godina, još uvek se bije bitka izmedu efikasnosti distribuiranja memorije, lakoće implementacije takvog modela ali i brzine izvršavanja takvog sistema.

3

Page 259: Operativni sistemi (ETF)

Model deljenja resursa Osnovna uloga distribuiranog operativnog sistema jeste da klaster, bilo da je on otvoren ili zatvoren, predstavi kao koherentni jedinstveni sistem i da procesima kao korisnicima sistema omogući transparentno korišćenje resursa bez potrebe da procesi poznaju lokaciju resursa koji koriste. Djelovi distribuiranog operativnog sistema koji implementiraju pronalaženje resursa se oznacavaju kao podsistemi za imenovanje i lociranje. Kako se ne možemo osloniti na fizicku adresu ili na neki fizicki adresni opseg, resursu moramo dodeliti virtualno ime kroz sistem imenovanja (engl. naming). Samo ime resursa mora biti jedinstveno unutar distribuiranog operativnog sistema, jer se mora omogućiti jednoznacno lociranje fizickog resursa na osnovu imena cime se može korišćenje fizicke adrese u potpunosti zameniti imenom i time postici transparenciju lokacije. Resurs koji se imenuje, unutar distribuiranih operativnih sistema, može biti čvor klastera, štampac, datoteka u distribuiranom sistemu datoteka, proces, prijavljeni korisnik, dokument, objekat, graficki prozor na jednom od ekrana prikaza, poruka u mrežnoj komunikaciji, mrežna konekcija itd... Imenovanje postoji i u klasicnim operativnim sistemima, kada se imenuje komunikacioni port, putanja datoteke u sistemu datoteka itd. Vecini resursa se može i pristupati, tj. mogu se koristiti. Za ove potrebe definišemo adresu tacke pristupa imenovanog cinioca (engl. Access point address) ili kraće samo adresu imenovanog cinioca. Na osnovu adrese imenovanog cinioca, a preko sistema imenovanja i lociranja procesi i korisnici distribuiranog operativnog sistema mogu koristiti interfejs datog distribuiranog resursa, odnosno pristupati i koristiti sam resurs. Imenovani resurs, često za ime vezuje i više tacaka pristupa, medusobno potupno ravnopravnih. Logicno je sada postaviti pitanje zašto razlikovati ime resursa i adresu tacke p(kakvog ga mi vidimo fizicki, štampac) sa posebnim jedinstvenim imenom koje obavija dodeljenu adresu tacke pristupa preko koje se obavija komunikacija sa resursom kroz namenski interfejs model koji obezbeduje transparentnost lokacije. Resurs će imati stalno ime, uz promenjljivu adresu tacke pristupa koju je uvek moguće dobiti na osnovu imena resursa i zatim je koristiti.

ristupa. Odgovor je da se upravo vezivanje resursa

Treba imati u vidu da su svi elementi sistema imenovanja virualne adrese i imena koje se tek na nivou mikrokernela čvora klastera povezuju sa fizickim memorijskim opsegom koji je rezervisan za komunikaciju sa datim fizickim resursom. Samo ime resursa može biti sastavljeno od niza bitova ili karaktera. Često se ime gradi u citljivom i razumljivom obliku kako bi se olakšao pristup resursima. Na primer, ime datoteke u sistemu datoteka je tipican primer takvog imena. Radi bržeg lociranja fizicke adrese imenovanog resursa koriste se razlicite tehnike grupisanja u logicke celine – prostore imena, koji se mogu pretraživati efikasno korišćenjem povezanih lista.

4

Page 260: Operativni sistemi (ETF)

Drugi način ubrzavanja lociranja se zasniva na pamcenju lokacije pristupne tacke jednom vec lociranog resursa, kada se narušava transparencija, pa je neophodan mehanizam obaveštavanja kada se dogodi migracija ili relokacija resursa. Postoje situacije kada nije neophodno uopšte poznavati adresu tacke pristupa vec na više tacaka pristupa koje odgovaraju razlicitim resursima postoji jedno ime, a sam distribuirani operativni sistem na osnovu parametara (opterećenost resursa, korisnikcka ovlašćenja procesa i dr.) odreduje sa kojom pristupnom tackom će povezati proces koji je zatražio lociranje imenovanog resursa. Veliki problem u izradi modela deljenja resursa predstavlja i imenovanje i lociranje privremeno dostupnih resursa kao i mobilnih resursa koji često menjaju fizicku lokaciju pa su relokacije i migracije ceste. Opisan koncept modela imenovanja i lociranja može efikasno da se izbori sa ovim problemom uz dodatnu proveru da li je resurs i dalje dostupan i uklananja imena resursa u slucaju nedostupnosti. Medutim, ovaj koncept ne može da postigne efikasnost modela u kome je prisutno keširanje lokacija, hijerarhijsko povezivaje, grupisanje resursa u prostore imena itd. Model deljenja procesorskog vremena Distribuirani operativni sistem opšte namene mora da ima podršku i za deljenje procesorskog vremena. Za implementaciju ove, najverovatnije najsloženije distribucije, potrebno je izraditi poseban model distribucije na nivou sistema, ali i na nivou upravljanja procesima lokalnog kernela svakog čvora. Procese koji se brzo izvršavaju najcešće je bolje izvršiti lokalno na čvoru, osim ukoliko je potreban intezivni pristup udaljenom resursu kada je proces bolje migrirati na čvor koji poseduje resurs koji se koristi jer je lokalna unutar procesorska komunikacija za nekoliko redova veličine brža od komunikacije izmedu čvorova, cak i u danas prisutnim veoma brzim LAN okruženjima. Korisnik će proces svakako pokrenuti na jednom čvoru sistema. Zavisno od dizajna distribuiranog operativnog sistema, čvor će ili krenuti sa izvršavanjem procesa ili će process uvrstiti u centralizovani sistem upravljanja procesa koji će ga rasporediti veoma slicno kao i u klasicnim operativnim sistemima uz pomić odredenog modela (RoundRobin, Multiple Feedback,...). U drugom metodu, korisnik sa sistemom komunicira preko terminala, unoseci naredbe koje sistem izvršava poput mainframe višekorisničkih sistema. Medutim, kako je cilj DOS-a što veca decentralizovanost cime se dobija laka proširivost, drugi metod ne predstavlja dobar izbor, iako je jednostavniji za realizaciju. Za koncept distribucije je efektniji pristup pokretanja procesa lokalno kroz modifikovani Multiple Feedback algoritam koji forsira kraće procese. Ukoliko je trajanje izvršavanja duže, proces će prelaziti u sledeci nivo. Kada dode do kritičnog nivoa, proces će prestati sa lokalnim izvršavanjem i biti dodeljen upravljanju procesa na nivou distribuiranog operativnog sistema. Čvor sa najviše neiskorišćenosti procesorskog vremena će preuzeti proces, odnosno proces će migrirati sa sobom prevlaceci i delove deljene memorije koja mu je neophodna za izvršavanje. Ukoliko je model distribucije memorije dobro dizajniran, migracija procesa će se svesti na prebacivanje stanja procesora i izmenu liste procesa na jednom i na drugom čvoru. Pri početku izvršavanja, proces će zahtevati memoriju iz virtuelnog adresnog prostora drugog čvora pa će i stranice biti replicirane na novom mestu izvršavanja procesa. Proces će se ponovo izvršavati na isti način primenom Multiple Feedback algoritma. Odabir kritičnog nivoa za migraciju procesa je jako bitan jer će uz malu vrednost biti previše prebacivanja što je veoma vremenski zahtevna operacija narocito ako postoji veliki memorijski blok koji proces koristi, dok će se uz veliku vrednost izgubiti distribucija – tj. neće ni dolaziti do migracije.

5

Page 261: Operativni sistemi (ETF)

Ako bismo želeli da dodatno unapredimo ovakav model distribucije procesorskog vremena, morali bismo uracunati i ostale faktore isplativosti migracije procesa – velicinu i lokaciju memorijskog bloka koji proces koristi i resurse kojima proces pristupa ili može pristupati. Ispitivanje ovih faktora često zahteva i odredenu heuristiku i pretpostavljanje šta proces može raditi u narednom ciklusu dodele procesorskog vremena. Tako dobijamo kvalitetan model distribucije gde proces migrira na najrasterećeniji čvor klastera, najbliže korišćenom resursu, uz lokalno dostupan adresni prostor memorije koju proces koristi pri izvršavanju. Medutim, situacija najcešće nije tako idealna pa je potrebno napraviti kompromis izmedu izvršavanja na najrasterećenijem procesoru i, na primer, čvoru gde je lociran resurs koji se koristi što se vrši pravilnim odabirom nivoa migracije, nivoa uticaja svakog pojedinacnog faktora, predhodnim istorijatom migriranja procesa i drugo. Komunikacija Radno okruženje distribuiranog operativnog sistema isključuje postojanje zajedničkog deljenog memorijskog prostora koji se može iskoristiti za komunikaciju izmedu procesa. Sve što se odvija u distribuiranom operativnom sistemu je praceno veoma intenzivnom komunikacijom izmedu sistemskih procesa na čvorovima klastera. Ocigledno je da je kvalitet implementirane komunikacije jako bitan za brzinu izvršavanja distribuiranog operativnog sistema. Takode, mrežno okruženje u kome se komunikacija odvija, zavisno od upotrebljene infrastrukture često nije potpuno pouzdana pa distribuirani operativni sistem mora imati metode za verifikaciju informacija. Prvo što treba odluciti u dizajnu komunikacije distribuiranog operativnog sistema jeste koji protokol će se koristi. Protokol treba biti dovoljno portabilan (OSI kompatibilnost), dovoljno visokog nivoa sa mogucnostima ispunjenja osobina koje su gore navedene, ali u isto vreme dovoljno pouzdan i, zbog pitanja performansi, redukovan do najmanje moguće mere. Vrlo često korišćen, a jako efikasan niži protokol komunikacije jeste TCP. On skriva omaške, izgubljene poruke, duplirane poruke, zakašnjele poruke i sl. Specijalnim načinom grupisanja i transporta poruka. TCP stack jeste OSI kompatibilan ali odstranjuje dio OSI slojeva, tako da se sastoji od sloja mrežne infrastrukture, mrežnog sloja (IP, ICMP, IGMP), transportnog sloja gde je sam TCP protkol i aplikacionog sloja gde se nalaze viši protokoli. Viši protkoli mogu potpuno zanemariti smetnje u komunikaciji. Ipak u slucaju prekida komunikacije, TCP protokol ne može ponovo pokrenuti komunikaciju ili pronaci čvor klastera koji poseduje replikaciju stanja sistema i podataka koje je trebalo preneti vec je to zadatak viših protokola kao što je RPC (Remote Procuders Calls). RPC protokol komunikacije Osnova RPC protokola jeste obezbedivanje lakog pozivanja deljenog udaljenog serivsa, na isti način kao što se obavlja poziv lokalne sistemske procedure (sistemskog poziva). Ulazni podaci na osnovu kojih se izvršava servis se prenose kao parametri poziva udaljene procedure. U lokalnom pozivu sistemskih procedura parametri mogu biti preneti po vrednosti i po referenci, a pored direktnih parametara, koriste se i globalne varijable. Ocigledno je da globalne varijable nisu moguće u pozivima udaljenih procedura. Prenos po referenci je, zavisno od modela deljenja radne memorije obicno sporiji od prenosa po vrednosti jer je potrebno izvršiti dodatne upite kako bi se saznao sadržaj referenciranog virtualnog adresnog prostora sa drugog čvora.

6

Page 262: Operativni sistemi (ETF)

RPC se ni po cemu ne sme razlikovati od obicnog sistemskog poziva. Kernel presreće poziv i usmerava ga na RPC modul koji od sistema imenovanja (takode predefinisana udaljena deljena procedura) saznaje adresu na koju treba uputiti poziv, pakuje parametre poziva na osnovu IDL specifikacije deljene procedure i emituje ih ka njoj u klijent-server komunikaciji. Serverski RPC modul prima zahtev, na osnovu IDL-a obraduje zapakovane parametre i poziva ovaj put lokalnu proceduru i hvata rezultat. Ponovo na osnovu IDL-a deljene procedure formira odgovor i povratnu vrednost procedure i vraca je klijentu koji prima odgovor i procesu koji je zahtevao poziv deljene procedure dostavlja povratnu vrednost kao da je procedura izvršena lokalno. O RPC-u (i objektnoj varijanti – RMI-u) je vec bilo riječi u prikazu distribuiranih sistema. Princip rada RPC-a jeste u skrivanju eksplicitne komunikacije, odnosno pružanja mogucnosti da pomiću posebnih podsistema smeštenih unutar kernela i proširenog TCP stack-a procesi mogu pozivati procedure sa drugih čvorova klastera na isti način kao i lokalno dostupne sistemske pozive. RMI za razliku od RPC-a umesto sa procedurama interaguje sa objektima i njihovim metodama. RPC i RMI protokoli se koriste za obavljanje i komunikacije niskog nivoa (u klasicnim operativnim sistemima realizovana preko deljene memorije) i meduprocesnom komunikaciju višeg nivoa (eksplicitna takozvana IPC komunikacija). Svu komunikaciju u DOS-u možemo podeliti u nekoliko kategorija. To je najpre komunikacija izmedu dva čvora, uredena po klijent-server modelu. Komunikacija ove vrste zapocinje slanjem zahteva od klijenta ka serveru, a završava vracanjem odgovora nakon što server izvrši traženu uslugu. Za formiranje zahteva klijent mora znati adresu servera. Adresa može biti unapred predodredena, ili može biti promenljiva. U drugom slucaju klijent najpre emituje broadcast paket sa zahtevom usluge koju traži, a server koji tu uslugu pruža odgovara sa svojom adresom. Alternativno postoje i modeli sa posebnim serverima zaduženima za adresiranje koji cuvaju listu usluga koje serveri pružaju. Sama komunikacija se obavlja u protokolu višeg nivoa, a ukoliko je to RPC, onda klijent poziva proceduru servera cime je obuhvacen celokupni proces. Druga vrsta komunikacije je komunikacija sa grupom. Obicno je izradena u jedan ka ostalima modelu gde se jedan clan grupe obraca svim ostalim clanovima grupe, odnosno obraca se grupi kao virtualnom serveru, dok on preuzima ulogu klijenta. Grupa može biti dinamicna, tj. promenljiva kada je virualizacija grupe neophodna. Adresiranje grupe se može vršiti adresiranjem svakog njenog clana što je relativno sporo i nedovoljno proširivo. Modelu dinamicne grupe bolje odgovara broadcast komunikacija kada samo clanovi grupe primaju poruku upucenu svim čvorovima klastera. Iako efikasna za realizaciju, ovakav princip komunikacije nepotrebno zagušuje mrežu. Treci metod adresiranja, obeležen kao unicast, predstavlja varijaciju broadcast-a kada se poruka na nivou protokola komunikacije upucuje samo clanovima grupe.

7

Page 263: Operativni sistemi (ETF)

Čest je slucaj kada u grupi čvorova treba izabrati lidera, koji će voditi bilo oporavak od havarije ili biti zadužen za koordinaciju grupe i njenu interakciju sa spoljnim clanovima. Termin lider ne treba shvatiti bukvalno, jer u jednom trenutku u grupi može postojati više lidera, zaduženih za razlicite operacije. Algoritam korišćen u Amoeba distribuiranom operativnom sistemu je poznat kao pozivni algoritam (engl. Invitation Algorithm), primenjuje se u izboru lidera u grupi čvorova koji komuniciraju asihrono. Na početku izbora svi čvorovi imaju jednake šanse da postanu lider, što je jedan od osnovnih zahteva potpune distribucije i samim tim i velike otpornosti na greške jer ne postoji predodredeni ili favorizovani lider. Svaki čvor pamti informacije o grupi kojoj pripada i lideru te grupe. Najpre svaki čvor kreira samostalnu grupu i sebe proglašava liderom. Periodično svaki čvor šalje poruku ostalim čvorovima koji zajedno sa njim treba da oforme grupu proveravajuci da li su oni lider svoje pod-grupe. Ukoliko je odgovor potvrdan, čvor pauzira aktivnost odredeno vreme koje je proporcionalno velicini njegove grupe, a zatim pokreće proceduru sjedinjavanja grupa. U ovoj proceduri, čvor poziva ostale lidere da mu se prikljuce. Drugi lider po prijemu poziva prosleduje poziv svim svojim clanovima. Svaki čvor koji bilo direktno ili indirektno dobija poruku da se prikljuci odgovara svojim pristankom. Svaki čvor koji je odgovorio da pristupa grupi ne dobije potvrdu o clanstvu u zadatom periodu cekanja (koji zavisi od toga da li je on trenutno lider neke grupe i kolika je ta grupa) on pokreće operaciju slanja poziva. Postoji nekoliko uslova kojima se odreduje da navedena procedura uvek rezultuje svim clanovima u grupi i jednim odabranim liderom, odnosno razbijanjem do sada sacinjenih pod-grupa i ponovnim pokretanjem procedure. Pored izbora lidera u grupi procesa i formiranje samih grupa procesa, u grupi je potrebno obezbediti i decentralizovano glasanje kojim procesi mogu doneti zajedničku odluku onda kada je to potrebno. Najcešće se koristi dvofazni protokol odlučivanja, u kome se u prvoj fazi najpre održava glasanje, a u drugoj izvršava akcija na osnovu rezultata glasanja. Klasicna implementacija ovakvog dvofaznog algoritma ide sledecim tokom: u grupi se izborom odreduje lider koji organizuje glasanje, on multicast-uje zahtev za glasanje svim ostalim clanovima grupe. Zatim clanovi obraduju zahtev i odgovaraju organizatoru izbora koji prebrojava glasove i odreduje konacnu odluku. U drugoj fazi grupa se obaveštava o rezultatima i akcija se preduzima. Problem dvofaznog protokola glasanja je ocigledan – ne postoji kontrola prebrojavanja glasackih listica i krada na izborima je time omogućena. Ovakvo ponašanje je doduše često u stvarnosti, ali u distribuiranim operativnim sistemima nije dozvoljeno jer narušava sigurnost sistema. Zato se uvode posmatraci - kontrolori prebrojavanja, ili u boljem slucaju – vrši se više prebrojavanja, možda cak i ekstremno kada svaki birač ucestvuje u prebrojavanju glasova. Sada, umesto organizatora glasanja postoji distribuirani interfejs glasanja. Proces glasanja se zapocinje i interfejs sistema glasanja formira proctor za cuvanje rezultata, i otvara distribuirane procedure za pregled rezultata i slanje rezultata. Nakon toga on pokreće vremensko ogranicenje u kome se biraci moraju javiti. Svaki birač pojedinacno proverava da li do sada postoji neki glas prijavljen interfejsu glasanja i ako ne postoji šalje glas. Ukoliko vec postoji glas prijavljen interfejsu, birač najpre uporeduje vrednost glasanja sa svojim glasom. Ako se slažu, birač ne radi ništa, u protivnom oglašava svoj glas ostalim biracima. Kada svi biraci dobiju priliku da uporede svoj glas sa prvim sacuvanim u interfejsu glasanja (pre isteka vremenskog ogranicenja), biraci analiziraju sve oglašene vrednosti i utvrduju da li postoji kritična vecina koja se nije složila sa prvim glasom. Ako kritična vecina postoji, u saradnji sa interfejsom se po utvrdenim kriterijumima ponavlja glasanje kako bi se eliminsali ubaceni ili pogrešni glasovi pojedinih biraca. Jedini preduslov za uspešno glasanje u ovom algoritmu jeste da vecina biraca budu ispravni, što je i logicno. Sam algoritam je vrlo uspešan i jako dobro se skalira sa porastom broja biraca (približno ostvaruje idealnu zavisnost O(1)).

8

Page 264: Operativni sistemi (ETF)

Kada se govori o greškama u komunikaciji mora se imati u vidu da protokoli nižeg nivoa (TCP na primer) imaju zadatak da obezbede pouzdan transfer poruke medutim u slucaju prekida veze ili havarije transmisija poruka se nikako ne može obezbediti. Zato protokol višeg nivoa (RPC) i sam model komunikacije u distribuiranom operativnom sistemu mora imati načina da premosti greške nastale usled havarije mreže, usled havarije servera i usled havarije klijenta. Kod havarije servera, server može biti onesposobljen pre primanja zahteva kada klijent (i sistem imenovanja) ne može da pronade server koji nudi datu proceduru. U takvom slucaju se korisniku i procesu prijavljuje greška. Havarija servera može nastati i nakon primanja zahteva i tada nastaje problem jer klijent ne može znati da li je server izvršio operaciju pre havarije ili ne. Ovo postaje narocito opasno u slucaju da operacija poziva druge udaljene procedure ili menja stanje distribuiranog operativnog sistema. Zato se ovakve bitne operacije rade pomiću transakcija. Transakcije mogu potpuno da zamene princip delimicne sinhronizacije, ili da ga u blažoj varijanti korišćenja kvalitativno dopunjuju. Promene koje se vrše transakcijama imaju osobinu sve-ili-ništa, odnosno ukoliko dode do greške u komunikaciji ni jedna operacija iz tekuće sesije neće biti izvršena, odnosno biće sve izvršene ukoliko se transakcija završi uspešno. Kontrola grešaka u komunikaciji u distribuiranim operativnim sistemima i distribuiranim sistemima uopšte postoji na više razlicitih nivoa. Sam protokol prenosa (TCP, UDP i sl.) ima kontrolu grešaka kojom se ostvaruje pouzdanost prenetih poruka i podataka izmedu dva čvora. Ukoliko je protokol konekcijski (sesijski) orijentisan, kao što je TCP, onda je zagarantovan i redolsed poruka kao i informacija o prekidu konekcije. Ipak, na nekim višim nivoima je potrebno ostvariti potvrdu da li je poruka validno obradena. Ovde se dizajneri DOS-a susrecu sa klasicnim problemom dve armije. Naime, dva generala se moraju dogovoriti o napadu na treceg. Ukoliko napadnu istovremeno, pobjediće dok će u protivnom izgubiti. Problem je što je njihova jedina komunikacija nepouzdani glasnik koji se mora provuci kroz teritoriju treceg generala. Prvi general je poslao glasnika da obavesti drugog da napad pocinje sutradan izjutra i glasnik je stigao do drugog generala. Medutim, drugi general se bojao da prvi neće znati da li je glasnik stigao i da će odustati od napada pa je poslao glasnika nazad da potvrdi da je poruka stigla. Glasnik je ponovo uspešno stigao, ali se sada prvi general bojao da drugi neće znati da je glasnik stigao pa da će odustati od napada. Kao što se vidi, ma koliko puta generali slali glasnika, nikada neće doci u situaciju da su sigurni da će jedan i drugi napasti istovremeno, odnosno nisu uspeli da razmene jednu veoma jednostavnu informaciju. Logicno je zapitati se kako će se onda u distribuiranim operativnim sistemima prenositi pokazivaci na memorijske strukture, informacije o distribuciji procesa i mnoge druge znatno složenije informacije. Upravo je kontrola grešaka u komunikaciji, komponenta protokola višeg nivoa zadužena za uspostavljanje uspešne verifikacije primljene i obradene informacije. Malo drugačiji je i problem vizantijskih generala. Umesto o dogovoru o vremenu napada, n generala moraju razmeniti informacije o broju svojih trupa kako bi se dogovorili o napadu. Medutim, medu njima postoje generali koji ili nemaju sigurnu komunikaciju (glasnik može biti zarobljen i zamenjen prevarantom koji će lažirati informaciju) ili sami generali žele da zbune ostale (neprijateljski proces, ili falican proces). Rešenje problema spada u klasicne algoritme i može se pronaci obraden na razlicite načine. Kao krajnju informaciju svi generali moraju imati podatke o validnom stanju ostalih, odnosno obeležene neispravne podatke. Rešenje se svodi na prenos informacija o svim generalima kroz sve generale, i generalno rešenje se može dobiti samo u slucaju da postoji više od dve trećine pouzdanih generala. Konkretno, u distribuiranim

9

Page 265: Operativni sistemi (ETF)

operativnim sistemima algoritam rešavanja problema vizantijskih generala se često koristi u sistemima za glasanje, dogovor, komunikaciju unutar grupe i sl. Razliciti su scenariji prekida komunikacije. Klijent može neuspevati da locira server, poruka sa zahtevom može biti izgubljena, server može napraviti grešku prilikom obrade zahteva, poruka sa odgovorom može biti izgubljena, ili klijent može naleteti na grešku nakon slanja zahteva. Svaki od ovih problema traži razlicita rešenja. Ponekad je moguće izvršiti oporavak od greške ponovnim slanjem zahteva, dok to ponekad nije moguce. Takode, u nekim situacijama vremensko ogranicenje nakon cega se emituje poruka o grešci je jedino rešenje. Ipak, ponekad je to neprihvatljiva solucija. Greške u komunikaciji sa grupom se moraju razložiti na dva dela. Prvi su greške koje nastaju u komunikaciji grupe sa spoljnim ciniocima, kada se one posmatraju kao greške u klijent-server komunikaciji, a drugo su greške koje nastaju u komunikaciji unutar same grupe bilo da su one vezane za odlučivanje i glasanje ili za razmenu informacija. Takode, unutar same grupe mora u svakom trenutku postojati sinhronizacija, i svaka pojava nesinhronizovanosti grupe pre ili kasnije vodi ka pojavi greške u radu te grupe. Sinhronizacija vremena Čvorovi klastera su, kao što je vec nekoliko puta naglašeno nezavisni računarski sistemi. Kao takvi, svaki čvor operiše samostalno, pod upravljackom palicom distribuiranog operativnog sistema. Na nivou sistema medutim vecina atomskih operacija mora biti izvršena tacno odredenim redosledom, u tacno odredenom vremenskom trenutku na nivou celokupnog sistema. Upravo obezbedivanje uskladenosti toka vremena na svim čvorovima klastera kao i toka komunikacije na nivou distribuiranog operativnog sistema uopšte je zadatak sistema za sinhronizaciju. U klasicnim operativnim sistemima pojam sinhronizacije vremena je potpuno nepoznat jer se svaki proces u svakom trenutku može obratiti kernelu odgovarajucim sistemskim pozivom kako bi dobio informaciju o tacnom vremenu. Ukoliko jedan process zahteva informaciju o vremenu, i odmah zatim drugi proces zahteva informaciju o vremenu, drugo vreme će biti veće od prvog, baš kao što je i realno stanje. U distribuiranim operativnim sistemima ovo nije slucaj jer svaki čvor klastera meri sopstveno vreme na nivou hardvera. Kada se prvi proces pokrene na jednom čvoru i zahteva informaciju o vremenu, nepostoji nikakva garancija da će to vreme biti manje od vremena koje kasnije dobije drugi proces koji je pokrenut na drugom čvoru klastera. Najpre moramo utvrditi kako može doci do odstupanja u vremenu izmedu razlicitih čvorova klastera. Casovnik u svakom čvoru predstavlja oscilujuci kristal sa relativno stalnom frekvencijom (brojem otkucaja). Nakon definisanog broja perioda oscilacije, stalni brojac u posebnoj memoriskoj oblasti pod kontrolom BIOS-a se uvecava za jedan kvant vrednosti. Unutar BIOS-a se povezuje vrednost memorijske lokacije sa stvarnim datumom i vremenom nakon cega dobijamo vreme izraženo u klasicnim jedinicima (godina, mesec, dan, cas, minut, sekunda,...). Ipak, broj oscilacija kristala nije isti na svim čvorovima klastera. Iako naizgled neznatna, nakon kritičnog perioda razlika pocinje da se intenzivno primecuje ometajuci rad distribuiranog operativnog sistema. Kao rešenje ne možemo koristiti jedan casovnik kome verujemo i to iz dva razloga. Jedan je narušavanje autonomnosti svakog čvora, a drugi prakticna neupotrebljivost takvog pristupa jer bi centralizovani merni casovnik imao preveliko opterecenje iz celog sistema, odnosno postojalo bi kašnjenje izmedu realnog vremena i informacije koju casovnik prosleduje kao odgovor usled

10

Page 266: Operativni sistemi (ETF)

perioda potrebnog za obradu zahteva, pripremanje odgovora i njegovo uspešno slanje do destinacije. Ako sinhonizujemo sve casovnike u realnom trenutku T1 na broj otkucaja N1, u realnom trenutku T2 svi casovnici čvorova bi trebali da pokazuju N2= N1+ (T2-T1) * C, gde je C odnos broja otkucaja po jedinici merenja vremena. Prakticno, današnji casovnici stvaraju grešku tako da N2 neće biti isto na svim čvorovima klastera, odnosno broj može biti manji ili veci zavisno od načina devijacije merenja vremena u samom casovniku. Da bismo ispravili grešku, moramo periodično sinhronizovati casovnike sa mernim casovnikom i pri tome formirati takav sistem koji ispravlja dve greške. Prvo, da je od trenutka kada čvor pošalje informaciju o trenutnom broju otkucaja, do trenutka kada drugi čvor informaciju primi, proteklo vreme i drugo da ni po koju cenu ne smemo na bilo kom čvoru vreme vratiti unazad jer to može izazvati probleme sa objektima, datotekama i procesima na samom čvoru i sistemu uopšte. Kao što se vidi na slici, pretpostavka je da će vreme slanja zahteva i vreme slanja odgovora biti isto, te da možemo smatrati da ono stoga iznosi (T2-T1)/2. Kako i T2 i T1 merimo na istom casovniku, iako on nije tacan, možemo tacno izracunati interval. U ovakvoj postavci nije uracunato vreme obrade zahteva pa dodatno možemo poboljšati sistem šaljuci i vreme obrade uz informaciju o trenutnom broju otkucaja. Opisani pristup je vrlo centralizovan, ali vtacnost poredbenog casovnika što je lako izvesti sinhronizujuci casovnik sa radio signalom sa satelita ili sl. preko komercijalno dostupnih uredaja.

eoma pouzdan ukoliko možemo da garantujemo

Alternativno, možemo izbeci prisustvo poredbenog casovnika koristeci se prosecnom vrednošću. Periodično svaki čvor može upitati ostale čvorove klastera trenutno vreme, šaljuci im svoje trenutno vreme. Na osnovu prikupljenih odgovora čvor može odluciti kako treba da podesi svoj casovnik. Trece, u modernim distribuiranim operativnim sistemima takode prisutno rešenje jeste korišćenje logickih casovnika. Pre početka vremenski kritičnog procesa, za potrebe tog procesa čvorovi se dogovore o početku inicijalizacije logickog casovnika za dati proces. Nakon toga, logicki casovnik se ažurira na osnovu razlike broja otkucaja izmedu vremena formiranja casovnika i sadašnjeg vremena. Usled razlicite frekvencije oscilovanja, logicki casovnik se takode mora ažurirati ali je jednostavnije dobiti tacniju sinhronizaciju jer je casovnik vezan samo za jedan proces, a ne za ceo čvor ili ceo distribuirani operativni sistem. Kontrola grešaka Do sada je u kontekstu pojedinih komponenti distribuiranog operativnog sistema bilo reci o sistemu za kontrolu i prikrivanje grešaka, odnosno tolernaciji grešaka. Specificnost grešaka u distribuiranim sistemima jeste parcijalna greška, greška samo na jednom delu ili u jednom sloju sistema. Greška može biti izolovana ili može voditi krahu sistema procesa ili gubitku podataka. Za zadovoljavanje osnovnih principa u dizajnu distribuiranog operativnog sistema, sistem mora imati mogucnost da nastavi funkcionisanje i pri takvim neocekivanim situacijama.

11

Page 267: Operativni sistemi (ETF)

Kao merilo kvaliteta distribuiranog operativnog sistema se uzima dostupnost sistema, odnosno verovatnoca da se sistem može odmah koristiti. Sa druge strane pouzdanost je verovatnoca da će sistem raditi neprekidno. Iako slicni, ova dva indikatora nisu isti. Sistem koji svakog sata ne radi jednu milisekundu ima dostupnost od preko 99,999%, ali je jako nepouzdan. Sistem koji svakog januara ne radi dve nedelje ima dostupnost od skromnih 96%, ali visoku pouzdanost. Sigurnost i mogucnost popravke su takode bitni faktori u oceni kvaliteta. Sigurnost obezbeduje da se ništa katastrofalno nece dogoditi pri pojavi greške, iako to nikako ne može biti zagarantovano jer greške u sistemu nisu predvidive. Sve moguće greške možemo klasifikovati u prolazne (privremeni gubitak kvaliteta transmisije podataka), periodične (loš kontakt u delu sistema) i stalne (havarija koja se manifestuje sve do popravke oštecenog dela). Po tipu nastanka greške mogu biti hardverske i softverske. Dalje, po posledicama greške možemo podeliti na one koje dovode do prestanka rada sistema, one koje dovode do neispunjavanja zahteva, greške koje dovode do vremenskih prekoracenja, ali i greške mnogo teže za prepoznavanje kao greške koje dovode do grešaka u odgovoru, greške koje dovode do promene stanja sistema (narocito opasne kod distribuiranih sistema datoteka), i na vrhu – greške koje dovode do slucajnih posledica, najcešće nastale usled prepisivanja memorije, pogrešne komunikacije, zakazivanjem sistema sigurnosti i slicno kada su posledice najgore. Klasicna kontrola grešaka se uglavnom svodi na redundantnost na svim nivoima gde može doci do greške. Na primer, u komunikaciji se pored same poruke dodaje i informacija koja pomaže verifikaciji ispravnosti poruke. Ukoliko verifikacija neuspe, zahtevaće se ponovno slanje poruke, ili preusmeravanje poruke drugom rutom kako bi se zaobišle smetnje. Tako dolazimo do drugog uslova, postojanja fizicke redundantnosti. Kao što covek ima dva oka iako može videti i sa jednim, Boeing 747 ima cetiri motora iako može da leti sa tri, tako se i u hardveru distribuiranog sistema koriste iste metode. Kontrola grešaka hardvera se može relativno lako implementirati uz pomić dobrih protokola komunikacije i dobre postavke sistema sa kvalitetnom redundancijom na razlicitim hardverskim nivoima. Medutim, kontrola grešaka procesa koji se izvršavaju na distribuiranom operativnom sistemu je izuzetno složena i zahteva velike izmene načina pogleda na rad procesa u distribuiranom operativnom sistemu. Najpre treba utvrditi da li se moraju svi procesi kontrolisati. Ukoliko proces nije sistemski, niti sistemski proces zavisi od njegovog rezultata, pod pretpostavkom da mehanizam sigurnosti sistema štiti sistem od nepropisne interakcije sa procesom, nije potrebno procesu obezbedivati kontrolu grešaka. Osnovna kontrola grešaka procesa se svodi na redundantost. Umesto da imamo jedan proces koristimo grupu procesa sastavljenu od više nezavisnih indenticnih procesa. Grupa se spoljnim procesima predstavlja kao jedistveni proces, kao što se i klaster kroz distribuirani operativni sistem predstavlja kao homogeni računarski sistem. Grupa ne sme biti hijerarhijski uredena jer onda postoji jedinstvena tacka oslonca – koordinator grupe cijim krahom grupa prestaje da funkcioniše. Sve odluke koje je potrebno doneti u grupi se donose sistemom glasanja gde svaki proces grupe donosi odluku, a preovladujuca odluka se smatra odlukom grupe – tj. odlukom procesa ukoliko grupu posmatramo spolja. Pri grešci na nekom od clanova grupe, taj clan prestaje da ucestvuje u komunikaciji unutar grupe, a ostali clanovi moraju proveriti da li se ne radi o privremenom kašnjenju u komunikaciji. Postoji opasnost da dio clanova grupe izgubi komunikaciju sa ostalim clanovima cime se zapravo uspostavljaju dve grupe. Zato distribuirani operativni sistem mora imati načina da ili grupu eliminiše ili da procese poveže u novu grupu, prethodno ustanovivši šta se dogodilo. Iako na prvi pogled jednostavno, ovo je izuzetno složeno za realizaciju i danas postoji više aktuelnih istraživanja koja utvrduju najbolje algoritme kojima se može postici sigurnost u odlučivanju nad operacijama sa grupom. Ne treba ni pominjati da je i sam proces koji odlucuje šta treba uraditi sa

12

Page 268: Operativni sistemi (ETF)

grupom (dio raspodele procesa) takode grupa procesa i da se svaki put odvija glasanje unutar te grupe. Takode, radi poboljšavanja performansi odabir čvorova na kojima će se izvršavati u svakoj svojoj atomskoj jedinici je vrlo važan, a procesi grupe moraju imati težnju da migriraju na one čvorove izmedu kojih je komunikacija najbrža. Broj procesa koji trebaju biti u grupi zavisi od kritičnosti procesa koji se izvršava (odnosno od kritičnosti po sistem ako se dogodi greška pri izvršavanju procesa) ali i od statisticke analize verovatnoće dogadanja greške pri izvršavanju procesa. Metod je narocito efikasan ukoliko se proces često izvršava što i jeste slucaj sa sistemskim procesima. Pored kontrole grešaka koja će osigurati sistem od potpunog kolapsa, sistem mora imati i mogucnost da stanje sistema u kome se dogodila greška zameni sa prethodno ispravnim stanjem sistema. Dva su pristupa na koji se ovo može izvesti. U prvom se sistem iz sadašnjeg stanja sa greškom vraca u prethodno zabeleženo stanje. Drugi pristup je da se sistem umesto vracanja u ranije stanje pokuša prebaciti u novo ispravno stanje. Prvi pristup je univerzalniji ali često nedovoljno poštuje principe distribuiranog sistema, dok drugi možemo izvesti jedino onda kada unapred znamo koja se greška može dogoditi jer samo tada sistem može znati na koji način da ispravi grešku i krene dalje. Razlike ova dva pristupa se najlakše vide na primeru greške u komunikaciji. Ukoliko trenutno emitovani paket ne dopre do svog cilja, ispravkom greške vracenjem unazad će biti zahtevano ponovno slanje paketa. U drugom pristupu, primalac paketa će pokušati da na osnovu primljenih paketa otkrije paket koji zbog greške nije stigao, a ukoliko u tome ne uspe zatražice, po prvom pristupu, ponovno slanje paketa. Evidentno je da u drugom slucaju mora doci do preklapanja paketa, tj. da se u svakom slanju paketa šalje dio prethodnog i dio sledeceg, tako da se gubitkom jednog paketa ne narušava komunikacija. Postoje situacije kada ipak nije moguće uraditi svojevrsnu popravku nastale štete kada sistem nad kojim je izvedena operacija ne možemo vratiti u stanje pre te operacije. Drugi problem je što ne postoje nikakve garancije da neće doci do iste greške i nakon vracanja stanja sistema.

3. Distribuirani sistemi datoteka Sistem datoteka u operativnom sistemu ureduje način na koji će se datoteke i direktorijumi organizovati i cuvati na memorijskom medijumu. Analogno tome, distribuirani sistem datoteka (distributed file systems – DFS) ima istu ulogu, koju medutim igra u znatno težem okruženju, kao i sami distribuirani operativni sistemi. Cilj DFS-a je da omogući korisnicima distribuiranog operativnog sistema deljenje podataka i deljenje resursa stalne memorije kroz jedinstveni sistem datoteka. Postojanje jedinstvenog sistema datoteka pruža mobilnost korisnika, odnosno pruža mogucnost da se korisnik prijavi na bilo kom čvoru sistema i normalno pristupa svojim podacima. Idealan DFS eliminiše probleme performansi, dostupnosti, i proširivosti ovakvih sistema, i poštuje principe transparentnosti na način na koji to radi i distribuirani operativni sistem ciji je DFS dio. Performanse DFS-a se mogu posmatrati i kao još jedna dimenzija transparentnosti jer se DFS mora ponašati, ako ne isto, onda barem slicno kao i klasican sistem datoteka. Ocigledna razlika u performansama koju je potrebno premostiti jeste vreme da zahtev korisnika stigne do fizicke lokacije gde je traženi podatak smešten kao i vreme potrebno da korisnik dobije odgovor. Razlicitim metodama keširanja informacija o podacima, putanja do podataka, i samih podataka ali i razvojem brzina internih mreža se u današnjim sistemima problem performansi potpuno isključuje.

13

Page 269: Operativni sistemi (ETF)

Otpornost na greške je bitna karakteristika DFS-a. Greške mogu nastati u komunikaciji, u hardveru čvora, bilo da je to čvor koji treba da primi ili čvor koji treba da pošalje informaciju u nekom trenutku, ali greške mogu nastati i pojavom nepredvidenog stanja u DFS-u te sam sistem mora biti dovoljno inteligentan da izade iz zastoja koji na taj način mogu nastati. Idealan DFS omogućava neometani nastavak rada do neke granice, a svakako ne dozvoljava gubitak podataka, nemogucnost kratkorocnog premošćavanja problema i sl. Za razliku od klasicnih sistema datoteka, distribuirani sistemi datoteka imaju veliku prednost u rešavanju problema otpornosti na greške jer je zbog velikih memorijskih resursa moguće cuvati kopije podataka i informacija o stanju sistema. Neodgovarajujci dizajn sistema može pak potpuno sakriti ovu prednost do krajnjih granica. Sistem datoteka mora da obezbedi interfejs za rad sa datotekama kao osnovnim jedinicama zapisanih podataka. Datoteka (file) sadrži same podatke i atribute koji odreduju osobine datoteke i način na koji će joj korisnik preko operativnog sistema i sistema datoteka pristupati. Osnovne operacije nad datotekom su kreiranje nove datoteke, pisanje u datoteku, citanje datoteke, i brisanje datoteke. Dodatna operacija predstavlja premeštanje datoteke i ona može biti realizovana na nivou sistema datoteka ili na nivou programskog interfejsa operativnog sistema preko osnovnih operacija. Atributi datoteke (sigurnosne postavke, režimi rada, trenutno stanje) predstavljaju podatke o podacima ili metapodatke. Moderni sistemi datoteka ili dodaci za klasicne sisteme datoteka koji još uvek nisu u upotrebi (GNOME Storage, Microsoft Yukon) proširuju metapodatke razlicitim informacijama koje omogućavaju indeksiranje, sortiranje i pretraživanje podataka. Pojavi DFS-a je prethodila pojava mrežnih sistema datoteka koji su se koristili u mrežnim operativnim sistemima i pružali uslugu pristupa sistemu datoteka udaljenog računara, ali su to radili na za korisnika netransparentan način. Prvi distribuirani sistemi datoteka su zadržavali centralizaciju podataka koji su bili smešteni na posebnoj grupi čvorova oznacenih kao „data serveri˝. Ovakav koncept nije omogućavao transparentnost distribuiranog sistema pa se u modernim distribuiranim sistemima pristup uredajima za cuvanje podataka poistovecuje sa ostalim resursima, odnosno postoji potpuna distribucija podataka. Ovo je narocito izraženo kod, još uvek teorijskih sistema datoteka koji rade na otvorenom klasteru mobilnih uredaja. Na korisničkom nivou (u finalnoj reprezentaciji sistema) postoje dva modela DFS-a. U prvom, istorijski starijem modelu DFS nema jedinstvenu strukturu direktorijuma. Svaki čvor poseduje svoj lokalni sistem datoteka koji je vidljiv procesu koji se na njemu trenutno, u atomskim jedinicama izvršavaju. Procesom montiranja (engl. mount u Unix i map u DOS/Windows terminologiji) se vezuje korenski direktorijum sistema nekog drugog čvora sa direktorijumom u strukturi lokalnog sistema na čvoru koga posmatramo. Direktorijum se oznacava kao tacka montiranja, a veza izmedu tog direktorijuma i posebnog sistema datoteka (najcešće modul u mikrokernelu čvora) koji obezbeduje pristup korenskom direktorijumu drugog sistema se pamti u tabeli montiranih jedinica koja je smeštena u memoriji. Ovakav pristup koriste mnogi DFS-i kao što su Locus,

14

Page 270: Operativni sistemi (ETF)

NFS, AFS, Sprite, Microsoft CIFS i drugi. Sama operacija montiranja može biti automatizovana i sistemski uredena tako da se obezbeduje transparentnost lokacije, relokacije i migracije podataka, ali to ipak najcešće nije slucaj. Drugi, moderniji pristup, se zasniva na postojanju globalnog stabla direktorijuma (prostora imena), jedinstvenog na svim sistemima. Ovakav pristup obezbeduje potpunu transparentnost, omogućava mobilnost korisnika, a daje i izvesne prednosti u mogucnostima odvajanja metapodataka od samih podataka i podršku za lakšu realizaciju keširanja podataka. Ostvarivanje veze izmedu logicke reprezentacije lokacije datoteke (tekstualno ime datoteke) i fizicke lokacije datoteke na uredaju za cuvanje podataka se odvija kroz sistem imenovanja (naming). Najcešće se tekstualno ime vezuje sa numerickom oznakom (analogno memorijskoj adresi u deljenju memorije) koja se onda mapira na stvarne podatke. Ako poštujemo transparentnosti lokacije, migracije i relokacije preslikavanje imena datoteke na numericku oznaku neće biti jednoznacno. Zapravo, kako će zbog poboljšanja performansi čvorovi koji su pristupali datoteci (i gde distribuirani operativni sistem ima razloga da sumnja da će procesi sa tog čvora ponovo pristupati datoteci) na čvorovima biti zadržana replikacija (kopija) datoteke, povratna informacija upita pretvaranja tekstualnog imena u numericki reprezent će biti set razlicitih odgovora sa svih čvorova koji poseduju replikaciju datoteke. Medu njima ne sme postojati glavni čvor, čvor koji je vlasnik datoteke jer bi greškom u interakciji sa njim bila narušena funkcionalnost celog distribuiranog sistema datoteka i distribuiranog operativnog sistema u celini. Nakon dobijanja liste čvorova, zavisno od karakteristika (omiljeni čvor, čvor sa kojim je ostvareno najviše uspešne komunikacije na nivou DFS-a, čvor sa najbržim odgovorom i slicno) proces mora odluciti koji odgovor će koristiti. Distribuirani operativni sistem se brine o problemima replikacije te proces može smatrati da su sve kopije iste i jednake. Kvalitetan sistem imenovanja i lociranja obezbeduje i bolju proširivost. Ukoliko sistem može da istu datoteku dobije od više izvora to predstavlja rasporedivanje opterecenja u sistemu i sprecava kašnjenje usled prezauzetosti jednog čvora. Mnogi, danas korišćeni, distirbuirani sistemi datoteka ipak ne poštuju potpuno transparentnost lokacije (ime datoteke ne otkriva njenu fizicku lokaciju) i nezavisnost lokacije ili transparentnost migracije i relokacije (ime datoteke se ne mora promeniti kada se fizicka lokacija smeštaja datoteke izmeni). Takvi sistemi su Locus, NFS9, Sprite, Microsoft CIFS10 i drugi. AFS (Andrew File System) pak na primer ima primitivan način ostvarivanja transparentnosti relokacije i migracije, ali ne i transparentnosti lokacije što izaziva veliku konfuziju. Naime u tekstualom imenu datoteke (sa kojim korisnik interaguje) je prisutna indentifkacija fizicke lokacije, ali se takva indentifikacija kroz svojevrsnu bazu podataka (volume manager) koja se replicira na sve klijente prevodi u stvarnu indentifikaciju čvora na kome se datoteka nalazi. Izmenom sloga u bazi, moguće je uraditi relokaciju na transparentan način, ali kako je korisniku i dalje vidljiva stara lokacija u imenu datoteke nakon vecih izmena sve postaje isuviše komplikovano za održavanje. Drugi DFS-i kao što su Lustre i CODA su potpun uklopljeni u distribuirani koncept. Radi poboljšanja performansi, kao i kod deljenja radne memorije, distribuirani sistem datoteka vrši keširanje na razlicitim nivoima. Da li će keširanje biti u radnoj memoriji ili na disku, kako se rešava problem sinhronizacije svih keširanih datoteka, koje su jedinice keširanja (dio podataka, cijela datoteka, sektor memorijskog uredaja, ceo memorijski uredaj), sve su to pitanja ciji odgovori odreduju dizajn sistema za keširanje i replikaciju. Način implementacije keširanja direktno zavisi od polise deljenja podataka koja specifira kako sistem reaguje na promenu datoteke koju trenutno koristi više procesa. Tradicionalna, UNIX polisa deljenja zahteva da se svaki upis u datoteku odmah prikaže i u svim trenutno otvorenim datotekama. Vrlo efikasna, ali i gruba i često neupotrebljiva polisa deljenja jeste da se deliti mogu samo datoteke kojima je upis

15

Page 271: Operativni sistemi (ETF)

zabranjen. Distribuciji prilagodenija, sesijska polisa zahteva da se upis u otvorenu datoteku tretira kao u UNIX polisi unutar lokalnog sistema datoteka, ali ne i na datotekama koje su otvorene preko DFSa. Po zatvaranju datoteke u koju je vršen upis završava se sesija i keširane kopije datoteke se sinhronizuju. Ovo je u skladu sa POSIX standardima, ali u razlicitim trenucima postoji više razlicitih verzija iste datoteke, a uzastopnim upisima u njih dolazi do još veceg šarenila i potrebe za rešavanjem konflikata. Na kraju, postoji i transakcijska polisa deljenja koja rešava probleme sesijske polise, ali kreira i nove (prvenstveno u pitanju brzine). Ona zahteva da se upis u datoteku razmatra kao transakcija u bazama podataka. Pre upisa datoteka se zakljucava tako da nijedan drugi proces ne može pristupiti toj datoteci za upis, a po završetku upisa sinhronizuju se replikacije datoteke i datoteka se otkljucava. Potrebno je obezbediti mehanizme odbrane u slucaju havarije u fazama dok je datoteka zakljucana, kao i obezbediti da se zakljucavanje datoteke odigra atomski nad svim njenim replikacijama. Keširanje može biti na razlicitim nivoima. Mogu se keširati odgovori dobijeni od sistema imenovanja (takozvani hint). Keširani odgovor se ipak mora proveriti pre korišćenja (naravno, ne novim pozivom sistema imenovanja jer time ništa nismo dobili) jer je moguće da se dogodila relokacija u meduvremenu za koju ne znamo. Dalje, moguće je keširati metapodatke, same podatke, ali i takozvane prljave podatke, odnosno datoteka u koju se trenutno vrši upis zajedno sa novim podacima koji su upisani. Posmatrajuci polise deljenja, postoje razliciti načini da se sistem keširanja odbrani od postojanja nesinhronizovanih podataka na sistemu. Postoje situacije kada je moguće dozvoliti postojanje neuskladenih datoteka, ali to onda nije distribuirani operativni sistem opšte namene jer sami procesi moraju voditi racuna o keširanim datotekama. NFS ne garantuje sinhronizaciju podataka. Primitivni metod koji on koristi jeste vremensko ogranicenje, odnosno svaka replicirana kopija će biti obrisana kroz 60 sekundi, dok će prljavi podaci biti obrisani za 30 sekundi. Generalno može se smatrati da keširanje ne postoji u NFS-u. Za razliku od NFS-a koji implementira UNIX polisu deljenja, u AFS-u postoji keširanje datoteka na distribuirani način, a sinhronizacija se vrši pomiću callback poziva, odnosno koristi se sesijska polisa. Kada čvor zahteva dio datoteke, umesto prenosa traženog dela prenosi se cijela datoteka kao osnovna jedinica keširanja i cuva na lokalnom disku ali i ostvaruje callback veza sa čvorom od koga je preuzeta datoteka. Prilikom upisa u neku drugu replikaciju datoteke, nakon zatvaranja sesije, lancem callback poziva se osigurava sinhronizacija na celom sitemu. Problemi koji se javljaju jesu vezani za prekid mrežne komunikacije, otkazivanje čvora koji treba da incijalno prosledi callback ili slicno. Takve situacije se u AFS-u rešavaju vremenskim ogranicenjem. Nova, treca verzija AFS-a umesto callback mehanizma koristi token mehanizam koji kombinuje proveru verzije datoteke sa sesijskom polisom deljenja. Sprite sistem datoteka se na treci način sukobljava sa sinhronizacijom, koristeci transakcijsku polisu deljenja. Pri otvaranju datoteke za upis, blokira se keširanje te datoteke, a pre završetka transakcije osigurava se da na sistemu ne postoji zaostala keširana verzija datoteke. Svi procesi nakon toga moraju napraviti novu keširanu verziju datoteke koja se koristi do sledeceg upisa.

16

Page 272: Operativni sistemi (ETF)

Ukoliko je broj upisa prema broju citanja mali, keširanje je vrlo efikasno, u protivnom, keširanje se minimalizuje jer je često neophodno ponovo dobaviti keširanu datoteku od čvora na kome je u nju izvršen upis. Drugi problem je što ukoliko dode do prekida komunikacije ili do kraha čvora na kome je izvršen upis, sve promene će biti izgubljene. Svako keširanje se smatra i repliciranjem i samim tim pomaže u otpornosti na greške jer postoji više sinhronizovanih kopija podataka. Postoji mogucnost da se u trenutku sinhronizacije dogodi havarija i time unište sve replikacije, te se u praksi i sama sinhronizacija datoteka nakon završenog upisa odvija po modelu transakcije. Da bismo imali stabilniji sistem sa boljom transparentnošću u slucaju pojave grešaka na razlicitim nivoima ne sme postojati kritična tacka sistema u kojoj se pamti stanje sistema. Na primer, kada proces otvori datoteku sistemskim pozivom fopen, klasicni sistem datoteka kao povratnu informaciju vraca pokazivac na datoteku koji služi kao indentifikacija zahteva od procesa ka datoteci i sve dalje interakcije su na taj način obeležene. Sistem datoteka u internoj memoriji pamti metapodatke o procesu i o datoteci (kao na primer pozicija u datoteci) koje koristi u procesiranju daljih zahteva. Ukoliko isto primenimo i na distribuirani sistem datoteka susrešćemo se sa problemom distribuirane greške. Do greške može doci na strani čvora koji prima zahtev i cuva podatke o zahtevu u memoriji kada se gubi svaka informacija o zahtevima koji će uslediti. Nemoguće je u tom trenutku konekciju migrirati ka replikaciji datoteke na drugom čvoru jer on nema informacije koje je imao prethodni čvor klastera. U povoljnijem ishodu, sistem za oporavak na strani klijenta će ponoviti zahtev, dok bi u drugačijem ishodu dio podataka bio izgubljen, a izvršavanje procesa bi bilo prekinuto. Obrnuto, ako bi se havarija desila na strani čvora koji postavlja zahtev, drugi čvor bi imao ostatke memorije koje ne bi mogao da ukloni (jer datoteka nije zatvorena) vec bi to bio dodatni posao za takozvani sistem uklanjanja sirocadi (engl. orphan detection and elimination). Stoga, ukoliko želimo stabilan, na greške otporan distribuirani sistem datoteka, čvor koji postavlja zahtev je taj koji mora cuvati stanje (jer njegovim krahom se prekida i sam proces) i prosledivati ih prilikom svakog zahteva (kako početnog tako i svakog narednog) čvoru koji poseduje jednu od replikacija zahtevane datoteke. Greška u interakciji sa čvorom koji poseduje datoteku se lako rešava upučivanjem zahteva nekom drugom čvoru koji poseduje replikaciju datoteke. Tek ukoliko takvog čvora nema, aktivira se mehanizam oporavka koji ponavljanjem zahteva, uz vremenski uslov prekida može efikasnije da reši problem.

17

Page 273: Operativni sistemi (ETF)

4. Primeri distribuiranih sistema datoteka CODA sistem datoteka Ovaj sistem datoteka implementira jedinstveno stablo direktorijuma koje se montira unutar lokalnog stabla svakog čvora, kao što je slucaj i kod AFS-a. Sistem je originalno kreiran za rad na GNU Mach mikrokernelu, ali sada ima zvanicnu podršku za Linux, NetBSD, FreeBSD, a podržava i druge Unix-olike sisteme. CODA sistem je sacinjen od nekoliko komponenti koje se nalaze na svakom čvoru - upravljac replikacija (Venus), server (Vice) i modula za kernel. Sistemski poziv za neku od operacija nad datotekom ili direktorijumom koji se nalazi unutar tacke montiranja sistema datoteka se upucuje CODA kernel modulu. On otvara standardni teletype uredaj za komunikaciju ka Venus-u koji se nezavisno izvršava u korisničkom prostoru. Venus najpre provera da li poseduje traženi objekat interakcije u lokalnom skladištu replikacija. Ukoliko ga ne poseduje, Venus kontaktira sistem imenovanja od koga saznaje listu čvorova koji poseduju replikaciju objekta. Na odabranom čvoru koristeci RPC2 protokol komunikacije uspostavlja vezu sa serverskom komponentom nazvanom „Vice“. Objekti se preuzimaju kao atomske jedinice (cijela datoteka, odnosno sve informacije o direktorijumu) i smeštaju u lokalno skladište replikacija. Kada je objekat interakcije dostupan u skladištu replikacija, Venus o tome obaveštava CODA modul kernela koji novim sistemskim pozivom izvršava stvarnu akciju nad objektom. Pored podele u datoteke i direktorijume, unutar jednog čvora distribuirane datoteke se dele u logicke celine - delove (engl. volume). Svaki „dio“ sadrži nekoliko direktorijuma i datoteka povezanih u logicku celinu (datoteke vezane za jedan projekat i sl.) koju odreduje administrator. Oznaka „djela“ je osnovna jedinica montiranja preko koje se obezbeduje od upada u ciklicni graf putanje koja u sebi sadrži montirane direktorijume. „Dio“ je osnovna jedinica replikacije datoteka. Prilikom replikacije „djela“, indentifikacija čvora se dodaje u listu čvorova koji poseduju replikaciju tog „dela“. Listom je obeležena grupa čvorova oznacena kao VSG (Volume Storage Group). Prilikom izmena nad objektom, podaci se citaju sa jednog čvora, a dostavljaju svim čvorovima iz VSG grupe „djela“ u kome se nalazi objekat koji se menja. CODA sistem datoteka podržava multicast (unicast) RPC komunikaciju i ovakva polisa upisa ne usporava rad sistema. Venus može da detektuje i prekid veze kada se prebacuje u offline režim rada što je jedna od naprednih mogucnosti CODA sistema datoteka, izuzetno korisna u mobilnom okruženju, ali i u okruženju podložno havarijama na mreži kada se ova mogucnost ponaša kao komponenta sistema zaduženog za kontrolu grešaka i transparetnost pri greškama uopšte. Mogucnost offline načina rada i agresivni model cuvanja replikacija dovodi do problema postojanja više verzija iste datoteke na sistemu (izmena datoteke u lokalnom skladištu na čvoru koji se privremeno nalazi van mreže), pa CODA sistem datoteka poseduje mehanizme za njegovo rešavanje. Kada je u normalnom režimu rada, po izmeni podataka u lokalnom skladištu replikacija Venus obaveštava odgovarajuci VSG skup. U offline režimu to nije moguće raditi pa se izmene cuvaju lokalno u bazi oznacenoj kao CML (Client Modification Log). Po uspostavljanju konekcije, Venus će poslati sadržaj CML-a VSG-ovima na cije datoteke se izmene odnose. Pri tome se neće izvršiti poništene izmene (datoteka koja je kreirana pa kasnije obrisana neće izazvati nikakvu akciju). Problem koji se dešava jeste što su se mogle dogoditi i druge izmene nad istim datotekama pa se promene iz CML-a ne mogu izvršiti. Na primer, čvor u offline

18

Page 274: Operativni sistemi (ETF)

modu kreira novu datoteku u jednom od direktorijuma ciju replikaciju poseduje. Operacija se upisuje u CML. Medutim, u vremenu offline rada drugi čvor kreira datoteku sa istim imenom. Po ponovnom uspostavljanju veze, akciju iz CML baze nije moguće izvršiti. Konflikti mogu biti i usled promene strukture direktorijuma, uklanjanja datoteke, ali i konkurentnih upisa u istu datoteku ili izmena istog direktorijuma. Neke situacije rešavaju Vice i Venus komponente odgovarajucih čvorova u direktnoj komunikaciji, dok je za neke složenije konflikte neophodna akcija korisnika ili procesa. Sam mehanizam na krajnjem nivou je vrlo slican popularnom sistemu kontrole konkurentnih verzija datoteka - CVS-u. CODA sistem datoteka je namenjen velikim distribuiranim operativnim sistemima sa nekoliko stotina do nekoliko hiljada klijenata u klasteru. Aktivno se koristi i razvija na Carnegie Mellon univerzitetu, a pomić pruža i veliko udruženje korisnika. CODA sistem se može efikasno iskoristiti i na drugim poljima, za FTP i WWW mirror, kao rešenje za repikaciju bitnih podataka na klasicnim operativnim sistemima i sl. Lustre sistem datoteka Ovo je primer distribuiranog sistema datoteka nove generacije, namenjenog velikim distribuiranim sistemima, sa podrškom za desetine hiljada čvorova i memorijom koja se meri u petabajtima ( jedan petabajt ima 250 bajtova), velikim prenosnim brzinama, sistem datoteka koji svojim dizajnom eliminiše probleme performansi, dostupnosti, proširivosti. Lustre sistem datoteka potpuno ostvaruje transparentnost lokacije, ne sadrži jedinstvenu tacku oslonca sistema, i ima visoku otpornost na greške. Razvija se kao softver otvorenog koda (GNU GPL licenca), a pod pokroviteljstvom kompanije “Cluster File Systems, Inc.” koja kao strateške partnere ima najbolje predstavnike računarske industrije (Dell, Cray, HP i drugi). U novembru 2003. godine je izvršeno testiranje Lustre sistema datoteka u jednom od produkcionih okruženja gde se on danas koristi (Americka nacionalna agencija za razvoj superračunara) i ostvareni rezultati su inpresivni. Operišuci nad 1000. čvorova klastera, ostvaren je paralelni ulaz/izlaz pri brzini od 11,1 GB podataka u sekudi, uz ostvareno 90% konstantno opterecenje veze izmedu svih čvorova! Lustre sistem datoteka razdvaja fizicku lokaciju cuvanja podataka i metapodataka. Ulogu cuvanja podataka i metapodataka preuzimaju grupe čvorova, a generalizacijom je moguće postici i potpunu distribuciju. Informacije o stanju datoteka na sistemu (pozicija pokazivaca u datoteci, status zakljucavanja datoteke i sl.) se cuvaju zajedno sa podacima i njihovim replikacijama cime se obezbeduje bolje snalaženje pri greškama. Sistem se ne oslanja samo na Ethernet mrežne slojeve, vec postoji sloj za apstrakciju mreže iznad koga stoji Portals API, specijalni mrežni protokol. Na vrhu slojevitog modela se nalazi Lustre-ov protokol komunikacije. Kao i ostale komponente Lustre sistema i protokoli komunikacije su laki za integraciju u razlicita postojeca okruženja i standarde. Vec pomenute informacije o stanju datoteka ali i informacije o samom Lustre DFS-u se cuvaju u standardizovanim formatima kao što su XML i LDAP što olakšava prelazak i dozvoljava korišćenje postojecih administracionih alata i po prelasku na Lustre sistem datoteka. Osnova predstavljanja datoteke je objekat koji se beleži (kroz apstrakciju) na magnetne uredaje sa stalnom memorijeom. Objekat se locira i objektu se pristupa na osnovu informacija o opisu objekta sacuvanih na serverima koji cuvaju metapodatke (MDS). Ovi serveri podržavaju sve

19

Page 275: Operativni sistemi (ETF)

operacije nad prostorom imena datoteka, odnosno više operacije nad objektima kao što su kreiranje objekta, imenovanje i lociranje objekta, operacije nad atributima objekata i direktorijuma, itd., dok se same ulazno izlazne operacije obavljaju nad objektno-baziranim diskovima, odnosno danas kroz objektnu apstrakciju sa uredajima za spremanje podataka.

Ilustracija 17 – Tokovi komunikacije izmedu komponenti Lustre sistema datoteka Pojavom diskova koji na nivou hardvera podržavaju osnovne operacije sa objektima, takozvanih objektno-baziranih diskova (OBD) ubrzale bi se perfomanse Lustre sistema datoteka. Kompanija Cluster File Systems pregovara sa proizvodacima i pojava ovakvih uredaja bi se mogla ocekivati u buducnosti. Trenutno Lustre emulira ovakve uredaje kroz specijalne kernel module u OST kernelima koji prave vezu izmedu OBD interfejsa i sistema datoteka na klasicnim diskovima kao što su ex3, JFS, ReiserFS i XFS. Razdvajanjem metapodataka i samih podataka (objekata) se pojavljuju novi slucajevi prestanka funkcionalnosti pojedinih delova Lustre distribuiranog sistema datoteka, pa se distribuirana LDAP baza sa listom dostupnih MDS ali i OST čvorova mora stalno održavati. Takode razdvajanjem se mogu dobiti prednosti u dostupnosti sistema jer se mnoge operacije mogu obaviti interakcijom samo sa jednom grupom čvorova, a ulazno-izlazna interakcija se obavlja bez posrednika. Poput AFS-a i CODA sistema datoteka, i Lustre koristi jedinstveni prostor imena, ali tacka montiranja virtualne hijerarhije datoteka nije predefinisana vec se ona odreduje pomiću konfiguracionih datoteka u samim direktorijumima koji predstavljaju tacku montiranja sistema datoteka. Tako je moguće u Lustre sistem datoteka uklopiti postojeće tacke montiranja drugih sistema pa i drugih distribuiranih sistema datoteka, prepisati dio lokalnog stabla distribuiranim stablom i slicno. U ubrzanja koja će se dodatno postici daljim razvojem Lustre sistema datoteka spada podrška za asihroni upis u datoteke, naspram sadašnjeg zahtev-odgovor modela. Dalje, u planu je podrška za bolju distribuciju servera sa metapodacima koji su trenutno u redundantnoj grupi čvorova, umesto u ravnopravnoj distribuiranoj grupi. Pristup objektima se ureduje POSIX ACL semantikom pristupnih lista koja je jako efikasna u okruženjima sa velikim brojem korisnika. Lustre bi u buducnosti trebao da potpuno podržava Kerberos5 i PKI mehanizme kao pozadinu autentifikacije. Transmisija podataka je obezbedena automatskom enkripcijom/dekripcijom i metodom deljenih kljuceva.

20

Page 276: Operativni sistemi (ETF)

Dalji razvoj Lustre-a se kreće ka vecoj distribuciji, ka povecanju količine keširanih i repliciranih vrsta podataka i količine samih takvih podataka. Takode, za novu verziju je predvidena pojava prelomnih tacaka sistema (engl. breakpoint ili snapshot) na koje će se sistem moci vratiti u svakom trenutku. Djelovi podataka za kreiranje prelomne tacke će biti ravnopravno raspodeljeni na klijente, OST i MDS servere.

5. Sigurnost i višekorisnički rad Distribuirani operativni sistemi najcešće imaju veliki broj korisnika, veliku kolicinu važnih i poverljivih podataka, komplikovanu organizaciju pristupa velikom broju uredaja itd. Pod pojmom sigurnosti se podrazumeva nekoliko razlicitih stvari. Najpre, sigurnost podataka u distribuiranom sistemu datoteka, odnosno obezbedenje da će podatke moci da vidi, koristi, izmeni i ukloni samo onaj ko za to ima dozvolu. Dalje, sigurnost podrazumeva i zaštitu radne memorije kako bi se sprecila nasilna promena stanja distribuiranog operativnog sistema ili procesa koji se na njemu izvršavaju od strane treceg procesa. Pod istim pojmom se podrazumeva i uredenje korišćenja resursa i uredaja (prostor u memoriji, adresni opseg, procesorsko vreme, ulazno izlazne jedinice i sl.) od strane procesa i korisnika. Na kraju, sigurnost podrazumeva i zaštitu od umetanja stranog čvora u klaster kako bi se sprecila krada informacija. Osnovno pravilo u koncepciji bilo kog sigurnosnog sistema jeste ne verovati nikome i nicemu. Mehanizmi sigurnosti su enkripcija, autentifikacija, autorizacija i zapisivanje i ispitivanje (engl. auditing). Enkripcija je fundamentalni mehanizam sigurnosti nastao i pre pojave računarskih sistema. Pored onemogucavanja lakog pristupa samim podacima, može poslužiti i za proveru integriteta i verodostojnosti samih podataka. Autentifikacija je prvi preduslov za izvršavanje usluge. Može se posmatrati na nivou korisnika (prijavljivanje na sistem) i na nivou distribuiranog operativnog sistema kada postoji autentifikacija procesa i samih čvorova klastera. Nakon autentifikacije, potrebno je izvršiti proveru da li proces/korisnik/čvor ima pravo korišćenja usluge koju je zatražio što je proces sistema za autorizaciju. Na kraju, zapisivanje i ispitivanje se obavlja kroz analizu zapisa sistema (engl. log). Iako ne predstavlja nikakvu stvarnu sigurnosnu zaštitu ovi zapisi (i njihova analiza) mogu pomići za spoznaju načina upada u sistem i pružaju eventualnu mogucnost za otkrivanje pocinilaca. Za obezbedivanje sigurne komunikacije često nije dovoljna samo enkripcija, vec i autorizacija puta poruke pre slanja podataka. Postoje situacije kada je dovoljno imati informaciju o kolicini podataka, bez potrebe uvida u podatke. Karakteristican primer koji se često navodi u literaturi jeste sledeci slucaj: Za vreme nove svetske krize, kolicina informacija ka Beloj Kuci se smanjuje, dok se istovremeno uvecava kolicina informacija upucena na lokaciju u Koloradu. Iako su poruke pravilno enkriptovane, sama cinjenica o postojanju komunikacije u ovom primeru isuviše mnogo govori. Sama enkripcija može biti simetricna, kada je kljuc za šifrovanje i dešifrovanje poruke isti ili asimetricna kada se oni razlikuju, ali zajedno čine jedinstveni par. Vrlo koristan je i metod jednosmerne enkripcije (kada ne postoji mogucnost mogucnosti dekripcije). Koristi se prilikom verifikacije samih podataka. Odlika funkcije za ovakvo šifrovanje jeste mala podudarnost, tj. zanemariva verovatnoca da će f(m) biti isto što i f(n), za mVn. Van okvira ovog rada je obrada konkretnih algoritama šifrovanja i dešifrovanja jer bi to zahtevalo preveliki odlazak u širinu. Napomenimo samo poznate algoritme kao što je DES za simetricnu

21

Page 277: Operativni sistemi (ETF)

enkripciju, RSA za asimetricnu i izuzetno često korišćeni MD5 algoritam jednosmerne enkripcije. Svi pomenuti algoritmi su definisani RFC dokumentima, a njihove implementacije postoje na svim programskim jezicima. Često se prakticnosti radi autentifikacijom najpre otvara sigurni kanal komunikacije, a zatim kroz njega šalju informacije bez potrebe za složenijim algoritmima enkripcije. Spoljne karakteristike sistema sigurnosti (dozvola korišćenja podataka i datoteka) je lako implementirati kada je prisutna sigurna komunikacija na nivou distribuiranog operativnog sistema kao i načini za utvrdivanje indentiteta čvora i procesa. U toku implementacije najpre se deskriptor procesa proširuje za oznaku korisnika i grupe kojoj korisnik pripada. Dalje, deskriptor deljenog resursa (ne uključujuci i distribuirane stranice memorije) se proširuje kako bi obuhvatio povezanu listu korisnika koji mogu pristupiti resursu, kao i spisak grupa korisnika. U ovoj informaciji se sadrži i pravo pristupa koje se uporeduje sa zahtevanom operacijom i onda tek ako je zahtev validan sistem prelazi na izvršavanje operacije. Zaštita memorije se ne vezuje za korisnika vec za proces. U deskriptoru stranice memorije se dopisuje informacija – veza sa deksriptorom procesa koji je memoriju alocirao. Ukoliko DOS podržava deljenu memoriju, zapisuje se povezana lista deskriptora i niti koji joj mogu pristupati. Na osnovu ove informacije procesima se ne dozvoljava pristup memoriji koju nisu oni alocirali ili im nije data eksplicitna dozvola da mogu da pristupe toj memoriji. Same informacije o stanju prijave korisnika, pomenute proširene informacije deskriptora i sl. se takode repliciraju i keširaju na sistemu, što je slucaj i sa samim i javnim i tajnim kljucevima čvorova. Ove informacije i pored validne autentifikacije čvorova ipak ne mogu biti distribuirane potpuno slobodno vec se poverljive informacije repliciraju samo na pojedine grupe čvorova, a sam način tretmana ovih informacija je razlicit od sistema do sistema. Kada se govori o industrijski priznatim i podržanim sistemima (i standardima) sigurnosti koji uključuju sve pomenute komponente treba svakako pomenuti Kerbreos i SESAME. Ipak, upuštanje u dizajn ovih sistema je isuviše nezahvalno zbog glomaznosti samih sistema. O sistemima postoji velika kolicina literature i moguće je detaljno prouciti njihov rad bez potrebe za preterani odlazak u širinu u ovom radu.

22

Page 278: Operativni sistemi (ETF)

6. Dizajn Amoeba sistema Prvi distribuirani operativni sistemi su se pojavljivali kao prilagodene verzije vec postojecih mrežnih operativnih sistema napravljeni za potrebe konkretnih ciljeva, za rad na konkretnim klasterima. Takvi sistemi nisu imali dovoljnu otvorenost, skalabilnost niti transparentnost. Pojavom distribuiranih sistema široke namene i razvojem modela distribuiranog programiranja, pojavom prvih specifikacija standarda komunikacije, imenovanja i distribucije pojavljuju se i distribuirani operativni sistemi nove generacije. Nakon Multix-a i njemu slicnih sistema, u drugoj polovini osamdesetih godina se pojavljuje Amoeba – distribuirani sistem nove generacije koji se aktivno razvija do današnjih dana. Sistem poseduje biblioteke za emulaciju POSIX specifikacije tako da se na njemu mogu ponovo prevesti programi kompatibilni sa njom i normalno izvršavati kao na ostalim Unix sistemima. Amoeba sistem, po recima autora distribuirani operativni sistem nove generacije koji se korisnicima uspešno predstavlja kao klasicni operativni sistem, potpuno skrivajuci samu distribuciju, je baziran na distribuiranim objektima. Za komunikaciju koristi RPC (Remote procedure calls). Sistem datoteka (FileSystem) je odvojen i posebno distribuiran, tako da može doci do uskog grla u komunikaciji izmedu čvorova i sistema datoteka. Medutim, procesi na distribuiranim operativnim sistemima nemaju veliko I/O opterecenje, a Amoeba poseduje mehanizme koji takve procese izvršavaju lokalno. Amoeba sistem je nastao pre pojave CORBA i IDL specifikacija, ali on koristi slicnu specifikaciju za definiciiju distribuiranih objekata – AIL (Amoeba interface language). Sistem koristi mikrokernel dizajn kernela, gde kernel poseduje samo minimalne sisteme – upravljanje memorijom, kreiranje procesa i niti, komunikaciju procesa i upravljanje lokalnim resursima. Kreiranje udaljenih procesa se vrši preko sistema za upravljanje procesima koji obezbeduje kreiranje udaljenih procesa, ispravljanje grešaka (debugging), postavljanje prelomnih tacaka izvršavanja (breakpointing), migraciju procesa i sl. Svi ostali djelovi distribuiranog sistema se izvršavaju kao korisnički procesi što pojednostavljuje dizajn sistema, bez dodatnih gubitaka u performansama. Izuzev emulacije POSIX specifikacije, Amoeba sistem ne kopira ni jedan drugi operativni sistem i time izbegava da zbog pokušaja implementacije dizajna sistema druge namene ne uspe u svom osnovno cilju – stvaranja kvalitetnog i dovoljno brzog distribuiranog operativnog sistema opšte namene. Svaki poziv za izvršavanje odredene metode objekta se obavlja preko RPC toka komunikacije. RPC model kod Amoeba sistema je vrlo jednostavan i sastoji se od tri sistemska poziva: do_operation, get_request i send_reply. Prvi sistemski poziv koristi proces koji zahteva korišćenje udaljene procedure. Implementacijom se poziva sistem imenovanja, šalje zahtev, verifikuje potvrda prijema zahteva, i po prispecu odgovora isti dostavlja procesu kao povratna vrednost. Drugi koristi proces koji želi da primi zahtev, a treci služi za slanje odgovora nakon obavljene operacije. Dakle, klijentski proces ili nit procesa koji poziva distribuirani proces šalje zahtev lokalnom sistemu procesa (sistemski poziv do_operation) koji pokušava da locira čvor na kome se

23

Page 279: Operativni sistemi (ETF)

nalazi zahtevani proces (proces koji je pozvao poziv get_request). Ukoliko sistem ne zna tu informaciju, on će poslati broadcast paket na koji će odgovoriti sistem procesa koji poseduje dati objekat ili više njih kada će se izbornim algoritmom odabrati jedan. Informacija dobijena od sistema imenovanja se pamti u kešu u memoriji. Sada, kada je poznata lokacija objekta, šalje se RPC upit sacinjen od zaglavlja fiksne dužine i samih parametara za poziv metode. Udaljeni čvor prima upit, poziva proces sa dobijenim parametrima i nakon izvršavanja vraca odgovor sa povratnim vrednostima, eventualno izmenjenim prvobitno prenetim parametrima (sistemski poziv send_reply). Proces ili nit procesa koja je pozvala distribuirani proces dobija povratne vrednosti kao da se metoda nalazila lokalno. Da bi se dodatno olakšalo korišćenje razvijen je i poseban više RMI orijentisan interfejs koji dozvoljava interakcije sa objektima.

Ilustracija 18 – Arhitektura Amoeba sistema

Prilikom poziva get_request proces navodi prikljucak (port) na koji treba uputiti do_operation sistemski pozv. Port je 48-bitna vrednost i poznat je celom sistemu samo za neke sistemske procedure (kao što je interakcija sa DFS-om) dok je za ostale procedure nepoznat. Poznavanje porta je prvi uslov verifikacije prava poziva procedure. Drugi nivo sigurnosti u Amoeba sistemu dodatno zabranjuje interakcije sa pojedinim objektima, bilo da je ona direktna ili preko distribuirane procedure. Port ipak ne može biti jedini mehanizam autentifikacije procesa jer proces može pokrenuti svoju distribuciju na portu koji je dat DFS-u pokušavajuci da se se predstavi kao DFS ostatku sistema. Zato Amoeba implementira specijalno hardversko rešenje za enkripciju portova po principu razmene javnog i tajnog kljuca (F-box) kojim se ureduje koji proces može koristiti odredeni port. Ovo rešenje enkripcije porta se svodi na postojanje dva reprezenta samog porta, gde se drugi (P) izracunava preko javno poznatog preslikavanja prvog reprezenta (G) koje ima osobinu da nije moguće napraviti inverzno preslikavanje (hash algoritam enkripcije, poput popularnog RSA MD5 algoritma). Čvor koji pruža neku proceduru prilikom prijave dobija vrednost G i izracunava vrednost P. Vrednost G se cuva skriveno od ostatka sistema, dok se potencijalni klijenti obaveštavaju slanjem vrednosti P. Parametar poziva get_request je tajni kljuc G, gde F-box izracunava javni kljuc P i ceka poruku za port P. Kada poruka stigne, preusmerava se na proces koji pruža uslugu deljenja procedure. Kako je G strogo cuvan podatak, ni jedan zlonamerni proces ne može koristiti isti port, niti ga na osnovu javnog porta može saznati. Svaki pokušaj zlonamernog procesa da osluškuje poruke za javni kljuc P će rezultirati osluškivanjem za vrednošću preslikavanja vrednosti P u P’, što je beskorisno. U daljem razvoju će se ovaj metod autentifikacije čvorova i procesa proširiti na podršku za digitalne potpise, odnosno javni i tajni kljuc za klijentske procese Amoeba distribuiranog sistema.

24

Page 280: Operativni sistemi (ETF)

Sistem datoteka Amoeba sistema koristi strukturu usmerenog grafa za prikaz direktorijuma u globalnom prostoru imena koji u hijerarhiji sadrži i lokalni sistem datoteka montiran u jednom direktorijumu. Direktorijum je reprezentovan kao objekat, a pristupa mu se RPC pozivima za ulazak, pregled i brisanje. Uredivanje pristupa se obavlja pristupnim listama u korisnik/grupa notaciji. Objekat direktorijuma može sadržati reference na druge objekte cime se formira pomenuti usmereni graf bilo ciklicnog ili razgranatog tipa. Pored referenci na direktorijume, objekat direktorijuma sadrži i referencu ka povezanoj listi refernci na datoteke. Amoeba-in sistem datoteka ne podržava upis u postojeće datoteke tako da ne postoje problemi prilikom replikacije. Kada je potrebno kreirati novu datoteku, proces zahteva kreiranje novog objekta, zatim dostavlja podatke i dodeljuje referencu novog objekta u povezanu listu nekog direktorijuma. Metapodaci su smešteni unutar objekta i kreiraju se automatski. Proces u Amoeba sistemu se ne može simultano izvršavati na više od jednom čvoru. Deskriptor procesa sadrži indentifikaciju domacina, interfejs ka sistemu imenovanja ako je proces distribuiran, deskriptore svih niti koje je proces pokrenuo kao i povezanu listu segmenata memorije koje proces trenutno drži alocirane. Distribucija memorije jednog procesa nije podržana. Kernel koji se ne nalazi u indentifikaciji domacina u deskriptoru procesa ili nije u grupi koja je navedena ne može izvršiti taj proces niti može izvršiti njegovu lokalnu replikaciju. Deskriptor niti dalje ukazuje na pokazivac na stek, vrednosti registara, stanje sistemskih poziva i sl. Iako memorija nije distribuirana, alocirani segment memorije naveden u deskriptoru procesa može se replicirati na drugi čvor koji je naveden u indentifikaciji domacina procesa ili na njega premestiti ako se vrši migracija procesa. Što se stanja procesa tice, proces može biti zaglavljen ili pokrenut. Proces može biti zaglavljen spoljnim ili licnim zahtevom. Pri migraciji procesa on se prvo zaglavljuje, zatim kreira njegova replikacija kao i replikacija svih niti, memorijskih segmenata, stanja i steka. Na kraju originalni proces biva ubijen cime se završava migracija. Iako po mnogim stvarima neobican sistem, sa manjkom podrške za na, primer virtualnu memoriju, mogucnost parcijalnog upisa u datoteke na DFS-u, podršku za UNIX emulaciju na binarnom nivou, pristupne liste naspram objektno opisanih mogucnosti i sl., Amoeba kernel je jednostavan i mali, jer ne prilagodava distribuirano okruženje klasicnim operativnim sistemima vec funkcije OS-a prilagodava okruženju.

7. Dalji razvoj Usko grlo današnjih distribuiranih operativnih sistema opšte namene jeste samo njihovo okruženje koje po brzini prenošenja informacija izmedu komponenti ne može da se meri sa unutarprocesorskom komunikacijom. Stoga se razvoj distribuiranih operativnih sistema danas odvija na dva polja – hardverskom gde se stvara nova, brža mrežna infrastruktura i softverskom gde se stvaraju bolji metodi komunikacije, kvalitetniji i efikasniji protokoli sa boljom kontrolom grešaka i sa manjom velicinom gubitaka po svakoj poruci kroz zaglavlja, kontrolne pakete i sl. Razvoj veštacke inteligencije omogućava bolju primenu heuristike u odlučivanju vezanom za migraciju procesa pri distribuciji procesorskog vremena dok praksa koja se do sada stekla i stiče u distrisbuiranim operativnim sistemima sa prakticnom primenom omogućava bolji odabir karakteristicnih vrednosti. Primenom dinamickog odabira vrednosti pojedinih faktora kroz genetske algoritme i automatsko ucenje dodatno obezbeduje optimalnije performanse.

25

Page 281: Operativni sistemi (ETF)

Iako veoma mlada grana u razvoju sistemskog softvera, ovakvi sistemi se mogu vec sada pohvaliti dobrom upotrebnom vrednošću, a uspešno se primenjuju u brojnim naucnim istraživanjima za komplikovana i procesorsko-memorijski izuzetno zahtevna izracunavanja, analize i obrade rezultata. Distribuirani operativni sistemi nisu optereceni kocnicom kompatibilnosti jer predstavljaju potpuno novi način razmišljanja pri dizajniranju sistemskog softvera te se u narednom periodu mogu ocekivati izvanredni, prvo teorijski, a onda i prakticni prodori u ovoj oblasti. Mišljenje autora ovog rada je da će zbog kvaliteta u dizajnu (proširivost, otpornost, geografska nezavisnost delova i modularnost, a ipak visoka transparentnost) i samoj ideji distribucije resursa unutar virtualnog sistema, distribuirani operativni sistemi svakako predstavljati još dugo vremena vrh razvoja sistemskog softvera kako na klasicnim arhitekturama tako i na mobilnim uredajima koji bi cinili heterogeni otvoreni klaster uz obezbedivanje resursa na zahtev omogućavajuci njihovo korišćenje svima u svakom trenutku.

Popis korišćene literature [1] Andrew Tanenbaum i Maarten van Steen:Distributed systems – principes and paradigms, Pretince Hall, 2002. [2] Raphael Finkel:An Operating System vade mecum, University of Wisconsin at Madison i Pretince Hall, 1988. [3] David Hulse i Alan Dearle:Trends in operating systems design, University of Stirling, 1998. [4] Andrew Tanenbrawn: Modern Operating Systems , Pretince Hall, 2002. [5] OSKIT – The Flux Operating system toolkit 0.97, University of Utah, 1997-2002. [6] Cornelius Frank: Compiling kernel using C compiler, 2000. [7] The Amoeba Distribuited operating System User Guide, Amoeba project, 1996. [8] Intel Arhitecture Software Developer's Manual Volume 1 (Basic architecutre) , Intel, 2003. [9] Pei Cao: Distributed File System: Design Comparisons, transkript predavanja [10] Eliezer Levy i Abraham Silberschatz: Distributed File Systems: Concepts and Examples, University of Texas at Austin, ACM Computing Surveys, Decembar 1990. [11] Lustre whitepaper, Cluster File Systems Inc., 2003.

26