-----
---
   
  OperaΦnφ systΘm UNIX minimalizovat/·vod maximalizovat 

O Unixu toho bylo jist∞ napsßno u₧ hodn∞, avÜak pro ty, kdo postrßdß ucelen² p°ehled o Unixu, a pro vÜechny, kdo se cht∞jφ s Unixem lΘpe seznßmit, tu mßm Φlßnek, kter² vßs do n∞kter²ch taj∙ Unixu zasv∞tφ. Nejprve si povφme n∞co o historii Unixu a systΘmech na n∞m zalo₧en²ch, potom se podφvßme na jeho rozÜφ°enφ a nahlΘdneme i do princip∙ a stavby Unixu.

Mßme-li dnes k dispozici poΦφtaΦ pracujφcφ pod n∞kterou verzφ operaΦnφho systΘmu Unix, m∙₧eme jej obvykle pou₧φt jako server poΦφtaΦovΘ sφt∞ na bßzi UNIXu. StaΦφ k n∞mu p°ipojit vhodn²m zp∙sobem pracovnφ stanice a na nich pak spustit vhodn² program, kter² bude emulovat terminßl k tomuto UNIXovΘmu serveru. Prßce s takov²mto terminßlem pak bude mφt vÜechny vlastnosti prßce s operaΦnφm systΘmem UNIX. I proto je dnes Unix tak oblφben² a pou₧φvan² na mnoh²ch serverech. V souΦasnosti existuje n∞kolik operaΦnφch systΘm∙ na tomto principu. MnohΘ z nich jsou komerΦnφ produkty sv∞tov²ch firem (Sun - SUN OS, Solaris (verze 8), Hewlett Packard - HP UX (11i), IBM - AIX, SGI-Irix, SCO- SCO Unix, Novell - UnixWare (7), True64 Unix, Mac OS X (verze 10à), BSD atd.). Pro b∞₧nΘho u₧ivatele je ale dostupnß freewarovß verze ÜpiΦkovΘho Unixu nazvanΘho Linux podle svΘho tv∙rce Linuse Thorvalda. Tento systΘm lze zφskat na mnoha uzlech sφt∞ Internet, nebo jako freeware na CD-ROMu Φi DVD.

Historie Unixu

Jednφm z populßrnφch a zajistΘ jednφm z nejlepÜφch operaΦnφch systΘm∙ je Unix. Je rozÜφ°en zejmΘna na akademickΘ p∙d∞ a ve specializovan²ch RISCov²ch systΘmech (na serverech). P°edch∙dcem UNIXu byl nejd°φve systΘm Multics, kter² m∞l obsluhovat tisφce souΦasn∞ p°ipojen²ch u₧ivatel∙. Pro svou slo₧itost a finanΦnφ nßroΦnost byl zruÜen, stal se vÜak zßkladem pro budoucφ UNIX.

SystΘm UNIX byl vyvinut v roce 1969 v Bell Laboratories firmy AT&T programßtory Thompsonem a Denisem Ritchiem. UNIX byl podstatn∞ jednoduÜÜφ (z toho bylo takΘ odvozeno jmΘno UNICS, kterΘ se pozd∞ji p°em∞nilo na UNIX). Prvnφ verze Unicsu byly psßny v assembleru, potΘ v jazyce BCPL (od Bucephalus - jmΘno kon∞ Alexandra VelikΘho :-)). Hlavnφm d∙vodem masovΘho rozÜφ°enφ bylo to, ₧e r. 1972 byl zdrojov² text p°epsßn v programovacφm jazyce C, co₧ umo₧nilo jeho nasazenφ na vφce platformßch.

