Akvizicija podataka

Autor: Igor Bogićević

LINUX

Kontakt: ibogicevic@yahoo.com

 

PINGVIN U MAGLI

(mali vodič kroz Linux i akviziciju podataka)

 

Ovaj pingvin kojeg vidite, nije tu slučajno, njegovo ime je Tux i on je nešto kao opšte prihvaćena maskota Linux operativnog sistema. Moj cilj u ovom tekstu jeste da vam predstavim jedan, pomalo alternativan, operativni sistem koji pored simpatičnog logoa ima još mnogo toga da ponudi informatičkoj javnosti, a po mojem skromnom mišljenju i svetu elektronike kojem pripada većina vas, čitalaca Mikroelektronike. Ovaj tekst bi trebao, u neku ruku, da bude uvodnik za sve vas koji niste imali kontakta sa Linux-om, i uopšte sa UNIX baziranim operativnim sistemima, kao i mali uvid u jedan segment onoga što se trenutno razvija u "tajnim laboratorijama" Mikroelektronike. Kao što već pogađate iz samog naslova, u pitanju je akvizicija podataka, ali ovog puta je platforma na kojoj se razvija sistem za akviziciju podataka bazirana na Linux operativnom sistemu. Ako ste među onima koji se pitaju zašto smo se odlučili da radimo akviziciju pod Linux operativnim sistemom, za početak ću navesti samo dva razloga, stabilnost i ekonomičnost.

Naime, cela priča je počela jenog dana, 26. aprila da budem precizniji, kada smo neobavezno razgovarali u Mikroelektronici i nekako smo, samo mojom krivicom, završili na razgovoru o Linux operativnom sistemu i mojem dugom, ne baš pretano zanimljivom izlaganju o istom. Na nesreću, moju priču je u velikoj meri potkrepila havarija u redakciji uzrokovana win95.cih, alias chernobil, virusom koja se upravo odvijala pred mojim očima, što je na jedan ružan i veoma neprijatan način pomoglo da iznesem svoj stav i da me saslušaju.

Za početak bi trebalo reći nešto o samom Linux operativnom sistemu i, kako to već ide, o njegovom postanku. Za razliku od većine operativnih sistema kao što su UNIX ili Microsoft-ovi DOS i Windows operativni sistemi, Linux je "relativno mlad" operativni sistem. Ovo "relativno mlad" kažem zato sto je Linux operativni sistem nastao 1991 godine pisan kao studentski projekat nekolicine entuzijasta predvođenih Linus Torvalds-om, kao modifikacija tada jedinog besplatnog unix-baziranog operativnog sistema Minix-a, ali prava ekspanzija Linux-a počela je zapravo tek nedavno, pre možda godinu dana, a ako mene pitate počela je zapravo tek pre nešto manje od šest meseci, zahvaljujući tome što je Linux postao upotrebljiv operativni sistem ne samo za šačicu entuzijasta i eksperte, koji vole da se maltretiraju sa kuckanjem pred crnim ekranom koji prikazuje uglavnom, smrtnicima nerazumljive, mistične simbole shvatljive samo ljudima koji su zaboravili pojam dnevne svetlost (drevna programerska mistika, neće se naljutiti ako im se i sasvim pogrešno obraćate sa "hakeri", zapravo, to im i imponuje u neku ruku), već je postao sasvim upotrebljiv i za relativno prosečnog korisnika, dakle čoveka koji uglavnom koristi kompjuter da bi kuckao tekstove, nameštao pozadine (želim ovom prilikom da napomenem kako Window Manageri za Xfree imaju mnogo lepše pozadine, od operativnog sistema koji nećemo pominjati), slao poštu, ali i ima određenu količinu radoznalosti da vidi kako se još može upotrebiti mistična kutija koja zauzuma prostor i sakuplja prašinu na njegovom stolu. Naravno, posle određenog broja "plavih ekrana" takođe se javlja revolt kod vlasnika kompjutera koji ozbiljno žele da rade na računaru, pogotovu ako je nesrećni korisnik trenutno radio na bitnom projektu od kojeg mu možda čak zavise posao i karijera, a time i njegova egzistencija. Korisnici "prozora", dakle, bar 90% populacije koja uopšte i koristi računare, znaju o čemu se radi i mogu da uložim priličnu sumu novca u to da se najvećem broju njih, barem jednom desila takva izuzetno neprijatna situacija. Ono što je najgore, polako počinjete da se navikavate i smatrate kako je to sasvim prihvatljivo, čak i da nije tako strašno. Ono što je gore od najgoreg je ostati neobavešten i misliti kako je Microsoft jedini igrač na sceni operativnih sistema i kako je, čak i da postoje neki drugi, on ipak najbolji zato što ga koristi gro ukupne populacije koja koristi računare. 

