i i “1185-Bauer-0” — 2010/7/19 — 12:04 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 21 (1993/1994) Številka 4 Strani 206–210 Andrej Bauer: LINUX – ČISTO PRAVI UNIX Ključne besede: računalništvo. Elektronska verzija: http://www.presek.si/21/1185-Bauer.pdf c© 1993 Društvo matematikov, fizikov in astronomov Slovenije c© 2010 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez poprejšnjega dovoljenja založnika ni dovo- ljeno. LINUX - ČiSTO PRAVI UNIX 1. Kaj je Unix Vsak računalnik potrebuje za svoje delovanje operacijski sistem. To je program ali skupina programov, ki opravljajo osnovne naloge , kot je branje s t ipkovnice , izpisovanje na zaslon , pisanje na trdi disk, ipd . Obi čajno zna operacijski sistem opraviti tudi zahtevnejše naloge - na primer , skrbi za elektronsko pošto. Začnimo s kratko predstavitvijo operacijskega sistema Unix. Prvo ina čico Unixa je za računalnik PDP-7 napisal Ken Thompson iz Bellovih laboratorijev davnega leta 1969 . Unix so od takrat postopno razvijali in mu dodaja li nove lastnosti . Nastale so različne veje Unixa, med katerimi sta danes najpomemb- nejši "Syst em V Unix" in "BSD Unix". V zadnjih letih je vse bolj pomemben tudi standard POSIX , ki natančno predpisuje, kakšen naj bi bil operacijski sis- tem Unix. Večinoma si proizvajalci, ki razvijajo Unix za različne računa lnike, prizadevajo. da bi njihove implementacije Unixa ustrezale standardu POSIX. S standardnim operacijskim sistemom namreč dosežemo večjo prenosljivost programov, tako da lahko isti program z malo truda priredimo za različne računalnike. Unix teče predvsem na zmogljivejših ra čunalnikih . Danes je močno razširjen na delovnih postajah . Pred leti pa navaden PC-XT ni bil kos tako velikemu operacijskemu sistemu. Ko so se pojavili računalniki PC/386 , se je položaj obrnil. Zanje je bil na voljo predvsem operacijski sistem MS-DOS , ki še zdaleč ni izkoristil vseh možnosti procesorja Intel 80386. Tako lahko danes izbiramo še med operacijskimi sistemi OS/2 , Windows NT in Unix. Obstaja kar nekaj implementacij Unixa za računalnike PC/386 (SCO Unix, NeXT STEP, Linux, .. . ) . Unix je večopraviIni operacijski sistem . To pomeni , da se lahko na njem hkrati izvaja več programov. Na primer, prvi program format ira disketo, drugi prevaja izvorno kodo, s tretjim pa urejamo kako besedilo . Vsi tečejo hkrati . Unix je tudi večuporabniški operacijski sistem . To pomeni , da ga upo- rabljajo registrirani uporabniki . Vsak ima svoje uporabniško ime (username) in preden lahko začne z delom, mora najprej vpisati svoje uporabniško ime in skrivno geslo . Na primer, na svojem domačem računalniku imam uporabniško ime andrej, gesla pa v Preseku ne bom objavil. Ko uporabnik konča z delom , se odjavi , da ne bi kdo za njim uporabljal njegovega imena . 207 Uporabniki so razdeljeni v skupine. To je koristno zato , ker lahko damo uporabnike, ki se ukvarjajo s podobnimi rečmi , v isto skupino in nato s celo skupino hkrati kaj naredimo. Na primer , na raziskovalnem inštitutu bi lahko dali vse fizike v skupino fizik , kemike pa v skupino kemik. Poleg tega Unix omogoča zaščito datotek. Vsaka datoteka ima namreč lastn ika, ki je eden izmed uporabnikov. Lastnik datoteke določi, kaj vse sme delati z datoteko on sam, kaj lahko počnejo vsi , ki so v isti skupini kot on, in kaj lahko počnejo z njo ostali uporabniki. Datoteka je lahko dostopna za branje ali pisanje . Na primer fizik janez lahko dovoli, da v njegovo datoteko zarota. txt pišejo on in vsi uporabniki iz skupine fizik, ostali pa jo lahko samo berejo. V tem primeru bi uporabniki iz skupine kemik lahko brali njegovo datoteko , pisati pa vanjo ne bi mogli . Glede na to, da lahko Unix uporablja več ljudi, ki si delijo prostor na trdem disku, lahko vzdrževalec sistema za vsakega uporabnika predpiše kvoto. To je največja količina prostora, ki jo smejo zasedati uporabnikove datoteke. Operacijski sistem nadzoruje porabo prostora in ne dovoli, da bi kdo presegel svojo kvoto. Tako je prostor na trdem disku pravično razdeljen. 2. Kaj je Linux Linux je implementacija operacijskega sistema Unix za osebne računalni­ ke PC/386 . Vsakdo ga lahko dobi zastonj , ker je Linux programska oprema v javni rabi ( "free software") . V nadaljevanju članka si bomo ogledali nekatere njegove osnovne lastnosti. Osnovni del Linuxa, tako imenovano jedro (kernel), je napisal Linus Torvalds s helsinške univerze na Finskem. Prva inačica je bila na voljo leta 1991. Od tedaj so še mnogi drugi programerji razvijali posamezne dele Linuxa. Od vsega začetka je bil Linux zastonj . Kdorkoli je hotel , ga je lahko dobil in tudi razvijal programsko opremo zanj. Danes je Linux pravi pravcati Unix, čeprav ga je napisala skupina za- gnancev za lastni užitek in v veselje mnogih uporabnikov . Linux je dobro prilagojen standardu POSIX. Je 32-bitni operacijski sistem in izkorišča vse , kar zna procesor Intel 80386 . Poleg samega jedra je bilo za Linux potrebno preskrbeti še vse osnovne ukaze operacijskega sistema Unix in prevajalnike za programski jezik C. Pro- gramski jezik C je namreč osnovni jezik za pisanje sistemske programske opreme, tako za Unix kot za ostale operacijske sisteme. Kar 97% Unixove- ga jedra je napisanega v jeziku C. ostanek pa v zbirniku . Tu je na pomoč 208 priskočil projekt GNU . Osnovni namen tega projekta je napisati dobro pro- gramsko opremo in jo ponuditi uporabnikom zastonj . V okv iru projekta GNU je bilo napisanih mnogo programov : prevajalniki za C in C+ + , osnovni ukazi za Unix, urejevalnik besed il Emacs , šah . .. To so kvalitetni programi - vsaj tako dobri so kot mnogim dob ro znani programski paket em TEX za operacijski sistem MS-DOS . Linux deluje na računalnikih tipa P Cj386 . To pomeni, da mora imeti ra čunaln ik procesor Intel 80386 ali 8048 6 . Matemati čni koprocesor ni potre- ben. Za Linux dobimo grafi čno okolje X Windo ws, ki pomeni za Unix to , ka r je za MS-DOS okolje MS Windows . Delamo lahko tudi z računalniškimi omrežji. Le je računalnik priključen na omrežje Internet , nam je na voljo ves preširni svet mednarodne elektronske pošte in elektronskih konferenc ter še marsikaj drugega. Priporočljivo je , da ima ra čunalnik vsaj 4 MB pomniln ika , če pa name- ravamo delati z grafičnim okoljem X Windows , j e za udobno delo potrebnih vsaj 8 MB. Le ho čemo imeti le osnovni ope ra cijs ki sistem , potem potrebuj emo na trdem disku ka kih 15 MB prostora. Popoln Linux z vsemi prevajalniki in programi , razen grafi čnega okolja X Win dows in TEX-a , zasede približno 45 MB prostora. Skupaj z grafičnim okoljem in TEX-om ter z doda tno dokumentacijo in z izvorno kodo nekaterih programov pa zasede približno 90 MB. K temu moramo prištet i še nekaj prostora za t ekoče delo in za morebitne programe, ki bi jih želeli imeti kasneje . Le imamo na voljo 200 MB prostora, je to že pravo udobje. Kdor im a dostop do omrežja Int ernet , lahko dobi Linux preko FTP. To je poseben protokol za prenos datotek med računalniki po celem svetu . V tujini so glavni računalniki, kjer se dobi Linux, tsx-11. mit . edu, sun- s i te . unc . edu in n i.c . funet . fi. Prva dva ra čunalnika sta v Ameriki, tretji pa je na Finskem. Pri nas dob imo Linux na FTP vozlišču ftp. ij s. si. Poleg tega lahko dobimo Linux na disketah, CD-ROM disku ali na mag- netnem traku . Naročimo ga po pošti in pla čamo stroške distribucije, ki običajno znašajo od 50$ do 100$ , kar j e prava malenkost v primerjavi s tisoči dolarjev, ki jih je treba od štet i za komercialno verzijo Unixa. Seveda pa je najbolje, če poznamo koga , ki že ima Linux in nam lahko posodi diskete - Linux je namreč zastonj in j e na voljo vsakomur . 209 3. Kaj vse zna Linux Poleg Linuxa imamo lahko na trdem disku še kak drug operacijski sistem, na primer MS-DOS ali OS/2. Ko računalnik prižgemo, poseben program ponudi na izbiro operacijske sisteme, ki so na voljo. Uporabnik si izbere enega od njih. Prostor na trdem disku je razdeljen na particije. te imamo na njem več operacijskih sistemov, potem vsak dela s svojo particijo in po svoje zapisuje datoteke nanjo. Programi, ki so napisani za en operacijski sistem , ne delujejo v ostalih. Vendar je za prenos podatkov z enega operacijskega sistema na drugega pri Linuxu poskrbljeno, saj zna brati in pisati po particijah in disketah op- eracijskega sistema MS-DOS. Poleg tega je na voljo emulator operacijskega sistema MS-DOS za Linux, ki se imenuje dosemu. To je poseben program , ki teče pod operacijskim sistemom Linux in zna izvajati programe, napisane za operacijski sistem MS-DOS . Na žalost zahtevn i programi za MS-DOS (ta- ki, ki delajo v zaščitenem načinu) , na primer paket za simbolično računanje Mathematica , ne delujejo z dosemu. Skupaj z jedrom operacijskega sistema Linux dobimo še kopico drugih programov. V standardno opremo za vsak Unix, torej tudi za Linux, so poleg osnovnih ukazov vključeni še programi za arhiviranje, za elektronsko pošto in elektronske konference , za tiskanje ipd . te instaliramo X Windows, dobimo grafično okolje in program ipd. X Windows, dobimo grafično okolje in programe, ki so podobni okolju MS Windows za MS-DOS. Linux je pravi raj za programerje, saj dobimo zanj celo vrsto prevajal- nikov in programskih jezikov. Najpomembnejša sta GNU C in C++, ki ju uporabljamo skupaj z GNU razhroščevalnikom (debuggerjem) in grafičnim okoljem za razvoj programov za X Windows . Na voljo je nekaj urejevaln ikov besed il, od katerih je najboljši GNU Emacs. Kdor je navajen uporabljati urejevalnik WordStar za MS-DOS, pa lahko uporablja urejevalnik "joe", ki je dobra kopija pravega WordStara . Za stavljenje besedil je na voljo TEX, za delo z datotekami v formatu Postscript pa uporabimo program Ghostcript. Seveda se za Linux dobijo tud i igrice - od programa za šah GNU Chess in različnih verzij Tetrisa do kompliciranih iger za več igralcev, ki delujejo preko računalniškega omrežja . Posebej velja omeniti urejevalnik GNU Emacs, ki je "vsemogočen" ure- jevalnik. te ga poženemo v grafičnem okolju X Windows , zna uporabiti tudi njegove tmogijivosti. Polcg sarnega pisanja basedil zanj urdeva l nik amogob uporabo najrazliEnejEh dodatkov. Za pisanje programow j c na voljo postben pakct, ki za nas paevaja p r e gramcin pomaga pri odkrivanju napak. Z Emac~lrn lahko bwcrno efektronsko port0 in elektronske konferencc. Uporabljati zna protokol FTP, taka da lahko hkrati urcjarno datotcke z razlihih raEunalnikov. Okolje auctuc jc narnenjsno delu s TEX-om in WT@-om. Uporabljam ga tdaj. ko p3cm ta Banek. Auctex sarn poIene T@ in preview ter pd l jc bcoediio na tiskalnik. Pomaga pri iskanju napak (sarn se pastavi na nagako, ki jo jt javil T@) in pozna pascbne u kaze za pisanje besedil v Tm-u. Za sprostitev st Emacs z nami igra "pet v vrsb" al i "tttris" . KO imamo vsega dosti, pofencmo Emacsovega umetno inteligentnega "psihoterapevta" , ki se potrpdfjivo pogovarja o na lh tesavah. 4. Kdo naj uporablja Linux Kdor re odlolii za Linux, se mora ravedati, da bo imel vet dcla z vzdr2e vanjem operacijskega sistcma (pribliino trikrat toliko kot z MS-DOS), Vendar naj vas t o ne odvmc od Linuxa, Ec It irnatc kanEek smisla za razunalnikc. Trud bo zagotovo poplaran s "pravim" operacijskim sistemom. Linux it zagotovo primeren za dijake in Ptudente reEunalniStva, saj jt to enkratna prilofnast, da se kar na svojcm dornaEcm razunalniku nauEija uporabljati operacisji sisttm Unix, k i ga bod0 zagotovo 3c srdali. Lfnux je dobra r a t e v twdi t a wkogar, ki dela z Unixom na veEjih raEunalnikih in bi ga rad imti tudi na svojern osebnem raEunal.niku, venhr nima dcnarja xa drage korncrcialne implamcnt~cfje Unixa. Kdor pa uporablja rarunalnik kot pisalni stroj in nimr Em, da bi se us1 novih stvari, naj raje ogtane pri avojern starem operacijskem sisternu.