UNIX a Linux

 Oba systémy mají mnoho společných věcí- to co platí pro Unix platí většinou i  pro Linux

 

UNIX:

Vývoj systému začal v roce 1965 v Bellových telefonních laboratořích s cílem vytvořit multiuživatelský a multiprocesový systém. Koncem 70.-tých let byl uvolněn mimo výzkumné centrum Bellových laboratoří. Začal se instalovat zdarma na universitách, kde sloužil k vědeckým účelům. Následující vývoj probíhal jak v Bellových laboratořích, tak i na Kalifornské universitě v Berkeley ( distribuce BSD).

               

Architektura systému

                Jedná se systém s monolitickým jádrem a skládá se ze tří základních částí:

a)       jádro – kernel

b)       interpret příkazů – shell

c)       obslužné programy – utilities

 

              Operační systém jako mezivrstva mezi softwarem a hardwarem je v podstatě jen jádro. Jádro je program, zpravidla velikosti několika stovek kilobajtů, který je bezprostředně po startu systému zaveden do paměti  a obstarává správu zdrojů počítače.

             Shell umožňuje uživateli pohodlným způsobem komunikovat se systémem, zadávat příkazy, spouštět uživatelské programy apod.  Shell je rovněž silný programovací jazyk, pomocí kterého lze definovat vlastní funkce  a psát univerzální skripty. Shelly nejsou standardizované. Existuje několik základních shellů, jež mají dost odlišnou syntaxi ( Korn Shell, C Shell a další)

              Obslužné programy vykonávají elementární operace se soubory a procesy. Některé obslužné programy poskytují systémové informace. Mezi základní obslužné programy patří například nástroje pro kopírování souborů, programy pro zjišťování míry zaplnění disku, programy umožňující vzájemnou komunikaci mezi procesy a podobně.

 

 

V roce 1993 skupina Berkley Computer System Research, ještě před ukončením vývoje BSD, postavila na jeho zdrojových kódech verzi 386BSD, která byla určena pro platformu 386. Tato verze se vyvíjela zcela samostatně, zcela nezávisle na ostatních Unixech. Postupně se od této skupiny oddělovaly skupiny vývojářů, které v průběhu roku 1993 vytvořily 3 projekty označované jako FreeBSD, NetBSD a OpenBSD. V současné době probíhá vývoj NetBSD (snadno přenositelný OS) a OpenBSD (bezpečný a robustní OS). Oba tyto systémy se vzájemně ovlivňují.

V současné době se jedná o operační systém pro celou škálu počítačových systémů včetně třídy PC. Nejedná se o produkt ve vlastnictví jedné firmy, ale vývoj řídí koncensus mnoha různých národních a mezinárodních organizací. Jednotlivé varianty UNIXU se liší i svým označením.

 

 

Linux:

operačního systému Minix, což je jeden z mála unixových klonů běžících na procesoru Intel 8086

OS Minix napsal pan Andrew S. Tanenbaum pro své studenty jako učební pomůcku a každý, kdo si pořídil Tanenbaumovu knihu "Operating Systems: Design and Implementation", mohl rovněž získat zdrojový kód Minixu a případně ho i poupravit. Tehdy to byla rozhodně vzácnost a věřte, že zájemců se našlo opravdu mnoho. Jedním z nich byl také Linus Benedict Torvalds. Bylo mu 21 let a studoval na Helsinské univerzitě druhým rokem informatiku.

První verze Linuxu byla k dispozici někdy v polovině září. Značným překvapením bylo, že na straně internetové komunity vzbudil takový zájem, neboť Linux byl zatím absolutně nepoužitelný systém. Vždyť jej nešlo ani spustit, byl nepřenosiltelný na jiné platformy a neznal mechaniky pružných disků! Ale byl nezávislý na kódu Minixu a to se ukázalo jako obrovská výhoda.

Nebudu zde rozebírat první krůčky Linuxu…prostě to šlo ráz na ráz.

Co je asi hlavním pokrokem linuxu je rozšiřování a zlepšování  uživatelského prostředí, protože kvalita grafických prostředí KDE či GNOME pokročila a v mnohém předčí i klasické rozhraní operačních systémů Windows nabízené firmou Microsoft.

 

