Razvoj UNIX operativog sistema

Juniks je veoma popularan operativni sistem. Koristi se ne samo u laboratorijama, već i na univerzitetima, ali i u industriji. Raspoložive su verzije ovog sistema za upotrebu na: računarima opšte namene, specijalizovanim računarima, personalnim računarima… Juniks je stabilan, moćan i fleksibilan operativni sistem visokih preformansi pogodan za izvršavanje kritičnih aplikacija od visoke važnosti. On, poput drugih operativnih sistema, predstavlja spoj između hardvera i aplikacija koje se na računaru izvode. Ima dve vrste funkcija:

  1. Za upravljanjem radom hardvera.
  2. Za upravljanje izvođenjem aplikacija.

Juniks uključuje komponente tradicionalnog operativnog sistema. Pored toga, ako govorimo od standardnom Juniksu, onda on uključuje skup biblioteka i aplikacija. Na hardveru leže dve komponente: fajl sistem i kontrola procesa. Iznad njih je skup biblioteka, a na vrhu se nalaze aplikacije. Korisnicama je moguć pristup bibliotekama i aplikacijama. Mnogi od korisnika pod “UNIX-om” podrazumevaju baš ove dve komponente, jer one zajedno obrazuju Juniks interfejs.

Deo Juniksa za upravljanje hardverom i procesima koji se izvode zove se kernel. Prilikom upravljanja radom svih hardverskih uređaja, Juniks sistem svaki od uređaja vidi kao fajl (device file). Time se omogućava jednostavan način čitanja (read) i pisanja (write) u fajl koji se koristi za pristup svakom hardverskom uređaju.

Značajna prednost, koja je posledica postojanja Juniksovog interfejsa jeste prenosivost aplikacije. To je sposobnost da se aplikacija izvršava na različitim tipovima računarskog hardvera, bez potrebe da se modifikuje. Ovo može da se postigne ako aplikacija koristi Juniksov interfejs za upravljanje svojim hardverskim potrebama. Juniksov slojeviti dizajn izoluje aplikaciju od različitih tipova hardvera. Ovim se omogućava programeru koji razvija softver da, uz minimalan napor, obezbedi podršku aplikaciji na različitim tipovima hardvera. Na taj način se pri pisanju aplikacija smanjuju troškovi za razvoj i povećava broj potencijalnih korisnika. Korisnicima u tom slučaju ne stoji na raspolaganju samo više aplikacija, već oni mogu da se oslone i na mogućnost da se iste aplikacije koriste na različitom hardveru.

Istorijski razvoj Juniksa

Razvoj Juniksa u Belovim laboratorijama

Sredinom 60ih MIT (Massachusetts Institute of Technology), Bell Labs i General Electric radili su na razvoju operativnog sistema Multics (Multiplexed Information and Computer Service). Cilj je bio da više korisnika radi na jednom računaru, iteraktivno. Glavni nedostatak sistema bio je da je mnogo vremena trošio na donošenje odluka, a malo ostavljao korisnicima. Multics je bio prvi veći sistem koji je omogućio hijerarhijski sistem datoteka. Napisan je na višem programskom jeziku. Odvojena lista za kontrolu pristupa za svaku datoteku omogućuje fleksibilno deljenje podataka i potpunu privatnost kada je to potrebno. Ovo je važno napomenuti, jer su svi ovi koncepti uticali na razvoj Juniksa.

S obzirom na to da je Multics postajao sve veći i kompleksiniji, bez dovoljno dobrih rezultata, polako je dolazilo do povlačenja sa ovog projekta. Poslednji istraživači koji su se povukli rešili su da još jednom pokušaju da naprave sistem kakav su zamislili. Napravili su osnovni koncept novog sistema koji je preuzeo mnogo toga od Multicsa: organizacija fajl sistema, ideja da se komandni interpreter (nazvan shell – ljuska) izvršava kao korisnički proces (a ne sistemski), korišćenje različitih procesa za svaku komandu, linijsko editovanje i druge.

1969-1971, PDP-7

Na čelu ovog razvojnog tima bio je Ken Thompson. On je, između ostalog, kreirao igru Space Travel koja je zahtevala moćan računar da bi radila. Stoga, da bi se ona pokrenula, upotrebljen je računar PDP7 iz Belove laboratorije. I tako je 1969. otpočeo razvoj novog operativnog sistema. Projekat je dobio ime Unics (Uniplexed information and Computer Service) po uzoru na Multics. Radi lakšeg izgovora i pisanja, ime mu je promenjeno u Unix. Juniks je prvobitno napisan u asemblerskom jeziku i samim tim je bio potpuno zavisan od klase procesora za koji se realizuje. Godine 1971, izašla je prva verzija Juniksa.