UNIX byl vyvφjen ve verzφch V1-V10, p°iΦem₧ ve verzi V6 se v²voj rozd∞lil do dvou v²vojov²ch v∞tvφ, a pozd∞ji tak vzniklo mnoho "odno₧φ" UNIXu. Mezi nejd∙le₧it∞jÜφ v∞tev pat°φ °ada BSD (Barkeley Software Distribution). Z nφ se vytvo°ilo mnoho dalÜφch systΘm∙ (SunOS, Mach, NeXT STEP, Mac OS Xà). JednotlivΘ varianty od sebe p°ebφraly zdrojov² k≤d a byly navzßjem vφce Φi mΘn∞ kompatibilnφ. Druhou v∞tev vyvφjela skupina Unix System Laboratories (USL), od kterΘ pochßzφ °ada System V (Unix System III, System V Release 4, SCO Unix, UnixWare, HP UX, IBM AIX, A/UX, OSF/1...). Rozdφly mezi ob∞ma °adami postupn∞ mizφ, co₧ je nejvφce patrnΘ na jednotnΘ platform∞ LINUXu.

KomerΦnφ distribuce Unixu byly zpoΦßtku velmi drahΘ, n∞kterΘ klony se vÜak zaΦaly vyvφjet i v nekomerΦnφm prost°edφ. Mezi v²robce voln∞ Üi°itelnΘho Unixu (Unix GNU HURD) pat°φ nap°. nadace FSF (zalo₧enß Richardem M. Stallmanem), kterß vytvß°ela i voln∞ Üi°itelnΘ programy pro UNIX. O rozvoj UNIXu se dßle zaslou₧il Linus Torvalds, kter² r. 1991 zaΦal tvo°it jßdro unixovskΘho systΘmu pro poΦφtaΦe °ady 386. ZdrojovΘ k≤dy dßval voln∞ k dispozici na internetu, a dφky tomu p°ilßkal mnoho internetov²ch hacker∙ (v dobrΘm slova smyslu), kte°φ mu pomßhali vytvo°it souΦasn² LINUX. Koncem r. 1993 mohl LINUX sout∞₧it ve stabilit∞ a spolehlivosti s mnoh²mi komerΦnφmi UNIXy. SpoleΦn∞ s v²vojem LINUXu se dßle zdokonalovala °ada BSD, z kterΘ se vytvß°ely dalÜφ nekomerΦnφ UNIXy. ZnßmΘ jsou nap°. verze NetBSD, OpenBSD (1995, d∙raz na bezpeΦnost), FreeBSD. BSD se vÜak nikdy neprosadily tak jako LINUX. P∙vodn∞ byl Unix urΦen pro st°ediskovΘ a minipoΦφtaΦe. Dnes je mo₧nΘ Unix provozovat tΘm∞° na vÜech poΦφtaΦφch.

┌sp∞ch UNIXu tkvφ p°edevÜφm v jeho stabilit∞ a bezpeΦnosti, kterß je zabezpeΦena samostatnostφ vÜech unixovsk²ch program∙ a jejich dokonalou spoluprßcφ. VÜechny programy lze spouÜt∞t na jedinΘ p°φkazovΘ °ßdce (s mnoha parametry), programy fungujφ automaticky a nevy₧adujφ vstupy od u₧ivatele. Programy si navzßjem p°edßvajφ vstupy a v²stupy a jejich kombinacφ lze sestavovat slo₧itΘ operace bez nutnΘho zßsahu obsluhy. S daty lze v UNIXu provßd∞t prakticky jakΘkoliv operace a zßrove≥ lze snadno p°istupovat k naprostΘ v∞tÜin∞ zdroj∙.

Pro ujednocenφ mnoha dopl≥kov²ch funkcφ, volßnφ a dΘmon∙ vznikla °ada standard∙ POSIX, kterΘ definujφ systΘmovß volßnφ, knihovnφ funkce a chovßnφ program∙ v "POSIX kompatibilnφm" operaΦnφm systΘmu. NovΘ standardy vnesly do sv∞ta UNIXu °ßd a zabezpeΦily lepÜφ konverzi aplikacφ na r∙znΘ unixovskΘ platformy.

Zßkladnφ poznatky o Unixu