Na Linux se vztahují licenční podmínky GPL (GNU General Public Licence). Tato licence se vztahuje na veškeré produkty tvořené nadací Free Software Foundation a jejím cílem je zpřístupnit distribuční práva široké veřejnosti. Znamená to, že můžete software GNU distribuovat za libovolný poplatek, ale nesmíte nikomu nařizovat, za jaký poplatek má šířit distribuci dále. Kromě toho musíte s každou distribucí GNU software dodat i zdrojové kódy, takže každý si může software upravit dle vlastních potřeb.

 

Dnes je OS na bázi Linuxu(grafické nástavby apod.) spousty např. Ubuntu, KDE, GNOME, Mandrake, SuSe, Red Hot, Debian

 

Pro zajímavost pár užitečných příkazů:

passwd [uzivatel]…………Změní heslo uživatele-Root smí měnit heslo komukoliv

adduser………………………Založí nového uživatele (jen pro roota)

cp <co> <kam>………………………Zkopíruje soubor

rm <soubor(y)>……………………Smaže soubor-y

mount <zarizeni> <mountpoint>………připojí partišn do adresářového stromu

kill {PID procesu}………… Pošle procesu signál ukončit

kill -9 8340……… Bez výzvy odstřelí program 8340 (natvrdo signálem SIGKILL)

free…………… Vypíše využití paměti

mc……………  Zakladni prikaz Linuxu (Midnight Commander)

 

 

Níže uvedené platí pro Linux i Unix(možná se maličko liší:o) )

Unix je od svého vzniku koncipován jako víceuživatelský systém pro přístup uživatelů k systému pomocí tzv.terminálu. Terminál je zařízení, které obsahuje alespoň klávesnici a zobrazovací zařízení, např. monitor. Jedná se v podstatě o neinteligentní zařízení. Dříve se terminály připojovaly k počítači prostřednictvím sériové linky s rozhraním RS232. Nyní jsou zpravidla emulovány na počítačích třídy PC.

Přístup do systému je obdobný jako jiných počítačových sítích. Každý uživatel je identifikován prostřednictvím uživatelského účtu. Ten obsahuje především :

-          Přihlašovací jméno

-          Heslo

-          Uživatelské číslo (UID – User Identification)

-          Primární skupina (GID – Primary Group Identification)

-          Domovský adresář

-          Shell – jméno souboru, který se spustí jako shell po přihlášení

-          Přihlášení uživatelé sdílí virtuální prostor serveru, ve kterém jsou sdíleny síťové prostředky. Pro vlastní práci má každý uživatel vlastní kopii shelluinterpreteru příkazů.

 

Procesy

V systému UNIX je víceúlohový systém. Současně na něm může běžet množství procesů, přičemž proces může být jedna kopie běžícího programu (každý spustitelný program může být spuštěn vícekrát). Z tohoto důvodu není možné se na procesy odkazovat jménem, ale je nutné je očíslovat. Každý proces je jednoznačně identifikován číslem procesu PID.

 

Systém souborů 

Různé implementace systému používají odlišné fyzické způsoby ukládání dat na disky. Logicky jsou odkazy na soubory uloženy do seznamu i-uzlů (jako tzv. i-node). I-uzel obsahuje fyzickou adresu souboru a jeho velikost. Názvy souborů jsou uloženy v adresáři.  

Adresář je přitom chápán jako zvláštní případ souboru, který obsahuje pouze jméno a číslo uzlu.

i-uzly

          D a t a

 
1

Jméno 1

Jméno 2

Jméno 3

Jméno 4

 
2

3

          D a t a

 
4

5

6

          D a t a

 
7

 

Obr. 56. Souborový systém UNIXu

 

I-uzly máme jak pro souborový systém, tak i pro paměť počítače.

   Všechny systémy souborů, tj. lokálních i vzdálených jsou přitom propojeny v Unixu do jednoho adresářového stromu.

 

 

Přístupová práva

