109
1 OPERACIJSKI OPERACIJSKI SUSTAVI SUSTAVI Bernard Vukelić, predavač Vježbe 2007/2008 iz kolegija Veleu Veleučili ilište u Rijeci te u Rijeci Skripta za studente Literatura Literatura David A. Solomon, Mark Russinovich: Inside Microsoft Windows 2000, Microsoft Press, 2000. Andrew S. Tanenbaum: Modern Operating Systems, Prentice Hall PTR, 2nd Edition Silberschnatz A.: Operating Systems Concepts, Seventh Edition, 2004. Kokoreva O.: Windows XP Registry, A-LIST Publishing, 2002. + sve što nađete na Internetu!!!

Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

Embed Size (px)

Citation preview

Page 1: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

1

OPERACIJSKI OPERACIJSKI SUSTAVISUSTAVI

Bernard Vukelić, predavač

Vježbe 2007/2008 iz kolegija

VeleuVeleuččiliiliššte u Rijecite u Rijeci

Skripta za studente

LiteraturaLiteratura

David A. Solomon, Mark Russinovich: Inside Microsoft Windows 2000, Microsoft Press, 2000.Andrew S. Tanenbaum: Modern Operating Systems, Prentice Hall PTR, 2nd EditionSilberschnatz A.: Operating Systems Concepts, Seventh Edition, 2004.Kokoreva O.: Windows XP Registry, A-LIST Publishing, 2002.

+ sve što nađete na Internetu!!!

Page 2: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

2

UvodUvod

“Operacijski sustav je specijalan program ili skupina programa koji upravlja računalom u smislu sklopovlja (engl. hardware) i programske podrške (engl. software).”

“…upravljanje procesima, upravljanje memorijom, upravljanje datotečnim sustavima, mrežna podrška, upravljanje sigurnošću, grafičko ili tekstualno sučelje, upravljački programi za specifično sklopovlje i sl….”

HARDWARE

SOFTWARE

KORISNIK (User)

Sklopovlje raSklopovlje raččunalaunala

Korisnik 1 Korisnik 2 Korisnik 3

Aplikacijski programi

Operacijski sustav

Hardware

n Korisnik

Page 3: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

3

Operacijski sustaviOperacijski sustavi

Korisnik – terminal, user-friendly sučelje

Računalo – upravitelj resursima:1) transformacija - kreira novi resurs (logički) iz postojećeg

(fizičkog)2) multipleksiranje – kreira iluziju o postojanju više

logičkih resursa iz jednog postojećeg fizičkog3) alociranje - vodi računa o pravu korištenja nad

nekim resursom- aplikacije – zahtjevi kroz API - application program interface

Sklopovlje raSklopovlje raččunalaunala

Elektroničko računalo

Pripremapodataka Ulaz Obrada Izlaz

Podatak Informacija

ProcesorRadni spremnikVanjski spremniciUlazno-izlazne naprave

Sklopovlje računala:

Page 4: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

4

Sklopovlje raSklopovlje raččunalaunala

von Neumannova arhitektura:

računalo kao sklop sastavljen od četiri glavna dijela:

n ALU (Arithmetic and Logic Unit) - aritmetičko-logička jedinica, n kontrolna jedinica, n memorija i n I/O (Input and Output) - ulazni i izlazni sklopovi.

DanaDanaššnji model ranji model raččunalaunala

Page 5: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

5

Paljenje i inicijalizacija raPaljenje i inicijalizacija raččunalaunala

BIOS (Basic Input Output System)

- software interrupts - interruptvector table

CMOS (Complementary Metal-Oxide Semiconductor) - 64 bytes- "CMOS Checksum Error"

Paljenje i inicijalizacija raPaljenje i inicijalizacija raččunalaunalaTipično podizanje sustava (System Boot Sequence) sastoji se od sljedećih koraka :

1. Uključenja napajanja, chipset generira reset signal za procesor - dok matična ploča ne dobije signal da je napajanje zadovoljavajuće (Power Good signal)

2. Procesor počinje izvođenje instrukcija sa određene lokacije u ROM memoriji BIOS-a - FFF0h - skok na stvarni početak BIOS-ovog programa za podizanje sustava – na kraju sistemske memorije.

2a) Provjera CMOS-a2b) skok na stvarni startup program

3. BIOS izvodi POST (Power-on self test) – sve u redu – INT19 – dalje na uređaje koji su priključeni na matičnu ploču – nije sve u redu – boot

proces STOP

Page 6: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

6

Paljenje i inicijalizacija raPaljenje i inicijalizacija raččunalaunala

4. BIOS traži grafičku karticu

5. Nakon toga BIOS pretražuje druge kartice i ako u njihovim ROM-ovima pronađe BIOS, pokreće ga.

6. BIOS ispisuje “startup” ekran

7. Izvode se razni testovi uključujući i prebrojavanje memorije koje se prikazuje na ekranu.

8. BIOS pregledava koji hardware je priključen na računalo.

9. Konfiguracija P’n’P (Plug & Play) uređaja.

10. Ispisati će se tablica sa popisom hardware-skih komponenata.

Paljenje i inicijalizacija raPaljenje i inicijalizacija raččunalaunala

11. BIOS traži pogon (floppy/disk) sa kojega će podignuti operacijski sustav.

12. BIOS traži informacije o podizanju operacijskog sustava. Na tvrdom disku pretražuje MBR (Master boot record)

13. BIOS kreće sa podizanjem operacijskog sustava.

14. Ako ne uspije pronaći informacije koje traži, BIOS ispisuje poruku i zaustavlja se – INT18.

"cold boot" "warm boot" – CTRL+ALT+DEL – od koraka 8

Page 7: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

7

BIOS i pristup BIOS i pristup hardhard diskudisku

1. BIOS Interrupt Routines2. Hard Disk Detection and Configuration – IDE/ATA3. Hard Disk Interface Mode Support – chipset, matična ploča, I/O

sabirnica...

Int13h sučelje – DOS - reading, writing, formatting

- Geometrija diska - 1,024 cylinders, 256 heads, 63 sectors ~ 8 GB > Int13h extensions

- U BIOS-u za zapis diska - 10 bits for the cylinder number- 8 bits for the head number- 6 bits for the sector number

ObjaObjaššnjenje CHS vrijednostinjenje CHS vrijednosti

Stari način – diskovi do 8Gb – 1998. -1999.– npr. CHS (723, 254, 63) – ali obično se zapisuje Head, Sector and Cylinder – cilindar treba više od 8 bitova za zapis

-8 bitova (1111 1110) Head - FE in hexadecimal(ili 254 u decimalnom sustavu)- 6 bitova – Sector –11 1111 = 3Fh = 63- Cylinder - 10 bitova – 2 mora prebacit - 10 1101 0011= 2D3h = 723

Page 8: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

8

BIOS i pristup BIOS i pristup hardhard diskudisku

PROBLEMI

BIOS i pristup BIOS i pristup hardhard diskudisku

IDE/ATA - 2^16 or 65,536 cylinders

Page 9: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

9

BIOS i pristup BIOS i pristup hardhard diskudisku

logical geometry - physical geometry

Hard Disk BIOS Translation Modes:

- Normal / Standard CHS Mode – diskovi ispod 528 MB- Extended CHS (ECHS) / Large Mode- LBA - logical block addressing

34.2 Gb

3.8 Gb

Page 10: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

10

BIOS i pristup BIOS i pristup hardhard diskudisku

CHS – no translation

•Extended CHS

•LBA

PrimjerPrimjer

Physical geometry - 2000 cylinders, 16 heads and 63 sectors = LBA = 2016000 sectorsBIOS – INT13 = 1000 cylinders, 32 heads and 63 sectors

value of NThe number of cylinders is divided by N while the number of heads is multiplied by NN = 2, 4, 8,..., a power of 2.

Page 11: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

11

LBA LBA -- logicallogical blockblock addressingaddressing

Svaki sektor je označen “unique” brojem – npr. Floppy 0-2879=2880 blokova

LBA = (Sector - 1) + (Head * Total Sectors) + (Cylinder * (Total Heads + 1) * Total Sectors)

LBA = ( (cylinder * heads_per_cylinder + heads )* sectors_per_track ) + sector - 1

MBR (MBR (MasterMaster bootboot recordrecord))

“početna točka” – podaci o disku (particije) Lokacija – 0 cylinder, 0 head, 1 sector

Page 12: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

12

BootBoot RecordRecord Signature Signature

16-bit hexadecimal Word, 0xAA55 (or: AA55h)

MasterMaster BootBoot CodeCode

Master Boot Code (Code Area) – mala količina koda koji služi za pokretanje operacijskog sustava (real mode machine language instructions) – BIOS –OS

Master Boot Code - Master Partition Table – aktivnosti:

1. U particijskoj tabeli traži aktivnu particiju2. Traži početni sektor aktivne particije3. Učitava kopiju boot sektora iz aktivne particije u memoriju4. Predaje kontrolu boot loaderu u boot sektoru aktivne particije

Page 13: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

13

PartitionsPartitions ((ParticijeParticije))

Particije su logičke strukture odnosno cjeline (dijelovi) tvrdog diska, koje operacijski sustav prikazuje kao zasebne prostore na disku

Zašto se tvrdi disk mora particionirati?

1. U prijašnje vrijeme: zbog datotečnog sustava (File system) – podrška do određene veličine particije

2. Danas: više OS na disku – dual boot

Primarne, proPrimarne, prošširene i logiirene i logiččke ke particijeparticije

Particije mogu biti primarne (primary) i proširene (extended) – proširene particije sadržavaju logičke (logical) particije

Primarne particije - na kojima se nalazi operacijski sustav i sa kojih se podiže sistem (bootabilne)

Sastoje od četiri dijela:*

* Primjer FAT datotečnog sustava

Page 14: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

14

Primarne, proPrimarne, prošširene i logiirene i logiččke ke particijeparticije