UPOZNAJTE PINGVINA

Moram priznati da je zaista očigledno da ja ne volim Windows i da ovaj tekst počinje da liči na izlaganje prodavca polovnih kola koji pokušava da vam uvali neki krš koji neće stići dalje od par stotina metara. Mislim da bi sada bio pravi trenutak da nešto zaista konkretno i kažem o Linux-u pokušavajući da zaobiđem lični stav, kao i nepotrebna poređenja sa Windows-om. Ono o čemu nameravam takođe da vam pričam je i tematika koja je bliska većini čitališta Mikroelektronike, dakle, kao što to što to stoji i u naslovu ovog teksta, akviziciji podataka na Linux platformi.

Ono sto odlikuje Linux kao sistem i čini ga prepoznatljivim, sem pingvina, jesu dve stvari; prva je pouzdanost i stabilnost, što je zapravo odlika svakog UNIX baziranog operativnog sistema; druga stvar, koja ga čini još privlačnijom jeste to da je u pitanju besplatan operativni sistem. Naime, to što kod nas nećete platiti operativni sistem koji košta $100 ili $1000, zavisno od toga da li koristite Windows 95/98 ili Windows NT platformu, i to obračunato po broju računara na koji instalirate Microsoft operativni sistem, jeste samo sreća u našoj opštoj nesreći i zove se veoma jednostavno, piraterija. Ja vam ne bih preporučio da računate da će doveka biti ovako i da ćete biti u situaciji da nekažnjeno koristite softver koji se u inostranstvu skupo plaća, za to su, inače, propisane veoma visoke novčane kazne, koje daleko premašuju cenu samog softvera, kao i zatvorska kazna. Naravno, operativni sistem bez softvera i nije naročito primenjiv, ali ja želim da razbijem i tu predrasudu o Linux-u, naime, uopšte nije tačno da za Linux nema softvera, čak štaviše, ima mnogo softvera, a da situacija bude lepša, 90% softvera je besplatno. Da li je softver besplatan zato što je loš? Ne bih dao potvrdan odgovor na ovo pitanje u ovom slučaju. Linux se proslavio ne zato što je besplatan, njega je, zapravo proslavila šokantna činjenica da je uprkos svojim mogućnostima on i dalje besplatan. Danas je Linux operativni sistem koji se uglavnom koristi kao serverski sistem, dakle sistem koji se koristi kao glavni kontrolor u saobraćaju informacija, kako u lokalnim mrežama, tako i na internet-u i u tom pravcu je uglavnom i bio razvijan softver za njega. To nije slučajno, glavni razlog za to je bila njegova sličnost sa UNIX-om, na kojem je ovaj zapravo i baziran, koji je bio već dokazan na tom polju. Linux je zapravo dovoljno dobar da polako istiskuje Windows NT platforme na tom polju i to iz jednog veoma banalnog razloga, bolji je. Ako krenete da tražite informacije na Internet-u vezane za Linux, mogli bi ste da dobijete utisak da je to relativno jednostran sistem, tj. da je upotrebljiv jedino u domenu serverskog sistema koji pruža neophodnu bezbednost, ali razlog za tu dogmu u narodu je što se on uglavnom, kao što sam to već i rekao, koristi u te svrhe. Ono što vam možda neće biti očigledno u prvom trenutku susreta sa informacijama o Linux-u, jeste da je Linux upravo fantastična platforma za razvoj. Ono što vam Linux u tom pogledu obezbeđuje, jeste sjajana paleta alata za razvoj softvera koji vam je potreban i naravno, taj alat je, za razliku od Microsoft-ovog ili većine Borland-ovog softvera (ako izuzmemo neke kompajlere za već deplasiran MS DOS) besplatan. Primetili ste da sam mnogo puta do sada pomenu reč "besplatan" u ovom članku, ali to je, ponavljam, jedna izuzetno bitna stvar pored samog kvaliteta da bi se neko, a tu mislim na legalno poslovanje, odlučio da koristi taj alat.