Obecn∞ °eΦeno Unix je multitaskingov², vφceu₧ivatelsk² operaΦnφ systΘm (vφce u₧ivatel∙ je podporovßno i p°i prßci na jednom poΦφtaΦi) s propracovanou hierarchickou strukturou. Cel² systΘm se sklßdß ze t°φ vrstev:

  • jßdro - Φßst operaΦnφho systΘmu zßvislß na hardwarovΘ platform∞, se kterou takΘ p°φmo komunikuje. Mimo to se jßdro starß o sprßvu proces∙ a p°id∞lovßnφ systΘmov²ch zdroj∙ vyÜÜφm vrstvßm.
  • systΘmovß volßnφ - definujφ aplikaΦnφ rozhranφ (API) pro programy vyu₧φvajφcφ jßdra systΘmu.
  • nadstavba - samotnΘ aplikaΦnφ programy (nap°. editory)

Nßroky UNIXovsk²ch systΘm∙:

Unix je mo₧nΘ provozovat i na poΦφtaΦφch s procesorem Intel, nejmΘn∞ vÜak s procesorem 286. Prßv∞ pro tento procesor byl na poΦßtku 80. let vyvinut systΘm XENIX (Microsoft). DalÜφho rozvoje dosßhl Unix pro osobnφ poΦφtaΦe a₧ s p°φchodem procesoru 386, kter² ji₧ poskytuje dostateΦn² v²kon. Minimßlnφ konfigurace pro Unix je tedy procesor 386 (lΘpe vyÜÜφ), 8 MB RAM (lΘpe 16 MB) a matematick² koprocesor. Vynikajφcφm freewarov²m operaΦnφm systΘmem je Linux dostupn² voln∞ p°es Internet, nebo u n∞kter²ch distributor∙ freeware. Jednß se o propracovan² systΘm pracujφcφ (podle jßdra) na mnoha platformßch vΦetn∞ PC.

Grafickß u₧ivatelskß rozhranφ:

Obdobn∞ jako se ostatnφ operaΦnφ systΘmy p°echßzejφ na grafickß u₧ivatelskß rozhranφ (GUI), tak i Unix p°ichßzφ s vlastnφmi standardy. Ty jsou ovÜem posti₧eny nejednotnostφ a nekompatibilitou (tak jak je na tomto poli zvykem). P°esto vzniklo n∞kolik standard∙, z nich₧ nejv²znamn∞jÜφ jsou OSF/Motif nebo X/Open Look. Tyto u₧ivatelskß rozhranφ se spojujφ ve standardu X-Windows, co₧ je u₧ivatelsky mnohem p°φv∞tiv∞jÜφ prost°edφ, ne₧ p°φkazovß °ßdka.

UNIX a jeho uplatn∞nφ na trhu

Dnes se pomalu se zaΦφnß upouÜt∞t od komerΦnφch verzφ UNIXu, velkou konkurenci jim toti₧ p°edstavujφ systΘmy Nowell Netware (mΘn∞ ·sp∞ÜnΘ), OS/2, Windows NT, Windows 2000 a takΘ freewarov² Linux. KomerΦnφ verze se UNIXu se pou₧φvaly p°edevÜφm pro svou p°enositelnost, v²konnost, stabilitu a vysokou technologickou ·rove≥ (64bitovß architektura). Dominovaly u nßroΦn²ch informaΦnφch systΘm∙ s architekturou klient-server a RICS procesory a u rozsßhl²ch grafick²ch aplikacφ. Byly vÜak natolik p°edra₧enΘ, ₧e se firmy stßle vφce poohlφ₧ely po levn∞jÜφch systΘmech od Microsoftu nebo freewarov²ch UNIXech. KomerΦnφ UNIXy stßle p°edstavujφ dominantnφ sφ¥ovou platformu ve st°ednφch a velk²ch firmßch. Velk² podφl na tom mß prosperujφcφ firma Sun Microsystems. PoΦet server∙ s Windows NT a 2000 ale nar∙stß mnohem rychleji (tvo°φ u₧ p°es 1/4 pou₧φvan²ch systΘm∙). Stßle roste i obliba systΘmu Linux (vyu₧itφ zatφm kolem 10%).