Proširene particije najčešće služe za pohranu podataka koji nisu važni za podizanje sustava - ne mogu biti bootabilne – sadrže logičke particije – max. 24, odnosno 23 ako koristimo primarnu particiju na disku

PartitionPartition Table Table

Partition Table (Particijska tabela) – popis primarnih particija - sadrži 4 zapisa po 16-byta (4x16=64)

U praksi 3+1!!! – zašto?

Page 15: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

15

Unos za Unos za PrimaryPrimary PartitionPartition ((PartitionPartition Table Table EntryEntry))

Unos za Unos za PrimaryPrimary PartitionPartition ((PartitionPartition Table Table EntryEntry))

Boot indicator – 80h ili 00h – primarna bootabilna uvijek ima najveću vrijednostStarting Sector - u CHS vrijednostima (3 bytes) Partition Type Descriptor – tip datotečnog sustava - mogućih 256vrijednosti - npr. 0Bh za FAT32Ending Sector - u CHS vrijednostima (3 bytes)Starting Sector (4 bytes) - LBA (Absolute Sector) vrijednost -Logical Block AddressPartition Size – (4 bytes)

Page 16: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

16

PRIMJER!!! (PRIMJER!!! (PartitionPartition Table Table EntryEntry))

ExtendedExtended BootBoot RecordRecord

Ako na hard disku postoji Proširena particija (Extended) može postojati i Extended Boot Record – jer neki OS-i vide unutar particijske tabele proširenu particiju, ali ne i logičke

Page 17: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

17

BootBoot SectorSector

Na 1 sektoru svake particije

BootBoot sectorsector –– assemblerassembler codecode

Page 18: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

18

BIOS BIOS parameterparameter blockblock (BPB)(BPB)

BPB – veličina i geometrija diska – informacija boot codu gdje se nalazi boot loader – npr. Ntldr u Windowsima

Primjer FAT 32 BPB-a

DinamiDinamiččki diskovi/ki diskovi/particijeparticije –– MS Windows 2000MS Windows 2000

Fleksibilniji: multipartition volumes –

§ Spanned volumes § Mirrored volumes § Striped volumes § RAID-5 volume

bolje performanse, podrška za veće particije, pouzdanostInformacija o konfiguraciji dynamic particije zapisana na samom diskuNedostaci: nekompatibilni sa ranijim verzijama Windowsa, onemogućen pristup preko dual-boot-aParticije nisu prikazane u MPT – soft particije – potreban Logical Disk Manager (LDM)

Page 19: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

19

DinamiDinamiččki diskovi/ki diskovi/particijeparticije –– MS Windows 2000MS Windows 2000

LDM database

GUID GUID particijeparticije -- Guaranteed Unique Identifier Disk

Intel - Extensible Firmware Interface (EFI) - 64-bit Veličina do 18 exabytes i 128 partiticija po disku

Page 20: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

20

PrimjerPrimjer

PartitionsPartitions

Vježba - objasnite

http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/prork/prcb_dis_qxql.mspx?mfr=true

Page 21: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

21

PartitionPartition TableTable

Vježba – Partition Table EditorDomaća zadaća: proučiti na webu: hard disk IDE/ATA, PIO, DMA, RAID, spanned i striped Volumes...www.pcguide.com; www.acnc.com/raid.htm

File system – struktura u kojoj su datoteke zapisane – naziv i način pristupanja. Podaci na disku smješteni su u 512-bytesektore - x86 systems Zbog performansi disk je podijeljen na veće dijelove clustere (allocation units) -addressable blocks

DatoteDatoteččni sustavini sustavi

Interrupt

Read-write

Logički i fizički blokovi

Metadata

Page 22: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

22

NTFS – “New Technology File System” – Windows NT, Windows 2000 i Windows XPPouzdanost – konzistentnost file systema – log datotekeVeća sigurnost – EFS – Encrypting File System – enkripcija podataka i ACL - access control list“Menadžment prostora” na disku – disk kvote – disk kompresija na razini atributaPodrška za veći diskovni prostor – teoretski do 16 exabyta –manja veličina clustera – limitirano do 128 TB – 32-bitni clusteri

NTFS datoteNTFS datoteččni sustavni sustav

NTFS File System Driver NTFS File System Driver

NTFS i ostali datotečni sustavi imaju device drivere – kernel modeDatoteke – objekti – dijeljenje i zaštita – Object manager

Page 23: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

23

NTFS strukturaNTFS struktura

Svi podaci su zapisani kao datotekemaster file table (MFT) – osnova NTFS Volume strukture – file record 1KB – 1 record za 1 file + metadata files – započinju sa znakom $ - $Mft - maximum size of 248 records

1 – kopija MFT

2 -log file – npr. dodavanje novog ili micanje direktorija

3 – Volume – informacije o veličini, nazivu

4 – Definiranje atributa

5 – Root direktorij - \

6 – Bitmap – slobodni prostor na disku

7 – Bootstrap loader – pokazivač8 – Bad blocks9 – Security descriptor – files & directories10 – Case mapping – npr. Latin A-Z, upper and lower case11 – Extend – npr. file object IDs, quotas

88%12%

NTFS NTFS File Reference Numbers File Reference Numbers

Svaka datoteka (file) je opisana sa 64-bitnom vrijednošću - file reference – sastoji se od file number i sequence number-aFile number – pozicija datoteke u MFT-i minus 1 ako datoteka ima više od 1 recordaSequence number – za provjeru konzistentnosti kada se pozicija datoteke promijeni

Page 24: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

24

File Records File Records

Svaka datoteka je opisana kroz atribute - zaglavlje i vrijednost - nonresident i resident

< 1KB > 1KB - runlist

FilenamesFilenames

Mogućnost upisivanja 255 znakova - Unicode i razmaciMS DOS – 8.3 sistem – dugačka imena se moraju kratiti

. " / \ [ ] : ; | = , * ? (space)

Dir /x

Page 25: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

25

NTFS Recovery Support NTFS Recovery Support

Chkdisk alatrecoverable file system – u prošlosti su se koristile dvije tehnike:- careful write – prije zapisivanja podataka FS napravi serijske

podoperacije – nakon reseta file system je konzistentan

- lazy write - write-back caching strategy kao pozadinski proces -zapisuje se volume's state

NTFS Recovery SupportNTFS Recovery Support

NTFS koristi logging techniques (journal) – kad sistem padne gleda se zapis log datoteke – NTFS zapisuje log kad:

1. Creating a file 2. Deleting a file 3. Extending a file 4. Truncating a file 5. Setting file information6. Renaming a file 7. Changing the security applied

to a file

log file service (LFS)

Page 26: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

26

WinFS (?!)WinFS (?!)

WinFS – novi file system – za buduće generacije Windowsa –zasniva se na relacijskoj bazi podataka – Windows Future Storage

DatoteDatoteččni sustavini sustavi

Vježba – ispis MFT-a - Nfi utility Domaća zadaća: CDFS, UDF, FAT (12,16,32); NTFS kompresija i enkripcija – www.ntfs.com

Page 27: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

27

Boot proces, sastoji se od pet razina (koraka):

- preboot sequence,- boot sequence, - kernel load, - kernel initialization, - logon

MS Windows MS Windows –– bootboot processprocess

Page 28: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

28

Datoteke koje Windowsi koriste prilikom bootanja sistema:

BootC:\Ntdetect.com

Boot (opcionalno)C:\Bootsect.dos

BootC:\Boot.ini

Preboot i bootC:\ntldr

Boot razinaLokacijaNaziv

MS Windows MS Windows –– bootboot processprocess

Kernel initialization\Windows\System32\Config

System

Kernel load\Windows\System32Hal.dll

Kernel load\Windows\System32Ntoskrnl.exe

Boot (opcionalno) za SCSI diskove

C:\Ntbootdd.sys

Boot razinaLokacijaNaziv

MS Windows MS Windows –– bootboot processprocess

Page 29: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

29

Učitavanje i inicijalizacija “auto-start” device drivera i Win32 servisa.

Service control manager(SCM)

Startanje Service control manager-a i Local SecuritySubsistem-a (Lsass), te prikazivanje logon dijaloga.

Winlogon

Učitavanje Win32 subsistema i startanje Winlogonprocesa.

Smss

MS Windows MS Windows –– bootboot processprocess

Preboot Sequence – koraci:

- računalo pokreće tzv POST (power-on self test)+BIOS+testiranje memorije

- BIOS traži MBR (Master boot record) na hard disku računala

- učitavaju se podaci iz master boot sektora – da se vidi bootparticija

- učitavanje i izvršavanje ntldr datoteke

MS Windows MS Windows –– bootboot processprocess

Page 30: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

30

Boot Sequence:

- učitavaju se informacije o hardware-u i pripadajućim driverima

- 4 faze: inicijalizacija boot loadera (ntldr), odabir operacijskog sustava (boot.ini), detekcija hardware-a (Ntdetect.com i Ntoskrnl.exe) i detekcija postavki (lista hardware-skih profila)

MS Windows MS Windows –– bootboot processprocess

Ntldr počinje rad u tzv. real mode-u – nema “virtual-to-physical”pretvaranja memorijskih adresa – koristi se samo fizički dio memorijskih adresa i to samo 1 MB.

Dalje Ntldr prebacuje sistem u tzv. protected mode – pristup cijeloj fizičkoj memoriji i omogućavanje “paging-a”

Na kraju Ntldr učitava informacije iz boot.ini datoteke i ako je samo jedan boot izbornik automatski se prikazuje Startup screen sa progress bar-om.

MS Windows MS Windows –– bootboot processprocess

Page 31: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

31

Boot.ini datoteka

Control Panel – System – Advanced – Startup and Recovery + Edit

Tipični izgled boot.ini datoteke

