Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Jak se pracovalo s počítači dříve mov ax,bp sub ax,4 push ax push offset text2 call _scanf pop ax mov ax,word ptr [bp-2] add ax,word ptr [bp-4] FF A3 B8.

Podobné prezentace


Prezentace na téma: "Jak se pracovalo s počítači dříve mov ax,bp sub ax,4 push ax push offset text2 call _scanf pop ax mov ax,word ptr [bp-2] add ax,word ptr [bp-4] FF A3 B8."— Transkript prezentace:

1 Jak se pracovalo s počítači dříve mov ax,bp sub ax,4 push ax push offset text2 call _scanf pop ax mov ax,word ptr [bp-2] add ax,word ptr [bp-4] FF A3 B8 31 A7 B4 EF 17 E8 1E A 24 B8 C7 DD F4 D7 FF AF 14 B3 57 … 1 byte (8 dvojkových cifer či dvě šestnáctkové cifry) Pro projekt „Cesta k vědě“ (veda.gymjs.net) vytvořil V. Pospíšil Modifikace a šíření dokumentu podléhá licenci CC-BY-SA. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

2 Jak se pracovalo s počítači dříve : : : : : Přímé adresování – proměnné byly uloženy v programátorem určené buňce paměti 2 byte od buňky představují rychlost částice 2 byte od buňky představují hmotnost částice … a tak podobně … FF A3 8A B4 EF 17 E8 1E A 24 B8 C7 DD F4 D7 FF AF 14 B3 57 … instrukce pro násobení 2-byte čísla v paměti danou konstantou buňka paměti ( 8A79 16 = ) hodnotu čísla v zadaných dvou buňkách vynásob dvěmi Jak se například zadávalo násobení dvěmi?

3 Co se všechno mohlo pokazit FF A3 8A B4 EF 17 E8 1E A 24 B8 C7 DD F4 D7 FF AF 14 B3 57 … Pokud například instrukce A2 znamenala násobení 1-byte čísla v paměti konstantou, způsobil podobný překlep následující: v = = 2EE0 16 v = = 5DC : : : : v = = 2EE0 16 v = = 2EC : : : : 2 x E0 16 = 1C0 16 správně špatně A2 namísto A3:

4 Co se všechno mohlo pokazit : : : : : 2 byte od buňky představují rychlost částice 2 byte – čísla od 0 do Co když si později uvědomíme, že tento rozsah je malý a chceme rychlost 4 byte (0 – ) ? 4 byte od buňky představují rychlost částice 2 byte od buňky představují hmotnost částice … a tak podobně … FF A3 8A B4 EF 17 E8 1E A 24 B8 C7 DD F4 D7 FF AF 14 B3 57 … V kódu je nutné změnit všechny příslušné instrukce, pozice buněk a čísla pozic VŠECH proměnných, které jsou v paměti umístěné za rychlostí!

5 Co všechno se mohlo pokazit Na starých počítačích pracovali pouze určení operátoři a programovali požadavky uživatelů. Se vzrůstajícím využíváním výpočetní techniky ale toto schéma přestalo vyhovovat a bylo nutné umožnit přístup k počítačům uživatelům přímo. Uživatelé se ovšem v instrukčních sadách nevyznají a kromě toho mohou mít na počítač nesmyslné či kolidující požadavky – zvláště pokud přijdou zároveň.

6 Operační systémy a programovací jazyky Řešením bylo a) zavést nějaký symbolický jazyk, kterému by rozuměl jak počítač, tak člověk b) zamezit uživatelům přímý přístup k HW prostředkům počítače a položit mezi ně další vrstvu programů, která by zpracovávala požadavky uživatelů na počítač v pořadí, ve kterém přijdou, bez kolizí c) zamezit uživateli počítače v přístupu k úlohám a datům jiného uživatele, aby nedocházelo k omylům Překladače - programy, které převádějí lidem srozumitelný jazyk do strojového kódu (BASIC, Fortran, C, Pascal, atd… ) Operační systém - skupina programů odpovídající za přímý přístup k HW a správu uživatelských požadavků (UNIX, Linux, Windows atd…)

