AIOS2 Flashcards

(81 cards)

1
Q

Signali za upravljanje procesima

A

SIGHUP - (Hangup) Gasenje procesa kontrolisanog od strane terminala
SIGINT - (keyboard interrupt) gasenje procesa putem Ctrl + C imputa na tastaturi
SIGKILL - naseljno gasenje koje se ne moze spreciti niti ignorisati
SIGTERM - (Terminate) Pristojan nacin gasenja procesa, gde je procesu dozvoljeno da ocisti sve za sobom
SIGCONT - (Continue) nastavlja izvrsavanje procesa nakon stopiranja istog
SIGSTOP - (Stop) Suspenduje proces
SIGTSTP - (keyboard stop) suspenduje proces putem Ctrl + Z imputa na tastaturi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

LVM manager

A

LVM manager (Logical volume manager) je sistem koji nudi fleksibilniji nacin upravljanja particionalnih diskova. Pored toga, on omogucava i dinamicki rast particija, backup za snapshot -ove, raspodelu preko fizickih uredjaja, itd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Particioniranje diska

A

Particioniranje diska, je postupak odvajanja jednog fizickog diska (SSD, HDD), u vise “particionalnih diskova”.Particionali diskovi rade poput obicnih diskova, tako da se svakom pojedinacno moze instalirati operativni sistemi,file sistemi,… Ovaj proces se takodje vrsi radi bezbednosti podataka, a takodje i radi bolje organizacije tih podataka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Thin provisioning

A

Je jedna od opcija prilikom kreiranje virtualne masine. Thin provisioning je tehnika koja omogućava, kreiranje nekog virtuelnog diska sa odredjenim kapacitetom, u kome se podaci mogu postavljati dinamicki, taj virtuelni disk ce se sam siriti kako bi mogao da primi te podatke.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

rpm

A

je sistem menadžmenta paketa koji koriste sve distribucije Red Hat familije (po kojem je i dobio ime Red hat packag manager), slican je dpkg -u, koji sluzi kao menadžer paketa za Debian bazirane distribucije. RPM koristi .rpm fajl ekstenziju a DPKG koristi .deb

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

over provisioning

A

tehnika pri kojom se vise resursa dodeljuje i koristi nego sto je potrebno, ova metoda se koristi obicno na virtuelnim masinama radi fleksibilnosti,boljih performansi i brzeg rada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

neka od rpm opeacija

A

-i / –install : instalira rpm paket
-F / –freshen : nadogradnja paketa koji je vec instaliran
-U / – upgrade : komanda koja ce instalirati paket ili, ako taj paket vec postoji, zameniti sa novom verzijom
-e / –erase : brise instaliran paket
-q / –query : daje informacije o paketu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Yum

A

Yellowdog Updater,Modified (Yum) - je open source menadžer paketa višeg nivoa koji se koristi za RPM - bazirane Linux distribucije, slican je APT sistemu za debijan i on omogucava instalaciju,nadogradnju, brisanje paketa poput RPM -a , ali takodje on autmatski resava zavisnosti, tako da, ako neki paket zahteva neki drugi paket da bi radio, Yum ce naci taj paket i instalirati ga.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

yum operacije

A

install : instalira navedeni paket
update : nadogradjuje sve sve instalirane pakete koji tenutno imaju novu verziju
check-update : provera da li postoje nove verzije za instalirane pakete
remove | erase : brise navedeni paket

Bitna razlika u odnosu na APT je što se lokalni keš
dostupnih paketa automatski ažurira uz ostale naredbe,
nema ekvivalenta za apt-get update.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

yum-config-manager

A

ovaj alat omogucava lakse dodavanje i iskljucivanje YUM repozitorijuma, bez manuelnog editovanja fajlova.

yum-config-manager –add-repo URL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

NAT

A

Network Address Translation (NAT) - je tehnika koja omogucava da vise uredjaja dele jednu javnu adresu, a da pri tome svaki zadrzi svoju privatnu adresu. (javne adresu su registrovane na internetu i one su naophodne radi povezivanja sa internetom, privatna adresa nije javna i nju poseduje svaki uredjaj koji ima pristup internetu)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

yum group

A

yum poseduje mogucnost da upravlja sa grupama sa blisko povezanim paketima koji se zovu grupe paketa. Grupe paketa omogucavaju da se instaliraju vise softrvera koji imaju specificnu namenu u jednoj instanci.

komanda “grouplist” prikazuje dostupne grupe
komanda “groupinstall” omogucava da instaliramo te grupe, “groupremove” ih brise

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Dnf

A

Dnf (Dandified YUM) –> paket menadjer namenjen za linux distribucije baziranih na rpm -u. Predstavlja novu verziju yum-a i trenutno je defaultni paket menadjer na fedora 22 pa nadjalje, Centos 8 i RHEL 8 sistemima. Koristi se za osvezavanje(update),instalaciju i uklanjanje softverskih paketa na rpm baziranim sistemima.

Prednosti dnf-a:
-Dnf koristi napredniji i kompleksniji algoritam za resavanje zavisnosti paketa (libsolv).
- napisan je u Python 3 verziji u odnosu na yum -a koji je napisan u Python 2, tako da zahteva manje memorije i brzi je
- kompletna dokumentacija je dostupna za python API -je

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

dnf opcije

A

