19
Laboratorijska vježba 1 Operacijski sustavi Petra Lončar, mag. ing. el., asistent [email protected] FESB, 2016.

povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

  • Upload
    ngophuc

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

Laboratorijska vježba 1

Operacijski sustavi

Petra Lončar, mag. ing. el., asistent

[email protected]

FESB, 2016.

Page 2: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• skup programskih proširenja računalnog sklopovlja koji potpomaže izvođenje raznovrsnih operacija

potrebnih za izvođenje korisničkih programa

• operacijski sustav je posrednik između aplikacije i sklopovlja (mnoštvo kompleksnih uređaja)

ZADACI OS-a

• olakšavanje uporabe računala

• organizacija djelotvornog iskorištavanja svih sklopovskih i programskih komponenti računalnih sustava

Operacijski sustav

Page 3: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• povećavanje performansi može se postići uvišestručavanjem računalnog sklopovlja, prvenstveno

procesora

• paralelizam

Računalni sustav

Page 4: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

VRSTE OPERACIJSKIH SUSTAVA

• podjela prema vrsti korisničkog sučelja:

▫ znakovno sučelje (Character-based Interface) – na zaslonu se mogu prikazati samo osnovni znakovi (slova, brojevi i posebni znakovi) (npr. MS - DOS, Unix)

▫ grafičko sučelje (Graphical User Interface – GUI) – koristi grafičke simbole i slikovne elemente (npr. sve varijante MS Windows-a, Linux)

• podjela s obzirom na mogući broj korisnika :

▫ jednokorisnički (Single-User) – računalo, strojnu i programsku opremu može koristiti samo jedan korisnik (npr. MS – DOS, MS Windows 3 verzije)

▫ višekorisnički (Multi-User) – istovremeno više korisnika koristi resurse računala (npr. Unix, Linux, Windows NT, XP, Vista)

▫ miješani – resurse računala može koristiti više korisnika, ali ne istovremeno (npr. Windows 98)

• podjela prema izvršivom broju zadataka :

▫ jednozadaćni operacijski sustav (Single Task System) – istovremeno se može izvršavati samo jedna naredba (npr. MS – DOS)

▫ višezadaćni operacijski sustav (Multi-tasking System) – može izvršavati više programa u isto vrijeme (npr. Unix, Linux, sve Windows inačice)

Page 5: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• višekorisnički i višezadaćni operacijski sustav

• besplatan i slobodan softver

• autor Linus Torvalds, 1991.

• glavni dijelovi Linux OS-a su:

▫ jezgra (kernel) koji upravlja radom računala

▫ datotečni sustav

▫ ljuska OS-a (shell) koja omogućava interakciju između korisnika i računala

▫ naredbe koje se unose preko ljuske

• najpoznatije distribucije (jezgra Linux-a + programi) Linux-a: OpenSUSE, Debian, Mint, Ubuntu, Red

Hat…

• najčešće korištena grafička okruženja: KDU, XFCE, GNOME, Cinnamon, MATE

Linux

Page 6: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• Linux proces je program u izvršavanju

• proces završava ispravno kada završi s radom na u programu predviđen način

• proces može završiti i neispravno, bilo pojavom greške u tijeku izvođenja ili nasilnim prekidom od stranekorisnika procesa ili superkorisnika (user, superuser)

• korisnik procesa može prekinuti proces kombinacijom određenih tipki (npr. Ctrl +C) ili unosom

odgovarajućih naredbi

• svaki Linux proces posjeduje niz atributa:

▫ ID vlasnika,

▫ naziv procesa

▫ PID - ID procesa (process identifier)

▫ stanje procesa

▫ PID procesa roditelja i duljinu vremena koju je proces pokrenut

Stanja Linux procesa

Page 7: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

Procesi mogu poprimiti sljedeća stanja:

• R (running) – proces u izvršavanju

• S (interruptible sleeping) – proces u mirovanju, čeka na neki event

• D (uninterruptible sleep) – neprekinuto spavanje (obično IO)

• T (stopped) – zaustavljen proces

• Z (zombie) – završen proces još uvijek upisan u tablicu procesa

Page 8: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

Datotečni sustav

• datotečni sustav Linux-a je organiziran kao stablo