7 OS UNIX Ken Thompson Dennis MacAlistair Ritchie Počítač PDP-7 Operační systém UNIX byl vyvinut v sedmdesátých letech pro společnost Bell Telephone Laboratories (divize AT&T) na počítači PDP-7. V souvislosti s UNIXem byl také vyvinut programovací jazyk C. UNIX byl ve vyšších verzích psán v C-čku sám, což umožnilo jeho přenositelnost na další počítače (strojový kód je sám o sobě zpravidla nepřenositelný). Koncem sedmdesátých let antimonopolní úřad zakázal AT&T činnost v počítačovém průmyslu. Společnost převedla licenci k UNIXu na univerzity odkud přešel později znovu do komerční sféry. Dnes se užívá v několika variantách na velkých mainframech.

8 OS UNIX – strom verzí OS Linux

9 Projekt GNU Richard Matthew Stallman Projekt GNU GNU je projekt zaměřený na svobodný software, inspirovaný operačními systémy unixového typu. Původní cíl byl vyvinout operační systém se svobodnou licencí, který však neobsahuje žádný kód původního UNIXu. Jeho jméno je rekurzivní zkratka pro GNU's Not Unix (anglicky GNU Není Unix). Projekt GNU založil v roce 1983 programátor Richard Stallman, vlastní softwarový vývoj začal o rok později. Cílem projektu bylo vytvořit kompletní svobodný operační systém. To se podařilo naplnit v roce 1992, kdy byla poslední chybějící součást, jádro (kernel), doplněna nezávisle vytvořeným svobodným jádrem Linux. Ačkoliv se takovému systému často říká Linux, přesnější pojmenování je GNU/Linux. Operační systém GNU však může používat i jiná jádra, např. jádro Hurd (systém se pak nazývá GNU/Hurd). Dnes řídí chod GNU Free Software Foundation. Organizace je autorem licencí GPL (General Public Licence) a GFDL (General Free Documentation Licence), které mohou používat i jiní autoři softwaru a dokumentace. Slovo Free zde neznamená „zadarmo“, nýbrž „svobodný“ (dle výše uvedených zásad). Krédo svobodného software jsou tyto čtyři svobody: svoboda používat program za jakýmkoliv účelem svoboda studovat, jak program pracuje a možnost přizpůsobit ho svým potřebám svoboda redistribuovat kopie programu - můžete pomoci přátelům svoboda vylepšovat program a zveřejňovat zlepšení, aby z nich mohla mít prospěch celá komunita

10 HARDWARE Aplikace OS GNU/Linux Linus B. Torvalds Jádro systému Linux začalo být vyvíjeno v roce 1991 pro počítače s procesorem řady 386. Vychází z myšlenkově UNIXu, veškerý kód byl ale napsán znovu a na jeho vývoji se nepodílela žádná komerční společnost. Ve spojení s programy projektu GNU je šířeno jako plnohodnotný systém GNU/Linux. „Potřebuju nějaký rozumný systém – DOS neumí multitasking, UNIX je příšerně drahý a náročný…“ Linux Uživatelské rozhraní Obslužné programy a nástroje Jádro (kernel) UŽIVATEL 1UŽIVATEL 2UŽIVATEL 3

11 Šíření OS GNU/Linux GNU/Linuxová distribuce je označení kompletu programových balíků provozovatelných na operačním systému GNU/Linux. Tzn. nejenom vlastního jádra operačního systému ale i dalších aplikací, které mohou být, ale většinou nejsou autorským dílem distributora. Tyto distribuce se liší například ve způsobu instalace programových balíků, integrací vlastních konfiguračních metod, atp. Jedna z nejpopulárnějších distribucí v Evropě (sídli v Německu). Jedná se o rozsáhlou distribuci (7+ CD či 2 DVD), společnost vlastní Novell. Red Hat Enterprise Linux (často značen RHEL) je linuxová distribuce vyvíjená americkou firmou Red Hat Inc. určená pro podnikovou sféru. Fedora Core nekomerční verze Red Hat Linuxu. Debian nekomerční univerzitní distribuce Mandriva nekomerční distribuce zaměřená na snadnost ovládání Scientific Linux nekomerční distribuce pro laboratoře