dnf install => instalacija dnf-a
dnf –version => provera verzije dnf-a
dnf update => azuriranje svih instaliranih paketa na sistemu
dnf list installed => prikazuje listu svih instaliranih paketa na sistemu
dnf list available => prikazuje listu svih dostupnih paketa koji nisu jos instalirani
dnf search paket => prikazuje repozitorijume sa navedenim paketom koji zelimo da instaliramo

dnf install paket => ova komanda ce preuzeti paket iz repozetorijuma, razresiti zavisnosti i instalirati ga na sistem

dnf download paket => suprotno od install paket, ova komanda ce samo preuzeti .rpm fajl paketa bez zavisnosti (ako se ne koristi opcija –resolve) bez instaliranja tog paketa (korisno ako zelimo da taj paket kasnije instaliramo ili ta ga prenesemo na neku drugu masinu)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

dnf opcije

A

dnf info paket => prikazuje detalje paketa
dnf grouplist => izlistava grupe paketa
dnf groupinstall grupa=> instalira navedenu grupu paketa
dnf repolist all => lista sve repozitorijume
dnf repolist => lista samo omogucene repozitorijume na sistemu
dnf remove paket => brise navedeni paket
dnf autoremove => uklanja nepozeljne zavisnosti paketa
dnf clean all => uklanja sve kesirane pakete

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

iostat

A

naredba kojom mozemo proveriti trenutno zauzece CPU -a, kao i protok podataka na I/O uredjajima (iostat je jedna id glavnih komanda koja se koristi za nalazenje problema vezanih sa diskom i skladistenjem)

argumenti:
-d => (device) samo i/o uredjaji
-c => (CPU) samo CPU

iostat -c 2 10 => dace nam izvestaj o CPU -u po 10 puta za svakih 2 sekundi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

znacenje iostat opcija za CPU

A

