28
A Unix operációs rendszer és testvérei

A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

A Unix operációs rendszer és testvérei

Page 2: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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)

Page 3: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

Webszerverek megoszlása az interneten (forrás: netcraft)

Page 4: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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.

Page 5: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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 !

Page 6: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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

Page 7: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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

Page 8: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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

Page 9: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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

Page 10: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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.

Page 11: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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

Page 12: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

A testvérek. Linux és xBSD: nem UNIX®-ok

Opendarwin Minix

Linux FreeBSD OpenBSD

Page 13: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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).

Page 14: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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.

Page 15: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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ó).

Page 16: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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.

Page 17: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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.

Page 18: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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#).

Page 19: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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

Page 20: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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.

Page 21: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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.

Page 22: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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).

Page 23: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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.

Page 24: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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)

Page 25: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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

Page 26: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

Leárazott irodalom:

Page 27: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

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]

Page 28: A Unix operációs rendszer és testvérei INFORMATIKAI TÁRGYA… · Processz képe (image) Betöltő (loader) Processz a programterületen vezérlés időnként idekerül (időosztásos

logout

köszönöm a cpu időt ...

Jövök még: hálózatok és internet