Naš pingvin nije bez mana, naravno, možda je njegova ranjivost baš i u tome što je najveći deo softvera potpuno besplatan, dakle, autori nisu pod pritiskom rokova, kao ni pod obavezom da softver besprekorno funkcioniše. Ono što zaista zbunjuje je da je uprkos toj činjenici softver pod Linux-om, koji razvijaju široj javnosti uglavnom nepoznati autori često mnogo stabilniji od softvera koji proizvode renomirane softverske kuće. Tipičan primer je Netscape za Linux, koji je nažalost, iako proizvod koji je radila renomirana kuća, još uvek relativno nestabilan browser. Zapravo, ceo koncept razvoja Linux-a baziran je na već zaboravljenom činiocu - projedincima, iako je Linux globalni fenomen kojem doprinosi mnogo programera koji dele ideje. Koncept razvoja Linux-a kao besplatnog sistema je zapravo teško drugačije u osnovi i zamisliti sem na nivou pojedinaca, ali to nije stvar koja se ne može promeniti. Prednost Linux-a kao razvojnog sistema je sasvim razumljiv, ako se uzme u obzir da je u pitanju operativni sistem koji su radili programeri sa ogromnim entuzijazmom. Kako bi sebi uopšte omogucili da rade morali su da razvijaju softver koji bi njima samima omogucio da lakše razvijaju Linux operativni sistem. Vremenom je Linux izrastao u upravo fantastičan operativni sitem za razvijanje kvalitetnog i stabilnog softvera. Upravo sam naveo dva razloga koji nas je u Mikroelektronici naterao da razmišljamo u tom pravcu, kvalitetan i stabilan. Koliko je to bitno u akviziciji mislim da nije potrebno mnogo objašnjavati, evo to možemo opisati kroz jednu banalnu praktičnu situaciju. Zamislite da morate neprekidno da vršite mere-nja u trajanju od nekoliko meseci do godinu dana i da ne smete sebi da dozvolite da sistem padne tokom tih merenja, jer to može dovesti u pitanje rezultate koje dobijate, ili jednostavno nije dopustivo. Da li ste to probali da radite sa "najboljim" operativnim sistemom. Ako imate mazohističke sklonosti svakako ćete to i probati, ali da vam uštedim vreme, nemojte. Windows platforma će jednostavno sama sebe ugušiti sa svojim procesima i nakon manje ili više vremena jednostavno prikazati plavi ekran sa fatal exerption-om, a vas ostaviti da razmišljate o smislu vašeg života sa trajnim samoubistvenim nagonom. Pretpostavljam da je ovaj pomalo uopšten primer svakodnevica u svetu akvizicije podataka sa Windows-om. Ovo je posebno značajno po pitanju industrijske akvizicije, gde je najbitniji faktor pouzdanost informacija koje primate, jer od njih i zavisi sama proizvodnja.

