Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
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 (2017 Szeptember): 37% Win10, 9% Win8, 30% Win7,
0.7% Xp, 10% Mac, 6% Linux, 7.2% mobile ... (w3schools a böngészők alapján)
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 (-2011 október 12), 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.
C forrás .c .cpp
Text editor pl. ed
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)
Rendszerkönyvtárak
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, 89-ben eladják). 4BSD
1982 - Unix System Groups (USG) System III - már nem
Bell Labs
1983 - System V (AT&T), Thomson és Ritchie Turing-
díjat kap. Mo: Sztaki, 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®032006 – NetBSD-n tesztelik a posix IEEE-1003.1
szabvány 1400-nál több függvényét.
2013 – A specifikáció új kiadása.
+ ISO/IEC JTC 1/SC 22
+IEEE PASC
+The Open Group
= Austin Common Standards Revision Group
Több, mint 500 tag, ipar, kormány, nyilt forráskódú
társadalom: pl. AT&T, Microsoft,
The US Department of Defense, SuSE Linux AG,USENIX Association.
UNIX®-nek tekintendő pl. a:
Product Standard: UNIX 03 (2003)
Apple Inc.: Mac OS X Version 10.10 Yosemite on Intel-based Macintosh computers
Fujitsu Limited: Solaris™10 Operating System on Fujitsu PRIMEPOWER®
64-bit 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.2 dated 8-2004 or later with APARs:
IY59610, IY60869, IY61405 with VAC 6.0.0.8 or later on pSeries CHRP systems
Inspur Co. Ltd: Inspur-K-UX 2.0 on Inspur TS K1 system
Oracle Corporation: Oracle Solaris 11 FCS and later on SPARC-based platforms,
32-bit and 64-bit and on X86-based platforms, 32-bit and 64-bit
Oracle Corporation: Solaris 10 Operating System plus patch 118844-06 for X86 and on,
on 64-bit X86 based systems
"...the number of UNIX installations has grown to10, with more expected..."- Dennis Ritchie and Ken Thompson, June 1972
A testvérek. Linux és xBSD: nem UNIX®-ok
Opendarwin Minix
Linux FreeBSD OpenBSD
Szoftverfejlesztés nyílt és zárt forráskóddal
Open source development
Látható kód (szép program)
Szabad felhasználás
Fejlesztők száma max 7 milliárd
Programfejleszt(et)ő cég
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. Moduláris kernelek: szükséges
részeket betöltik (fileokból), feleslegeseket törlik,
a memóriát felszabaditják.
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. Kezdetben 3rd party alkalmazások,
később beépülnek a disztribúcióba. Elmosódik a
határ a rendszerhez tartozást illetően.
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. TCP/IP porton figyel, ha jön kérés, válaszol.
Soha nem szólítja meg előre a kliens-t, de a kapcsolat létrejötte után ellenőrizheti,
hogy még üzemképes-e (kivéve az állapotmentes kiszolgáló).
Elf formátum: futtatás előtt memóriában linkel.
Futtatható prg (a.out) Futásidejű könyvtárak
Run time linker
Processz képe (image)
Betöltő (loader)
Processz a programterületen
vezérlés időnként idekerül
(időosztásos os)
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.
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. Egy kimenet egy bemenethez
kapcsolódik, a kimenet stdout, a bemenet stdin nevű fájl.
Unix filozófia:
Nagy
logfile
Adott
nap
szűrése
Sorba-
rendez
Azonos
adatokból
csak 1-et
hagy
Eredmény
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.
85-ben ip támogatás, az első internet-kezelő
szerverek és kliensek unix-ra készülnek el,
a gnu, 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-ben.
internet és unix kapcsolata
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
(mint C++ és C#).
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).
rw- --- --- : csak tulajdonos ír / olvas
110 000 000 : oktálisan 600
u g o : kire mi vonatkozik
r=4, w=2, x=1, binárisan 111, oktálisan 7
rw- r-- --- : csoport is elolvashatja
110 100 000 : oktális 640
rw- r-- r-- : publikus file,
webszervernek
110 100 100 : oktálisan 644
Rendszergazdánál (root, uid==0) az elérési jogok ellenőrzését
a kezelő függvény (a kernelben) átugorja.
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.
Filevédelem
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
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.
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.
Szórakozás: mplayer (mplayerhq.hu)
Gyakran használt utility-k és alkalmazások:
Bold-dal írva a windows-ban teljesen ugyanolyan parancsokat.
Disztribúciók:
A disztribúció egy adott, formattálatlan 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 internet-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-onA unixokon grafikus felhasználói felület az X szerver segítségével lehetséges.
X Window System. Ablakkezelő (WM-window manager). Áttetsző ablakok:
2004 szept 8-tól. Elkülönül az OS és a felület.
Milyen OS-t használ(j)unk ?
Asszisztens gépel, majd kinyomtatja (irodai
alkalmazás).
Kedvenc, megvásárolt CAD tervezőprogramunk.
3d-s legújabb játék.
Banki ügyintéző gépe.
USB-s scanner és printer, szoftvermodem,
mobil internet.
Webszerver, divatos tech-cég (Google,FB)
Szoftverfejlesztés eltérő cpu-ra, saját készitésű hardverre.
Beágyazott rendszer (pl. tv, dvd játszó, adsl router,
flash mp3 player), telefonközpont, biztonsági kamerák
HDD rögzitője.
Mobiltelefon, táblagép: Android, Apple
Összegyetemi szerver, 15000 userrel.
Tudományos kutatás grid-en, pl Earth Simulator
(super-ux). zero.eik.bme.hu:a BME oktatói, kutatói,
dolgozói számára fenntartott FreeBSD alapú gép.
Banki számlakezelő szoftver adatbázis szervere,
webáruház adatbázis szervere
Alapítványi pc, „újrafeldolgozott” pc
Programozás (C++) tanulás
szórakoztató pc, otthoni pc
web böngészés
digitális fényképező és
4K videókamera, cd-dvd-blu-ray írás.
prezentáció készítés ???
Windows Unix (like)
URAL2 solaris 8 (unix®)
Minden hallgatónknak jár usernév erre a gépre. Neve: ural2.hszk.bme.hu
szolgáltatások: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/webmail felületen: ide jönnek az oktatási licenszek
X szerverként (csak egyetemről), igazi unix
https://accadmin.hszk.bme.hu oldalon kapunk nevet, jelszó megadása után
Leárazott irodalom:
Példa: bekapcsolunk egy TV-t a távirányitóval, soros porton keresztül,PC-n nézzük a kernel üzeneteit terminálprogrammal
onboot (Dec 30 2011 – 18:13:55) release ver : 1000 - RELEASEetc : spi_wpOnboot X9 Sync modeLCD FastLogo Run...[SS] fc, 39 [SFL][SE]Loading Kernel....load kernel start, size : 131072 + 2883584 byteJump Kernel....auth success by h/w sha1 UART1 is used to debug mode. [SELP] preset_lpj===================================================================SAMSUNG Mstar KernelVersion : 1011_013 RELEASE
====================================================================mount: mounting devpts on /dev/pts failed: No such device/etc/rc.local start!!!!ROOTFS VERSION : "Mstar-X9 1016 RELEASE" KERNEL MODULE VERSION : "1011_013"
send signal from USER, SIG : 0, init(1)->???(19) sys_kill[LvdsFormat_Init @ 0226] LVDS formt (0001)|||||||||||||||||| PWM Enable ..!!! |||||||||||||||||||||||||||||||||||| Inverter On ..!!! ||||||||||||||||||[TDaSystem::PrimePivotModeConfig] PivotConfig Size [1920 * 1080], Mode [3]
Default VFreq = 50 hz DSP code loaded successfully
[vdec][dbg][0xb][1:mpeg][0x0b:h264]
logout
köszönöm a cpu időt ...
Jövök még: hálózatok és internet