Programozás s 2 I. Alapok utolsó változtatás s 2008.04.12.
Alapok A számítógép p adatok és s informáci ció feldolgozását t automatizáló eszköz. z. Analóg g számítógépek. Digitális számítógép. A feldolgozást a gép g programja vezérli. Univerzális Turing gép g p (1936), (szalag, fej, műveleti m tábla, t státusz tusz regiszter)
Számítógépek osztályoz lyozása Beépített (embedded) - a legelterjedtebb fajta Személyi számítógép p (PC) asztali, hordozható Nagyszámítógép p (mainframe) nagy teljesítm tmény, kritikus feladatok ellátására sokszor évekig fut leáll llás s nélkn lkül. l. Nem feltétlen tlen a leggyorsabb, legnagyobb kapacítású. Szuperszámítógépek pek számítógép p clusterek Pillanatnyilag legnagyobb teljesítm tményű gépek
Személyi számítógépek 1. Monitor 2. Alaplap 3. CPU 4. RAM 5. Bővítőkártyák 6. Tápegység 7. Optikai meghajtó 8. HD 9. Billentyűzet 10. Egér
Programozás Programok írása, tesztelése, se, hibakeresése, se, javítása. Program (szoftver): 1. A számítógépeket vezérl rlő utasítások sok sorozata 2. Ilyen utasítások sok sorozatának leírása elvontabb módon A programokat többnyire t valamilyen programozási nyelven írják
Operáci ciós s rendszerek Az a szoftver, amelynek feladata: 1. Hardver kezelése (CPU-k, memória, be/kiviteli eszközök, k, hálózati h eszközök, k, stb) 2. Folyamatok indítása, prioritások megállap llapítása 3. Szolgáltat ltatások indítása/le sa/leállítása 4. Felhasználói i input fogadása és s feldolgozása 5. Kimeneti eszközök k (pl képerrnyk perrnyő) A programok valamilyen OS re (alá) íródnak.
Operáci ciós s rendszerek feladatai Memória menedzselés virtuális memória kezelése, memóriav riavédelem (page table, swapping) Fájlrendszer/lemez kezelés Fájl adatok elrendezése, hivatkozás s módja, m hierarchikus rendszerek, elválaszt lasztó karakterek Meghajtóprogramok Folyamatok kezelése (programok, szogáltat ltatások, alkalmazások) indítása, futtatása (multitasking)
Operáci ciós s rendszerek feladatai Hálózati (TCP/IP) szolgáltat ltatások Különböző fajtájú és s szerkezetű gépek hálózati h összekapcsolására Biztonsági szolgáltat ltatások Programok hardver hozzáférésének korlátoz tozása Felhasználók k azonosítása sa Naplózás Sandbox emulált lt processzor/ p code (pl Java) Grafikus interface
Operáci ciós s rendszerek osztályoz lyozása Monolitikus kernel (linux eredetileg) Moduláris / Microkernel (QNX, Windows Vista) Kernel (mag): a legtöbb operáci ciós s rendszer azon része, r amely a HW és s SW közötti k kapcsolatot adja. (legalacsonyabb szintű absztrakciós s réteg) r Egyes OS-ekben (pl. Windows) a GUI, a nyomtató meghajtó is a kernel része. r Nem biztonságos. Más s OS-ekben (QNX) a kernel semmilyen meghajtót t nem tartalmaz csak az időzítéssel (timer), folyamatok szinkronizálásával (signals, scheduling) foglalkozik. Minden más m s védett v memóriater riaterületen fut.
Operáci ciós s rendszerek osztályoz lyozása Fizikailag: egy processzor, egy feladat Logikailag (egy processzoron): 1. Egyidejűleg egy feladat - single tasking DOS 2. Egyidejűleg több feladat - multitasking Egy programon belül: l: többszt bbszálú OS Ennek lehetséges megoldása: Vezérl rlő hardver Szoftveres vezérl rlés s (hardverrel segítve) Kooperatív Windows 3.1 Időoszt osztás - Windows XP, Linux, Mac OS
Operáci ciós s rendszerek osztályoz lyozása Felhasználók k száma szerint 1. Egy felhasználós 2. Több felhasználós több nem egyidejű felhasználó 3. Több felhasználós - több, akár r egyidejű felhasználó
Néhány Operáci ciós s rendszer Windows variáci ciók Sok egymással nem teljesen kompatibilis változata v van. (pl. Win 98,, NT, XP, VISTA) UNIX variáci ciók (pl. BSD, System V, QNX, Linux, Mac OS X) Mac OS (< OS X) VMS (WNT? )
Windows 98 Sp2 Win98 Sp2 már r nem gyakori (99.05.15) 16/32 bit Fájlrendszerek: FAT 12/16/32, Memória: 16-24 Mbyte Disk: 500 Mbyte Proc.: 486 DX2, 66 MHz
NT 4.0 Windows NT változatokv Fájlrendszerek: FAT 16/32, NTFS Memória: 12 Mbyte Disk: 110 Mbyte Proc.: 486, 33 MHz Windows 2000 Fájlrendszerek: FAT 16/32, NTFS Memória: 32 Mbyte Disk: 650 Mbyte Proc.: Pentium,1 33 MHz
Windows NT változatokv Windows XP 32 vagy 64 bit Fájlrendszerek: NTFS Memória: 64 Mbyte Disk: 1,5 Gbyte Proc.: Pentium MMX, 233 MHz Windows Vista 32 vagy 64 bit Fájlrendszerek: NTFS Memória: 512 Mbyte Disk: 15 Gbyte Proc.: Pentium III, 800 MHz
UNIX és s társait Az első OS, amit magas szintű nyelven írtak (1970) Alap variánsok: System V (AT&T) BSD (Berkley Software Distribution) GNU (rekurzív v rövidr vidítés:gnu Not Unix...) Linux
Windows és s Linux összehasonlítás Windows XP/Vista Többfelhasználós Multitasking Thread-ek ek Installable File System Minden lemezmeghajtónak más m betüjele van Lemezmeghajtónk nként nt külön k hierarchikus fájl f rendszer. Útvonal elválaszte lasztó karakter a \ (belül l elfogadja a / -t t is) Linkek fájlokra és s könyvtk nyvtárakra (Link készk szítés s Windows Intézőbőll) Linkek hálózati h erőforr forrásokra és internet címekrec Linux Többfelhasználós Multitasking Thread-ek ek Többféle file rendszer Ext2,Ext3,JFS,ReiserFS, Virtuális, etc Olvasni tudja az NTFS-t t is (írás pénzért, ill. Még M g nem üzembiztos) Mount Minden meghajtó és s az azokon levő akár r különbk nböző fájlrendszerek egy hierarchiában vannak. Útvonal elválaszt lasztó karakter a /, a \ ún. escape karakter hard és soft linkek
Windows és s Linux összehasonlítás - II Windows XP/Vista GUI a kernelbe integrálva Nyomtatás s ugyanígy Szolgáltat ltatások (Services) Parancsértelmez rtelmezők command.com Cmd Automatizálás s (script nyelvek) Linux GUI külön k n (XWindow) GUI ablakkezelő választható Nyomtatás s külön k program Szolgáltat ltatások (Services) Parancsértelmez rtelmezők sh, bash, csh, tcsh, ksh,... Automatizálás s (script nyelvek)
OS alapok Windows Kis- és s nagybetű ugyanaz (probléma:speci ma:speciális bet lis betűk) Fájlnévben nem szerepelhet: \ :? / * Hozzáférési jogok: FAT Archive, Read Only, Hidden, System NTFS - sokfajta Linux Kis- és s nagybetű különböző A tiltott fájlnf jlnév v karakterek fájlrendszertől l függenek, f VFAT, vagy NTSC esetán n u.az, mint a Windows-nál, Ext2,3 esetén n bármi b kivéve ve NUL és s / Hozzáférési jogok: Alap: read, write, execute a tulajdonosnak, csoportnak, ill másoknak Egyéb: sokféle. al kezdődő név v = rejtett fájl
OS alapok folyt. Windows A fájlok f típust pusát t a névben n az utolsó. utáni karaktersorozat (extension) dönti d el. Végrahajtható fájlok kiterjesztései: sei: BAT, COM, EXE Parancssor beli indításn snál ezeket nem kell beírni! Pl. program.exe helyett elég g beírni a program-ot. ot. A könyvtk nyvtárak (mappák) speciális fájlok. f Ezek tartalmazzák k a fájlok f neveit és egyéb b adatait Linux A fájlok f típusa t független f a nevükt ktől. Nincs kiterjesztés. s. De vannak konvenciók k (pl alma.cpp egy C++ fájl) f Végrehajtható fájlok: amelyek emgedélyei közt k szerepel az execute. A könyvtk nyvtárak (mappák) speciális fájlok. f Ezek tartalmazzák k a fájlok f neveit és egyéb b adatait Virtuális fájlrendszerek f is vannak. Pl /proc
OS alapok folyt. Windows Speciális fájlok: f Shortcut/link könyvtárakra és egyebek-re parancssorból l csak külön k programmal készk szíthetőekek Speciális virtuális könyvtárak (pl. Dokumentumok, Lomtár, stb) Linux Az eszközök k egy része r is (pl. hangkártya) fájlokként jelenik meg Link-ek Hard más s név n ugyanahhoz a fájlhoz, f csak egy fájlrendszeren f belül l használhat lhatóakak Soft külön n fájl f ami egy másik fájl, f vagy könyvtk nyvtár nevét t tartalmazza
Alap parancsok Windows Linux Átlépés s adott lemez meg- hajtóra Átlépés s adott könyvtk nyvtárba cd = "change directory" Saját t (home) könyvtk nyvtárba lépés s akárhonnan Aktuális könyvtk nyvtár r kiiratása Fájlnevek kilistázása sa Rejtett fájlok f listázása sa összes fájl f listázása sa C: cd a meghajtó csatolási útvonala cd "\Dokumentumok\ez ez az" c: majd cd "Documents and Settings\usern usernév" cd dir *.cpp dir /w *.cpp dir /AH cd "/Dokumentumok/ez az" cd pwd (print working directory) ls *.cpp vagy echo *.cpp ls l ls.* ls -la
Alap parancsok Windows Linux Egy fájl f kiiratása a képernyk pernyőrere Fájl(ok) törlt rlése Könyvtár r létrehozl trehozása Könyvtár r törlt rlése Fájl másolm solás átnevezés Program környezeti k változv ltozó- inak listája, megjelenítése, beáll llítása, törlt rlése type alma.cpp more alma.cpp del <file> Pl. del *.cpp mkdir könyvtár r neve mk könyvtár r neve üres: rmdir könyvtár nem az: del /s /q könyvtár copy mi(ke)t hova ren régi névn új j névn move régi névn új j névn set, set név, set név=tartalom, set név= cat alma.cpp more alma.cpp less alma.cpp rm <file> rm *cpp mkdir könyvtár r neve üres: rmdir könyvtár nem az: rm r könyvtár cp mi(ke)t hova mv régi névn új j névn set, set grep név, név=tartalom
Alap parancsok Windows Linux A keresési si út t beáll llítása Fájl-,, könyvtk nyvtár r linkek létrehozl trehozása Jelszó változtatás Átirányítás: : Egy karaktere ablakba/képerny pernyőre re író program kimenetének nek fájlba f írása, - eldobása - üres fájl f létrehozl trehozása Hibakimenet átirányítása, eldobása Átirányítás: : Egy billentyűzetr zetről dolgozó program bemenetének nek megadása másik m fájlbf jlból Átirányítás: egy program kimenete legyen egy másik m program bemenete path=%path% =%path%;új_könyvtár windows intézőben rendszerbeáll llítások program > kimeneti.file A programot az aktuális könyvtk nyvtárban, majd a PATH-ban keresi program >NUL command.com nincs cmd - program 2> hiba fájlf program 2> NUL program < bemeneti szöveg fájlf program1 program2 (BASH) Export PATH=$(PATH) (PATH):új_könyvtár Hard: ln létező új Soft: ln s létező új Passwd program > kimeneti.file A programot a PATH-ban keresi program > /dev/null : > alma.txt program 2> hiba fájlf program 2> /dev/null program < bemeneti szöveg fájlf program1 program2
Alap parancsok Windows Linux handle: fájl f azonosító az OS-ben minden programnak van 3: standard input (STDIN) standard output (STDOUT) standard error (STDERR) Átirányítás s fájlba, f ill fájlbf jlból STDOUT STDERR STDIN Átirányítás: Átirányítás s fájlba f hozzáí áírás s (append( append) STDIN=0 STDOUT=1 STDERR=2 > 2> < stdin=0 stdout=1 stderr=2 > 2> < >> >> ciklus adott feltétel telú fájlokra (Példa) fájl keresése se adott könyvtk nyvtártól indulva az összes alatta levő könyvtárig for %f in (*.txt( *.txt) do del %f F3 gomb amikor az asztal aktív for f in *txt; ; do rm $f; ; done (Figyeljük k meg a pontosveszzőket és, hogy az első f előtt nincs dollárjel!) find könyvtár name "fájl spec." (az " nem mindíg g kell, de nem árt)
Alap parancsok Windows Linux Egy program kimenete adja meg egy másik m program paramétereit Példa: minden BAK fájlf törlése az adott könyvtk nyvtárban és alkönyvt nyvtáraiban (Veszélyes!) Könyvtárszerkezet archiválása+t sa+tömörítése, se, Pl. program fordítás: Vagy integrált feljlesztő rendszerrel (grafikus, pl VisualStudio), vagy Makefile-al al súgó parancssorból l csak külön k programmal (pl. pkzip, rar) rar a alma *.cpp make Start menűből Súgó és s támogatt mogatás Help and Support Parancssorból: parancs név n v /? program2 `program 1 [param.]` (Az itt szerepő karakter a hátrahajlh trahajló felső idézőjel jel) rm f `find. name "*.bak bak"` tar zcf archívum neve fájlok specifikáci ciója tar zcf alma.tar *.cpp make Grafikusan hasonló a W-hozW Parancssorból: man parancs man k kulcsszó info parancs