[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetectC:\="Microsoft Windows Millennium Edition"

MS Windows MS Windows –– bootboot processprocess

ELEMENTI BOOT.INI DATOTEKE

- Kriptirane linije koje određuju putanju (path) boot particije

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

• prvi parametar označava disk kontroler – u multi() formi je uvijek 0

• disk parametar nije upotrebljen u multi() formi te je i on postavljen na vrijednost 0

MS Windows MS Windows –– bootboot processprocess

Page 32: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

32

• rdisk parametar označava redni broj disk kontrolera koji sadržava OS – npr. prvi disk je 0 (master), drugi 1 (slave) itd.

• partition parametar označava boot particiju i uvijek započinje sa brojem 1

• \WINDOWS označava putanju mape u kojoj je instaliran OS.

MS Windows MS Windows –– bootboot processprocess

Najčešći switch-evi koji se koriste

• /Fastdetect – isključuje traženje mouse-a na serijskom portu

• /Noguiboot - isključivanje Windows “splash” screen tijekom startup-a

• /Sos – prikazivanje informacija o svakom driveru koji se učitava prilikom startup-a

MS Windows MS Windows –– bootboot processprocess

Page 33: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

33

Kernel load

– učitavanje hardware drivera (Ntdetect.com) i servisa – podaci iz BIOS-a: informacija o vremenu (time & date); tipovi sabirnice, veličinu i tip diskova; mouse device; broj i tip paralelnih portova na računalu.

MS Windows MS Windows –– bootboot processprocess

Kernel initialization

- na ekranu se pokaže statusna traka sa učitavanjem- ntldr prepušta kontrolu kernelu – učitavanje Ntoskrnl.exe i Hal.dll –ako nema jedne od tih dviju datoteka na ekranu se pojavi poruka “Windows could not start because the following file was missing or corrupt”- učitavanje ali ne i izvršavanje boot drivera i servisa- priprema procesora (CPU) za izvršavanje datoteke Ntoskrnl.exe

MS Windows MS Windows –– bootboot processprocess

Page 34: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

34

Logon

- kada se završi kernel initialization faza, započinje proces logiranja

MS Windows MS Windows –– bootboot processprocess

VJEŽBE:

F8 – Safe modeRecovery ConsoleMsconfigSystem Restore

MS Windows MS Windows –– bootboot processprocess

Page 35: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

35

KernelKernel/Jezgra/Jezgra

Jezgra operacijskog sustava - centralni dio modernog operacijskog sustavaSkup funkcija - upravlja računalnim resursima i predstavlja sloj između samih korisničkih programa odnosno korisničke okoline i fizičkog računalnog sklopovlja

x86 procesori iz PC računala imaju četiri načina rada koji se zovu prstenovi (engl. ring). Jezgra (odnosno aplikacije sa jezgrinim ovlastima) se tipično izvršava u ring0, dok se korisničke aplikacije izvršavaju u ring3.

Page 36: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

36

Tipovi jezgreTipovi jezgre

Postoji nekoliko tipova – najčešći i najinteresantniji – monolitna(monolithic kernel) i mikro (microkernel)Monolitna struktura (Unix) – glavne OS funkcije implementirane su unutar kernela

Tipovi jezgreTipovi jezgre

Mikrojezgra (Mach) - glavne OS funkcije implementirane su izvan kernela - minimalističkog dizajna: aplikacijama se pružaju tek najosnovnije nužne usluge (sistemski pozivi) - sve ostale dodatne usluge poput grafičkih sučelja, mrežnog stoga i sl. su implementirane u korisničkom prostoru u vidu posebnih servisa Mikrojezgre – prve i druge generacije

Page 37: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

37

Prednosti Prednosti mikrojezgremikrojezgre

Mogućnost korištenja različitih operacijskih sustava i njihovih sučelja (API-ja) istodobno u jednom računalnom sustavu, ostvarenih putem servisa kojirade u korisničkom načinu rada,Fleksibilnost i proširivost sustava zasnovanog na komponentama kojeg jemoguće prilagoditi bilo kojoj primjeni dodavanjem, izmjenom ili micanjempojedinih komponenti sustava,Svi sustavi koriste se IPC mehanizmima za komunikaciju. Čisto sučeljeolakšava modularnu organizaciju operacijskog sustava, a međuovisnostipojedinih sustava su smanjene i jasno određene,Manja jezgra je lakša za ostvarivanje i održavanje te je manja mogućnostpojave pogreške u jezgri. Smanjuje se količina koda kojem se moravjerovati za siguran rad sustava (TCB – Trusted Computing Base),Pogreške u pojedinim servisima ne utječu na ostatak sustava. Ovo vrijedičak i za upravljačke programe sklopovlja.

Windows NT Windows NT kernelkernel

modificirana microkernel (Windows NT) – na razini dizajna je implementiran kao microkernel ali moduli su implementirani unutar kernela radi performansi

Page 38: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

38

Win32 Application Programming Interface Win32 Application Programming Interface (API)(API)

Kako bi olakšao i omogućioprogramiranje za svoje operacijskesustave Microsoft je razvio Application Programming Interface(API). Za 32-bitne platforme koristi se Microsoft®Win32®API (za razliku odWIN3.11 koji su 16-bitni). API sadržiskup funkcija, poruka (messages) i struktura koje su smještene u sljedećimdll-ovima (dynamiclink libraries) tj. dinamički linkanim bibliotekama: KERNEL32.DLL, ADVAPI32.DLL, GDI32.DLL, USER32.DLL, i CRTDLL.DLL.

Win32 Application Programming Interface Win32 Application Programming Interface (API)(API)

API Funkcije

1. Funkcije za upravljanje prozorima (Windows Management)2. Funkcije za rad sa grafičkim uređajima (GraphicsDeviceInterface–

GDI)3. Funkcije za sistemske servise (SystemServices)4. Multimedija funkcije5. RemoteProcedure Calls (RPC) funkcije

Page 39: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

39

UpravljanjeUpravljanje prozorimaprozorima (Window(Window Management)Management)

Funkcije za upravljanje prozorima namijenjene su za stvaranje i korištenje prozora za interakciju sa korisnikom u aplikaciji. Većinaaplikacija će kreirati barem jedan prozor.

SuSuččeljeelje zaza radrad sasa grafigrafiččkimkim uređajimauređajima ((GraphicsDeviceGraphicsDeviceInterfaceGDIInterfaceGDI))

Funkcije za rad sa grafičkim uređajima omogućavaju aplikacijamakreiranje grafičkog izlaza odnosno prikaza na displeju (monitor), printeru i drugim uređajima. Korištenjem GDI funkcija, mogu se crtatilinije, tekst, bitmapslike (.bmp) i sl.

Page 40: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

40

Win32 Application Programming Interface Win32 Application Programming Interface (API)(API)

GDI (Graphics Device Interface)

SistemskiSistemski ServisiServisi

Funkcije za rad sa sistemskim servisima pružaju aplikaciji pristupresursima računala i svojstvima operacijskog sustava, kao što sumemorija, datotečni sustav (file systems) i procesi. Aplikacija koristifunkcije za rad sa sistemskim servisima za upravljanje resursimaračunala koji su potrebni aplikaciji za rad. Na primjer, funkcije zaupravljanje memorijom (memory management functions) aplikacijakoristi za alociranje i oslobađanje potrebne memorije, funkcije zaupravljanje procesima i sinhronizaciju (process management and synchronization functions) za pokretanje i koordiniranje rada višeaplikacija ili višestrukih niti (multiple threads of execution) unutar isteaplikacije.

Page 41: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

41

Win32 Application Programming Interface Win32 Application Programming Interface (API)(API)

MultimedijaMultimedija

Multimedijske funkcije omogućavaju aplikaciji rad sa audio i videoelementima. Korištenjem ovih funkcija, aplikacija može stvaratidokumente koji uključuju u sebi muziku, zvučne efekte, video klipove....

Page 42: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

42

RemoteProcedureRemoteProcedure CallsCalls ((PoziviPozivi uudaljenihdaljenih proceduraprocedura) ) (RPC)(RPC)

RPC se koristi kod distribuiranih aplikacija. Primjeri distribuiranihaplikacija su shared databases, udaljeni datotečni serveri (remotefile servers), udaljeni printer serveri (remote printer servers).

Microsoft Foundation ClassMicrosoft Foundation Class bibliotekebiblioteke (MFC)(MFC)

Programiranje zaWindowse se osimkorištenjem API funkcijamože vršiti i korištenjemMicrosoft Foundation Classbiblioteke (MFC). Općenito, MFC sadrži C++ klase kojeopisuju objekte kao što suprozori, dijalog prozori(dialog boxes) i sličniobjekti važni za grafičkokorisničko sučelje. MFC članske funkcije klasapozivaju API funkcije i olakšavaju znatno kreiranjeaplikacija u odnosu nadirektno pozivanje API funkcija.

Page 43: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

43

DLL datotekeDLL datotekeDLL datoteke su jedan od temelja Windows operacijskog sustava već od njegove prve verzije. Sve funkcije Win32 API nalaze se u različitim DLL-ovima.DLL se obično sastoji od skupa funkcija koje bilo koja aplikacija (ili neki drugi DLL) može koristiti.

Tri glavna sistemska DLL-s su (Windowsi):

1. KERNEL32.DLL – sadrži funkcije za rad s memorijom, procesima , thread-ovima i sl.

2. USER32.DLL – sadrži funkcije koje obavljaju zadaće specifične za korisničko sučelje, na primjer : stvaranje prozora, slanje poruka i sl.

3. GDI32.DLL – sadrži funkcije za crtanje grafičkih slika, prikazivanje teksta i sl.

Da bi neka aplikacija mogla pozvati funkcije unutar DLL-a, DLL “file image”mora biti mapiran u adresni prostor procesa. Kad se jednom DLL mapira u adresni prostor procesa, funkcije DLL-a su dostupne svim thread-ovima unutar procesa.

Arhitektura MS WindowsaArhitektura MS Windowsa

Kernel mode i User mode

Da bi se zaštitilo mijenjanje i pristupanje kritičnim sistemskim podacima Windowsi koriste dva tzv. processor access modes – useri kernel. - Kernel (supervisor) mod - potpuna kontrola nad svim resursima (može adresirati fizičke adrese uređaja)

- User (korisnički) mod - ograničen pristup resursima, mod u kojem se izvršavaju aplikacije

Npr. Korisnički programi mogu koristiti samo user mod, a svi ostali povezani dijelovi (npr. driveri), koriste kernel mod odnosno mogu pristupati svim mjestima u memoriji i svim procesorskim instrukcijama direktno.

Page 44: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

44

Kako OS prelazi iz korisničkog moda u kernelmod ?

1. Prekidi (interrupt)2. Iznimke (exeption)3. Sistemski pozivi (system

call)

Arhitektura MS WindowsaArhitektura MS Windowsa

Page 45: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

45

Arhitektura MS WindowsaArhitektura MS Windowsa

User-mode komponente:

- System support processes- Service processes- User applications- Environment subsystems

Arhitektura MS WindowsaArhitektura MS Windowsa

Kernel-mode komponente:

- executive- kernel- device drivers- hardware abstraction layer (HAL) - windowing and graphics system

Page 46: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

46

Arhitektura MS WindowsaArhitektura MS Windowsa

Ključne sistemske datoteke:

- Ntoskrnl.exe - Executive i kernel- Ntkrnlpa.exe - Executive i kernel – podrška do

64 GB fizičke memorije- Hal.dll - Hardware abstraction layer- Win32k.sys - Kernel-mode komponenta - Ntdll.dll-Interne funkcije i sistemski servisi- Kernel32.dll,

Advapi32.dll,User32.dll,Gdi32.dll - ključne DLL datoteke

Arhitektura MS WindowsaArhitektura MS Windowsa

Environment Subsystems – pozivanje sistemskih servisa - *.exe

tri Environment Subsystem-a: OS/2, POSIX i Win32

- Win32 subsystem (tipkovnica, mouse, display) je neophodan (Windowsi ne mogu raditi bez njega), dok su OS/2 i POSIX subsystem-i tzv. “start on demand “.

Page 47: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

47

Arhitektura MS WindowsaArhitektura MS Windowsa

- POSIX Subsystem - "a portable operating system interface based on UNIX“

- standardi za kompatibilnost sa UNIX-style sučeljem – da bi programeri mogli lakše prebacivati aplikacije iz jednog sistema u drugi

Page 48: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

48

Arhitektura MS WindowsaArhitektura MS Windowsa

- OS/2 Subsystem – ograničena upotreba – samo podrška za (do) OS/2 1.216-bit character-based ili video I/O (VIO) aplikacije.

Arhitektura MS WindowsaArhitektura MS Windowsa

System Processes

- Idle process – sadrži dretvu za računanje vremena neaktivnosti CPU-a

- System process – većina kernel-mode dretvi- Session manager (Smss.exe) - Win32 subsystem (Csrss.exe) - Logon process (Winlogon.exe) - Service control manager (Services.exe) - Local security authentication server (Lsass.exe)

Page 49: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

49

Arhitektura MS WindowsaArhitektura MS Windowsa

Session Manager (Smss) -(\Windows\System32\Smss.exe)

Prvi user-mode proces kreiran u sistemuOdgovoran za puno važnih koraka u startanju Windowsa-kreiranje system environment varijabli Pokreće Win32 subsistem (Csrss.exe ) i Winlogon .exe – i ako dođe do neočekivanog prekida njihovog rada Smss ruši sistem

Arhitektura MS WindowsaArhitektura MS Windowsa

Logon (Winlogon) - (\Windows\System32\Winlogon.exe)

Proces odgovoran za logon i logoff korisnikaPokreće se kad korisnik pritisne CTRL+ALT+DEL – otvaranje secure attention sequence (SAS) dijaloga za logiranje korisnika

Page 50: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

50

Arhitektura MS WindowsaArhitektura MS Windowsa

Local Security Authentication Server (LSASS) -(\Windows\System32\Lsass.exe)

Provjeravanje autentičnosti korisnika – ispravan user name i password

Service Control Manager (SCM) -\Windows\System32\Services.exe

Pokretanje, zaustavljanje i interakcija sa servisnim procesima

Arhitektura MS WindowsaArhitektura MS Windowsa

Page 51: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

51

Executive

Zapravo “upper-layer” datoteke Ntoskrnl.exeSastoji se od: - configuration manager –a – implementacija i

podešavanje registry-a- process and thread manager –a – kreiranje i zautavljanje procesa i dretvi

- security reference monitor – kreiranje i provođenje sigurnosnih politika (security policies)

- I/O manager – dodijeljivanje prikladnih devicedrivera pri izvođenju procesa

Arhitektura MS WindowsaArhitektura MS Windowsa

- Plug and Play (PnP) manager–a – utvrđivanje koji driver je potreban za podršku pojedinom uređaju i učitavanje tog drivera

- power manager-a – koordinacija “strujnog menedžmenta” kod I/O uređaja ili procesora

- cache manager-a – poboljšavanje performansi korištenjem cachememorije

- virtual memory manager-a – korištenje virtualne memorije- Windows Management Instrumentation- object manager –a- local procedure call (LPC)

Arhitektura MS WindowsaArhitektura MS Windowsa

Page 52: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

52

Kernel

Set “low-level” funkcija koje se nalaze u datoteci Ntoskrnl.exe - raspoređivanje dretvi, proslijeđivanje interrupt signala i sinhronizacija multiprocesora…

Arhitektura MS WindowsaArhitektura MS Windowsa

Hardware Abstraction Layer (HAL)

Jedan od ključnih dizajnerskih ciljeva Windowsa XP (2000, NT) je rad na različitim platformama i arhitekturama – HAL – ključna komponenta koja to omogućavaUmjesto da Windowsi direktno pristupaju hardwareu, oni to čine pomoću HAL rutina.Iako postoji nekoliko datoteka sa HAL-om samo jedna se kopira na disk prilikom instalacije Windowsa – Hal.dll

Arhitektura MS WindowsaArhitektura MS Windowsa

Page 53: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

53

● Komponente kernel-moda također koriste osnovne “object-oriented” principe za dijeljenje resursa i podataka između procesa, iako Windowsi XP (2000) nisu object-oriented sistem – većina koda napisana je u C-u (koji direktno ne podržava neke object-orientedkonstrukcije) – sistem ih samo posuđuje, ali o njima ne ovisi.

Arhitektura MS WindowsaArhitektura MS Windowsa

ObjectObject managermanager

creating, deleting, protecting, and tracking objects

Windowsi razlikuju 2 tipa objekata: executive objects i kernel objects

Executive: implementirani kroz process manager, memory manager, I/O...npr. NtCreateFileKernel: nisu vidljivi u user-modu, omogućuju osnovne funkcije, svaki executive objekt može imati više kernel objekata

Page 54: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

54

ExecutiveExecutive objectsobjects

U Windowsima ih ima 27 – Vježba: Winobj.exe

LocalLocal Procedure Procedure CallsCalls ((LPCsLPCs))

Interprocesna komunikacija – koristi se za “high-speed” porukeNije dio Win32API-a nego je Windows komponentaObično se LPC koristi kod komunikacije između serverskih procesa i jednog ili više klijentskih procesa

LPC konekcija može biti uspostavljena između dva user-mode procesa ili između user-mode procesa i kernel-mode procesa

Page 55: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

55

LocalLocal Procedure Procedure CallsCalls ((LPCsLPCs))

3 metode izmjena poruka:

- poruke koje su manje od 256 byta koriste LPC – poruka je kopirana iz adresnog prostora procesa pošiljatelja u sistemski adresni prostor, i dalje u adresni prostor procesa primatelja - poruke koje sadržavaju više od 256 byta – može se koristiti sharedsection – pošiljatelj pusti poruku u shared sekciji – šalje se poruka i pokazivač primatelju o lokaciji poruke u shared sekciji- za čitanje/pisanje poruka sa većom količinom podataka – podaci se mogu direktno pročitati/zapisati u adresni prostor – sinhronizacijaizmjena poruka

Windows Windows SecuritySecurity

Elementi kod Windows sigurnosti:

1. Security reference monitor (SRM) – dio kernel Executivekomponente - pristup objektima, pravima, i kreiranje audit securityporuka

2. Local security authority subsystem (Lsass) - user-mode procesodgovoran za sigurnosnu politiku (npr. Useri i grupe, logiranje) -\System32\Lsass.exe

3. Lsass policy database – baza koja sadržava postavke sigurnosne politike (local system security policy)

4. Security Accounts Manager (SAM) service - \System32\Samsrv.dll –pokreće se unutar Lsass procesa – management usera i grupa

Page 56: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

56

5. SAM database – definirani useri (korisnici), grupe (groups) i passwords (lozinke)

6. Authentication packages – pokreće se unutar Lsass procesa –odgovoran za provjeravanje ispravne lozinke i korisničkog imena

7. Logon process (Winlogon) - user-mode process -\System32\Winlogon.exe – interakcija logiranja – nakon logiranjapokreće user-interface proces

8. Graphical Identification and Authentication (GINA) -\System32\Msgina.dll – unutar Winlogon procesa – upis user-a i password-a

9. Net Logon service (Netlogon) - \System32\Netlogon.dll – unutar Lsass procesa – network logiranje

Windows Windows SecuritySecurity

Page 57: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

57

LogonLogon

Koraci:

1. Ctrl+Alt+Del – SAS2. Poziva se GINA (Graphical Identification and Authentication) – user

name i password3. Poziva se registered authentication packages (Kerberos (domian) ili

MSV1_0 (local)) – provjera ispravnosti4. MSV1_0 – user name i password šalje na provjeru u SAM database

– čeka povratnu informaciju5. Lsass pretražuje Local security policy bazu za logiranog korisnika –

prava6. Kreira se access token7. Zapisuje se audit message (ako je potrbna) od logiranja

Kontrola logiranja – Logiranje na 2 načina:

- Welcome screen- Classic logon – Windowsi NT i 2000

- SAS – Ctrl+Alt+Del

LogonLogon

Page 58: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

58

KorisniKorisniččki raki raččunun

Korisnički račun (user account) sastoji se od: - korisničkog imena (user name),- lozinke (password) – opcijonalno

Postoje i tri vrste računa (account type)- Local User Accounts, - Domain User Accounts,- Built-in User Accounts.

Postoje i tri privilegije pristupa resursima kod korisničkih računa:

- Computer administrator, - Limited,- Guest.

KorisniKorisniččki raki raččunun

Page 59: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

59

Computer administrator – najveća kontrola; članovi Administrator grupe mogu:

- kreirati, mijenjati ili brisati sve korisničke račune ili grupe,

- instalirati programe,- dodjeljivati dozvole i prava drugim korisnicima i sebi,

- imati pristup svim podacima,- postavljati vlasništvo nad mapama i datotekama,- instalirati ili deinstalirati drivere za hardware-skekomponente.

KorisniKorisniččki raki raččunun

Limited – članovi ove grupe imaju neka ograničenja; oni mogu:- mijenjati sliku ili password svog korisničkog računa,

- upotrebljavati programe koji su instalirani na računalu,

- kreirati, mijenjati ili brisati datoteke u njihovom vlasništvu,

- upotrebljavati datoteke u Shared documentfolder-u.

Guest – član guest grupe (gost); ima slične privilegije kao članovi Limited grupe. Korisnik logiran kao Guest, ne može kreirati accountpassword.

KorisniKorisniččki raki raččunun

Page 60: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

60

Korisnički profili (User profiles)- Windowsi automatski sa korisničkim računom kreiraju i korisnički profil;ograničavaju pristup podacima putem korisničkih profila. Korisnički profil čine: desktop postavke (background, ikone...), cookies, favorites i history u web browseru, dokumenti u mapi MyDocuments...

c:\Documents and Settings

KorisniKorisniččki profilki profil

Built-in User Account - Windowsi kreiraju po defaultu slijedeće grupe: - Backup operators – mogućnost backupa i restore-a- HelpServicesGroup – grupa kreirana od strane Microsofta – mogućnost spajanja njihovih tehničara (uz dozvolu) na računalo tzv. Remote Assistance

- Network Configuration Operators – podešavanje mrežnih komponenti

- Power Users – većina (ali ne sve) Administratorskih ovlasti

- Remote Desktop Users – članovi ove grupe mogu pristupiti računalu pomoću opcije Remote Desktop (ukoliko je uključena)

KorisniKorisniččki raki raččunun

Page 61: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

61

KorisniKorisniččki raki raččuni i grupeuni i grupe

Kontrola pristupa u Windowsima uvjetovana je vlasništvom – svaki objekt ima vlasnika

Da Windowsi utvrde koji korisnik “ima pravo” vlasništva koriste se SID-om (security ID) kojeg dodijeljuju svakom korisniku i koji je zapravo neki jedinstven i veliki broj (promjenjive veličine).

Primjer SID-a: C:\Recycler *

S-1-5-21-1960408961-764733703-854245398-1003

* Mapa je sakrivena (hidden) i da bi se je vidjelo u Tools-FolderOptions treba isključiti opciju zaštite sistemskih datoteka

SecuritySecurity IDID

Page 62: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

62

Kod login-a Windowsi traže user name i password, slijedi provjera, te se iz unesenih podataka napravi security access token - služi za zaštitu dretvi i procesa.

Svaki program kojeg korisnik pokreće dobije kopiju security access token-a.

Da bi Windowsi utvrdili kojim datotekama korisniku mogu dati pristup, a kojima ne, koriste se “popisom security access token-a”odnosno tzv. ACL-om (access control list)

TokenToken

2 vrste pristupnih privilegija:- prava (rights)- dozvole (permissions)

Prava (rights) – mogućnost izvođenja neke sistemske radnje (npr. Logiranje ili namještanje sata)

Prava i dozvolePrava i dozvole

Page 63: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

63

Dozvole (permissions) – mogućnost pristupa određenom subjektu po određenim pravilima.

Dozvole se mijenjaju putem properties-a (Security) subjekta (npr. datoteke ili printera.), a prava putem Control Panel - Administratorski alati – Local Security Settings – User Rights Assignment

DozvoleDozvole

Page 64: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

64

Događaj (Event) – u Windowsima - svaka aktivnost vrijedna bilježenja – korisnicima, OS-u i aplikacijamaSvaki event bilježi se pomoću tzv. Event Log Service-a i bilješke (log) se čuvaju u tri datoteke:/\System32\Config/- Security (Secevent.evt), - Application (Appevent.evt), - System (Sysevent.evt).

Alat Event Viewer (Control Panel – Administrative tools - EventViewer) koristi se za pregled tih datoteka.

AuditAudit

Nadgledanje takvih eventa naziva se monitoring ili auditing.

Sistemski i Aplikacijski auditing prepoznaju tri vrste događaja:

- Greške (Errors) – gubitak podataka ili funkcionalnosti

- Upozorenja (Warnings) – npr. full disk- Informacije (Information) – npr. o logiranju na Internet i sl.

AuditAudit

Page 65: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

65

Auditing Security – nadgledanje pristupa računalu i podacima

Također se bilježe logovi, ali oni koji se odnose na pristupanje sistemskim resursima (security)– od logiranja user accounta do upotrebe printera.

Po defaultu, niti jedan sigurnosni događaj se ne bilježi dok ne uključimo bilježenje –Control Panel – Administrative tools –Local Security Policy

AuditingAuditing SecuritySecurity

User log on ili log off sa mreže (mrežnog pristupa)

Audit logon events

Kada se pristupa Active Directory objektuAudit directoryservice access

Kada se napravi, izbriše ili izmjeni korisnik, grupa, password...

Audit accountmanagement

Kada se korisnik logira (log on) na računalo ili odlogira (log off) sa računala

Audit account logonevents

OpisAudit Policy

Page 66: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

66

Npr. kada korisnik resetira ili ugasi računalo

Audit system events

Npr. pokretanje ili izlaz iz programaAudit process

tracking

Kada korisnik iskoristi neku privilegiju

Audit privilege use

Kada korisnik promijeni bilo koju policy

Audit policy change

Kada korisnik pristupi mapi, datoteci, printeru koji su podešeni za auditing

Audit object access

Primjer (vježba):

- Uspjelo (Succes) i neuspjelo (Failure) logiranjekorisnika

AuditAudit securitysecurity

Page 67: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

67

● Windowsi “sadrže” informacije o sistemu (hardware i software) u hijerarhijskoj bazi koja se naziva još i registry

● Registry je zamjena za konfiguracijske datoteke (.ini, .sys i sl.) iz ranijih verzija Windowsa

● Registry kontrolira Windowse na način da daje ispravnu informaciju o pokretanju aplikacija ili drivera.

MS Windows XP MS Windows XP –– registryregistry

Windows komponente koje upotrebljavaju registry:

- Windows NT kernel – prilikom boot-a (ntoskrnl.exe)- Driveri – čitaju/spremaju podatke o hardware-u- Korisnici – user profile informacija spremljena je u registry-u

- Instalacija programa/hardwarea – setup.exe- Hardware-ski profili- Ntdetect.com – prilikom boot-a

MS Windows XP MS Windows XP –– registryregistry

Page 68: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

68

● Da bi vidjeli strukturu registry-a koristimo se tzv. RegistryEditor-om – Run – Regedit

● Struktura registry-a slično je organizirana kao i struktura podataka na disku.

MS Windows XP MS Windows XP –– registryregistry

MS Windows XP MS Windows XP –– registryregistry

Analogno mapama i podmapama na disku. U registry-u: software i hardware objekti ili grupe objekata. Subkeys su ključevi unutar “high-level” ključeva

Keys

Kao root mapa na disku. Registry ima dva subtree: HKEY_LOCAL_MACHINE i HKEY_USERS, ali radi lakše preglednosti u regeditoru postoji pet subtree-a: HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_USER HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG

Subtree

OpisKomponenta

Page 69: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

69

MS Windows XP MS Windows XP –– registryregistry

Svaka vrijednost izražena je ovim tipovima podataka: REG_DWORD ,REG_SZ, REG_EXPAND_SZ,REG_BINARY REG_MULTI_SZ,REG_FULL_RESOURCE_DESCRIPTOR, REG_LINK, REG_NONE

Data types

Ključ sa podključevima i vrijednostima – u registry-u i .log datotekama (zabilježavanjepromjena \Windows\system32\config)

Hive

Ključevi sadržavaju jedan ili više entries-a –tri dijela: naziv (name), tip podataka (datatype), i vrijednost (value)

Entries

Kod editiranja i mijenjanja registry-a nema “undo” naredbe –promjene su trenutačne, te iz tog razloga, bilo bi dobro napraviti “osiguranje”:

- naredba Export u Regeditu – ne može se exportirati cijeli registry, nego samo pojedini dijelovi – save as – najbolje je izabrati hive.- System restore- Backup – saving system state- Last Known Good configuration

MS Windows XP MS Windows XP –– registryregistry

Page 70: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

70

MS Windows XP MS Windows XP –– registryregistry

Trenutna hardwareska konfiguracija -HKEY LOCALMACHINE\Config\current configuration).Prilikom boot-a učitavaju se podaci o hardware-u

