Paralelni sistemi

## Multiprocesorski sistemi 
Kada govorimo o računalnim sistemima, najčešće mislimo na jednoprocesorske sisteme, odnosno sisteme s jednim CPU-om. Međutim, postoji trend razvoja sistema s više procesora ili multiprocesorskih sistema. Ovi sistemi imaju više procesora koji blisko komuniciraju, dijeleći sabirnicu, sat, a ponekad i memoriju te periferne uređaje. Također se često nazivaju *tightly coupled* sistemima, što bi se moglo prevesti kao *čvrsto povezani sistemi*. Osnovni razlog razvoja multiprocesorskih sistema jest povećanje brzine rješavanja korisničkih problema, odnosno omogućavanje obavljanja više zadataka u kraćem vremenskom periodu.

U odnosu na više jednoprocesorskih sistema, jedan višeprocesorski sistem ima značajnu prednost i u uštedi troškova, s obzirom na to da procesori dijele iste resurse. Na primjer, isplativije je da se određeni podaci nalaze na jednom hard disku, s kojim radi više procesora, nego da postoji više računara, svaki sa svojim diskom i više kopija istih podataka. Još jedan razlog za razvoj višeprocesorskih sistema jest povećanje pouzdanosti sistema. Ako jedan procesor prestane s radom, to ne znači da će cijeli sistem stati, već će se samo usporiti, jer će se zadaci nastaviti izvršavati na preostalim procesorima.

## Simetrično i asimetrično multiprocesiranje 
Danas višeprocesorski sistemi najčešće koriste simetrično multiprocesiranje (SMP), pri čemu svaki procesor pokreće identičnu kopiju operativnog sistema te komuniciraju međusobno kada je to potrebno.

Neki sistemi, pak, koriste asimetrično multiprocesiranje (AMP), pri kojem se svakom procesoru dodjeljuje određeni specifičan zadatak. Glavni procesor kontrolira sistem, dok ostali procesori primaju instrukcije od njega i izvršavaju dodijeljene zadatke. Ova komunikacijska šema između procesora poznata je i pod nazivom *master-slave* relacija.

## Primjeri sistema 
Primjer sistema sa simetričnim multiprocesiranjem jest Encore verzija UNIX-a razvijena za Multimax računare. Međutim, kod ovih sistema potrebno je kontrolirati U/I procese kako bi se znalo kojem procesoru se dodjeljuju određeni podaci za obradu.

Model asimetričnog multiprocesiranja zastupljen je kod ekstremno velikih sistema, u kojima je jedna od najsporijih operacija obično procesiranje U/I-a. Kao rješenje ovog problema, tačno određeni procesori zaduženi su za U/I aktivnosti.

## Hardverska i softverska implementacija 
Potrebno je naglasiti da razlika između simetričnog i asimetričnog multiprocesiranja može biti posljedica kako softverskih, tako i hardverskih faktora. Moguće je konstruirati poseban hardver koji će razlikovati više procesora, ali također je moguće napisati softver koji će procesore razlikovati na principu *master-slave* relacije.

Na primjer:

Sun-ov operativni sistem SunOS Version 4 omogućava asimetrično multiprocesiranje.

Nasljednik SunOS-a, Solaris 2, namijenjen je za simetrično multiprocesiranje.

## Prednosti i izazovi multiprocesorskih sistema 
Multiprocesorski sistemi nude brojne prednosti, ali dolaze i s određenim izazovima:

### Prednosti 
Povećana obrada podataka – Omogućava paralelno izvršavanje zadataka.

Bolja iskorištenost resursa – Više procesora dijeli memoriju, diskove i ulazno-izlazne uređaje.

Povećana pouzdanost – U slučaju kvara jednog procesora, sistem može nastaviti s radom.

### Izazovi 
Kompleksnost upravljanja zadacima – Potrebni su efikasni algoritmi za raspodjelu poslova među procesorima.

Sinhronizacija i komunikacija – Procesori moraju pravilno razmjenjivati podatke bez sukoba.

Softverska podrška – Operativni sistemi moraju biti prilagođeni multiprocesorskim okruženjima.

Kategorija:Operativni sistemi