Pretpostavljam da sam prilično dobro naglasio da to sa Linux-om ne ide baš tako. Možda je jedan od glavnih razloga to što je Linux izuzetno konfigurabilan, za razliku od Windows 95/98/NT baziranih platformi koje uspesno sakrivaju najbitnije i osetljive delove sistema. Naravno, ako čačkate možete i da se opečete, ali ako operativni sistem od vas sakriva svoje jezgro, zar mislite da za tako nešto nema razloga? Da li ste se zapitali zašto Microsoft ne želi da pokaže source svojih kodova, bez obzira što ih štiti copyright? Ako niste, možda je pravi trenutak da to i učinite. Još jedna od velikih osobina Linux-a je to što možete da podesite jezgro sistema, kernel. Kernel predstavlja sustinu svakog operativnog sistema, sponu između softvera i hardvera, a time predstavlja i najznačajniju kariku u komunikaciji korisnik-računar, jer on izvršava najniže procese u računaru. Naime, Linux vam dozvoljava da uz pomoć source-a kernela koji dobijate sa svakom distribucijom Linux-a, izaberete one delove kernela koji su vam potrebni i napravite svoj kernel. Od, otprilike, 1995. godine desila se još jedna značajna stvar u tom pogledu, naime ne morate opterećivati memoriju sa velikim kernelom koji uključje podršku za hardver koji vam uopšte nije potreban, već možete imati i određen broj modula koje možete uključivati u kernel kada vam zatrebaju, i naravno, kada to uradite ne morate resetovati računar. Jedna od retkih situacija kada je potrebno da resetujete računar jeste kada napravite novi kernel, a čak, u principu, i nije preporučljivo gasiti računar sa Linux-om zato što prosto nema potrebe za to. Idealno za akvizicju! Dakle imamo izuzetno stabilan sistem, visoko konfigurabilan, koji ne moramo da gasimo. Šta je ostalo? Kompatibilnost, naravno. To je možda najbolnija tačka Linux-a, hardver.
Naime, jedan određen broj proizvođača hardvera je pod ugovorom sa Microsoft-om i ne želi da izbaci specifikacije svojih uređaja kako bi bili napisani drajveri za njih. Na sreću, u pitanju je relativno mali broj proizvođača opreme i u okviru teme koju obrađujemo relativno malo bitno pošto drajveri koji nas u okvirima ovog članka zanimaju, jesu drajveri za kartice koje ne predstavljaju deo opreme za "standardnog" korisnika i o njima će biti više reči u sledećem poglavlju.

LINUX I AKVIZICIJA PODATAKA

Pretpostavimo da imate računar, na primer neki Pentium-200Mhz, sa 16-32MB RAM memorije, odredjenim kapacitetom hard diska, na primer 1-2GB, sa pratećom opremom. Ovo predstavlja opis konfiguracije koja se danas može nabaviti relativno jeftino, pošto ju je u neku ruku vreme pregazilo, a cena tehničke robe neprekidno opada. Na gore opisanoj mašini možete komotno instalirati Linux, zajedno sa Xfree okruženjem i svim potrebnim softverom da bi ste udobno, ali zaista udobno radili. Naravno, da imate dual-pentium sa 512MB RAM to bi mnogo impresivnije izgledalo, ali u suštini bi u okvirima akvizicije podataka i stara 486-ca bi izgurala posao, ali ipak naglašavam termin udobnost.

Sa gore pomenutim hardverom možete ostvariti komunikaciju sa eksternim uređajima preko npr. nezaobilaznog RS-232 porta. To vam daje mogućnost da uz pomoć elektronike koju ste sami napravili ili kupili, vršite efikasno akviziciju podataka pod bilo kojim operativnim sistemom koji podržava serijsku komunikaciju. Jedna od dobitnih kombinacija bi mogao biti niz:

RS-232 <=> mikrokontroler <=> RS-485 drajver <=> ADC 

Ovakva oprema bi vam dala dobru platformu za akviziciju podataka što se hardvera tiče, ono što ostaje je samo srce sakupljanja i obrade podataka, računar. Tu na scenu stupa Linux. Ovaj hardver, ako je dobro napravljen, neće vam praviti problem i radiće stabilno (sem ako na njemu ne vidite potpis "Microsoft"), ali ako pukne jedna karika u lancu, nije bitno ako ostatak opreme besprekorno funkcioniše, stvar jednostavno neće raditi. Dakle, potreban nam je i stabilan operativni sistem koji može da se nosi sa hardverom koji imamo.

Ono sto preostaje predstavlja čist programerski posao koji je nekako prirodno obaviti u C-u. Dakle, treba naterati računar da očitava RS-232 port, eventualno izdaje neke instrukcije mikrokontroleru, uredno sakuplja podatke i po potrebi ih prikazuje.