HKEY CURRENT CONFIG

Ako postoji više korisnika, informacije o njima.HKEY USERS

Informacije o hardware-uHKEY LOCAL MACHINE

Informacije za trenutne korisnike. Programi spremaju svoje postavke ovdje.HKEY CURRENT USER

Explorer koristi ove informacije da izabere ikone, prikaže menije i sl. HKEY CLASSES ROOT

OpisIme ključa

HKEY_USERS – sadrži tri podključa (subkeys)

-.DEFAULT – postavke koje Windowsi koriste kod prikazivanja desktopa prije logiranja- SID- SID_Classes – “class registrations” i “file associations” korisnika

MS Windows XP MS Windows XP –– registryregistry

Page 71: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

71

HKEY_CURRENT_USER

- AppEvents – spaja zvukove sa događajima- Console – podaci o konzoli i command promptu- Control Panel - accessibility, regional, and desktopappearance settings- Environment - environment variables- Identities – identifikacija korisnika u Microsoft Outlook Express-u- Keyboard Layout – tipkovnica- Network- Printers- Software –Program i Version- Volatile Environment - environment variable kod logiranja

MS Windows XP MS Windows XP –– registryregistry

HKEY_LOCAL_MACHINE

- HARDWARE – opis komponenti- SAM - Security Accounts Manager – informacije o userima i grupama + ACL- SECURITY – ostale security opcije- SOFTWARE – podaci o aplikacijma – Vendor, Name i Version- SYSTEM – control sets – da se Windowsi ispravno učitaju