Napomena: Na UNIX su uticali i drugi operativni sistemi, pogotovo MIT-ov CTSS (Compatible Time-Sharing Service), a sam UNIX je uspeo u onome što oni nisu – postao je snažni operativni sistem, neobične jednostavnosti i elegancije.

1972-1973, PDP-11/20

Godine 1972, Dennis Ritchie je napisao programski jezik C kao viši programski jezik koji omogućava sistemsko programiranje. Zatim je, 1973. Tomson preveo kod Juniks sistema sa asemblera na C, što se smatra prekretnicom i jednim od najznačajnijih poteza u razvoju operativnih sistema. Upravo zbog jezika C, Juniks je mogao da se prenosi na raznorazne računarske arhihekture, sa vrlo malim programskim modifikacijama. Time što je Juniks napisan u C-u, značilo je da sada on ne treba da se isporučuje sa mašinom. Ovo je svakako bio ključ uspeha i popularnosti Juniks operativnog sistema.

Tokom 70ih, treća verzija

U trećoj verziji su isti autori napisali najveći deo ovog operativnog sistema na programskom jeziku C. Zatim je Juniks prebačen na veće modele PDP računara, kao što su 11/45 i 11/70. Juniks je ubrzo je počeo da se masovno koristi u Belovim laboratorijama i na nekim univerzitetima. Univerziteti su bili veoma zainteresovani, pogotovo za kurseve operativnih sistema. Sistem se brzo širio, korisnici su uočavali šta ne valja, prijavljivali greške i sami pravili zakrpe. Juniks je počela da koristi i vlada SAD.

1976, Verzija 6

Prva verzija koja je masovno korišćena bila je Verzija 6 (Version 6 UNIX) iz 1976 godine. Version 6 UNIX je bio distribuiran na mnogim fakultetima pod akademskim licencama.

Dodatno: Na Berkliju (Berkeley) je osnovana grupa za istraživanje – Computer Science Research Group (CSRG), čiji je rukovodilac bio Robert Fabry. Unapređenja koja je CSRG doneo Juniksu nazvana su Berkeley Software Distribution (BSD).

1978, Verzija 7

Verzija 7 je distribuirana 1978. godine za sisteme PDP-11/70 i Interdata 8/32. Ubrzo je Juniks prenet sa PDP-11, kao i na VAX liniju računara. Verzija Juniksa pripremljena za VAX nazvana je 32V.

1985, Verzija 8

Version 8 iz 1985. uključuje sistem ulazno/izlaznog toka (I/O stream sistem) kojim se omogućuje fleksibilnost kernela u međuprocesnoj komunikaciji (IPC), i uključuje se RFS (Remote File System – daljinski fajl sistem) sličan SUN-ovom NFS-u (Network File System) koji danas predstavlja standardni način deljenja fajlova među Juniksima.

Napomena: Sledeće verzije (Version 9 (1986), Version 10 (1989) i Plan 9 (1991)), ostale su dostupne samo istraživačkoj grupi unutar Belovih laboratorija.

Razvoj Juniksa od strane USG

Posle Verzije 7 formirana je posebna grupa, UNIX Support Group (USG), u okviru AT&T u čijem su sastav u Belove laboratorije, čiji je zadatak bio da se brine o Juniks sistemu. Tako Juniks prestaje da bude samo istraživački alat i postaje komercijalni proizvod.

USG je 1982. lansirao System III koji je predstavljao sintezu verzija 7 i 32V. Sledeće, 1983. godine lansiran je System V koji se u nešto izmenjenom izdanju pojavio 1984. godine kao UNIX System Development Laboratory (USDL) ili UNIX System V Release 2 (V.2). Krajem 80ih godina prošlog veka, AT&T i Sun Microsystems zajedno su razvili System V. Release 4 (SVR4). U ovo vreme je počela proizvodnja Juniksa za vojne i pravne službe, a ove verzije su zahtevale veliku bezbednost i pouzdanost. Problem koji je nastao u razvoju Juniksa bio je taj što sistemi više nisu bili besplatni i njihov kod više nije bio javno raspoloživ, što su upravo bili razlozi prvobitnog uspeha Juniksa. Sredinom 80ih, Richard Stallman pokrenuo je GNU projekat pod okriljem organizacije Free Software Foundation, za koju je napisao i licencu GNU.