V tuzemsku se UNIX rozÜi°oval dφky strukturnφm zm∞nßm ve spoleΦnostech a celkovΘm hospodß°stvφ po r. 1989 pomaleji, up°ednost≥ovßny byly takΘ levn∞jÜφ OS Microsoftu. Microsoftu navφc nahrßval nßr∙st v²konu procesor∙ s architekturou CISC (procesory od Intelu). Unix podporovaly p°edevÜφm telekomunikaΦnφ firmy, stavebnφ spo°itelny, plynßrenskΘ firmy nebo hut∞. Mezi dodavateli neintelovsk²ch platforem vΘvodφ firmy IBM, Compaq a Hewlett Packard (OS Digital UNIX, true64 Unix, OpenVMS, OS/400, servery firmy Sun Microsystems).

Principy fungovßnφ UNIXu

Po nabootovßnφ b∞₧φ v systΘmu jen jßdro (kernel). Jßdro pak samo spustφ prvnφ u₧ivatelsk² program, kterΘmu vyhradφ pot°ebnΘ prost°edky a p°edß mu °φzenφ. B∞h programu je pak jßdrem usm∞r≥ovßn jedin∞, kdy₧ se musφ obslou₧it i jinΘ programy, nebo kdy₧ je nutnΘ obslou₧it periferii. Program m∙₧e po jßdru vy₧adovat n∞jakou systΘmovou slu₧bu, o kterou se p°ihlßsφ systΘmov²m volßnφm.

B∞₧φcφm aplikaΦnφm program∙m se v UNIXu °φkß procesy. Proces se sklßdß z identifikaΦnφch ·daj∙ v jßd°e, k≤du v operaΦnφ pam∞ti a z dalÜφch dat programu. Procesy mohou pomocφ systΘmovΘho volßnφ vytvß°et dalÜφ procesy a stanovovat, jak²m programem budou obsluhovßny. (=> procesy rodiΦovskΘ a procesy dce°innΘ). Ka₧d² proces a datov² soubor mß svΘho majitele, kter²m m∙₧e b²t kter²koliv registrovan² u₧ivatel (-> p°φstupovß prßva k procesu, souboru, vzßjemnß p°φstupovß prßva proces∙ a soubor∙).

Prvnφ proces po startu systΘmu se naz²vß v₧dy init a jeho majitelem je root (superu₧ivatel, UID=0). Proces init pak vytvß°φ °adu dalÜφch proces∙ k poskytovßnφ komplexnφch systΘmov²ch slu₧eb, kterΘ b∞₧φ po celou dobu ₧ivota systΘmu - tzv. dΘmony (nap°. dΘmon cron, kter² spouÜtφ aplikace podle naplßnovßnφ, dalÜφ dΘmoni mohou b²t pou₧φvßni nap°. pro obsluhovßnφ tisku). V∞tÜina dΘmon∙ obsluhuje sφ¥ovΘ slu₧by, "vyΦkßvß" na sφ¥ovΘm portu a₧ p°ijde sφ¥ov² paket a p°edßvß ho jßdru. Jßdro po₧adavek "p°elo₧φ" a vrßtφ ho zp∞t dΘmonu, kter² si ho sßm vyhodnotφ a urΦit²m zp∙sobem se pak zachovß (m∙₧e t°eba navßzat komunikaci s jinou aplikacφ). DΘmon v∞tÜinou pro provedenφ instrukcφ vytvo°φ pomocφ systΘmovΘho volßnφ nov² proces a sßm pak znovu vyΦkßvß na dalÜφ instrukce.