MS Windows XP MS Windows XP –– registryregistry

Page 72: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

72

HKEY_CLASSES_ROOT

- dva tipa postavki:1. file associations – da programi mogu otvorti, printati i editiratidatoteke2. class registrations za Component Object Model (COM) objekte

- HKEY_CLASSES_ROOT ključ je zanimljiv jer je u njemu zapisana većina “ponašanja” Windowsa

MS Windows XP MS Windows XP –– registryregistry

HKEY_CURRENT_CONFIG

- informacije o “current hardware profile-u”

MS Windows XP MS Windows XP –– registryregistry

Page 73: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

73

Procesi i dretveProcesi i dretve

OoOEPreemptive multitasking vs. Cooperative multitasking

Procesi Procesi –– u Windowsimau Windowsima

-Job – kolekcija jednog ili više procesa – ograničenja –kvote – npr. Maksimalan broj procesa, korištenje CPU-a, korištenje memorije

-Process - program u izvođenju-Thread (dretva)- Fiber (Nit)

Page 74: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

74

Win32 Win32 CreateProcessCreateProcess funfunkcijakcija

Kreiranje procesa Kreiranje procesa -- koracikoraci

Otvaranje image file (.exe) – izvršavanje unutar procesaKreiranje Windows 2000 executive process object-aKreiranje inicijalne dretveObavijest Win32 subsystem-u o kreiranju novog procesaPokretanje inicijalne dretveDovršavanje inicijalizacije adresnog prostora i pokretanje programa