• ima jedan korijenski direktorij ispod kojeg su sve ostale datoteke

Page 9: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• /root - matični direktorij root korisnika

• /bin - korisnički i administratorski alati bez obzira da li je sustav u jednokorisničkom ili višekorisničkom načinu rada

• /boot - jezgra operacijskog sustava i sve potrebno kako bi se operacijski sustav mogao pokrenuti tijekom podizanja sustava

• /dev - direktorij s posebnim datotekama koje predstavljaju različite uređaje

• /etc - konfiguracijske datoteke sustava

• /home - osobni direktoriji korisnika smješteni su unutar ovog direktorija

• /lib - biblioteke nužne za rad sustava, moduli operacijskog sustava

• /lost+found - datoteke vraćene nakon pada sustava

• /media - direktorij unutar kojega se automatski dodaju pokretni uređaji priključeni na računalo (CD-ROM, USB diskovi, itd.)

• /mnt - direktorij unutar kojega korisnik ručno dodaje pokretne uređaje, medije

• /opt - instalacije programa koji nisu dio standardnog sustava

• /proc - sadrži virtualne datoteke koje se mijenjaju ovisno o stanju sustava. Pisanje u njih može promijeniti ponašanje sustava.

• /sbin - sistemski programi koje administrator sustava treba imati na raspolaganju za podizanje sustava

• /srv - direktoriji s podacima koji se nude korisnicima preko servisa (web stranice preko HTTP protokola, binarne datoteke preko

FTP protokola)

• /sys - sadrži informacije o sustavu i njegovim komponentama, instaliranom hardveru na pregledan način

• /tmp - direktorij za privremenu pohranu datoteka u koji mogu pisati svi korisnici i koriste ga aplikacije za spremanje datoteka

tijekom rada

• /usr - korisnički programi, dokumentacija i biblioteke

• /var - sistemski zapisi i druge promjenjive datoteke

Page 10: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

Neke od naredbi za rad s direktorijima:

• mkdir <ime direktorija> – kreiranje datoteke

• rmdir <ime direktorija> – brisanje praznog direktorija

• rm <ime direktorija> – brisanje direktorija

• ls <ime direktorija> – ispis sadržaja direktorija

• pwd – prikaz trenutnog direktorija

• cat – pregled sadržaja datoteke

• mv <izvor> <odredište> – premještanje sadržaja sa jedne na drugu lokaciju

• cp <izvor> <odredište> – kopiranja sadržaja direktorija sa jedne na drugu lokaciju

• cd .. – povratak u roditeljski direktorij

Primjer:

mv /home/user/Pictures /home/user/Desktop/vjezba

(sadržaj direktorija Pictures se premješta u direktorij vjezba, lokacije su definirane apsolutnom stazom)

Page 11: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• sigurnost datotečnog sustava temelji se na pravima koja određuju koji korisnici mogu pristupiti pojedinim

datotekama i direktorijima datotečnog sustava i što s njima mogu raditi

• pristupne grupe:

- korisnik (user) – dopuštenja se primjenjuju samo na vlasnika datoteke ili direktorija, nemaju utjecaj na radnje ostalih

korisnika

- grupa korisnika (group) – dopuštenja se primjenjuju na grupu kojoj je dodijeljena datoteka ili direktorij

- ostali korisnici (others) – dopuštenja se primjenjuju na sve korisnike sustava

• vrste dopuštenja:

- read (r) – korisniku je omogućeno samo čitanje sadržaja datoteke

- write (w) – korisnik ima mogućnost pisanja i mijenjanja sadržaja datoteke ili direktorija

- execute (x) – korisnik ima mogućnost izvršavanja datoteke ili pregleda sadržaja direktorija

• naredba ls –l daje prikaz ovlasti na datotečnom sustavu

Page 12: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• prilikom kreiranja nove datoteke i novog direktorija uobičajeno se postavljaju prava:

- nova datoteka: -rw-r--r--

- novi direktorij: drwxr-xr-x

• naredbom chmod moguće je promijeniti pristupna prava pristupa na datoteci

chmod mod <naziv_datoteke> npr. chmod u+wx abc ili chmod 700 abc

r = 4 + dodavanje pristupnog prava

w = 2 − oduzimanje pristupnog prava