%user -> vreme koje CPU potrosi izvrsavajuci user-level (korisnicki level) (ne kernel) procese
%system -> vreme potroseno na kernel procese
%iowait -> vreme potroseno cekajuci i/o uredjaje (npr. disk citanje/pisanje) (veliki %iowait znaci da sistem ceka na spori disk
%idle -> vreme gde CPU nista ne radi
%nice -> vreme potroseno na procesima korisnickog nivoa sa nizim prioritetom
%steal -> cpecificno za virtuelne masine. pokazuje vreme koje CPU virtuelne masine ceka da fizicki CPU zavrsi sa nekim drugim radom.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

znacenje iostat opcija za I/O

A

Pokazuje za statiskite po diskovima ili uredjaja za skladistenje:
Device -> ime uredjaja
tps -> (transfer per second) broj transfera u sekundi, broj read/write operacija kombinirano
kB_read/s -> kilobajta procitano iz uredjaja u sekundi
kB_wrtn/s -> kilobajta napisano u uredjaju u sekundi
kB_read, kB_wrtn -> celokupni broj kilobajta procitano/zapisano od kada je pokrenut uredjaj ili od kada je komanda pokrenuta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

vmstat

A

(Virtual memory statistics)
daje informacije o virtuelnoj memoriji (ukljucujuci RAM i swap) podrzava iste parametre za itervali broj izvestaja kao i iostata, vmstat usustini daje snapshot trenutok stanje o skoro svemu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

vmstat statistike

A

Memorija:
procs : r - > ukupan broj procesa na cekanju
procs : b -> ukupan broj zauzetih procesa (obicno cekaju na I/O)
memory : swpd -> broj upotrebljane virtualne memorije (swap)
memory : free -> broj slobodne virtuelne memorije (swap)
mamory : buff -> memorija kao buffer
memory : cash -> memorija kao kes

Swap:
swap : si -> Swap in = podaci premesteni iz diska u RAM (kB/s)
swap : so -> Swap out = podaci premesteni iz RAM -a u disk (kB/s) [veliki broj ovde oznacava da losu performansu]

I/O:
io : bi -> blokovi ucitani sa i/o uredjaja po sekundi
io : bo -> blokovi upisani na i/o uredjaj po sekundi

System:
system : in -> broj prekida po sekudni (ukljucujuci sat)
system : cs -> broj promena konteksta po sekundi (koliko puta CPU menja zadatke)

CPU:
cpu : us -> korisnicko CPU vreme
cpu : sy -> sistemski CPU vreme (kernel)
cpu : id -> idle vreme
cpu : wa -> vreme CPU -a cekanja na i/o
cpu : st -> ukradeno vreme (ako je pokrenut na VM)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

ss

A

(Socket statistics):
komanda koja sluzi kao zamena za zastarelu komandu ‘netstat’ i ona prikazuje detaljne informacije o mreznim soketima (sockets)

Soket - predstavlja krajnu tacku za slanje ili primane podataka u mrezi, tj. Soket predstavlja konekciju izmedju aplikacije i udaljene mrezne konekcije na racunaru (soketi predstavljaju nacin na koji programi mogu da da komuniciraju jadi sa drugim i da razmestaju podatke izmedju sebe) (soket = kabl koji spaja 2 programa)

Port - predstavlja

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

ss opcije

A

-a –all => prikazuje informacije o svim soketima
-l –listening => prikazuje informacije o svim soketima koji trenutno odsluskuju nadolazeci mrezni saobracaj ( lista programe koji trenutno cekaju konekciju )
-t –tcp => prikazuje sve TCP sokete
-u –udp => prikazuje sve UDP sokete

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

socket i port

A

soketi sluze za programe kako bi mogli da premestaju podatke jedan sa drugim,
portovi -> OS koristi portove kao nacin da identifikuju koji soket treba da primi ili da salje podatke ( ako je soket na portu 22, prima podatke zakazane za taj port)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

jos neke ss opcije

A

-p => prikazuje sokete a pritom i procese(programe) koji ih poseduju ili trenutno koriste (dodaje kolonu, koja objasnjava koji proces je zasluzan sa pravljenje konekcije)
-lt => -t + -l
-4 => svi IPv4 soketi
-e => sve vec uspostavljene konekcije (daje vise informacije o soketima)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
w
komanda koja lista sve trenutno prijavljene korisnike na masini (i gde su prijavljeni, terminali). bez argumenata ispisuje podatke o svim korisnicima dodajemo parametar '-s' kao i ime korisnika(naloga, ne puno ime) ako zelimo informaciju samo o jednom korisniku
25
lsof (list open files)
komanda koja sluzi za listanje svih otvorenih prgroama i procesa koji su ih otvorili. U unix/linux svetu sve je file, tako da koriscenje ove komande bez ikakvog filtrera ce napraviti ogromnu ne citljivu listu lsof mozemo koristiti da: - koji fajl neki specifican program koristi -koji program odsluskuje na specificnom mreznom portu -pronadjemo ko ima fajl otvoren koji sprecava unmountovanje driva -proveriti koji procesi imaju otvorenu mreznu konekciju Neki korisni primeri: ● lsof /putanja/do/fajla – procesi koji trenutno koriste taj fajl ● lsof +D /putanja/direktorijuma – procesi koji koriste bar jedan od fajlova odatle ● lsof -u korisnik – svi otvoreni fajlovi zadatog korisnika ● lsof -p 1234 – svi fajlovi koje koristi proces sa PID-om 1234 ● lsof -i – sve mrežne konekcije
26
free
komanda koja prikazuje zauzece virtuelne memorije, po tome je slicna iosta -u. Korisna je zato sto nam daje pregledniji ispis stanja (ako nas samo memorija zanima), narucito uz parametar -h (human readable) sto nam prikazuje stanje u (gb, mb,kb) umesto bajtima
27
uptime
jednostavna komanda koja prikazuje koliko dugo je masina ukljucena (ili bar OS aktivan), broj korisnika prikljuceno i zauzece cpu na 2, 5 i 15 minuta
28
sar (system activity report)
pasivna komanda koja ne interaktivno prikuplja statistiku o radu sistema u pozadini, koju administrator moze kasnije pogledati. Statistika je snimljena u direktorijumu ' /var/log/sa/ ' pod nazivu ' sa## ' gde ' ## ' reprezentuje broj dana u mesecu. Ovi fajlovi su binarno kompresovani tako da samostalno nisu upotrebljivi, potrebno je koristiti ' sar -f /putanja/do/fajla ' Po RHEL8/RHEL9 stadardu sar ispisuje statistiku o sistemu na svakih 10 min. , ako to zelimo da promenimo moramo editovati systemd servis fajl: ' #systemctl edit sysstat.collect.timer mozemo proveriti trenutno stanje komandom systemctl sysstat sysstat prikuplja podatke svakih 10 minuta, mozemo promenti taj interval editovanjem systemd servis fajl: # systemctl edit sysstat.collect.timer
29
systemctl
alat sa kojim mozemo kontrolisati sistemske servise po runlevel -ima. systemctl list-unit-file -> lista systemd servise ● systemctl status servis –> proverava stanje servisa ● systemctl start servis –> uključuje navedeni servis ● systemctl stop servis –> isključuje servis ● systemctl enable servis –> uključuje servis permanentno
30
svrha ovih komandi? (systemctl, ss,uptime,sar)
ove alate koristimo kako bi proverili trenutno ili redovno stanje na sistemu i oni su korsni zato sto nam pomazu da najdemo tacni problem . Kako bi bolje saznali u cemu je problem, pozeljno je da sistem pregledamo dok radi u njegovom obicajenom stanju sa prosecnim opterecenjem kako bi utvrdili njegovo "baseline" stanje zauzeca memorije,procesora i ostalih parametra.
31
ako sistem radi sporo?
gledamo da li je procesor preopterecen vec dok normalno radi ili je problem mozda do nekog specificnog procesa koji koristi vise vremena nego sto bi trebalo, zbog lose konfiguracije ili neke greske. Proveriti takodje da li RAM koristi "swap" zbog premalo memorije ili je mozda I/O hard diska usko grlo.
32
systemd
systemd je menadzer servisa i sistema za linux operativni sistem, prvi je proces koji se startuje i on pokrece sistem i menadjuje sve daemone i servise u pozadini. (daemon je program koji radi u pozadini a servis sluzi kao nacic da se ti daemoni kotrolisu)
33
Problemi sa mrezom
Proveriti da li su svi interfejsi prepoznati i da li imaju validne IP adrese, da li je rutiranje ispravno. Proveriti da li se mnogo paketa gubi u prenosu. Proveriti koji programi koriste koje portove i da li time možda blokiraju druge koji pokušavaju koristiti isti port.
34
Fajl ili direktorijum se ne može menjati/izbrisati, pristup odbijen?
Proveriti lsof-om koji ga proces drži otvorenim, po potrebi ugasiti taj proces kako bi se oslobodio fajl.
35
Procesi i Niti
proces je program koji u trenutnom tekucem stanju, procesi formiraju hijerarhiju u kojoj je "systemd" na prvom mestu. Procesi dobijaju svoj zasticeni blok memorije, CPU vreme i kontrolu od sistema . Svaki proces poseduje: PID (process ID) - jedinstveni broj koji sluzi kako bi proces mogao da se identifikuje stanje - (pokrenut,spava,etc) korisnika koji ga poseduje moguci roditeljski proces koji ga je pokrenuo Niti (thread) - nalazi se unutar procesa, obavljaju svoje zadatke koji su vezani sa procesom i tako mu pomazu la kasi i efikasniji rad. (ako je trenutni proces google, jedna nit ce da se bavi prikazivanjem slika, jedan prikazivanjem texta ili hiperlinka,etc)
36
ps
komanda koja nam prikazuje snapshot trenutno aktivnih procesa. Moze da prikaze ili sve, ili samo od korisnika, ili/i one samo asocirane sa trenutnim terminalom (tty), bez opcija, ispisuje procese koji su vezani za trenutni terminal
37
Opcije ps -a
-a => ispisuje informacije o svim procesima asociranim sa terminalom -A => ispisuje informacije za sve procese -u => isipisuje informacije o procesima kojie se odnose na odredjene korisnike -x => ispisuje informacije o svim procesima za trenutno ulogovanog korisnika (ispisuje informacije o procesima koji su vezani i oni koji nisu za terminal (kao na primer servise i daemone) ps -aux => prikazuje sve procese koji su trenutno aktivni ne bitno ako je neki korisnik poseduje ili ako je vezan za neki terminal.
38
ps -aux
USER - ime korisnika za koji je proces vezan PID - broj procesa %CPU - cpu vreme koje proces koristi %MEM - procenat RAM memorije koju proces koristi VSZ - kolicinu virtuelne memorije koji proces koristi RSS - ukupna kolicina fizicke memorije koja nije "swap ovana" koji proces koristi TTY - oznaka za terminal koji je startovao proces STAT - pokazuje stanje procesa START - vreme kada je startovan proces TIME - kolicina CPU vremena koje ovaj proces zauzima od trenutka pokretanja na sistemu. COMMAND - komanda koja je upotrebljena da se pokrene ovaj proces
39
pstree
prikazuje sve tekuce procese u strukturi drveta, vizuelno pokazuje kako su procesi povezani i takodje, koji proces je pokrenuo(spawnovo) koji drugi proces. pgrep firefox => daje nam PID broj procesa koji je trenutno aktivan sa imenom "firefox"
40
top
radi slicno poput ps -aux time sto pokazuje slicne statistike samo sto se informacija azurira u realnom vremenu i omogucava interkativno okruzenje, takodje je slican task manageru na windowsu. Prikazuje real-time aktuelne procese na masine ukjucujuci njihovo zauzece na procesoru i memorije, pirkazuje vlasnistvo od korisnika kao i PID broj
41
prioriteti
posto kompijuter pokrece ogromni broj procesa,CPU mora da odluci koji ce prvo da odrardi, taj posao spada na "scheduler", koji dodeljuje procesima prioritete u zavisnosti koliko je taj proces bitan. scheduler dodeljuje takozvanu "nice" vrednost procesima koji on smatra da su nizeg prioriteta, vredosti se krecu od -20 do +19, sto je vrednost manja, proces ima veci prioritet: -20 => visoki prioritet, koristi se za sistem ili root 0 => normalni prioritet +19 => nizak prioritet
42
gasenje procesa
procese je nekada neophodno eksplicitno ugasiti, bili to ds nam netrebaju dalje usluge od nekog pozadinskog procesa ili ako proces zbog neke greske prestane da se odaziva. Ovo se obavlja u kernelu tako sto se salje signal SIGINT,SIGTERM - traze od procesora da se zavrsi sto proces moze da ignorise (ili je zaglavljen) SIGKILL - odma gasi proces bez potrebe za (pospremanje)
43
kill
kill komanda se koristi za slanje signala procesima, naj cesce za gasanje, po defaultu, koristi signal SIGTERM + PID broj od zeljenog procesa. kill [-signal] "PID" => ako zelimo da posaljemo neki drugi signal procesu pod nevedenom PID broju pkill "naziv" => ubija proces po nazivu killall "naziv" => ubija sve procese po nazivu xkill => pokrece interaktivi alat u kome strelica misa postane X sa kojim, u zavisnosti koji prozor klikne, ugasice ce ga (samo radi u grafickom okruzenju GNOME) (desni click izlaz)
44
pokretanje programa u pozadini
uz komandu "&" koja se stavlja na kraju komandne linje, mozemo pokrenuti program u pozadini tako da idalje imamo mogucnost upravljanja na terminalu .
45
jobs
komanda koja nam omogucava da pogledamo koji programi trenutno rade u pozadini [broj] - trenutni broj posla + => pokazuje da je to proces koji je nadavno poslat da se izvrsava - => pokazuje da je to proces koji je prvi poslat da se izvrsava u pozadini ako zelimo da bilo koji od ovih procesa vratimo u prvi plan (foreground) koristimo znak "%" i broj posla koji je vezan za dati proces {proces koji je komandom & stavljen da radi u pozadin (background) se vraca u prvi plan (foreground) kako bi mogli rukovati sa njom} fg %[broj posla procesa u pozadini] ako je program stopiran mozemo ga ponovo vratiti u pozadini komandom "bg"
46
Signali za upravljanje procesa
BROj | Signal| OPIS 1 SIGHUP Hangup - Koristi se za gasenje procesa kontrolisanog od strane terminala 2 SIGINT Keyboard interrupt - gasenjem procesa putem Ctrl +C 9 SIGKILL Kill - nasilno gasenje procesa, ne moze da se blokira niti ignorise 15 SIGTERM Terminate - gasanje na pristoajan nacin, procesu je dozvoljeno da ocisti sve za sobom 18 SIGCONT Continue - nastavlja izvrsavanje procesa 19 SIGSTOP Stop - suspenduje proces 20 SIGTSTP Keyboard stop - suspenduje proces pomocu Ctrl + Z
47
File system
u zavisnosti od konteksta u kome se upotrebljuje moze imati vise znacenja, od 2 glavna, prvi bi bio: Low-level sistem organizacije i zapisivanje fajlova i direktorijuma na fizickom mediju (HDD, CD, itd) Drugi predstavlja organizaciju i hirerarhiju fajlova i direktorijuma karakteristicki za neki operativni sistem( gde i kako konkretan OS cuva stvari) + Fajl sistem nacin na koji operativni sistem, organizuje, skladisti i upravlja podacima na uredjaju za skladistenje podataka poput SSD, HDD,USB stick,etc. Ovakav sistem je potreban zato sto kompijuterski uredjaji sami po sebi ne znaju sta su koncepti kao fajlovi, direktorijumi, dozvole, meta-podaci,itd. (oni si dizajnirani da upravljaju sa sirovim binarnim podacima {0 i 1} Šta jedan file system tipično čuva, pored samog sadržaja fajlova na njemu? ● Nazive fajlova ● Fizičke lokacije delova fajla ● Strukturu direktorijuma ● Atribute i dozvole fajla (exec, read-only, itd.) ● Vreme kreiranja, modifikacije i pristupa ● Kontrolne sume, dnevnik transakcija (journal) zbog prakticnih razloga,fajl sistemi tipicno imaju minimalnu alokacijsku jedinicu zato sto uredjaji za skladistenje memorije rade u fiksovanim velicinama blokovima memorije radi jedonstavnosti i performansi. + Fajl sistem bi teze pratio koji delovi diska su korisceni kada bi morao da trazio po idividualnim bitovima, ovo je razlog zasto se memorija skladisti u blokovima. Radjenje u fiksnim velicinama blokova, takodje omogucava brze citanje i zapisivanje. (efikasnije je za OS i disk da citaju 4kb od jednom nego u manjim nedoslednim bitovima.
48
fragmentacija
Interna fragmentacija: Mana ovakvog sistema je to da, u slucaju da imamo ogromni broj podataka u malim velicinama,svaki ce zauzeti po ceo blok memorije, sto znaci da zauzima vise memorije nego sto bi trebalo. Eksterna fragmentacija: ekterna fragmentacija se desava tokom duzeg vremena koriscenja skladisnih uredjaja. kada se podaci obrisu, nastaju rupe u blokovima memorije, te rupe su razbacane po diskovima, kada se sledeci put zapisuje neki novi podatak ili neki vec postojaci podatak treba prosirit, os ce morati da taj podatak podeli u vise delova na te razbacane rupe od blokova koji nisu jedan pored drugog, ovo dovodi no smanjenja performansi, narucito u HDD -u koji fizicki mora da pomera glavu kako bi citao podatke(eksterna fragmentacija se desava kada imamo slobnih blokova ali oni nisu povezani jedan pored drugog)
49
defragmentacija
defragmentacija je proces gde sistem reorganizuje podatke tako da postavlja njihove blokove jedne do drugih i time poboljsa performanse. Vecina Linux sistema (poput: ext4, xfs, btrfs) su dizajnirani da minimizuju fragmentaciju.zbog ovog razloga je u Linux retko potrebno manualna defragmentacija. Moderni solid state diskovi (SSD) nemaju pokretne delove kao sto im ime kaze, tako da za njih, fragmentacija ne pravi tolki problem kao kod HDD
50
ext4
ext4 izbegava fragmentaciju tako sto pokusava sto vise da razmakne fajlove na pocetku kad ih prvo zapisuje, kako bi imali prostora za rast
51
xfs
Neke osnovne karakteristike, kao što je sistem za journaling deli sa sistemima poput ext4, dok pri tome ima i neke svoje napredne mogućnosti koje mu daju bolje performanse i veću fleksibilnost. XFS svoje performanse postiže ponajpre paralelizacijom I/O operacija kroz svoje alokacijske grupe (“pod- particije”), te odlaganjem alokacije (manji zapisi se čuvaju neko vrijeme u RAM bufferima, kako bi se onda grupno mogli bolje rasporediti i efikasnije zapisati).
52
FHS (Filesystem hierarchy standard)
FHS sluzi kao pravilnik na koji nacin linux organizuje direktorijume i fajlove na sistemu,FHS drzi stvari urednim i predvidljivim kroz svim unix sistemima, kako se administratori i korisnici nebi izgubili. Filesystem na unix-like sistemima je delom vituelan zato sto nacin na koji su direktorijumi i fajlovi organizovani i prestavljeni korisniku, ne predstavlja direkntu reflekciju rasporeda od fizickog skaldista. stvarni storage uredjaji se "montiraju"(mount) kao direktorijumi u fajl sistemu ciji sadrzaj se kasnije moze videti isto kao i svaki drugi direktorijum, nazivaju se mount-point. Svi uredjaji su ubaceni negde ispod jedne iste / putanje, naprotiv, u Windowsu, svaki uredjaj za skladistenje (usb,disk) ima svoju posebnu root putanju (C:\ D:\)
53
svrhe poddirektorijuma unutar root direktorijuma
/bin/ => sadrzi osnovne komande poput ls,cp,mv,rm, koje su potrebne za podizanje sistema i pokretanje u single-user modu. /boot/ => [Bootloader files] sadrzi bootloader fajlove (poput grub -a) koji su potrebni za podizanje os-a. /dev/ => [Device files] sadrzi posebne fajlove koji predstavljaju fizicke(hardware) uredjaje poput PCI kartica, USB, tastatura, etc) kao i virtualne uredjaje poput (/dev/null) /etc/ => [System configuration files] skladisti konfiguracione fajlove i podesavanja za sistem. (network settings, service settings,etc...) /home/ => [User directories] sadrzi direktorijume i fajlove od korisnika, svaki korisnki ima svoj poddirektorijum sa njgeovim imenom /lib/ /lib64/ => [Essential shared libraries] sadrzi esencijalne biblioteke i moduli kernela koji se dele po celom sistemu i koji su potrebni za podizanje sistema i pokretanja osnovnih komanda. Ove biblioteke su potrebne programima iz /bin i /sbin direktorijuma kako bi se pokrenule. (poput .dll fajlova iz windows). /lib64 je verijanta za 64- bitne biblioteke na x86-64 sistemu. /media/ => [Removable media] sadrzi mount-point direktorijume za dodatne particije, usb stikove, cd rom-ove,itd... Mesto gde privremeni/uklonjivi mediji postaju dostupni korisnicima. /mnt/ => [Manual mount point] privremeni sistemski mount-point direktorijumi. (ISO fajlovi,network driveri) /opt/ => [Optional software] skladisti opcionalni/dodatni softvere koji nisu deo defaultnog os -a, manualno instalirane aplikacije mogu ovde da idu. /proc/ [Virtual proces info] virtuelni fajl sistem koji poseduje informacije o sistemu i tekucim procesima. /root/ => [Home directory for root user] puput /hoom -a samo za root korisnika /run/ => [runtime data] skladisti privremene fajlove i informacije o trenutnom stanju sistema. /sbin/ => [System binaries] poput /bin -a samo sto skladisti esencijalne sistemske programe i skripte za administraciju (init,mount,fdisk) /srv/ => [Service data] skladisti podatke za servise poput web i FTP servere /sys/ => [System and kernel info] jos jedan virtuelni direktorijum koji daje informacije o uredjajima i kernelskim podesavanjima /tmp/ => [Temporary fails] privremeni podaci koji se brisu nakon sto se sistem ugasi. /usr/ => [User installed software and data] Ogroman direktorijum koji poseduje korisnicke (user) read-only fajlove (takodje sadrzi nesustinske direktorijume kao, /usr/bin, /usr/lib, itd) /var/ => [Veriable files] Fajlovi koji se cesto menjaju (npr. logovi)
54
BONUS: single-user mod
single-user mod, u linux/unix operativnim sistemima je specijalni mod, u kome se operativni sistem pokrece u minimalnom okruzenju, tipicno samo sa jednim korisnikom (root korisnik) gde su samo esencijalni sistemski servisi u toku brz dostupa interneta.
55
Konvencije
Pravilja koje treba imati na umu pri imenovanju fajlova i direktorijuma: + Svi nazivi su case-sensitive (abc ≠ AbC) + Skriveni fajlovi i direktorijumi imaju nazive koji pocinju sa tackom (.) + Trenutni direktorijum CWD (Current Working Directory) je uvek "." + Direktorijum iznad trenutnog je uvek ".." + Home direktorijum za korisnika je "~" (ako se korisnik zove "studen" onda znaci da je "~" = "/home/student") + Nazivi mogu sadrzati sve sem "/" i imati maksimalno 255 znakova, naravno, preporucljivo je izbegavati posebne znakove, zato sto komande mogu imati nepredvidjene posledice.
56
df
komandu koju koristimo u slucaju da zelimo da vidimo koliko je particija montirano na sistemu kao i koliko slobodnog prostora postiji na njima. (najvise se koristi sa opcijom -h {human readable})
57
du
[Disk usage] - koristi se za proveru velicine fajlova i direktorijuma na racunaru.
58
BONUS: formatiranje
proces pripremanja uredjaja za skladistenje tako sto se svi podaci, ako ima nekih, obrisu sa njega, a zatim napraviti strukturu fajl sistema ne njemu.
59
fdisk
alat za izlistavanje, kreiranje i modifikovanje particija, listanje se moze dobiti parametrom " -l " (/dev/sda -> reprezentuje prvi hard disk (ili virtuelni disk) na sistemu)
60
pravila za particionisanje
MBR (Master Boot Record) vs GPT ( GUID Partition Table). -MBR je stariji standard i podrzava do 4 primarnih particija po disku, ako zelimo vise od 4 particija, jedu od tih 4, pravimo u prosirenu (extended) particiju, prosirena particija moze sadrzati veci broj logickih particija u sebi. (Linux ne zahteva primarnu particiju da pokrene sistem, suprotno od windows -a) -GPT je moderni standard koji zamenjuje MBR. Podrzava mnogo veci broj particija (obicno oko 128) i radi sa UEFI firmware-om umesto sa BIOS-om. BONUS: Primarne particije su particije na kojima se instalira OS (linux moze na bilo kojoj particiji) i skladiste podaci. Prosirene particije su specijalni tipovi primarnih particija koje sluze poput kontejnera za logicke particije (koristi se samo na MBR) Logicke particije zive u prosirenim particijama. U GPT sve particije su thenicki primarne, tako da ove ostale ne postoje na njemu.
61
BONUS: Sektor
Najmanja fizicka jedinica za skladistenje na disku, obicno oko 512 bajta ili 4096 bajta. (sektori su fizicki dok su blokovi tehnicki virtuelni i koristi se za olaksavanje OS -u, sektori su gde se podaci zapisuju)
62
Kreiranje fajl sistema mkfs (make file system)
kada se particija kreira ona nije odmah spremna za upterbu. Particionisanje samo rezervise mesto na disku, ali on jos uvek nije uredjen. Prvo sto se mora uraditi, je napraviti Fajl sistem za tu particiju. mkfs -t ext4 /dev/sda2 (-t nam omogucava da izaberemo koji tip zelimo)
63
Kreiranje Swapa
koristimo komandu mkswap, za koju je dovoljno asmo navesti putanju particije ( mkswap /dev/sda3) mkswap ce izabranu particiju napraviti u swap sistem, ova procedura ce formatirati zeljenu particiju, tako da ce se sve obrisati sto se nalazi na njoj. Nova napravljena Swap particija ce zatim morati da se pokrene upotrebom komande: " sudo swapon /dev/sdX (ima izabrane particije). Posle ovogo, Linux ce sam autamatski poceti da koristi tu swap particiju kada mu je neophodna. Swap particija takodje moze i da se iskljuci (turn off) upotrebom komande: " sudo swapoff /dev/sdX (ime izabrane particije). -a => ocpija koja moze da se koristi uz swapon i swapoff ako zelimo da ukljucimo ili iskljucimo sve swap particije naveden u " fstab " fajlu
64
Mounting
" mount " => komanda koja nam omogucava da privezemo/montiramo neki fajl sistem (particija ili uredjaj) na neku putanju u root fajl sistemu (direktorijumu), kako bi imali pristup na njegovim fajlovima i folderima. Vecina sistema je podeseno da automatski montira sve upotrebljive particije. Komnda mount bez ikakvig opcija ce nam listati sve sisteme i njihove maunt tacke (mount point) Ako zelimo da mi rucno montiramo particiju koristimo: " mount -t (ime fajl sistema) (putanja particije) (putanja direktorijuma gde zelimo montirati)
65
Unmounting
" unmount " komanda se koristi za demontiranje postojacek mount pointa. Demontiranje moze biti korisno kada zelimo da modifikujemo neku particiju, post particija prvo mora da se iskljuci kako bi mogla da se modifikuje. Takodje, moze da se koristi kada zelimo da bezbedno uklonimo neki removable drive (npr.USB).
66
fstab
fstab (File System Table) => to je konfiguracioni fajl koji se nalazi na putanji /etc/fstab . U ovom fajlu se nalaze informacije o montiranim fajl sistemima, lokacije gde su montirani (Mount-point) i njihovo podesavanje. Sistem koristi fstab kako bi mogao automatski da montira fajl sisteme pri njegovom podizanju (kako korisnici ne bi morali manualno pojedinacni da montiraju svaki put). Primer: UUID=8e1e55ef-1b2c-4fcd-91d0-f12cf0a6b4a2 /mnt/data ext4 defaults 0 2 UUID -> Jedinstveni broj koji Indetifikuje particiju /mnt/data -> mount-pint (gde ce biti montirano) ext4 -> fajl sistem defaults -> opcije montiranja (read/write) 0 -> da li da se backup -a 2 -> kada da se proveri u trenutku pokretanja (1 za root, 2 za ostale)
67
UUID
UUID (Univerzally Unique Identifier) => Univerzalni jedinstveni indetifikator je standard koji je razvila Open Software fondacija. Ovaj standard se dodeljuje fajl sistemu (npr. particiji ili logicki volumen) i sluzi kao njegov identifikator. (svaka particijua ima svoj jedinstveni UUID). Particija sa fajl sistemom koji dobio UUID, zadrava ga cak i kada napusti racunar i prikljuci se za neki drugi.
68
blkid
komanda koja sluzi za listanje informacija o dostupnim blok uredjajima (kao sto su hdd, ssd, usb,...). Korisna je za brzu potragu naziva,UUID i fajl sistem za specifini blok uredjaj
69
fsck
(File System Check) => alat koji sluzi za popravku i proveru ispravnosti fajl sistema. Veoma je bitno da se fsck ne koristi na vec montiranim particijama (narucito ne na / fajlsistemu)
70
XFS alati
XFS dolazi sa svojim setom alata, od kojih se mogu izdvojiti: * xfs_repair => radi proveru i popravku xfs fajl sistema (ako su logovi "prljavi" potrebno je dodati force opciju -L, sto ponekad moze dovesti do jos vecek ostecenja) * xfs_fsr => radi defragmentaciju xfs fajl sistema.
71
LVM
(Logical Volume Manager) => prestavlja sloj izmedju fizickog uredjaja (disk/particije) i fajl sistema, koji omogucava fleksibilni i efikasni nacin upravljanjem prostora na disku. LVM omogucava: - velicina skladistaja se moze povecati ili smanjiti be potrebe reparticionisanja. -Kombiniranje vise fizickih diskova u jedan veliki skup -Pravljenje snapshota za backup -Bolja fleksibilnost *Fizicko volumen (Physical volume PV) => Fizicki disk/particija koji ce da se koristi za logicko upravljanje volumenima (LVMs) *Grupa volumena (Volume group VG) => predstavlja neki zajednicki prostor (pool) napravljen od jednog ili vise PM a * Logicki volumen (Logical Volume LV) => on je deo grupe volumena, i moze biti formatiran fajl sistemom i montiran na bilo koji direktorijukum. {Logicki volumeni ne predstavljaju prave volumene poput PV, oni nastaju iz VGa i pozajmljuju prostor iz PM koji je deo te grupe.} (ako Particija ima LVM kod tipa, znaci da je deo GV i da se koristi za kreiranje LV)
72
pvcreate
kada zelimo da napravimo LVM, prvo sto moramo napraviti je particiju sa fdisk komandom i oznacimo kao LVM tip particije (8e). Kada smo to reslili, pravimo novi fizicki volumen komandom: " pvcreate " (ako imamo vise od jedne particije da promenimo u PV, mozemo ih dodati u jednoj komandnoj liniji: pvcreate /dev/sda1 /dev/sda2)
73
vgcreate
kada nasu particiju pretvorimo u fizicki volumen, Sledeci korak je narvano kreiranje volumen grupe (GV) koja ce da se sastoji od jedne ili vise PV, komandom: " vgcreate " vgcreate [naziv za grupu] /dev/sda1 /dev/sda2 Ako zelimo da dodamo jo PV u toj grupi, koristimo komandu: " vgextend " vgextend [naziv grupe] /dev/sdb1 /dev/sdb2
74
lvcreate
Poslednji korak je narvano kreiranje Logickih volumena na kojim ugradjujemo fajl sisteme i montiramo na zeljeni direktorijum, komandom : " lvcreate " lvcreate -L 200M -n [naziv za volumen] [naziv grupe] -L => opcija koja nam obogucava da izaberemo velicinu volumena -n => opcija koja nam omogucava da damo naziv volumena
75
Pregled bitnih komandi za kreiranje LV:
* pvck – proverava konzistenciju meta podataka fizičkog volumena. * pvcreate – inicijalizuje disk ili particiju kao fizički volumen. * pvdisplay – prikazuje trenutno konfigurisane fizičke volumene. * pvremove – uklanja fizički volumen. * pvresize – menja broj particija dodeljenjih fizičkom volumenu. * pvscan – skenira diskove za fizičke volumene. * vgcreate – kreira volumen grupu. * vgdisplay – prikazuje karakteristike trenutno konfigurisane VG. * vgextend – proširuje volumen grupu. * vgremove – uklanja volumen grupu pretpostavljajući da nema ni jedan logički volumen vezan za nju. * lvcreate – kreira novi logički volumen u postojećoj volumen grupi. * lvextend – dodaje prostor logičkom volumenu. * lvdisplay – prikazuje trenutno konfigurisane logičke volumene.
76
Network interface
Mrezni interfajs predstavlja sve uredjaje koji omogucavaju masini konekciju sa mrezom (mrezne kartice/adapteri).
77
Osnovni mrezni pojmovi
● LAN – Local Area Network, lokalna mreža ● WAN – Wide Area Network, regionalna mreža ● WLAN – Wireless LAN, bežična lokalna mreža ● Wi-Fi – popularan standard za wireless mreže ● DNS – Domain Name Server, server koji poslužuje IP adrese za tekstualne adrese ● DHCP – Dynamic Host Configuration Protocol, protokol za automatsko podešavanje i dodelu adresa uređajima ● intranet – lokalni/privatni ekvivalent interneta ● Internet - “mreža svih mreža”, ono što najčešće i nazivamo internetom ● paket – jedinica prenosa podataka preko mreže ● IP adresa (v4) – adresa od 32 bita / 4 bajta, najčešće izražena decimalno u četiri segmenta odvojena tačkama, npr.: 255.255.255.255
78
BONUS: DHCP
DHCP je server koji dodeljuje klijentima koji se konektuju na mrezi Ip adrese i druge mrezna podesavanja. (ISP Internet Service Provaider, nas provajder kome placamo za internet je taj koji poseduje DNS i DHCP servere) (DHCP je takodje taj koji nam namestava DNS) Kada nam se uredjaj poveze na mrezu, on trazi ot DHCP servera za IP adresu, koju DHCP server "leases" tu adresu na odredjeno vreme koje se zove (lease time) (veci domeni kao npr.google, imaju vise ip adresa. Te ip adresu su isto dinamicke tako da nisu uvek iste, razlokg zasto imaju vise ip adresa je kako bi mogli da izdrze opterecene od milion korisnika koji im dolazi na domen, ako jedan server padne da ostali mogu da preuzumu rad, kako bi mogli da sluze korisnicima koji su da razlicitm geografskim lokacijama i zbog specijalnih sluzbi (majl, mape,etc)
79
ISO OSI mrezni model
Model koji objasnjava kako se podaci premestaju u mrezi: 1. Aplikacioni sloj - Interfejs za korisnika u ljdusko citljivom prikazu(veb brovesri, emejl klijent,...) 2. Prezentacioni sloj - prevodi podatke u format prikladan za mrezu i obrnuto 3. Sloj sesije - upravlja konekcijama izmedju udaljenih procesa 4. Transportni sloj - brine se za kvalitet i pouzdanost prenosa 5. Mrezni sloj - odlucuje kojom putanjom da salje podatke 6. Sloj veze/linka - omogucava prenos bez greske na fizickom nivou 7. Fizicki sloj - Predstavlja hardverski medium
80
IP adresa