Predpostavimo da ste kupili neku ADC karticu od nekog renomiranog proizvođača i želite da ta kartica uredno funkcioniše zajedno sa ostakom vašeg hardvera. Tu mogu nastati problemi ako nemate drajvere, i kao jedino rešenje ostaje da potražite specifikacije i napišete sami drajvere. Zvuči neprihvatljivo? Možda, ali ne zaboravite da smo sada izvan korisničke sfere i nalazimo se u okvirima industrijske akvizicije, gde se aplikacije razvijaju po potrebi samog posla, a zapravo, može se lako desiti da sami razvijate i hardver. Ono što imamo na raspolaganju je čitav jedan svet informacija, u kojem se Linux i razvijao, pogađate, Internet. Linux populacija ima jedan drugačiji pristup komunikaciji sa kolegama, a to je otvorenost. Naime, sva dokumentacija koja se razvijala u okviru Linux-a kao pokreta je besplatna i široko dostupna celoj javnosti. Da je to zaista tako, pogledajte spisak linkova koji stoji na kraju ovog teksta. Što se tiče drajvera situacija je krajnje jednostavna, ako znate specifikacije hardvera, moći ćete i da napišete drajver za njega. Što se tiče drajvera još jedno malo pojašnjenje. Kod Linux-a drajveri dolaze u obliku modula o kojima je bilo reči i oni se kače na kernel po potrebi, a najveći broj modula može biti i deo samog kernela, odnosno mogu biti uključeni u sam kernel prilikom kompajliranja kernela. ^im sam pomenuo kompajliranje kernela, to naravno, znači da vam je dostupan i source samog kernela.
Jedan od dragocenih izvora informacija (pogledajte linkove na kraju ovog teksta) je Linux Lab Project, koji se i bavi problematikom Linux-a i opreme za akviziciju podataka. Dakle, ja vama ne pričam bajku o "najboljem operativnom sistemu", već o nečemu konkretnom, na čemu ljudi rade, i svakako to ne bi radili da nema smisla razvijati aplikacije za akviziciju podataka pod Linux-om. Naravno, akvizicija podataka ne mora izgledati kao na gore pomenutoj shemi, ona predstavlja nešto na čemu trenutno radimo u Mikroelektronici o čemu će svakako biti više reči u sledećim brojevima Mikroeletronike. Pošto su Linux programeri bili vredni i uradili su svoj domaći zadatak, već postoje drajveri za određen broj ADC kartica koje možete preuzeti sa Linux Lab Project-ovog sajta. 

Ipak, ovo je još uvek relativno novo polje koje tek sada dobija na značaju širenjem Linux operativnog sistema izvan relativno zatvorene sfere korisnika. Na našu sreću, time što je Linux proširio obim svojih korisnika on nije izgubio na kvalitetu, i do ove tačke nije još uvek bilo neke veće komercijalizacije Linux-a koja bi uzrokovala neki bitniji pad kvaliteta samog operativnog sistema (vidi Distribucije), već samo učinila Linux dostupniji širem krugu korisnika.

DISTRIBUCIJE LINUX-A