12 Přihlášení do Linuxu Aby systém umožnil člověku práci, je nutné se do něj nejprve přihlásit, a to pomocí zvoleného uživatelského jména a hesla. Uživatel, který sedí přímo u daného počítače má obvykle k dispozici grafické rozhraní, po síti je třeba užít konzoli (příkazový řádek). Každý uživatel má právo manipulovat pouze s vlastními soubory a smí spouštět obecné aplikace. Nesmí operovat se soubory ostatních uživatelů a zejména nesmí měnit nastavení systému. Systém smí konfigurovat pouze tzv. superuživatel, který se vždy přihlašuje pod jménem root. Zpravidla to bývá správce sítě. Uživatel root smí absolutně všechno – od mazání a vytváření uživatelských účtů přes změny systémových nastavení až po zápis do číchkoliv a jakýchkoliv souborů. Pracujete-ůi pod uživatelem root, je třeba si každý krok důkladně rozmyslet – neuvážená operace snadno operační systém zničí.

13 Přihlášení do Linuxu Přihlášení z Windows do linuxu na vzdáleném počítači pomocí programu putty Uživatel je přihlášen do linuxu přes konzoli (příkazovou řádku)

14 Přihlášení do Linuxu Přímo z linuxové konzole se lze přihlásit k jinému vzdálenému počítači příkazem ssh. Příkaz ssh přihlásí uživatele pospisil na počítač s internetovou adresou buon.fjfi.cvut.cz Uživatelské heslo je možné změnit příkazem passwd.

15 Základní nástroje Linuxu - shell Samotné jádro pro práci na operačním systému nestačí – neumí totiž komunikovat s uživatelem. K tomu je potřeba nějaký další software. Pro linux nejtypičtější je inerpret příkazové řádky. Interpret příkazové řádky (konzole, terminál nebo shell) je jeden z obslužných programů. Nejpoužívanější je bash (akronym Bourne Again Shell) vychází z UNIXovského shellu napsaného Stephenem Bournem pro Bellovy laboratoře. Existují i další shelly, jako Korn (ksh) či C-shell (csh). Bash je vyvíjen v rámci projektu GNU. Shell umožňuje: Komunikaci uživatele a jádra přes jednoduché psané příkazy Spouštění dalších aplikací a přesměrování jejich vstupů a výstupů dle potřeb uživatele Spouštět skripty – posloupnosti příkazů shellu a spuštění jednotlivých aplikací dle instrukcí zapsaných v souboru. Pracuje-li uživatel v grafickém rozhraní, lze mít najednou otevřeno libovolné množství shellů, každý v jiném okně. Každý shell (okno) může mít rozdílné nastavení systémových proměnných a v každém může být přihlášen jiný uživatel.

16 Základní nástroje Linuxu - shell Dva bash shelly s různými přihlášenými uživateli

17 Soubory v Linuxu Linux má adresáře a soubory uspořádány podobně jako Windows. Je zde však několik rozdílů: Linux nedělí strom adresářů podle diskových oddílů. Místo toho má jeden základní strom, ke kterému se jednotlivé disky připojují jako podadresáře. Kromě souborů a adresářů existují ve stromu tzv. symbolické odkazy. Tyto odkazy se tváří, jako by byly normálními soubory, ale ve skutečnosti jsou jen „ukazatele“ na soubory fyzicky zapsané někde jinde. Jsou do jisté míry analogií „zástupců“ ve Windows. Základ stromu adresářů má pevně danou strukturu. Některé adresáře mají speciální význam. Při psaní jmen souborů a adresářů platí následující pravidla znak pro aktuální adresář znak pro adresář o jeden blíže ke kořeni než aktuální / ---- odděluje jména adresářů (opačné lomítko než pod Windows) * ---- nahrazuje libovolnou skupinu znaků ve jménu souboru ? ---- nahrazuje jeden znak ve jménu souboru ~ ---- nahrazuje cestu k domovskému adresáři uživatele Soubory začínající tečkou jsou považovány za skryté.