Page 75: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

75

VjeVježžbaba

TasklistWindows Task ManagerPerformance monitorPviewer

Operacijski sustavi

Dio 2. – GNU/Linux

Vježbe 2007/2008 iz kolegija

VeleuVeleuččiliiliššte u Rijecite u Rijeci

Page 76: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

76

Općenito o Linuxu• “slobodni software” - (free software)• Richard Stallman 1983. osnovao je GNU Projekt – MIT• GNU, kao rekurzivno za "GNU Nije Unix" (GNU's Not

Unix)• Linus Torvalds – Linux - GNU/Linux - nastao 1991. -

"kombinacija GNU sustava sa Linux kernelom"• Minix - Andrew Tannebaum

Free software• smisao GNU pokreta je ideja o slobodi• "slobodan“, a ne "besplatan“• slobodan softver je onaj koji korisnici imaju pravo

pokretati, kopirati, distribuirati, proučavati, mijenjati i poboljšavati

Page 77: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

77

4 vrste slobode• Slobodu da za bilo koju svrhu pokreću program (sloboda

0).• Slobodu da prouče kako program radi i prilagode ga za

svoje potrebe (sloboda 1).• Slobodu da dalje distribuiraju kopiju programa kako bi

pomogli susjedu (sloboda 2).• Slobodu da poboljšavaju program i objave svoja

poboljšanja javno kako bi cijela zajednica imala koristi od toga (sloboda 3).

Uvjet za to je da im je dostupan source kod programa.

Free software• Slobodan softver ne znači ne-komercijalan softver• "open source" više-manje znači isto što i slobodan

softver• Public domain softver je softver za kojeg ne postoje

vlasnička prava• Copylefted softver je slobodan softver čiji uvjeti

distribucije ne dozvoljavaju distributeru dodavanje nikakvih novih, dodatnih ograničenja prilikom distribucije ili modifikacije softvera. To znači da svaka kopija tog softvera, makar i modificirana, mora biti slobodna.

Page 78: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

78

Free software• Non-copylefted free software dolazi sa dozvolom da se

dalje distribuira i modificira ali se također mogu dodavati i nove restrikcije. Softver koji dolazi na takav način može imati verzije koje uopće nisu slobodne.

• GPL-covered software je softver koji je pokriven sa "GNU General Public License".

• Semi free softver je softver koji nije slobodan ali dolazi sa dozvolom pojedincima da koriste,kopiraju, distribuiraju i mijenjaju program za neprofitne svrhe.

Free software• Vlasnički softver - Njegovo korištenje, redistribuiranje ili

modifikacija su zabranjeni ili zahtijevaju posebnu dozvolu.

• "freeware" softver koji dozvoljava redistribuciju ali ne dozvoljava mijenjanje i izvorni kod mu nije dostupan.

• Shareware je softver koji dolazi sa dozvolom da ga se redistribuira ali svatko tko ga nastavi koristiti mora platiti licencnu naknadu.

• Privatni ili "prilagođeni" softver je softver razvijen za jednog korisnika (tipično organizacija ili kompanija).

• Komercijalni softver je softver razvijen sa ciljem da se na njemu zaradi novac.

Page 79: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

79

Vrste GNU licenci• GNU General Public Licence (GNU GPL)• GNU Lesser General Public License (GNU LGPL)• GNU Free Documentation Licence (GNU FDL)

Distribucije Linuxa• Distribucije - “paketi” - određeni skup programa i

koncepata koji čine operativni sustav.• Najpoznatije su Red Hat, Debian, Slackware, SuSE i

Mandrake…Knoppix, LindowsOS, Gentoo…• U Hrvatskoj – HULK – www.linux.hr• HRID je prva hrvatska distribucija - bazirana na

Mandrake-u

Page 80: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

80

Linux• višekorisnički (multiuser) operacijski sustav• višezadaćni (multitasking) operacijski sustav

• U širem smislu – operacijski sustav koji se sastoji od različitih programskih cjelina kao što su npr. editori, programski prevodioci, različiti namjenski programi -Linux distribucije.

• U užem smislu - jezgra operativnog sistema koji upravlja resursima računala

Struktura Linuxa

Page 81: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

81

Vježba: instalacijaInstalaciju Linuxa možemo podijeliti u slijedeće korake:

1. pokretanje instalacijske procedure,2. prepoznavanje i konfiguracija sklopovlja,3. particioniranje tvrdog diska,4. odabir programa koji će se instalirati zajedno sa

operacijskim sustavom,5. konfiguracija operacijskog sustava, i6. instalacija boot loadera.

Linux - boot• Proces pokretanja Linux OS-a

BIOS FAZA1. POST, MBR – boot loader – u Linuxu: GRUB ili LILO…OS-a BOOT LOADER FAZA

2. boot loader čita partition table i traži sekundarni boot loaderna particiji

3. sekundarni boot loader traži i pokreće jezgruKERNEL FAZA4. jezgra OS-a sadrži mali nekompresirani program koji

dekompresira dio jezgre. Jezgra zatim prikuplja informacije o sistemu.

Page 82: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

82

Linux - boot

INIT FAZA

5. Pokreće se Init proces - /sbin/init6. Init proces pokreće tzv. getty programe7. Login

Linux - boot• LILO (Linux Loader) je jedan od najčešće korištenih

Linux boot loadera. Ne ovisi o točno određenom datotečnom sustavu (enf. filesystem), može pokretati slike jezgre (eng. kernel image) sa diskete, tvrdog diska i može služiti čak i kao boot loader drugim operacijskim sustavima (PC/MS-DOS, DR DOS, OS/2,Windows 95, Windows NT, 386BSD, SCO UNIX, Unixware)

Page 83: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

83

Linux - boot- dva načina: LILO je kopiran u MBR ili se nalazi na prvom sektoru Linux boot particije – u tom slučaju je sekundrani boot loader- ako je LILO u MBR-u – ograničen je na 446 bajta – 64 bajta zauzima partition table – zbog toga je podijeljen na 2 faze – prva u MBR-u traži drugu u datoteci /boot/boot.b- konfiguracija u /etc/lilo.conf datoteci

Primjer lilo.conf

lilo –v – naredba s kojom zapisujemo promjene - MBR

Page 84: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

84

Proces pokretanja pomoću LILO-a

• učitava se LILO boot sektor i izvršava ga. • LILO zatim učitava map datoteku koristeći BIOS pozive,

pronalazi lokaciju boot poruke koja se ispisuje u konzoli. Nakon toga slijedi odabir jezgre koja će se učitati (ako postoji više njih).

• LILO dalje učitava jezgru koristeći BIOS. Zadnji korak je pokretanje jezgre, indicirajući gdje senalazi rootdatotečni sustav i inicijalni RAM disk.

Linux – boot• GRUB (Grand Unified Bootloader) – novije generacije

– glavna prednost ovog loadera u odnosu na LILO je veća fleksibilnost,- jednostavnstavniji za korisnike – promjene preko komandne linije - mogućnost pristupa podacima o bilo kojem uređaju prepoznatom od strane BIOS-a - /etc/fstab- konfiguracija preko grub.conf datoteke

Page 85: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

85

Primjer /etc/grub.conf

getty• ima funkciju osiguravanja portova odnosno

komunikacijskih kanala prema korisniku.Ti kanali se u linux-u označavaju kao «tty» s rednim brojem iza toga