Već sam pre napomenuo da ono što čini srž samog operativnog sistema predstavlja kernel. Kod Linux-a je to više nego definicija, to je činjenica. Za razliku od Windows-a koji vam ne daje nikakvu slobodu pri instalaciji već samostalno podiže sistem, teško da ćete o njegovom kernelu razmišljati kao osnovi sistema. Kada pomislite na Windows, vi nikada nećete zapravo pomisliti na onaj mali, neizbežan deo operativnog sistema, nego na približno 300Mb zauzetog prostora na vašem disku. E, vidite, tu je jedna od najlepših stvari kod Linux-a, vi ste taj koji odlučuje šta će zauzimati mesto na vašem disku i u svakom trenutku moći ćete isto tako da povratite vaš prostor. Pri tome ne mislim samo na programe, pošto vam i Windows dozvoljava da deinstalirate veći deo programa bez glavobolje, nego mislim na sam sistem, programe koji vrše osnovnu komunikaciju između korisnika i sistema. To može biti dvosekli mač, pogotovo za novopečenog Linux korisnika, pošto na vama stoji odluka da li ćete staviti određeni "paket" na vaš disk. Pojam "paketa" mogao bi se najednostavnije opisati kao već iskompajirani program, prethodno podešen i prilagodjen odredjenoj distribuciji Linux-a tako da bude samo otpakovan i raspoređen po disku. Ja sam već dva puta spomenuo termin distribucije Linux-a. O čemu se zapravo radi? Naime, Linux je Open Source fenomen, tj. source svakog programa je dostupan javnosti, što zapravo znači da je vama dostupan sam kod, kao i da ga možete menjati i prilagođavati. Ako imate source, naravno, da bi on proradio morate ga i iskompajlirati, a to može biti dug i veoma naporan proces. Pošto ste ga iskompajlirali, sledi i podešavanje samog programa, itd., itd. Zato su vremenom grupe pojedinaca počele da sakupljaju već iskompajlirane i podešene programe u tzv. distribucije, kako bi sami sebi olakšali posao pri ponovnom podizanju sistema. Vremenom su se razvijali sve bolji instalacioni programi koji su vas štedeli da sate i sate provodite bezuspešno pokušavajući da podignete sistem. Množina reči "distribucija" vam je saopštila činjenicu da postoji određen broj različitih distribucija, i njih razlikuju, kako paketi, tako i način na koji se instaliraju, kao i to kako je sam sistem konfigurisan. Zapravo, većina paketa je zajednička svim distribucijama Linuxa, tako da ih u najvećoj meri razlikuje koliko su pouzdane, udobne, lake za instalaciju, itd. Najpopularnije distribucije danas su RedHat, SuSE, Slackware, Debian, Corel Linux i Caldera Open Linux. Daću mali lični osvrt na svaku od njih:
1) RedHat - veoma lak za instalaciju, prilično stabilan, ali ako ste malo iskusniji korisnik nećete ga voleti zato što vas prisiljava da se podređujete njegovim naravima, kao i programima za konfigurisanje, preporučujem ga svim početnicima koji žele "na brzaka"
2) SuSE - za njega bih mogao reći isto što i za RedHat, sem što je po mojem ličnom mišljenju ipak nešto bolji i još više ga preporučujem početnicima
3) Mandrake - u principu, za Mandrake važi u principu ista priča kao i za RedHat, ili SuSE. Nešto je manje popularan od gore pomenutih, ali to je u principu manje-više ista priča.
4) Slackware - ne tako lak za instalaciju, ali to je moj lični favorit, to je prva Linux distribucija koju sam stavio na svoju mašinu i to nakon 7 neuspešnih pokušaja, ali za nekoliko sati sam dobio sistem koji ne želim da menjam, preporučujem svima koji "zaista žele"
5) Debian - isto sjajna distribucija, posebna po tome što u njenom razvoju učestvuje veliki broj pojedinaca koji daju svoj doprinos njenom razvoju, izuzetno modularna, i zbog toga je jedan od omiljenih izbora developer-a
6) Corel Linux - izuzetno laka distribucija za instalaciju, ali u principu relativno loša, jedina dobra stvar koju dobijate sa njom je određen broj komercijalnih programa, kao i izvestan broj glavobolja pošto vas prođe početni entuzijazam posle uspešne instalacije
7) Caldera Open Linux - za nju bih mogao reći isto što i za Corel Linux 