18 Soubory v Linuxu Například: /home/pospisil/Domovský adresář uživatele pospisil ~/Screenshots/Adresář Screenshots v domovském adresáři aktuálního uživatele. V případě uživatele pospisil je toto zkratka pro /home/pospisil/Screenshots/ /home/pospisil/*Všechny soubory v adresáři /home/pospisil/ /home/pospisil/*.logVšechny soubory v adresáři /home/pospisil/ končící skupinou znaků.log./hy*xt.logVšechny soubory v aktuálním adresáři začínající skupinou znaků hy a končící skupinou znaků xt.log../log?.txtVšechny soubory o adresář níž než aktuální ve tvaru log.txt../public/*_log?.txtVšechny soubory ve „vedlejším“ adresáři public ve tvaru _log.txt

19 Strom adresářů v Linuxu //bin /boot /dev /etc /home /lib /mnt /proc /root /sbin /tmp /usr /var Důležité spustitelné soubory (nízká úroveň) Soubory pro zavádění systému Ovladače zařízení. Soubory zde jsou ve skutečnosti komunikačními kanály a data do nich zapsaná se posílají na HW zařízení. Systémová nastavení Domovské adresáře uživatelů Programové knihovny Dočasná disková zařízení se připojují do podadresářů sem (CD, DVD, USB flash disk apod.) Informace o jádře a běhu systému. Soubory zde jsou ve skutečnosti přímými kanály do paměti používané jádrem. Jakýkoliv zápis sem má zpravidla fatální následky. Domovské adresář superuživatele root Dočasné soubory aplikací Spustitelné soubory (aplikace nízké úrovně) Spustitelné soubory a data aplikací Různá proměnná data (pošta, tiskové fronty apod.)

20 Strom adresářů v Linuxu Tento strom je vytvořen vždy a musí být umístěn na disku, ze kterého byl systém do počítače zaveden. Další adresáře mohou být vytvářeny dle libosti. Pokud má linux pracovat s dalšími disky, je nutné vytvořit adresář a přikázat jádru, aby obsah dalšího disku umístil do tohoto adresáře. Zcela typicky Do adresář /home/ je umístěn (mount) obsah jiného fyzického disku, než na kterém je systém. To jednak ochraňuje systémové soubory před případným poškozením a navíc zabraňuje tomu, aby uživatelé „zaplácali“ veškeré volné místo, které systém potřebuje k činnosti. Do adresáře /windows/C je připojen disk obsahující systém Windows. Analogicky do /windows/D, windows/E … jsou namountovány další disky s windowsovskými daty. Pro připojování a odpojování disků slouží programy mount a umount. Operace s nimi lze doporučit pouze zkušeným uživatelům. Moderní distribuce linuxu zpravidla zařizují automatický mount/umount pro média typu CD, DVD a USB flash.

21 Usnadnění práce s konzolí V grafickém módu lze práci s konzolí usnadnit přes schránku. Levým tlačítkem lze označit libovolný text, pravým tlačítkem se označené znaky umístí do příkazové řádky. Klávesou tab se aktivuje funkce doplňování. Shell po jejím stisknutí doplní rozepsané jméno souboru, je-li možné soubor jednoznačně identifikovat z již napsaných znaků.

22 Základní nástroje Linuxu – program ls Program ls slouží k výpisu obsahu aktuálního adresáře. Nejobvyklejší volby : -- help : vypíše všechny možnosti -l : vypíše všechny informace o souborech -1 : výpis do sloupce -a : vypíše i skryté soubory (jejich jméno začíná tečkou) Přidáme-li jméno souboru nebo libovolnou zkratku, vypíše jen příslušný soubor (soubory), pokud existují. Například ls *.txt vypíše všechny soubory s příponou.txt

23 Přístupová práva k souborům K souboru mohou přistupovat tři typy uživatelů : vlastník (owner - ten, který soubor vytvořil), člen skupiny (group) a kterýkoliv jiný (other). K souboru lze přistupovat třemi způsoby : číst soubor (read), zapisovat do souboru (write) a spouštět soubor (execute). To dává dohromady devět typů přístupových práv, která lze zvlášť nastavit. Práva všech souborů v adresáři zobrazí ls s direktivou –l. Informace se zobrazují následovně: -rwxr-xr-x 1 pospisil users :52 exeprog Typ souboru (- pro normální, d pro adresář) Přístupová práva Majitel souboru Skupina majitele souboru Velikost souboru v byte Datum a čas poslední modifikace Jméno souboru Počet odkazů na soubor -rwxr-xr-x Čtení, zápis a spouštění vlastníkem Čtení, zápis a spouštění skupinou Čtení, zápis a spouštění ostatními Písmeno – operace je povolena, pomlčka – operace je zakázána

24 Přístupová práva k souborům Měnit práva k souborům smí jen vlastník a superuživatel (root). K tomu je určen příkaz chmod. Jeho parametry jsou a … všichni (all), u … uživatel (user), g … skupina (group), o … ostatní (other) + … udělí právo k operaci, - … odebere právo k operaci r … právo ke čtení, w … právo pro zápis, x … právo pro spouštění a jméno souboru (souborů). Parametr –R změní práva zadaných souborů ve všech podadresářích. Přístupová práva adresářů mají trochu jiný význam. Nemá smysl se ptát, zda adresář lze spouštět či nikoliv (nejde to nikdy), přístupové právo x je proto předefinováno na právo prohlížet obsah adresáře.

25 Základní nástroje Linuxu – program cd Program cd slouží k změně aktuálního adresáře. Jako parametr program vyžaduje jméno adresáře. Pokud je spuštěn bez parametru, změní aktuální adresář na domovský adresář uživatele.

26 Základní nástroje Linuxu – program cp Program cp slouží pro kopírování souborů mezi adresáři. Povinné parametry jsou cp zdrojový-soubor cílový-soubor všechny parametry lze vypsat příkazem cp --help.

27 Základní nástroje Linuxu – program rm Program rm slouží pro mazání souborů. Všechny parametry lze vypsat příkazem rm --help. Pozor – smazané soubory nelze obnovit!

28 Základní nástroje Linuxu – programy mkdir a rmdir Programy mkdir a rmdir slouží pro vytváření a mazání adresářů. Všechny možnosti lze vypsat pomocí direktivy --help.

29 Základní nástroje Linuxu – program ssh Program ssh slouží pro otevření shellu na vzdáleném počítači. Jako parametr vyžaduje uživatelské jméno a adresu počítače ve tvaru Spojení ukončíme příkazem exit. Chceme-li spouštět vzdálené grafické aplikace, je nutné volat ssh s direk- tivou –X.

30 Základní nástroje Linuxu – program scp Program scp slouží pro kopírování souborů mezi vzdálenými pošítači. Povinné parametry jsou :zdrojový-soubor cílový-soubor scp : cílový-soubor všechny parametry lze vypsat příkazem scp --help. Program se zeptá na heslo.

31 Základní nástroje Linuxu Další užitečné programy pro orientaci v adresářovém stromě: Program pwd vypíše cestu k aktuálnímu adresáři Program whoami vypíše jméno aktuálního uživatele Program which najde umístění spustitelného souboru (v cestě spustitelných souborů) Program whereis projde navíc i některé standardní adresáře a najde i manuálové stránky.

32 Základní nástroje Linuxu Další užitečné programy : Program grep vyhledá zadaný řetězec v souboru Program head vypíše prvních 10 řádek ze souboru (pro rychlé vyhledávání) Program tail vypíše posledních 10 řádek ze souboru Program sort setřídí obsah textového souboru Program diff porovná obsah dvou souborů a vypíše rozdíly

33 Rozšířené nástroje Linuxu - mc Nadstavba shellu zejména pro práci se soubory je široce rozšířený Midnight Commaner. Umožňuje pohodlnou práci se soubory ve dvou oknech, umí i připojit strom vzdáleného počítače protokolem ssh a zobrazit jej v okně. Shell pod ním běží i nadále. Nepotřebuje grafické rozhraní.

34 Grafické rozhraní Linuxu Základem grafického rozhraní linuxu je X Window system (X11), což je serverová aplikace umožňující ostatním programům grafický výstup a vstup přes myš a další polohovací zařízení (vytvořena v roce 1984). Zásadní rozdíly mezi X11 a MS Windows: X11 není součástí jádra. Linux bude běžet i bez X11 v textovém módu a jeho funkčnost se nezmění. X11 je serverová aplikace, která běží na počítači uživatele. Programy, které skrze ni posílají své vstupy a výstupy ale lokálně běžet nemusí. X11 dokáže ošetřit v podstatě libovolné množství aplikací spuštěných na libovolném množství vzdálených počítačů. X11 nedefinuje vzhled prostředí. Tvary oken, ikon panelů a dalších grafických prvků s X11 vůbec nesouvisí – to zajišťuje tzv. správce oken. Správců oken je k dispozici velké množství a uživatel si může vybrat dle svého vkusu.

35 Správce oken Grafické rozhraní Linuxu net Aplikace X Window Jádro (kernel)

36 Grafické rozhraní Linuxu Správce oken KDE 3.1

37 Grafické rozhraní Linuxu Správce oken Gnome

38 Grafické rozhraní Linuxu Správce oken FluxBox

39 Grafické rozhraní Linuxu Správce oken fvwm

40 Proč Linux? GNU/Linux je otevřený systém, na kterém pracuje tisíce vývojářů po celém světě. Ke každému spustitelnému souboru je dodáván i zdrojový kód – jakékoliv chyby jsou rychle objeveny a odstraněny. Aplikace jsou rychle aktualizovány a vznikají nové, vyhovující momentálním potřebám. Linux je stabilní. Aplikace jsou dobře chráněny jedna před druhou a jádro je rovněž „nedobytné“ - zároveň je ale umožněna dobrá komunikace mezi procesy. Více uživatelů může na jednom počítači provozovat větší množství aplikací, aniž by se to projevilo na stabilitě. Lidově řečeno, systém je dokonale „blbuvzdorný“. Bezpečnost dat a programů je řešena systémově na nejnižší úrovni (na rozdíl od Windows, kde je řešená dodatečně). Data uživatele mohou být neviditelná pro ostatní a ani sebelepší virus spuštěný jedním uživatelem nemůže ovlivnit další uživatele nebo systém. Linux je od základů stavěný pro práci v síti. Umožňuje nejen síťové sdílení souborů, ale i sdílení strojového času. Jeden výpočetní systém může snadno rozdělit podúkoly na více počítačů, což je obrovská výhoda zejména pro rozsáhlé vědecké výpočty. Linux je volně šiřitelný a to včetně komerčních verzí a včetně všech aplikací. Uspořené náklady jsou více než zřejmé.

41 Proč ne Linux? Výrobci se neobtěžují s vývojem ovladačů pro hardware. Pro velké množství komponent píší ovladače nadšenci, ale zejména u moderních grafických karet toto zůstává velkým problémem. 3D akcelerace pod linuxem funguje málokdy. Takže žádná pařba. Absence her výrazně brání rozšíření linuxu do domácností. Přenositelnost dokumentů MS Office na GNU aplikace jsou zatím omezené (Microsoft velmi nerad publikuje své formáty). Pro kanceláře je tak problém s převodem agendy pod linux. GNU aplikace (Open Office) mají zároveň hůře zpracovanou možnost vedení podnikové dokumentace podle norem, vyžadovaných evropskými úřady. To zatím brání rozšíření linuxu do kanceláří. Mnozí konzervativní šéfové mají názor „je to zadarmo – je to k ničemu“. Tato mylná domněnka však zajisté vymizí s nastupující generací.


Stáhnout ppt "Jak se pracovalo s počítači dříve mov ax,bp sub ax,4 push ax push offset text2 call _scanf pop ax mov ax,word ptr [bp-2] add ax,word ptr [bp-4] FF A3 B8."

Podobné prezentace


Reklamy Google