AIOS2 Flashcards

(59 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)

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] -
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.