Naravno, to nisu ni priblično sve distribucije koje se nalaze u opticaju, čak štaviše ima ih mnogo koje nisam ni pomenuo, a isto toliko koje nisam ni probao, a verovatno ni neću. Moj izbor je Slackware, zato što je potpuno konfigurabilan i prirodan i ne sputava vas, za razliku od većine ostalih distribucija. To, naravno, nije dobro ako želite brzo da instalirate sistem, ali ako želite zaista da učite o Linux-u, Slackware mi se nekako čini prirodnim izborom. Ako želite nešto što će odmah raditi, preporučujem RedHat ili SuSE, pogotovo ako kupite njihove originalne pakete, zato što to uključuje i tehničku podršku. Govoreći u ciframa, za 80$ koliko košta pun paket RedHat dobijate 4CD-a sa svim mogućim paketima, source-ovima, ogromnom knjigom, tehničkom podrškom i mogućnošću da kopirate taj CD koliko god puta želite i da ga stavite na beskonačno mnogo računara, legalno. Zapravo, vi uopšte ne morate da kupite taj paket da bi legalno koristili RedHat, iz prostog razloga zato što je Linux besplatan i možete ga jednostavno download-ovati sa njihovog ftp-a ako imate brz pristup internetu, ili uzeti kopiju CD-a i sa nje jednostavno instalirati Linux.

RAZVOJ POD LINUX-OM

Kao što sam već napomenuo, moje mišljenje je da je Linux izuzetno udoban za razvoj softvera za vaše potrebe. Linux je veoma dobro dokumentovan i linkove za osnovne dokumentacije, kao i dokumentacije vezane za tematiku akvizicije podataka naći ćete na kraju ovog teksta. Navešću samo neke programske jezike koji su podržani; na svakoj distribuciji naći ćete C, C++, lisp, perl, Tcl/Tk, asembler, a podržani su i java (zajedno sa sun-ovim SKD-om za Windows i solaris, uredno izlazi i SDK za linux), ada, pascal, Modula, kao i mnogi drugi manje ili više poznati programski jezik. Da stvar bude još lepša, veliki deo programskih jezika koji sam naveo imaju X ekstenzije, što u prevodu znači da u njima možete pisati programe koji će raditi pod grafičkim okruženjem, a ne samo pod konzolom. Kada sam već pomenuo grafičko okruženje, želeo bih da napomenem i da postoje dve bitno različite grafičke biblioteke pod kojima možete razvijati vaš softver, to su Qt i Gtk i za njih postoje različiti alati za razvoj, za Qt postoji KDeveloper, a za Gtk tu je Glade, koji mnogo podseća na vizuelna okruženja koja možemo videti pod Windows-om, što ga čini izuzetno lakim za korišćenje kod malo iskusnijih programera u Visual C++, ili Visual Basic-u. Kako se to odražava na razmatranu problematiku u ovom tekstu, a to je akvizicija, možemo lako odgovoriti ako pomislimo na to da svi ljudi na kraju krajeva vole da vide podatke u vidu grafičkog prikaza. To je razumljivo, pogotovo ako uzmemo u obzir da je to jedini način da sebi predstavimo ogromnu količinu brojeva, sem ako vi lično nemate neke neobične sposobnosti koje bi vam omogućile da izbegnete taj detalj. Pored toga, često je potrebna neka interakcija između korisnika i elektronike koja se koristi za akviziciju podataka i nije loše imati mogućnost da to radite u udobnom okruženju kao što je X, a ne putem konzole. Takođe bih napomenuo da je biblioteka Gtk+ razvijana za potrebe programa GIMP koji služi za obradu slika, koji je u neku ruku Linux pandan Photoshop-a, ali on ne predstavlja surogat proslavljenog Photoshop-a, već mu se opasno približio pošto poseduje većinu opcija koje ovaj program ima, a poseduje i značajan broj onih koje Photoshop ni nema. To vam govori da je i pod Linux-om moguće napraviti udoban interfejs izmedju korisnika i programa, kao i da je moguće napraviti lep prikaz vaših podataka.

U našem slučaju logičan izbor su nekako C ili C++, pošto nam je potrebna komunikacija sa hardverom, a C je ipak C. Low level pristup je sasvim neizbežan ako imamo npr. ADC u vidu PCI kartice i moramo da napišemo drajver za nju, u slučaju da je to kartica koju niste dobili sa već gotovim drajverom. Pisanje drajvera nije najzahvalniji posao, ali na već izvikanom Lab Project-ovom sajtu možete naći dokumentaciju o pisanju drajvera. Na Linux Documentation Project-ovom sajtu mozete takođe naći i dokumentaciju o Low-level programiranju, izmedju ostalog o programiranju modula za Linux kernel, što vam može biti od velike koristi, kao nadopuna dokumentaciji koju možete naći na Lab Project-ovom sajtu.

