A Unix operációs rendszer és testvérei
Mi az a Unix ? "Mi az a Unix ?" 1994 -Charles Simonyi "Gyakran mondom a fejlesztőknek, hogy szerezzék meg, csináljanak jobbat. Jobbak akarunk lenni Unixban, mint maga a Linux" 2004 Steve Ballmer
“a linux sz.r, mert nem lehet vele játszani” 2006 ismeretlen középiskolás a 6-os villamoson
Asztali operációs rendszerek (2009 augusztus): 66.2% XP, 18% vista,6% macos, 2.5% win7, 4.2% linux ... (w3schools)
Webszerverek megoszlása az interneten (forrás: netcraft)
Unix történelem 1969 - (a DEC PDP-7 [Programmed Data Processor] with 4K memory for user programs) nem használt, sarokban állt, space war játékhoz os. Ken Thompson (ma Google) Dennis Ritchie (ma Lucent), Bell Labs. Multics, UNICS (UNiplexed Information and Computing Service) ,BCPL (Basic Combined Programming Language). UNICS – UNIX névváltozásra senki sem emlékszik, „creat végére kiírnám az e-t”
Linus megszületett.
1971 - 1. kiadás. as, fork, roff, ed. 60 db parancs 1972 - B nyelvből C lesz (Ritchie), Thomson megalkotja a pipe-ot 1973 - c-re írják át Portolható kód Os fejlesztési célok: csoportmunka, szöveges programfejlesztés és kapcsolódó tevékenységek (hibakeresés,dokumentáció) Multi useres, multitaszkos, időosztásos,interaktív, rugalmas OS. Rendszerkönyvtárak
Text editor pl. ed C forrás .c .cpp Előfeldolgozó preprocesszor Előfeldolgozott forrás .i C fordító compiler Assembly forrás .s Assembler Object kód .o Linker Futtatható prg (a.out)
hiba esetén a fordítási folyamat leáll !
1975 - 6. kiadás. Kijön a Bell-Labsból. BerkeleySoftwareDistributions 1.0 ebből származik. Az egyetemeknek olcsón/ingyen adják. 1979 – C fordító, uucp, Bourne shell, Vax port. kernel > 40k ! 1980 - Micro$oft Xenix (pc-re is: 286, 386 port, 89ben eladják). 4BSD
1982 - Unix System Groups (USG) System III - már nem Bell Labs 1983 - System V (AT&T), Thomson és Ritchie Turingdíjat kap. Mo: KFKI-ban ismerik "az unix"-ot. 1984 - 4.2BSD Tcp/ip implementáció (internet), SVR2. 100.000 db, X/Open Company Ltd (szabványosítás), Unix terjeszti az internetet. 1986 - 4.3BSD dns szerverrel. GNU project elindul. 1987 - SVR3. 750.000 gép
1976-87 Andy Tanenbaum minix-et oktatási céllal írta, nem volt forrás a system7-hez. Design and Implementation of the MINIX Virtual File System (Balazs Gerofi's Masters thesis - 2005) minix: unix szerű, ibm pc-n futó ingyenes os
1988 - Open Software Foundation (OSF)megalakul. kijön a Posix.1 szabvány 1989-91 - At&t leányvállalat: USL 1990 - X/open kiadja a portability guide 3. verzióját, XPG3 néven 1991 - Linus elkezd fejleszteni 1992 - Novell megveszi USL-t 1993 vége - Novell eladja a Unix márkanevet és a Single Unix specification-t az X/opennek 1995 - Unix-95, Novell eladja a Unixware-t az SCO-nak
1996 - az OSF-ből és az X/openből megalakul a The Open Group 1997 - SigleUnix spec v2. pl 64 bites és nagyobb cpu-k. 1998 - Unix 98 1999 - az Open Group és az IEEE együtt dolgoznak a posix-en és a SingleUnixSpec-on. 2001 - Single Unix Spec v3.szabványosítva a rendszerfüggvények vannak. 2003 - v3 nemzetközi szabvány: UNIX®03 2006 – NetBSD is kap elérést a posix-hez.
UNIX®-nek tekintendő pl. a: Product Standard: UNIX 03 (2003) Apple Inc.: Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers Fujitsu Limited: Solaris™ 10 Operating System on Fujitsu PRIMEPOWER® 64bit SPARC® Based Platforms Hewlett-Packard Company: HP-UX 11i V3 Release B.11.31 or later on HP Integrity Servers IBM Corporation: AIX 5L for POWER V5.3 dated 7-2006 or later IBM Corporation: AIX 5L for POWER V5.2 dated 8-2004 or later with APARs: IY59610, IY60869, IY61405 with VAC 6.0.0.8 or later on pSeries CHRP systems Sun Microsystems, Inc.: Solaris 10 Operating System plus patch 118844-06 for X86 and on, on 64-bit X86 based systems Sun Microsystems, Inc.: Solaris 10 Operating System and on, on 32-bit X86 based systems Sun Microsystems, Inc.: Solaris 10 Operating System and on, on 32-bit and 64bit SPARC based systems
A testvérek. Linux és xBSD: nem UNIX®-ok
Opendarwin
Linux
Minix
FreeBSD
OpenBSD
Szoftverfejlesztés nyílt és zárt forráskóddal Open source development
Programfejleszt(et)ő cég
Látható kód (szép program) Szabad felhasználás Fejlesztők száma max 6.5 milliárd
Csak bináris kód (gyorsan kész) Korlátozott használat Fejlesztők száma korlátos
“You can't trust code that you did not totally create yourself.” Free software: szabad felhasználás (nem ár). Szabadon futtatható, tanulmányozható (forrás), továbbadható, bővíthető és a bővítés közzétehető (kötelező source GNU-nál, ha eladunk szoftvert, Berkeley-nél (BSD) nem).
UNIX rendszer részei Kernel: tárrezidens program, hw erőforrások kezelése driverekkel, filerendszer kezelése, felhasználók (jogok) és processzek kezelése.
Shell: parancsértelmező. Felhasználó ezen keresztül indít processzeket. Kevés belső parancs, kényelmi szolgáltatások. Bash2 : bourne again v2. Utility-k: segédprogramok. Alapvető file, processz, stb. feladatokra. A disztribúciónak nem mindig részei, néha 3rd party alkalmazások.
Alkalmazások, amelyek miatt használjuk a gépet. Pl. szövegszerkesztő, műszaki számitást végző, szimulációs, tervező, játék programok.
Bejelentkezési folyamat: usernév/jelszó páros ellenőrzése, effektív felhasználó beállítása, login script lefut, utána shell-ben vagyunk, parancsokat adhatunk. Processz id (egész szám), signal-ok (softver interrupt): processz által többiektől vagy kerneltől (másik processztől: kill parancs), signal handler: lekezeli a szituációt, SIGKILL nem ignorálható, nem jut el a processzig. Démon: processz, amihez nem tartozik vezérlő terminál. Szerver program: démon. Porton figyel, ha jön kérés, válaszol. soha nem szólítja meg előre a kliens-t.
Elf formátum: futtatás előtt memóriában linkel. Futtatható prg (a.out)
Futásidejű könyvtárak
Run time linker Megosztott objektum (shared object, .so) elv: több programnak is kell ugyanaz a könyvtári függvény. A lemezen csak egyszer van meg, futtatás előtt kell linkelni. Windows DLL ugyanilyen elven.
Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos os)
Unix filozófia: Egy eszköz egy feladatot csináljon, de azt jól. Kis eszközök összekapcsolása csővezetéken (pipe) keresztül a bonyolult műveletekhez.
Nagy logfile
Adott nap szűrése
Sorbarendez
Azonos adatokból csak 1-et hagy
Pl: cat logfile.txt | grep "2008-10-20" | sort | uniq > eredmeny.txt
Megjegyzés: Unix-ban nincs kiterjesztés, a pont a filenév egyik karaktere. Minden egyes parancs külön processz, egyik szabványos kimenete a másik szabványos bemenetére van kötve. Ha hiba van, a cső eltörik.
Eredmény
internet és unix kapcsolata 85-ben ip támogatás, az első internet-kezelő szerverek és kliensek unix-ra készülnek el, a gnu, és a linux, az xBSD is internetes feljesztés. Egymás elterjedését teszik lehetővé. Sockets programcsomag (először 4.2bsd - 1983): internetes kapcsolat=szekvenciális file. Windows-ban is, először 3rd party (trumpet winsock for w3.1), majd beépitett w95.
Filerendszer, fileok. Hierarchikus adatszerkezet. Minden eszköz (lemez, memória, terminál) file, a kernelben lévő driver és a hardver közt a /dev könyvtárban lévő speciális fileok teremtik meg a kapcsolatot. Gyökér könyvtár. kisbetű/NAGYBETŰ megkülönböztetése.
Filevédelem elérési jogok kódjai: felhasználó (u) csoport (g) egyéb (o), mindenki (a). jogok: olvasás(r), írás(w), keresés/futtatás(x). ural2-n alaphelyzet: csak u-nak vannak jogai, ezért weboldalhoz szervernek (o) jogokat kell adni file típusa: - "text" file: minden file ilyen, kivéve d: könyvtár, l: szimbólikus link, karakteres és blokk eszköz (c,b), fifo(p), socket(s). r=4, w=2, x=1, binárisan 111, oktálisan 7 u g w : kire mi vonatkozik rw- --- --- : csak tulajdonos ír / olvas 110 000 000 : oktálisan 600 rw- r-- --- : csoport is elolvashatja 110 100 000 : oktális 640 rw- r-- r-- : publikus file, webszervernek 110 100 100 : oktálisan 644 Felhasználókat névvel látjuk el, és egy egész szám (uid) azonosítja őket. A file tulajdonságai közt ez a szám szerepel. Rendszergazdánál (root, uid=0) az elérési jogokat a kezelő függvény átugorja.
Manual és fejezetei A parancsokat on-line manualból ismerhetjük meg, parancsonként 1 file. Tartalmazza a parancsot, kapcsolóit, mikor fordult elő először, példát, és a hibáit. RTFM: olvasd el a ... kézikönyvet. Amikor kinyomtatott dokumentációt adtak, ezek a fileok voltak kinyomtatva. Fejezetek: 1:felhasználói parancsok, 2:rendszerhívások, 3:c könyvtári fv-ek, 4:eszközkezelők, 5:file formátumok, 6:játékok, 7:egyebek, 8:adminisztráció, 9:lokális
Gyakran használt utility-k és alkalmazások:
Shell: felfele nyíl, tabulátor, logout , ctrl-c, ctrl-z, ctrl-d, fg, bg, export File-kezelés:rm, cat, echo, cp, dd, cmp, mv, chmod, chown, chgrp, find, file, touch, echo, tar, compress, (g)zip, bzip2 Könyvtárkezelés:ls, cd, pwd, ln, mkdir, rmdir, du, df, mount Processz-kezelés: ps, kill, pidof/pgrep, top, loadavg, at, cron. Interaktív editorok: ed, ex, vi(m), joe, emacs, xedit, jed, pico Nem-interaktív: sed,awk,diff/patch Szűrők more, less, grep, wc, groff/troff, sort, head, tail Programfejlesztés: (g)cc,gdb,(g)make Utility-k: mc, bc/dc, cal, gs/gv/xpdf, bladeenc/mpg123, openoffice. Segítség: man, whatis, apropos, info Internetes kliensek: ping, nslookup, traceroute,telnet, ftp, lynx, pine. Bold-dal írva a windows-ban teljesen ugyanolyan parancsokat.
Disztribúciók: A disztribúció egy adott, üres háttértárolójú gépre (pl. i386 pc) felinstallálható, lefordított csomagot jelent. Méretbeli különbségek: 1 floppy- 1 darab bd-ig. Live rendszert nem kell installálni, cd(dvd, bd, pen drive)-ről fut. Linux disztribúciók: hitvita. A többi disztribúció rossz, és felhasználói hozzá nem értő, buta kezdők (lamerek).
GUI a unix-on A unixokon grafikus felület csak az X szerver segítségével lehetséges. Ablakkezelő (window manager). Áttetsző ablakok: 2004 szept 8-tól. Elkülönül az OS és a felület.
Milyen OS-t használjunk ? Windows
Unix (like)
Asszisztens gépel, majd kinyomtatja. Kedvenc, megvásárolt tervezőprogramunk. 3d-s legújabb játék. Banki ügyintéző gépe. USB-s scanner és printer, szoftvermodem, mobil internet.
szórakoztató pc, otthoni pc web böngészés digitális fényképező és full-hd videókamera, cd-dvd-blu-ray írás. prezentáció készítés
Webszerver. Szoftverfejlesztés eltérő cpu-ra, saját készitésű hardverre. Beágyazott rendszer (pl. dvd játszó, adsl router, flash mp3 player), telefonközpont. Összegyetemi szerver, 15000 userrel. Tudományos kutatás grid-en, pl Earth Simulator (super-ux). Banki számlakezelő szoftver adatbázisa. Alapítványi pc. „Újrafeldolgozott” pc
URAL2 solaris 8 (unix®) Minden hallgatónknak jár usernév erre a gépre. Neve: ural2.hszk.bme.hu használata: ssh protokollal interaktívan bejelentkezve (pl. putty, teraterm stb) file tárhely scp-vel feltöltve (winscp) saját weboldal (public_html könyvtárban, elérési jogok !) email interaktív vagy webmail felületen X szerverként (csak egyetemről), igazi unix https://accadmin.hszk.bme.hu oldalon kapunk nevet, jelszó megadása után
Leárazott irodalom:
köszönöm a cpu időt ...
logout