SVEUILITE U SPLITU STRUNI STUDIJ RAUNARSTVA ZAGREB
prof. Pavle poljari
Programski alati na Unix raunalima
ZBORNIK SEMINARSKIH RADOVA 2005/2006Draen Hudoletnjak Dario Mioi
Marijela Napast Andrija Martinovi Marko Bonjak Mehmetovi Hrvoje
Hraek Marko Pinta Sinia Julijan Marko Vukovi Marijana
Ladan-Pelivanovi Predrag Jovanovi Manuel Vidonis Zoran Zorii Ida
Golubi Dragutin Markulin Mario Strini Matko Peji Maja Mehinagi Nina
ugaj Tomislav rbak Franjo Grgec Ivan Mani Svjetlana Vedernjak Frane
Gjeldum eljko Jurkovi Goran Grdeni Dragan Mici Vitko Stanec Matija
Mikec Davorin ajnovi Zdravko Smenderovac Nijaz esir Domagoj
Milakovi Branimir ivkovi Tomislav Grgec Kreimir Heimovi Janko Rade
Marko Ferk Rustem Galioulline Alen Cika Yasser Alkhalil Damir
Jajeti Tomislav Domanovac Marni Minauf Nenad Cuca Ivan Podhraki
Maja ugaj eljko afar Damir uric Goran Jurii Krasnodar Krajnik
Vedran Dedu Vanja Harambua Krunoslav Zeman Boris Ivanievi Igor opec
Matija upen Saa Dragi Ivan Bri Neven Kmeti Majk Jednakovi Jurica
Boikovi Usama Kalit Ivica Fadljevi Igor Novakovi Antun Brezak
Marinko imi Nikolina Javor Maja Hudorovi Goran Vlahovi Goran Vuli
Adrijana Bazina Ivan Legin Daniel Van Schepdael Vinko Horvatini
Dubravko Flis Dario Dugi Zvonimir Jankovi Jakov Mihaljevi Daniel
Novak Adriana Mihinec Domagoj vegelj Darko Drezga Berislav
Biljakovi Josip Baani Tomislav Brebri Marina Petrovska Dario Benko
Amir Kos Tamara Krutman Ante Penava Mirjana Divi Ana Babi Marijan
Poljak Nino Knez Damir Koli Igor Rubini Martin Fresl eljko Gobac
Viktorija Karamarkovi Vanja Kramari Josip pendi Lana Veeri Ivan
Skokovi Kristijan ivec Goran Curkoveki Tomislav Jagi Marina Braun
Elizabeta Velkavrh Alja Pavli-Raver Eliot Karlo Pavleti Marija Bili
Marija Reetar Saa Protulipac elebi Gorana Sinia Mudrini Igor
Kutanjec Franjo Bubalo
Zagreb, 2006.
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima
"...the number of UNIX installations has grown to 10, with more
expected..." - Dennis Ritchie and Ken Thompson, June 1972 "... When
BTL withdrew from the project, they needed to rewrite an operating
system (OS) in order to play space war on another smaller machine
(a DEC PDP-7 [Programmed Data Processor] with 4K memory for user
programs). The result was a system which a punning colleague called
UNICS (UNiplexed Information and Computing Service)--an
'emasculated Multics'; no one recalls whose idea the change to UNIX
was"
2/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Sadraj
OVAJ ZBORNIK JE POD OPOM GNU LICENCOM OPISANOM U 1.
POGLAVLJU(GNU FILOZOFIJA I GNU LICENCA)
3/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Sadraj
Sadraj1. 2. 3. 4. 5. 6. 7. 8. 9. GNU FILOZOFIJA I GNU LICENCA
(Draen Hudoletnjak) POVIJEST I NASTANAK UNIX-a (Dario Mioi)
STRUKTURA UNIXA (Marijela Napast) SHELL (Andrija Martinovi) UNIX
COMMAND LINE (Marko Bonjak Mehmetovi, Hrvoje Hraek) Unix COMMAND
LINE 2 (Marko Pinta) SH I BASH (Sinia Julijan) BASH ADVANCED SHELL
PROGRAMIRANJE (Marko Vukovi) C SHELL, T C-SHELL (Marijana
Ladan-Pelivanovi)
7 31 57 70 100 145 197 236 250 277 299 334 356 373 406 416 448
469 488 524 541 567 598 628
10. SHELL PROGRAMIRANJE (SHELL I BASH) (Predrag Jovanovi) 11.
REGEX (Manuel Vidonis, Zoran Zorii) 12. SHELL ALATI ZA RAD SA
TEKSTOM (Ida Golubi, Dragutin Markulin) 13. VI EDITOR (Mario
Strini) 14. EMACS (Matko Peji) 15. LOGIN I ID (Maja Mehinagi) 16.
TELNET I SSH (Nina ugaj) 17. PGP I CA AUTHORITY (Tomislav rbak) 18.
KERBEROS (Franjo Grgec, Ivan Mani) 19. CRON I AT (Svjetlana
Vedernjak) 20. ARHIVIRANJE NA UNIX RAUNALIMA (Frane Gjeldum) 21.
BOOT & SHUTDOWN (eljko Jurkovi) 22. INIT PROGRAM (Goran Grdeni,
Dragan Mici) 23. LILO i GRUB (Vitko Stanec, Matija Mikec) 24. UNIX
DEVICES, MOUNTING DEVICES (Davorin ajnovi) 25. PARTICIONIRANJE I
TIPOVI FILE SYSTEMA (Zdravko Smenderovac, Nijaz esir )
650 670 699 726 752
26. STANDARDNA STRUKTURA DIREKTORIJA (Domagoj Milakovi) 27. AWK
I SED (Branimir ivkovi) 28. SED (Tomislav Grgec) 29. GCC COMPILER
(Kreimir Heimovi)
4/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Sadraj
30. GDB, THE GNU SOURCE LEVEL DEBUGGER (Janko Rade) 31. GNU MAKE
(Marko Ferk) 32. GNU MAKE (Rustem Galioulline) 33. PROGRAM
PROFILING (Alen Cika, Yasser Alkhalil) 34. CVS SUSTAV ZA
VERZIONIRANJE (Damir Jajeti, Tomislav Domanovac) 35. SUBVERSION
SUSTAV ZA VERZIONIZIRANJE (Marni Minauf, Nenad Cuca)
774 792 826 865 906
946 990 1005 1034 1056 1088 1116 1140 1159 1169 1188 1215 1273
1293 1305 1369 1406 1429 1469 1501 1538 1598 1619 1661 1679
1689
36. IDE (Ivan Podhraki) 37. ECLIPSE (Maja ugaj, eljko afar,
Damir uric) 38. PIPE I FIFO (Goran Jurii) 39. FORK (Krasnodar
Krajnik) 40. PROCESI I UPRAVLJANJE PROCESIMA (Vedran Dedu, Vanja
Harambua) 41. SIGNALI (Krunoslav Zeman) 42. FILE, DIRECTORY AND
INODE PROGRAMMING (Boris Ivanievi) 43. FORK PROCESI (Igor opec) 44.
SOCKETS, UNIX DOMAIN, NETWORK (Matija upen) 45. TCP/IP (Saa Dragi)
46. TCP/IP API (Ivan Bri, Neven Kmeti) 47. UDP-USER DATAGRAM
PROTOKOL (Majk Jednakovi) 48. INETD I TCPD (Jurica Boikovi) 49. IP
TABLES (Usama Kalit) 50. NETWORK DEVICES I IP NAREDBE (Ivica
Fadljevi, Igor Novakovi) 51. QOS (Antun Brezak, Marinko imi) 52.
LINUX FIREWALL (Nikolina Javor, Maja Hudorovi) 53. INTERNET
SERVICES (Goran Vlahovi) 54. LDAP (Goran Vuli) 55. DNS I DHCP
(Adrijana Bazina, Ivan Legin) 56. DNS I DHCP (Daniel Van Schepdael)
57. BIND9 (Vinko Horvatini, Dubravko Flis) 58. RPC REMOTE PROCEDURE
CALL (Dario Dugi) 59. RLOGIN RSH (Zvonimir Jankovi) 60. X WINDOW
SYSTEM (Jakov Mihaljevi)
5/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Sadraj
61. WINDOW MANAGER (Daniel Novak) 62. KDE (Adriana Mihinec,
Domagoj vegelj) 63. GTK (Darko Drezga, Berislav Biljakovi) 64.
GNOME (Josip Baani, Tomislav Brebri) 65. UNIX DESKTOP SYSTEM
(Marina Petrovska) 66. INTERNET HISTORY (Dario Benko) 67. UVOD U
PERL (Amir Kos) 68. PERL Practical Extraction and Report Language
(Tamara Krutman,Ante Penava) 69. PHP (Mirjana Divi) 70. PYTHON (Ana
Babi) 71. INTERPRETERI TCL/TK (Marijan Poljak) 72. NASTANAK LINUXA
(Nino Knez, Damir Koli) 73. PHP vs. PERL (Igor Rubini) 74. MYSQL
(Martin Fresl, eljko Gobac, Viktorija Karamarkovi) 75. POSTGRESQL
(Vanja Kramari, Josip pendi, Lana Veeri) 76. APACHE - WEB SERVER
(Ivan Skokovi) 77. APACHE (Kristijan ivec, Goran Curkoveki) 78.
SAMBA (Tomislav Jagi, Marina Braun) DISTRIBUCIJE LINUX-a / UNIX -a
79. (Elizabeta Velkavrh, Alja Pavli-Raver, Eliot Karlo Pavleti) 80.
SAMBA I NFS (Marija Bili) 81. RPM i DEB PAKETI (Marija Reetar) 82.
KOMPAJLIRANJE KERNELA (Saa Protulipac) 83. WIKIPEDIJA (elebi
Gorana, Sinia Mudrini) 84. AJAX (Igor Kutanjec, Franjo Bubalo)
1698 1737 1781 1815 1883 1910 1927 1984 2031 2070 2105 2146 2158
2190 2241 2288 2319 2368
2411 2422 2472 2492 2524 2542
6/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
Draen Hudoletnjak
GNU FILOZOFIJA I GNU LICENCA
7/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
UVODPria o GNU-u poinje otprilike 1971. sa Richardom Stallmanom
koji je tada poeo raditi za MIT na njihovom Artificial Intelligence
Lab (Labaratorij za Umjetnu Inteligenciju). Tamo je postao dio
"software-sharing" zajednice koja je ve postojala mnogo godina.
Razmjena softvera je bilo neto to je staro kao i sama raunala i u
to doba je to bila normalna stvar, pomo kolegi. No oni su otili
korak dalje. AI Lab je koristio operacijski sustav ITS (the
Incompatible Timesharing System) kojeg su dizajnirali i u
assembleru napisali njihovi programeri (hakeri *) za Digitalov
PDP-10. Kao dio tima Stallmanov posao je bio poboljavanje tog
sustava. Oni svoj softver tada jo nisu zvali "slobodan softver"
(free software) jer taj termin tada nije postojao ali u biti je to
bio, jer kad god bi netko sa nekog drugog sveuilita ili neke
kompanije elio portati i koristiti njihov program, oni su im to
dopustili. Ideja je bila, ako netko koristi nekakav nepoznat i
zanimljiv program, uvijek ga moe traiti da vidi njegov izvorni kod
(source code) kako bi ga mogao itati, mijenjati ili uzeti dijelove
tog programa i iskoristiti ih za neki novi program. No situacija se
je drastino promijenila poetkom 80-tih kad je Digital prestao
proizvoditi PDP-10 seriju. Njegova arhitektura, koja je bila
elegantna i mona u 60-tima se nije mogla "prirodno" proiriti da
koristi vei adresni prostor koji je bio primjenjiv u 80-tima. To je
znailo da je gotovo sav softver koji radi pod ITS-om postao
neupotrebljiv. Neto prije toga hakerska zajednica IT Laba se
raspala. 1981. osnovana je tvrtka Symbolics koja je zaposlila
gotovo sve hakere iz AI Laba tako da preostala zajednica nije mogla
funkcionirati. Kad je 1982. AI Lab kupio novi PDP-10, njihovi
administratori su se odlucili za Digitalov operacijski sustav
umjesto ITS-a. Moderna raunala toga doba (VAX, 68020) su imali
svoje operacijske sustave ali nijedan od njih nije bio slobodan
softver. Za svaki, makar dobili samo izvrnu datoteku, morao se je
potpisati obvezujui ugovor. To je znailo da je prvi korak u
koritenju raunala obeanje da nee pomoi svom susjedu. Pravilo koje
su uveli tvorci "vlasnikog" softvera bilo je, "Ako dijeli softver
sa susjedom, pirat si. Ako eli bilo to promijeniti, moli nas da ti
to napravimo". To je neto to se Stallmanu nikako nije svialo i naao
se je pred moralnom dvojbom. Prikljuiti se svijetu "vlasnikog"
softvera i potpisati obvezujui ugovor kojim obeaje da nee pomagati
kolegama ili potpuno napustiti raunalni svijet i raditi neto drugo.
Umjesto toga, kao pravi programer traio je neko tree rijeenje.
Razmiljao je da li postoji neki program ili programi koje bi on
mogao napisati da zajednica ponovno oivi. Zakljuio je da mu za
poetak treba operacijski sustav jer je to kljuni program za
koritenje nekog
8/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
raunala. Sa slobodnim operacijskim sustavom ponovno se je mogla
osnovati zajednica hakera koji bi slobodno suraivali i izmjenjivali
svoje ideje. Zajednica kojoj bi se svatko mogao pridruiti. Obzirom
da je on do tada radio na razvoju operacijskih sustava, imao je
znanja i iskustva da to napravi a osjeao se i izabranim za taj
posao. Odluio je napraviti OS kompatibilan sa Unixom kako bi bio
prenosiv i kako bi dotadanji korisnici Unixa mogli lako prijei na
njega. Sljedei hakersku filozofiju odabrao je ime GNU, kao
rekurzivno za "GNU Nije Unix" (GNU's Not Unix). Shvatio je da naziv
"operacijski sustav" ne znai samo kernel ve da to ime ukljuuje i
dodatne stvari kao to su komandne linije, assembleri, kompajleri,
interpreteri, debuggeri, tekst editori i jo mnogo toga. Budui da su
tadanji operacijski sustavi (ITS, Multics, VMS, Unix) imali sve to,
on je odluio da i GNU mora imati sve to. Znajui tono to hoe, u
sijenju 1984. dao je otkaz na MIT-u i poeo pisati GNU softver.
Odlazak iz MIT-a je je bio nuan jer da je ostao, MIT je mogao GNU
proglasiti svojim proizvodom i time bi Stallmanova ideja o
slobodnom operacijskom sustavu pala u vodu kao i ponovno
oivljavanje hakerske zajednice. Sreom, profesor Winston, tadanji ef
MIT AI Laba je dozvolio Stallmanu da nastavi koristiti njihove
labose i njihovu opremu. Time je GNU operacijski sustav od nekakve
same ideje postao stvaran projekt i moe se rei da je to stvarni
poetak svega vezanog uz GNU.
* Rije haker (hacker) u znaenju "onaj koji probija zastite" je
pogreka koju su stvorili mediji i koji taj pojam pogreno koriste.
Pravi hakeri ne priznaju to znaenje. Po njima je haker onaj koji
voli programirati i uiva u tome. Zato ja u tekstu dalje koristim i
koristiti u taj pojam za to, pozitivno znaenje.
9/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
GNU OS PoetciKratko prije nego je zapoeo GNU projekt, Stallman
je uo za "Free University Compiler Kit" poznat takoer i pod nazivom
"VUCK". Taj kompajler je podravao vie programskih jezika, ukljuujui
C i Pascal te je imao podrku za razne platforme. Stallman je
kontaktirao autora VUCK-a i pitao ga moe li dodati taj kompajler u
GNU projekt. Odgovor je bio negativan. Stoga je Stallman odluio da
prvi program kojeg e napraviti bude viejezini (multi-language),
vieplatformni (multi-platform) kompajler. Nadajui se da nee sam
morati napisati cijeli kompajler, nabavio je source kod Pastel
kompajlera. To je bio vieplatformski kompajler napisan na Lawrence
Livermore Lab-u. Podravao je i bio napisan u proirenoj verziji
Pascala te bio zamiljen kao sistem-programski jezik. Stallman mu je
dodao C frontend i poeo ga prebacivati na Motorolino 68000 raunalo.
No morao je odustati jer je otkrio da taj kompajler treba nekoliko
megabajta memorije za stack a dostupni 68000 sistemi dozvoljavaju
samo 64 kB. Zbog toga je odluio iz poetka napisati svoj kompajler
bez da upotrijebi ista od koda Pastel kompajlera. Uspio je jedino
upotrijebiti C frontend koji je sam napisao. Taj kompajler je danas
poznat kao GCC no njega je dovrio kasnije. Prije toga je radio na
GNU Emacsu.
10/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
GNU EmacsStallman je rad na GNU Emacsu poeo u rujnu 1984. i ve
poetkom 1985. GNU Emacs je postao upotrebljiv program. To mu je
omoguilo da koristi Unix sustave za editiranje bez potrebe da naui
vi ili ed. Do tada je koristio druge sustave za editiranje
texta.
Popularnost GNU Emacsa je rasla i Stallman se pitao kako
distribuirati svoj softver. Zato ga je stavio na anonimni server na
MIT-u koji je on sam koristio. No kako u to vrijeme nisu svi bili
na internetu, Stallman je razmiljao kako svima omoguiti da dou do
kopije Emacsa. Obzirom da nije radio traio je nain kako da zaradi
novac na slobodnom softveru. Zbog toga je objavio da e poslati
kopiju na traci svakome tko mu plati 150$ za nju. Time je Stallman
zapoeo distribuciju slobodnog softvera, preteu dananjih kompanija
koje distribuiraju cjelokupne Linux-bazirane GNU sustave.
Razvoj GNU OS-aKako je interes za koritenjem Emacsa rastao, sve
vie ljudi se ukljuivalo u GNU projekt i ponovno se je javilo
pitanje oko financiranja projekta. Zbog toga je 1985. osnovan Free
Software Foundation (FSF). FSF je preuzela distribuciju Emacsa a
kasnije je dodan i drugi slobodni softver. Takoer su poeli sa
prodajom slobodnih uputstava (manuala). FSF je primala donacije,
ali najvea dobit im je bila od prodaje kopija slobodnog softvera i
ostalih usluga vezanih uz to. Danas FSF prodaje CD-e i DVD-e sa
source kodom, izvrnim datotekama, lijepo tampanim uputstvima i sve
to sa slobodom da se dalje distribuira i mijenja po elji.
Zaposlenici FSF-a su napisali poveu koliinu GNU softver paketa. Dva
najznaajnija su C library i shell. GNU C library je napisao Roland
McGrath i to je neto to svaki program koji radi na GNU/Linuxu
koristi za komunikaciju sa Linuxom (vie o Linuxu u sljedeem
poglavlju). Shell koriten na GNU/Linux sistemima je BASH, (Bourne
Again Shell) kojeg je napisao Brian Fox. FSF je sve to financirala
jer im je najvaniji cilj bio razvoj cijelog operacijskog sustava.
Temeljni cilj GNU-a je bio da bude slobodan softver. Iako GNU nije
imao tehnikih prednosti pred Unixom, imao je drutvenu prednost jer
je omoguavao
11/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
ljudima da surauju i imao je etiku prednost jer je potivao
slobodu korisnika. Naravno, obzirom da su na GNU projektu
sudjelovali iskusni hakeri, koristili su standarde koji su se
pokazali dobrima u praksi. Dodatno, odbacili su Unixovu filozofiju
koritenja malo memorije time to nisu podrali 16 bitno adresiranje
(znali su da e 32 bitni strojevi postati norma kad GNU bude
dovren). Nisu se trudili smanjiti potronju memorije dokle god ne bi
prelazila megabajt.
Kako je GNU projekt napredovao i sve vei broj sistemskih
komponenti je naen ili napisan, napravljena je lista stvari koje jo
nedostaju. Ta lista, danas poznata kao "GNU task list" je
upotrebljena da se regrutiraju programeri koji e napisati dijelove
koji nedostaju. Takoer su na listu dodane i neke stvari koje Unix
nije imao a oni su mislili da bi potpuno kompletan sustav trebao
imati. ak su i igre dodane kao kljune stvari. Vano je napomenuti
da, budui da su oni GNU OS radili potpuno "od nule" da je svaki
komad softvera koji je napisan bio testiran na Unixu (GNU OS jo
nije postojao). To je znailo da se ve tada taj softver mogao
koristiti na Unix sustavima. Druga dobra stvar je da se novi OS
razvijao tako da bude potpuno kompatibilan sa Unixom. Sve to je
imao Unix napisala je i GNU zajednica s time da je GNU varijanta u
pravilu bila monija i pouzdanija. To je privuklo dodatne
pokrovitelje i negdje oko 1990. GNU OS je bio gotovo dovren. Falila
je jo samo jedna, kljuna stvar - kernel.
12/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
LinuxStallmanova prvotna ideja je bila da sami razviju svoj
kernel (GNU HURD). Odluili su ga implementirati kao kolekciju
serverskih procesa koji se vrte na Machu. Mach je mikrokernel koji
su razvili na Carnegie Mellon University i University of Utah. GNU
HURD (krdo gnua) bi bila kolekcija servera koja radi na Machu i
obavlja razne poslove kao Unix kernel. Jedan od razloga zbog ega je
odabrana takva arhitektura je bio da se izbjegne najtei dio posla,
debugiranje kernela bez debugera namijenjenog za to. Taj dio posla
je u Machu ve bio obavljen a HURD servere su mogli debugirati sa
GDB-om. No poetak razvoja HURD-a je kasnio jer su ekali da Mach
bude izdan kao slobodan softver, kao to su im obeali a i pokazalo
se da je debugiranje HURD servera koji se pokreu kao tredovi i koji
meusobno komuniciraju porukama prilino teak i zahtjevan posao.
Posao na HURD-u se zbog toga otegnuo godinama.
Paralelno s njima, Linus Torvalds je radio na Unix kompatibilnom
kernelu kojeg je objavio na internetu 1991. godine. Nazvao ga je
Linux. Negdje 1992. ukomponirali su Linux u dotad nedovreni GNU ime
je stvoren komplenti slobodni operacijski sustav. Nazvali su ga
GNU/Linux to predstavlja sloenicu od "kombinacija GNU sustava sa
Linux kernelom". Ta verzija GNU OS-a je stekla golemu popularnost i
danas ju veina ljudi poznaje samo pod imenom Linux iako je Linux
samo dio tog OS-a (njegov kernel).
13/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
GNU FILOZOFIJA Slobodan (free) softverKao to smo do sada vidjeli
cijeli smisao GNU pokreta je ideja o slobodi. Ljudi koji stoje iza
GNU pokreta smatraju da je slobodan softver stvar slobode - ljudi
trebaju imati slobodu koristiti softver na bilo koji nain za koji
smatraju da im je koristan. Softver se razlikuje od materijalnih
objekata. Glavno je pitanje to je to slobodan softver i zato bi
softver uope trebao biti slobodan?
Prema FSF-u (Free Software Foundation) slobodan softver je stvar
slobode a ne cijene. (Pojam slobodan softver dolazi od engleskog
"free software" a budui da u engleskom jeziku rije free ima vie
znaenja, ideja je da se o rijei "free" razmilja kao u pojmu "free
speech" a ne kao "free beer". U hrvatskom jeziku najblie prijevodu
odgovara rije "slobodan" a ne "besplatan".)
Dakle, slobodan softver je onaj koji korisnici imaju pravo
pokretati, kopirati, distribuirati, prouavati, mijenjati i
poboljavati. Tonija definicija se sastoji od etiri vrste slobode
koji imaju korisnici softvera: Slobodu da za bilo koju svrhu pokreu
program (sloboda 0). Slobodu da proue kako program radi i prilagode
ga za svoje potrebe (sloboda 1). Uvjet za to je da im je dostupan
source kod programa. Slobodu da dalje distribuiraju kopiju programa
kako bi pomogli susjedu (sloboda 2). Slobodu da poboljavaju program
i objave svoja poboljanja javno kako bi cijela zajednica imala
koristi od toga (sloboda 3). Uvjet za to je da im je dostupan
source kod programa. To su etiri kljune slobode i program je
"slobodan" ako i samo ako zadovoljava sve ove etiri toke. Prema
tome, trebali bi biti slobodni dalje dijeliti kopije programa bilo
kome i bilo gdje, besplatno ili uz naknadu, bez obzira jesmo li
mijenjali program ili ne. Biti slobodan raditi te stvari znai
(pored ostalog), da ne moramo traiti ili platiti dozvolu za to.
Takoer trebamo imati slobodu promijeniti program i koristiti ga
privatno za svoj posao ili igru, bez da ikome uope spomenemo da te
modifikacije postoje. Ako objavimo svoje promjene ne bi trebali
obavijestiti nikoga zbog toga. Sloboda da se koristi neki program
znai slobodu bilo14/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
pojedincu ili organizaciji, da koristi taj program na bilo kojoj
vrsti raunala, za bilo kakav posao, i bez potrebe da kontaktira
autora ili neku drugu instituciju. Prilikom distribucije slobodnog
softvera, bilo svog ili kopije mora se pored izvrne (executable)
verzije, priloiti i izvorni kod. To je zbog slobode da svatko ima
pravo modificirati i poboljavati program. Dakle pristup izvornom
kodu je kjuna osobina slobodnog softvera.
Da bi sve ove slobode vrijedile uvijek, one moraju biti
neopozive tako dugo dok ne napravite neto pogreno. Ako onaj koji
razvije neki softver ima pravo ukinuti licencu bez da ste vi
napravili neto to bi mu dalo razlog, onda taj softver nije slobodan
softver. Meutim, odreena pravila u vezi distribucije slobodnog
softvera su prihvatljiva, ako nisu u suprotnosti sa osnovnim
slobodama. Na primjer, copyleft (pojednostavljeno reeno) je pravilo
da kad redistribuirate program, ne moete dodati ogranienja kojima
biste zabranili ostalim ljudima njihove centralne slobode. To
pravilo nije u sukobu sa centralnim slobodama nego ih zapravo titi.
Prema tome, vi moete platiti da dobijete kopiju slobodnog softvera
ili moete nabaviti kopiju besplatno. No nevezano na to kako ste
doli do svoje kopije, uvijek imate slobodu kopirati i mijenjati taj
program, imate ak i slobodu prodavati kopije.
Slobodan softver ne znai ne-komercijalan softver. Slobodan
softver mora biti dostupan za komercijalnu upotrebu, komercijalni
razvoj i komercijalnu distribuciju. Komercijalni razvoj slobodnog
softvera vie nije neuobiajen, takav slobodan softver je postao vrlo
vaan. Pravila kako pakirati modificiranu verziju su prihvatljiva
ako ne spreavaju vau slobodu da izdate modificiranu verziju.
Pravila koja kau "ako va program napravite dostupnim na ovaj nain,
morate ga napraviti dostupnim i na neki drugi nain" takoer mogu
biti prihvatljiva uz prethodni uvjet. Ovakvo pravilo vam ipak
ostavlja izbor da uope ne distribuirate program. Takoer je
prihvatljivo da se u licenci trai da ako distribuirate modificiranu
verziju programa, da autor trai da mu poaljete kopiju. U tom sluaju
duni ste mu je poslati.
Kad se govori o slobodnom softveru, najbolje je izbjegavati
termine tipa "besplatan softver" jer ti termini oznaavaju cijenu a
ne slobodu (ponovno zbog vieznanosti engleske rijei "free"). Na
kraju, kriteriji poput ovih do sad nabrojanih u ovoj definiciji
slobodnog softvera zahtijevaju paljivo razmiljanje prilikom njihove
interpretacije. Prilikom odluke da li neka licenca zadovoljava
kriterije kao licenca slobodnog softvera, sudi se prema tim
kriterijima i gleda se da li zadovoljava njihov duh kao i tone
rijei. Ako ta licenca sadri bilo
15/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
kakve zabrane (nesvjesne), odbacuje se ak i ako se ne oekuje
problem s tim kriterijem. Ponekad licenca zahtjeva puno
premiljanja, ukljuujui razgovore s odvjetnikom, prije nego se odlui
da li licenca zadovoljava kriterije. Sve ovo se radi da slobodan
softver ostane doista slobodan.
Zato slobodan softverDigitalna informatika tehnologija nam je
omoguila lake kopiranje i modificiranje informacija. Raunala su to
olakala svima nama. No vlasnika prava (copyright) na neki program
su neto to nam to onemoguava. Vlasnici takvog softvera su jedini
koji imaju pravo kopirati i mijenjati softver koji mi koristimo.
Copyright sustav je nastao sa tiskanjem tehnologijom za masovno
kopiranje. Copyright se dobro uklapa u tu tehnologiju jer ograniava
samo velike izdavae i ne oduzima slobodu itateljima knjiga. Obian
ita koji ne posjeduje tiskaru, moe kopirati knjige samo tako da ih
prepie i rijetki imaju volju to raditi. Digitalna tehnologija je
mnogo fleksibilnija, kad su podaci u digitalnoj formi, lako se mogu
kopirati i dijeliti drugima. No ta fleksibilnost je u sukobu sa
idejom copyrighta. Zbog toga su uvedene prilino prljave mjere da se
nametne copyright na softver. No, to je doista potrebno drutvu da
napreduje? Potrebno je da su sve informacije slobodne, nap. program
koji se moe itati, popravljati, prilagoavati i poboljavati a ne
samo pokretati. Naalost ono to vlasnici softvera tipino isporuuju
je crna kutija koju ne moemo prouiti ili mijenjati. Drutvo takoer
treba slobodu. Kada program ima vlasnika, korisnici gube slobodu da
kontroliraju dio svog ivota.
Ekonomski razlozi koje navode vlasnici softvera su pogreni no
ekoneomski problem je stvaran. Neki ljudi piu koristan softver isto
iz hobija ili zato to uivaju programirajui neto korisno no ako
elimo vie nego ti ljudi naprave, moramo poveati fond. Ve deset
godina ljudi koji razvijaju slobodan softver iskuavaju razne metode
kako namaknuti novac. Dosad je postignut nekakav uspjeh. Neki rade
potrebne preinake svog programa zatraene od klijenata koji im za to
plaaju. Iako bi oni i sami mogli napraviti te preinake ponekad je
lake platiti autoru da to napravi budui da on ve poznaje svoj
program. Neki zarauju tako to
16/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
prodaju usluge odravanja. Velik dio se financira iz donacija.
ini se da je to sve sitno, pokret slobodnog softvera je jo uvijek
mali i relativno mlad.
Kao korisnici raunala danas, dosta nas koristi vlasniki softver.
Ako nas prijatelj zamoli da mu snimimo kopiju tog programa, pogreno
bi bilo odbiti ga. Suradnja je vanija od copyrighta. No takve
"underground" aktivnosti ne ine dobro drutvo. Pojedinac bi trebao
ivjeti otvoreno i ponosno te rei "ne" vlasnikom softveru. Svatko bi
trebao moi suraivati otvoreno s drugim ljudima koji koriste
softver. Svatko bi trebao imati pravo nauiti kako neki program radi
i ako je potrebno popraviti njegov rad. To je razlog zato nam treba
slobodan softver.
17/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
Kategorije slobodnog i ne-slobodnog softvera
Ovaj dijagram (napravio Chao-Kuei) objanjava razliite kategorije
softvera.
Slobodan softver (free software) to je slobodan softver je
objanjeno u tekstu do sada, kratka definicija glasi: slobodan
softver je softver koji dolazi sa dozvolom da ga svatko smije
koristiti, kopirati, distribuirati (bilo izvornu ili modificiranu
verziju) besplatno ili uz naknadu. U biti, to znai da takav softver
mora dolaziti sa izvornim kodom. Ako je program slobodan onda ga se
potencijalno moe ukljuiti u slobodan operacijski sustav kao to je
GNU ili neku od slobodnih verzija GNU/Linuxa. Neke kompanije svoj
softver zovu "free" no ne u smislu slobode nego cijene. ("Free"
znai slobodan ali i besplatan). Zbog toga treba prouiti licencu s
kojom takav softver dolazi da se vidi tono na to se taj pojam
odnosi. Slobodan softver je obino pouzdaniji od ne-slobodnog.
Open source softver Pojam "open source" vie-manje znai isto to i
slobodan softver. Meutim kriterij koji neki softver mora
zadovoljavati da bi bio open source je neto blai, dozvoljene su
neke restrikcije koje u FSF-u smatraju previe ogrniavajuim.
18/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
Public domain softver Public domain softver je softver za kojeg
ne postoje vlasnika prava. Ako je izvorni kod u public domain onda
je to poseban sluaj non-copylefted slobodnog softvera, to znai da
neke verzije ili modifikacije moda uope nisu slobodne. Ako je samo
izvrna datoteka u public domain a source kod nije onda to nije
slobodan softver jer on podrazumijeva da mora biti dostupan izvorni
kod. Veina slobodnog softvera nije public domain, nego na njemu
postoje vlasnika prava koja pak daju legalno pravo svima da koriste
slobodno taj program.
Copylefted softver Copylefted softver je slobodan softver iji
uvjeti distribucije ne dozvoljavaju distributeru dodavanje nikakvih
novih, dodatnih ogranienja prilikom distribucije ili modifikacije
softvera. To znai da svaka kopija tog softvera, makar i
modificirana, mora biti slobodna. Copylefted je generalni koncept,
da bi ga ostvarili morate koristiti specifian skup distribucijskih
pravila. Iako se moe postii raznim licencama preporuka je koristiti
"GNU General Public License" jer dvije razliite licence mogu biti
nekompatibilne to znai da bi spajanje takvih programa bilo
nezakonito.
Non-copylefted free software Non-copylefted free software dolazi
sa dozvolom da se dalje distribuira i modificira ali se takoer mogu
dodavati i nove restrikcije. Softver koji dolazi na takav nain moe
imati verzije koje uope nisu slobodne. Softverske kompanije mogu
kompajlirati takav softver sa ili bez modifikacija i prodavati ga
kao vlasniki softver.
GPL-covered software GPL-covered software je softver koji je
pokriven sa "GNU General Public License". GNU projekt veinu svog
softvera distribuira kao takav softver.
The GNU system GNU sustav je potpun unixoidni operacijski
sustav. Sastoji se od hrpe programa i ukljuuje sav GNU softver kao
i mnogo drugih paketa kao to su X Window System i TeX koji nisu GNU
softver. Budui da je svrha GNU-a da bude slobodan, svaki njegov dio
mora biti slobodan.
19/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
GNU programi Termin "GNU program" je ekvivalent terminu "GNU
softver". Neki program je GNU program ako je GNU softver. Takoer se
koristi i termin "GNU paket".
GNU softver GNU softver je softver izdan pod nadlenosti GNU
projekta. Veina GNU softvera je copylefted, no ne sav. Bitno je da
je sav GNU softver slobodan (free) softver. Dio GNU softvera su
napisali ljudi iz FSF-a no veinu su napisali volonteri.
Ne-slobodan (non-free) softver Non-free softver je softver koji
nije slobodan. To ukljuuje "semi-free" softver i vlasniki
softver.
Semi free softver Semi free softver je softver koji nije
slobodan ali dolazi sa dozvolom pojedincima da koriste, kopiraju,
distribuiraju i mijenjaju program za neprofitne svrhe. Etiki je
semi-free sofver bolji od vlasnikog softvera no svejedno stvara
probleme jer se ne moe upotrijebiti kao dio slobodnog operacijskog
sustava.
Vlasniki (proprietary) softver Vlasniki softver je softver koji
nije niti slobodan (free) niti semi-free. Njegovo koritenje,
redistribuiranje ili modifikacija su zabranjeni ili zahtijevaju
posebnu dozvolu.
Freeware Termin "freeware" nema jasnu prihvaenu definiciju.
Obino se koristi za softver koji dozvoljava redistribuciju ali ne
dozvoljava mijenjanje i izvorni kod mu nije dostupan. Takav softver
nije slobodan (free) softver, to su dva potpuno razliita
termina.
Shareware Shareware je softver koji dolazi sa dozvolom da ga se
redistribuira ali svatko tko ga nastavi koristiti mora platiti
licencnu naknadu. Shareware nije ni slobodan niti semi-free
softver. Dva su razloga: shareware ne dolazi sa izvornim kodom,
znai ne moe ga se mijenjati te
20/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
shareware ne dolazi sa dozvolom da ga se instalira i koristi bez
da ga se plati, ak niti u nekomercijalne svrhe.
Privatni softver Privatni ili "prilagoeni" softver je softver
razvijen za jednog korisnika (tipino organizacija ili kompanija).
Taj ga korisnik uva i koristi za svoje potrebe i ne distribura ga.
Privatni softver je slobodan softver u jednostavnom smislu da ako
je jedinstven, korisnik ima sva prava na njega. No, dublje
gledajui, nema smisla razmiljati o privatnom softveru na nain je li
on slobodan ili nije.
Komercijalni softver Komercijalni softver je softver razvijen sa
ciljem da se na njemu zaradi novac. Komercijalni softver i vlasniki
(proprietary) softver nisu ista stvar. Veina komercijalnog softvera
je vlasniki softver ali postoji i komercijalni softver koji je
slobodan isto kao to postoji neslobodni (non-free) ne-komercijalni
softver. Vana stvar je naglasiti da je mogu slobodan komercijalni
softver. Zato ne bi smo trebali govoriti komercijalni softver kad
mislimo na vlasniki sofver.
21/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
GNU LICENCA GNU Opa javna licenca - prijevodGNU OPA JAVNA
LICENCA verzija 2, lipanj 1991.This is an unofficial translation of
the GNU General Public License into Croatian. It was not published
by the Free Software Foundation, and does not legally state the
distribution terms for software that uses the GNU GPL--only the
original English text of the GNU GPL does that. However, we hope
that this translation will help Croatian speakers understand the
GNU GPL better. Ovo je neslubeni prijevod GNU Ope javne licence na
hrvatski jezik. Nije ga objavio Free Software Foundation i zakonito
ne izrie uvjete distribucije programa koji koriste GNU GPL - to ini
samo izvorni, engleski tekst GNU GPL-a. Meutim, nadamo se da e ovaj
prijevod pomoi hrvatskim itateljima u boljem razumijevanju GPL-a.
Copyright (C) 1989., 1991. Free Software Foundation, Inc. 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA. Umnaanje i
distribuiranje primjeraka ove licence jednakih izvorniku doputeno
je svakomu, no njeno je mijenjanje zabranjeno.
PredgovorLicence veine programa nastoje vam oduzeti slobodu da
ih dijelite i mijenjate. Tomu nasuprot, GNU Opa javna licenca jami
vam slobodu dijeljenja i mijenjanja slobodnih programa -- kako bi
program bio slobodan za sve svoje korisnike. Ova Opa javna licenca
vrijedi za vei dio programa Free Software Foundationa i bilo koji
drugi program iji se autor obvee na njeno koritenje. (Neke druge
programe Free Software Foundationa pokriva GNU Opa javna licenca za
knjinice.) I vi je moete primjeniti na svoje programe. Kada
govorimo o slobodnim programima, govorimo o slobodi, a ne cijeni.
Naa Opa javna licenca je stvorena kako bi vam zajamila slobodu
distribuiranja primjeraka slobodnih programa (i, ako elite,
naplaivanje toga), primanje izvornog koda ili mogunost da ga
dobijete, mogunost mijenjanja programa ili koritenja njegovih
dijelova u novim slobodnim programima; te saznanje da to moete
uiniti. Kako bi zatitili vaa prava, moramo postaviti ogranienja
koja zabranjuju bilo kome poricanje ovih prava ili zahtjev da ih se
odreknete. Ova ogranienja predstavljaju odreene odgovornosti za vas
ako distribuirate ili mijenjate primjerke programa. Na primjer, ako
distribuirate primjerke takvog programa, besplatno ili ne,
primateljima morate dati sva prava koja imate i sami. Takoer, oni
moraju dobiti izvorni kod ili mogunost njegova dobivanja. A vi ih
morate obavijestiti o ovim uvjetima kako bi znali svoja prava. Vaa
prava titimo u dva koraka: 1. stavljajui autorska prava na program,
te 2. nudei vam ovu licencu koja vam omoguava zakonito umnaanje,
distribuiranje i/ili mijenjanje programa.
22/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
Takoer, zbog zatite svakog autora i nas, elimo biti sigurni da
svi razumiju da za ovakve slobodne programe nema jamstva. Ako
program netko promijeni i poalje dalje, elimo da njegovi primatelji
znaju kako ono to su dobili nije izvornik, kako bilo kakvi problemi
u takvoj verziji ne bi utjecali na ugled izvornog autora. Na kraju,
svakom slobodnom programu stalno prijete patenti. elimo izbjei
opasnost individualnog licenciranja od strane redistributora
slobodnog programa, to bi program uinilo vlasnitvom. Da to
sprijeimo, razjasnili smo kako svaki patent mora biti licenciran za
svaiju slobodnu uporabu ili uope ne biti licenciran. Slijede tone
obveze i uvjeti za umnaanje, distribuiranje i mijenjanje.
GNU OPA JAVNA LICENCA OBVEZE I UVJETI ZA UMNAANJE,
DISTRIBUIRANJE I MIJENJANJE0. Ova Licenca vrijedi za svaki program
ili drugo djelo koje sadri obavijest vlasnika autorskog prava prema
kojoj se ono moe distribuirati pod uvjetima ove Ope javne licence.
Pojam "Program" nadalje se odnosi na svaki takav program ili djelo,
a "djelo zasnovano na Programu" odnosi se na Program ili bilo koji
rad izveden iz njega po zakonu o autorskim pravima: dakle, djelo
koje sadri program ili njegov dio, toan ili s promjenama i/ili
preveden na drugi jezik. (Nadalje, prijevod je bez ogranienja
ukljuen u pojam "promjena".) Svakom korisniku licence obraamo se
kao "vama". O aktivnostima osim umnaanja, distribucije i mijenjanja
ova Licenca ne govori; one su izvan njenog dosega. in pokretanja
Programa nije ogranien, a o njegovom rezultatu govorimo samo ako je
sadraj rezultata takoer djelo zasnovano na Programu (bez obzira to
ga je stvorio Program). Je li to istina ovisi o funkciji Programa.
1. Smijete umnaati i distribuirati tone kopije izvornog koda
Programa kakvog ga dobijete, na bilo kakvom mediju, ako oigledno i
prikladno na svakoj kopiji istaknete odgovarajuu poruku o autorskim
pravima i odricanje jamstava; ostavite nepromijenjenim sve
obavijesti koje se odnose na ovu Licencu i na nepostojanje
jamstava; i dajte svakom primatelju Programa primjerak ove Licence
zajedno s Programom. Smijete naplatiti fiziki in prenoenja kopije i
moete po svom izboru ponuditi jamstvo za naplatu. 2. Smijete
mijenjati svoj primjerak ili primjerke Programa ili bilo kojeg
njegovog dijela, tako oblikovajui djelo zasnovano na Programu, i
umnaati i distribuirati takve promjene ili djelo pod uvjetima
prethodnog Dijela 1., ako zadovoljavate ove uvjete: a) Promijenjene
datoteke moraju nositi istaknute obavijesti da ste promijenili
datoteke i datum svake promjene. b) Svako djelo koje distribuirate
ili objavite, a koje u cjelosti ili djelomino sadri ili je izvedeno
iz Programa ili njegovog dijela, mora biti licencirano u cjelosti
bez naplate svima pod uvjetima ove Licence. c) Ako promijenjeni
program, kada je normalno pokrenut, ita naredbe interaktivno, on
mora, pokrenut za takvu interaktivnu uporabu u najuobiajenijem
nainu, ispisati ili prikazati obavijest koja ukljuuje odgovarajuu
poruku o autorskim pravima i obavijest da nema jamstva (ili
drugaiju, koja kae da vi jamite) i da korisnici mogu ponovno
distribuirati program pod ovim uvjetima, i objasniti korisniku kako
da proita primjerak ove Licence. (Iznimka: ako je sam Program
interaktivan, ali obino ne ispisuje takvu obavijest, vae djelo
zasnovano na Programu ne mora ispisati obavijest.)
23/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
Ove potrebe vrijede za promijenjeno djelo u cjelini. Ako
raspoznatljivi dijelovi tog djela nisu izvedeni iz Programa, i mogu
se sami razumno smatrati nezavisnim i odvojenim djelima, onda ova
Licenca, i njeni uvjeti, ne vrijede za te dijelove kada ih
distribuirate kao zasebna djela. Ali ako distribuirate iste
dijelove kao dio cjeline koja je djelo zasnovano na Programu,
distribucija te cjeline mora zadovoljavati uvjete ove Licence, ije
dozvole drugima koji su je licencirali vrijede za cjelinu, odnosno
svaki njen dio bez obzira tko ga je napisao. Dakle, ovom dijelu
nije namjera da dobije prava ili da pobija vaa prava na djelo koje
ste vi napisali u cjelini; namjera mu je poboljati pravo nadzora
distribucije izvedenih ili skupljenih djela zasnovanih na Programu.
Takoer, sama integracija drugog djela nezasnovanog na Programu s
Programom (ili djelom zasnovanim na Programu) na mediju
pohranjivanja ili distribucije ne dovodi to drugo djelo u doseg ove
Licence. 3. Smijete umnaati i distribuirati Program (ili djelo na
njemu zasnovano, po Dijelu 2.) u objektnom kodu ili izvrnom obliku
pod uvjetima Dijela 1. i 2. ako uinite jedno od sljedeeg: a)
Popratite ga potpunim odgovarajuim strojno itljivim izvornim kodom,
koji mora biti distribuiran pod uvjetima Dijela 1. i 2. na mediju
po izboru koritenom za razmjenu programa; ili b) Popratite ga
pisanom ponudom, koja vrijedi barem tri godine, da ete svakoj treoj
stranci dati, za cijenu ne veu od vaeg troka fizikog vrenja
distribucije izvornog koda, potpunu strojno itljivu kopiju
odgovarajueg izvornog koda, koju e se distribuirati pod uvjetima
Dijela 1. i 2. na mediju po izboru koritenom za razmjenu programa;
ili c) Popratite ga informacijama koje ste vi primili o ponudi za
distribuciju odgovarajueg izvornog koda. (Ova mogunost vrijedi samo
za nekomercijalnu distribuciju i samo ako ste primili program u
objektnom kodu ili izvrnom obliku s takvom ponudom, prema
prethodnom Odlomku b.) Pod izvornim kodom za djelo mislimo na
eljeni oblik djela za njegovo mijenjanje. Za izvrno djelo, potpuni
izvorni kod odnosi se na izvorni kod svih modula koje ono sadri, uz
datoteke koje definiraju svako ukljueno suelje, uz skripte za
nadzor prevoenja i instalacije izvrne datoteke. Meutim, kao posebna
iznimka, distribuirani izvorni kod ne mora ukljuiti bilo to to se
obino distribuira (bilo u izvornom kodu, bilo u izvrnom obliku) s
glavnim dijelovima (prevodioc, jezgra, itd.) operacijskog sustava
na kojem izvrna datoteka radi, osim ako sam taj dio prati izvrnu
datoteku. Ako se izvrna datoteka ili objektni kod distribuira
omoguavanjem pristupa kopiji na odreenom mjestu, onda se
omoguavanje jednakog pristupa izvornom kodu smatra distribucijom
izvornog koda, iako se drugi ne prisiljavaju na umnaanje izvornog
koda zajedno s objektnim. 4. Ne smijete umnaati, mijenjati,
podlicencirati ili distribuirati Program osim kako je izraeno u
ovoj Licenci. Bilo kakav pokuaj umnaanja, mijenjanja,
podlicenciranja ili distribuiranja Programa je nezakonit, i odmah
ponitava vaa prava prema ovoj Licenci. Meutim, strankama koje su od
vas dobile kopije ili prava pod ovom Licencom nee biti ponitene
licence, dok zadovoljavaju sve uvjete. 5. Ne morate prihvatiti ovu
Licencu, poto ju niste potpisali. Meutim, nita vam drugo ne jami
dozvolu za mijenjanje ili distribuciju Programa ili iz njega
izvedenih djela. Te su radnje zakonom zabranjene ako ne prihvatite
ovu Licencu. Prema tome, mijenjanjem ili distribuiranjem Programa
(ili djela na njemu zasnovanog), pokazujete svoj pristanak na
ovu
24/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
Licencu, i sve njene obveze i uvjete za umnaanje, distribuiranje
i mijenjanje Programa ili djela na njemu zasnovanih. 6. Svaki put
kada ponovo distribuirate Program (ili bilo koje djelo zasnovano na
Programu), primatelj automatski prima licencu od izvornog vlasnika
za umnaanje, distribuiranje ili mijenjanje Programa prema ovim
obvezama i uvjetima. Ne smijete nametnuti bilo kakva daljnja
ogranienja na primateljevo koritenje ovdje zajamenih prava. Niste
odgovorni za traenje zadovoljavanja ove Licence od drugih stranaka.
7. Ako vam se, kao posljedicu sudske presude ili tube za krenje
patenta ili iz bilo kojeg drugog razloga (ne samo to se tie
patenata), nameu obveze (bilo sudskim nalogom, nagodbom, ili
drukije) u kontradikciji s uvjetima ove Licence, to ne znai da
smijete kriti uvjete ove Licence. Ako ne moete distribuirati tako
da zadovoljavate istodobno i svoje obveze pod ovom Licencom i sve
ostale odgovarajue obveze, onda kao posljedicu uope ne smijete
distribuirati Program. Na primjer, ako patentna licenca ne doputa
slobodnu redistribuciju Programa svima koji njegove kopije dobiju
izravno ili neizravno od vas, onda je jedini nain na koji moete
zadovoljiti i nju i ovu Licencu prestanak distribuiranja Programa.
Ako se bilo koji dio ovog Dijela dri nevaeim ili neprovedivim pod
bilo kakvim okolnostima, namjena je Dijela da vrijedi i Dio u
cjelini namijenjen je da vrijedi u drugim okolnostima. Ovom Dijelu
nije svrha da vas potakne na krenje patenata ili drugih prava na
vlasnitvo ili na njihovo pobijanje; jedina mu je svrha zatita
integriteta distribucijskog sustava slobodnih programa, kojeg
implementira javna praksa. Mnogi ljudi su velikoduno pridonijeli
velikom broju programa distribuiranim kroz taj sustav pouzdajui se
u dosljednu primjenu tog sustava; na autoru/donatoru je odluka da
li e programe distribuirati nekim drugim sustavom i korisnik
licence ne moe mu nametati svoj izbor. Namjera ovog Dijela je
razjanjavanje onoga za to se vjeruje da su posljedice ostatka
Licence. 8. Ako je distribucija i/ili koritenje Programa u nekim
dravama ogranieno bilo patentima bilo sueljima na koje se polau
autorska prava, izvorni vlasnik autorskih prava koji je Program
stavio pod ovu Licencu moe dodati eksplicitno zemljopisno
ogranienje distribucije izuzimajui takve drave, i inei distribuciju
dozvoljenom samo u ili meu dravama koje nisu izuzete. U tom sluaju,
ova Licenca ukljuuje ogranienje kao da je napisano u tijelu ove
Licence. 9. Free Software Foundation s vremena na vrijeme moe
objaviti promijenjene i/ili nove verzije Ope javne licence. Takve
nove verzije bit e duhom sline sadanjoj, no mogu se razlikovati u
detaljima kako bi se rijeili novi problemi ili brige. Svakoj
verziji se daje razliit broj verzije. Ako Program navodi broj
verzije ove Licence koja za njega vrijedi i "bilo koja kasnija
verzija", smijete potovati obveze i uvjete te verzije ili bilo koje
kasnije verzije koju je objavio Free Software Foundation. Ako
Program ne odreuje broj verzije ove Licence, smijete odabrati bilo
koju verziju ikad izdanu od strane Free Software Foundationa. 10.
Ako elite ukljuiti dijelove Programa u druge besplatne programe iji
se uvjeti distribucije razlikuju, piite autoru i traite njegovu
dozvolu. Za programe ija autorska prava ima Free Software
Foundation, piite Free Software Foundationu; ponekad radi toga
radimo iznimke. U odluivanju e nas voditi dva cilja uvanja slobode
svih izvedenica iz naeg programa i promicanje dijeljenja i ponovnog
koritenja programa openito. NEMA JAMSTVA
25/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
11. POTO JE PROGRAM LICENCIRAN BESPLATNO, ZA PROGRAM NEMA
JAMSTVA, U MJERI DOPUTENOJ PRIMJENJIVIM ZAKONOM. OSIM AKO JE
DRUKIJE IZRAENO NAPISMENO, VLASNICI AUTORSKIH PRAVA I/ILI DRUGE
STRANKE PROGRAM DAJU "KAKAV JEST" BEZ JAMSTVA BILO KOJE VRSTE,
IZRAENOG ILI PODRAZUMIJEVANOG, UKLJUUJUI, ALI NE SAMO NJIH,
PODRAZUMIJEVANA JAMSTVA TRGOVINSKE PRIKLADNOSTI I ODGOVARANJA
ODREENOJ SVRSI. SVI RIZICI VEZANI ZA KVALITETU I BRZINU PROGRAMA
OSTAJU NA VAMA. AKO SE PROGRAM POKAE NEVALJANIM, VI SNOSITE SVE
TROKOVE POTREBNOG ODRAVANJA, POPRAVLJANJA I ISPRAVLJANJA. 12. NI U
KOJEM SLUAJU, OSIM NUNO PO PRIMJENJIVOM ZAKONU ILI NAGODBOM
NAPISMENO, BILO KOJI VLASNIK AUTORSKIH PRAVA, ILI BILO KOJA DRUGA
STRANKA KOJA SMIJE MIJENJATI I/ILI REDISTRIBUIRATI PROGRAM KAKO JE
DOZVOLJENO GORE, NEE BITI VAMA ODGOVORAN ZA TETE, UKLJUUJUI OPE,
POSEBNE, SLUAJNE ILI POSLJEDINE TETE PROIZALE IZ KORITENJA ILI
NEMOGUNOSTI KORITENJA PROGRAMA (UKLJUUJUI, ALI NE SAMO NJIH,
GUBITAK PODATAKA ILI INJENJE PODATAKA NETONIM ILI GUBITKE VAS ILI
DRUGIH STRANAKA ILI NEUSPJEH PROGRAMA DA RADI S BILO KOJIM DRUGIM
PROGRAMOM), AK I AKO JE TAKAV VLASNIK ILI DRUGA STRANKA UPOZORENA
NA MOGUNOST TAKVIH TETA. KRAJ OBVEZA I UVJETA
26/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
Vrste GNU licenciPostoje tri vrste GNU licenci: GNU GPL Koristi
se sa veinom GNU programa i sa vie od polovice svih slobodnih
softverskih paketa. Osnovna ideja je da prui potpunu slobodu
korisnicima softvera i onemogui dodavanje ikakvih dodatnih
restrikcija na program. GNU General Public Licence (GNU GPL) GNU
Lesser General Public License (GNU LGPL) GNU Free Documentation
Licence (GNU FDL)
GNU LGPL Koristi se za neke (ne sve) GNU biblioteke (library).
Ova licenca se je nekad zvala "Library GPL" ali joj je ime
promjenjeno jer je navodila ljude da je koriste ee no to je to
potrebno. Glavna razlika je u tome to se biblioteka izdana pod LGPL
moe upotrijebiti i u vlasnikom softveru dok se biblioteka izdana
pod obinom GPL smije upotrijebiti samo u slobodnom softveru. to je
od toga bolje, stvar je strategije i ovisi za svaku biblioteku
posebno.
GNU FDL Koristi se za dokumentaciju koja se izdaje uz slobodan
softver (no ne nuno samo za to). Daje slobodu svima da koriste,
kopiraju, mijenjaju, distribuiraju tu dokumentaciju, besplatno ili
uz naknadu.
27/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
ZAKLJUAKGNU pokret je pokrenut iz jednostavog razloga - elje za
slobodom, elje da se napravi neto pozitivno, neto od ega e svi
imati koristi. Ljudi koji su to gurali imali su teak zadatak ispred
sebe, napraviti slobodan operacijski sustav. Nisu imali neograniena
materijalna sredstva za to, nisu imali ni obeanje da ih novac eka
na kraju tog dugog puta. Imali su samo znanje i veliku volju. Malo
po malo, kako se je sve vie ljudi ukljuivalo u pokret, uspjeli su
doi do svog cilja (iako ne ba onako kako su imali u planu na
poetku). Nastao je GNU/Linux. Svijet je dobio slobodni operacijski
sustav (u nekim verzijama). Je li on bolji ili loiji od drugih? O
tome postoje podjeljena miljenja no to nije vano. Vano je da je on
slobodan to znai da ako netko smatra da neto ne valja i da moe
bolje, ima slobodu to sam napraviti. To mu je omogueno time to ima
izvorni kod i time to mu GNU licenca pod kojom dolazi osigurava to
pravo.
Druga stvar koja je proistekla iz tog pokreta je pojam slobodan
(free) softver. Pokazalo se da je taj softver u pravilu bolji i
pouzdaniji od vlasnikog (proprietary) softvera. Razlog je ponovno
taj to slobodan softver dolazi sa izvornim kodom. Dostupnost
izvornog koda omoguuje bilo kome da proui taj softver i samim time
se bugovi bre pronalaze. Takoer, sloboda da se mijenja kod omoguuje
bilo kome da prilagodi program upravo svojim potrebama. Time se
dobija velika baza gotovog softvera u kojoj svatko moe nai neto
korisno za sebe, pogotovo ako sam nije vian programiranju.
Kakva je budunost GNU pokreta i slobodnog softvera? To je teko
pitanje. S jedne strane imamo velike kompanije sa mnogo novca koje
na razne naine ele zaustaviti slobodan softver koji je zbog svoje
kvalitete postao ozbiljan konkurent njihovim loim poluproizvodima,
a potpuno je besplatan. Ide se ak tako daleko da se pokuava uvesti
patent na softverske algoritme to je po mom miljenju totalno
apsurdno i glupo, da ne kaem opasno. Apsurdna je sama ta ideja da
se neto tako apstraktno kao to je znanje, moe smatrati materijalnim
dobrom i polagati prava na to. Drugi problem GNU pokreta i
slobodnog softvera je taj to se izdavanjem programa kao slobodnog
(pod GNU GPL) ne moe obogatiti budui da svatko tko jednom dodje do
programa tako izdanog, moe ga dalje distribuirati bez ikakve
naknade autoru. Iako postoje naini da se i takav softver unovi
(donacije, posebne prilagodbe
28/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
softvera i sl.) zarada nikada nije i ne moe biti ni blizu onoj
koja se okree u vlasnikom softveru.
Kod nekih drava (ukljuujui i Hrvatsku) veliki problem u
prihvaanju slobodnog softvera je i vrlo razvijena kultura piratsva.
U zemljama gdje piratsvo nije tako raireno slobodan softver je
dobar izbor i zbog svoje cijene (besplatan je). Tamo gdje je
piratski softver normalna stvar, jedina prednost slobodnog softvera
je to sto dolazi sa izvornim kodom, ali ta prednost veini korisnika
nije bitna jer samo rijetki imaju znanje to iskoristiti.
Na kraju, nebitno kakva budunost eka slobodan softver, on je
sada tu. Poeo je kao ideja jednog ovjeka, tekom mukom i uz puno
odricanja napravio je poetak, pridruili su mu se i drugi i stvar je
krenula. Danas za gotovo sve to postoji kao vlasniki softver
postoji i verzija slobodnog softvera, koji budui da je nastao iz
ljubavi prema programiranju a ne zbog novca, je obino bolji i
kvalitetniji. Zbog toga svi mi imamo mogunost izbora (jo kad bi se
i igre izdavale pod GNU licencom kao slobodan softver, gdje bi nam
bio kraj). :)
29/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima GNU filozofija i GNU
licenca
NAPOMENEMaterijal i ideje za ovaj seminar sam naao uglavnom na
web stranici http://www.gnu.org ili linkovima koji su postavljeni
tamo. Zbog prirode teme, nisam mogao pisati samo injenice nego je
velik dio rada zapravo stav i razmiljanje jednog ovjeka, Richarda
Stallmana (osim zakljuka koji je iskljuivo moje miljenje o svemu
tome). Najvei problem mi je bio prevoenje nekih rijei koje u
hrvatskom jeziku nemaju zamjenu ili ako i imaju, runo zvue. Zbog
toga sam neke rijei ostavio u izvornom, engleskom obliku. Prijevod
GNU licence (pod 4.1) sam kopirao takoer sa http://www.gnu.org jer
ja i tako to ne mogu bolje prevesti a i bilo bi suvino prevoditi
kad prijevod ve postoji.
30/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
Dario Mioi
Povijest i nastanak UNIX-a
31/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
1. UVOD
Unix je roen 1969. u New Jersey-u kao rezultat nezadovoljstva
zbog povlaenja AT&T evog BTL-a (Bell Telephone Labs) iz
projekta Multics (Multiplexed Information and Computing Service)
koji je bio zdrueni pothvat BTL-a, General Electric-sa i MIT-a u
kreiranju operativnog sustava za velika raunala s mogunou rada vie
tisua korisnika istovremeno.
Pria o rastu i razvoju Unix-a je pria o jednom od najveih
napredaka u raunalnoj povijesti. Kao to je rekao David Tolbrook :
Unix je omoguio korisnicima stvari koje su prije bile jednostavno
nezamislive. On takoer naglaava da Unix nije toliko ogroman
napredak u raunarstvu koliko je veliko pojednostavljenje, koje je
pokazalo da se relativno mali operativni sustav moe izvravati na
razliitim hardverskim platformama, te da moe biti portabilan,
neovisan o raunalu i pristupaan.
Neke od najveih prednosti Unix-a ne dolaze od njegove
jednostavnosti, nego od stvarno zajednikog naina razvoja i
evolucije. Umjesto da bude proizvod jednog proizvoaa sa nekim
odreenim hardverom, Unix je nastao kao rezultat elje pojedinaca da
naprave sustav koji bi bio jednostavan, kojeg bi moglo koristiti
vie korisnika i koji bi mogao sluiti kao ugodno okruenje za
programiranje.
Ouh Unix-a, AT&T, je imao vrlo stroga kuna pravila za Unix
koja su naglaavala da nema podrke, nema popravaka pogreaka i da
nema autorstva. Stroga pravila AT&T-a su se suprostavljala
osnovnoj ideji Unix-a, ali su takoer prouzroila jaku suradnju meu
korisnicima Unix-a. Kao rezultat toga, Unix je ne samo prvi
portabilni operativni sustav, nego i prvi, ako ne i jedini
operativni sustav razvijen u meusobnoj suradnji pravi otvoreni
sustav.
32/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
2. PORODINO STABLO
Korijeni Unix-a seu do Multics-a, koji e kasnije postii
ogranieni uspjeh, no 1969. Multics je jedva mogao posluivati tri
korisnika istovremeno. Ken Thompson, iz BTL-a, je poeo razvoj igre
nazvane Space Travel na Multics-u. Meutim, kako je izvoenje Space
Travel-a oduzimalo mnogo procesorske snage raunala GE-645, bilo je
potrebno nai neko drugo rjeenje.
Na sreu, Thompson i Dennis Ritchie su pronali neiskoriten DEC
PDP-7 sa 340 ekranom. Operativni sustav se sastojao samo od
assemblera i loader-a, i samo je jedan korisnik mogao koristiti
raunalo istovremeno. U takvom ogranienom okruju, dijelovi
jednokorisnikog Unix sustava su brzo razvijeni. Space Travel je
napisan ponovo za PDP-7, a napisani su i assembler i rudimentarni
kernel operativnog sustava. Tijekom travnja, svibnja i lipnja 1969.
Thompson je razmiljao o pisanju viekorisnikog sustava datoteka. Iz
diskusije Dennisa Ritchiea, Rudd Canadeya i Kena Thompsona nastao
je koncept sustava datoteka koji je implementiran za dan-dva na
raunalu PDP-7.
Slika 1. PDP - 7
33/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
Bilo je nekoliko neuspjelih pokuaja da se BTL uvjeri da nabavi
novo raunalo za svoju razvojnu grupu (computer research group) zbog
toga to je 1969. svako naruivanje raunala podrazumijevalo troak od
100 000$ ili vie. Niti jedan od pokuaja nije uspio sve dok se Joe
Ossanna nije sjetio da predloi kupovinu raunala PDP-11 za obradu
teksta. Administracija BTL-a je to smatrala vrijednom
investicijom.
34/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
3. UNIX RAZVOJNI SUSTAV
U ljeto 1970. raunalo PDP-11/20 je napokon stiglo. Ubrzo je na
njega preneen Unix. Znali smo da se radi o prijevari. Obeali smo
razviti program za obradu teksta, a ne operativni sustav, istie
Ritchie. Meutim, program za obradu teksta je bio uspjean i patentni
odjel BTL-a bio je prvi korisnik Unix-a, dijelei PDP-11/20 sa
razvojnom grupom.
Daljnji razvoj Unix-a nastavio se oko nekoliko jednostavnih
principa: pisati programe koji rade jednu stvar i to dobro, pisati
programe koji mogu meusobno razmjenjivati podatke i pisati programe
koji rade sa tokovima znakova (text streams). To su bile osnove
univerzalnog suelja svih programa.
Slika 3. Dennis Ritchie (stoji) i Ken Thompson poinju prenositi
UNIX na PDP-11 putem dva Teletype 33 terminala
35/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
3.1. Unix poinje dobivati oblikOno to je Thompson imao na PDP-7
je bio sustav, ali ne ba pravi operacijski sustav. Tako je za
vrijeme ljeta 1969., Thompson poeo implementirati sustav na papiru,
koji je Ritchie nazivao i "sustav od krede", jer je proizaao iz
mnogobrojnih diskusija na ploama u CSRC-u. "Posvetio sam posebno
svaki tjedan operacijskom sustavu, Shell-u, Editor-u, i Assembler-u
da reproducira samog sebe." Prvo je izradio potrebe za operacijskim
sustavom. Zatim je izradio mali set korisnikih alata: za kopiranje,
ispis, brisanje i ureivanje datoteka; i izradio je shell.
3.2. Izgledalo je kao operacijski sustav, skoroPoetna izvedba,
"bila je potpuno ispoetka napisana na taj nain da je izgledalo kao
operacijski sustav", rekao je Thompson, "sa alatima koji su bili
poznati, kao to su assembler, editor, shell". Sustav, rekao je,
"ako se ne odrava sam, onda je bar na pragu toga, potpuno odvojen
od GECOS mree ". Mislio je na injenicu da su do sada, svi programi
bili pisani koristei GECOS, a zatim prebaeni na PDP-7 pomou
papirnate trake. Ali kad je assembler sastavljen, sustav je bio
sposoban podravati samog sebe. Kao to je Ritchie na kraju rekao:
"Iako je Brian Kernighan tek duboko u 1970-ima predloio ime UNIX,
ali operacijski sustav kojeg znamo danas, se rodio."
3.3. Stvaranje operacijskog sustava UNIXNakon tri desetljea
uporabe, UNIX operacijski sustav iz Bell Labaratorija i dalje je
jedan od najsnanijih i fleksibilnih operacijskih sustava na
svijetu. Njegova popularnost dolazi iz mnogo faktora ukljuujui
sposobnost izvravanja na raznim strojevima, od mikro do
superraunala i njegovoj prenosivosti, sve to je vodilo tome da ga
mnogi proizvoai prihvate. Kao i druga legendarna tvorevina ije ime
zavrava isto sa 'x, UNIX je izniknuo iz pepela multi-organiziranog
truda ranih 1960-ih, da bi razvio ovisan vremenski djeljiv
operacijski sustav.
36/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
Zajedniki trud nije bio uspjean, no nekoliko ostalih iz Bell
Labaratorija pokualo je ponovno. Ono to je uslijedilo bio je sustav
koji svojim korisnicima nudi radnu povrinu koja je opisana kao ona
"neobine lakoe, snage, elegancije... " Sustav je takoer prihvatio
drugaiji pristup dizajniranju software-a na nain da se problemi
rjeavaju povezujui manje alate, a ne kreiranjem ogromnih
aplikativnih programa. Njegova izrada i evolucija vodila je novoj
filozofiji izrade raunala i bila je nepresuan izvor izazova i
radosti programerima diljem svijeta.
37/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
4. PREGLED OPERACIJSKOG SUSTAVA UNIX UNIX operacijski sustav
dizajniran je na nain da omoguava programerima da u isto vrijeme
koriste raunala i dijele resurse.Operacijski sustav koordinira
upotrebu resursa tako da omoguava jednoj osobi da pokrene program
za provjeru pravopisa, dok drugi kreira dokument, doputa drugome da
ureuje dokument dok opet netko drugi kreira grafiku, a neko trei
formatira dokument, sve u isto vrijeme, a da korisnici ne znaju za
aktivnosti drugih korisnika. Sustav kontrolira sve naredbe sa svih
tipkovnica i svi podaci se obrauju, a doputa svakom korisniku da
misli kako je on jedini koji radi na raunalu. To dijeljenje resursa
u realnom vremenu ine UNIX jednim od najsnanijih operacijskih
sustava ikad. Iako su UNIX napravili programeri za programere, on
prua snano i fleksibilno okruenje, pa ga se moe nai i u znanosti,
na akademijama, u industriji, u poslovanju... Mnoge
telekomunikacijske sustave kontroliraju administracijski sustavi
bazirani na UNIX-u. Iako je dizajniran za srednje velika raunala,
operacijski sustav je ubrzo prenesen na vea, snanija raunala. A
kako su osobna raunala postajala popularnija, verzije UNIX-a su se
nale i u njima, a i mnoge kompanije proizvode kompjutere bazirane
na UNIX-u za znanstvene i programerske zajednice. 5. ZNAAJKE UNIX-a
Znaajke koje su uinile UNIX hitom su: viezadanost, viekorisniki
rad, prenosivost, UNIX programi, rjenici i aplikacijski
software.
5.1. Viezadanost:Mnoga raunala izvode samo jednu zadau odjednom.
Unix im omoguava da izvode vie stvari odjednom. To je velika stvar
za korisnike, jer ne moraju ekati da jedna aplikacija zavri da bi
poeli izvoditi drugu.
5.2. Viekorisniki rad:Ista mogunost koja omoguava viezadanost,
omoguava i da vie korisnika koristi raunalo. Raunalo moe primati
naredbe od vie korisnika - ovisno o njegovom dizajnu - za izvoenje
programa, pristup podacima, ispis dokumenata, sve u isto vrijeme.
Raunalo ne moe rei pisau da ispie sve zahtjeve odjednom, ali ono
postavi prioritete uvajui sve u redu.
38/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
5.3. Prenosivost sustavaGlavni doprinos sustava UNIX njegova je
prenosivost, koja dozvoljava da ga se seli s jedne marke raunala na
drugu, s minimalnim promjenama kodova. To je znailo veliku utedu u
nadogradnji i hardware-a i software-a. Time se moglo i nadograditi
operacijski sustav bez ponovnog unoenja korisnikovih podataka, a
nove verzije UNIX-a bile su kompatibilne i sa starima.
5.4. Unix alatiUNIX dolazi sa stotinama programa koji se mogu
podijeliti u dvije klase: integralni alati koji su neophodni za rad
kompjutera dodatni alati koji nisu neophodni za rad UNIX-a, ali
pruaju korisniku dodatne mogunosti Alati mogu biti dodani ili
oduzeti s UNIX-a, ovisno o potrebnim aplikacijama.
5.5. Komunikacija Unix-aE-mail je danas svakodnevnica, ali je na
svoje doao tek u poslovnoj zajednici u posljednjih 10 godina, dok
ga korisnici UNIX-a koriste ve vie desetljea. UNIX e-mail je u
poetku dozvoljavao korisnicima istih raunala da komuniciraju preko
njihove mree. Kasnije su prikljueni korisnici na razliitim
kompjuterima i njima je dozvoljen e-mail. I na kraju, UNIX sistemi
diljem svijeta su spojeni u WWW, desetljeima prije pojave dananjeg
WWW-a.
5.6. Arhive podatakaUNIX kao to je poznato nije razvijen preko
noi, onog trena kad je prebaen iz Bell Labaratorija na sveuilita,
svaki programer zapoeo je s razvojem programa za UNIX. Danas
postoje stotine programa i aplikacija koje se mogu nabaviti uz
postojee aplikacije koje dolaze uz UNIX.
39/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
6. ORGANIZACIJA UNIX-a UNIX je organiziran na tri nivoa: KERNEL
koji se brine o rasporedu izvravanja zadaa i o spremanju podataka
SHELL koji povezuje i prevodi korisnikove zahtjeve, zove programe
iz memorije i izvrava ih Alati i aplikacije koje omoguavaju dodatne
funkcije operacijskom sustavu.
6.1. KernelKernel je program koji kontrolira pristup svim
fizikim resursima sistema. Uitava se u memoriju sistema kod dizanja
(boot) i tamo ostaje dok sistem radi. Srce operacijskog sustava
koje kontrolira hardware i ukljuuje dijelove raunala na zahtjev
programera. Ako damo naredbu (ls) kompjuteru, ono e rei kompjuteru
da proita sve datoteke u direktoriju sa diska i prikae ih na
ekranu.
6.2. ShellShell predstavlja suelje korisnika sa sistemom. Pokree
se kad se korisnik prijavi (login). Shell promptom obavjetava
korisnika da je spreman unos komandi. U Unix-u imamo tri vrste
shella: Bourne shell, C-shell i Korn shell.
6.3. Alati i aplikacijePostoje stotine alata za UNIX korisnike.
Alati su grupirani u kategorije za odreene funkcije, kao to su
obrada teksta, poslovne aplikacije, programiranje
40/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
7. NASTANAK PROGRAMSKOG JEZIKA C
7.1. Od programskog jezika B preko NB do CPrva verzija UNIX-a je
napisana u assemblerskom jeziku, ali Thompson je htio da se UNIX
napie u nekom viem programskom jeziku. On je 1971. prvo pokuao
koristiti Fortran na PDP-7, ali je odustao odmah prvi dan. Radilo
je, ali je bilo i problema. Bilo je presporo i jezik kojim je
napisano nije bio pravi za Byte orijentirane strojeve kao to je bio
novi PDP-11. Ritchie je koristio PDP-11 da doda tipove za B, to je
uskoro nazvano NB "Novi B", tada je poeo pisti i kompilaciju za to.
Tako je C i nastao iz ova dva jezika, uz dodavanje struktura bez
previe izmjena sintaksi. Drugi dio-prepisivanje UNIX-a u C, bio je
sporiji. No, ipak uz mnogo problema i smiljanja to napraviti
uspjelo se i to napraviti-prevesti cijeli operacijski sustav u
C.
7.2. Nastanak cjevovoda.Jo jedna inovacija u UNIX-u je bila
razvoj cjevovoda, koja je omoguavala programerima da obavljaju vie
procesa u isto vrijeme. Doug McIlroy, tada ef odjela u Computing
Science Research Center, dobio je zasluge za koncept cjevovoda, a
Thompson za njihovu izvedbu. McIlroy je radio na makro-ima kasnih
50-ih i teoretizirao je o povezivanju makro-a kako bi se
eliminirala potreba za koritenjem serija naredbi za jedan rezultat.
Ako malo promislite o makro-ima, objasnio je McIlroy, oni
prvenstveno slue za prebacivanje serija podataka. Vrite unos
podataka i iznenada doete do makro poziva koji kae: Prestani
unositi ovdje i poni unositi ondje.
7.3. Povratak ploi s kredom za razvoj sintaksaDok su Thompson i
Ritchie na ploi skicirali sistem podataka, McIlroy je na svojoj
ploi pokuavao skicirati kako povezati procese i koji jezik
koristiti za to. To nije bilo lako. Sintaktiki, nisam bio siguran
kako povezati opcije u lanac, rekao je McIlroy. McIlroy nije
odustao od ideje. U periodu od 1970. do 1972. sam razmiljao to bi
bilo kad bi napravio
41/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
ovo, kako bi bilo ovo Sve dok jednog dana nisam doao do sintaksi
za shell koja se slagala sa cjevovodima, a Ken je rekao Napraviti u
to. Bio je umoran od svega i nije uinio sve tono onako kako sam ja
zamislio. Izmislio je malo bolju sintaksu, koju imamo i danas. No
koristio je moju nespretnu sintaksu. Thompson je vidio da argumenti
datoteka nee odgovarati ovoj shemi, pa je te iste noi promijenio
sve te programe. Ubacio je cjevovode u UNIX, notaciju u shell, sve
u jednoj noi, rekao je McIlroy.
7.4. Stvaranje filozofije programiranja za cjevovode i alateKad
je Thompson kreirao cjevovode, on je takoer ubacio jo neto u UNIX
filozofiju. Kao to je McIlroy to opisao: Filozofija koju su svi
poeli koristiti bila je -Pii programe koji rade jednu stvar i rade
je dobro. Pii programe koji rade zajedno. Pii programe koji rade sa
linijama teksta, zato jer je to univerzalno suelje. Sve te ideje
mogue da su postojale i prije cjevovoda, ali su ipak dole nakon
njih. Kernighan se sloio. Primijetio je da iako unos/ispis prethodi
cjevovodima, razvoj cjevovoda vodi koncepciji alata softverskih
programa koji e se nalaziti u kutiji s alatima, dostupnoj kad ih
treba. Dodao je da su cjevovodi uinili rad sa softverskim
programima analogno koritenju rimskih brojeva umjesto arapskih.
7.5. PriruniciPrirunici dolaze esto na kraju, nakon to se
proizvod napravi. Unix prirunik, suprotno tome, reflektirao je
filozofiju UNIX-a. ak je upozoravao na greke (bug-ove). Stil
prirunika je bio Ritchiev, ali je McIlroy ubrzo preuzeo njegovu
izradu. injenica da postoji prirunik, na kojem McIlroy inzistira da
bude visokog standarda znaila je da inzistira i na visokom
standardu za sve programe koji se dokumentiraju, objanjava Sandy
Fraser. Fraser tada lan tehnikog osoblja u CSRC-u rekao je da prije
nego je program bio umetnut u prirunik, morao je biti par puta
preraen da bi potivao standarde. I povrh svega, to je vjerojatno
prvi prirunik koji je imao odlomak sa grekama (bug-ovima).
42/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
8. UNIX POSTAJE IROKO DOSTUPAN
Kako je nekoliko korisnika izvan razvojne grupe koristilo PDP-11
za obradu teksta, rasla je potreba da se operativni sustav
dokumentira. Rezultat je bio prvi Unix Programmers Manual koji su
napisali Thompson i Ritchie u studenom 1971. Sadravao je preko 60
naredbi kao to su: b (compile B program); boot (reboot system); cat
(concatenate files); chdir (change working directory); chmod
(change access mode); chown (change owner); cp (copy file); ls
(list directory contents); mv (move or rename file); roff (run off
text); wc (get word count); who (who is one the system).
U drugom izdanju, od lipnja 1972. napisano je da je broj
instalacija Unix-a narastao na 10. Od tog trenutka nadalje razne
verzije koje potiu it New Jersey-a oznaene su izdanjem
(dokumentacije) i verzijom (diskova ili traka).
U listopadu 1973. Thompson i Ritchie su odrali predavanje na
Simpoziju o principima operativnih sustava (SOSP Symposium on
Operating System Principles) i vie nita nije moglo zaustaviti Unix.
Neposredno nakon SOSP-a mnogi su centri traili kopiju operativnog
sustava. Prvi korisnik koji je dobio sustav je bio Lou Katz sa
Columbia University-a u Manhattan-u.
Objavljivanje SOSP referata u Communications of theACM izazvalo
je eksplozivan porast potranje Unix-a. U tom trenutku Unix jo nije
imao ni pet godina.
43/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
9. SURADNJA MEU RANIM KORISNICIMA
Odluka pravnika AT&T-a da omogue obrazovnim institucijama
koritenje Unix-a, ali bez ikakve podrke ili ispravaka greaka imala
je trenutan efekat: natjerala je korisnike da dijele meusobno.
Dijelili su ideje, informacije, programe, ispravke greaka i
hardverske trikove. Prvi sastanak Unix User Group-a, koja e kasnije
postati Usenix Association, odran je 15. svibnja 1974. na
Columbia's College of Physicians and Surgeons. Pojavilo se
dvadesetak ljudi.
Pravnici AT&T-a takoer su uskoro odluili omoguiti jo dvjema
agencijama licenciranje Unix-a: Amerikoj vladi i The Rand
Corporation, istraivakoj grupi koja se financirala iz dravnog
prorauna. To je, meutim, uzrokovalo porast broja korisnika sa 33 u
1975. godini na 138 u 1976. od kojih je 37 bilo izvan Amerike.
1977. Interactive Systems iz Santa Monice u Kaliforniji bila je
prva kompanija koja je podrala Unix komercijalno.
44/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
10. BERKELEY SOFTWARE DISTRIBUTION
Jedan od 33 korisnika iz 1975. godine je bio i University of
California-Berkeley gdje je Ken Thompson bio student. On se 1975.
odazvao na poziv da odri predavanje i donio, naravno, najnoviju
verziju Unix-a.
Nekako u isto vrijeme, dva studenta Chuck Haley i Bill Joy
dolaze na fakultet. fascinirani Unix-om, oni poinju unapreivati
Pascal koji je Thompson napravio, tako da je uskoro prihvaen kao
nastavno pomagalo.
Kada su fakultetski Model 33 Teletype terminali zamijenjeni sa
ADM-3 ekranskim terminalima, Joy je zakljuio da mu treba neto vie
od obinog ed-a (editora koji je dolazio standardno sa Unix-om).
Uzeli su editor em (to zapravo znai ed za smrtnike, u originalu ed
for mortals) koji je napisao George Coulorius za Queen Mary College
u Londonu i od njega napravili linijski editor ex. Iz ex-a je Joy
kasnije razvio vi ekranski editor.
Kada su se vijesti o Haleyevom Joyevom Pascalu proirile, Joy je
kreirao Berkeley Software Distribution. Prva je distribucija
ponuena u oujku 1978. Sadravala je Pascal i editor ex, naplaivala
se 50 dolara, koliko je stajala traka na kojoj je bila
snimljena.
Upravo to to je cijena distribucije bila ista kao i cijena trake
na kojoj je distribuirana, te priznavanje autorstva su najvanije
karakteristike prvih 10 godina Unix-a, a ujedno i razlog zato je
postao tako popularan. Tipina situacija je sljedea: neto je
napravljeno u BTL-u i distribuirano u izvornom kodu. Korisnik u
Engleskoj je napravio neto drugo od toga. Drugi korisnik u
Kaliforniji je unaprijedio englesku verziju i to distribuirao
dalje. Ta unaprijeena verzija je ukljuena u sljedeu BTL
distribuciju. AT&T-eva politika patenata nije mogla nikako to
kontrolirati, a sustav je postajao sve bolji i sve vie
upotrebljavan.
45/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
Bill Joy, koji se bavio distribucijom, poslao je 30 kopija BSD-a
1978. godine. Rad na vi-u doveo ga je do koda za optimizaciju
ispisivanja na razliitim terminalima. Joy je odluio napraviti
interpreter za iscrtavanje ekrana na razliitim terminalima, te je
tako roen termcap.
Sredinom 1978. ve je mnogo toga bilo uinjeno (Pascal je bio
dovoljno robustan, a ukljueni su i vi i termcap), tako da je bilo
vrijeme za drugu distribuciju BSD-a. Joy je sjeo, ukljuio
poboljanja koja su poslali korisnici i poslao 75 kopija 2BSD-a.
46/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
11. UNIX SE IRI
Do tada, Unix se mogao izvoditi samo na DEC PDP raunalima.
Meutim, 1977. Tom Lyon je prenio neke dijelove verzije 6 na IBM 360
u Princetonu. Sljedee godine Ritchie i Steve Johnson te Richard
Miller su prenijeli Unix na raunalo Interdata 8/32 i 7/32. Sustav
nije bio star niti 10 godina, a mogao se izvravati na razliitim
mainama DEC-a i Interdate. Verzija 7 Unix-a bila je prvi prijenosni
Unix.
U trenutku kada je navravao 10 godina, Unix se upotrebljavao
svugdje po svijetu: 1976. instaliran je na univerzitetu u Tokiju,
koristio se na nekoliko univerziteta u Australiji, na mnogim
mjestima u Engleskoj, u Norvekoj, Francuskoj, Danskoj, Austriji i
Izraelu. Sve to je postignuto bez promocije ili tehnike podrke.
Unix verzija 7, koju je BTL izdao u lipnju 1979., sadravala je
mnoga unapreenja: veliki datoteni sustav, neogranien broj korisnika
i poveanu pouzdanost. Bilo je i mnogo novih komandi kao to su awk,
lint, make, uucp, find, cpio i expr. Programmers Manual je narastao
na 400 strana, a pratila su ga dva sveska po jo 400 stranica svaki.
Ova je verzija ukljuivala i potpuni Kernighan i Ritchie C
prevodilac, unaprijeena korisnika ljuska (shell, sh - Bourne shell)
i mnogo include datoteka.
47/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
12. KOMERCIJALIZACIJA
Industrijska primjena Unix-a takoer je dobila zamah sa
pojavljivanjem verzije 7. Pojavilo se i nekoliko 32-bitnih
implementacija (Xenix2 za Intelove 8086 procesore, djelo Microsofta
i Santa Cruz Operation, te portovi za Zilogove Z8000 i Motoroline
68000). Pojavio se takoer i 3BSD potaknut pojavom verzije 7.
Verzija 8 je preuzela vi i termcap (Billa Joya) te curses (Kena
Arnolda) od BSD-a.
Ali, sa verzijom 7 pojavili su se i prvi problemi. Andy
Tanenbaum sa Free University u Amsterdamu to objanjava ovako: Kada
je AT&T izdao verziju 7, shvatio je da je Unix vrijedan
komercijalni proizvod, pa je verziji 7 dodao licencu koja
zabranjuje prouavanje izvornog koda u sklopu predavanja na
univerzitetima. Mnogi univerziteti su reagirali tako to su poeli
predavati samo teoriju.
Tanenbaum je odluio napisati iz poetka novi operativni sustav
koji bi bio kompatibilan sa Unix-om, ali bez linije koda
AT&T-a. Nazvao ga je Minix. To je bio drugi klon Unix-a (prvi
je bio Idris P.J.Plaugera).
Sljadea verzija 4.2BSD-a bila je veliki uspjeh. U prvih 18
mjeseci razaslano je vie kopija 4.2BSD-a nego svih prijanjih BSD-a
zajedno. Mnogi komercijalni operativni sustavi su bazirani na
4.2BSD-u: DEC-ov Ultrix i SUN-ov SunOS su najpoznatiji.
48/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
13. SAZRIJEVANJE UNIX-a
Zanimljivo je kako su razliiti proizvoai prigrlili ili odbacili
Unix. IBM i BTL su razvili spoj TSS/Unix (time-sharing system)
relativno rano, ali to nije imalo utjecaja na IBM. DEC je ignorirao
Unix, dok je Hewlett-Packard, koji je ba kao i IBM i DEC, imao svoj
vlastiti operativni sustav, prigrlio Unix sa velikim entuzijazmom
jednako kao i japanci. Na kraju treba spomenuti i SUN, kod kojeg je
razvoj hardware-a i Unix-a bio simbiotski, i koji je propagirao
BSD.
Interno je DEC za Unix imao NIH (skraenica od not invented here
nije izumljeno ovdje). To to je Unix bio rezultat razvoja BTL-a je
bilo dovoljno da odbije DEC-ove ininjere. Sve od 1978. za veinu
svijeta Unix je znailo AT&T-ev operativni sustav iako je za
AT&T Unix znaio alat za podrku telekomunikacijama.
Kada je sudac Green odluio o Baby Bells-ima (poznati sluaj kada
se AT&T morao odvojiti od Bell-a zbog anti-trustovskih zakona
koji su na snazi u USA), AT&T je mogao i slubeno izdati Unix pa
se pojavio System V. Sredinom i krajem 1980-ih pojavio se veliki
broj komercijalnih dobavljaa Unix-a, aplikacija i mnotvo korisnika.
Unix se probio u velike poslove, Wall Street i pravne firme.
Uskoro su se pojavile dvije rivalske skupine, Open Software
Foundation i Unix International. Ubrzo su uvueni sudovi. Unix
System Laboratories je tuio Berkeley Software Design Inc., tvrdei
da je BSDI povrijedio copyright prava i poslovne tajne USL-a. Tuba
je odbijena zbog toga to je AT&T u poetku distribuirao Unix u
izvornom kodu bez copyrighta. Pojavile su se jo neke tube, ali na
kraju se sve rijeilo, i evolucija se nastavila.
Soalris, HP-UX, AIX, Ultrix i ostale verzije ujedinile su se oko
OSF-a. Unix je utjecao na sve operativne sustave koji se danas
prodaju. Prozori, Multitasking i mree ne bi bile takve kakve su
danas da nije bilo Unix-a. Kao to je to rekao Sunil Des, sa Ciry
University, London: Tehniki, Unix je jednostavan, koherentan sustav
koji nekoliko dobrih ideja iskoritava do49/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
maksimuma. Meutim, neke od ideja nemaju ba nita sa operativnim
sustavima: ima veze sa dijeljenjem, suradnjom, tenjom korisnika za
evolucijom tehnologije koja je bila podrana od cijelog skupa
istraivaa i korisnika spremnih na suradnju.
Povijest Unix-a je u poetku bila jednostavna, za razliku od
zbrke koja nastupa u trenutku kada se Unix komercijalizirao.
50/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
14. POVIJEST BSD VERZIJA
Godina Naziv 1977 1978 1979 1980 BSD 2BSD 3BSD 4BSD
Sadraj Unix Pascal, ex (za PDP-11) Isto kao i BSD uz dodatak vi,
termcap, Mail, more i csh (za PDP-11/34) Virtualna memorija,
Berkeley utilities (sukladno sa 32V za VAX) Bri file system, job
control, pouzdani signali, auto-reboot, delivermail, Franz Lisp (za
VAX-11/750)
1981 1982 1982
4.1BSD 4.1a 4.1b
Automatska konfiguracija, poboljanje performansi Probna verzija
za ARPANET vorove, TCP/IP i sockets Probna verzija koritena za
predavanja na Berkeley-u, fast file system i novi kod za podrku
mrei
1982
4.1c
Skoro sve kao i u 4.2 osim nove podrke za signale, od 4.1c je
nastao SunOS
1983
4.2BSD
Vana verzija sa novim promjenama, ukljuuje TCP/IP, ffs, novi
system interface i novu podrku za signale
1986
4.3BSD
XNS umreavanje, poboljanja 4.2, cache za direktorije, Internet
name server
1988
4.3Tahoe
Interne kernel mogunosti (alokator memorije, debugger, podrka
nazivima diskova), poboljani TCP algoritmi, podrka za CCI Power 6
(Tahoe)
1988
Net-1
Dio 4.3-Tahoe, ukljuuje mreu, C biblioteku, uslune programe i
login preko mree, distribuira se anonomnim ftp-om bez zahtjeva za
licencom
51/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
1990
4.3Reno
Probna verzija nadogradnji za 4.4BSD: vnode, NFS, OSI podrka,
podrava VAX, Tahoe i HP 9000/300 Dio 4.4-Reno, nova podrka za
virtualnu memoriju i port na Intelove procesore 386/486
1991
Net-2
1993
4.4BSD
Potpuno novo napisan susutav da bi se izbjegao AT&T-ev kod,
dodana podrka za Posix i sve iz Reno i Net-2 verzije
1994
4.4-Lite
Verzija koja se rjeava svog koda na koji je USL/Novell imao
primjedbe, u osnovi identina 4.4BSD
52/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
15. UNIXTIMELINE
Slika 6. Unixtimeline
53/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
16. BIOGRAFIJE
16.1 Dennis M. Ritchie1941 -- Roen u Bronxvilleu, N.Y. 1963 --
Diplomirao na Sveuilitu Harvard kao najbolji student iz fizike 1967
-- Zapoljava se u Bell Labs-u, slijedei svog oca, Alistaira E.
Ritchie, koji je tamo imao dugu karijeru 1968 -- Prima nagradu od
Hardvard sveuilita za doprinos matematici 1968 -- Pridruuje se Bell
Labs timu koji je radio na Multics-u, zajednikom pokuaju Bell
Labs-a, MIT-a i GE-a da razvije glavni raunalni operativni sustav
1972 -- Stvara C programski jezik 1983 -- Prozvali su ga Bell Labs
momak 1988 -- Primljen je u U.S. National Academy of Engineering
1989 -- Prima, zajedno sa Kenom Thompsonom NEC C&C Nagradu za
vaan doprinos raunalnoj tehnologiji 1990 -- Imenovan je kao voa
Ureda za istraivanje sistemskog software-a u Istraivakom centru za
raunalnu znanost u Bell Labs-u 1995 -- Voa je projekta koji nastoji
stvoriti Plan 9 operativni sustav 1996 -- Voa je projekta koji
nastoji stvoriti Inferno(TM) operativni sustav 1998 -- Nagraen je
zajedno sa Kennethom Thompsonom sa amerikom nacionalnom medaljom za
tehnologiju, za razvijanje UNIX operativnog sustava
54/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
16.2 Kenneth Thompson1943 -- Roen u New Orleansu, u dravi
Louisiani 1943-1960 --Kao sin asnika u amerikoj mornarici, seli se
svakih nekoliko godina 1965-1966 -- Diplomirao na Sveuilitu Berkley
u dravi Californiji sa odlinim ocjenama iz elektrotehnikog
inenjerstva 1966 -- Pridruuje se uredu za raunalna istraivanja u
Bell Labs-u koji je radio na Multics projektu 1969 -- Razvija UNIX
operativni sustav 1970 -- Napisao programski jezik B, preteu D.
Ritchievog C-a 1971 -- Prepisao je UNIX sa PDP-7 na PDP-11 1973 --
Ponovno kreira UNIX ali sada pomou C programskog jezika 1973 --
Prepisuje dijelove UNIX-a kako bi u njih ukljuio koncept Douga
McIlroysa cjevovoda 1975-1976 -- Predaje na Berkley Sveuilitu u
Californiji 1980 -- "Belle," raunalo za igranje aha koje je izradio
zajedno sa Joeom H. Condonom, pobjeuje na amerikom Svjetskom
Raunalnom ahovskom Prvenstvu 1980 -- Primljen u U.S. National
Academy of Engineering 1980 -- Primljen je u U.S. National Academy
of Science 1983 -- Prozvali su ga Bell Labs momak 1983 -- Primio je
zajedno sa Dennisom Ritchiem ACM Turing nagradu 1988 -- Predaje na
Sveuilitu u Sydneyu, Australia 1998 -- Nagraen je zajedno sa
Dennisom Ritchiem sa amerikom nacionalnom medaljom za tehnologiju,
za razvijanje UNIX operativnog sustava 2000 -- Odlazi u mirovinu iz
Bell Labs-a
55/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Povijest i nastanak
UNIX-a
13. REFERENCE http://www.levenez.com/unix/
http://www.princeton.edu/~mike/expotape.htm
http://www.unix.org/what_is_unix/history_timeline.html
http://virtual.park.uga.edu/hc/unixhistory.html
http://cm.bell-labs.com/cm/cs/who/dmr/hist.html
56/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Struktura UNIX-a
Marijela Napast
STRUKTURA UNIXA
57/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Struktura UNIX-a
OPERACIJSKI SUSTAVSvako raunalo ima operacijski sustav.
Operacijski sustav je program koji kontrolira rad svih ostalih
dijelova raunala, kako hardvera, tako i softvera. Najvanije je to
nam doputa da koristimo sve mogunosti koje nam pruaju razni
programi. Detaljno govorei Unix nije samo jedan operacijski sustav,
on je obitelj operacijskih sustava. Razliiti proizvoai proizvode
svoje verzije Unixa. Iako su sve verzije jako sline, postoje male
razlike koje mogu uzrokovati probleme. Najoitiji primjer je
raspored sustava datoteka i tono odreeni format nekih naredbi.
Jedna od velikih prednosti Unixa za programere je to da su svi
najbolje napisani korisniki programi neovisni od hardvera to ih ini
lako itljivim novim sistemima. Unix je viekorisniki i viezadani
operacijski sustav. Tako moe istovremeno postojati vie korisnika
povezanih na sistem i svaki od njih moe imati pokrenuto vie
programa. Korisnici velikom prednou Unixa smatraju mogunost
istovremenog koritenja vie programa jer tako ne gube vrijeme na
ekanje da se jedan posao zavri kako bi mogao zapoeti novi. Unix se
koristi na radnim stanicama i viekorisnikim serverima. Na X
terminalima i radnim stanicama X Windows predstavlja grafiko suelje
izmeu korisnika i Unixa. Ali ipak poznavanje Unixa je potrebno za
operacije koje nisu pokrivene grafikim programom, ili kad ne
postoji X Windows sistem npr. u telnet sessionu.
OSNOVNA STRUKTURA UNIX OPERACIJSKOG SUSTAVAUnix je operacijski
sustav koji se sastoji od 3 najvanija dijela: kernela,
shella(ljuske) i datotenog sustava tj. programa. Strukturu Unixa
moe opisati slika1.
Slika 1.
58/2583
Sveuilite u Splitu Struni studij Raunarstva Zagreb
Programski alati na Unix raunalima Struktura UNIX-a
KERNELKernel kao to govori i njegovo ime je jezgra svakog Unix
sistema i oitava se prilikom svakog pokretanja sistema i vezan je
uz sam pokretaki dio programa. Rukuje sa cijelim izvornim sistemom
i prezentira nam ga zajedno sa svakim spojenim korisnikim sustavom.
Zadaa kernela je da dri procese i korisnike odvojenima i regulira
pristup hardveru sistema, ukljuujui i procesor, memoriju, disk i
druge ulazno izlazne ureaje. Kernel direktno komunicira sa
hardverom i omoguava koritenje korisnikih programa. Ti korisniki
programi ne trebaju znati nita o hardveru. Oni samo trebaju znati
na koji nain komunicirati s kernelom i traiti od njega da izvri
eljenu operaciju. Oni komuniciraju s kernelom kroz skup standardnih
sistemskih poziva. Ti sistem pozivi trae od kernela da izvri
operacije kao to su: otvaranje, zatvaranje,