• Getty prima niz znakova s tipkovnice i prosljeđuje ga programu login,koji na osnovu tog niza znakova za koji pretpostavlja da je korisničko ime (username) korisniku dodjeljuje njegova korisnička prava i dozvole (permissions), a zatim se zahtjeva od korisnika unos lozinke (password)

Page 86: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

86

Login• Ako password ne odgovara postojećem korisniku,onda

login ponovo vraća kontrolu programu getty,a ako je identifikacija uspješna program login starta shellprogram.

Rad s Linuxom• Kada korisnik koristi Linux koristi se korisničkim sučeljem i

to na dva načina:

- preko shell-a – tekstualni mod- preko GUI-a – grafički mod

Page 87: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

87

Kako se pokreće shell?• Shell (ljuska) se pokreće nakon uključivanja računala

kao zadnji korak boot procesa

Shell (ljuska)• sučelje između korisnika i kernela• Shell je dio korisničkog programa, a ne dio kernela• prevoditelj naredbi (command line interpreter(CLI))• Ljuska ima osnovne tri upotrebe: interaktivno korištenje,

podešavanje okoline i programiranje.• /.../sh - Bourne shell• /.../csh - C shell• /.../tcsh - TC shell• /.../ksh - Korn shell• /.../bash - Bourne Again SHell…

Page 88: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

88

Shell (ljuska)• Dva su osnovna načina korištenja ljuske:

interaktivni rad korištenjem preusmjeravanja i ulančavanja pojedinih naredaba skupna (eng. batch) obrada u kojoj se naredbe čitaju iz datoteke (eng. Shell script).

• U komandnu liniju, čiji defaultni prompt može izgledati: $ ili # (kod Bourne shell-a) ili % (kod C shell-a), upisuju se naredbe.

Shell (ljuska) - terminal• echo $SHELL - Identifikacija ljuske – ili grep

<username> /etc/passwd• Promjena ljuske, naredba chsh – ako je dozvoljeno - cat

/etc/shells – popis svih dostupnih ljuski

Page 89: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

89

Varijable okoline• Ljuska sadrži dva skupa varijabli, lokalne varijable, i

varijable okoline (engl. Environment variables).• naredba printenv - dobije se lista varijabli okoline -

definiraju većinu stvari koja je potrebna sustavu za korištenje:

1) USER - programi mogu brzo pogledati korisnikov userID i usporediti ga sa imenom korisničkog računa. Takav način usporedbe štedi vrijeme.

2) HOME - određuje matični direktorij3) PATH - govori u kojem direktoriju da traži, i kojim

redoslijedom.

Korištenje sustava pomoći• Naredba man

Man (skraćenica od eng. manual) je program koji daje korisniku informacije iz dostupnog priručnika.Njime dobivamo detaljnije informacije o tome kako se zadaje pojedina naredba, što ona radi, kakvedodatne parametre (opcije) ima dotična naredba i sl.

Primjer: man lsman mount

Page 90: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

90

Naredbe• $ naredba argumenti - sintaksa• Linux je CASE SENSITIVE

Naredbe - alias • Naredba alias• Naredbom alias stvaramo pseudonim, labelu za neku

drugu često korištenu naredbu. Tako skraćujemo pisanje neke duge naredbe, ili želimo da se neka naredbe pokreće sa drugačijim parametrima.

• Struktura naredbe: alias [ime [naredba]]• Ako utipkamo samo naredbu alias, izlistat će se svi

trenutno definirani pseudonimi.

$ alias lll=”ls -al”

Page 91: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

91

Naredbe• Sve se naredbe, prema svojim funkcijama, mogu svrstati u neku od

sljedećih klasa:

obrada teksta -tekst editori (ed, ex, vi), spell checker, tekst formateri i slično,

upravljanje podacima -kreiranje, organizacija i brisanje fajlova idirektorijuma,

elektronske komunikacije -više programa (write, mail) koji omogućavaju razmjenu poruka među korisnicima, programska okolina -mogućnost definiranja komforne programske

okoline korištenjem različitih uslužnih programa, razvojno okruženje -kompajleri i interpreteri raznih programskih jezika,

linkeri, debageri,... ostali uslužni programi -grafička podrška, X Windows.

Vježbe• Prijava i odjava sa sustava

Naredba login – prijava na sustavNaredba logout – odjava

• Informacije o korisnikuNaredba finger - finger <korisničko ime>Naredba who am i

Page 92: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

92

o Jedna od jačih strana Linuxa kao OS-a je podrška za raznovrsne file system-e. Osim vlastitog podržava i niz drugih file system-a koje koriste drugi operativni sustavi – Unix, Windows, MacOs i dr.

o Dvije vrste file systema: tradicionalni i dnevnički

Datotečni sustavi

• Tradicionalni file system

- izvedeni iz tehnologija file systema iz 1970-ih.- podaci se zapisuju na disk u dijelovima – problem nastaje kada se dogode situacije poput nestanka struje ili blokiranja računala – da se ispravi nekonzistentnost podataka, Linux mora napraviti dugačku provjeru diska –opasnost od gubitka podataka- Primjeri file systema: MINIX, Ext, Ext2, XIA, ISO-

9660 (cdrom)

Datotečni sustavi

Page 93: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

93

• Dnevnički file system

- da bi se izbjegao problem provjeravanja konzistentnosti diska – implementacija dnevnika (journal) – bilježenje nedovršenih promjena na disku

Primjeri: Ext3/Ext3fs, Reiser(FS), XFS, JFS (IBM)

Datotečni sustavi

Struktura datotečnog sustava• sastoji se od 4 glavna dijela:

Boot blok sadrži osnovni program odnosno pokazivač na njega koji pokreće podizanje operativnog sustava. Super blok nosi informacije o file sistemu, njegovu veličinu, listu slobodnih inodeova, odnosno listu slobodnih data blokova (zapravo broj slobodnih blokova i pokazivač na slijedeći slobodni blok) te flag za označavanje modifikacije super bloka. Tu je još i polje inodeova i datablokova, gdje su inodeovi i fileovi fizički zapisani.

Page 94: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

94

Inode• Sadržava sve relevantne informacije o nekom file-u.

Zapravo bi ga mogli shvatiti kao posrednika između operativnog sustava i fizičkih podataka.

Rad s datotekama i direktorijima• Datoteke su hijerarhijski grupirane u direktorije• Direktorij je posebna datoteka koja sadrži

druge datoteke i direktorije• Ime datoteke sastoji se od jednostavnog niza slova,

brojeva i interpunkcijskih oznaka – do 256 znakova• Direktorij koji sadrži sve ostale direktorije u Linuxu je

direktorij root koji se označava kosom crtom(/)

Page 95: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

95

Struktura datotečnog sustava

(Filesystem Hierarchy Standard - FHS, 1994)

Struktura datotečnog sustava• Klasičan sastav direktorija u operativnom sustavu Linux

sastoji se od direktorija: /bin, /dev,/etc, /lib, /mnt, /sys, /tmp, /usr.

• Napisani direktoriji nalaze se u root(/) direktoriju i oni su neophodni za rad operacijskog sustava Linux. Naravno da to nisu svi direktoriji na operativnom sustavu Linux, oni ovise o broju i vrsti paketa koji su instalirani na sustav.