Obdobně jako v jiných síťových operačních systémech je přístup k souborům regulován prostřednictvím přístupových práv. Tyto lze systému zvlášť specifikovat pro vlastníka souboru, skupinu vlastníka a ostatní.každý objekt má ve svém i-uzlu následující informace, vztahující se k vyhodnocování přístupových práv :

·         vlastník souboru

V i-uzlu je zapsáno číselné UID toho uživatele, který soubor vytvořil

·         skupina vlastníka

V i-uzlu je zapsáno číselné GID skupiny, do které byl uživatel v okamžiku vytváření souboru přihlášen

·         Přístupová práva

Přístupová práva jsou v objektu dána 12 bity, tak jak je uvedeno dále.

 

Přístupová práva jsou definována pro tři různé kategorie vztahující se k vlastnictví:

-          Vlastník (user)

-          Skupina (group)

-          Ostatní (others)

Ve všech třech kategoriích můžeme povolit, či zakázat stejné operace r w x .

 

Pro soubor jsou dány tyto významy :

r              soubor je povoleno číst

w             do souboru je povolen zápis

x              soubor je povoleno spustit

 

Pro adresář jsou dány tyto významy :

r              adresář je povoleno vypsat

w             v adresáři je povoleno vytvářet či rušit soubory

x              do adresáře lze vstoupit (např.použitím příkazu cd) a lze zpřístupnit i-uzly souborů, na které se adresář odkazuje

 

Základní přehled adresářové struktury v systému LINUX:

/bin
Jsou zde uloženy základní příkazy k bootování, ke správě systému, změně hesel atd.

/sbin
Podobně jako /bin, ale programy slouží jen superuživateli (rootovi). Za jistých okolností je můžou používat i ostatní uživatelé.

/boot
Soubory, jež používá zavaděč operačního systému (angl. bootstrap loader), například LILO. Je zde uloženo jádro operačního systému LINUX, 300 - 700 KB ve zdrojovém kódu. Po instalaci je nutná kompilace aby fungovalo.

/dev
Devices - adresáře zastupující hardware zařízení. Jsou zde ke každému zařízení adresáře např. COA = COM1. Cokoli sem zapíšeme, pošle se na COM1. NULL adresář - cokoli sem zapíšeme, se nestane.

/etc
Databáze uživatelů, hesla, shelly atd. Jsou zde uloženy konfigurační soubory programů (něco jako .ini v OS Microsoft Windows).
/etc/rc, /etc/rc.d, /etc/rc?.d - jedná se o skripty a adresáře skriptů, které se spouší při startu, nebo v případě kdy se mění běh úrovné systému (init).
/etc/passwd - databáze uživatelů systému s položkami, v nichž je uloženo uživatelské jméno, skutečné jméno uživatele, domovský adresář, šifrované heslo a další dodatečné informace.

/home
Obsahuje domovské adresáře všech uživatelů (třeba: /home/novakj). Díky oddělení se snáze zálohují. Často je tento adresář umístěn na jiném pevném disku.

/lib
Sdílené knihovny pro různé programy.
/lib/modules - zaváděcí moduly jádra systému (zvláště ty, které jsou potřeba pro zavedení systému při zotavení po neočekávaných událostech (například síťové ovladače a ovladače pro souborový systém).

/mnt
Přípojné místo pro dočasná připojení dalších disků, například /mnt/cdrom).

 

 

/proc
Tento adresář je virtuálně simulovaný, jsou zde ke každému procesu adresáře a je tam o tom procesu záznam. Například co se vykonávalo, kdo to přikázal, kdy, atd. Při prohlížení těchto souborů jsou generovány operačním systémem.

/root
Domovský adresář roota. Je zvlášť kvůli bezpečnosti. V praxi ho často představuje jiný pevný disk.

/tmp
Adresář vyhrazený pro pracovní soubory všeho druhu.

/usr/
Obsahuje všechny příkazy, knihovny, manuálové stránky a jiné soubory, jejichž obsah se nemění a které uživatel potřebuje při běžném provozu.
/usr/bin - veřejně přístupné příkazy,
/usr/doc - dokumentace,
/usr/lib - knihovny,
/usr/local - konfigurační soubory,
/usr/man - manuálové stránky tj. nápověda pro programy,