x = 1

Page 13: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

Naredbe Linux OS-a

• razlikuju se:

▫ interna ili ugrađena naredba (internal or built-in command) – naredba čiji je kod dio procesa ljuske

▫ eksterne naredbe – kod im se nalazi u nekoj drugoj datoteci (programu). Sadržaj te druge datoteke može biti

binarni kod ili skripta ljuske (shell script). Ljuska kreira novi proces da bi izvršila eksternu naredbu. Dok se

pokrenuti proces izvršava ljuska čeka na njegov kraj

• način pokretanja naredbi <naredba><opcije><argumenti>

• Linux je case-sensitive, tj. razlikuje velika i mala slova naredbi, imena datoteka, razmak između njih (npr.

cd.. nije isto što i Cd ..)

• naredbe se u pravilu pišu malim slovima

• terminal – uređaj koji prima znakove i prikazuje ispis

• neki od emulatora terminala na Linux sustavima: xterm, rxvt, gnome-terminal...

Page 14: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

man naredba – sadrži opise i načine korištenja naredbi, funkcija i konfiguracijskih datoteka

- pretraživanje upute

man <naredba>

man <sekcija> <naredba>

- pretraživanje stranica

man –f <ključna riječ>

man –f <ime datoteke>

Primjer: Pregledavanje upute za naredbu man

man man

Page 15: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• standardni dijelovi man stranice

▫ NAME – ime i kratki opis

▫ SYNOPSIS – mogući načini korištenja

▫ DESCRIPTION – dulji opis što naredba radi

▫ OPTIONS – opcije koje naredba prihvaća

▫ ENVIRONMENT – varijable okruženja

▫ AUTHOR – autor stranice/naredbe

▫ SEE ALSO – vezane naredbe

• izlazak iz pregledavanja upute malo slovo q

Page 16: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

Često korištene naredbe

Page 17: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

• u terminalskom prozoru pogledati atribute procesa s naredbom ps <Enter>

• ispis ps (process status) naredbe daje 4 polja:

▫ PID

▫ naziv terminala (TTY)

▫ vrijeme (TIME)

▫ naziv naredbe koja je pokrenula proces (CMD)

• neke od opcija ps naredbe su:

▫ -e ispis svih procesa u sustavu (ps –e)

▫ -r prikaz informacija o procesima u runnable stanju (ps –r)

▫ -f dodatne informacije o procesima

▫ -j prikaz informacija vezanih za nadzor poslova (job control)

▫ -o zadavanje formata ispisa

▫ - aux prikaz detaljnih informacija o svim procesima

▫ - axf prikaz svih hijerarhija procesa u sustavu

▫ --sort sortiranje ispisa (po PID ako nije drugačije navedeno)

Page 18: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

1. Odabrati i postaviti novu lozinku

2. Na radnoj površini kreirati direktorij vjezba1 i u njemu file vjezba1.txt

• Sadržaj file-a vjezba1.txt kopirati u file copy.txt koji se nalazi na radnoj površini

3. Pomoću naredbe man proučiti naredbu ls

• Kojom naredbom možemo ispisati funkciju naredbe ls?

4. Izlistati sadržaj direktorija /home? Pročitajte i objasnite prava nad direktorijem.

• Korisniku file-a vjezba1.txt dodajte pravo izvršavanja (execute)

5. Pokrenuti proces: > (sleep 120; echo I am awake now) <Enter>

ZADACI

Page 19: povećavanje performansi može se postići .... semestar/Operacijski... · ZADACI OS-a •olakšavanje uporabe računala ... –naredba čiji je kod dio procesa ljuske eksterne naredbe

6. Korištenjem nekog editora (vi, gedit) napisati sljedeći C program koji izvršava beskonačnu petlju (> vi

goo.c):

#include <stdio.h>

int main()

{

while(1)

{ ; }

return 0;

}

• Spremiti program u datoteku goo.c i prevesti ga pomoću gcc kompajlera u izvršnu datoteku goo naredbom:

gcc -o goo goo.c

• Pokrenuti program goo utipkati ./goo

• Provjeriti status procesa

• Koliko dugo je proces goo pokrenut?

• Koliki postotak CPU i memorije koristi goo proces?

• Zaustaviti proces