GDE DALJE?

To je veoma dobro pitanje. Kao što sam već i napomenuo, Linux je relativno mlad sistem što se godina tiče, a izuzetno mlad što se tiče proboja u široku javnost, zapravo može se porediti i sa Internetom u neku ruku, pošto je internet postojao nekih dvadesetak godina u uskim akademskim krugovima, za "malobrojne povlašćene", dok se nije probio u široku javnost i postao jedan od fenomena dvadesetog veka. Teško je da će Linux postati fenomen dimenzija Interneta, ali je činjenica da je u velikoj ekspanziji koja sigurno neće ubrzo stati. Veliki igrači, kao što su IBM, Dell i Compaq su počeli da prodaju velike servere, čija cena daleko prevazilazi godišnja primanja većine nas običnih smrtnika, sa instaliranim Linux operativnim sistemom umesto dosada najpopularnijim serverskim operativnim sistemom na Intel baziranim platformama, Windows NT-om. Mislim da gospoda iz dotičnih kompanija to ne čine zbog simpatičnog pingvina, zar ne? Ono što se tiče Linux-a i naše teme, a to je mikroelektronika i akvizicija podataka, jednostavno bi se mogo reći, napokon! Dakle, imamo ispred nas jedan pristupačan i jeftin, da ne kažem besplatan, operativni sistem čija je izuzetna stabilnost izuzetno primamljiva za sve koji se bave akvizicijom. Ono što je zaista lepo, jeste da su se UNIX bazirane platforme spustile sa preskupih namenskih mašina kao što su Silicon Graphics-ove ili Sun-ove radne stanice, na nama pristupačne Intel bazirane platforme, što nam daje mogućnost da udobno radimo i na "škart" mašinama kao što su one na kojima radi većina nas. Da situacija bude lepša, Linux nije jedina besplatni UNIX bazirani operativni sistem koji možete koristiti na vašim kućnim mašinama, tu su, sa moje strane nepravedno zapostavljeni freeBSD, netBSD i openBSD, a o tome koliko su dobri da pomenem da freeBSD koriste i "veličine" kao što su Yahoo ili Wallnut Creek (www.cdrom.com), a da mu nije odolela ni moja malenkost. Da sve ovo ne bi bilo samo naklapanje entuzijaste, da pomenem da se trenutno se u Mikroelektronici radi na baš ovome o čemu sam ja vama izlagao, na akviziciji podataka na Linux baziranim platformama, a ja mislim da niko od nas ne voli da se razbacuje nama najvrednijom svojinom, vremenom.

VAŽNIJE LOKACIJE NA INTERNETU

I) Prezentacije većih distribucija Linux-a
http://www.redhat.org
http://www.suse.org
http://www.slackware.org
http://www.debian.org
http://www.caldera.org
http://www.mandrake.org 

II) Dokumentacije i razvoj sistema
Osnovne dokumentacije i alat za razvoj:
http://www.linuxdoc.org
http://www.gtk.org
http://www.kdevelop.org
http://www.glade.org
Linux Lab Project, dom akvizicije pod Linux-om:
http://www.llp.fu-berlin.de/

III) Gde tražiti softver za linux?
http://www.linuxberg.com
http://www.freshmeat.com

IV) Linux u Jugoslaviji
http://www.linux.co.yu
http://www.kde.org.yu
trenutno u razvoju:
http://www.linux.org.yu
http://www.linuxyu.org

V) Razno:
http://www.slashdot.org
http://www.linux.box.sk x


Pročitajte više o ovoj temi
Vezni igrač
MCX11 MicroController eXecutive za 68HC11
Programiranje u MCX11
Semafori
Tajmeri
cMCX11 Real Time operativni sistemi u programskom jeziku C 

C o p y r i g h t  1998 mikroElektronika. All Right Reserved. Za sva pitanja obratite se redakciji