Mezi sφ¥ovΘ servery (dΘmony poskytujφcφ sφ¥ovΘ slu₧by) pat°φ web server, FTP server, SMTP server pro p°φjem poÜty (spolupracuje s inteligentnφm doruΦovatelem - dΘmonem sendmail a sφ¥ovou slu₧bou IMAP - protokolem pro zpracovßnφ poÜty na vzdßlenΘm stroji). StarÜφ variantou k SMTP serveru je protokol POP3. JednotlivΘ uzly sφt∞ (pracovnφ stanice, tiskßrny) si svou konfiguraci berou ze serveru pomocφ protokolu DHCP. Ten dodr₧ujφ vÜichni v²robci OS, protokoly DHCP musφ b²t kompatibilnφ. Pracovnφ stanice s OS Windows si b∞₧n∞ p°ipojujφ sφ¥ovΘ disky pomocφ protokolu SMB, to je v UNIXu provßd∞no pomocφ protokolu SAMBA, kter² poskytovßn zdarma pro vÜechny platformy. SAMBA poskytuje mnoho sφ¥ov²ch slu₧eb, umo₧≥uje nap°. Üifrovat u₧ivatelskß hesla tak, aby nebyla v lokßlnφ sφti odposlechnutelnß. Pro sdφlenφ disk∙ mezi unixovsk²mi poΦφtaΦi b²vß pou₧φvßn protokol NFS, kter² je navr₧en s ohledem na maximßlnφ propustnost sφt∞. Otßzky oprßvn∞nφ se °eÜφ a₧ na stran∞ klienta.

Zßkladnφm pracovnφm nßstrojem u₧ivatele UNIXu je shell, program slou₧φcφ ke spouÜt∞nφ dalÜφch program∙. Shell se aktivuje v₧dy, kdy₧ se u₧ivatel p°ihlßsφ k unixovskΘmu stroji na konzoli, po sφti nebo prost°ednictvφm terminßlu. Pou₧φvß se k zadßnφ povel∙ pomocφ klßvesnice. V grafickΘm re₧imu lze spouÜt∞t programy pomocφ p°φsluÜn²ch ikon. Slo₧it∞jÜφ textovΘ p°φkazy shellu je vhodnΘ napsat do souboru a ten pak spouÜt∞t jako kter²koliv jin² program (program se spouÜtφ prost²m zadßnφm jeho jmΘna). ╚innost program∙ lze ovlivnit ·pravou jejich konfiguraΦnφch soubor∙.

Unix je velmi vlφdn² k pou₧itφ terminßl∙, pomocφ kter²ch se lze p°ipojovat ke vzdßlen²m poΦφtaΦ∙m. K tomuto p°ipojenφ slou₧φ program telnet, pomocφ kterΘho se ke vzdßlenΘmu poΦφtaΦi m∙₧eme p°ihlßsit a pak m∙₧eme pou₧φvat jakΘkoliv p°φkazy UNIXu. BezpeΦn∞jÜφ nßhradou telnetu je programov² balφk SSH - p°enßÜenß data se standardn∞ Üifrujφ. UNIX umo₧≥uje pomocφ terminßlu skuteΦnou prßci na serveru bez jak²chkoliv program∙ na stran∞ u₧ivatele, kdy se vyu₧φvß procesor serveru, nikoliv jako u Windows, kdy se pracuje jen se soubory ulo₧en²mi na serveru (a nßÜ procesor musφ stejn∞ vÜechno odd°φt). Pro automatickΘ p°ihlaÜovßnφ ke vzdßlen²m stroj∙m slou₧φ nap°φklad program Kerberos, kter² vygeneruje u₧ivateli klφΦ, a ten ho pak identifikuje pro vzdßlenΘ stroje. Kerberos vÜak nenφ dosud pou₧iteln² na vÜech strojφch, tak₧e p°ihlaÜovßnφ nenφ v₧dy automatickΘ. Terminßly je takΘ mo₧nΘ pou₧φt jako klienty grafickΘho v²stupu, na n∞m₧ se podφlφ grafick² systΘm X11 (X Windows System) sestaven² pro Unix. Zßkladem tohoto systΘmu jsou okna podobn∞ jako u Windows. Aktivnφ m∙₧e b²t v₧dy jen jedno okno, okna mohou b²t ovlßdßna r∙zn²mi aplikacemi.


zp∞t | nahoru