UNIX System V Release 4 (SVR4), kombinuje mogućnosti iz SVR3, 4.3BSD, Microsoft Xenix i SunOS operativnih sistema, SVR4 radi kako na 32bitnim mikroprocesorima tako i na superračunarima i u potpunosti je usaglašen sa POSIX standardom. SVR4 je razvijan tako da postane jedinstvena platforma za komercijalni razvoj Juniksa, a na njemu su radili kako komercijalni tako i akademski projektanti. Oni su u tome svakako i uspeli, tako da SVR4 predstavlja možda i najznačajniju varijantu UNIX-a, pošto je objedinio sve najznačajnije mogućnosti UNIX-a koje su razvijene.

Unix na Berkeley univerzitetu

Najveći doprinos Juniksu doneo je University of California at Berkeley (UCB). Prvu zvaničnu distribuciju Juniksa (3BSD) napravio je 1978. godine Bill Joy.
Na ovom univerzitetu su započeli rad 1978. godine na VAX UNIX-u 32V kome su dodali virtuelnu memoriju, straničenje na zahtev i zamenu stranica i tako je nastao 3BSD. Ubrzo je DARPA (Defence Advanced Research Projects Agency) naručila na Berkliju standardni Juniks sistem za upotrebu u upravljanju. Tako je nastao 4BSD. Ova verzija Juniksa je obezbedila rad u mreži po DARPA internet mrežnom protokolu (TCP/IP). U novoj verziji 4.2BSD je obezbeđena uniformna komunikacija među različitim elementima, uključujući lokalne mreže (kao što je Ethernet i token rings) i mreže računara (kao što je DARPA-in Arpanet). Na Berkliju su razvijeni mnogi drajveri za terminale, novi korisnički interfejs (C shell), novi tekstualni editor (ex/vi), kompajler za Pascal, interpreter za Lisp, kao i mnogi drugi sistemski programi. Operativni sistem 4.2BSD se već može porediti sa VMS operativnim sistemom.

Juniks softver iz Berklija se distribuira preko Berkley Software Distributions. Tu se mogu dobiti 3BSD i 4BSD za VAX UNIX sisteme, kao i 4.1BSD, 4.2BSD ,ali i mnoge nove verzije ovog sistema.

Poslednje Berklijevo izdanje Juniksa 4.4BSD, dovršeno je 1993. godine i ispunjava sve uslove koje zadaje POSIX standard. Pored toga, sadrži potpuno novu organizaciju fajl sistema koja omogućava lako dodavanje novih mogućnosti. Izdavanjem verzija 4.4BSD i 4.4BSD Lite (za distribuciju) Berkli je obustavio dalji razvoj.

Linuks- Linux

Linus Torvalds je početkom 90ih napravio kernel i nazvao ga Linux. Tako je osmišljen sistem GNU/Linux (kraće se zove Linux) koji je bio namenjen za PC računare. Linuks nije pravi Juniks, već je Unix-like (Juniks-nalik) operativni sistem.

U to isto vreme razvijeno je više verzija BSD-a, tako da su dominirale dve nezavisne verzije Juniksa. U BSD-u su svi delovi sistema činili celinu, dok je ideja bila da korinsici Linuksa sami prikupe pakete i sklope sistem koji može da radi/funkcioniše. Pojavile su se firme sa idejom da prikupe pakete, prekompajliraju, zapakuju i prodaju tako sastavljen sistem. Jedna od prvih takvih firmi je Slackware. Tako nastaju Linuks distribucije.

Danas

Danas su popularne distribucije Linuksa: Mint, Ubuntu, Red Hat, Debian, Suse, Fedora, itd. Linuks je danas vodeći operativni sistem kada su u pitanju serveri, radne stanice i superračunari. Zahvaljujući velikoj zainteresovanosti širom sveta, danas, nakon skoro 10 godina, Linuks je postao najveća pretnja Majkrosoftu.
A od verzija Juniksa se koriste još Solaris, Mac OS i BSD.

Dodatak: Linuksov kod (kerel) je besplatan, što znači da ga bilo ko može koristiti, dopunjavati, menjati…

Student: Tina Mijailović
Uredio: Miroljub Zahorjanski

4077-razvoj-xa-unix-xa-operativog-sistema