• Bitno je naglasiti da je ishodište svih direktorija rootdirektorij (oznaka /). Stoga kad smo na nekoj poziciji unutar stabla direktorija možemo promatrati svoju poziciju s obzirom na direktorij u kojem jesmo (relative

Page 96: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

96

Direktorij /bin• U direktoriju /bin se nalaze svi programi koji su potrebni

za pokretanje sustava kao i većina naredbi koje Linuxkoristi. Pod pojmom naredbe misli se na binarne datoteke u ovom direktoriju koje su u stvari izvršne datoteke. Tako se, izvođenjem naredbe ls u direktoriju /bin, između ostalih izlistaju i sljedeće naredbe: cat, gunzip, ping, cp, mv itd. Radi se o izvedbenim naredbama, koje se nalaze i u sljedećim direktorijima: /usr/ucb, te /usr/bin.

Direktorij /dev• U kazalu /dev nalaze se specijalne datoteke koje mogu,

ali i ne moraju odgovarati nekom upravljačkom programu u jezgri sustava. Kako se u Linuxu sve temelji na datotekama, svaka jedinica (disketna jedinica, tvrdi disk, USB (serijiski US random pristup) , COM portovi itd.) priključena na računalo, određena je specijalnim datotekama koje se nalaze u ovom direktoriju. Glavna podjela između jedinica je na takozvane “blokovne uređaje” i “znakovne uređaje”. Generalno “blokovni uređaji” predstavljaju jedinice koje pohranjuju ili čuvaju podatke (npr. tvrdi disk, disketna jedinica itd.) dok se “znakovni uređaji” mogu shvatiti kao jedinice koje prenose podatke (npr. Serijski port, paralelni port, mišitd.).

Page 97: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

97

Direktorij /etc• U direktoriju /etc i u njegovim poddirektorijima nalaze se

sve konfiguracijske datoteke.• Konfiguracijska datoteka definira se kao datoteka s

kojom se kontrolira rad određenog programa.• Neke osnovne konfiguracijske datoteke su: /etc/passwd,

/etc/group, /etc/networks, /etc/lilo.conf,/etc/modules,/etc/profile…

Direktorij /lib• U direktoriju /lib nalaze se sve dijeljene (shared) i

statičke (static) biblioteke koje programi koriste.• Biblioteke su u stvari datoteke te ih se može promatrati

kao nekakve potprograme koje određeni program poziva kad mu zatrebaju, npr. potprograme za programski jezik C i druge programske jezike.

• Neke od njih se pozivaju kad ih određeni program treba dok su neke konstantno aktivne jer ih sustav konstantno koristi. Nastavak imena datoteka koje predstavljaju biblioteke na operativnom sustavu Linux je *.so što je ekvivalent *.dll na Windows operativnom sustavu.

Page 98: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

98

Direktorij /mnt• Direktorij /mnt se najčešće koristi za montiranje lokalnih

ili udaljenih datotečnih sustava. Naime prije korištenja određenog datotečnog sustava na Linuxu (npr. CDROM-a) datotečni sustav treba biti prethodno montiran (mount)

Direktorij /var• Direktorij /var sadrži datoteke bitne za rad sustava, dijela

sustava ili nekog programa.• Uglavnom se podacima iz ovog direktorija pristupa

automatski, tokom rada samih programa.

Npr. /var/spool/mail – e-mail-ovi korisnika

Page 99: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

99

Direktorij /sys• Direktorij /sys koristi jezgra (kernel) kao virtualni

datotečni sustav tj. kao sučelje prema informacijama iz jezgre sustava.

• Direktorij /tmp služi za privremenu pohranu podataka.

Direktorij /tmp

Direktorij /usr• Direktorij /usr obično sadrži najviše podataka na sustavu.

Ono u stvari predstavlja novi virtualni sustav na postojećem sustavu. Tu se smješteni razni korisnički programi (telnet, ftp..) , igre, dokumenti, programi za administriranje sustava, uključujuće datoteke koje su potrebne pri stvaranju izvršnih (binarnih) datoteka itd.

Page 100: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

100

Vježbe• Nadgledanje zauzeća diskovnog prostora

Naredbe koje omogućuju pregled slobodnog i iskorištenog diskovnog prostora su: du, df, quota

• Naredba du ispisuje veličinu u KB(kilobyte) i imena svih direktorija u trenutnom direktoriju te koliko diskovnog prostora zauzima pojedini direktorij.

• Naredba df govori koliko ima ukupno diskovnog prostora na računalu i koliko je od tog iskorišteno, a koliko neiskorišteno te daje podatak o iskorištenosti brojčano i u postotcima.

• Naredba quota ispisuje zauzeće diska i veličinu diskovnog prostora predviđenog za određenog korisnika ili grupu.Sintaksa naredbe je:quota [-g group] [-u username]

Datoteke• Datoteke se u Linuxu dijele na četiri tipa:

- obične datoteke, - datoteke-kazala, - veze, - posebne datoteke.

• Obične datoteke mogu sadržavati dokumente, osnovni kod u C jeziku, binarne izvršne datoteke, razne skripte itd. Veze u pravom smislu riječi nisu datoteke većelementi u kazalu koji su usmjereni na datoteke.

Page 101: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

101

Prikaz sadržaja direktorija• Naredba ls

Vježbe• Naredba pwd – trenutni direktorij• Kreiranje novog direktorija

Naredba mkdir (engl. make directory)• Promjena direktorija

Naredba cd (engl. change directory)• cd bez parametara pozicionira nas u početni direktorij

(engl. Home, koji je određen varijablom okoline HOME), ,a cd / nas pozicionira u izvorni sustavni direktorij ili korijen (engl. root).

Page 102: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

102

• Kopiranje datoteka Naredba cp* - Naredbom touch stvorit ćemo datoteku vjezba.txtcp vjezba.txt vjezba.copyls –l vjezba.txt vjezba.copy

• Želimo li kopirati direktorij sa svim njegovim sadržajem u novi direktorij, naredbi cp dodajemo parametar -r.

• Premještanje datotekaNaredba mv (engl. move)

• Brisanje datotekeNaredba rm (engl. remove) – parametar –i

• Brisanje direktorija – rmdir – mora biti prazan

• Naredba fileDatoteke u Linuxu za razliku od datoteka u DOS-u ne koriste ekstenziju iz kojeg se može pročitati o kojem tipu datoteke se radi – ponekad je neprecizna

• Naredba catNaredba cat (concatenate-spojiti) kao ulaz uzima popis datoteka ili jednu datoteku i ispisuje sadržaj.

Page 103: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

103

Vlasništvo i dozvole• Linux je višekorisnički sustav – vlasništvo• ls –l – ispis sadržaja direktorija• Polje dozvola (prvi stupac) je podijeljeno u četiri

podpolja: npr. - rwx rwx rwx• Prvo podpolje (veličine samo jednog znaka) prikazuje tip

datoteke: – je obična datoteka • Sljedeća tri podpolja pokazuju dozvole za čitanje, pisanje

i izvršavanje datoteke. Slova rwx u prvom od tih podpoljaznače da datoteka ima dozvole čitanja, pisanja i izvršavanja samo za vlasnika. Sljedeće podpoljepokazuje iste informacije za grupu u kojoj se nalazi vlasnik datoteke. Posljednje podpolje pokazuje dozvole za sve ostale korisnike sustava.

Promjena dozvola• Mijenjanje dozvola izvodi vlasnik datoteke naredbom

chmod i to na dva načina: “oktalno” i “simbolički”.a) oktalno - Kod ovog načina, prava pristupa se prikazuju s tri oktalne znamenke (brojevi od 0-7). Prva oktalna znamenka se odnosi na vlasnika, druga znamenka se odnosi na grupu kojoj datoteka pripada, a treća na sve ostale korisnike računala.

Npr. Želimo datoteci unix.txt promijeniti dozvole tako da vlasnik ima sva prava, grupa pravo čitanja i pisanja, a ostali korisnici samo pravo čitanja.$ chmod 764 unix.txt

Page 104: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

104

• b) simbolički: Mora se definirati: kome dajete dozvolu, koje operacije (dodavanje, oduzimanje ili postavljane) i koje dozvole.

Primjer:Želimo datoteci unix.txt promijeniti dozvole tako da vlasniku oduzmemo pravo pisanja, a grupi oduzmemo pravo čitanja.$ chmod u-w,g-r unix.txt

• Promjena vlasnikaPromjenu vlasnika nad nekom datotekom radimo naredbom chown: chown <korisnik> <ime_datoteke>

• Promjena grupenaredbom chgrp: chgrp <grupa> <ime_datoteke>

Page 105: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

105

• Postoje tri vrste procesa: interaktivni procesi, batchprocesi i daemon procesi.

• Shell upravlja tim procesima i svakome dodijeljujejedinstveni ID (PID)

PROCESI

• Interaktivni procesi – pokreću ih korisnici putem terminala – npr. čitanje e-maila – proces je u “prvom planu” dok se ostali procesi stavljaju u “pozadinu”, odnosno postaju pozadinski procesi.

• Batch procesi – pokretanje instrukcija u nizu (nema interakcije sa terminalom). Za pokretanje batch procesa koriste se batch i at naredbe.

• Daemon procesi – Rade stalno u pozadini dok usluga koju predstavlja ne bude pozvana – npr. korištenje web servera

Page 106: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

106

Rad s procesima• Ispis procesa na sustavu

Naredba ps

Značenje statusa procesa

Page 107: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

107

Prekidanje procesa• Naredba kill• Signali su razne poruke koje se šalju procesu da bi ga obavijestili o raznim 'važnim'

događajima. Kada se signal pošalje procesu, on se prekida u onome što trenutno obavlja te se zahtijeva obrada signala. Svaki signal ima cijeli broj koji ga predstavlja (1, 2, itd.). Postoji mnogo signala koje kill naredba može poslati procesu. Dodavajućiparametar –l naredbi kill možete vidjeti koji su vam sve procesi dostupni.

Grafičko sučelje X• Grafičko sučelje X je grafički sustav temeljen na

klijent/poslužitelj paradigmi• Svaki X sustav dijeli se na dva temeljna dijela – X

poslužitelj i X klijent. Poslužitelj i klijent komuniciraju putem mreže upotrebom X protokola.

• Poslužitelj direktno kontrolira ulazne i izlazne uređaje, poput grafičkog zaslona, tipkovnice ili miša. Klijenti, s druge strane, koriste ulazno/izlazne uređajeputem poslužitelja. Klijenti su aplikacije koje koriste X11 poslužitelj kako bi otvorili jedan ili više prozora te da bi prihvatili ulaz s tipkovnice ili miša.

Page 108: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

108

Xfree86

• Xfree86 je organizacija koja razvija i besplatno distribuira open-source implementacije X Window System-a pod nazivom XFree86®.

Desktop grafička rješenja• KDE - K Desktop Environment - KDE je zbirka programa,

tehnologija i dokumentacije. Filozofija KDE-a je besplatan software kako bi se razvilo kvalitetno okružje koje pruža korisniku kontrolu računalnih resursa. KDE je jedan veliki projekt koji se neprestano poboljšava i raste.

Page 109: Vježbe 2007/2008 iz kolegija OPERACIJSKI SUSTAVImetrobroadband.metronet.hr/ksenija-pejic/Objects/OS-VJEZBE_SVE-b… · Skripta za studente Literatura David A. Solomon, Mark Russinovich:

109

Desktop grafička rješenja• GNOME je grafičko okruženje za Linux i Unix operativne

sustave koje korisnicima omogućava jednostavnu primjenu i konfiguraciju računala. Izgledom i načinom korištenja vrlo je slično grafičkom okruženju iz MS Windows operativnog sustava. S grafičkim okruženjem dolaze i alati za konfiguraciju samog grafičkog sučelja, alati za konfiguraciju računala i paket aplikacija koje se nalaze u rasponu od malih korisničkih programa pa sve do moćnih uredskih aplikacija. Zajedničke značajke tih aplikacija su besplatnost, jednostavnost korištenja, brzi razvoj i dostupnost su preko Interneta.

www.gnu.orgwww.kernel.orgwww.x.orgwww.bsd.orgwww.linuxdoc.orgwww.linux.hr

Linux OS

1) S. Figgins, E. Siever, A. Webber: Linux in a Nutshell, 4th Edition, O'Reilly, 2003.2) D. Taylor, J. C. Armstrong: Teach Yourself UNIX in 24 Hours, Sams Publishing,

Indianapolis, 1997.3) J. Tacket, S. Burnet: Using Linux, Que Corporation, Indianapolis, 1998.4) M. Žagar: UNIX i kako ga koristiti, “Antonić”, Zagreb, 1995.