operacijski sustavi
DESCRIPTION
-------TRANSCRIPT
Zašto višeprocesorski sustavi?
Cilj inženjera i korisnika je više snage
Napredovanjem programske podrške potrebna što veća snaga
Problemi sa tim ciljem
Prvotni pristup: ubrzati racunalo (MHz,-> GHz->…) Dolazimo do granica ostvarivosti toga cilja Einstein-ova teorija relativnosti
Einstein-ova teorija relativnosti:
Niti jedan elektricni signal ne može putovati brže od brzine svjetlosti: 20cm/ns u vakuumu ili 20cm/ns u optickom vlaknu ili bakru
1. sa brzinom takta od 10 GHz , signali ne mogu putovati dulje od 2cm,2. sa brzinom takta od 100 GHz, signali ne mogu putovati dulje od 2mm3. sa brzinom takta od 1000 GHz (1 THz) , racunala bi trebala biti manja od 100 µm
Disipacija snage (topline)
Smanjujuci velicinu procesora smanjujemo snagu (disipiranu toplinu), povecanjem brzine povecavamo toplinu, smanjenjem velicine takoder sve teže odvodimo toplinu sa procesora (zbog velicine kontaktne površine).
Prvi pristup
Moore’s Law: “The density of transistors on a chip doubles every 18 months, for the same cost” (1965)
Drugi pristupi – višeprocesorski sustavi
A. Višeprocesorski sustavi (multiprocessors)Procesori dijele istu memoriju
B. Sustavi sa više racunala (multicomputers)Komunikacijski sustav povezuje procesore
C. Distribuirani sustavi
2 kolokvij OS
Ideja paralelnog programiranja
Paralelnim izvršavanjem dolazimo do ciljnog rješenja problema. Svaka dretva jedan procesor
Paralelizam
Model koji smo naveli je prejednostavan: Kako dodijeliti radne zadatke na radne dretve?Što ako imamo više procesora nego dretvi iliobrnuto?Kako povezati rezultate na kraju?Kako znamo da je sav posao gotov?Što ako je posao (zadatak) nedjeljiv?
Problem pristupa resursima Zlatno pravilo: svaka memorija kojoj pristupa više dretvi mora imati sikronizacijski mehanizam. Sinkronizacija je složena. Svi moguci nacin pristupa trebaju biti razmotreni. Potrebne brave koje treba koristiti konzistentno i korektno. Popravljanje grešaka je teško jer je teško precizirati slijednost zadatka.Treba svoditi zajednicke resurse na minimum radi jednostavnosti izvedbe
Brave
Što ako dva procesora žele rezervirati istu stranicu u memoriji Jedan od problema Koristimo brave da osiguramo situaciju
OS je podijeljen u nekoliko kriticnih dijelova (svaki kontroliran svojom bravom) koje mogu izvršavati procesori bez utjecaja jedni na druge. U primjeru može doci do blokade ako oba procesora žele postaviti bravu na navedenu rijec u memoriji.
Riješenje problema SPIN lockSpin locks omogucavaju višestrukih brava
Brava unutar brave
CPU vrijeme - scheduling
Jedan procesor Jednostavno slijedeca dretva
Više procesora Treba odabrati CPU i dretvu Što je sa povezanim dretvama? Rješenja:
I. Time sharing – nezavisne dretveII. Space sharing – zavisne dretve
III. Gang scheduling – zavisne dretve
Višestruka racunala - multicomputers
Usko povezani procesori koji ne dijele memoriju
Poznatije kao: cluster, cluster of workstations
Topologije:
ͻ Zvijezda -Single switch
ͻ Prsten –ring
ͻ Polje – grid
ͻ Double torus
ͻ Kocka – cube
ͻ Hypercube
Povezanost sa switchem (ethernet)
Gdje se dijeli memorija?
Load balancing
Serverski i klijentski orijentiran pristup
Višeprocesorski sustavi ↑
MPP – Massive parallel processing
Zauzece fizickog prostora Potrošnja snage Hladenje
ͻ 12, 1999. – Zapoceo razvoj na projektu blue gene Blue – IBM zaštitna boja Gene – za dekodiranje ljudskog genoma
ͻ 22.06.2006 – kemijski kvantomski procesi – 207.3 TFLOPSͻ 27.06.2007 – University of Nevada – simulacija polovice mišjeg mozga unutar 10 sek.
Power u kW
Pec za grijanje 4KW Prosjecna potrošnja kucanstva sa grijanjem 12kw HE ozalj 5.5MW HE Jaruga (Šibenik) 7,2MW
Deep Blue
Racunalo koje je prvo pobijedilo šahovskog velemajstora
Racunalo je radilo paralelno procesiranje svih mogucnosti igranja sa predvidanjem gdje vodipojedina odluka (odnosno da li je moguce ostvariti konacan cilj pobjedu)
Ne radi se o inteligenciji vec o brzom odlucivanju nad gomilom informacija i mogucih ishoda.
Distribuirani sustavi
Distribucija se ocituje u aplikaciji
poznati primjer SETI projekt www.seti.org; Dobrovoljna distribucija zadataka na racunala po Svijetu;
Najveci distribuirani sustav
Virtualni adresni prostor
Za svaki proces OS generira virtualni adresni prostor
Proces misli da je cijeli njemu dostupan prostor fizicka memorija
Fizicka memorija Nema zaštite adresnog prostora Ogranicene velicine Lako i brzo pristupanje
Virtualni adresni prostor Svaki proces izoliran “beskonacne” velicine Svaki proces misli da pocinje od 0
Za rad sa memorijom odgovoran je poseban dio sustava : memory manager
Virtualna memorija
Za ubrzanje rada s memorijom moramo imati podršku sklopovlja:
Meduspremnik (cache) procesora Asocijativna memorijska tablica (TLB) Accessed , DIrty, White i Valid bitovi opisnika stranice Procesorski podržana zaštita memorije (read-write, read only za mjesto gdje se nalaze
instrukcije dretvi)
Pristupi upravljanja memorijom:
I. Jednozadacni OS bez zaštite memorije: Program se uvijek izvršava sa istoga mjesta u memoriji Samo jedan program se može istovremeno izvršavati Program može adresirati bilo koju memorijsku lokaciju Adresiranje zašticenih lokacija dovodi do greške
II. Višezadacni OS bez zaštite memorije: Kada se prognam ucita u memoriju sve adrese se promijene Adrese poprimaju relativnu udaljenost od pocetka programa + adresa pocetka smještaja
programa Nema zaštite jedan proces može srušiti sve ostale procese
III. Višezadacni OS sa zaštitom memorije: Ciljevi:
Zaštititi OS od procesaZaštititi procese jedne od drugih
OstvarenjeTransformacija adresaKorisnicki/jezgrin mod rada
Transformacija adrese
Uvodimo translacijsku tablicu
Proces ne zna adrese drugoga procesa, ne može dirati kod i podatke OS-a. Pocetna adresa procesa 1 je drugacija od pocetne adrese procesa 2. Omoguceno dijeljenje podatka tako da se adresni prostoripreklapaju u stvarnoj memoriji (shared memory , vidi predavanje procesi)OS u jezgrinom modu može upravljati i modificirati translacijsku tablicu
Transformacija adrese
Proces misli da je cijelo racunalo posveceno njemu (memorija ide od nula do granice). I virtualni adresni prostor i fizicka memorija sesastoje od neprekinutoga slijeda adresa. Za svaki proces se odreduje baza i granica.
Bolje rješenje – Stranicenje
Glavna ideja je da se memorija podijeli na jednake dijelove – okvire (frames) iste velicinePostoji pravilo 90/10 koje utvrduje da procesi u prosjeku pristupaju dijelu od 10% memorije uvijek, ostatak memorije se koristi rijetkoBliže procesoru želimo držati tih 10%, dok onih 90% mogu biti na sporom mediju (recimo disku)Virtualne adrese procesa ostaju u slijedu , a stranice normalno nisu alocirane u slijedu u pravoj memoriji
Problem translacije adrese, kako pronaci stalnu adresu u memorijiKod stranicenja virtualne adrese identificiraju stranicu i pomak (offset)Uvodimo tabelu stranica ciji zapis sadrži okvir u memoriji gdje je neka stranica smještena
Svaki proces ima svoju tabelu stranicaMapiranje (transformacija) adresa je nevidljiva od strane procesa
U tabeli stranica se osim adrese cesto cuvaju i Bit koji predstavlja informaciju da li je stranici pristupano Bit koji predstavlja informaciju kada se prvi puta piše Bit ako se stranici može pristupiti (informacije su tocne) Bit koji štiti stranicu da se na nju ništa ne zapisuje (read only)....
Velicina stranice (okvira) je uvijek potencija broja 2Tipicne vrijednosti 512-8192 byteva po stranici (win32-4k)
Ako je virtualni adresni prostor 2 a velicina stranice 2 onda m-n viših bitova virtualne adrese predstavljaju broj stranice N nižih bitova predstavljaju pomak (offset) od pocetka stranice
Npr za p=5 i d=33ͻ Gledamo 5 ti index u tabeli stranica i citamo baznu adresu npr 1000ͻ Stvarna fizicka adresa: adresa baze 1000+ adresa pomaka=1033
Kod 32bitnih racunala virtualna adresa se sastoji od 32 bita; Neka je velicina stranice 4kB (4096, 212); To daje 12 bitova za pomak i 20 bitova za broj stranice.; Možemo imati 1MB stranica (220)
Optimalna veličina stranice i tabele stranica
Ako pristupamo adresi X , velika je vjerojatnost da cemo pristupati X+1 adresi Ako adresi X pristupamo u vremenu t , velika je vjerojatnost da cemo ponovno pristupati adresi X u vremenu t+delta, gdje je delta mali vremenski period
Premala velicina stranice Nece pokriti slijedne varijable velika velicina tablice stranica
Prevelika velicina strance Interna fragmentacija memorije
Gdje držati tablicu tabelaU fizickoj memoriji se troši prostor na nju. Uoblicimo je u neku strukturu podataka i držimo u virtualnoj memoriji na disku.
Višerazinsko stranicenje
U fizickoj memoriji se drži umanjena tablica stranica (page directory) koja locira dijelove stvarne tablice stranicaDvorazinska tabela stranica
Virtualna adresa se sastoji od Vanjski indeks (page directory index) Unutarnji indeks (page table index) Offset (byte index)
Za svaki proces page directory index bi se mogao cuvati u registru procesora
Rukovanje pogreškom stranicePokušaj pristupa stranici koja nije ispravna (valid) zove se pogreška stranice (page fault)
Sklopovlje generira iznimku (exception)OS zadužen za upravljanje memorijom preuzima kontrolu (memory manager fault handler)Ako nije moguce riješiti problem generira se iznimka (access violation)
Razlozi za generiranje iznimke:a) Pristupanje stranici koja nije u memoriji vec se nalazi na disku. OS ucitava željenu
stranicu u memorijub) Pristupanje stranici iz korisnickog moda, ako je stranica ogranicena na jezgrin mod.
Access violation iznimkac) Pokušaj pisanja u read-only stranicu , access violationd) Pokušaj pisanja u copy-on-write stranicu. U ovom slucaju OS pravi kopiju stranice u kojoj
proces može dalje raditi
Što se dogada kod pogreške stranice: Predaje se kontrola memory manageru u OS-u (generira se iznimka) Spremi registre i stanja dretve Nadi traženu stranicu na disku Odaberi okvir u fizickoj memoriji gdje ce se stranica ucitati Zapiši okvir koji se trenutno drži u memoriji na disk Ucitaj stranicu sa diska na okvir Modificiraj tabelu stranica us skladu sa promjenama Ubaci stranicu u TLB Vrati stanje registara i procesa Ponovno izvrši naredbu koja je uzrokovala pogrešku
Dva pristupa disku jedno citanje i jedno pisanjeSada je vrijeme promašaja T=25ms. Za Tef=120ns trebao bi postotak promašaja biti jedan u milijun!
Virtualna memorija
Datoteka stranica - Page fileU njega se spremanju modificirane stranice koje procesi koriste ali su morale biti spremljene na diskProširenje glavne memorije
Radni skup stranica – working set Podskup virtualnih stranica koje operacijski sustav drži u memoriji Radni skupovi za svaki proces i sistemski radni skup Za svaki proces se definira minimalna i maksimalna vrijednost radnog skupa U slucaju promašaja OS ucitava stranicu sa diska u radni skup U ovisnosti o kolicini radne memorije, limitu radnog skupa
Stranica se ucitava i radni skup se povecavaZamjenjuje se neka postojeca stranica iz radnog skupa sa novom
Kada OS ustanovi da se smanjila kolicina radne memorije na racunalu cisti radne skupove od stranica na kojima je bilo malo pogodaka.
Strategije dohvacanja stranica
Strategije dohvacanja stranica odreduje kada OS ucitava stranicu sa diska umemoriju
Stranica se ucitava prije nego je proces treba (preefetching) Stranica se ucitava kada je potrebna (demand paging)
Kod demand paging broj pogrešaka kod pokretanja procesa je velik i sa vremenom se smanjujeKod modernih OS-a koristi se demand paging u kombinaciji sa read-ahead tehnologijom koja cita kod pogreške nekoliko stranica unaprijedNije poželjno držati previše stranica u memoriji jer se može dogoditi da kod pogreške nemamo mjesta u memoriji i da moramo pohranjivati sadržaj stranica prije ucitanih.Referentni string
o Struktura podataka koja predstavlja listu stranica koje su referencirane (kojima je pristupano)
o Ako korisnicki program pristupa slijedecem nizu adresa: 123,215,600,1234,76,96 i ako je velicina stranice 100 onda je referentni string: 1,2,6,12,0,0
Algoritmi zamjene stranica u virtualnoj memoriji
FIFO Optimalni LRU (Least Recently Used) Algoritam za zamjenu stranica sa brojacem LFU (Least Frequently Used) Efikasnost algoritma je broj pogrešaka stranice / ukupan broj pristupa Auditorne….
Alociranje stranica - UNIX
Buddy algoritamSvaki zahtjev mora biti potencija broja “2”. Pocinje se od 64 stranice
Zahtjev se smanjuje dijeljenjem sa 2 dok se ne dobije iznos koji se dodjeljuje procesuVelika je vjerojatnost da kod slijedeceg zahtjeva lako dodijelimo “tocan” novi iznos memorijeSlaba vjerojatnost pojave fragmentacije
Odbacivanje stranica kod virtualne memorije – PFRA algoritam - UNIX
Kružni algoritam izbacivanja Prvim dohvatom stranica je referencirana drugim dohvatom stranica postaje aktivna (od neaktivne) Svakim prolaskom pokazivaca stranici se skida:
Prvo bit referenceZatim bit aktivnosti
PFRA – page frame reclaiming algorithm
četiri tipa stranica:
1. UnreclaimableRezervirane, zakljucane straniceNajcešce od kernelaNe mogu biti izbacene
2. Swappable Moraju biti zapisane u swap prije nego budu izbacene
3. SyncableMoraju biti zapisane na disk prije odbacivanja
4. DiscardableMogu se izbaciti bez zapisivanja – nad ovima se vrti PFRA
Podizanjem linuxa podiže se kswapd (daemon) cija uloga je da svako odredeno vrijeme se izvrši i provjeri broj slobodnih stranica. Ako ih nema dovoljno pokrece PFRA i oslobada uvijek odredeni brojstranica tako da ukupan broj slobodnih uvijek bude XX (ovisno o konfiguraciji kernela , najcešce 32).
Radi olakšanja rada PFRA algoritma i punjenja discardable stranica postoji još jedan daemon pdflush koji se budi svakih YY vremena (default 500msec) i čija je uloga da pronade stranice koje nisu dugo korištene, a tipa su swappable i syncable te ih zapisuje na disk i pretvara u dip discardable
DISK
Svrha diska Kao pomocni i dopunski spremnici koji pri izvodenju programa nadopunjuju memorijski
prostor racunala Kao skladište za trajno cuvanje svih vrsta datoteka
Svaki disk sastoji se od: Elektromehanicke komponente koju sacinjavaju jedna ili više okruglih ploca presvucenih
magnetskim materijalom koje se vrte konstantnom brzinom s mehanizmom magnetskih glava koje se mogu pomicati približno radijalno iznad ploca.
Upravljackog sklopa, spremnika, sucelja prema elektromehanickom dijelu i sucelja prema sabirnici racunala
Građa diskaSve ploce su ucvršcene na istu osovinu i vrte se brzinom omega. Glave se mogu precizno postaviti na pojedinu plocu i kretati se duž radiju ploce.Staze jednakih polumjera leže na zamišljenom plaštu valjka i zovemo ih cilindrima (cylinder)Staza je podijeljena na jednake dijelove (kružne lukove) koje nazivamo sektorima (sector)Na disku se ne adresiraju pojedinacni bitovi vec blokovi podataka (clusteri)
Vremenska svojstva diska
Osnovna mjera za usporedivanje diskova je: Prosjecno vrijeme dohvata sektora na disku
Odredena pretežito elektromehanickim komponentama Vrijeme dohvata sektora: Vrijeme postavljanja glave (head positioning time)
Trajanje traženja staze (seek time)Uzima se vrijeme koje potrebno za prijelaz trecine ukupnog broja staza (glava u prvom dijelu ubrzava)
Rotacijsko kašnjenje (rotational latency)Vrijeme prolaska glave kroz polovicu staze (prosjecno vrijeme)
Trajanje prijenosa podataka (data transfer time)Broj sektora na stazi x broj batova / trajanje jednog okretaja
Organizacija rada diska
Svaki disk ima red zadaca koje cekaju na pristup diskuZadace mogu biti pisanje ili citanje sa diskaSvaka zadaca sadrži informacije:
I. Pokazivac na memorijski lokaciju sa koje se cita/na koju se pišeII. Broj sektora na disku kojem se pristupa
III. Pokazivac na slijedecu zadacu
Broj procitanih/upisanih podataka je obicno fiksan (blok)
Možemo pretpostaviti da se disku pristupa preko broja sektora (iz toga podatka možemo izvuci broj sektora, glave, cilindra na disku). Što operacijski sustav može uciniti da ubrza ukupno vrijemecitanja/pisanja. Treba napomenuti da je prosjecno vrijeme pristupa disku oko 9ms
Referentni string - struktura podataka koja predstavlja listu brojeva sektora kojima razlicite zadace pristupaju.Seek distance - ukupna udaljenost izmedu sektora pojedinih zadaca iz referentnog stringa; direktno proporcionalan vremenu pristupa
Algoritmi rasporedivanje poslova diska
FCFS SSTF SCAN (dizalo) C-SCAN (jednosmjerno dizalo)
Alokacija diskaKao i kod memorije moramo pratiti koji si blokovi na disku slobodniProstor na disku se alocira u sektori,a lista slobodnih blokova se pohranjuje na diskCluster- logicki sektor,skupine sektora (1k, 16k..)Kada bi cluster odgovarao stranici memorije bio bi jednostavni transfer podataka u meduspremnikProblem: interna fragmentacija, minimalna velicina datoteke mora biti velicina clusteraRadi nepredvidivosti gdje se nalazi slobodan blok potrebna je informacija za svaki pojedini clusterBit vektor – 0010010000000111 – slobodni blokovi 2,5,13,14 i 15
Znacajno ubrzava procjenu popunjenosti diskaProcesori podržavaju operacije sa bitovimaZgodno da se bit vektor nalazi cijelo vrijeme u memoriji!mora se ga cesto zapisivati na disk, radi oporavka u slucaju resetiranja
Formatiranje diska Fizicko formatiranje
Kreiranje sektora i traka na magnetskom mediju. Obavlja se obicno u tvornici. Svaki sektor sastoji se od zaglavlja i posebnog dijela na kraju koji sadrži dodatne informacije o svakom sektoru (broj sektora i korekcijski kod).
Logicko formatiranje je drugi korak pri formatiranju sustava.Kreira se datotecni sustav. Neki operacijski sustavi imaju mogucnost da tretiraju disk kao slijedni niz blokova (velike baze podataka, raw pristup)
Loši blokovi na disku Defekti magnetskih medija Prilikom formatiranja oznacavali su se u zasebnoj strukturi Cilj je da to radi kontroler i da se uvedu rezervni blokovi (SCSI)
Alokacija diska Povezana listaSvaki slobodni blok cuva pokazivac na slijedeci. Da bi uzeli slobodan blok uzimamo prvi iz liste. Degradacija performansi ako moramo slijediti blokove radi zauzimanja veceg prostora na disku
Alokacija prostora za datoteku Vecina datoteka se velicinom mijenja u vremenu. Za datoteke kojima se pristupa sekvencijalno trebalo bi alocirati sekvencijalni prostor. Za datoteke kojima se pristupa slucajno (baze podataka)trebalo bi takoder osigurati pristojne performanse. Datoteke se stalno stvaraju i uništavaju – ekstremna fragmentacija diska. Pristup diskovima je jako spor (zgodno je uranjeno citanjeblokova u meduprostor ili stalni pogodci meduprostora).
Uzastopna alokacijaNajidealnija metoda - Datoteka kada se stvara odreduje joj se maksimalna velicina i za nju se predvida taj prostor u slijedu. Dolazi do ektremne fragmentacije diskaKako znamo koliko ce datoteka biti velika?Što napraviti ako datoteka premaši svoju maksimalnu vrijednost? Koliko vremena troši preslagivanje diska? Da li korisniku reci da nema prostora ako se sve cuva za podatke koji ce se možda u buducnosti pojaviti. Ipak radi vrlo dobrih performansi ova metoda se cesto primjenjuje
Povezana alokacijaSvaki blok koji je dodijeljen datoteci sadrži pokazivac na slijedeci blok u nizuDatoteka može lako rasti i nema ekstremne fragmentacijeSlijedni pristup više nije onoliko brzi kao kod uzastopne alokacijeKod slucajnog pristupa imamo loše performanse jer imamo puno skakanja po diskuNedostatak je neotpornost na pogreške i nepouzdanost, gubitak jednog pokazivaca uništava datoteku i nema mogucnosti njegova pronalaska
File allocation table (FAT)Dio diska rezerviran je za tablicu FATFAT je ekstenzija povezane alokacije samo što pokazivaci nisu na kraju bloka vec u FAT tabliciTablica se može lako pretraživati cime se ubrzava slucajni pristup
Svi blokovi na disku moraju biti ukljuceni u FAT tablicu
Kolika je velicina FAT tabele ako je velicina clustera 4KB i velicina diska 16GB. Broj polja u tabeli je oko 4 milijuna i ako uzmemo da je velicina svakog polja 4byte, cijela FAT tablica je 16MB. U FAT tablici oznacimo da li je blok slobodan ili nije.
Nedostaci FAT-aDa bi smanjili velicinu tablica, povecana je velicina clustera, dovodi do znacajne interne fragmentacijeOgranicena velicina datoteka 2GB. Kako se FAT prenosi u memoriju, problem sa oporavkom sustava u slucaju pada OS-a (nestanak struje). Nema zaštite od neovlaštenog pristupa pojedinim datoteka,a (svi podaci su zapisani u FAT tablicu)
Indeksirana alokacijaInformacije o blokovima u zasebnoj datoteciTa datoteka se zove index node (inode) i sadrži pokazivac na blokove koje trenutno posjedujeVelicina datoteka odredena brojem poljem inode-aVelicina inodea 40byte-a , najviše 10 pokazivaca, maksimalna velicina datoteke 10kBZa velike datoteke velike inode, za male gubitak prostora zato se koristi višestrukaindeksacijaUNIX- velicina inode 128byte
Prvi dio inode spremanje informacija o datoteci (meta data)Ostatak 13 pokazivaca
10 direknih pokazivaca na blokove datoteke1 indirektni pokazivac na blok koji sadrži samo pokazivace na blokove1 dvostruko indirektni pokazivac-pokazuje na blokove koji sadrže indirektne pokazivace1 trostuko indirektni pokazivac –pokazuje na blokove koji sadrže dvostruko indirektne pokazivace
Kod UNIX-a velicina bloka 10kB; Za male datoteke 10 blokovaKolika je maksimalna datoteka koja se može alocirati ako u jedan blok može stati 256 pokazivaca 1024/410 (direktni)+256 (indirektni)+256*256 (2 indirektni) + 256*256*256 (3 indirektni) =16GBDatoteka inode se cuva na fiksknoj lokaciji diska i nije vidljiva korisniku
NTFS (NT File system)Particioniranje riješeno u oba smjera
Jedan logicki disk može biti sastavljen od više fizickih diskova Jedan fizicki disk može biti rastavljen na više logickih diskova
Maksimalna velicina logickog diska je 224byteVelicina clustera varira 512,1k,24 ili 4kLCN –logical cluster number – od 0 do broj clustera -1VCN – virtual cluster number – clusteri datotekeMapiranje podataka MFT – mater file tableDatoteka riješena kao skup atributa (objektni pristup)
Svaki atribut nezavisan niz byte-ovanad kojim se mogu vršiti operacije pisanja, citanja... Atributi su ime datoteke, vrijeme stvaranja, sigurnosni podaci i neimenovani atribut
(unnamed) sadržaj (podaci)
Na najvišem nivou NTFS se može promatrati kao lista datoteka prikazana pomocu zapisa datoteke. Velicina zapisa je minimalno velicina clustera.Lista (tablica) se naziva MFT –master file table i u stvarnosti je to isto datoteka na odredenom mjestu
Ako ne stane atribut u MFT zapisuje se u slijedece sektore iza MFT-a koji se nazivaju run ili extend. Takvi atributi se nazivaju nerezidentni atributi.
Specificnosti file systema – UNIX linkSadržaj odredenog direktorija povezuje se na drugi direktorijTo nije shortcut !
brisanjem originala shorttcut ostaje i pokazuje na nigdjeBrisanje originala linka nestaje i linkPoveznica je cvršca i može se koristiti u svim programima (“nije samo brzi pristup ikona”)
UNIX mountNe postoje diskovi vec se naredbom mount uredaj spaja u osnovni filesystem /Uredaju se pristupa ulaskom u direktorijTj kao da na windowsima u c:\ imamo direktorij b i ulaskom u taj direktorij pristupamo sadržaju dvd-a (ne postoji d:\!)
UNIX lockDva tipa
Shared – drugi proces može citati, ali ne pisati Exclusive lock – pristup i pisanju i citanju zabranjen
Lock je moguce na block ili pojedini byte
UNIX nazivlje Cetiri tipa objekata
I. Superblock – struktura file systemaII. Dentry – unos direktorija, jedna komponenta staze
III. i-node – unos datoteke (r-node kod Network File Sytem)IV. File – otvorena datoteka od strane nekog procesa
Ext3 i nadalje podržavaju tehnologiju journal Vodenje dnevnika izmjena koji osigurava obnovu u slucaju razrušenja
Postoji još jedan specifican /proc filesystemSadrži podatke o svim procesimaSadrži podatke o stanju operacijskog sustava
Svi mogu vidjeti te podatke koji se dinamicki mijenjaju i nastaju podizanjem operacijskog sustava
UNIX securitySvaki objekt ima
Vlasnika (UID – jedinstveni identifikator) Grupu kojoj pripada (GID –jedinstveni identifikator) UID 0 = root (superuser)
Tri tipa dozvola za svaki objektI. Dozvole vlasniku datoteke (r-read, w-write i x-execute)
II. Dozvole svim clanovima grupe (r-read, w-write i x-execute)III. Dozvole svim ostalima (r-read, w-write i x-execute)
Iznimno za neke procese moguce je postaviti SETUID ili SETGID bit:Kada se proces izvrši od strane korisnika poprima dozvole koje je za njega predvidio vlasnik (izvršava se kao da ga je pokrenuo vlasnik, a ne korisnik). Taj biti može postaviti samo vlasnik
Zalihost
Postoji ce broj ostvarivanja zalihost u datotecnim sustavima
Polje diskova sa ugradenom zalihošcu RAID – Redundand Array of Independend Disks RAID – Redundand Array of Inexpensive Disks
Osnovna RAID polja RAID-0 do RAID-6Postoje kombinacije polja
RAID controller
specijalizirani uredaji koji izvode RAID polje na SATA, SCSI i ATA uredajimaATA ogranicena brojem diskova (2 po kanalu), SCSI 7 po kanaluskupo zbog komplicirane implementacijeuvijek specificni upravljacki uredajimemorija za cache 4MB-256MB velike brzinesa ukljucenom baterijom kako bi podatci bili stvarno snimljeniOdlike:
broj kanala brzina kanala kolicina memorija baterijska sigurnosna kopija sabirnica (PCI) širina sabirnice (16,32,64)
Programski vs. sklopovski RAID (pa čak i tigraste komarce)zbog skupog sklopovlja implementira se i programskiprogramski podržani najcešce RAID 0,1 i 5nedostatak programski nepotrebno zauzece procesoraSustav ne može biti podignut sa RAID-5 polja jer ne može odmah poceti citati sa paritetomPrednosti programski može biti ostvaren nad particijama, a ne nužno nad cijelim diskomTri 10GB particije mogu ciniti RAID 10GBkoliko je takva redundancija isplativa ???i na kraju koliko RAID cuva disk ako OS nešto krivo zapiše i uništi podatke na svimdiskovima....
Multimedija
Multimedija podrazumijeva medije: DVD (Digital Versatile Disk)
120-mm policarbonatski diskKapacitet 5GB-17GB ovisno o formatu
Nasljednici DVD-ablueRay25GB – 50GBHD DVD_ 15GB-30GB
Multimedia over Internet ADSL ili Cable TV
I još je toga ostalo: Distribucija zemaljskih i satelitskih programa Video-on-demand
Video se šalje prema zahtjevuVeliko opterecenje mreže
Potreba za video serverom koji distribuira streamingPotreba za set-top box kod klijenta za prihvacanje distribuiranog streaminga
Osnovne karakteristike multimedije Zahtjeva se real-time produciranje sadržaja Radi kvalitete slike zahtjev za izuzetno velikim prijenosom podataka
Potrebna je mogucnost pohrane i prijenosa!Rješenje ogranicenja prijenosa je kompresija
Nedostatak tog rješenja je potreba za sklopovljem za kompresiju i dekompresiju
Zahtjevi za opterecenjem mrežeJitter – promjene brzine dostavljanja podataka (prerano ili prekasno) 100-200 msec varijacija uzrokuje zastajkivanje slike ili prekid zvuka (Charlie Chaplin film)Quality of service (QoS) u mreži rješava probleme vezane uz mogucu pojavu jittera-a
Prosjecni bandwidth – 4Mbps Min i max kašnjenje – 105-110msec Vjerojatnost gubitka podatka - 10-10 Dovoljno za MPEG-2
Rezervacija resursa za pojedinog korisnika !
Multimedijske datotekeSastoje se od više razlicitih tipova datoteka integriranih ili razdvojenih, ali moraju raditi kao cjelina
Encoding Analogni signal slike
Svaki pokret da bi bio vidljiv kao cjelina mora se sastojati od 50slicica/sec Svaku slicicu nazivamo frame (okvir). Minimalno enkodiranje da bi pokret bio vidljiv zahtjeva 25 slicica u sekundi gdje se cita svaki drugi red u jednom prolazu – interlacing, suprotno je progressiveSvaka boja se kodira zasebno (R – red, G-green, B-blue). Kombinacija signala sve tri boje se naziva composite signal. Radi kompatibilnosti iz RGB signala se lako konstruira Luminance i chrominance signal
Digitalni signal slikeSvaki element slike se naziva pixel. Definira se rezolucija koja kaže koliko pixela ima pojedini frame 8 bita po boji u pixelu daje 224 kombinacija= 16 miliona boja. Da bi se producirao kontinuirani pokretno potrebno je minimalno 25 frame/secKako monitori uglavnom osvježavaju na 75Hz interlacing nije potreban
Dva pojma jerky i flickeri. Ako je usporen pokret pri 20 frame/sec slika ce treperiti (flicker)
ii. Ako je ubrzan pokret pri 20 frame/sec pri velikoj brzini osvježavanja slika ce trzati (jerky)Eventualna dodatna kompresija može biti MPEG
Kompresija MPEGMPEG (Motion Picture Expert Group)
MPEG-2DVD standard (720x480 NTSC)
DV standardPojednostavljenje MPEG-2 algoritma
Ideja je koristiti JPEG kompresiju i definirati tri tipa frame-a:I – Intracoded – JPEG slikeP – Predictive – Promjena bloka slike u odnosu na prethodnu slikuB – bidirectional - Promjena bloka slike u odnosu na prethodnu sliku ili slijedecu sliku !
Filmovi sa brzom akcijom zahtijevaju I frame.Filmovi sa sporim promjenama koriste P i B frame (Što je recimo sa nogometnom utakmicom )
Audio signalSmislen frekvencijski okvir za pretvprbu je 20-20000Hz. Potreban analogno-digitalni pretvarac (ADC). Analogni signal se uzorkuje (sempling) u odredenim vremenskim momentima (druga slika)Uzorkovani signal se kvantizira na najslicniju vrijednost (treca slika). Zbog odredenog broja kvantizacijskih nivoa uvodimo pojam kvanzizacijskih smetnji (quantization noise).
Frekvencija uzorkovanja signala i broj bitova po uzorku odreduju kvalitetu zvuka16 bit sample – CD quality44100 sample/sec – CD quality
Eventualna dodatna kompresija može biti mp3 kao najcešci standard
Multimedijski operacijski sustavRazlike:
Dodjela CPU vremena procesimaDatotecni sustavDodjela vremena diska
Homogeni video procesi Video server sadrži filmove
Isti broj frame/secRezolucijaData rate…
Svaki proces je jedna dretvaSvaka dretva cita diskI poslužuje film korisnikuSve dretve imaju isti prioritet i izmjenjuju se nasumce (round robin)
Može se osigurati sat koji pokrece procese (dretve) u jednakim vremenskim intervalima ovisno o trajanju frame-a (NTSC – 20 puta u sekundi ili PAL – 25 puta u sekundi)Funkcionira dok broj dretvi nece zbog prevelikog posla ne obaviti posao dok dode slijedece pokretanje.
Nehomogeni video procesiPraksa kaže da je homogeni sustav rijedak
Mijenja se broj korisnika Mijenja se video kompresija okvira (P i B – okviri) Mijenja se rezolucija pojedinog filma
Posljedica Razlicit broj procesa Svaki na svojoj frekvenciji Svaki sa svojom kolicinom posla Svaki sa svojim rokom do kojega mora završiti posao Pazite uz cekanje na CPU cekamo i na disk operacije!
Algoritam za sinkronizacija takvoga sustava nazivamo Real-time scheduling.
Algoritmi_ RMS_ EDF_ Auditorne…
Paradigme datotecnog sustavaTradicionalni i/o poziv_ Proces zahtjeva open system poziv_ Dobiva se opisnik sustava (file descriptor)_ Koristeci file desctiprot ucitavaju se podaci, poziva se funkcija read sa pokazivacem na meduspremnik_ Podaci se ucitavaju u meduspremnik_ Po završetku close poziv zatvara meduspremnik
Što ovdje ne valja za multimediju?Real – time pristup!Dohvat podataka bez trzanja videa…. Stalan stream
Multimedia datotecni poslužiteljPrincip rada VCR-a (video cassette recorders):Poziva se start system callSustav pocinje slati okvire u nekom vremenkom slijedu do trenutka dok klijent ne pošalje stopPristup se naziva push server, za razliku od tradicionalnog i/o koji se naziva pull server
VCR funkcijePitanje pauziranja:_ Koliko se ceka korisnik prije nego se oslobode resursi za njega
Pitanje premotavanja_ Na pocetaka : frame=0_ Unaprijed i unazad
Ako nema kompresije k brzina : prikazuj svaki k frameAko je kompresija
Gdje je audio s obzirom da ima svoju kompresijuKod MPEG-a ako je B ili P frame kako doci do prethodnog ili slijedeceg odnosno potrebnih prethodnih i slijedecih.Rješenje1: opteretiti mrežu i poslati video k puta brže !Rješenje2: imati zasebnu datoteku koja pokazuje na svaki kti frame za MPEG-2 i kod citanja obratiti pažnju da treba prikazati samo prvi slijedeci I-frame.
Near Video on demandDa bi se uštedjeli resursi streaming pocinje svakih pet minutaKlijentu nije problem cekati u najgorem slucaju 4 minute za pocetak filma.Ovako se ogranicava moguci broj streaminga na poslužiteljuNisu moguce VCR funkcijeUsporedba je da je NVoD bus, a VoD taxi buduci da taxi dode kada ga se pozove i samo je za Vas, dok bus ide na odredeno vrijeme i ne možete upravljati njegovim putem
Near Video on Demand sa VCR funkcijamaDefinira se play point
Kako se video pokrece svakih x minuta korisnik uvijek može uloviti najbliži video streamDa se omoguci brzo lokalno premotavanje korisniku dio streama izmedu dva postojeca moguce je držati u meduspremniku samo za toga korisnika
Datoteke Kontinuirano snimanje na jedan diskNekontinuirano snimanje u malim blokovima ili u velikim blokovima (više okvira u jednom bloku)
CashingUvelike ubrzava ako imamo dva ista streama i radimo jednu disko operacijuHvatanje streamaKako bi bilo što više istih streamova u sustavu dozvoljeno je usporavanje i ubrzavanje streaminga do 5%Omogucava ubacivanje reklama (gledanje filma po nižoj cijeni) i zatim lovljenje najbližeg streaminga radi ponovnog ukljucenja u film.
Disc scheduling Staticki
_ Vrijedi samo kod istih filmova (frame rate, rezolucija..)
Dinamicki_ Kod razlicitih obilježja pojedinog filma_ Dva parametra se koriste
Deadline – kada treba podatakaCilindar – koji bi slijedeci trebao ici da se kazaljka diska manje šece
_ Scan-EDF algotitam (Reddy and Wyllie 1994)Grupiraju se deadlineIzvršavaju se po redu najbližeg cilindra
SIGURNOST
Prijetnje i ciljeviPrijetnja: vidljivost podataka
Cilj: Tajnost podatakaPrijetnja: promjena podataka
Cilj: Integritet podatakaPrijetnja: Denial of service
Cilj: Visoka dostupnost sustavaPrijetnja: System pun virusa
Cilj: izolacija vanjske mreže
Trece osobe
Cetiri najcešce kategorije Slucajan upad od strane informaticki slabo obrazovanih ljudi
Korištenjem gotovih alata cesto iz znatiželje
Istraživanje od strane zaposlenikaIstraživanje iznutra: studenti, zaposlenici, ulazu svoje radno vrijeme, cesto iz želje za osvetom ili radi dokazivanja
Postupci provale zbog ostvarenja financijske koristi “Plati ili cu ti uništiti bazu”
Komercijalna ili vojna špijunaža Dolazak do bitnih podataka radi ostvarivanja prednosti na nekom Tržištu
Gubici podatakaRazlozi:
Slucajnost (act of God): vatra, poplava, potresi… Sklopovske ili programske greške: CPU, disc, mreža Ljudske pogreške: krivi unos, izgubljeni backup…
Zaštita podatakaKripotografijom:
Jednostavan pregledSimetricni algoritmiAsimetricni algoritmi (privatni i javni kljuc)Jednosmjerne funkcije (hash)
Čine osnovuDigitalni potpisDigitalna omotnicaDigitalni pecat
Što štititi?Sklopovlje
CPU, memorijske segmente, disk, printer…Programe
Procesi, datoteke, baze, semafore….Svaki objekt koji se štiti ima jedinstveno ime i akcije koje može izvršitiDomena je set podataka. Svaki podatak sastoji se od objekta i pravila (akcije)Objekti ulaze u domene sa ciljem da svaka domena ima minimum objekata i privilegija
UNIX princip domena_ Svaki korisnik kada se spoji dobiva UID i GID_ Dva procesa pokrenuta pod istim UID-om i GID-om imaju jednak pristup svim resursima_ Kod sistemskog poziva proces ulazi u kernel mod u kojem mijenja domenu , prema tome mu se omogucuje pristup dodatnom setu resursa_ SETGID SETUID bit omogucuju procesu da promjeni GID i UID u trenutku pokretanja (windows: run as a administrator). Time dobiva povlaštene resurse._ Kako s time radi OS?. Odgovor je protection matrix
UNIX princip domena_ Što ako želimo omoguciti promjenu domena procesu?_ Dodajemo u matricu i domene
Enter oznacava da se domena može promijeniti
U praksiSpremanje ovakve matrice bi zauzelo previše nepotrebnog prostoraKoristiti access control list (ACL)
Tri procesa A, B i CSvaki u vlasništvu svog korisnika A,B i C
Tri datoteke F1, F2 i F3
Svaka datoteka definira pristupne mogucnosti za svakog korisnika: R read W write X executeDodatno se definiraju i mogucnosti koje korisnik može primijeniti nad datotekom
CopyRemoveDestroy…
Sigurnost
Da li je moguce izgraditi sigurni racunalni sustav?_ DA
Ako je zašto ga ne napravimo?Sustavi koji su sigurni: Znacajno ogranicavaju korisnika Za proizvodaca nisu ekonomski isplativi ( da li kupiti nadogradnju ako imate koristan i
siguran OS)
PrimjerE-mail se prije slao kao ASCII tekst i bio je siguranDanas kada se šalju prilozi, ili kao html postao je nesiguranDa li ste voljni toga se odreci?
Web stranicePrije su bile pasivne (statican html)Da li ste voljni se vratiti unazad?
Sustavi od povjerenjaBolja definicija od sigurnih sustavaTakav sustav graden je od minimalnog TCB elementa (Trusted computer base) Detalji grade takvog sustava:minimun koda u jezgri vecina kao korisnicki procesiMinimalna velicina TCB elementa
Zašto bi printer bio u TCB elementu?Zašto je datotecni sustav u TCB elementu!
Važan dio sustava je monitor (nadzornik sustava)Sve sigurnosne odluke se nalaze u njemu i on odlucuje jedini
Autentifikacija i identifikacija
Identifikacija_ Element kojim se jedinstveno opisuje user_ Poznat svima , npr username
Autentifikacija_ Potvrda da je to stvarno ta osoba_ Nešto što samo korisnik zna (lozinku)_ Nešto što samo korisnik posjeduje (token)_ Nešto što korisnik je (otisak prsta)
Napadi iznutra
Logicka bombaKod koji je ciljno napisan i dio produkcijskog koda kao zaštita programera. Aktivira se odmah
Svaki dan/tjedan osoba popice detonaciju Izvršavanjem nekog drugog koda. Upisivanjem lozinke…
U slucaju otkaza Logicka bomba se aktivira Briše datoteke Enkriptira znacajne podatke Sakriva svoje tragove (self destroy)
Trap door (trojanski konj)Dio koda namjerno ostavljen da bi se kasnije osigurao zašticen ulaz
Login spoofingIzrada ekrana koji je identican ekranu od pravog korisnickog suceljaPo unosu lozinke onda se bilježi i poziva se valjan programSkupljene lozinke se mogu kasnije upotrijebiti za odmazdu buduci da kod otkaza poslodavac nije svjestan svih lozinki koje korisnik posjeduje.
ExploitPrimjer iskorištenja ranjivostiPokrenuti automatski port scan program koji ima podignut recimo servis telnetPokušavati se logirati sa guest korisnickim racunomAko se uspješno spoji pokrenuti program koji izaziva bug
Kada se dobite SETUID pristup pokrenuti zombie program koji jeuvijek na raspolaganju Ako nije uspjelo spajanje pogledati verziju programa koji server koristi (najcešce piše) i pretražiti google za exploitom za telnet
Upotrijebiti exploit za spajanje na serverKada se dobite SETUID pristup pokrenuti zombie program koji je uvijek na raspolaganju
Buffer overflow an integer overflowchar B[1024]; - unos imena datotekeB[12000]=0 – unos korisničkog imena i lozinke ... ...Memorija na nekoj lokaciji ce biti promijenjena?!
Što ako varijabla B sadrži kod neke naredbeIli odmah iznada varijable B se nalazi kod? Prepraviti kod da napravi jump na novu adresu. Nova adresa može pokrenuti system call koji izmjenicrontab i pokrene neki servis koji do sada nije pokrenut sadefault postavkama. Ili ako je velika rupa i ubaciti svoj kod
Format string attackFeature %nint i=0;printf(“Hello %nworld\n”,&i); // koliko slova do kraja ima zapisujeu varijablu iprintf(“i=%d”,i) // i=6Što ako program omogucava da se nešto ucita i zatim to ispisujeŠto ako unesemo %n !Kod ispisivanja %n se nece ispisati vec ce prepisati varijablu iza!
Return to libc attack
Varanje library funkcije sa ciljem da prepiše u data dio skriptu napadaca (shellcode)Ako je program pod SETUID privilegijama kod ce se izvršiti pogubno za operacijski sustav
Code injection attackKod jednostavne CD naredbe pozvan: cp abc xyz; mail [email protected] </etc/passwd
Privilege escalation attackCron je scheduler na unix sustavima
Postoji direktorij cron.daily , cron.hourly… u koji idu skripte za svakodnevno, svaki sat … izvršavanje
Do kernela 2.6.13Napadac postavi cron direktorij kao defaultNe može pisati u njega ali može uzrokovati da program padneU tom slucaj system zapisuje core dump u taj direktorij (sliku memorijskih adresa u trenutku pada programa)Napadac može naštimati da core dump (slika memorije) bude kod koji ce cron izvršiti!
Maligna programska podrškaMalware - malicious software - za zarazu i oštecivanje racunalnog sustava bezobavijesti korisniku._ virusi_ crvi (worm)_ trojanski konj (trojan horse)_ spyware_ adwarepravni izraz u US: computer contaminant; nastali su kao psine koje otežavaju rad kolegama; sa povecavanjem brzine interneta povecao se i njihov brojzarada na antivirus programima, teorija zavjere: tko piše viruse?; zarada na raznim alatima za obranu od svega osim virusa: Lavasoft ad aware, Spybot, Registry cleaner...; svaki pomalo cisti najbolje sam
Virus boot sector virusi - prvi virusi (Amiga, Atari..) Link virusi (poceli na PC, napadaju izvršne datoteke) Multiparitet (Hybrid) virus - kombinacija boot i datoteke virusa Macro virusi - napadaju word/excell, neovisni o platformi, nastali 1995->melissa Mrežni virusi - napadaju dijeljene prostore, šire se LAN-om, -> Nimda,SQLSlammer Logic Bomb - širi se , ali se aktivira uz odredeni uvjet, recimo vrijeme->da vinci Cross-site-scripting virus - napada web aplikacije i internet preglednike Non resident virusi – ne nalaze se stalno u memoriji nego se izvršavaju kad se pokrene
neka izvršna datoteka koju su inficirali. Traže datoteke specificnog imena ili ekstenzije i zaražuju ih.
Resident virus – ostaju aktivni u memoriji nakon što ih se prvi puta pokrene
Virus zavaravanje sustava cavity virus (piše u šuplji datoteke) povrat originalnog datuma ne inficira sumnjivi kod (anti-virus) blokira sistemske pozive (safe-mode) modificiranje koda na svakoj infekciji modifikacija na jednostavni nacin enkcripcija sa kljucem polymorphic code, enkripcija sa slucajnim kljucem, mijenja algoritam za dekripciju
metamorphic - ponovno se napiše svaki puta
Crv (worm)koristi racunala za širenje; ne ostaje na racunalu sa kojega se širitipovi:_ e-mail - u prilogu ili link na vanjsku stranicu ->Ana Kournikova_ Instant messaging - kroz poruke, rijedak_ IRC - putem boota ili rucno slanje linkova ili datoteka na IRC_ File sharing - p2p_ Internet - gada TCP/IP protokol -> blaster koristi MS RPC_ security patch_ ne otvarati sumljive poruke --> ILOVEYOU <3 <3
Trojanski konj (Trojan horse)prema Grckoj legendi o Trojiširenje kroz dva nacina
izmjene na valjanoj programskoj podršci (p2p alatima) razne igre, screensaver...
Ne širi se samostalno vec ovisi o socijalnom inženjeringuPrimjeri: Remote access, Email sending, Data Destructive, Proxy Trojan, FTP trojan, Securitydisable, DoS, URL trojan
Mjere zaštite:ne otvarajte nepoznate poruke narocito one sa prilozimaonemogucite e-mail klijentu da automatski otvara prilogeizbjegavajte p2p alate , narocito exe datoteke koje skinete
Metode zaraze: website, e-mail ili otvoreni portMaskiranje: svchost32.exe, svhost.exe, back.exeSvaki se uklanja na svoj nacin
Spywareskuplja informacije o korisniku racunalanajcešce kao toolbar, usluga o vremenskoj prognozi, search tool...
Dostupne informacije:_ Pritisci tipkovnice (lozinke i korisnicka imena)_ posjete stranicama_ dokumenti na disku_ slanje dokumenata na disku na mrežu ?_ web forma --> kreditne kartice!
Cesto ga i svjesno prihvacate_ Primjeri: CoolWebSearch - povezan sa trojanom slao gomile informacija na webInternet optimizer, 180 solutions (Zango), HuntBars, Movieland...
dvije metode legalnostiprihvatite ga (licencni ugovor) da može pristupati svim vašim podatcimada dodete do koristi firma je registrirana gdje je to legalno
Adware - advertising-supported softwareautomatski prikazuje , pušta i skida reklamne materijale
osigurava korektnu cijenu programske podrške i nadoknadu programeru za besplatne alatecesto su maskirani sa besplatnim igrica, screensaver-ima..Primjeri: bonzibuddy, PornDigger, WhenU, Smiley Central...
Cišcenje adawere i spayware Ad awere (Lavasoft) CounterSpy Spybot search and destroy Spy substract Spy sweeper Spyware doctor AVG anti spyware
ali? što je sa pitaj google rješenjem?postoje i programi koji naizgled ciste sustav, a u biti su spyware:zajednicko ime: rogue software error safe; Pest trap; SpyAxe; Antivirus Gold; Spyware strike; World Antispy; Spy Sheriff; Spy Wiper; PAL spyware Remover; Psguard; WinAntiVirusPro 2006; WinFixer; ....ima ih više!
Korisni programi koji ukljucuju spyware: BearShare; Bonzi buddy; DopeWars; ErrorGuard; Grokster; Kazaa; Morpheus; RedLight; WeatherBug; Edonkey 2000; Sony extended copy protection Prije: AOL instant messenger DivX LimeWire FlashGet
Anti virus alati Pristup pronalaženja virusa što sa virusom:
pokušaj popravka karantena brisanje datoteke
rjecnik virusasumnjivo ponašanje - korisnik izabire što ceheuristicka analiza
_ presrece izvršavanje_ ako program modificira svoj kod tada je virus
sandbox - simulira se OS - performanseWhitelist (narocito adware)