szak zrvizsga-ttelei rvnyes 2009. janur 1-tl A ttelek
1. A processzor felptse, utastskszlete. Utastsok szerkezete, cmzsi mdok. Utastsszmll s utasts-regiszter. Az utasts-feldolgozs elemi lpsei.
A CPU felptse
2
A processzor a szmtgp egyik legfontosabb eleme. A CPU egyetlen,nagy integrltsg lapkn trolfellet, vezr-, illetve input-output funkcikat ellt elemeket tartalmaz. A PC-k ben a processzor az alaplapon tallhat meg a kzponti trral egyetemben. Az alaplapon ezekhez az elemekhez kapcsoldik az adatforgalom szmra szksges un. buszvonal s a perifrik illesztje. Sokfle mikroprocesszor struktra ismert, de mindegyikre jellemz a hrom f egysg, a vezrl egysg, az aritmetikai egysg s a klnbz funkcij regiszterek meglte. Az egyes rszegysgek feladatai az albbiakban foglalhatk ssze: A mai processzoroknak alapveten kt nagy csoportja van : CISC - Complete Instruction set Computer pl. Intel 8086 klnbzo hosszsg, tbb processzorciklus utastsok
RISC - Reduced Instruction Set Computer pl. Intel 80486 cskkentett utastaskszletu processzorok CACHE (gyorsttr, eltrol)
Kismret, gyors elrs, specilis memriaegysg, amely az informciramban a memria s processzor kztt helyezkedik el, s ezen egysgek mveleti sebessge kzti klnbsget egyenlti ki. Ha nincs CACHE a gpben, az akr nagysgrendekkel lassthatja a program vgrehajtst. elsdleges gyorst memria: az a clja, hogy ne kelljen minden esetben a processzorhoz kpest lassabb memrihoz fordulni, s ne lassuljon le emiatt a processzor mkdse. Ez az elsdleges cache ltalban nem elegend, ezrt msodlagos cache memrit is tartalmaz a szmtgp (256 vagy 512 kB, vagy mg tbb). Vezrl egysg (CU): A processzor vezrl egysgnek feladata a program utastsai, vagy kls krsek (perifria megszaktsi krelme, sn ignybevteli krse) alapjn, vezrl jelek segtsgvel a gp rszeinek irnytsa. Aritmetikai - logikai egysg (ALU) : A processzornak azon rsze, mely a szmolsi, sszehasonltsi, logikai mveleteket vgzi. Feladata: - Adott adatokkal vezrl jelek alapjn vgrehajtja az aritmetikai logikai mveleteket (+,- ,*,/,AND,OR,NOT,stb.) - Sajt regisztereik (akkumoltoraik) lehetnek. - Aritmetikai mveletek: a)Komplementls. b)sszeads. - Logikai mveletek: a)AND. b)OR. c)NOT. - Lptet mveletek: Jobbra adott pozcival;Balra adott pozcival;sz-szehasonlts. Regiszterek: A processzorok ideiglenes adattrolsi cljaira szolglnak. A regiszterek a bels snrendszeren keresztl tartanak kapcsolatot a processzor ms rszeivel. A legfontosabb, legtbb processzornl meglv regiszterek a kvetkezk: 3
Utasts szmll regiszter Utastsregiszter Bziscm regiszter Indexregiszter(ek) llapotregiszter(ek) Veremmutat regiszter Pufferregiszter(ek) Jellemzk: A processzor hajtja vgre s vezrli a mveleteket. A vgrehajts eltt neki kell megvizsglni s feldolgozni minden utastst. A processzor teljestmnye alatt azt az idt rtik, amelyre a processzornak szksge van egy bizonyos feladat vgrehajtshoz. A processzornak kt lnyeges jellemzje, amelyek utalnak a teljestmnyre: az egyik a szhossz (bitszm, vagy bitszlessg), a msik az rajel frekvencia. Mindkett azt a sebessget hatrozza meg, amellyel adatokat lehet feldolgozni. A szhossz A szmtgp teljestmnynek szempontjbl alapvet jelentsge van annak, hogy mekkora az a szhossz, amivel a szmtgp dolgozik. A sz hosszt, amellyel a processzor dolgozik, belso szhossznak nevezzk. Ezek a kvetkezk lehetnek: - 8 bites processzorok = 1 byte - 16 bites processzorok = 2 byte - 32 bitesek = 4 byte - 48 bitesek = 6 byte - 64 bitesek = 8 byte A bels szhossz mellett, amellyel a processzor dolgozik, fontos mg a buszrendszer szhossza is: - az adatbusz bitszlessge, - a cmbusz bitszlessge. Az adatbusz szlessge azt mutatja, hogy a processzor hny bitet tud egyidejleg a hozz kapcsolt perifrikra kldeni. A cmbusz kzvetti azokat a jeleket, amelyek a trolhelyek elrshez szksgesek. A cmbusz szlessge hatrozza meg a kzvetlenl megcmezhet cmtartomny nagysgt. Az Intel 8086 pldul 16 bites adatbusszal s 20 bites cmbusszal dolgozik.
Az rajel-frekvencia Egy szmtgp teljestmnyt az rajel-frekvencia is meghatrozza. Az rajel-frekvencit a vezrlkvarc (rajelad) hozza ltre, amely vagy kzvetlenl integrlva van a processzorba vagy azon kvl helyezkedik el. Az rajel a PC munkateme s Megaherztben ( MHz) mrik. Egy Herzt az a frekvencia, amely 1 msodperc alatt egy rezgst vgez. A 8 MHz teht azt jelenti, hogy a kvarc msodpercenknt 8 milliszor rezeg. Ez a rezgs hatrozza meg az utastsok vgrehajtsnak gyorsasgt. ltalban azt lehet mondani, hogy minl magasabb az rajel, annl gyorsabban tud a szmtgp dolgozni. MIPS (Million Instruction Per Second) 4
Milli utasts msodpercenknt. A processzor teljestmnyt jellemzi. 1MIPS=1000000 utasts/ msodperc. Utastskszlet, utaststpusok Az utastskszlet alatt a processzor szmra rtelmezhet utastsokat rtjk. Az utastskszletek tartalmaznak klnbz aritmetikai, logikai, adatmozgat, karakterlnc s vezrlstad utastsokat, melyek segtsgvel a processzorok alkalmasak a legklnflbb feladatok vgrehajtsra. Az utastsok szerkezete meghatrozza a processzor szmra, hogy a gpi utasts mely rszt hogyan rtelmezze. A gpi utastsok hrom rszbl plnek fel:
Az utastsok hrom f rszre bonthatk: - Mveleti rsz: a processzor szmra az elvgzend feladatot hatrozza meg. - Mdost rsz ltalban a mveleti rsz s a cm rsz rtelmezshez ad kiegszt informcit. - Cmrsz, amely a mvelet vgrehajtshoz szksges adatok helyt hatrozza meg a szmtgp troljban.
Az utaststpusok a kvetkezkppen csoportosthatk: - tviteli utastsok: trol, veremkezel (PUSH/POP), perifria - mveleti utastsok: aritmetikai (ADD) s logikai mveletek (AND), lptets - vezrl utastsok: a program vgrehajtst, a gp mkdst befolysoljk; felttel nlkli, s feltteles ugrs (JMP, JNZ), szubrutinhvs (CALL), megszakts engedlyezs/tilts Cmzsi mdok - Abszolt: Kzvetlen trcmet adok meg - Relatv: Adott trcmhez val eltolst adom meg - Direkt: A megadott cmen operandust tallok - Indirekt: A megadott cmen egy jabb cmet tallok - Direkt regiszteres cmzs: a regiszterben a cm tallhat - Indirekt regiszteres cmzs: a regiszterben adatcm van , ahol a cmet talljuk
Cmmdostsok : - Bzisregiszteres cmzs: Valdi cm = Bzisregiszterben megadott cm + eltolsi rtk (a cm helyett csak az eltolsi rtk az operandus, gy jelentsen lervidl az utasts) - Indexregiszteres cmzs: Valdi cm +Bzisregiszterben megadott cm + indexregiszterben megadott cm + eltolsi rtk. (olyan utastsoknl, ahol tbb egymst kvet adatot mozgatunk az indexregiszter automatikusan nvekszik)
5
Utastsszmll regiszter (PC v. IP):
Ez a regiszter mindig a soron kvetkez utasts memriabeli cmt tartalmazza, a kezd rtkt, azaz a program els utastsnak trbeli helyt, kvlrl (pl.: az opercis rendszertl) kapja, a program indtsa eltt. Utasts regiszter: A vezrl egysg fontos rsze, amely a trbl kikeresett (lehvott) utastst fogadja be arra az idre, amg a vezrl egysg az utasts hatsra a mveletet elvgzi, s elindtja a vgrehajtst vezrl mikroprogramot. Korszer processzoroknl az utasts feldolgoz mdszer miatt ez a regiszter ilyen formban mr nem tallhat meg. Az utasts-feldolgozs elemi lpsei: Utastsvgrehajts norml gpi ciklusban trtnik.Neumann elv szmtgpek esetben az utastsok s az adatok ugyanabban a trban helyezkednek el. Ennek kvetkeztben az utasts s az adat elkeresse csak egyms utn trtnhet, ezt nevezik soros utasts-feldolgozsnak. Ms architektrkban, ahol kln program- s kln adattrol van trolnknt kln snrendszerrel, egy utastsi ciklusban trtnik a teljes utasts feldolgozsa - prhuzamos utasts-feldolgozs.
6
A processzor mkdsnek lnyege a programutastsok feldolgozsa. Ezen utastsok lpsekre trtn felbonts segti a mikroprogramozs, valamint az tlapolt vgrehajts lnyegnek megrtst. Egy utasts vgrehajtsa alapveten az albbi rszekbl tevdik ssze: Utastselkszts, utastslehvs.A processzor ebben a fzisban a kvetkez utasts memriacmt, amelyet az utastsszmll regiszter (PC) tartalmaz, tviszi a memria cmregiszterbe (MAR). Amennyiben nem rendelkezik ilyennel, a PC tartalma a cmsnt vezrl cm-pufferregiszterbe kerl. A processzor ez alapjn keresi ki a trbl az utastst, amely az utastsregiszterbe (IR) kerl. Utastsszmll regiszter tartalmnak nvelse. A PC tartalmnak automatikus nvelsvel elll a kvetkez utasts trolbeli helynek memriacme. A PC tartalma az utastshossznak megfelel szmmal n. Az opercis rendszer lltja be az utastsszmll kezd rtkt. Mveleti kd rtelmezse, az operandus cmnek meghatrozsa. A processzor a mveleti jelrsz dekdolsval meghatrozza, hogy milyen utastsokat kell vgrehajtania, valamint az utasts cmrsze alapjn meghatrozza a mvelethez hasznland operandus(ok) cmt. Amennyiben az utasts nem ignyel operandust (vezrls), a processzor a vgrehajtsi fzisra tr t. Adatok elksztse a mvelet elvgzshez. A kzponti egysg az elzekben kidolgozott cm alapjn kikeresi az operandus(ok)at a memribl s az utasts ltal meghatrozott helyre, amely az esetek tbbsgben az aritmetikai egysg akkumultora (AC), de lehet ms regiszter is. Vgrehajts. Megtrtnik az utasts ltal kijellt feladat elvgzse az elksztett operandussal. Vezrlstad utastsok esetn a processzor az utastsban lev cmet - amely meghatrozza, hogy a program honnan folytatdjk - berja a PC-be. Az eredmny elhelyezse. A kzponti egysg a kapott eredmnyt elhelyezi az elrt helyre, amely tbbnyire az akkumultor. Ezutn jrakezdi az utastsfeldolgozst. Rvidebben: A gpi utastsok vgrehajtsnak elemi lpsei a kvetkezk: Utastselkszts vagy lehvs Az utastsszmll regiszter tartalmnak nvelse. Az utasts dekdolsa A mvelet vgrehajtshoz szksges adatok kiolvassa a ftrbl, elksztse a vgrehajtshoz. A mveleti kd alapjn rtelmezett mvelet vgrehajtsa az elksztett operandusokkal. A mvelet eredmnyt a processzor berja az utastsban elrt trolhelyre.
7
2. A verem fogalma s mkdse, a veremmutat regiszter. A vermet kezel utastsok. A verem alkalmazsa szubrutinok kezelsben. A szubrutinra vonatkoz utastsok.
A verem
A szmtstechnikban a verem (angolul stack) a szmtgp memrijnak egy rsze, amelybe a processzor azokat a memriacmeket menti el, ahova egyes eljrsok befejeztvel visszatr. A verem olyan adatstruktra, amelybl a benne utoljra eltrolt adat olvashat ki elszr. ltalban az alprogramok, eljrsok, fggvnyek kezelst segti el, de hasznljk az aritmetikai mveleteknl az operandusok s rszeredmnyek trolsra. Veremkirats az a folyamat, amikor az informatikus a verem rtkeit kiratja monitorra vagy nyomtatra. Mkdse A stackben tbbnyire regiszterek tartalmt troljuk (mentjk el), tmenetileg. Ennek oka az, hogy a mikroprocesszor leggyorsabban a bels regiszterekkel tud mveleteket vgezni. A regiszterek szma viszont korltozott. Pl. gyakran elfordul, hogy az sszes regiszter mr olyan informcit tartalmaz, amely mg nem fellrhat, de az adott rszfeladat elvgzshez szksg van tovbbi regiszterek hasznlathoz. Ekkor valamely regiszter(ek) tartalmt ideiglenesen a stackbe tudjuk kivinni (majd ksbb a stackbl a regiszter tartalmt vissza tudjuk lltani) s a regiszterbe mr aktulisabb tartalmat tudunk betlteni. Ez a mvelet ltalban gyorsabb s knyelmesebb, mint a memriba rni a regisztertartalmat. Hiszen ilyenkor meg kellene vlasztani a cmzst, meg kellene jegyezni a trolsi cmet s a trolt adat hosszt. Rgebbi mikroprocesszoroknl n. bels stack ltezett, vagyis a processzoron bell volt a verem, ami jelentsen korltozta a processzor kapacitst. Ma minden processzornl a RAM-ban elhelyezhet 'kls stack' tallhat. Veremmutat regiszter (SP): A verem legfels elemt jelli ki. A veremtrol egy specilis trol, amely elssorban az alprogramok kezelst segti. A verem nem rsze a bels regisztereknek, ltalban a ftrolban kerl kialaktsra. Szervezse LIFO (Last in first out) jelleg, ami azt jelenti, hogy az utoljra bekerlt adat vehet ki elszr, s amit legelszr tettnk be, azt vehetjk ki utoljra (Tbb szint verem ltezhet, tbb SP is lehet). A "verem instrukcik" (PUSH, POP) automatikusan hivatkoznak az SP-re s automatikusan lltjk. 8
A vermet kezel assembly utastsok: - PUSH op (a 2 byte-os operandust a verembe rja, (az SP rtke 2-vel cskken). Tele verembe nem lehet. - PUSHF (a STATUS verembe rdik. Ez az utasts a flag-ek mentsre szolgl.) - POP op (a 2 byte-os operandus fellrdik a verem tetejn lv (WORD) szval, az SP ltal cmzett sz tmsoldik, majd az SP 2-vel megn.). resbl kivenni nem lehet. Kiolvass s trls. - POPF (a verem tetejn lv sz fellrja a STATUS-t. Ezzel az utastssal tudjuk a flag-ek tartalmt helyrelltani.) Ezek az utastsok f haszna az, hogy a szubrutinok az ltaluk hasznlt regisztereket elmenthetik, majd futsuk befejezsekor visszallthatjk anlkl, hogy erre statikus memriaterletet kellene ignybe vennnk. Figyelni kell a visszallts sorrendjre (fordtott) is. Minden PUSH-nak kell lennie egy POP prjnak is mert klnben hibsan dolgozhat a program.
Szubrutin Olyan programrsz amelyek a feladatban tbbszr elfordul, ismtld folyamatokat takar (alprogram). Olyan utastsok sorozata, melyet a program tbb rszrl elrhetnk, s csak egyszer kerl trolsra. Teht az utastssorozatok redundancijnak feloldst oldja meg. A hvs visszatrsi cme a veremben troldik. Ez alkalmat ad az gynevezett rekurzv szubrutinok alkalmazsra, melyek nmagukat hvjk meg. Ez a mdszer a bonyolultabb (matematikai-rendezsi) problmk feloldst segti el.
Szubrutinhvsi s visszatr utastsok - CALL op - Az utastsszmll pillanatnyi rtke a veremre kerl, majd az utastsszmll fellrdik az operandussal, mely lehet direkt cm vagy tetszleges cmzsi mddal elrt regiszter- vagy memria operandus. Lehet rvid (szegmensen belli) vagy hossz (szegmenskzi) szubrutinhvs.) - RET [konstans] -Konstans megadsa nlkl: A verem tetejn lv rtkkel fellrja az utastsszmllt s gy a program visszatr a szubrutin hvsa utni sorra s onnan fut tovbb a program. -Konstans megadsval: ugyangy mkdik mint a RET de a visszatrsi cm kiolvassa utn az veremmutatt a konstans rtkvel megnveli. Ezzel a mdszerrel lehet a szubrutinnak paramtereket tadni s a szubrutin vgrehajtsa utn a paramtereket a parancs automatikusan kiveszi a verembl.
Egyes megszaktsok is ide sorolhatk mivel a megszakts vgrehajtsa utn a rendszer onnan folytatja a program vgrehajtst ahol a megszakts trtnt. A klnbsg az, hogy a szubrutinhvst a programoz elre betervezte, a megszakts hvsa nem elre tervezett, hanem valamilyen esemny bekvetkeztnek a hatsra jn ltre. 9
3. A Neumann-elvek. Utasts- s adatfolyam (SISD, SIMD, MISD s MIMD architektrk). Adatok szmtgpes brzolsa (fixpontos, lebegpontos, BCD, vektoros adatok, karakterek).
Neumann elvek: - Teljesen elektronikus szmtgp - Kettes szmrendszer alkalmazsa - Aritmetikai egysg alkalmazsa (univerzlis Turing-gp) - Kzponti vezrlegysg alkalmazsa - Bels program- s adattrols
Neumann-elven mkd szmtgpek:
1. A szmtgp legyen soros mkds: A gp az egyes utastsokat egyms utn, egyenknt hajtja vgre 2. A szmtgp a kettes szmrendszert hasznlja, s legyen teljesen elektronikus: A kettes szmrendszert s a rajta rtelmezett aritmetikai ill. logikai mveleteket knny megvalstani ktllapot ramkrkkel (pl.: 1- magasabb feszltsg, 0 - alacsonyabb feszltsg) 3. A szmtgpnek legyen bels memrija: A szmtgp gyors mkdse miatt nincs lehetsg arra, hogy minden egyes lps utn a kezel beavatkozzon a szmts menetbe. A bels memriban trolhatk az adatok s az egyes szmtsok rszeredmnyei, gy a gp bizonyos mveletsorokat automatikusan el tud vgezni. 4. A trolt program elve: A programot alkot utastsok kifejezhetk szmokkal, azaz adatknt kezelhetk. ezek a bels memriban trolhatk, mint brmelyik ms adat. Ezltal a szmtgp nllan kpes mkdni, hiszen az adatokat s az utastsokat egyarnt a memribl veszi el. 5. A szmtgp legyen univerzlis: A szmtgp klnfle feladatainak elvgzshez nem kell specilis berendezseket kszteni. Ugyanis, Turing angol matematikus bebizonytotta, hogy az olyan gp, amely el tud vgezni nhny alapvet mveletet, akkor az elvileg brmilyen szmts elvgzsre is alkalmas.
- SISD(Single Instruction Stream Single Data Stream), azaz egyetlen utastsfolyam s egyetlen adatfolyam feldolgozsa. Az ilyen gpek egy vezrl egysggel s tbb aritmetikai egysggel rendelkeznek, egyidben egyetlen utasts vgrehajtsra alkalmasak. Ebbe a kategriba tartoznak a hagyomnyos, Neumann-elv szmtgpek. - SIMD(Single Instruction Stream Multiple Data Stream), azaz egyetlen utastsfolyam, tbbszrs adatfolyam feldolgozsa. Ezek a gpek egy vezrl egysggel s tbb aritmetikai egysggel rendelkeznek s egyidben egy s ugyanaz az utastst hajtja vgre tbb adaton. Ebbe a krbe sorolhatk a vektor- s tmbprocesszoros gpek. - MISD(Multiple Instruction Stream Single Data Stream), azaz tbb utastsfolyam alapjn egyetlen adatfolyam feldolgozsa. Ilyen tpus gpek tulajdonkppen nincsenek, bizonyos esetekben ide soroljk az un. pipeline feldolgozst alkalmaz szmtgpeket. - MIMD(Multiple Instruction Stream Multiple Data Stream), azaz tbb utastsfolyam s tbb adatfolyam feldolgozsa. Ebbe a csoportba tartoz gpek klnbz multiprocesszoros szmtgpek.
Fixpontos szmbrzols Ebben a brzolsi mdban a binris pont helye - ami a bal oldalon tallhat egszeket elvlasztja a jobb oldalon lv trtektl - rgztett, s a szmokat tbbnyire kettes komplemens kdban brzoljk.
A szmok brzolsnak kt fontos jellemzje van a felhasznls szempontjbl: - az brzoland szmok nagysga - az brzols pontossga A kt jellemz az alkalmazott regisztermrettl s binris pont helytl fgg. Ha a binris pontot balra toljuk el, akkor - a szmok brzolsi tartomnya cskken - az brzols pontossga n - ha binris pont a regiszter bal szln van, akkor a szm fixpontos trt. 11
Ha pedig a binris pont jobbra mozdul, akkor - a szmok brzolsi tartomnya n - az brzols pontossga cskken - ha a binris pont a regiszter jobb szln van, akkor a szm fixpontos egsz. A fixpontos brzols elnye a lebegpontos trolssal szemben, hogy a rgztett tizedeshelynek ksznheten annl jval gyorsabb mveletvgzst tesz lehetv, viszont brzolsi intervallumba s pontossga meglehetsen korltos.
Az brzolhat szmok binrisan decimlisan brzolhat szmtartomny 1000 0000 0000 0000 tl 2 15 -tl 0111 1111 1111 1111-ig. + 2 15 1-ig legnagyobb nem negatv: 0111 1111 1111 1111 + 32 767 legkisebb nem negatv: 0000 0000 0000 0000 0 legnagyobb negatv: 1111 1111 1111 1111 1 legkisebb negatv: 1000 0000 0000 0000 32768
Lebegpontos trolsi forma
A tzes szmrendszerbeli szmot tvltjuk kettes szmrendszerbe. Ezt a kvetkez mdon tehetjk meg: A szm egsz rszt kettvel osztjuk. Az osztst addig folytatjuk, amg a hnyados nulla nem lesz. Az osztskor keletkez maradkokat alulrl felfel rjuk le. Az tvltott szm a kapott maradksor. A szm trtrszt kettvel szorozzuk. A kapott rtk egsz rszt lerjuk, a kettvel val szorzst a szm trtrszvel folytatjuk. Az trs addig tart, amg pontosan 1-et nem kapunk, vagy el nem rjk a kvnt kettedes trt pontossgot. A szorzskor keletkez egsz rszek sort fellrl lefel rjuk le. szmokat ebben az esetben normalizlt alakban hasznljuk.
ahol N 2 az brzoland binris szm M normalizlt mantissza E karakterisztika A mantisszt leggyakrabban eljeles abszolt rtkes formtumban troljk. A normalizlsra ktfle gyakorlat terjed el. A lebegpontos brzols elnye a fixpontos trolssal szemben, hogy mivel esetben a tizedespont a szmjegyek kztt szabadon "vndorolhat", ezrt ltalban jval nagyobb intervallum brzolst teszi lehetv, mikzben kis szmoknl is nagy pontossgot biztost. 12
BCD (binary coded decimal) brzols: BCD kd A BCD kd a legknnyebben elllthat, ezrt taln a legltalnosabban hasznlt kd. Ennl a kdnl a szmok szmjegyeinek a kettes szmrendszerbeli rtke felel meg, ngy helyi rtkre kiegsztve. Eljeles BCD szmokat gy kpeznek, hogy n. vezrlsz-t tesznek a szmjegyek el. A vezrlsz tartalmaz egy eljelbitet (pozitv = 0, negatv = 1), az adatszavak szmt (0000 = 1 sz, 1111 = 16 sz) s a tizedespont utni szavak szmt.
Mshogy: (Binrisan kdolt decimlis szmok) A kettes szmrendszer szerinti adattrols elssorban akkor elnys, ha aritmetikai mveleteket kvnunk vgezni a szmokkal, teht a mszaki-tudomnyos feladatok, szmtsignyes problmk megoldsakor elssorban. Ha a szmtsi munka egyszerbb, vagy nagytmeg adatot kell beolvasni, vagy kiratni, akkor clszer a tzes szmrendszer hasznlatt utnozni klnbz binris kdokkal. Ezekben a kdrendszerekben a tzes szmrendszerbeli szmok szmjegyeit egyenknt konvertljuk t az alkalmazott binris kdba. Mivel a tzes szmrendszerben tzfle szmjegyet hasznlunk, ezek brzolshoz legkevesebb 4 bit szksges
Jellemzi: minden decimlis szmjegyet ngy biten brzolja a szmjegy binris alakjt. A szmot a szmjegyek ngybites alakjval rjuk fel, megtartva a helyi rtkeket. A BCD kdban felrt szmokkal a binrisaritmetika szerint vgznk mveleteket. A mvelet vgzs eredmnyeknt kapott binris jelsorozatot a szksges korrekcival vglegestjk. A decimlis szmnak nem a kettes szmrendszer bli alakjt rjuk fel BCD kdban, hanem egy binris jelsorozatot runk fel BCD kdban. 1924=0001100100100100
Vektoros adatok A szmtgpek alkalmazsi terleteinek egy rsznl (tudomnyos-mszaki, szmtsok, modellezs, 3D grafika stb.) gyakran kell vektorokkal s mtrixokkal mveleteket vgrehajts. Ezt hatkonyan 13
elvgezni a SMID (egyszeres utastsfolyam, tbbszrs adatfolyam) architektrj gpekkel lehet, melyeket vektorszmtgpeknek hvunk. Karakteres szmkdok
A szm tzes szmrendszerbeli alakjt kdoljuk, minden szmjegyet egy karakterknt brzolunk. Mveletek gy nem vgezhetk az gy kdolt szmokkal. Karakterek kdolsa Karakternek nevezzk a betket, rsjeleket, szmjegyeket stb. brzolsuk problmjt is meg kellett oldani, termszetesen binris alakban. Azaz minden karakterhez rendelni kell egy binris szmot. Ma a legelterjedtebb kdolsi rendszerekben 1 bjton kdoljk a karaktereket, ami 256 fle jel megklnbztetst teszi lehetv. Azt a tblzatot, amely lerja ezt a kapcsolatot, kdtblzatnak nevezzk. Az IBM kompatibilis szmtgpek vilgban a legfontosabb az ASCII kdrendszer, de msfajtk is lteznek. Pldul az EBCDIC vagy a UNICODE stb.
ASCII KDRENDSZER Az ASCII kd az egsz vilgon elfogadott szabvny a karakterek kdolshoz. (American Standard Code for Information Interchange). Eredetileg 7 biten kdolta az amerikai ABC kis- s nagybetit, a szmjegyeket s rsjeleket valamint klnbz vezrljeleket. Ezt ksbb ms nemzeti karakterek, grafikus jelek brzolsa miatt 8 bitesre bvtettk. A sokfle nemzeti karakter brzolhatsga miatt tbb kdtblt hoztak ltre. Az els 128 kd mindegyikben ugyanazt jelenti (megegyezik az eredeti kdtblval), a kvetkez 128 kd orszgonknt vltozhat. Tartalmazza a nemzeti rsjeleket pl. kezetes betket, grafikus jeleket. Az USA kdtbla a 437-es szmot viseli, a 852-es un. Latin II. vagy szlv kdtbla tartalmazza a magyar kezetes betket is. Pl. GERG SEGTS szveg : 71,69,82,71,153,32,82,69,71,73,84,83 szmok binris alakja az ASCII kd szerint Az rsjeleket azok ASCII kdjaival is kirathatjuk a jobb oldali szmbillentyzetrl az <Alt> billenty lenyomva tartsa mellett.
14
Megjelent az ASCII olyan kiterjesztse, amely az arab, knai, japn rsjeleket is szabvnyosan tudja kezelni. Ez az UNICODE kdrendszer. A Unicode 16 biten (2 bjton) trolja a karaktereket, gy 65536 karakter lersra alkalmas. A Unicode als 128 karaktere egybeesik az ASCII kdolssal. Az e fltti rszekben pedig szegmensekben helyezkednek el a klnbz nyelvcsoportokat ler karakterek.
MSHOGY: ASCII - kdrendszer: (American Standard Codes for Information and Interchange). Az alapszabvny az Amerikai kdolsi rendszert, az ASCII kdrendszert hasznljk. Ez a kdrendszer teszi lehetv azt, hogy a klnbz programok kpesek legyenek hasznlni pl: a magyar ABC-T. Ez pedig napjainkban elengedhetetlen. Mivel orszgonknt klnbz betkre van szksg az ASCII kdtbla tbb vltozatt, hasznljk. Ilyen az amerikai 437-es jel, vagy a kelet- eurpai 852-es. Ezek a msodik 128 jelben trnek el egymstl. Szmos olyan nyelv van a vilgon, amelynek tbb jele van mint 256. ASCII: kt f fajtja: 1. 128-fle karaktert kdol 7 bites binris kddal, s egy paritsbit (amit ellenrzsre hasznlnak), minden karakternek egy kettes szmrendszerbeli szm felel meg, klcsnsen s egyrtelmen. 2. ASCII 8 bites (1 byte) kiterjesztse mr 2*128=256 karakter kdjt tartalmazza, az els 128 db karakter az eredeti ASCII kdot, a msodik 128 db karakter az egyb karakter, pldul kezetes betk kdjait, tartalmazza. Fontos megklnbztetni a karakter kdjt a karakter kptl, grafikai megjelenstl (ha van ilyen). Hiszen a karakter kpe is kdolhat bitsorozatokkal, s kdolva is van, klnben nem jelenhetnnek meg nyomtatskor. A karakter kpe sokkal tbb byte-on trolhat.
15
4. Az utasts-feldolgozs gyorstsa prhuzamostssal. A pipelining lnyege, szuperskalr processzorok. Fellp problmk s kezelsk.
Pipeline
A gyorsts megoldhat a gp mkdsnek temezst meghatroz rajel frekvencia nvelsvel, aminek viszont technolgiai korltai vannak. Ezrt kerltek eltrbe azok a mdszerek, melyek a szmtgp gyorsabb mvelet vgrehajtst rendszertechnikai eszkzkkel biztostjk. A rendszertechnikai gyorsts egyik legfontosabb mdszere az utasts vgrehajts szintjn tlapolt feldolgozs, melyet pipeliningnek neveznek.
Pipeline lnyege Az egyik fzis eredmnye a kvetkez fzis indul adatt kpezi. Ez az tlapol megolds azt eredmnyezi, hogy egy-egy feldolgozsi folyamat vgrehajtsi idtartama ugyan nem vltozik, de ugyanannyi id alatt lnyegesen tbb folyamat fejezhet be. Ezt az tlapolt feldolgozsi mdszert nevezik pipelining (adatcsatorns, futszalag) feldolgozsnak. A pipeline utasts-feldolgozst alkalmaz processzorokat utastsszinten prhuzamos mkds (Instruction Level Parallel), vagy ILP processzoroknak nevezzk. Az ilyen mdon tlapolt folyamatok feldolgozshoz tartoz egysgek mkdtetse ktfle mdon trtnhet: Aszinkron temezssel, amely esetben az egymst kvet fokozatok jelzik egymsnak elemi feldolgozsi lpsk elkszltt, illetve azt, hogy kszek fogadni a kvetkez utasts az arra az egysgre elirt feladat elvgzshez. Mindegyik egysg amint befejezte tevkenysgt, tovbbadja a feldolgozst a kvetkez egysgnek, azaz a feldolgozs tovbbhaladsa folyamatos az adatcsatornn keresztl. Szinkron temezssel, amelynl az egyes fokozatok azonos idben kezdik feldolgozsi lpseiket, a feldolgozsi folyamat temezst mindig a legtbb idt ignybe vev egysg szabja meg.
Szuperskalr processzorok
A processzoron bell nem csak gy tudunk prhuzamostani, hogy a gpi utastsokon belli elemi lpseket vgrehajt egysgek tlapolva mkdnek, hanem a vgrehajt hardver egysgeket is meg lehet tbbszrzni. Az erforrsok hasznlatnak problmja abbl szrmazik, hogy a prhuzamostott folyamatok igen gyakran ugyanazt az erforrst kvnjk ignybe venni feldolgozsukhoz (pl. leggyakrabban a memria okoz ilyen gondot). Ennek egyik lehetsges megoldsa az erforrsok tbbszrzse, amely nyilvnvalan tbbletkltsget eredmnyez. Ezeket a processzorokat szuperskalr processzoroknak nevezzk, ha egy gpi ciklus alatt esetenknt tbb utastst is kpesek vgrehajtani, tbb vezrlegysg. Ennek termszetesen felttele, hogy a processzor a mveletvgz egysgekhez vezet, prhuzamos mkdsre kpes bels buszokkal rendelkezzen.
16
Fellp problmk s kezelsk
Pipelining sorn fellp problmk kezelse 1. az utastsok elemi fzisainak vgrehajtshoz szksges id igen eltr lehet 2. az utasts soros vgrehajtst a vezrlstad utastsok megzavarhatjk, mivel ekkor nem a soron kvetkez utastsokat kell betlteni a futszalagra. 3. a megszaktsok, kivtelek kezelse is megszakthatja a futszalag folyamatos feltltst 4. az utasts vgrehajts sorn sokszor elfordul, hogy egy utasts a megelz utasts eredmnyadatra hivatkozik.
- Utasts-trendezs (fordtprg.) Tartalmi megvltoztats nlkl trendezi az utastssorrendet.
- Scoreboarding(hardver) Minden regisztere knyvelsre kerl. Ha egy tovbbi utasts egy ilyen regiszterhez akar hozzfrni, akkor az ksleltetsre kerl.
- Data forwarding (hardver) Adat elreengeds. Processzoron belli megfelel ramkrk biztostjk.
- Harvard architektra Az utastsolvass s az adatkiolvass, visszars tkzseire jelent megoldst.
- A vezrlstad utastsok kezelse Kiemelt jelentsg feladat. (Processzor lelltja a pipeline betltst amg az ugrs kimenetele nem egyrtelm. Vagy a processzor megbecsli az elgazs kiementelt.) Ha ez nem teljesl akkor a pipeline-ban lv utastssort trlni kell. Korszer processzorok spekulatv elgazs feldolgozsa, melynl a processzor megprblja megjsolni az utasts kimenetelt. - Statikus: fordtprg. rtkeli ki az ugrsi feltteleket s meghatrozza a legnagyobb valsznsggel elfordul ugrsi cmeket s ennek megfelelen szevezi a pipelin-t. - Dinamikus: a prg. futsa kzben a processzor egy tblzatban vezeti az ugrutastsok cmeit s ezek kimenett, s ezt felhasznlva prblja megjsolni az elgazsok lehetsges kimenett.
A szuperskalr processzoroknl ezrt tbb problmt kell megoldani 1. Prhuzamos dekdols, eldekdols Az eldekdols sorn a dekdols feladatainak egy rsze mr akkor vgrehajtsra kerl, amikor az utastsokat a msodlagos gyorst trbl vagy a memribl az L1 szint gyorsttrba rjk 2. Szuperskalr utasts-kibocsts (Utasts vrakoztats, Regisztertnevezs, Spekulatv elgazs kezels) 3. Prhuzamos vgrehajts Ha a processzor az utastsokat prhuzamosan hajtja vgre, akkor az egyes vgrehajt egysgek az utastsok eredmnyeit az eredeti utastssorrendtl eltren is elllthatjk. Ezt csak gy lehet kezelni, ha az eredmnyadatok tmenetileg troldnak s vgleges helykre az eredeti utastssorrendnek megfelelen kerlnek bersra. Soros konzisztencia Az eredeti utasts soros logikjnak megrzse. 17
5. Az aritmetikai-logikai egysg s regiszterei (akkumultor, flag). Fixpontos s lebegpontos mveletek, ezek vgrehajtsnak egysgei. Logikai mveletek.
Aritmetikai egysg (ALU)
A processzor msik fontos egysge az ALU, amely az utastsokban elrt aritmetikai, vagy logikai mveleteket hajtja vgre. Az aritmetikai egysg binris mveletek elvgzsre alkalmas, ha az elvgezend aritmetikai mveletek szma nagy, vagy lebegpontos (hatvnykitevs) formtum szmokkal kell mveleteket vgezni, akkor a fprocesszor mell elhelyeznek az erre a clra szolgl matematikai trsprocesszort (koprocessort) is. A nagyobb teljestmny gpek (i486 DX, MC68040, RISC) processzoraiba mr eleve beptik a lebegpontos rendszert. Ez az egysg a mveletvgzshez az operandusok s az eredmnyek ideiglenes trolsra egy kitntetett regisztert, az akkumultor regisztert (AC: Accumulator Regiszter) hasznlja.
ALU f rszegysgei: - sszead egysg, amely kt operandus sszeadsra szolgl - lptet ramkrk, amelyek a regiszterek tartalmt mveletvgzs kzben jobbra, vagy balra lptetik, azaz tulajdonkppen 2-vel osztjk, vagy szorozzk azt - logikai ramkrk a logikai mveletek megoldshoz - regiszterek, az adatok ideiglenes trolsra. Ezek lehetnek az ALU rszt kpez, kizrlagos hasznlat regiszterek, mint pl. tbbnyire az akkumultor regiszter (AC), vagy a processzor ltalnos cl regiszterei kzl egy, vagy tbb. Az aritmetikai mveletek vgrehajtsakor, az eredmnytl fggen, az llapotregiszter egyes jelzbitjeit a processzor belltja. A mveletek eredmnyt visszatkrz legfontosabb jelzbitek a kvetkezk: - tvitel (carry): ha az eredmny legmagasabb helyrtkn tvitel keletkezik, 1-es rtket vesz fel - nulla (zero): ha az eredmny nulla rtk, 1-es rtket vesz fel - eljel (sign): ha az eredmny negatv, akkor az rtke 1-es lesz - tlcsorduls (overflow): ha az eredmny nagyobb, mint a trolhat legnagyobb rtk, akkor rtke 1-es lesz.
Akkumultor /AC/ A szmtgp megklnbztetett szmtsi regisztere. Az aritmetikai s logikai mveletek operandusait, vagyi a mveletek trgyt kpez mennyisgeket, illetve ezeknek az eredmnyeit a CPU kzponti regiszterben, az akkumultorban troljuk.
Flag regiszterek (flagregiszter, amely a processzor mkdse kzben ltrejtt llapotok jelzit (igaz, vagy hamis),
llapotregiszterek, vezrl regiszterek (Status Regiszter, Flag Regiszter, Control Regiszter) amelyek egy, vagy tbb regiszteren bell trolnak vezrl s ellenrz jeleket, a mveletek vgrehajtsnak eredmnye alapjn bekvetkez llapotjellemzit adja vissza. Ilyen jellemzk, pl.:
az eredmny nulla (zero flag) a szmrtk tl nagy (overflow flag) tvitel keletkezse (carry flag)
18
Az llapotregiszternek lehetnek olyan bitjei, amelyek valamilyen vezrlsi elrst trolnak (pl.: valamely rszegysg hasznlatnak engedlyezse, memrialapozs engedlyezse, megszaktskrs kiszolglsa letiltsa). Ha a funkcibitek szma nagy, akkor nll vezrl regiszter (control register), s llapotjelz regiszter (status, vagy flag register) hasznlata szksges. Az aritmetikai mveletek vgrehajtsakor, az eredmnytl fggen, az llapotregiszter (FLAG register) egyes jelzbitjeit az ALU belltja. ltalban feltteles elgaztat utastsokkal krdezhet le, s ettl fggen vltoztathat meg az utasts vgrehajts sorrendje. A mveletek eredmnyt visszatkrz legfontosabb jelzbitek a kvetkezk:
1. tvitel (carry) jelzbitje: ha az eredmny legmagasabb helyrtkn tvitel keletkezik, rtke 1-et vesz fel. 2. Nulla (zero) jelzbitje: ha az eredmny nulla rtk, 1-es rtket vesz fel 3. Eljel (sign) jelzbitje: ha az eredmny negatv, 1-es rtket vesz fel. rtke a numerikus adatokon vgzett mveletek eredmnynek eljele szerint kerl belltsra. 4. Tlcsorduls (overflow) jelzbitje: ha az eredmny nagyobb, mint a trolhat legnagyobb rtk, 1-es rtket vesz fel. Szintn numerikus szmokon vgzett mveletek eredmnyeknt kerl belltsra (pl. szorzs) 5. Paritsbit: paritshiba esetn kerl belltsra. 6. Auxilary: kzbens tvitel az als 4 bitrl a fels 4 bitre 7. Trap: az utasts vgrehajtsa utn a processzor INT1-es megszaktst hoz ltre 8. Interrupt: a hardver megszaktskrelemek letiltsa
Fix pontos
Ezt az brzolst a kisebb, kevesebb szmjegybl ll szmok rshoz hasznljk. Fixpontos szmtrolsi formnl a szm kettes szmrendszerbeli egytthatit troljuk helyi rtkeiknek megfelelen egy rgztett nagysg memriaterleten. Ezek leggyakrabban o 1 bjt mret, (BYTE) o 2 bjt mret sz ( WORD ), o 4 bjt mret dupla sz (DWORD). A fixpontos szmoknl fontos krds, hogy melyik pozcin helyezkedik el a szm egsz- s trtrszt elvlaszt jel, melyet a tizedesvessz analgijra kettedes pontnak nevezhetnk. Trolsi formja: a.b Ahol: - a egsz szmjegy - . Kettedes jegy - b trtrsz szmjegyei
Lebegpontos
Hatvnykitevs trolsmd, kisebb s nagyobb szmjegyek trolshoz, a trolsi formjukat pontossguk hatrozza meg (hny biten), trterlet: 4-6-8bjt
Trolsi formja: ar p
- eljel, melyet egyetlen biten trolunk mindig - a mantissza, vagyis a fixpontos egsz - r radix, ez a szmrendszer alapszma, (ltalban 2-es) ez ami rgztett mindig, ezrt ezt mr nem kell trolni - p karakterisztika vagyis a hatvnykitev A lebegpontos brzolst az IEEE 754 szabvny rgzti. 19
IEEE 754 szabvny: A mantissza eljele 0 ha a szm pozitv s 1 ha negatv, a mantisszban lev fixpontos szm 1-re normalizltan rtend, azaz 1. a formj (binrisan-ezrt az els egyest nem is troljk), a szabvny a lebegpontos mveletvgrehajtshoz tbbfajta pontossgot definil: egyszeres=32bit, dupla=64bit, kiterjesztett=80bit, ngyszeres=128bit.
A lebegpontos szmokkal vgzett mveletek problmja a tlcsorduls s az alulcsorduls megfelel kezelse. A szabvny ezek kezelsre tovbbi adatformtumokat hatroz meg. Ezek : denormalizlt adatformtum:az igen kis szmrtkek szmtgpes kezelst segti nulla szmrtk (eljel: ; karakterisztika: 0; mantissza: 0), vgtelen rtk, tlcsordulsokat (igen nagy szmok) a vgtelen szmmal kezelhetjk nem meghatrozott szmrtk (Not a Number: NaN) Az gynevezett nem szmok azt a clt szolgljk, hogy programunk akkor se lljon le, ha az elvgzett mvelet (pldul vgtelen/vgtelen) matematikailag rtelmezhetetlen.
Logikai mveletek
Logikai csoport: az AC (akkumultor) s valamelyik regiszter, vagy memria tartalma kztt trtnik logikai mveletvgzs (S, VAGY, KIZR VAGY). Ide tartozik a shiftels mvelete is, mely az AC tartalmt lpteti.
Hrom logikai alapmvelet: - NEM: egyoperandusos mveletet, eredmnye az llts ellenkezje. A trolhelyek tartalmnak ellenkez rtkre lltsra lehet hasznlni. - S: a ktoperandusos mvelet eredmnye akkor igaz, ha mindkt llts egyidejleg igaz. E mvelet segtsgvel lehet kijellni, maszkolni egy trolhely tartalmnak tetszleges rszt. - VAGY: a ktoperandusos mvelet eredmnye akkor igaz, ha valamelyik, vagy mindkt llts igaz. Kt trolhely sszeadsra hasznljk. Alaptrvnyek: 1. A+A=1 2. AA=0 3. (((A)=A Ketts tagads 4. ((A+B)= (A(B 5. ((AB)= (A+(B De-Morgan azonossgok 6. A+0=A 7. A*0=A 8. A+1=1 9. A*1=A 10. A+AB=A(1+B)=A A logikai mveletek megfeleli a gpi utastskszletben is megjelennek, ltalban az albbi lehetsget biztostva: - S kapcsolat kt trolhely tartalma kztt, maszkolshoz - VAGY kapcsolat kr jelsorozat sszefslshez, egyestshez - lptetsek, tlcsordulsok figyelshez. Ezeket a logikai mveleteket az ALU egyik f rszegysge vgzi el, mely logikai ramkrkbl ll.
20
6. A vezrlegysg feladata s jelei, vezrlsi pontok. Huzalozott s mikroprogramozott mveleti vezrls. CISC s RISC processzorok.
A Vezrlegysg feladata (CU)
A vezrlegysg mkdse sorn vezrljeleket ad ki a teljes szmtgp irnytsra. Ezek lehetnek: - a processzor bels vezrljelei, melyek a processzoron belli rszegysgek mkdst irnytjk pl. az aritmetikai egysg s a processzor rgiszterei kztti adattvitelt, - a processzoron kvli egysgek irnytst szolgl kls vezrljelek, melyek a processzor s a memria, a processzor s az input/output eszkzk kztti adattvitelt, illetve a megszaktskezelst s a snvezrlst irnytjk. CU: Biztostja, hogy a megfelel adatok a megfelel helyen s idben rendelkezsre lljanak. Irnytja az ramkrk mkdst. Az utastsszmll regiszter segtsgvel kiolvastatja a memribl annak a memriarekesznek a tartalmt, amely a soron kvetkez utastst trolja. Az utasts mveleti kdrsze alapjn meghatrozza, hogy sorrendben milyen mveletet kell vgrehajtani. Az utasts alapjn rtelmezi, hogy milyen cmen tallhatk a mveletben rsztvev adatok, vezrli ezek kiolvasst, s a megfelel regiszterbe trtn tovbbtsukat. Az aritmetikai - logikai egysggel vgrehajtatja a megfelel mveletet s belltja az utastsszmll j tartalmt.
A mveleti vezrls trtnhet:
- Huzalozott mdon (hardver): az utasts elemi lpseinek sorrendjnek vezrlst bonyolult sorrendi, kombincis ramkrrel oldjk meg. - Mikroprogramozott mdon (szoftver): az elemi tevkenysgek sorrendjt egy trolt program, a mikroprogram utastsai vezrlik. A vezrlegysg azon rszt, mely a mveleti vezrlst oldja meg, mikrovezrlnek nevezzk. A mikroutastsok feladata az adatutak engedlyezse/tiltsa. Az utastsok kt rszbl llnak: a kvetkez mikroutasts trbeli cmbl s a vezrlsi mezbl, amely az engedlyezett vezrlsi pontokat hatrozza meg. ltalban az egyszer utastsok huzalozottak, az sszetettek mikro programozottak.
Struktrk: - Horizontlis mikroprogramozs esetn a vezrlsi mez minden egyes bitje egy-egy vezrlsi pontot engedlyez/tilt. - Vertiklis mikroprogramozskor a mikroutastsok csak egy-egy elemi mvelet vgrehajtst eredmnyezik. CISC-vezrls: az utastsok feldolgozsa egy mikroutastsokkal megvalstott rtelmezrendszer ignybe vtelvel trtnik. Teljes utasts kszlet szmtgp. RISC-vezrls: a felhasznli programot egy egyszer utastsokbl ll gpi kdra fordtjk, mely nem ignyel rtelmezrendszert. Cskkentett utasts kszlet szmtgp.
21
Bvebben Mveleti vezrls Mkds szempontjbl az utasts-vgrehajts lpsei tovbbi elemi mveletek sorozatra bonthatk fel. Ezek a mveletek adattvonalak kapuzst, bizonyos llapotok belltst eredmnyezik. Az opercis kd alapjn trtn vezrelhetsg csak lpsenknti vezrlsi lehetsg, valamint az adatutak kapuzsnak (engedlyezs/tilts) lehetsge alapjn valsthat meg. Az elemi mveletek vgzsre ktfle lehetsg van: Hardver md (huzalozott) Az elemi tevkenysgek sorrendjnek vezrlst bonyolult sorrendi, kombincis ramkrrel oldjk meg. Ez a szksges sorrendben adja ki az egyes kapuk mkdtetsre szolgl vezrl jeleket, amely gyors mkdst eredmnyez, de kltsges megolds. Egyszerbben kezelhet a programozhat logikval trtn megvalsts. Ezek az ramkrk programozhat S s VAGY kapukbl llnak. Huzalozott mdon gyors mkds rhet el, de viszonylagos drgasga miatt elssorban RISC processzoros gpeknl alkalmazzk, ahol fontos a nagy sebessg. Szoftver md (mikroprogramozott) Trolt program, egy gynevezett mikroprogram vezrli az elemi lpsek sorrendjt, mely program utastsait mikroutastsoknak nevezik. Ez a trolt program a ROM trban helyezkedik el. A mikroprogram kezdcmt a makroprogram opercis kdja adja meg. Lehetsg van a mikroprogram cserjre. Ekkor a mikroprogramot a gp RAM - jban kell trolni, gy a gpen egy teljesen ms utastskszlet emullhat. Ez a mdszer hatkonyabb s olcsbb, mint a huzalozott megolds s a hozzrt felhasznl szmra is tbb lehetsget nyjt a rendszer fejleszthetsgnek tern. A processzorok mveleti vezrlse ktfle struktrban oldhat meg. Ezek a horizontlis struktra s a vertiklis struktra. A klnbsg az utastsfeldolgozs prhuzamostsi fokban mrhet, amely vonatkozik: - az utasts s adatelksztsre - az opercis kd kirtkelsre - a mvelet vgrehajtsra A mikroutastsok szerkezetileg hasonltanak a gpi kd utastsokhoz. Kt rszbl llnak, az egyik a kvetkez mikroutasts cme a trolt mikroprogramban, a msik a vezrlsi mez, amely meghatrozza az engedlyezett vezrlsi pontokat. Ezen vezrlsi pontok engedlyezse teszi lehetv elemi mveletek vgzst. Egy utasts elemi lpseinek vezrlse sok ilyen pont meghatrozott sorrendben trtn vezrlst jelenti. A mikrovezrl egy mikrocmregisztert is tartalmaz a kvetkez mikroutasts cmnek nyilvntartsra.
22
CISC s RISC processzorok Kezdetben a szmtgpek gpi kdban programoztk, majd az Assembly nyelv vlt elterjedt. CISC (komplex utastskszlet szmtgpek) - egyre tbb s bonyolultabb utastst tartalmazott az utastskszlet - ezek hardver megvalstst mikroprogramvezrelt kellett megoldani, azaz egy gpi utasts vgrehajtsa tbb elemi lpsr felbontottk s az ezekre vonatkoz adatokat a szmtgp csal olvashat memrijban (ROM) troltk) RISC (reduklt utastskszlet szmtgpek) A mikroprogramvezrelt utasts vgrehajts komoly korltv vlt a szmtgpteljestmny nvelsnek. Ezrt olyan architektrt terveztek, melynl, - csak gyakori egyszer utastsok szerepeltek az utastskszletben, - lehetv vlt a mikroprogramozs kikszblse, azaz magas szint programnyelvrl fordts lnyegben a korbbi mikroutastsok szintjre trtnt.
23
7. A kzponti tr szerepe, ramkri megvalstsa. ROM s RAM ramkrk tpusai. Dinamikus RAM bels felptse. tlapolt memriakezels.
Kzponti tr (memria) Kzponti tr, ftr A trolegysg trolja a program utastsait, s az adatokat. A trakba val rshoz ill. olvasshoz meg kell adni a keresett trol hely cmt, amit a trolhoz tartoz cmregiszter (MAR: Memory Address Register) fogad be s ennek tartalma vezrli a memria kivlaszt ramkreit. Az adatok szmra a trol bemenete ill. kimenete az adatregiszter (MDR: Memory Data Regiszter), amely a berand, vagy kiolvasott adatot ideiglenesen befogadja. Memria: szavanknt cmezhet trolegysg, melynek rekeszei troljk az utastsokat s az adatokat egyarnt. Az, hogy egy rekesz tartalma adat vagy utasts, csak rtelmezs krdse, hiszen az brzols mdja azonos. A memriknak gyorsan olvashatnak s rhatnak kell lennik, hiszen hozzfrsi idejk alapveten meghatrozza az utastssorozat vgrehajtsnak sebessgt. Legfontosabb erforrs a processzor mellett. A trolban tallhat a vgrehajts alatt lev program s a feldolgozsban hasznlt adatok. A legkisebb trolsi egysge az egy binris jel, a bit. Fizikailag legkisebb egysgknt kezelt trolterlet a rekesz (1 byte). Minden rekesz cmmel rendelkezik, amely alapjn a trolhelyet a processzor ki tudja vlasztani, s abban adatot tud elhelyezni vagy kiolvasni. A rekeszek cmet 0-val kezdd, szigoran nvekv sorszmok alkotjk.
ROM s RAM ramkrk tpusai
RAM (rhat s olvashat) - dinamikus RAM (DRAM) alacsony teljestmnyigny, tartalmt rvid id alatt elveszti, ezrt annak tartalmt ciklikusan fel kell jtani. Kis mrete miatt (1 tranzisztor) nagy mret trakat lehet belle kialaktani. - statikus RAM (SRAM) gyors mkdsi sebessg, nem ignyli az lland adatjtst (=bistabil multivibrtor) ROM (csak olvashat) - csak egyszer tlthet fel a gyrts sorn (ROM) - a felhasznl ltal egyszer feltlthet (PROM) - specilis mdon trlhet s programozhat (EPROM) - felhasznl ltal jrarhat (FLASH ROM)
24
Dinamikus RAM bels felptse
tlapolt memriakezels (MEMORY INTERLEAVING)
Memory Interleaving (gyorsts tlapolt memriakezelssel): a memrit egymstl fggetlenl cmezhet s olvashat rszekre, gynevezett memriabankokra osztjuk fel. Felttelezve, hogy a proci ltalban a memrit cmfolyamatosan olvassa, a 0-ik memriabankbl kiolvasott adat hozzfrse alatt az 1. memriabankban lv kvetkez cmen lv adat mr megcmezhet. Ez kiss leegyszerstve azt jelenti, hogy cmfolyamatos olvass esetn az adatok kiolvassa kb. ktszeres.
25
8. Gyorst (cache) trak feladata s mkdsi elve. Cache trak felptse s tpusai. Helyettestsi s adataktualizlsi stratgik.
A cache trak
Az adatok kiolvassakor az adatok nem ugorhatnak t szinteket, gy pldul a httrtrrl beolvasand adatnak t kell haladnia mindazon szinten, ami a CPU-hoz vezet. Mivel azonban a szinteket alkot eszkzk mkdsi sebessgben igen nagy klnbsgek is lehetnek, nem egyenletes az adatramls. Ennek kikszblsre a szintek kz pufferelsi clbl n. cache trak lettek kzbeiktatva. Ezek az adatok s utastsok tmeneti trolsra szolgl, viszonylag kismret (pr 100Kb), gyors mkds (4 ns) trolk, melyek a felhasznl szmra lthatatlanok. Cache trak a CPU s a ftr, illetve a ftr s a httrtrolk kzt tallhatk. A cache az elhelyezkedst tekintve lehet L1 (on chip) vagy L2 (off chip) cache. L1 cache: a CPU-n bell tallhatk, kapacitsa 8-32 Kb. L2 cache: a CPU-n kvl tallhat, kapacitsa 128-512 Kb. 2048 Kb
Cache trak tpusai mkdsk alapjn: Teljesen asszociatv A ftrbl beolvasott blokkok brhova elhelyezhetk, brmelyik sorba kerlhetnek. Hogy melyik sorba kerlnek, a helyettestsi algoritmus feladata eldnteni. Kzvetlen lekpzs A blokk a cache csak egy konkrt sorba kerlhet. A kzvetlen lekpzs cache trolk olcsk s gyors visszakeresst biztostanak. N-utas csoport asszociatv cache Ez a troltpus tulajdonkppen tmenetet kpez a teljesen asszociatv s a kzvetlen lekpzs cache trolk kztt. A trol n sorbl ll rszre, csoportokra van osztva. A troln bell minden egyes csoport viszont teljesen asszociatv trolknt mkdik, ugyanis a csoport brmely sorba bekerlhet a blokk, ezt a helyettestsi algoritmus hatrozza meg.
Cache-trak felptse
Cache-trak tpusai
Cache. Specilis gyorsttrak, amelyek hihetetlen sebessgk miatt kzkedveltek. ltalban olyan informcikat szoks benne trolni, amelyekre a lehet legrvidebb elrsi id alatt szksg lehet. Tpusai: - Csoport asszociatv cache. A teljesen asszociatv- s a kzvetlen lekpezs cache kztti tmenet (ksbb sz lesz mindkettrl). Maga a memria meghatrozott szm 26
sorbl ll csoportokra van osztva, amely csoportok nmagukban gy mkdnek mint 88 a teljesen asszociatv cache trak. A legtbb j tulajdonsgot hordozza, ugyanis rugalmas, kis szm sszehasonlt ramkr szksges hozz s viszonylag gyors. - Kzvetlen lekpezs cache. Egy-egy adatblokk csak meghatrozott helyre kerlhet. A meghatrozsrt egy gynevezett sorindex felels. Betltse kttt a blokkhelyek merevsge miatt, m visszakeresse rendkvl gyors, hiszen a sorindex tmutatst ad a processzornak. - Szelektor lekpezs cache. A csoport asszociatv cache-hez kzelt megolds tr. Ma mr egyre ritkbban hasznljk, ugyanis a processzor az adatcsoport helyt jelli ki asszociatv mdon. - Teljesen asszociatv cache. A beolvasott adatblokk brhov elhelyezhet benne, ennek helyt egy gynevezett helyettestsi algoritmus hatrozza meg. Betltse rugalmas, m visszakeresshez pontosan annyi keresramkrre van szksg, ahny sor tallhat benne (ugyanis a processzor sorrl-sorra haladva keresi az adott informcikat).
Helyettestsi eljrsok: A cache-trak hatkonysgt az biztostja, ha kevsszer kell a tartalmukat cserlni. Erre a legkevsb hasznlt blokkok cserjnek stratgijt alkalmazzk. Ez megvalsthat szmll regiszterek, lptet regiszterek hasznlatval, valamint megelzsi mtrix alapjn.
Aktualizls: a cache-tr tartalmnak mdostsa utn a memriban is aktualizlni kell a tartalmat, hogy a program az aktulis rtkkel dolgozzon. - azonnali trskor a mdostott byte azonnal bersra kerl a memriba. Ha a mdostott byte-hoz tartoz blokk a cache-ben van, ennek tartalma is aktualizldik. - visszarsi, visszamsolsi eljrskor ha az adott byte-hoz tartoz blokk a cache-ben van, a ftrat csak a blokk cserjekor aktualizlja. Ha a blokk nincs a cache-ben, a blokkot beolvass utn aktualizlja.
27
9. A virtulis trkezels fogalma s legfontosabb eljrsai (lapozs s szegmentls, a virtulis cm lekpezse, TLB, lapcsere stratgik).
Az albbi bra a virtulis trkezelst szemllteti. Az opercis rendszer betlt egy lapot a mgneslemezrl, s egy rg nem hasznltat kir a mgneslemezre.
Virtulis trkezels A virtulis trkezels a modern opercis rendszerek elengedhetetlen kpessge. Lnyege abban ll, hogy az opercis rendszer felbontja a megindtott programot lapokra - page. Ez a feloszts a mgneslemezen trtnik meg. Egy lap mrete 4 KB. Az opercis rendszer a lapokat megszmozza, s a lemezen elfoglalt helyket egy laptblzat-ban tartja nyilvn. Az operatv memria jval nagyobb mret, mint egy lap. A program indtsakor betlti az els nhny lapot. Ezek megkezdik mkdsket. Amikor egy mg a mgneslemezen lv lapra van szksg, akkor a mr betlttt lapok kzl a legrgebben hasznlt lapot kimsolja a lemezre, s helybe msolja azt a lapot, melyre a program futshoz szksg van. A lapcserk a lapok kis mrete miatt nagyon gyorsan hajtdnak vgre. A program ltal gyakran hasznlt lapok a memriban maradnak - rezidens rsz.
Lokalits elve: a programok vgrehajtsuk sorn legtbbszr egy korltos memriaterleten bell dolgoznak Gyakorisg elve: egyes programrszek kztt igen nagy eltrsek lehetnek abbl a szempontbl, hogy a programvgrehajts sorn milyen gyakran van rjuk szksg. PL. hibakezel rutinok ritkn hasznlatosak.
Lapozs A programhoz tbb, a trban sztszrtan elhelyezked blokk tartozik, az op. rendszer pedig gondoskodik arrl, hogy futs kzben szksg esetn a vezrls az egyik blokkbl a msikba kerljn. A blokkokat lapoknak, a mdszert pedig lapkezelsnek, vagy lapozsnak nevezzk. Lapozsnl minden blokk mrete azonos, a memriacmek egy lapcmre s egy eltolsra bonthatk. Az opercis rendszer egy laptblt kezel, mely a lapok memriabeli kezdcmeit tartalmazza.
28
Szegmentls Szegmentls esetn a memria blokkok klnbz mretek, gy a program egsz moduljait lehet a memriba tlteni, ami cskkenti a httrtrhoz fordulst. Kln kezelhetjk a program kdot, az adatokat, a verem tartalmt. A szegmensek ftrba val betltse trtnhet: Az els szabad helyre A kvetkez szabad helyre, azaz az utolsnak betlttt szegmenstl vizsgljuk az els szabad helyet A legjobb helyre, ami azt jelenti, hogy kivlasztjuk a szabad trterletek kzl azt, amelyikbe ha betltjk a szegmenst, a lehet legkisebb szabad hely marad. A legrosszabb helyre, aminek clja az, hogy a betltst kveten a szegmens mellett a lehet legnagyobb szabad terlet maradjon.
Szegmentlt virtulis trkezels lapozssal Ebben az esetben a szegmentlson bell alkalmazzk a lapozsos virtulis trkezelst, azaz a virtulis tr szegmensei lapokbl plnek fel.. Ez a fajta virtulis trkezelst hasznljk a Pentium CPU-k vdett zemmdban.
Virtulis cm lekpezse A szg-en aktulisan fut programfolyamatok utastsai a vitulis cmeket, mint logikai cmeket tartalmazzk. Teht a programok a virtulis trat gy ltjk, mintha az a kzponti tr rsze lenne. A virtulis trterlet megcmzse virtulis cmekkel trtnik. A virtulis cmet a virtulis trterlet megfelel blokkjnak sorszmbl illetve egy relatv cmbl kpezzk. A virtulis cmzssel elvileg megcmezhet memriaterletet virtulis cmtartomnynak nevezzk.
Lapozsnl minden folyamat sajt laptblval rendelkezik. Memria hivatkozsnl a cmnek azt a rszt, amely a laptbla rekeszre mutat ki kell cserlni a rekesz tartalmval s kszen ll a hivatkozott cm.
Szegmentlt cmzs esetn a cmszmts legfontosabb eszkze a szegmensler tbla: a tbla cme + a szegmens sorszma megadja a szegmens fizikai cmt, amelyhez a szegmensen belli eltolst hozzadva megkapjuk a hivatkozott memriarekesz cmt. A szegmenstbla tovbbi informcikat is tartalmaz a szegmensekrl: a szegmens a memriban van-e, megvltozott-e, s hasznlatban van-e. Minden folyamatnak nll szegmenstblja van, ami megakadlyozza, hogy egyms cmeire hivatkozzanak. Cmszmtsnl az eltolst sszehasonltjk a szegmens hosszval, ami tovbbi vdelmet nyjt.
TLB
A TLB a leggyakrabban hasznlt lapok lapcmfordtshoz szksges adatait tartalmazza. A lapozs gyorstst szolglja a TLB (Translation Lookaside Buffer) cache, amely a 32 leggyakrabban hasznlt lap adatait (deszkriptort) fogadja be.
29
Lapcsere stratgik Azonban el kell dnteni, hogy a lap a memrin bell hova kerljn bersra. Ennek megvalstsra tbb lapcsere algoritmus ltezik. A lapcserre tbbfle stratgia ltezik: - FIFO azt a lapot kell lecserlni, amelyik a legrgebben van a memriban - Optimlis Azt a lapot kell lecserlni, amelyre a legksbb lesz szksg (elmleti stratgia, szimulcikhoz hasznljk) - Msodik esly a lecserlend lapok kzl azt vlasztjuk, amely az elz lapcsere ta nem mdosult vagy nem hivatkoztak r - az LRU (Least Recently Used) Legrgebben hasznlt A virtulis trkezelsnl ezt alkalmazzk. Az eljrs megvalstshoz nyilvn kell tartani, hogy egy lapot mikor hasznltunk. Teht azt a lapot kell lecserlni, amelyre a legrgebben hivatkozott a folyamat. Ezt a mdszert csak hardver tmogats segtsgvel oldhat meg hatkonyan, megfelel gyorsasggal, mivel a hivatkozs idpontjt is szksges eltrolni. Ez az eljrs kevs laphibt eredmnyez, viszont cserbe igen nagy mrtkben megnveli az adminisztrcis feladatokat. - Mostanban nem hasznlt Az LRU mdszer enyhtett, knnyebben megvalsthat vltozata. Az opercis rendszer, ha a folyamat egy lapra hivatkozik, a laptbla egy bites mezjt igazra lltja. Lapcsere esetn azok kzl a lapok kzl kell vlasztani, amelyek hasznl bitje nulla. Ha egy laphoz mr legalbb egyszer fordultak, a jelzbit llapota igaz. Hogy egy lap ne maradhasson rkre a trban, a lapcsere algoritmus lapcserekor az sszes lap jelzbitjt nullzza
30
10. Az adatrgzts elve a mgneses httrtrolkon. A merevlemez fizikai felptse (szektor, sv, cilinder) s logikai felptse (klaszter, FAT, bootszektor). A merevlemezes egysg teljestmnyjellemzi (elrsi id, adattviteli sebessg).
A szmtgpek megjelense ta tbbfle httrtr tpust fejlesztettek ki. Mindegyik trol clja olyan mennyisg adat trolsa, mely meghaladja az operatv tr mrett, s nem veszti el tartalmt a tpfeszltsg megsznsekor. A jelenleg alkalmazott trolk kzl a legjelentsebbek a mgneslemezes trolk (winchester s floppy lemez).
A merevlemezek ( winchester, Hard Disk Drive - HDD)
A leggyakrabban alkalmazott, leguniverzlisabban hasznlhat httrtrol eszkzk. Segtsgkkel nagy adattviteli sebessg (2-40 Mbit/s) rthet el, igen nagy kapacitsak (1-400 GB) s viszonylag olcsk. A mgneslemezes trolk esetn az informci hordozja egy nem mgnesezhet alapanyagon lv vkony, mgnesezhet rteg, illetve annak mgnesezettsgi irnya s szintje. Kzs tulajdonsguk, hogy mgnesezhet rteggel bortott, 1,5-5,25 coll tmrj korongokbl llnak melyet a meghajt 5400-7200 fordulat/perc sebessggel forgat.
A lemezen, a koncentrikus krk, a svok (track) mentn trolt adatokat sugrirnyban mozgathat olvas/r fejek olvassk, illetve rgztik. Az lland forgs miatt a fejek nem rnek hozz a lemezekhez, hanem a keletkez lgprna miatt pr mikron tvolsgra vannak azok fellettl (ezek a repl fejek). Legtbbszr egy tengelyen tbb lemez is tallhat.
Az egyms alatt elhelyezked svokat egyttesen cilindernek nevezzk (hajlkonylemeznl kett, a merevlemeznl 8-10 vagy tbb),. A lemezeket teljesen zrt doboz vdi a legaprbb szennyezdsektl is.
A svokon kvl egy-egy lemezoldal mint egy torta szeletei szektorokra is oszlik. A szektorok logikai felptse kt rszre tagolja azt: a fej- s adatrszre. A fejrsz az azonostshoz szksges informcikat, valamint a szinkronizlshoz szksges jeleket trolja. Az adatrsz magt a troland adatsort, valamint a megbzhatsg nvelse rdekben az n. ellenrz sszeget foglalja magban. A szektor egyes rszeit, valamint a szektorokat res rszek vlasztjk el egymstl.
31
A svok s szektorok metszspontjnl kialakul vekben, a blokkok jelentik a legkisebb tvihet adatmennyisget. A blokkok tipikus mrete: 0,5- 64 KB. A szektorok s blokkok elksztse, ellenrzse szoftver ton, a formzs sorn trtnik. A blokkok cmzshez hrom adatra van szksg: lemezoldal, sv, szektor sorszmok. Egy blokk tvitelhez szksges idt hrom tnyez befolysolja: fejmozgsi id (seek time): kb.10ms, a fej elri a kvnt svot; elfordulsi id (latency time): kb. 10ms, a kivlasztott szektor fej al kerlsnek ideje; adattviteli sebessg (transfer time) a blokk adatainak tvitelhez szksges id; Minden merevlemez egy fizikai partcibl ll, mely mrete azonos a lemez teljes terletvel. Ezt a terletet tbb logikai rszre, partcira lehet osztani. Ktfle logikai partcit klnbztetnk meg: elsdleges s msodlagos partci. Az opercis rendszerek esetn a DOS s a Win95 csak az elsdleges partcirl kpes elindulni, valamint csupn ngy elsdleges partci kezelsre kpesek. A partcikkal kapcsolatos informcikat a merevlemezen el kell trolni, hogy azokat az opercis rendszer kpes legyen felismerni s kezelni. Erre a clra szolgl a merevlemez partcis tblja, mely a lemez legkls svja. A partcis tbla mindig a 0. szm logikai szektor, a 0. svon a 0. fejjel elrhet 1. fizikai sorszm szektor. A merevlemezes egysgeknek tbbfle vltozatt hasznljk, gy pl. a beptett, cserlhet s hordozhat lemezek hasznlatosak. Ezek kapacitsa napjainkra fokozatosan nvekszik (tbb GB), mg a mret cskken.
Betlt szektor (boot sector) A lemez partcionlsrl szl informcik a lemez els szektorban (azaz az els lemezfellet els svjnak els szektorban) troldnak. Ez a legels szektor a lemez master boot record-ja (MBR); ezt a szektort olvassa be a BIOS s indtja el tartalmt, amikor a szmtgp elindul. Az MBR egy kis programot tartalmaz, mely beolvassa a partcis tblt, ellenrzi, melyik partci az aktv (azaz boot- olhat), s beolvassa annak az els szektort, amit boot szektornak neveznk. Ez a boot szektor egy msik kis programot tartalmaz, mely beolvassa az opercis rendszer els rszeit az adott partcirl (ha boot-olhat), s elindtja azt. A MBR-bl csak egy van minden merevlemezen, mg a Boot Record megtallhat minden egyes partci legelejn. Ha van hrom partcink, akkor van egy MBR s hrom BR. Amennyiben a kettes partci az aktv akkor a MBR a kettes partci BR-t indtja el.
Klaszter A logikai lemezkezels alapegysge a tbb szektorbl ll szektorcsoport, a klaszter (angolul cluster). A fjlok a lemezen klaszterekre vannak osztva, gy az opercis rendszer rni s olvasni a merevlemezt csak klaszterenknt tudja. Egy klaszterben tallhat szektoroknak a szma a lemez kapacitstl fgg, de mindig 2-nek valamelyik hatvnya.
FAT (File Allocation Table) A lemezek llomnykezelsi tblzata szolgl arra, hogy az opercis rendszer nyilvntartsa, s nyomon kvesse azt, hogy a lemez mely szektorai szabadok, vagy foglaltak. A foglaltsg nyilvntartsa nem szektoronknt trtnik, hanem nagyobb egysgenknt, klaszterenknt (cluster) A FAT a klnbz file rszek pontos helyt lncolt formban trolja: a tblzatnak ugyanannyi eleme van, mint ahny blokk a lemezen s minden rekesz tartalma a file kvetkez blokkjra mutat sorszm, amennyiben van. Ha nincs kvetkez blokk, akkor ennek rtke nulla. A FAT mrete igen nagy lehet, s szerepe dnt. Mivel srn kell hasznlni, ezrt folyamatosan a memriban kell tartani, ami szksebb mint a httrtr. A FAT srlse esetn a kett szakadt file- okat visszalltsa szinte lehetetlen, ezrt a lncolsi mdszert alkalmaz opercis rendszerek (DOS, Windows) a biztonsg kedvrt kt ilyen tblzatot tartanak fenn. Amikor egy program file rst vagy olvasst kri, az opercis rendszer a kontroller segtsgvel a FAT fl mozgatja az r/olvas fejeket. A rendszer innen llaptja meg, hogy a keresett file hol kezddik, illetve adat bers esetn azt, hogy hol tallhat az els res hely a ltrehozand llomny szmra.
32
Hajlkonylemez
Kiskapacits, kzepes elrsi sebessg eszkz, amelynek azonban nagy elnye, hogy a meghajtval ( az r/olvas fejjel) nincs egybeptve, ezrt knnyen cserlhet s szllthat. Szlltsnl vigyzni kell, hogy mgneses mez kzelbe ne kerljn, mert akkor elveszti az informci tartalmt (pl. bekapcsolt mobiltelefon, villamos). Kezdetben az 5,25 collos lemezeket hasznltak, manapsg mr csak elvtve tallkozhatunk ezzel a tpussal. Jelenleg a 3,5 collos lemezek vannak inkbb forgalomban. Megjelent egy j generci is, az LS-120-as elnevezs hajlkony lemez. Klsre egy 3,5 collos lemezhez hasonlt, azonban a meghajt az r/olvas fejet sokkal pontosabban tudja pozcionlni, ezzel cskkent a svok szlessge s a kzttk lv tvolsg, vagyis egy svban tbb adatot lehet trolni. A meghajtja kpes 720 Kbyte-os, illetve 1,44 Mbyte-os lemezek olvassra. Hagyomnyos hajlkonylemezek egyik fajtja mg a Zip-lemez. Trolkapacitsa 25-100 Mbyte kztt van. A Zip-meghajtt prhuzamos portra lehet csatlakoztatni. A trkapacitst s a mreteket a kvektez tblzat foglalja ssze (az els oszlopban a dobozokon olvashat jellsek tallhatk):
Magyarul 3,5 collos 5,25 collos Single Density (SD) Egyoldalas nincs 100-200 Kbyte Double Density (DD) Dupla oldalas 720 Kbyte 360 Kbyte High Density (HD) Magas felbonts 1,44 MByte 1,2 MByte Laser Servo (LS-120) Lzeres felbonts 120 MByte Nincs
A tblzatbl is kiderl, hogy kisebb kapacitsnak is ksznheti elt nst az 5,25 collos (un. nagy lemez). Ezeket a lemezeket rsvdett a kvekezflekppen lehet tenni: 5,25 collos: a nylst kell leragasztani 3,5 collos: a lemez bal als sarkban lv ablakot kell nyitott tenni Mskpp: Az adatok trolsra a vkony manyag hordozra felvitt mgnesezhet rteg szolgl, melyet merev tokban helyeznek el. Az adatok a lemez felletn lev koncentrikus krk, svok (track) mentn helyezkednek el. A svok szektorokra vannak felosztva. A szektorok s svok metszspontjban alakul ki a blokk, a tipikus blokkmret 512 KB. A meghajtba helyezett lemezt a berendezs 360 fordulat/perc fordulatszmmal forgatja, s az olvasfej a lemez fellethez hozzrve rja/olvassa a trolt adatokat. A lemez behelyezsnek pillanatban a hardver rzkeli azt, s egy-kt fordulat segtsgvel felmri annak llapott. A folyamatos forgats csak akkor indul be, ha a felhasznl az adott meghajtt hasznlni kvnja. Emiatt ez a lemezfajta elgg lass (max 500 kbit/s). A lemez tartalma a fellrstl mechanikusan vdhet (eltolhat manyag retesz). Ktfajta mretben kszl, 5,25 , s 3,5 Kapacitsa: max 1.44 Mbjt
33
A merevlemezes egysg teljestmnyjellemzi (elrsi id, adattviteli sebessg) A merevlemez jellemz adatai: - kapacitsa 4-150 Gbjt; - forgsi sebessge 5400, 7200, 10 000, 14 000 fordulat percenknt; - lemeztmrje 5-30 cm; - hozzfrsi ideje (napjainkban) 4-8 msec. A mgneslemez hozzfrsi ideje (Disk Access Time) alatt egy adatblokk kiolvassnak idejt rtjk. Ez nyilvnvalan csak tlagrtkknt rtelmezhet, mivel ez nagyon fgg az olvasfejnek a kiolvass megkezdse eltti helyzettl, amint a kvetkez kpletbl is kiderl: Hozzfrsi id = Pozicionlsi id tlaga + Forgsi id + Adattviteli id + Vezrlsi id.
34
11. A megszaktsi rendszer (megszaktsok tpusai, a megszakts kiszolglsa, vektortblzat) s alkalmazsai. A megszakts-vezrl feladatai.
Megszaktsok A szmtgpek munkjnak sszehangolsban segt a gpek megszaktsi rendszere. Igen gyakran keletkeznek olyan esemnyek amelyek a feldolgozs szempontjbl vratlanok. Ezeket az esemnyeket is kezelni kell, gy, hogy a feldolgozs egszt a legkevsb zavarja. Kivltjuk lehet: - a szoftver - valamilyen futs kzbeni hibval (oszts nullval, tlcsorduls stb.). Ezek szinkron esemnyek, kezelsre a processzor egy kiszolgl rutint indt el - vagy a hardver - pl. valamelyik perifria kezdemnyezi adattvitel lebonyoltsnak idejre. Ezek aszinkron esemnyek.
Esemny csoportostsa keletkezs szerint: - szinkron (vrhat) esemnyek - meghatrozhat helyen, idpontokban ugyan ott keletkeznek pl. adatbeolvass, kirs. - aszinkron vrhat esemnyek - program futsa sorn vrhat, de idpontjuk szempontjbl ismeretlen, vratlan esemnyek pl. DMA adattvitel. - aszinkron vratlan esemnyek - idpontjuk ismeretlen. Pldul: ramkimarads, hardverhiba.
Az ilyen esemnyek kezelsre szolgl a megszaktsi rendszer. A megszaktsi krelem egy jelzs a processzornak valamely esemny bekvetkeztrl. A megszakts a fut folyamat felfggesztse a megszakts krelem hatsra, annak kirtkelsre, kiszolglsra. A kiszolglsra egy hardver- szoftver egyttes szolgl, amely egyttesen vgzi el a szksges tevkenysgeket. Ez a megszakts krelem kiszolglsa.
Maszkols Egyes eszkzk esetben a megszakts lehetsge engedlyezhet vagy tilthat. Az engedlyezs vagy tilts egy regiszter bitjeinek a belltsval trtnik. Ezt nevezzk maszkolsnak. Vannak maszkolhat (kiszolglsuk letilthat) s nem maszkolhat (nem tilthat le, ezek mindig rvnyre jutnak) megszaktsok. (NMI - Non Maskable Interrupt - nem maszkolhat megszakts) Kt forrsa lehet a megszaktsi krelemnek: - szoftver: a megszakts krelmek programbl lettek kezdemnyezve, ezek nem maszkolhatak - hardver: a megszakts krelmek tbbsge maszkolhat, de vannak nem maszkolhatak is, pldul valamilyen slyos hardverhiba esetn
A megszaktsok kiszolglsnl tbb krds van, amit meg kell oldani: - keletkezsi hely megllaptsa, melyik eszkz kezdemnyezte - megszakts lehetsgek szablyozsa, megszaktsok maszkolsok - tbb egyidben trtn megszaktsi krelem prioritsnak a szablyozsa - a tbbszrs megszakts-kiszolgls megoldsa, az idkzben rkez jabb krelmek kezelse
A megszaktsi krelem keletkezsi helynek megllaptsra kt f rendszer alkalmazhat: -Szoftver mdszerek: egy rutin sorra megvizsglja a megszakts krelem szempontjbl szba jhet eszkzk llapotjelzjt, s ahol szksg, ott elindtja a megfelel kiszolgl programot. Ezt nevezik lekrdezses megszaktsnak. polling -Hardver mdszerek: egy megszakts-vezrl szablyozza - programmal vagy anlkl- a berkez krelmek kiszolglst.
A mikroszmtgpek megszakts rendszerei, vezrli egy vagy tbb megszakts vezetkkel rendelkeznek. Egy megszakts vonal esetn a keletkezsi hely meghatrozsa trtnhet szoftver ton, lekrdezses mdszerrel. A hardver ton trtn meghatrozs sorosan trtnik. 35
Tbb megszakts vonal esetn minden eszkz sajt megszaktst kr vezetkkel rendelkezik, ezzel a krelem helye egyrtelmen megllapthat. Vektoros mdszer alkalmazsa a legltalnosabban hasznlt forma. A megszaktst kr eszkz a kiszolgl rutin kezdcmt hatrozza meg az albbi mdok valamelyikvel: -a megszaktst kr eszkz egy sorszmot ad t a processzornak, amely a kiszolgl rutinok kezdcmeit tartalmaz tblzatban kijelli a megfelel kiszolgl rutin kezdcmt. Ez a mdszer a vektoros megszakts kiszolgls a legelterjedtebb mdszer. A rutinok kezdcmeit tartalmaz tblzatot megszaktsi vektortblnak nevezzk. A megszaktsi vektortbla a memriban a 00000h - s cmen kezdden van trolva, teht a memria kezdetn. - ugyanaz az eljrs mint az elz esetben, annyi klnbsggel, hogy a vektortblt a processzor trolja. Ez az autovektoros eljrs.
A megszaktsi rendszer lehet egyszint vagy tbbszint:
-Az egyszint megszakts rendszerben nincs lehetsg a kiszolgl rutin megszaktsra egy jabb megszakts ltal, -tbbszint megszakts rendszerekben a megszaktst kiszolgl rutin is megszakthat, de csak bizonyos szablyok betartsval: - A kiszolgl rutin a vele egyez, vagy nla alacsonyabb priorits krelmeket letiltja - A kiszolgl rutin a folyamat kezdetekor ideiglenesen alacsonyabb prioritsi szintre sorolja magt - A kiszolgl rutin ideiglenesen j prioritsokat rendel az egyes eszkzkhz, s gy a kiszolgls alatt ms prioritsi rend rvnyesl
Az INTEL processzorok alaphelyzetben ktszint megszaktsi rendszerrel rendelkeznek: egy maszkolhat (INT) s nem maszkolhat (NMI) megszaktsi vonallal. Mivel ez a kt megszaktsi lehetsg a gyakorlati felhasznlsban nem elegend, ezrt kln megszakts-vezrlt hasznlnak amely 8 (illetve 2 darab vezrl esetn 16) megszaktsi krelmet tud feldolgozni. A megszakts bemenetek sorrendje egyttal prioritsi sorrendet is jelent. A processzorok vals zemmdban a vektortbla, mg vdett zemmdban a megszaktsi rutinok deszkriptorait tartalmaz megszaktsi deszkriptor tbla (IDT) alapjn dolgozzk fel a megszaktsi krelmet.
A megszaktsok tpusai priorits szerint: NMI nem maszkolhat megszakts: nem tilthat le, kritikus esemnyt jelez - kivtel IRQ interrupt request: letilthat hardver megszakts, kls eszkzk kezdemnyezik (8-16 db) INT szoftver megszakts: a programban kiadott INT sorszm utastssal a megszaktst kiszolgl rutinra ugorhatunk (amit a hardver egysg hv IRQ-val) (256 db)
36
12. Az I/O adattvitel tpusai. A kzvetlen memria-hozzfrs (DMA) lnyege s vgrehajtsa. A DMA-vezrl regiszterei s mkdse.
Az I/O adattvitel tpusai Az tvitel fizikailag trtnhet bitenknt, ilyenkor soros adattvitelrl (szimplex,flduplex, full-duplex) beszlnk, ill. egyszerre tbb vezetken tbb bit tovbbtsval, ezt nevezzk prhuzamos adattvitelnek. Tovbb az tvitel trtnhet: - szinkron mdon, rajellel temezve, - aszinkron mdon pl. handshake-eljrssal.
Prhuzamos adattvitel (PIO Paralel Input Output)
A prhuzamos adattvitelnek elnye, hogy gyorsabb a sorosnl, de mivel drgbb, jobbra csak a szmtgp kzelben elhelyezhet perifrik csatlakoztatsra hasznlatos (printer) illetve kszlkek belsejben elhelyezked rszegysgek, lemezmeghajtk sszekapcsolsra hasznljk. Termszetesen kln vezetk(ek) (ahny bit annyi vezetk)szksgesek a AD-VEV szinkronizmus megvalstsra is. Ilyen megoldssal mkdnek a szmtgpek adat-, vezrl- s cmbuszai, vagy perifrik esetn a nyomtat, szkenner.4-6 m
A mikroszmtgpes rendszerekben a legnagyobb szmban a prhuzamos adattvitel lehet - megszaktsos, - kzvetlen trol hozzfrses (DMA) - valamint a programozott I/O tvitel (nagygpes rendszerek esetben nll I/O processzor vezrli)
Soros adattvitel (SIO Serial Input Output)
Soros tvitel esetn az informcis biteket egyenknt, sorban egyms utn visszk t. Ezrt egy kdolt bitcsoport tviteli ideje a prhuzamos tvitelhez kpest megn, de szmos elnyt rejt ez a kialakts: szls esetben elegend egy vezetkpr az sszekttets fizikai megvalstshoz, ami jelents kltsgcskkent tnyez. Az informci tvitel sebessge lassabb, de ha nveljk az adattvitel sebessgt (napjainkban folyamatosan ez trtnik) akkor ez a lasssg nem igazn korltoz tnyez. Manapsg egyre nagyobb sebessg soros adattvitel megvalstsra nylt lehetsg (USB 11Mb/s, USB 2.0 450Mb/s , IEEE 1394 port)). A soros adattvitelt alkalmazzk tvadat-feldolgozs sorn a szg. hlzatokban. 50-100 m Mivel a szmtgpen bell az adattovbbts prhuzamos formban trtnik, ezrt a soros adattvitelhez elbb szksg van egy prhuzamos-soros, illetve ilyen jelek fogadsakor, egy visszaalakt soros-prhuzamos talaktsra.
A nagyobb tvolsgra trtn adattovbbtshoz, a telefonvonalakat lehet ignybe venni, amelyek hasznlathoz a jeleket r kell ltetni egy hangfrekvencis hordozjelre. Az erre a clra szolgl eszkz a modem. A kt, modemen keresztl sszekttt, berendezs egymssal flduplex, illetve duplex zemmdban tud kapcsolatot tartani. A flduplex zemmdnl az adattovbbts mindkt irnyban lehetsges, de felvltva (advev pl.). A teljes duplex lehetsges, de egyidben mindkt irnyban lehet adatokat tovbbtani.
A soros adattvitel lehet aszinkron s szinkron temezs. Szinkron tvitel: Szinkron adattvitelnl, az egymst kvet jelek temezetten, rajellel vezrelve, szinkronizltan kvetik egymst. Az adatok tvitele blokkos formban trtnik, amelyet kiegsztenek 37
mg szinkronizl bitekkel is. Az egyes adatokhoz tartoz jelek csak egy meghatrozott alapidtartam egsz szm tbbszrsei lehetnek (rajel miatt). Aszinkron tvitel: Az aszinkron temezs adattvitelnl, a karakterek temezs nlkl kvetik egymst, az tvitt bitek mennyisge vltoz is lehet. A start/stop bitek miatt a jelsorozat elgg redundns, teht informcitartalom szempontjbl felesleges jeleket is tartalmaz, ugyanakkor a vev oldalon nincs szinkronizlva a vtel s emiatt nagyobb sebessg tvitel nem biztonsgos. Az aszinkron tvitelnl nem szksgkppen van folyamatos kapcsolat az ad s a vev kztt, ezek szinkronban csak az adattvitel ideje alatt vannak. 110, 300, 1200, 2400, 9600, 19200 (bit/s
sszehasonltva: A szinkron tvitelnl a redundancia alacsonyabb, de a kapcsold hardver bonyolultabb. Az alkalmazhat sebessg magasabb, mint az aszinkron tviteleknl.
A kzvetlen memria-hozzfrs (DMA) lnyege s vgrehajtsa
Az n. DMA vezrl segtsgvel a processzort kikerlve, kzvetlen adattvitel lehetsges a memria s a perifria kztt. Ezt nevezik kzvetlen memria hozzfrsnek Ennek egyrszt az az elnye, hogy mivel az adattvitelt egy specilisan erre a clra kialaktott hardver vgzi, az tbbnyire gyorsabb, mintha a CPU vgezn (nem kell kzben a memribl utastsokat olvasni s nem kell az adatot a CPU-n keresztl ramoltatni. Msrszt, a DMA-s kezels tehermentesti a processzort (egyszerbb lesz program) A DMA-s kezelst leginkbb nagy sebessg, blokkos adattvitelt ignyl perifriknl alkalmazzk (floppy disk, winchester). MEMRIA PERIFRIA adat DMA-s perif ria kezels MEMRIA PERIFRIA CPU Programozott adattvitel adat adat a.) b.) DMC
Az adat tja DMA-s s programozott kezels esetn Az tvitel lebonyoltst az n. DMA vezrl (DMC, DMA Controller) vgzi. Ez egy specilis perifria, amely felprogramozsa utn busz master funkcit kpes elltni (tvenni a CPU-tl). A DMA vezrl fknt a perifria s a memria kztti tvitel CPU-nl gyorsabb elvgzsre ksztett specilis hardver elem.
A DMA-vezrl regiszterei s mkdse
- Cmregiszter: mindig az tvitelben szerepl memriarekesz cmt tartalmazza, rtke az tvitel sorn automatikusan n. - Szmll regiszter: az tvitel elejn az tviend szavak szmt tartalmazza, rtke az vitel sorn automatikusan cskken. - llapotregiszter (parancsregiszter): tartalma az tvitel mdjt s irnyt hatrozza meg.
38
13. A sn (busz) feladata, logikai felptse, tpusai. Snvezrls (szinkron, aszinkron). Master s slave eszkzk. Buszarbitrci (soros s prhuzamos snfoglals).
A mikroszmtgp snrendszere (buszrendszere) egy tbb tucat vezetkbl ll vezetkrendszer, amelyen az adatok, vezrljelek, eszkzcmek meghatrozott mdon vihetk t. A snrendszer szablyozott mdon kti ssze a szmtgp klnbz rszeit. Mivel minden eszkz ugyanarra a snrendszerre kapcsoldik, az tvitel ltrehozsakor: - meg kell oldani az adattvitelben rsztvev eszkzk kijellst, - meg kell hatrozni az adattvitel irnyt, - meg kell oldani a kapcsolatban rsztvev eszkzk mkdsnek sszehangolst. A snrendszer hasznlatnak elnye, hogy a szabvnyostott jelhasznlat s vezetkkioszts miatt knnyen cserlhetk a csatlakoztatott eszkzk, illetve azok vezrl krtyi s gy gyrttl, gptl fggetlenn vlik azok hasznlata.
A snrendszer elhelyezkedse szerint kt nagy csoportba oszthat: Bels snrendszer: a processzoron belli egysgek sszektsre szolgl, rajele megegyezik a CPU rajelvel Kls snrendszer: a processzor s az azon kvl lv egysgek sszektsre szolgl
Bels snrendszer Kialaktst az elrni kvnt teljestmny szabja meg. Nagyobb teljestmny processzorok esetben, az tvitel gyorstsa rdekben, 3-sines rendszer kialaktsa a clszer, amelynl a cmsn mellett, kln adatsn van rsra s olvassra. Ezzel a kzel egyidej rs s olvass megoldhat. Egyszerbb megoldst ad a 2-sines (adat s cmsn) rendszer, amely ltalnosan elterjedt megolds a processzorok krben. A kzs adat s cmsn hasznlata csak a nagyon egyszer, clfeladatokra hasznlt processzoroknl alkalmazott.
Kls snrendszer
1. sszekapcsolt terletek alapjn lehet: - helyi sn (local bus), amely a processzorhoz kzvetlenl kapcsold rszt jelenti, teht a processzor hajtja meg. Erre kapcsoldnak azok az eszkzk (pl. memria, grafikus krtya), amelyek esetben a gyorsasg lnyeges; - rendszersn (system bus), amely a processzort kti ssze egy snmeghajt kzbeiktatsval a gp egyb rszeivel, elssorban az I/O eszkzkkel; - memriasn (memory bus), amely nem minden esetben kpez nll rszt, de nagyobb rendszernl clszer levlasztani a rendszersnrl a memria terlett.
2. A snrendszer felptse szerint (tartalmilag) hrom rszre oszthat: - cmsn, amely az eszkzk cmzst szolglja, azok cmt tovbbtja rajta a processzor, szlessge 32 (esetleg 64) bitnek megfelelen ugyanennyi vezetk; - adatsn, amelyen keresztl a tovbbtand adatot kldi, vagy fogadja a processzor. Az adatsn szlessge tbbnyire 32 (vagy 64) bit, illetve ugyanennyi vezetk; - vezrlsn, amelynek vezetkeit a processzor a vezrljelek kikldsre, vagy azok fogadsra hasznlja fel. A vezrljelek szma vltoz, ltalban 10-15 krl van minimlisan. - elvlaszt snvezrl: A snrendszerhez szorosan hozztartozik a helyi snt a rendszersntl elvlaszt snvezrl (snmeghajt) egysg (bus interface), amely szablyozza a snfoglalsokat.
Snvezrls (buszvezrls) mdjai: - szinkron temezs buszok, amelyek sajt rajellel rendelkeznek s ezek temei szabjk meg a buszon zajl folyamatok, mveletek idbeli lefutst; - aszinkron temezs buszok, amelyek sajt rajellel nem rendelkeznek s a folyamatok s mveletek lefutst, az egymst kvet elemi lpsek befejezse szablyozza.
39
Master s slave eszkzk Snhasznlat (buszhasznlat): A snt egyidben csak egy eszkzpr hasznlhatja. A busz hasznlatt valamelyik eszkz kezdemnyezi, amelyet aktv eszkznek (master) neveznek, szemben a kapcsolatban rsztvev msik, passzv eszkzzel (slave), amely csak fogadja s vgrehajtja az aktv eszkztl szrmaz vezrlseket. A mikroszmtgpeknl a busz irnytst megszerz eszkz: - a processzor, vagy - valamelyik DMA-t alkalmaz I/O eszkz lehet. Minden busztevkenysghez meghatrozott idtartam, temszm szksges. Azt az idtartamot, amely egy adattviteli folyamat lefutshoz - egy kvetkez tevkenysg megindtsi lehetsgig - kell, buszciklusnak (bus cycle) nevezzk
Buszarbitci: Snfoglals (buszfoglals - bus arbitration): Az adattvitelek lebonyoltshoz egyidben tbb aktv eszkz (master) is ignyelheti a busz hasznlatt. Ilyenkor valamilyen eljrssal el kell dnteni, hogy melyik eszkz kapja meg elszr a buszhasznlat jogt. A buszhasznlat jognak eldntsre szolgl folyamatot nevezik buszfoglalsnak, busz arbitrcinak (bus arbitration). A snfoglals irnti ignyek kiszolglsa kt mdon trtnhet: -prhuzamos kiszolglsi md (prioritsos): alkalmazsakor minden eszkz nll buszkr s buszengedlyez vezetkkel rendelkezik. A berkez ignyeket a vezrl logika sorolja, dekdolja s a legmagasabb priorits eszkz szmra engedlyezi a busz hasznlatt. -soros kiszolglsi md (lnc): alkalmazsakor az eszkzk sorba vannak ktve s a lnc mentn az elhelyezkedsk szabja meg, hogy mikor kaphatjk meg a sn hasznlatt. Amelyik eszkz a legkzelebb van a vezrlhz, annak a prioritsa a legmagasabb.
Mindkt esetben a jogosultsg megllaptsa trtnhet: - centralizlt mdon, amely esetben egy kzponti prioritsvezrl logika szabja meg a hozzfrs sorrendjt - decentralizlt mdon, amely esetben a priorizl logika elosztott formban valsul meg, az egyes eszkzk vezrli ltal
40
14. Az I/O eszkzvezrlk, interfszek feladata, regiszterei, cmzse. Soros s prhuzamos port s adattvitel. Az ad s vev szinkronizlsa.
Az I/O eszkzvezrlk, interfszek feladata, regiszterei, cmzse
Eszkzvezrlk A nagyobb teljestmny processzorokat alkalmaz Pentium gpcsald megjelense, a grafikus felhasznli fellet hasznlatnak ltalnoss vlsa jelentsen megnvelte az I/O buszrendszer adattviteli teljestmnyvel kapcsolatos ignyeket. Lnyeges kvetelmnny vlt, hogy a snrendszer "intelligens" legyen, azaz pldul meghatrozott felttelek mellett a processzortl relatve fggetlenl is kpes legyen mkdni.
A mai s az 1990-es vek PC-iben I/O buszrendszerknt a PCI (Peripherial Component Interconnect, azaz a perifrikat sszekt) snt hasznljk. A PCI busz alapkoncepcija az I/O egysgek szabvnyos csatlakoztatst biztost snrendszer (I/O sn) s a processzor-trol alrendszer (rendszersn) hatrozott sztvlasztsa volt. A kt buszrendszert az alaplapi vezrlramkr-kszletben tallhat PCI-Bridge (PCI-hd) ramkrk kapcsoljk ssze. A PCI buszhoz kapcsolt eszkzket PCI-egysgeknek (PCI-Agent) nevezik, ezekbl maximum 10 db lehet. Ilyen PCI-egysg lehet a SCSI adapter, a hlzati csatol (pldul Ethernet), vagy egy monitorvezrl krtya.
Fizikai megvalstsukat tekintve a PCI-egysgek lehetnek az alaplapra integrltak vagy a PCI sn slotjaiba illeszthet PCI-krtyk.
Az I/O eszkzk s a processzor kapcsolatt az eszkzvezrlkben tallhat regiszterek biztostjk. Minden egyes eszkzvezrl funkcionlisan legalbb a kvetkez tpus tmeneti trolkat tartalmazza: - parancs (command) regiszter, mely az eszkzvezrl ltal vgrehajtand mveletekhez szksges informcikat trolja. - llapot (status) regiszter, melyben az eszkzvezrl az I/O eszkz aktulis llapotra vonatkoz informcikat trolja (pl. egy merevlemezre egy blokk kirsa megkezddtt, vagy a nyomtatbl kifogyott a papr) - az adatkirs illetve beolvass pufferregiszterei, melyek a folyamatban lv I/O mveletek adatait troljk.
A processzor az eszkzvezrlket alapveten kt mdon irnytja (cmezheti): - kzvetlen I/O utastsokkal (mitn az llapotregiszter lekrdezsvel megllaptotta, hogy az eszkz az utasts vgrehajtsra kpes llapotban van), a parancsregiszter belltsval s a pufferregiszterek rsval vagy olvassval. - kzvetett mdon, amikor a cmzs gy trtnik, mintha az I/O eszkz trolja a ftr rsze lenne (memory mapped addressing, ilyen pl. a grafikus memria).
Interfsz: Az interfsz kt funkcionlis egysg sszekapcsolhatsgt s egyttmkdst biztost elrsok sszessge. A szmtgp s a perifrik kzti informcitvitel cljbl biztostani kell az egyes egysgek illesztst s a rendszer sszehangolt mkdst. Ezrt a szmtgp a hardver eszkzkhz vezrl s illeszt (interfsz) ramkrkn keresztl csatlakozik.
A port (illeszt) A port olyan interface, mely a perifrilis eszkzkkel tartja a kapcsolatot, biztostja a szabvnyos csatlakozst a CPU s a perifrilis egysgek kztt a rendszersn kzbeiktatsval. Az adattvitel ktfle lehet: soros s prhuzamos.
41
Soros port mkdse: A soros (serial) port az egyik legrgebbi, ltalnos cl kommunikcis port. Az interfszt az RS-232C szabvny jelli, tipikusan az egr s a modem csatlakozik r. Az adatbitek a vezetken egyms utn kerlnek tkldsre. Egy vezetken egyirny tvitel valsthat meg, kb. 30-100 m-ig hasznlhat. A PC 4 db soros illesztt tmogat (COM 1-4). Az adattvitel szinkron vagy aszinkron mdon trtnhet. Szinkron tvitel: Szinkron adattvitelnl, az egymst kvet jelek temezetten, rajellel vezrelve, szinkronizltan kvetik egymst. Az adatok tvitele blokkos formban trtnik, amelyet kiegsztenek mg szinkronizl bitekkel is. Aszinkron tvitel: Az aszinkron temezs adattvitelnl, a karakterek temezs nlkl kvetik egymst, az tvitt bitek mennyisge vltoz is lehet. A start/stop bitekkel eltott jelsorozatot adatkeretnek nevezzk. Elgg redundns, teht informcitartalom szempontjbl felesleges jeleket is tartalmaz Az USB (Universal Serial Bus) egy jonnan kifejlesztett nagy sebessg csatlakozsi port, melyet a soros s prhuzamos portok kivltsra szntak. Egy USB soros csatlakozsi rendszer porton keresztl maximum 127 kls perifria csatlakoztathat. Napjainkban a nyomtatk s szkennerek tbbsge rendelkezik ilyen csatlakoztatsi lehetsggel is. Az USB szabvny tovbbfejlesztseknt megjelent a nagyobb tviteli sebessget biztost USB 2.0. csatlakoztatsa Mivel az USB tpramot is szolgltat a snkbelen keresztl, a kis teljestmny (100 mA alatti) berendezsekhez nem kell tpkbel s hlzati adapter. Napjainkban az IEEE 1394 szabvny soros kommunikcis port - melynek legismertebb vltozata az Apple FireWire mrkanev termke - az egyik legnagyobb adattviteli sebessget biztost eszkz. Egy IEEE 1394 portra maximum 63 kls eszkz csatlakozhat. Egyik jellemz alkalmazsi terlete a multimdis eszkzk, pldul digitlis videokamerk szmtgphez trtn
Prhuzamos port mkdse: A prhuzamos interfsz prhuzamos mkds. ltalban a nyomtat csatlakoztatst oldja meg, br lehet akr scanner is a csatlakoz eszkz, esetleg kt PC kzvetlen kapcsolatt valsthatjuk meg. (a vezetk nem haladhatja meg az 5 mtert) Az adattvitel hromfle lehet: Csak elre irny Csak vissza irny ktirny A PC 4 prhuzamos port ltt tmogatja (LPT 1-4). Az LPT 1 port neve PRN. SPP (SErial Parallel Port) szabvnyos prhuzamos port, ltalban egy irny EPP (Enhanced Parallel Port) bvtett prhuzamos port ECP (Extended Capability Port) kiterjesztett kpessg port (DMA hasznlatra van szksg)
Az ad s vev szinkronizlsa
Az tvitt bitsorozatot hasznljuk fel az ad s vev rajelnek sszehangolshoz, szinkronba hozshoz. Ez azt jelenti, hogy elrunk egy specilis bitsorozatot , amit szinkronizl jelnek neveznk, aminek feladata az ad s vev mkdsnek szinkronizlsa, az rajelkpzs idbeli sszehangolsa. Szablyrendszer: a szinkronizl bitmintnak mindig meg kell elznie az rdemi adatbiteket.
Mskpp: Annak a pillanatnak a megjellsre, amelyikben a vevkszlknek rtelmeznie kell az adatot, rajelet hasznlunk. Az rajel le-, vagy felfut lt hasznlhatjuk az idpont jelzsre. Egy soros adatot az ad egysgnek azeltt kell ltrehoznia, mieltt a vevnek rtelmeznie kell. Ez az oka annak, hogy az adoldali, s a vevoldali rajelfrekvencia azonos, viszont fzisban klnbz, mivel az adatjel llapotvltozshoz idre van szksg. Soros adattovbbts lehetsges rajel nlkl is, viszont ekkor gondoskodni kell szinkron vagy aszinkron mdon az adatblokkok kezdetnek a jelzsrl.
42
15. Monitorok tpusai, paramterei, mkdsi elve. A monitorvezrl krtya feladata, felptse, jellemzi (felbonts, sznmlysg, kpmemria mrete) s mkdse.
Monitor fajtk: A ma hasznlatos monitorok alapveten ktfle kategriba sorolhatak:
CRT (Cathod Raz Tube - katdsugrcs): hagyomnyos monitor, mkdsben a TV-re hasonlt. A kperny tartalmt egy elektronsugr rajzolja fel a fnykibocst rteggel bevont felletre, a kperny bal fels sarktl kezdden, jobbra s lefel haladva, prhuzamos svokra bontott rszekben. Egy teljes kperny tartalom kirajzolsa 1/50 sec-ig tart. A legfontosabb egysgk a katdsugrcs, melynek elektrongyi rajzolja a kpet. A kperny egy elemi monitorpontjt vrs-zld-kk foszforpontok alkotjk
LCD (liquid crystal display), TFT (Thin FilmTransistor): mkdsi elvk lnyege, hogy az gynevezett folyadkkristlyok feszltsg hatsra megvltoztatjk kristlyszerkezetket. Mivel a folyadkkristlyokat kls elektromos trrel lehet gy vezrelni, hogy kvnsgra tetszleges mrtkben elforduljanak, gy eljk polariztort, mgjk fnyforrst helyezve az tbocstott fnymennyisget szablyozni tudjuk. Mindezek utn mr csak az kell, hogy elhelyezznk nhny neoncsvet a kperny mgtt, amelyeket lehetsg szerint nagy frekvencival (relatve nagy, 1000 Hz krli) tpllunk, hogy a villogs ne zavarja a szemet. Kell mg egy piros, zld illetve kk sznszr, erre egy vezrelhet folyadkkristlyos rteg, majd egy polariztor, s ksz is a TFT kijelznk. Mivel az LCD technolginl nincs katdsugr, gy a kp nem is tud vibrlni, mg kisebb frisstsi idnl sem.
A legkevsb ismert tpus a gzplazms monitor, amelyben a gzok a bennk lv mozg elektronok hatsra fnyt bocstanak ki. Az ilyen kijelzkben ionizlt neon- vagy argongzt zrnak kt olyan veglap kz, melyekbe vzszintesen s fgglegesen vezetkek vannak begyazva. Ezen vezetkek metszspontjai hatrozzk meg a fnyt kibocst kppontokat.
Fontos, hogy a CRT-k pixelein vltoz intenzitssal lehet kpet megjelenteni. Teht ha nem egyezik a kperny s a megjelentend kp felbontsa, az nem olyan szembetn. A TFT-k esetn egy pixel vagy ki van jelezve, vagy nem, gy ha a felbonts nem egyezik, rosszabb minsg kpet kapunk..
A kperny vgigpsztzsban ktfle eljrst alkalmaznak Folytonos egymst kvet soronknti psztzs (non-interlacing), amely finomabb felbontst, de gyakoribb kpfelfrisstst eredmnyez. A korszerbb monitorok ezt a megoldst alkalmazzk, mivel a msik esetn villodz eredmnyt kaphatunk. Vltott soros elszr a kp pratlan soronknt kerl kirajzolsra, majd a sugr visszafut a kp elejre, s a pros sorok kvetkeznek. Finomabb felbontst, de alacsonyabb frisstsi frekvencit eredmnyez. A vltott soros psztzsnl flkpenknt 1/50 sec szksges, gy a teljes kp kirajzolsa 1/25 sec alatt trtnik.
Pixel: (kppont) a kperny legkisebb olyan egysge, amelyet a szmtgp kezelni tud.
Felbontkpessg: A kpernyt egyfajta mtrixnak foghatjuk fel, melynek minden egyes eleme egy pixel, amelyek rendszerezetten sorokban s oszlopokban helyezkednek el. A monitor felbontkpessge a kpernyn fggleges, s vzszintes irnyban megjelenthet kppontok, raszterpontok szmt hatrozza meg.
Kpfrissts azt jelenti, hogy az elektronsugarak msodpercenknt hnyszor psztzzk vgig a teljes kpernyt. 85 Hz-nl kevesebb kpfrisstsi frekvencia lthatan vibrl kpet eredmnyez. Az egy kpsor megrajzolsnak sebessgt sorfrekvencinak (horizontal frequency) nevezzk; mrtkegysge a kHz.
43
Sznmlysg: Az egyes kppontok mindegyike hordoz a kppont sznvel kapcsolatos informcit, amely mennyisge a szmtgp grafikus krtyjtl fggen vltozik. A kppont sznvel kapcsolatos informci mennyisge 1,2,4,8,16,24, vagy 32 bit mennyisg lehet. Az egy kpponton megjelenthet sznek szmt nevezzk sznmlysgnek. A sznmlysg fgg a PC videokrtytl, hiszen a grafikus krtya az ltala hasznlt memria terletn trolja a kppontok sznvel kapcsolatos informcikat. Minl nagyobb a sznmlysg, annl nagyobb memria szksges a kppontok szninformciinak trolsra. Jelenleg elterjedt sznmlysgek: 8 bit 256 szn, 16 bit 65536 szn (High Color), 24 bit 16 777 216 szn (True Color, 3 szn 3 bjt)
A monitorok mrete A kppontok kztti tvolsg a megjelentett kp pontjai kztti tvolsgot jelenti. Ezt az rtket a gyrtk a monitor adatlapjn mm-ben meg szoktk adni. Minl kisebb az rtk, annl jobb a felbonts, tisztbb kpe van a monitornak. A mai monitoroknl 0,2 0,28 mm. Egy msik fontos adat a beszerelt kpcs tljnak mrete. Itt kt rtkrl is sz van, a valdi fizikai mretrl, illetve a valsgban lthat mretrl. A gyrtk ltal megadott mrtk mindig a kpcs fizikai tljt adja meg, nem pedig a megjelenthet kpt. Ennek oka, hogy a kpcsvet a manyag tartba kell valamilyen mdon rgzteni, ez pedig a kpmret cskkenst vonja maga utn.
Kpvlts: Ahhoz, hogy az emberi szem folyamatos mozgsnak rzkelje a kpet, msodpercenknt legalbb 25 kpvltsnak kell lennie. Mrtkegysge a frame/sec, Ha ennl kevesebbszer rajzoldik fel a kp, akkor szaggatottnak rezzk. Ez nem ugyanaz, mint a kpfrisstsi frekvencia.
Monitorvezrl krtyk A monitorok a lehet legkevesebb ramkrt tartalmazzk a knny bvthetsg rdekben. A monitorok meghajtshoz szksges tovbbi ramkrk egy krtyn tallhatk meg, a monitorvezrl krtyn. A videokrtya hrom f rszbl ll: - a videochip alkotja azokat a jeleket, melyek a monitoron kpek formjban megjelennek - valamilyen fajta RAM, amely azrt szksges, hogy a krtya a teljes kpre emlkezzen minden pillanatban, ne csak annak egy rszre. A videokrtykban ltalban 1, 2 ,4, 8 vagy 256 vagy tbb Mbyte RAM van. Alapveten RAM mennyisgtl fgg, hogy milyen felbonts s sznmlysg kpet lthatunk. - egy digitl/analg konverter, mely a digitlis jelekbl llt el analg jeleket. A digitl/analg konverterre azrt van szksg mert a katdsugrcsves monitorok hagyomnyos analg jelekkel dolgoznak. A videokrtya mkdse gy leginkbb a processzorra emlkeztet azzal a klnbsggel, hogy a videokrtya csak a kpellltst vgzi. Manapsg a videokrtyk a sokkal nagyobb adattvitelre kpes PCI-buszokra csatlakoznak, vagy a mg annl is gyorsabb - kizrlag a videokrtyk szmra kifejlesztett - AGP buszokhoz. A videokrtykba manapsg egyre inkbb integrlva vannak gyorstkrtyk, de sokszor ms hasznos funkcival is rendelkeznek: pldul televzi-csatornk vtelre s megjelentsre is alkalmasak.
Gyorstkrtyk: A grafikus rendszerek terjedsvel a videokrtyk sebessge nem volt megfelel. Az ismtld feladatokat (ablak rajzolsa, kitlts sznnel, vonal hzsa, stb.)hardveresen kellett gyorstani. A gyorstkrtya tveszi a CPU-tl a kpalkotssal kapcsolatos mveleteket. A modern gyorstkrtyk egyre tbb mveletet tudnak vgezni, melyhez kln memria ll rendelkezskre. 2D-s mveletek pl. ablak eltols, vonalhzs, kr rajzols, terlet kitlts, mely sorn csak a kiindul koordintkat kell tadni a gyorstkrtynak.
A videokrtyknak sajt memrijuk van a krtyra integrlva, melynek mrete akr 128MB is lehet. ltalban specilis VRAM-ot (Video RAM) hazsnlnak, mely egy idben tud adatot olvasni s rni, mivel 2 csatornja van. Manapsg mr nagyteljestmny processzorok is kerlnek a videokrtykra, 44
melyek fknt a 3D megjelentsnl a vektorgrafikus adatok raszteres adatokk val konvertlsra szolgl. Mivel ezeket a szmtsokat nem a kzponti processzornak kell elvgeznie, hanem az erre specializldott videoprocesszornak, a megjelentett kp gyorsabb s szebb is.
A mozgkp megjelents mrtkegysge a frame/sec (frame per sec, FPS), azaz a megjelenthet teljes kpek msodpercenknt.
Vannak specilis videokrtyk, melyek a filmek lejtszsra szakosodtak (pl. MPEG2 dekdol krtya, TV-Tuner krtya).
45
16. Analg s digitlis hrkzlsi csatornk jellemzse (kapacits, zajok hatsa), tviteli kzegek. Vonalak megosztsnak mdszerei. Digitlis jelek kdolsa. A paritsbit s a CRC. Modemek feladata. ISDN, ATM, DSL technolgik.
A kzlemny, valamilyen csatornn jut el a cmzetthez. A hrkzlsi csatorna olyan berendezs, amely kpes a bemenetelnl informcit felvenni, s a kimenetelnl leadni. Fizikai valjukban a csatornk nagyon sokflk lehetnek: a leveg, a telefonvezetk, az optikai vegszl, az llnyek idegszlai, a knyv, a videolemez stb. Osztlyozni is tbb szempontbl lehet ket. - trbeli csatornk a tr valamelyik pontjbl egy-vagy tbb msik pontjba (telefonvezetk) - idbeli csatornk a T idponttl a (T + t) idpontba szlltjk az informcikat (videolemez) Termszetesen ez a megklnbztets csak a lnyegi jegyekre vonatkozik, mivel az informcinak a trbeli csatornban is idre van szksge, hogy clba jusson, a szbeli csatornkon is lehet trben szlltani az informcit. A tr- s idbeli csatornkat szoks - ksleltets nlkl, ramkrkapcsolt ( maghatrozott sebessggel, ksleltets nlkl szlltjk az zeneteket) - ksleltetssel mkd, zenetkapcsolt csatornknak ( tetszleges ideig troljk, azaz ksleltetik az zenet tovbbadst). Ms szempontbl beszlhetnk - termszetes (idegrost) - mestersges csatornkrl (telefonkbel), Valamint - analg (a hanghullmokat hordoz leveg) - digitlis csatornkrl (illetve a szmtgp adattviv csatorni).
Az tvitel clja elsdlegesen a jeleknek a cmzetthez val eljuttatsa, a jeleknek a cmzetthez val eljuttatsa tviteli csatornban trtnik, amit az sszekttets idejre bocstanak a hv s a hvott rendelkezsre. Ezek a jelek lehetnek - analg jelek, ami azt jelenti, hogy pillanatrtkk meghatrozott frekvencia s amlitd tartomnyban tetszleges rtket vehet fel. - digitlis jelek, melyek pillanatrtkei 0 vagy 1, a kt llapot kztti tvlts gyakorisga, a jeltviteli sebessg ltalban lland. Az analg jeleket gyakran digitalizlt formban visszk t, visszaalaktsuk csak a cmzettnl trtnik.
Ad. A megfogalmazott informcit tovbbtja a kommunikcis csatornba, annak megfelelen kdolva (modullva) Vev: A kommunikcis csatornbl jv informcit dekdolja, tovbbtja a feldolgozsra. Kommunikcis csatorna: A kommunikci szntere, rajta kommunikl a vev-ad, hat a csatornra a krnyezet zavar hatsokkal, valamint vesztesgei is vannak, ezeket az adban-vevben kell korriglni
Az informciforrs s a nyel egymstl rendszerint trben el van vlasztva. A csatorna biztostja villamos sszekttetst a kt pont kztt.
Az ad ltal vgrehajtott jelfeldolgozsi mdok legfontosabbja -ersts, -szrs s a -modulci. Ezek kzl is kiemelkedik fontossgban a modulci. Egy hrkzl rendszerben a modulci clja az, hogy az zenetjel jellemzit illesszk a csatorna jellemzihez, hogy cskkentsk a zaj s az interferencia hatst, hogy ugyanazon a csatornn egyidejleg tbb jelet is tovbbtsunk, vagy rr legynk bizonyos berendezsekbl szrmaz korltokon. Egy hrkzl rendszer sikere nagymrtkben az alkalmazott modulcitl fgg. 46
Hrkzl csatorna A modulcis eljrson, illetve az informciforrs kimen zenetnek formjn alapulva a hrkzlsi rendszereket hrom f csoportra oszthatjuk:
- Analg hrkzl rendszerek : Analg informcik analg modulcival val tovbbtsra terveztek - Digitlis hrkzl rendszerek: Digitlis informcik digitlis modulcival val tovbbtsra terveztek - Hibrid hrkzl rendszerek: Analg jelleg zenetjelek mintavtelezett s kvantlt rtkeinek digitlis modulcival val tvitelre terveztek.
Analg csatornk (folytonos csatorna) A mltat teljes egszben az analg tvitel jellemezte, pl. Telefon, rdi, TV. A kialaktott kommunikcis infrastruktra is dnten analg volt. A svszlessg analg rendszerek esetn hasznlt fogalom: egy adott analg jel maximlis s minimlis frekvencijnak a klnbsgt rtjk alatta. A svszlessg az a frekvenciasv (rezgsszm tartomny), amelyen bell a csatorna a rezgseket lnyeges torzts nlkl tviszi. Pldul az emberi beszd als frekvencija 300Hz, a fels frekvencija 3400 Hz, gy a svszlessge: 3400-300=3.1 kHz
Telefonvonal az emeri hang tvitelre terveztk, azonban szmtgpek kommunikcijra is alkalmass tehet.Legltalnosabban a laksokban lev telefon vonalak hasznlatosak, melyek kt vezetkes kapcsolt vonalak (csak az sszekttets idejre kapcsoldnak ssze), ellenttben a brelt vonalakkal. A telefonvonal svszlessge 3,1 kHz. Ide sorolhatk a mobiltelefonok, melyek vivfrekvenciaknt 450, 900, 1800 MHz-et hasznlnak s id-multiplexelst hasznlnak (egyidejleg tbben is beszlhetnek ugyanazon a csatornn).
Rdi frekvencia kapcsolat: rdik modulci szerint Amplitd- Frekvencia Modullt (fzis nem terjedt el, bonyolult a vev, ad). Hullmhossz illetve frekvencia szerint: o KH kzp Hullm o RH rvid Hullm o URH ultra rvid Hullm o Mikrohullm
Modem: itt emltend meg a modem, Olyan eszkz, amely egy (digitlis) bitsorozatot analg tviteli csatornn trtn tvitelre alkalmas analg jell alakt t (modull), illetve a vett analg jeleket (digitlis) bitsorozatt alaktja vissza (demodull). Sebessge szerint megklnbztetnk kis-, kzepes-, s nagy sebessg modemet. Mkdse sorn a bitsorozatot brzol jellel modullja a hordoz frekvencit, s ezt a modullt jelet kiadja az tviteli vonalra, illetve a berkez frekvenciamodullt jelet demodullja. A MODEM sz a MOdultor/DEModultor szavak sszevonsbl szrmazik.
Digitlis hrkzl rendszer (binris csatorna)
A digitlis tvitel tbb fontos szempontbl jobb az analg tvitelnl. Elszr is nagyon kicsi a hibaarnya, tkletesen helyrellthatak s nem lp fel halmozd hiba. Msik elnye, hogy klnbz tpus adatok (hang, zene, kp) vihet t. Eleinte szvegtvitelt valstotak meg, az tvitel egysge a bitcsoport volt, ms nven karakterorientlt tviteli eljrs. Manapsg bitorientlt eljrst alkalmaznak, melyekkel eltr szhosszsg s adatbrzols adat vihet t.
Digitlis hlzatokat az adattviteli sebessgkkel: az idegysg alatt tvitt bitek szmval jellemezhetjk. Ezt clszer bit/s-ban mrni. Az tvitelt jellemezhetjk a felhasznlt jel rtkben 1 msodperc alatt bekvetkezett vltozsok szmval is, amit jelzsi sebessgnek, vagy kzismert nven baud-nak neveznk. 47
A digitlis kommunikcis rendszerek f clja az, hogy egy digitlis forrsbl rkez zenetet (szimblumok egy sorozatt) tovbbtsanak trben s idben egy adott clllomsra olyan gyorsan s pontosan, ahogy az csak lehetsges.
Optikai: szabadtren infra vrs sugrzssal, de csak PC, tvvezrl, CD rendszerekben. PC Pl: IRDA Vezetett. Optikai hlzatok PC tbb 100 Mbit
Zajok, torzts, kapacits, hiba
Az volna az eszmnyi, ha a csatorna kimeneteli oldaln mindig azt az informcit kapnnk meg, amely a msik oldaln belpett, azaz a belp x jelnek a kimenetelnl mindig y jel felelne meg. Az ilyen - csak elmletben ltez- idelis csatorna neve zajmentes csatorna.
Sajnos a relis csatornk mindig zajosak, zaj minden olyan jelensg, amely a hrkzl csatornban "megtmadja" a hasznos informcit, megcsonktja, elnyomja, eltorztja, legrosszabb esetben meg is semmisti. Mskppen fogalmazva: zajos csatornnl a kilp jel nem felel meg mindig a belp jelnek, hamis jelek keverednek az igaziak kz. Zaj pldul az az elektromgneses rezgs, amely zavarja a rdivtelt, az utca zaja, amely elnyomja a beszlgettrsunk hangjt, a sajthiba.
A zajokat kt csoportra oszthatjuk. - A rendszertorzts azonos jel esetn mindig azonos, s elvileg teljesen kikszblhet. - A csatorna- vagy cszaj fggetlen a jeltl, rendszertelen, statisztikus jellege van, s teljesen sohasem szntethet meg. (Tulajdonkppen a zaj is informci, csak ppen nem az, amire szksgnk van, s nagyon sokszor a kdjt sem ismerjk.) A zaj teht bizonytalann teszi a csatorna mkdst. A vev sohasem lehet teljesen biztos benne, hogy jl rtette-e az zenetet, a vett jel megfelel-e a leadott jelelnek
A hrkzls gazdasgossga szempontjbl nagyon fontos krds, hogy az informci milyen sebessggel halad t a csatornn. A maximlis tviteli sebessget a csatorna kapacitsnak nevezzk:
A csatornn tjut informcimennyisg rendszerint nem ri el a maximumot, s gy a csatorna kapacitsnak egy rsze kihasznlatlan marad. A kapacits s a tnylegesen tvitt informci klnbsgnek az arnyt a csatorna redundancijnak nevezzk.
A jel/zaj viszony, vagy zajnv a hasznos jel s a zaj teljestmnynek az arnya. Minl nagyobb a hasznos jelek energija, annl biztosabb a vtel. Ha nagy utcazajban kis energival suttogunk, nagy lesz az informcivesztesg.
A tvkzlsnek, adattvitelnek - taln gy mondhatnnk - soha el nem rhet idelja: maximlis sebessggel, maximlis pontossggal, megbzhatsggal maximlis mennyisg informcit tvinni. A mszaki fejlds egyre kzelebb visz ehhez a clhoz, de a vgeredmnyben egymssal ellenttes kvetelmnyeket csak kompromisszumokkal lehet sszeegyeztetni, s be kell rnnk azzal, hogy a vett informci alapjn a leadott informcit egy elre meghatrozott biztonsgi tnyezvel rekonstrulni tudjuk.
48
Vonalak megosztsa Ahhoz, hogy informcicsert valsthassunk meg kt vgpont kztt, szksgnk van a vgpontok kztt az sszekttetst biztost vonalakra. Sok esetben azonban a kommunikci jellegbl fakadan nincs folyamatos informcicsere rajta, azaz a legtbb kapcsolatban a vonalhasznlat csak idszakosan jelentkezik. Nem sszer teht egy kommunikcis csatorna szmra kisajttunk egy teljes vonalat. Ezek a vonalak igen jelents kltsggel pltek meg, clszer minl jobban kihasznlni azokat. Amennyiben klnvlasztjuk a funkcikat, a csatornra, amelyeken az informcicsere trtnik, s a felhasznlt, tnyleges, fizikailag ltez sszekttetseket biztost vonalakra, akkor lehetsg nylik a gazdasgosabb kihasznlsra. Mivel az ad s vev oldal szmra csak a vgeredmny, az informci a fontos, ezrt egy vonalon tbb csatorna is kialakthat, a megvalsts pedig tbbflekppen is elkpzelhet. - Multiplexels. A fizikai kzeget tbb csatorna kztt osztjuk meg, annak rdekben, hogy a vonalat tbb ad s tbb vev vehesse ignybe. A multiplexels olyan eljrs, amelynek sorn egy adatvonalat elre meghatrozott, rgztett mdszer szerint elemi adatcsatornkra osztjuk fel. Minden bemen elemi csatornhoz egy kimen csatorna is tartozik. A mutiplexelst lehet az idtartomnyban s a frekvencia tartomnyban is elvgezni, gy beszlhetnk frekvenciaosztsos s az idosztsos multiplexelsi mdszerekrl, valamint illetve ezek kombincijrl. - Az zenet s csomagkapcsolsi mdszerek alkalmazsval hatkony vonal kihasznls rhet el. Az tviend informcit kisebb adagokra kell bontani, a vonalon aztn egyms utn tvinni, majd a darabokbl jra sszerakni. A csomagok folyamatos ramlsa az ad s a vev szmra gy tnik, mint folyamatos sszekttets. - A vonalkapcsols-nak hvott mdszer a harmadik lehetsg. Az adatvezetket a kommuniklni szndkoz felek csak a kommunikci idtartamra kapjk meg. Teht az adatvezetk nem egy adhoz s egy vevhz tartozik, hanem csak annak fggvnyben, hogy szksgk van-e r, valamint ms nem hasznlja-e a vonalat. A kapcsolat a kommunikci befejezsekor megsznik.
Digitlis jelek kdolsa
Kommunikcis csatornn keresztl binris informcit tovbbtunk. Ahhoz, hogy a binris szmok az tviteli kzegen megjelenjenek, illetve tjussanak, klnbz formkat hasznlunk. Digitlis tvitel sorn a logikai 0 s l szmjegyeket kell tvinni. Ezen logikai rtkek, valamint az tvitelhez hasznlt fizikai tulajdonsgok meghatrozott szempontok szerniti egymshoz rendelst kdolsnak nevezzk. Kdolst azrt hasznlunk, hogy a kommunikci sorn a jelek tvitelt optimlisabban tudjuk megoldani. Egy egyszer kdolsi eljrs a tvrkban alkalmazott mdszer, ahol a jel meglte a l-nek, a jel hinya a logikai 0-nak felel meg. A szmtgp-hlzatokban ennl bonyolultabb kdolsi eljrsokat alkalmaznak, amelyek kzl a kvetkez mdszereket fogjuk bemutatni: RS-232-C kdols, vissza nem tr kdols (NRZ), visszatr kdols (RZ), nullra vissza nem tr, megszaktsos kdols (NRZI), Manchester-kdols, B differencilis Manchester-kdols.
49
Az RS-232-C kdols (nevben a C, a harmadik, javtott vltozatra utal) a logikai 0-hoz a +5 V - +12V feszltsgtartomnyt rendeli hozz, mg a logikai 1-hez a -5V - -12V feszltsgtartomnyt. Az RS-232 nemzetkzi vltozata a CCITT V.24 ajnlsa, a kett egymstl a gyakorlatban elhanyagolhat mrtkben tr csak el.
A szmtgp s a terminlok neve ebben a szabvnyban DTE (Data Terminl Equip-ment), vagyis adatvg berendezs; az adattviteli berendezseket pedig DCE-nek (Data Circuit-Terminating Equipment) nevezik. Ezt a szabvnyt tipikusan a szmtgpek s modemek kztti kommunikcira fejlesztettk ki, de egyb felhasznlsi mdjai is vannak. Az RS-232 interfsz aszimmetrikus tvitelt valst meg, ami azt jelenti, hogy a jelvezetkeknek van egy kzs pontjuk, a fldvezetk. Ezzel ellenttben szimmetrikus tvitel esetn (pl. RS-422-A) a jelvezetkeknek nincs kzs pontjuk, hanem nll rprakon trtnik a jelek tovbbtsa, amely rprban mindkt vezetk fggetlen a fldel vezetktl. Szimmetrikus tvitellel ltalban nagyobb sebessg rhet el, mint aszimmetrikussal. Az illesztsi feladatot megold hardvert tbbfle paramter szerint lehet belltani: az adatbitek szma lehet 5, 6, 7 vagy 8 bit; az ad kpes automatikus paritsbit generlsra; a stopbit is programozhat, ltalban l vagy 2 bitidre. Az adattviteli sebessg maximlisan 115 200 bit/s, ami szintn programozhat 50 bit/s minimlis sebessgtl kezdve. A gyakorlatban leginkbb hasznlt rtkek: 115200 bit/s, 57600 bit/s s 38400 bit/s.
A 26. brn az RS-232-C kdolsnak egy lehetsges jelalakjt brzoltuk feszltsg-id koordinta rendszerben, ahol 8 az adatbitek szma, l start- s l stopbitet alkalmaztunk. Az tvitel startbittel kezddik (lsd: Az tvitel szinkronizlsa), majd az adatbitek kvetkeznek, ez a jelen pldban a 01011001 binris adat. Ezutn a stopbit zrja az tvitelt. Ha nincs adattvitel, akkor a jel rtke folyamatosan a negatv polari-ts llapotban van. Az RS-232 fellettel rendelkez eszkzket kis sebessg adattvitel esetn hasznljuk. Ilyen eszkzk pldul a rgebbi nyomtatk, az egerek egyes tpusai.
NRZ - Non Return to Zero - Nullra vissza nem tr, azaz mindig az a feszltsg van a vonalon, amit az brzolt bit hatroz meg. Ez a leginkbb gyakori, "termszetes" jelforma.
50
32. bra: NRZ kdols
Ha egy bit 1-es, akkor a feszltsg teljes bit id alatt H szint, ha 0-s, akkor L szint. Kt vagy tbb egyms utni 1-es bit esetn a feszltsg megszakts nlkl H-ban marad a megfelel ideig, az egyesek kztt nem tr vissza 0-ra. Nem tl j megolds, mert : magas egyenfeszltsg sszetevje van (V/2), nagy svszlessget ignyel 0Hz-tl (ha csak csupa 1-est vagy csupa 0-t tartalmaz a sorozat) az adattviteli sebessg felig (ha sorozat: 10101010...). Polarizlt jel. Return to Zero - Nullra visszatr. A nulla a "nyugalmi llapot", 1 bitnl a bitid els felben a +V, a msodik felben a jel visszatr a 0-ra:
33. bra: RZ kdols Az NRZ kdolshoz kpest vannak elnyei: egyenfeszltsg sszetevje csak V/4, ha az adat csupa 1- est tartalmaz, akkor is vannak jelvltsok (szinkronizci). A legrosszabb a svszlessg ignye: az maga az adattviteli sebessg (ha az adatfolyam csupa 1-est tartalmaz). Brkiben felmerlhet, hogy mi a helyzet a sok nullt tartalmaz sorozat esetben, hiszen ekkor sincsenek jelvltsok, azaz a szinkronizci problms. Ilyen esetben azt a megoldst vlasztjk, hogy az ad pl. minden t egymst kvet nulla utn egy 1 rtk bitet szr be, amit a vev automatikusan eltvolt a bitfolyambl. Non Return to Zero Invertive: Nullra nem visszatr, "megszakadsos". A 0 bitnek nulla szint felel meg. Az 1 rtk bithez vagy nulla vagy +V szint tartozik a kvetkez szably szerint: ha az elz 1-eshez nulla szint tartozott, akkor +V lesz, ha az elz 1-eshez +V tartozott, akkor 0 szint lesz a bithez rendelt feszltsg. 0 bitet kvet 1 rtk bit mindig +V feszltsg.
51
34. bra: NRZI kdols Ez a mdszer az NRZ kisebb svszlessgt kombinlja a szinkronizlst biztost ktelez jelvltsokkal, sok nulla esetn itt is hasznlhat a bitbeszrs.
Manchester kdols Ennl jel-tmenet, ugrs jelkpezi a biteket, de itt az ugrs irnynak is jelentsge van: pl. 0-1 tmenet 1-es bitet, 1-0 tmenet 0-s bitet jell.
37. bra: PE kdols Akkor, amikor tbb azonos bit kveti egymst, akkor a jelnek a kt bit kztt "flidben" vissza kell trnie az eredeti szintre azrt, hogy a kvetkez bit idejn ugyanolyan irny tmenet kvetkezhessen. A jel detektlsakor, visszalltsakor, az alapfrekvencis, bit rtkeket hordoz tmeneteket el kell klnteni a ktszeres frekvencij "hamis" tmenetektl (a mai technikban ez nem okoz nehzsget). Mivel az informcit ennl a formnl is jel-tmenetek hordozzk, kivlan alkalmas mgneses adatrgztshez is. Mivel minden bitnl van jelvlts, ezrt a szinkronizls nem okoz problmt. Az egyenfeszltsg sszetevje nulla. A sok elnys tulajdonsga mellett az egyetlen htrnya a gyakori jelvltsok miatti nagy svszlessge.
A paritsbit s a CRC
A paritsbit az informatikban a karakterkdok ellenrz, hibajelz bitje. A paritsbit rtke 1, ha a karakterben a bitek kztt pros szm az 1-es bitek szma, s 0, ha ez a szm pratlan. A paritsbit generlsra nll ramkrt alkalmaznak a memriamodulban. Ha ki akarjuk javtani az 1 bites paritshibkat, akkor ehhez n. ECC (Error Correction Circuit) hibajavt ramkrre van szksg. Ezek hatkony hibavdelmet biztostanak. A paritsellenrz mdszereknek vannak korltai: egy paritsbit csak egyetlen egybites hiba felismerst garantlhatja. Ha kt vagy tbb bit srl, akkor a ellenrzs helyes eredmnyt adhat, annak ellenre, hogy az tvitel hibs volt.
52
Az aszinkron tvitel esetn az adatbitek minden csoportjt egy stopbitnek kell kvetnie. A paritsbit arra szolgl, hogy a vev oldal a kapott adatbitek helyessgt ellenrizni tudja, hiszen kls zavar tnyezk brmikor kzbeszlhatnak. Az ad s a vev az adatbitek tovbbtsa eltt megegyezik abban, hogy hasznlnak-e paritst, s ha igen, pros vagy pratlan paritst hasznlnak-e. A kldend adatbitek kzl az egyesek szma 0 s 8 kztt lehetsges. Pldul a pros parits azt jelenti, hogy minden olyan byte-hoz, amelyben az 1 adatbitek prosan vannak (0, 2, 4, 6 vagy 8 darab), a paritsbit 0 lesz. Ha pratlan szm egyes szerepel az adatbitek kztt, akkor a paritsbit 1. Az gy kapott paritsbitet aztn hozzrjk az adatbitekhez. Az egsz jtk arra megy ki, hogy az adatbitekknt szerepl 1-esek szma pros parits esetn pros, pratlan parits esetn pedig pratlan legyen. Pl.: a 01010111 adatbitek kzl 5 darab 1-es. Pros parits esetn teht a paritsbit 1, pratlannl pedig 0.
Az aszinkron tvitelnl az adatbitek szmt (7 vagy 8), a paritst (Even=pros vagy Odd=pratlan vagy None=nincs) s a stopbitek szmt (1 vagy 2) ltalban egy angol rvidtssel jellik, adatbit- parits-stopbit sorrendben. A leggyakoribb a 8N1 s a 7E1 bellts.
ECR (egyedi bithibk) CRC (Cyclic Redundancy Code) A CRC kdok A CRC (Cyclic Redundancy Check) kdok csak hibajelzsre alkalmasak, tipikusan valamilyen hibajavt kdolssal kombinlva alkalmazzk ket. Ellenrz sszegek hasznlatosak akkor, ha a vrhat hibk nem fggetlenek egymstl, hanem egy adatfolyam egymst nvel bitjei srlnek. Pldul egy hlzati zavar, vagy mechanikai srls hatsra. CRC.
Bvebben: A CRC kdok specilis ciklikus kdok, melyek nagymret (pl. K=1023) blokkhoz ksztenek rvid (pl. r=24) ellenrz sszeget. Ha ezutn akr a blokkban, akr az ellenrz sszegben vltozs trtnik, akkor az ismtelten kiszmtott CRC sszeg nagy valsznsggel nem fog egyezni a blokk vgn tallhat CRC sszeggel. A CRC kdokat, illetve a szindrmt ppgy polinomosztssal lehet generlni, mint a tbbi ciklikus kdot. Az alkalmazs lpsei:
1. A forrskdols utn, a hibajavt csatornakdols eltt blokkonknt a CRC generlsa s a blokkhoz illesztse
2. jbli blokkokra oszts a hibajavt kd blokkmrete szerint, a hibajavt kd generlsa
3. A vevoldalon a paritsellenrzs/javts utn CRC-blokkonknt a CRC-sszeg ellenrzse. Ha a szmtott s a vett CRC sszeg nem egyezik, akkor a blokkban hiba van, teht a kzben trtnt hibajavts nem volt eredmnyes. Ekkor hibt jelznk, s jra kldetjk/olvassuk a CRC-blokkot.
A CRC alkalmazsa ltal viszonylag kis kdsebessg-romls rn j esllyel detektlni tudjuk a vevoldali hibs blokk-dekdols eseteit (mikor a hibajavt kd sok hiba mellett rossz kdszba javt, vagy a csatorna rvnyes kdszba ront), klnsen, mivel a hibajavt kd blokkmrete jellemzen kisebb, mint a CRC blokkmret, teht egy CRC-blokk tbb hibajavtkd-blokkot fog t. A CRC alkalmazsa sikertelen, ha a CRC-blokkban hiba trtnik, de nem kapunk CRC-hibt. Ez kt esetben fordulhat el:
1. Az ellenrz sszeg nem vltozott, de a blokk ppen egy msik olyan blokkba ment t, amelyik ugyanazt az sszeget adja
2. Mind a blokk, mind az sszeg vltozott, pp olyan mdon, hogy a blokknak megfelel az sszeg.
53
Modem
Olyan eszkz, amely egy (digitlis) bitsorozatot analg tviteli csatornn trtn tvitelre alkalmas analg jell alakt t (modull), illetve a vett analg jeleket (digitlis) bitsorozatt alaktja vissza (demodull). Sebessge szerint megklnbztetnk kis-, kzepes-, s nagy sebessg modemet. Mkdse sorn a bitsorozatot brzol jellel modullja a hordoz frekvencit, s ezt a modullt jelet kiadja az tviteli vonalra, illetve a berkez frekvenciamodullt jelet demodullja. A MODEM sz a MOdultor/DEModultor szavak sszevonsbl szrmazik.
ISDN Az ISDN telefon a 20. sz. vgn hasznlt modern digitlis telefon. Az ISDN (Integrated Services Digital Network) angol rvidts, jelentse integrlt szolgltats digitlis hlzat. A fejlett orszgok telefonkzpontjai mr digitlis rendszerben mkdtek, a hlzat digitalizlst viszont csak hossz id alatt lehet megvalstani elssorban fnyvezet kbelekkel. Egy olyan tmeneti megoldst kellett tallni, mely alkalmas a digitlis rendszerre hagyomnyos kbelekkel is. Ez volt az ISDN, mely tulajdonkppen egy ngyvezetkes sszekttets hagyomnyos kbelen. A felhasznli (elfizeti) oldal egy csatlakoz dobozban vgzdtt. Ide kellett bedugni az ISDN telefont (a hagyomnyos nem j), amely csak szerkezetben tr el a rgiektl. Tovbbi csatlakozsi lehetsg volt fax, internet s videotelefon rszre. Ez utbbi hasznlata kizrja a tbbi egyidej hasznlatt, a telefon, fax s internet szolgltatsbl egyidejleg brmely 2 hasznlhat. A digitlis fax mkdse is eltr a hagyomnyostl, a gp felismeri a karaktert (ha szveges a dokumentum) s csak annak kdjt tovbbtja digitlisan. Teht szveg kldse vagy fogadsa gyorsabb, kzben radsul telefonlni vagy internetezni is lehet. tkapcsolsra nincs szksg, ha fax hv, automatikusan a fax kapcsoldik. Az ISDN vonalnak 4 egymsutn kvetkez telefonszma van, valamint klnbz csengetsek is beprogramozhatk. ATM
Az ATM rugalmas s testreszabhat megoldst nyjt a minsgi szolgltatsok irnti egyre fokozd ignyek kielgtsre olyan hlzatok esetben, amelyek tbbfle informcitpust (adatot, hangot s vals idej kp- s hanginformcit) is tmogatnak. Az ATM segtsgvel mindezek az informcitpusok egyetlen hlzati kapcsolaton keresztl tovbbthatk.
Az ATM defi ncija Aszinkron adattviteli md (ATM) egymssal kapcsolatban ll technolgikat, kztk a szoftvert, a hardvert s a csatlakozshoz szksges eszkzket jelli. Az ATM klnbzik a jelenlegi LAN- s WAN-technolgiktl, hiszen kifejezetten a nagy sebessg kommunikci tmogatsra terveztk. Az ATM lehetv teszi, hogy a hlzatok a leghatkonyabban hasznljk ki a svszlessget mint erforrst, mikzben fenntartja a szigor szolgltatsi kvetelmnyekkel rendelkez felhasznlk s programok szmra a szolgltats minsgt (QoS). Az ATM alapkomponensei a vgponti szmtgpek, az ATM-hlzathoz csatlakoztatott szmtgpek, valamint azok az ATM-kapcsolk, amelyek sszektik a vgponti szmtgpeket s biztostjk az adatok sikeres tovbbtst. Aszinkron a rendelkezsre ll svszlessg nincs felosztva idzt mechanizmus vagy ra ltal szinkronizlt rgztett csatornkra vagy trolhelyekre. Az aszinkron kommunikcis mdszert hasznl eszkzk kztt nincs kapcsolat abban a vonatkozsban, hogy milyen sebessggel kpesek kldeni s fogadni az informcit. A kld s a fogad sajt fizikai korltaik s a hlzati 54
informciramls fenntartsra val kpessgk figyelembe vtelvel egyeztetst vgez az adattviteli sebessget illeten. tviteli md a kld s a fogad kztti informciramls mdjt jelli. Az ATM esetben a tovbbtand adatok strukturlsa s felosztsa a kis mret, fix hosszsg cellkra vonatkoz koncepci alapjn trtnik. Azzal, hogy nem a legtbb ltez hlzat esetben alkalmazott vltoz hosszsg csomagkldsi mechanizmust hasznlja, az ATM biztostja, hogy a kapcsolatok egyeztetse s kezelse sorn egyetlen adattpus vagy kapcsolat se sajtthassa ki az adattviteli tvonalat.
Az ATM elnyei Az ATM hasznlata a kvetkez elnykkel jr: Nagy sebessg kommunikci Kapcsolatorientlt, a telefonos hlzathoz hasonl szolgltats Gyors, hardver alap tkapcsols Egyetlen univerzlis, ms egysgekkel egyttmkdni kpes hlzati adattvitel Egyetlen hlzati kapcsolat, amely megbzhatan alkalmazhat hang, kp s adat tovbbtsra A hlzati svszlessg rugalmas s hatkony lefoglalsa DSL
A DSL technolgik a hagyomnyos vonalkapcsolt telefonos megoldsokkal szemben, amelyek a hv s a trcszott vgpont kztt alaktanak ki egy ramkrt, kizrlag a vglloms s a telefonkzpont kztt ptenek fel kapcsolatot, amely jval zajmentesebb s gy nagyobb sebessg kommunikcit tesz lehetv.
Ezen kvl a DSL kapcsolatokon az ISDN-hez hasonlan mr eleve digitlis kommunikci zajlik a telefonkzpont s a vgkszlk kztt, gy kln modemre nincs szksg a szmtgp csatlakoztatshoz.
A klnbz DSL technolgik a legelterjedtebb szlessv hozzfrsi mdok kz tartoznak a fejlett orszgokban.
55
17. A szmtgp-hlzatok architektrja, az OSI-modell (rtegek, protokollok, rtegszolglatok). A TCP/IP protokoll (feladata, rtegei, informci-ramls, cmzs, tvlaszts).
A mai, modern szmtgp hlzatok tervezst strukturlis mdszerrel vgzik, vagyis a hlzat egyes rszeit rtegekbe (layer) vagy ms nven szintekbe (level) szervezik, melyek mindegyike az elzre pl. Az azonos szint rtegek csak egymssal kommuniklnak. E kommunikci szablyait protokollnak nevezzk. A rtegek s protokollok halmazt hlzati architektrnak nevezzk. OSI - Open System Interconnection. Felptse: o 1. Alkalmazs- Application, szles krben ignyelt szolgltatsokat tartalmaz (FTP) o 2. Megjelents Presentation, tmrtst, rejtjelezst vgezhet el, az egyetlen amely megvltoztathatja az zenet tartalmt. o 3. Egyttmkdsi, viszony Session, lehetv teszi, hogy kt szg. felhasznli kapcsolatot ltestsen egymssal, logikai kapcsolatot pt fel. o 4. Szlltsi Transport, feladata a vgpontok kztti hibamentes tvitel biztostsa, az sszekttetsek felptse s bontsa, csomagok sorrendhelyes elhelyezse. o 5. Hlzati Network, a kommunkcis alhlzatok mkdst vezrli. Feladata az tvonalvlaszts a forrs s cllloms kztt. o 6. Adatkapcsolati - Data Link ,feladata a hibtlan adattviteli vonal biztostsa a szomszd gpek kztt. Az adatokat adatkerett trdeli, tovbbtja, nyugtzza, hibajavtst, forgalomirnytst vgez. o 7. Fizikai kapcsolat Physical , a bitek kommunikcis csatornra bocstsrt felels, csatlakozsok elektromos s mechanikai definilsa. Az 1,2 a felhasznli alkalmazs, a 3, 4, 5 az opercis rendszer, a 6, 7 a hardver rsze.
56
TCP/IP protokoll
A TCP/IP nem ms, mint egy protokollkszlet, amelyet arra dolgoztak ki, hogy hlzatba kapcsolt szmtgpek megoszthassk egyms kztt az erforrsaikat. A fejleszts az ARPAnet kr csoportosult kutatk munkja. Valsznleg az ARPAnet a legismertebb TCP/IP alap hlzat.
A TCP/IP protokoll kt alrendszernek az albbi feladatai vannak:
1. TCP - a kld szmtgpen a tovbbtand adathalmaz feldarabolsa adatcsomagokra, s az adatcsomagok cmkzse. Az adatokat fogad szmtgpen pedig, a kapott adatcsomagok sszeraksa, s gy az eredeti adathalmaz ellltsa. 2. IP - az adatcsomagok irnytsa, a kommunikciban rsztvevk (gpek) azonostsa.
Rtegei Az internetrteg Mindezen az elvrsok olyan csomagkapcsolt hlzathoz vezettek, amely egy sszekttets nlkli internetwork rtegen alapulnak. Ez a rteg az internetrteg, amely az egsz architektrt sszefogja. Ennek a rtegnek az a feladata, hogy egy hoszt brmilyen hlzatba csomagokat tudjon kldeni, illetve a csomagokat a clllomstl fggetlenl (lehetleg egy msik hlzatba) kpes legyen tovbbtani. Az sem gond, ha a csomagok nem az elklds sorrendjben rkeznek meg, ugyanis, ha erre szksg van, akkor a magasabb rtegek visszarendezik ket a megfelel sorrendbe. Azt viszont ne felejtsk el, hogy az internet sz most ltalnos rtelemben hasznljuk annak ellenre, hogy ez a rteg az internetben is jelen van. Az internetrteg meghatroz egy hivatalos csomagformtumot, illetve egy protokollt, amelyet internetprotokollnak (Internet Protocol, IP) hvnak. A csomagok kzbestse sorn azok tvonalnak meghatrozsa, valamint a torlds elkerlse itt most a legfontosabb feladat. Ezrt hasonlt funkcija egy msik modell hlzati rtegre. A szlltsi rteg A TCP/IP-modellben az internetrteg fltti rteget ltalban szlltsi rtegnek nevezik. Feladata az, hogy lehetv tegye a forrs- s a clllomsokban tallhat trsentitsok kztti prbeszdet. Az egyik szlltsi protokoll az tvitelvezrl protokoll (Transmission Control Protocol, TCP), amely egy megbzhat sszekttets alap protokoll. Feladata az, hogy hibamentes bjtos tvitelt biztostson brmely kt gp kztt az interneten. A berkez bjtos adatfolyamot diszkrt mret zenetekre osztja, majd azokat egyesvel tovbbtja az internetrtegnek. A cllloms TCP-folyamata sszegyjti a berkezett zeneteket, s egyetlen kimeneti adatfolyamknt tovbbtja ket. A TCP forgalomszablyozst is vgez annak rdekben, hogy egy gyors forrslloms csak annyi zenetet kldjn egy lassabb clllomsnak, amennyit az fogadni kpes. A msik tviteli protokoll ebben a rtegben a felhasznli datagram protokoll (User Datagram Protocol, UDP) amely egy nem megbzhat, sszekttets nlkli protokoll. Jelentsge akkor van, amikor nem szksges sem az zenetek TCP-fle sorbarendezse, sem a forgalomszablyozs. Elssorban olyan egylvet, kliens-szerver tpus krds-vlasz alkalmazsokban terjedt el, ahol a gyors vlasz sokkal fontosabb, mint a pontos. Ilyen pldul a beszd- vagy vide tvitel. Az IP, a TCP s az UDP kapcsolatt a 3. tblzat [3.] szemllteti. Az alkalmazsi rteg A szlltsi rteg fltt az alkalmazsi rteg tallhat. Ez tartalmazza az sszes magasabb szint protokollt. Eredetileg csak a virtulis terminl (TELNET), a fjltranszfer (FTP) s az elektronikus levelezs (SMTP) protokolljait tartalmazta, amelyeket a 3. tblzatban is lthattunk. A virtulis terminl lehetv teszi, hogy bejelentkezznk egy tvoli gpre, s azon dolgozzunk. A fjltranszfer 57
protokoll segtsgvel hatkonyan tudunk adatokat tvinni egy gprl a msikra. Az vek sorn szmos ms protokollal bvtettk az alkalmazsi rteget. Ilyen pldul a Domain Name Service (DNS), amely a hosztok nevt kpezi le a hlzati cmkre; a HTTP, amely a World Wide Web oldalak letltst segti. A hoszt s a hlzat kztti rteg Az internetrteg alatt egy nagy r ttong. A TCP/IP hivatkozsi modell ugyanis nem mondja meg, hogy mi legyen itt, csak annyi megktst tesz, hogy a hosztnak egy olyan hlzathoz kell csatlakozni, amely az IP-csomagok tovbbtsra alkalmas protokollal rendelkezik. Ez a protokoll hosztonknt, illetve hlzatonknt ms s ms lehet.
Informci ramlsa A TCP a kapcsolatban lv gpeken fut folyamatok kommunikcijt biztostja. fogadja a tetszleges hosszsg zeneteket a felhasznli folyamattl s azokat maximum 64 kbjtos darabokra vgja szt. Ezekhez fejlcet fz, majd ezeket a darabokat egymstl fggetlen datagramokknt kldi el. A hlzati rteg sem azt nem garantlja, hogy a datagramokat helyesen kzbesti, sem a megrkezett datagramok helyes sorrendjt. A TCP feladata az, hogy idztseket kezelve szksg szerint jraadja ket, illetve hogy helyes sorrendben rakja azokat ssze az eredeti zenett. Minden TCP ltal elkldtt bjtnak sajt sorszma van. A sorszmtartomny 32 bit szles, vagyis elegenden nagy ahhoz, hogy egy adott bjt sorszma egyedi legyen. Cmzs A gpek egyedi azonostsra szolgl a cmzs mechanizmusa. A jelen keretek kztt az IPv4-es szabvny kerl ismertetsre, mivel ez a legelterjedtebb IP szabvny. Az IPv6-os szabvny bevezets alatt ll (IPv5 nem volt). A cmek 32 bitesek a cm hrom rszre oszthat: Eltag: Ez azonostja a cmosztlyt. A cmosztly mutatja meg, hogy az eltag utn hny bitet kell hlzati cmknt, s hny bitet kell host cmknt rtelmezni. Network Adress (hlzati cm): Az egyes hlzatok megklnbztetsre szolgl, valamint a kzponti adminisztrcit segti el, azaz ne lehessen kt gpnek azonos IP cme. A hlzati cmet kzpontilag kell ignyelni, s kzpontilag utaljk ki az ignylnek. Host Adress: A 32 cmbit maradkat teszi ki. Ezt szabadon llthatja be a cmtartomnyt ignyl a sajt gpein. Az IPv4 t cmosztlyt definil, de tulajdonkppen csak hrom cmosztlyt hasznlnak. (Sajnos az elnevezseket elg knny ms elnevezsekkel keverni, mert bizonyos elnevezseket a terminolgiban msra is hasznlnak.)
58
A osztly IP cm:
B osztly IP cm:
C osztly IP cm:
tvlaszts (routing) A csomagkapcsolt rendszerekben az vlaszts (routing) azt a folyamatot jelli, amivel kivlasztjuk az tvonalat (path), amin a csomagot tovbbkldjk s az tvonal vlaszt (router) az a szmtgp (IMP), amely ezt vgrehajtja. Az tvlasztsi tblk troljk az informcit az elrhet csompontokrl s azok elrsi tvonalairl. Ha kt gp egyazon loklis hlzaton van, akkor tvonal-kivlaszs nlkl kzvetlen (direkt) sszekttets ltesthet kzttk. Klnbz hlzatok kztti kzvetett (indirekt) tvonal kivlasztsnl elszr a feladnak meg kell adnia azt az tvlasztt, amihez a csomagot (datagramot) kldi. Majd az tvlaszt fogja (esetleg jabb tvonal vlasztkon keresztl) a cl-hlzatra tovbbtani a datagramot.
Hlzat: Egymssal (szoros) kapcsolatban lv nll szmtgpek rendszere.
A hlzat clja: az erforrsok megosztsa terhelsmegoszts nagyobb megbzhatsg mkds kltsgmegtakarts adatbzisok elrse kommunikcis kzeg kialaktsa
Hlzattpusok:
I. Terleti kiterjeds alapjn (mekkora terleten helyezkedik el): 1. LAN (Local Area Network) - kis kiterjeds hlzat, loklis hlzat; jellemzje az egyedi kbelezs s az ebbl kvetkez gyors adattvitel. Mrete 1 szobtl kezdve nhny kilomterig terjed. 2. MAN (Metropolitan Area Network) - vrosi mret hlzat; egy vros nagysgrendjt lefed hlzat. Fontoss teszik a trinformatikai rendszerek, melyek sszefognak egy teleplst. Msik tipikus alkalmazs a vilghlzatok kiindulsi pontjaihoz (pl. Internet node-ok) val belps biztostsa. 3. WAN (Wide Area Network) - nagytvolsg hlzat; kiterjedse pr kilomtertl kezdve az egsz Fld nagysgig terjedhet. Tipikus tviteli eszkzei a tvkzlsi vllalatok ltal nyjtott eszkzk: telefonvonal, mhold, mikrohullm, stb.
II. Topolgia alapjn: 1. bus (sn): gpek egy kzs tviteli kzegre csatlakoznak 2. gyr: a gpek egy gyrre vannak felfzve 3. fa: brmely kt sszekttt gp kztt egy s csak egy t van 4. csillag: minden gp csak a kzponti gppel van sszektve 5. teljesen sszefgg: minden gp minden gppel egyedileg ssze van ktve (ez lenne az idelis, csak egy kicsit drga). 6. rszben sszefgg: a teljesen sszefggbl elhagyunk nhny gat
III. tviteli sebessg alapjn 1. Lass (kb 30 kbit/sec): ltalban telefonvonalak felhasznlsval trtn tvitelre jellemz (ISDN 64, ill. 128 kbit/s) 2. Kzepes sebessg (kb 1-20 Mbit/s): ide tartozik a legtbb loklis hlzat (Ethernet - 10 Mbit/sec, Token Ring - 16 Mbit/sec) 3. Nagy sebessg (50 Mbit/sec felett) Specilis hlzatok osztlya volt rgebben, de mra a 100 Mbit/s-os loklis hlzatok terjednek robbansszeren. Elkezddtt a Gigabit/s-os hlzatok fejlesztse is. Valsznleg rvid idn bell ezt a tartomnyt fogjuk a nagy sebessg osztlyba sorolni. A Matv ezzel elsknt ltest haznkban 2,5 Gigabit/sec sebessg optikai WDM, Wave Division Multiplexing-hlzatot, amelyet a budapesti NIIF kzpont s hat egyetemi vros (Miskolc, Debrecen, Szeged, Pcs, Veszprm, Sopron) kztti kapcsolatokhoz pt ki.
60
IV. tviteli mdszer alapjn
1. Alapsv (baseband): modullatlan jeleket tovbbit, teht az tviteli kzegben halad jel frekvencija kzel azonos a bitsorozat frekvencijval (LAN-okra jellemz) 2. Szlessv (broadband): az adattvitel modullt, teht a viv frekvencija jval nagyobb, mint a bitsorozat frekvencija (pl. kbeltv)
V. Kommunikcis irny alapjn 1. Szimplex (egyirny): egyik lloms csak ad a msik csak vev 2. Fl-duplex (vltakoz irny): mindkt irny tvitel megengedett, de egyidben csak az egyik irny lhet 3. Duplex (ktirny): mindkt lloms egyszerre adhat s vehet VI. Kapcsolsi technika alapjn 1. vonalkapcsolt - kt kommunikl lloms kztt lland kapcsolat pl ki (pl telefon) 2. zenetkapcsolt - kt lloms kztt az tviv hlzat trolva tovbbt egysgekbl ll, ezek tovbbtjk az zenetet egy cminformci alapjn. Az zenet hossza nem korltozott. 3. csomagkapcsolt - hasonl az zenetkapcsolthoz, csak a csomag mrete maximlt, ezrt a hosszabb zeneteket szt kell trdelni. Nem szksges trolva tovbbtnak lenni az tviv hlzatnak (pl. Ethernet). Kt vltozata ltezik: - sszekttets nlkli: a csomagok tvitelt az n. datagram service (tvirat) vgzi. Minden csomag tartalmazza a teljes rendeltetsi cmet, kln tovbbtdik (kzben a sorrendjk is vltozhat). Htrnya a bonyolult csomag-sszepts. - virtulis sszekttetses: a csomagok tvitelt egy virtulis adatramkr (virtual circuit) biztostja. Ez egy hvs tjn ltrejv logikai sszekttets, amely a bontsig fennll, a csomagok ezen a rgztett adatton kerlnek t. Teljes cm helyett csak az adatramkr azonostjt kell tartalmazniuk. Htrnya, hogy nem olyan flexibilis, mint a datagram.
VII. Kzeghozzfrsi md alapjn 1. vletlen tvitelvezrls: egyik llomsnak sincs engedlyre szksge az zenettovbbtshoz, ads eltt csak az tviv kzeg szabad voltt ellenrzi. 2. osztott tvitelvezrls: egyszerre csak egy llomsnak van joga adni, de ez a jog az llomsok kztt krbe jr. Tipikus kpviselje a vezrjel-tovbbtsos (token passing) mdszer. Az llomsok kztt egy vezrjel jr krbe, akinl ez van, az adhat. A topolgia alapjn lehet vezrlgyr (token ring) vagy vezrjeles busz (token bus). 3. kzpontostott tvitelvezrls: egy kitntetett lloms foglalkozik az tviteli jogok kiadsval.
A hlzat hardver felttelei A hlzathoz szksg van legalbb kett, vagy ennl tbb szmtgpre. gyfl-kiszolgl rendszereknl ebbl egy a szerver szerept tlti be. A msodik s a tbbi szmtgp lesz a munkalloms. Ahhoz, hogy ezek a gpek sszekttetsben legyenek egymssal, szksg van mg vezetkekre, s gpenknt egy hlzati krtyra, ami a szmtgpek kztti sszekttetst ltrehozza. A hlzat szoftver felttelei: Egyenrang hlzatoknl a kapcsolatban ll gpek kliensknt s szerverknt is mkdhetnek, az opercis rendszerbe vannak beptve a hlzati szolgltatsok. Kliens-szerver hlzatoknl a szerveren hlzati opercis rendszert kell futtatni (pl. Novell NetWare, Windows NT/2000/XP), ami kiszolglja a kliensektl rkez krseket. A szerver feladata a fjlok trolsa s vdelme s a hlzati nyomtats lehetsgnek biztostsa. A klienseken brmilyen kompatbilis opercis rendszer futhat. Az alkalmazi programok a kliens gpeken futnak.
61
Felhasznli jogok a hlzatban: Jogtpusok: 1- Elrsi jogok: Egy felhasznl kaphatja a jogokat ahhoz, hogy egy knyvtrban elrje az ott tallhat fjlokat. 2 -Hozzfrsi jogok: Az elbb ismertetett jogokat kaphatja egy alknyvtr vagy egy fjl ahhoz, hogy brki hozzfrjen az adott fjlhoz vagy alknyvtrhoz. gy az alknyvtrban vgezhet mveleteket korltozhatjuk. 3- Effektv jogok: Az elz kt jogtpus-halmaz kzs metszete adja meg egy knyvtrban vgezhet mveletek krt. Ms szval, ha a felhasznlnak joga van egy knyvtrban valamilyen mveletre, de nincs joga senkinek abban a knyvtrban ahhoz a mvelethez, akkor a mvelet nem vgezhet el. Ugyanez fordtva is igaz. Egyik jog sem felsbbrend. Jogok: 1- FILE SCAN - KERESSI JOG: A felhasznl ltja az alknyvtrban lv fjlokat, gy keresni is tud 2- READ - OLVASSI JOG: A felhasznlnak joga van az alknyvtrban lv fjlokat olvassra megnyitni, azok tartalmt olvasni, s olvass utn lezrni. 3- WRITE - IRSI JOG: A felhasznl az ltala megnyitott fjlba rhat, az ott lv adatokat mdosthatja 4- CREATE - LTREHOZSI JOG: Az alknyvtrban j fjlokat hozhat ltre a felhasznl. 5- ERASE -TRLSI JOG: Az adott alknyvtrban lv fjlokat trlheti a felhasznl. 6- MODIFY - MDOSTSI JOG: Az alknyvtrban lv fjlokat a felhasznl tnevezheti, attribtumait mdosthatja. 7- ACCESS CONTROL - HOZZFRS ELLENRZSE: hozzfrsi jogokat adni s elvenni. 8- SUPERVISOR - RENDSZERGAZDAI JOG: Minden joga megvan a felhasznlnak az adott knyvtrban s annak alknyvtraiban. Ez a legmagasabb jog egy knyvtrban.
62
19. Az opercis rendszer erforrs-kezeljnek feladata. A holtpont s kezelsnek stratgii. Biztonsgos llapot. A szemafor hasznlata a termel-fogyaszt folyamatok esetben.
Erforrs kezel feladata
Erforrs kezel (resource manager) a rendszermag azon rsze, amely az erforrsok elosztsrt s lefoglalsrt felels. Ha egy folyamat erforrst ignyel, az erforrs kezel dnti el hogy a krs kielgthet-e. Az erforrs kezel gondoskodik a szmtgp erforrsainak (a fut folyamatok ignyei alapjn trtn) hatkony, gazdasgos elosztsrl, illetve az erforrsok hasznlatrt vvott versenyhelyzetek kezelsrl.
Erforrs: A szmtgpes rendszer rszei, illetve az ltaluk nyjtott szolgltatsok halmaza. Erforrs kezel: a rendszermag azon rsze, amely az erforrsok elosztsrt s lefoglalsrt felels. Ha egy folyamat erforrst ignyel, az erforrs kezel dnti el, hogy a krs kielgtget-e. Az erforrs kezel gondoskodik a szmtgp erforrsainak hatkony gazdasgos elosztsrl, illetve az erforrsok hasznlatrt vvott versenyhelyzetek kezelsrl.
Az erforrsok csoportostsa: 1. hardver erforrsok: pl. processzor, memria, nyomtat s az egyb perifrik 2. szoftver erforrsok: a klnbz kzsen hasznlhat programok, adatllomnyok, adatbzisok.
Holtpont
Holtpont: Tbb folyamat egy olyan erforrs felszabadulsra vr, amit csak egy ugyancsak vrakoz folyamat tudna elidzni.Pl.: ha a folyamatok nem megszakthatk ha az erforrsok nem megoszthatak ha ezek a folyamatok egyms erforrsaira vrnak
Kiheztets
Kiheztets: sszesen ugyan van elegend erforrs, de szerencstlen esetben egyes folyamatok mgis heznek. Egy folyamat az erforrs kezel stratgija miatt belthatatlan ideig nem jut erforrshoz. A kiheztets az erforrs kezel stratgia miatt jhet ltre. Az erforrs-kezel stratgia szerint megtiltjuk, hogy egyszerre tbb folyamat is rendelkezzen erforrssal, gy elszaporodhatnak a vrokoz folyamatok, az erforrs-kezel dnt, hogy melyik folyamat jut erforrshoz, s gy lehet, hogy egy folyamat el mindig bekerl egy msik, gy az a folyamat belthatatlan ideig nem jut erforrshoz.
Holtpont kezelsi stratgik: - erforrs hasznlati szablyokkal biztostani, hogy holtpont ne alakuljon ki: o holtpont megelzs (deadlock prevention), o holtpont elkerls (deadlock avoidance). - csak a holtpont kialakulsnl avatkozunk be: o holtpont felismers (deadlock recognition), o holtpont felszmolsa (deadlock recovery). ha mindez teljesl 63
Megelz stratgik
- Egyetlen foglalsi lehetsg (One-shot allocation): Csak az a folyamat foglalhat erforrst, amelyik mg egyetleneggyel sem rendelkezik. - Rangsor szerinti foglals (Hierarchical allocation): Egy folyamat csak olyan osztlybl ignyelhet erforrst, melynek sorszma magasabb mint a mr birtokolt erforrsok sorszma. Leggyakrabban hasznlt a kisebb sorszm. - Bankr algoritmus: Sohase elgtsnk ki egy ignyt, ha az nem biztonsgos llapotot eredmnyez.
Biztonsgos llapot
Egy rendszer llapota akkor biztonsgos, ha ltezik egy olyan sorrend, amely szerint a folyamatok erforrs ignyei kielgthetek.
Szemafor hasznlata
A termel s a fogyaszt kzs memriaterletet hasznl de egyszerre nem hasznlhatjk. Ahhoz, hogy kizrjuk, hogy egyszerre hasznljk az erforrst hasznlhatunk szemafort, ami megmutatja, hogy egy msik folyamat ppen hasznlja-e a kvnt erforrst. A szemafor kiolvassa s tlltsa tbb lpsben trtnik ezrt ha kt folyamat egyszerre kvnja hasznlni (tlltani) akkor ez hibs lehet. Ennek elkerlsre hasznljk a P s V primitiveket. A P primitiv letiltja a szemafor hasznlatt ms folyamatoknak, a V primitiv pedig jbl engedlyezi.
64
20. A magas, kzbens s alacsony szint temezk feladata egy opercis rendszerben. A folyamatok llapotai. temezsi algoritmusok.
temez Az idvel val gazdlkodst temezsnek (scheduling) nevezzk. Az temezs sorn a folyamatok llapota vltozik meg. Attl fggen, hogy milyen llapotok kztt trtnik vlts, az temezk tbb szintjt definilhatjuk
Magas A ftemez (high-level scheduler) vagy magas szint temez vlasztja ki a httrtroln lv programok kzl azt, amelyik az opercis rendszer kzvetlenebb felgyelete al kerlhet, elkezddhet a vgrehajtsa, azaz folyamatt vlhat. Viszonylag ritkn van r szksg.
Kzbens Folyamatosan figyeli a rendszer llapott (terhelst) s ha tlsgosan sok folyamat kerl futsra ksz llapotba s egyiknek sem jut elg processzorid akkor a kzbens szint temez egyes folyamatokat felfggeszt illetve prioritsukat trendez a rendszer hatkony mkdsnek rdekben.
Alacsony Az alacsony szint temez feladata, hogy a processzort a futsra ksz folyamatok kztt igazsgosan s hatkonyan ossza el. Legfbb kvetelmny vele szemben a gyorsasg.
FCFS(First Come First Served) Elbb jtt elbb fut: rkezsi sorrendben kapjk meg a processzoridt ameddig le nem futnak illetve valamelyik perifria miatt nem vrakoznak. Egyszer, biztos, viszont a folyamatok rkezsi sorrendjtl nagyban fgg a vrakozsi id. SJB (Shortest Job First) A legrvidebb elnyben. A legrvidebb processzoridt ignyl folyamatot rszesti elnyben. A legrvidebb vrakozsi idt adja viszont a hosszabb futst ignyl folyamatokkal mostohn bnik (leterhelt processzor esetn mindig elvghat valaki) RR(Round Robin) Minden egyes folyamatnak egy meghatrozott processzoridt biztost s azutn megszaktja s a vrakozsi sor vgre teszi. Elnye, hogy a legrvidebb vlaszidt produklja s a folyamatok kztt demokratikusan osztja el a CPU-t viszont jelents adminisztrcit ignyel a krnyezetvltsok miatt.
65
21. Tbbfeladatos (multitasking) opercis rendszerek feladatai, felptse. A trvdelem feladata s megvalstsa (privilgiumi szintek, jogosultsgok, szegmensek, deszkriptorok, kapuk).
A tbbfelhasznls opercis rendszerek lehetv teszik, hogy a szmtgp erforrsait egyszerre tbb felhasznl hasznostsa. Az opercis rendszernek gondoskodnia kell arrl, hogy az egyes felhasznlk ignyei ki legyenek egyenslyozva, s hogy az egyes programok elegend s kellen elvlasztott erforrsokat hasznljanak. Egy rendszer kpessge tbb mint egy feladat prhuzamos, vagy annak ltszatt kelt mdon trtn futtatsra. Valdi prhuzamos feldolgozst jelent multitasking (multiprocesszing) csak tbb processzorral rendelkez rendszerekben valsthat meg.
Az egyprocesszoros gpeken a multitaskingot az opercis rendszerek az n. idoszts (time sharing) segtsgvel valstjk meg gy, hogy minden egyes feladatot csak a msodperc trtrszig hagynak futni, ami utn elveszik tle a vezrlst, s egy msik feladatot hagynak hasonlan rvid ideig futni. Azt, hogy melyik feladattal mennyit foglalkozzon a processzor, a folyamat prioritsa mutatja meg. ltalban a rendszerfolyamatok magasabb prioritssal futnak. gy az erforrsokhoz a folyamatok idben osztozva frnek hozz. Az idosztsos rendszer mkdse sorn minden egyes feldolgoz folyamatnak kizrlagos, de csak rvid ideig tart hozzfrst enged az erforrsokhoz, amelynek letelte utn ugyanezt a jogot a kvetkez processznek engedi t, amellyel szintn hasonl mdon bnik el. Ilyen mdon egyetlen rendszeren tbb feldolgozsi folyamat vgrehajtst is lehetv teszi a nlkl, hogy azoknak egyms befejezsre kellene vrniuk. Az idosztsos rendszerek annak ellenre, hogy valjban soros mkdsi mdot alkalmaznak, a prhuzamos feldolgozs ltszatt keltik a felhasznlban, illetve tbb felhasznl ltszlag prhuzamos - valjban megosztott - kiszolglsra is alkalmasak. temez (scheduler): A tbbfeladatos rendszerek kzponti magja, amely eldnti, hogy melyik feladat mikor s mennyi ideig kapja meg a vezrlst. Amennyiben az temez a megadott id lejrta utn kpes maga is visszavenni a vezrlst az ppen fut feladattl, akkor preemptv temezrl beszlnk. A vezrls visszaszerzsre csak a fut feladat hozzjrulsval kpes temezket kooperatv temeznek nevezik. Mivel gy egyetlen msodpercen bell akr tbb tz folyamat is "szhoz juthat", azaz mveleteket vgezhet, ezrt a felhasznlban az kpzet keletkezik, hogy a programok prhuzamosan mkdnek - pedig valjban minden idpillanatban csakis egyetlen egy folyamat fut.
Jellemzi: - Klnbz felhasznlk adatainak, belltsainak nyilvntartsa, privt munkaterlet biztostsa - Tbb felhasznl is dolgozhat egy szmtgpen ugyanabban az idben - Tbbfeladatos (multitask): tbb feladat (process) futhat egy idben - A szmtgp-hlzatok kiterjedt tmogatsa - Klnbz korltozsok ltrehozsa klnbz felhasznlk rszre - A felhasznlk csak a sajt fjljaikkal dolgozhatnak
66
Felptsk
A WINDOWS opercis rendszer A Windows mr tbbfeladatos, multitaszkos opercis rendszer, egyszerre tbb alkalmazs is futtathat, ms - ms ablakokban. A multitaskingot idosztsos (time-sharing) mdon valstja meg a rendszer, ellenttben a Windows 3.1-ig ltez kooperatv mkdssel ( az alkalmazsok egyeztek meg ). Programhiba esetn ltalban a hibs alkalmazs bezrhat, az op. r. nem srl. Internetes lehetsgekkel, beptett hlzatkezelsi lehetsggel rendelkezik. A Windows NT a Windows tovbbfejlesztett, zleti cl megvalstsa, alkalmazsval tbb gp sszekapcsolhat, gy megosztva az erforrsokat. Kiterjedt biztonsgi rendszere van . A fjl s knyvtrstruktra a Windows rgebbi vltozataiban megegyezik a DOS-ban hasznlt struktrval, csak a megjelentse trtnik grafikusan. Viszont a Windows 95-ben mr lnyeges vltozsokat eszkzltek ezen a tren. A Windows 95 kihasznlja a 32 bites hardverlehetsgeket. A hardver megvltoztatsa esetn bekapcsolskor automatikusan felismeri a vltozst s azonostja az j elemet (Plug and Play). A fizikai knyvtrstruktra azonos a DOS knyvtrstruktrjval, a fjlok is ugyan gy helyezkednek el a katalgusokban. Az elnevezseknl viszont mr lehet hossz neveket, valamint ms karaktereket is hasznlni. A nevek hossza legfeljebb 250 karakter lehet. A fizikai megvalsts szinte teljesen azonos a DOS - al, a klnbsg a megjelentsben tallhat. A lemezen ugyan gy vannak trolva az llomnyok, a nevk is csak maximum 13 karakter hossz, belertve a kiterjesztst s a pontot is, a hossz megnevezs egy msik fjlban tallhat.
A UNIX opercis rendszer A UNIX valjban a Unix alap opercis rendszerek csoportja (pl. HP-UX, IRIX, stb.).Rgi 1969 ta ltezik. Ltezik ingyenes verzija is, a LINUX (pl. Red Hat, Suse, Debian).
Tbbfelhasznls - tbbfeladatos, idosztsos opercis rendszer. Ez azt jelenti, hogy egyidben tbb felhasznl is dolgozhat, s minden felhasznl tbb programot is futtathat egyidben. A felhasznlk n. terminlokon keresztl csatlakoznak a rendszerre, az sszekttets megvalstsra szmos mdszer ltezik. A rendszer karakteres s grafikus fellettel is rendelkezik. A felhasznlkat, jogosultsgaikat nyilvntartja. A memriakezelsben lapozsos virtulis memriakezelst s swappingot hasznl: ha a rendszernek szabad memrira van szksge, egy inaktv folyamatot a httrtrra r, egybknt pedig gondoskodik a szksges lapok memriban ltrll. A fut folyamatok kztt az idszeleteket prioritsos elven osztja ki, mely a felhasznl ltal bellthat. A Unixban minden file: olyan kommunikcis vgpont, ahova adatok rhatak s onnan kiolvashatak. A file rendszerben nincsenek meghajtk, a rendszerben lev minden file-t a gykrknyvtrbl elrhetnk (pl. /mnt/floppy). A filenv max. 255 karakter hossz lehet, minden karaktert tartalmazhat, megklnbzteti a kis s a nagybetket. A fjl az adatok trolsra szolgl alapvet adatobjektum a UNIX alatt. Teljesen strukturlatlan, nincs sem rgztett, sem vltoz hosszsg mezkre, rekordokra bontva, nincs megszabott hosszsga, semmilyen ms korltja nincs.A fjl teht egyszeren bjtok (karakterek) sorozata.
A UNIX fjloknak hrom f tpusa van: -Kznsges : adat, vgrehajthat, binris, shell-scrip -Specilis -Katalgus A shell-scriptek ugyanazok a UNIX - ban mint a DOS - ban a batch fjlok. Sorai vgrehajthat parancsokat tartalmaznak. A binris - amint a neve is mutatja - a futtathat programok binris kdjt tartalmazza. A specilis fjlokon keresztl lehet elrni a klnbz perifrikat, terminlokat, billentyzetet, monitort, diszkeket, hlzati egysgeket stb. 67
A katalgusok fjlok egy msik fjltpus. Ez azt jelenti, hogy a UNIX - ban a katalgusok is fjlokban tallhatak. Annyi a klnbsg, hogy ezen fjloknak a kezelsre kln parancsok szolglnak. Ezrt lehet kijelenteni, hogy a UNIX - ban minden fjl !
Feladataik - az egyes taszkok jellemzinek nyilvntartsa - a processzor temezse - taszkvlts, a taszkok llapotnak mentse/helyrelltsa - (kzs) erforrsok temezse - trkezels, trkioszts, trvdelem - a konkurencia kezelse, klcsns kizrs biztostsa - a rendszer hatsfoknak vezrlse
Trvdelem
Napjainkban egyre fontosabb vlik a trolt adatok s programok vdelme. A korszer szmtgpek s op. rendszerek lehetv teszik, hogy egyidejleg tbb felhasznl is dolgozzon ugyanazon a gpen (multiuser-zemmd) s tbb program fusson prhuzamosan (multitask-zemmd). Ezzel nvekszik annak a valsznsge, hogy az egyes programok (folyamatok) belernak a msikba, elrontva annak mkdst. Az ilyen problmk megakadlyozsra felttlenl szksges a klnbz vdelmi mdszerek alkalmazsa.
A vdelem legfontosabb feladatai a kvetkezk:
- az elklntett memriaterletek vdelme. Egy prg. csak a sajt terlett hasznlhatja, vagyis a kiadott cmeket meg kell vizsglni, hogy a megadott terletre vonatkoznak-e. Ezen bell is kln kell vlasztani a programterletet (ahol az utastsok vannak) s az adatterletet, mert a programterletrl csak olvass trtnhet, mg a msik rhat-olvashat. - a rendszerprg.-ok vdelme a felhasznli prg.-oktl. - a felhasznli prg.-ok vdelme egymstl.
A vdelmi rendszer kialaktsban nagy fontossgak a szegmensek s a klnbz deszkriptortblk.
A trvdelem kialaktsnak nhny lehetsge:
- kln szegmensbe lehet tenni az adatokat s az utastsokat tartalmaz programrszeket, ezzel szablyozva az rhatsgot s olvashatsgot. - vdelmi bitek rendelhetk az egyes szegmensekhez s ezek a deszkriptorok. - prioritsok is rendelhetk az egyes prg.-okhoz (pl. a rendszert mkdtet prg.-ok prioritsa a legnagyobb). - ltrehozhatk olyan szegmensek, amelyeket minden program hasznlhat. Ezek a GDT- tblban (Globlis Deszkriptor Tblban) vannak nyilvntartva. Vannak olyan szegmensek, amelyeket csak egy-egy felhasznli program hasznlhat. Ezek az LDT-tblban (Loklis Deszkriptor Tblban) vannak nyilvntartva.
68
Szegmensek
Kdszegmens: minden egysgnek van sajt kdszegmense. Az aktulis kdszegmens cme a proc. CS regisztert tallhat. A program jl elklnthet programrszekbl ll, egy Turbo Pascal programnak mindig van egy fprogramja, mely klnbz modulokat (unit) hasznl. Minden unit lefordtott kdja egy kln szegmens, melyet egyms utn helyeznek el a trban: legell a fprogram kdszegmense, melyet a programhoz szerkesztett unitok kdszegmensei kvetnek. Egy kdszegmens mrete max. 64 KB, a programban hasznlt unitok szma elvileg korltlan. Adatszegmens: az sszes egysg ezt hasznlja statikus adat globlis vltoz, s az sszes tpusos lland trolsa. Reg->DS. Az adatszegmens egy kzs, lland adatterlet. A fprogram s az sszes unit ezt az adatterletet hasznlja statikus (az egsz program futsa sorn ltez) adatainak trolsra. Az adatszegmens tartalmazza teht a globlis vltozkat s az sszes tpusos llandt. Mrete max. 64 KB lehet. Veremszegmens: A veremszegmenst a rendszer adatok ideiglenes trolsra hasznlja, ide kerlnek az eljrsok s fggvnyek loklis vltozi, paramterei s visszatrsi cmei. A verem szegmenscme s mrete a futs sorn lland.
Adatvdelem
Eszkzszint vdelem - Hardver: Lemeztkrzs: Esetn minden lemezbl kett van, s minden lemezzel kapcsolatos mvelet mindkt egysgen prhuzamosan, azonos mdon hajtdik vgre. Az opercis rendszer figyeli az eltrseket, s hiba esetn megksrli a javtst. A tkrzs elve kiszlesthet a lemezegysgen fell a vezrlkr-tyra, st az egsz gpre is. RAID: (Redundant Array of Inexpensive Disks) Ebben az esetben lemezek egyttmkd tmbje vgzi az adatok trolst gy, hogy az adatblokkok meghatrozott rendszer szerint megoszlanak a le-mezek kztt. Olcs lemezek redudns tmje
Adatszint vdelem - Szoftver: Paritsvizsglattal: Az adattvitel sorn az esetleges tviteli hibk feldertst megksrelhetjk oly mdon, hogy az tviend adatbit-csoportot egy parits bittel egsztjk ki gy, hogy az gy kiegsztett adatcsoportban lv 1 rtk bitek szma pros (pros parits), vagy pratlan (pratlan parits) legyen. Ilyen mdon, az AD oldaln mindig biztosthat, hogy az 1-es rtk bitek szma mindig pros/pratlan legyen, s a VEV oldalon az egy (ill. pratlan szm) bit vltozsa miatti hiba felderthet.Ketts hibt a mdszer nem vesz szre. Paritsbitet a mgnesszalagokon kvl ltalban az operatv tr vdelmre is hasznlnak. Hibajavt kddal: hibajavt kdok alkalmazhatk, ha a vrhat hibk egymstl fggetlenek. lta-lnosan elmondhat, hogy n+1 db hiba detektlsra s n db hiba javtsra. A hibajavts alapja lta-lban az n. Hamming-tvolsg, azaz azt az adatot tekintjk jnak, amely megfelel a hibajavt bitek llsnak, s a rossz adattl a lehet legkevesebb bitben tr 69
el. Az optikai egysgek olvassi hibalehe-tsgei meglehetsen nagyok, ezrt a CD-ROM olvasknl 6 db hibajavt bitet hasznlnak. Ellenrz sszegek: ECR (egyedi bithibk) CRC (Cyclic Redundancy Code) Ellenrz sszegek hasznlatosak akkor, ha a vrhat hibk nem fggetlenek egymstl, hanem egy adatfolyam egymst nvel bitjei srlnek. Pldul egy hlzati zavar, vagy mechanikai srls hatsra. CRC-
a.) Programok s felhasznli feladatok vdelme A trvdelemnek hrom klnbz szintjt szoktuk megklnbztetni: 1. vdeni kell egy folyamat klnbz logikai egysgeit egymstl, 2. vdeni kell a felhasznli folyamatokat egymstl, de biztostani kell kzttk az ignyelt kommunikci lehetsgt, 3.vdeni kell az opercis rendszert a felhasznli folyamatoktl. Privilegizlsi szintek (Hierarchikus) Deszkriptorok (Nem hierarchikus)
b.) Adatok vdelme: A feladatok ltal hasznlt adatok vdelme rdekben, a szegmensekhez, lapokhoz val hozzfrsi jogokat szablyozza a vdelmi rendszer. A leggyakoribb hozzfrsi jogok: - olvassi jog (read access); a trolhoz (laphoz, szegmenshez) fordul feldolgozs tetszleges adatot kiolvashat az adott terletrl; - rsi jog (write access); a feldolgozs trhatja a trolterlet adatait, berhat j adatokat, trlheti az ott lv adatokat; -vgrehajtsi jog (execute access); a feldolgozs a trolterleten tallhat kdot elindthatja; vgrehajtsi jog csak programot tartalmaz laphoz, vagy szegmenshez rendelhet hozz, adatszegmenshez nem.
Kapuk
kapulerok: call kapu: 16bites 32bites megszaktsi kapu:16 bites 32bites csapda kapu: 16bites, 32bites taskkapu Ezek olyan szegmenslerk melyek mgtt valdi szegmens nincs, specilis szerkezet. Kapulerk csak pointerek. Tblzaton t tmutat egyigazi szegmensre. Behoz egy igazi szegmenslert. Bizonyos szegmensekhez csak kapun t lehet hozzfrni: akinek a privilgiumszintje eltr a hv programtl, Ez biztonsgos de lass. Call:vezrls tadsra szolgl, megjelli az eljrs belp pontjt, meghatrozza a belpshez szksges privilgiumszintet. Megszaktsi csapda: IDT-tblzat:megszaktsi tblzat kapun t lehet tadni a megszakts krst Megszakts: nem jra megszakthat
70
B ttelek
1. Az algoritmus s a program fogalma, jellemzi. Az algoritmus-tervezs helye s szerepe a szoftverfejlesztsben. Algoritmusok pt elemei. Algoritmuslpsek s programutastsok kapcsolata. Programvezrlsi szerkezetek egy vlasztott programozsi nyelvben.
Az algoritmus s a program fogalma, jellemzi
Algoritmus: Olyan utastsok halmaza, melyek egy feladat megoldshoz vezetnek. Egy szmtgp ltal rthet algoritmust programnak neveznk. Jellemzi: 1) lpsekbl ll (elemi tevkenysgekbl, instrukcikbl, utastsokbl) 2) minden lpsnek egyrtelmen vgrehajthatnak kell lennie (a vgrehajt egysg minden lps utn eldnti, mi lesz a kvetkez lps) 3) hivatkozhatunk sszetett lpsekre is.(kln megadhatjuk) 4) a vgrehajtand instrukcinak valamilyen clja van. (A vgrehajts sorn valamilyen vltozs kvetkezik be. ltalban mevltoznak az adatok rtkei.) 5) az algoritmus vges szm lpsekbl ll. (Ez azt jelenti ,hogy az algoritmizl ember a feladat megoldsval, vagyis az algoritmus lersval elbb-utbb vgez). 6) ltalban vannak bemen (input) adatai, melyeket felhasznl. 7) legalbb egy kimen (output) adatot eredmnyeznie kell. 8) elronthatatlannak kell lennie
Egy tetszleges algoritmus felpthet a kvetkez elemekbl: szekvencia, szelekci, iterci, felttel nlkli ugrs. A csak szekvencia, szelekci, itercibl ptkez programot strukturlt programnak nevezzk.
Program: a szmtgp szmra rthet instrukcik sorozata, mely az adatok megfelel szmtsaival s mozgatsaival egy feladat megoldst clozza.
Jellemzi: 1) sszetett lpsekbl (algoritmus) ll (mlysge fgg a programnyelv lehetsgeitl, a mr megalkotott elemi tevkenysgtl, utastsoktl) 2) az utasts vgrehajtsnak mindig van trgya. Ezeket a trgyakat a programozsban adatoknak nevezzk.. 3) clja van (az utastsnak) 4) felhasznlbartnak kell lennie
Az algoritmus-tervezs helye s szerepe a szoftverfejlesztsben
Tervezsi irnyok: - Fellrl lefel (top-down): a megoldst fellrl lefel, fokozatosan finomtjuk s gy a kis feladatokat csak a vgs fzisokban oldjuk meg; -Alulrl felfel (bottom-up): ksz feladatokbl ptkeznk (pl. megoldott rszfeladatok felhasznlsval vagy rutingyjtemny vsrlsval). Ez nagy programozi tapasztalatot ignyel.
A programfejleszts fzisai Analzis tervezs kdolstesztels Az els kett nyelvfggetlen, a megoldst clozza meg, az utbbi kett a megoldst implementlja az adott nyelvhez.
71
Analizis Az analzis sorn felmrjk a helyzetet, mire van szksg, mik a lehetsgek. Itt kell eldnteni, hogy a feladat egyltaln megvalsthat-e, mik a clok, meg kell becslni az idt s a kltsgeket. Feladatspecifikci vagy rendszerterv ksztse. Tervezs A programtervezs feladata, hogy az analzis sorn sszegyjttt informcikat s adatokat alapul vve logikailag vglegesen kialaktsa az adatstruktrkat s az adatokon manipull algoritmusokat.(Strukturlt, majd OOP) Kdols Az implementci els szakasza a programterv kdolsa egy adott programnyelven. A kdolsi szakasz dokumentcija a forrsprogram. Ez akkor j, ha pontosan a programterv alapjn kszl, ttekinthet s egyrtelm megjegyzssekkel van kiegsztve. Tesztels A tesztels sorn klnbz prbaadatokkal futtatjuk a programot. Tesztelskor a kvetkezkre kell figyelni: - Pontosan gy mkdik a program ahogy az feladat lersban szerepelt? - Nem lehet elrontani? - Elg hatkony? - Biztonsgos a hasznlata? - Felhasznlbart? Dokumentls fejleszts sorn kszl dokumentcik sszessge a fejleszti dokumentci, mely az albbiakbl ll - Feladatspecifikci - Programterv - Forrsprogram - Ksz program - Tesztadatok listja
Algoritmusok pt elemei
72
Algoritmuslpsek s programutastsok kapcsolata Az algoritmuskszts elvei: Fellrl lefele halads elve. Egy komplex problma szintenknti rszekre osztsa. Eljutva egszen az alap algoritmusokig amelyekbl mint tglkbl pl fel az egsz. Oszd meg s uralkodj elve. Az algoritmus legyen ttekinthet (uralhat). Az ttekinthetsget a megfelel rszekre oszts biztostja Szksges dntsek kimondsnak elve. A meghozand dntst, ha minden informci rendelkezsre ll, ki kell mondani. Dntsek elhalasztsnak elve. Informci hinyban dntst nem szabad kimondani. Adatok szeparlsnak elve. A rszprogramok nem hasznlhatjk egyms bels adatait. loklis vltozk : csak az adott rszprogram hasznlhatja. globlis vltozk : minden programrsz hasznlhatja. Problmaorientltsg elve. Algoritmust problma s nem konkrt feladat megoldsra ksztnk. / pl. nem ksztnk kln algoritmust 10 s 20 szm sszegzsre.
Programvezrlsi szerkezetek egy vlasztott programozsi nyelvben
Szekvencia (sszetett utasts) Egyms utni tevkenysgek sorozata. A szekvencit a nyilak irnyban felsorolt egyms utni tevkenysgek alkotjk. Szelekci Programelgaztatst jelent; egy adott ponton a tevkenysg vgrehajtsa felttelektl fgg. A szelekci vlogats - a program vgrehajtst egy feltteltl fggen elgaztatja, felksztve gy a programot a lehetsges esetek kezelsre. A szelekcikat egymsba is lehet gyaztatni. Az egyg szelekci (IF..THEN) a megadott felttel teljeslse esetn vgrehajt egy utastst (vagy utastssorozatot), egyb esetben pedig kikerli a feltteles rszt s folytatja a program szekvencilis vgrehajtst.
73
A ktg szelekci (IF..THEN..ELSE) azt jelenti, hogy ha teljesl a megadott felttel, akkor a hozz kapcsold tevkenysget kell vgrehajtani, egybknt egy msikat. Az elgazs utn pedig folytatdik a program szekvencilis vgrehajtsa.
Tbbg szelekci (IF..THEN..ELSE IF s CASE - OF) esetn a felttelek kzl legfeljebb egy teljeslhet, ha az egyik teljesl, a tbbi mr szba sem jhet. Az egy illetve a ktg szelekci a tbbg szelekci specilis esete.
Iterci Az iterci az utastsok ismtelt vgrehajtst jelenti.
Elltesztel ciklus (WHILE..DO) esetn a program mg a ciklusba val belps eltt megvizsglja a belpsi felttelt, s ha ez teljesl, a ciklusmag vgrehajtdik. A ciklusmag ismtelten vgrehajtdik, amg a belpsi felttel teljesl. Ha a felttel nem teljesl, akkor a vezrls a ciklus utni utastsra kerl. Kt rszbl ll: ciklusfelttel, ciklusmag.
74
Htultesztel ciklus (REPEAT..UNTIL) esetn a ciklus magja egyszer mindenkppen vgrehajtdik, majd a ciklus vgn trtnik egy felttelvizsglat (kilpsi felttel), ami eldnti, kilphetnk-e a ciklusbl, vagy nem.
Nvekmnyes ciklus (FOR) esetn a ciklusmagot a ciklusfelttelben meghatrozott szmszor hajtjuk vgre. A szmot egy kezd- s egy vgrtkkel adjuk meg, a ciklus a megadott intervallumon bell egy ciklusvltozt lptet, s ha ez elri a vgrtket, a ciklus befejezdik. A FOR teht egy elltesztel ciklus, ahol elre lehet tudni a vgrehajtsok szmt.
75
2. Szoftverfejlesztsi mdszer s mdszertan. A vzess mdszer sszehasonltsa az inkrementlis s itercis mdszerekkel. A RUP objektumelv fejlesztsi mdszertan lnyeges jellemzi (letciklus szemllet, felpts). Nzetek s modellek, kapcsolatuk.
Szoftverfejlesztsi mdszer s mdszertan
A fejlesztsi modellek a fejlesztsi folyamat tfog, koncepcionlis modelljt rjk le tmutatst ad a csoportmunka irnytsra Meghatrozza, hogy milyen termkeket kell kifejleszteni s mikor Meghatrozza az egyes fejlesztknek, valamint a csoportnak a feladatt Kritriumokat ad a termkek s tevkenysgek mrsre s minstsre Ritkn jelennek meg tiszta, idelis formban A fejlesztsi folyamat egyfajta logikai absztrakcija.
Szoftverfejlesztsi mdszertanok Az 1960-as vek vgn a szoftverfejleszts hajnaln a programozk szmra az egynileg kidolgozott technikk kvetse volt az ltalnos, nagyrszt azrt, mert a programozs egyszemlyes feladat volt. Csapatmunka kialaktsa szinte remnytelen volt, mert az elkszlt programkd logikjt gyakran csak az alkotja rtette. Az 1970-es vek elejn bizonyos programozsi gyakorlatok (pl. GOTO alkalmazsa Edsger Wybe Dijkstra, 1968) nehezen kezelhetnek nyilvntsval indult el egy folyamat a szoftverfejleszts technikjnak elvi alapokon trtn megfogalmazsa fel. Bizonyos mdszerek nagyon sikeresnek bizonyultak, amely jabb szablyozsok kialaktsra sztnzte a szakterlet kpviselit. vtizedek sorn egyre tbb szablyrendszer kvetse vlt elfogadott, amelyekbl lassan egy-egy szervezet ltal menedzselt komplex mdszertanok alakultak ki. A szoftverfejlesztsi mdszertan teht klnbz szablyok, eljrsok, mdszerek halmaznak tekinthet, amely egy szoftvertermk elksztst segti el. A klnbz standardok pedig ms s ms tevkenysgi terleten igyekeznek minl szlesebb krben elfogadott s alkalmazott ajnlsokat adni. A clokrl s a kvetelmnyekrl rendelkezse ll informcik rendszerezse s analizlsa egy bizonyos hatr felett megkveteli azok egysgesen struktrlt dokumentlst. Az alkalmazott szoftver-letciklus modelltl fggetlenl tbb kvetelmnyelemzsi s tervezsi mdszertan irnymutatst is kvethetjk, mint pl. az SSADM (Structured Systems Analysis and Design Method), illetve az objektum-orientlt rendszereket ler UML (Unified Modelling Language). Bizonyos mdszertanok mint pl. az iteratv Incremental vagy Spiral Model esetben alkalmazhat, objektum-orientlt szemlletet kvet RUP (Rational Unified Process) a teljes szoftver-letciklus idtartama alatt tmutatknt szolglnak a napi tevkenysgek elvgzshez. Ms mdszertanok mint pl. az MSF (Microsoft Solutions Framework) egy-egy konkrt rszterletre fkuszlva (a projektszervezet felptse, a kpessgek menedzselse, a kockzatkezels, stb.) s azokat egysges keretbe helyezve nyjtanak mintt a munkavgzshez. A legfrissebb irnyzatok kz tartozik az XP (Extreme Programming), ami programozi szemszgbl szmos hasznos tlettel kpes orvosolni ltalnos szoftverfejlesztsi problmkat. A kvetkezkben az itt ismertetett fogalmakat szeretnnk rszletesebben ismertetni.
76
A vzess modell
A Waterfall Model a kvetelmnyelemzs, a tervezs, az implementci s az integrci szigoran egyms utni vgrehajtsra pl. Az egyes tevkenysgek vgrehajtsnak befejezdst mrfldknek (milestone) nevezzk, amelynek elrst a hozz tartoz dokumentum elkszlse jelzi.
A vzess modell fzisai
- Kvetelmnyanalzis s definci - Rendszer- s szoftvertervezs - Implementci s a rszegysgek tesztelse - Rszegysgek integrlsa s a rendszer tesztels - Mkdtets s karbantarts - A vzess modell legfbb htrnyai:
A gyrts meginduls a utn nehz vltozsokat bepteni.
Egy munkafzisnak be kell fejezdni, mieltt a kvetkez elkezddhet.
A vzess modell problmi
- Nehz a vltoz megrendeli ignyekhez igazodni, mert a projekt nehezen vltoztathat rszegysgekbl ll.
- Ez a modell akkor hasznos, ha a kvetelmnyek jl ismertek s csak nagyon kis vltozsok lehetsgesek a fejleszts sorn.
- Sajnos csak kevs zleti rendszernek vannak stabil kvetelmnyei.
- A vzess modellt fleg nagy rendszerek fejlesztse sorn hasznljk, ahol a fejleszts tbb helysznen trtnik.
77
Inkrementlis mdszer
Az Incremental Model elve a 80:20 szably, azaz egy 80%-ban ksz megolds elksztsre elegend a rendelkezsre ll id 20%-a. A modell a tevkenysgek iteratv vgrehajtsra pl. Az els itercis lps (kezdeti cliklus) sorn 80%-ban elkszlt kibocsthat rendszer tovbbi itercik sorn funkcionlisan bvl a kvetelmnyelemzsben lefektetett ignyek szerint. Jellemzje, hogy mr az implementci korai szakaszban rendelkezsre ll a mkd rendszer. Elkpzelhet gy is, mint egy Waterfall Model szerint felpl rendszermag (80%), majd Waterfall Model vagy Rapid Prototyping szerint hozzadott tovbbi funkcionalitsok (20%). Alkalmazhatsgnak felttelei a rizikt cskkent tnyezk: - Konkrtan specifiklt clok, jl definilt kvetelmnyrendszer. - Rendelkezsre ll, rendszerezett informcik. - A megbz rszrl hatkony dntsi mechanizmus, lehetsg a kzvetlen kommunikcira. - Kis mret projektszervezet. - Elhanyagolhat technolgiai rizik (kiprblt technolgia, garantlhat teljestmny) Alkalmazsa olyan nagy mret, komplex projektek esetn javasolt, ahol zleti igny minl elbb kzzelfoghat eredmnyt produklni. Iterci Az iterci az utastsok ismtelt vgrehajtst jelenti.
Elltesztel ciklus (WHILE..DO) esetn a program mg a ciklusba val belps eltt megvizsglja a belpsi felttelt, s ha ez teljesl, a ciklusmag vgrehajtdik. A ciklusmag ismtelten vgrehajtdik, amg a belpsi felttel teljesl. Ha a felttel nem teljesl, akkor a vezrls a ciklus utni utastsra kerl. Kt rszbl ll: ciklusfelttel, ciklusmag.
78
Htultesztel ciklus (REPEAT..UNTIL) esetn a ciklus magja egyszer mindenkppen vgrehajtdik, majd a ciklus vgn trtnik egy felttelvizsglat (kilpsi felttel), ami eldnti, kilphetnk-e a ciklusbl, vagy nem.
Nvekmnyes ciklus (FOR) esetn a ciklusmagot a ciklusfelttelben meghatrozott szmszor hajtjuk vgre. A szmot egy kezd- s egy vgrtkkel adjuk meg, a ciklus a megadott intervallumon bell egy ciklusvltozt lptet, s ha ez elri a vgrtket, a ciklus befejezdik. A FOR teht egy elltesztel ciklus, ahol elre lehet tudni a vgrehajtsok szmt.
RUP
A Unified Process a rendszerfejleszts folyamatt alapveten kt dimenzival rja le. Az egyik dimenzi a fejleszts idbelisgt, dinamikjt kveti. A msik dimenzi statikus szempontja az eljrs elemeit hatrozza meg, az elksztend dokumentumokat, diagramokat s forrskdokat, melyek kzvetve az elkszts lpseit, munkafolyamatait is megadjk. Az idbelisg alapjn a Unified Process a rendszerfejlesztst ngy nagyobb egysgre, ngy fzisra bontja.
79
Az Elkszts (inception) fzisban a rendszer eredeti tlett olyan rszletes elkpzelss dolgozzuk t, mely alapjn a fejleszts tervezhet_ lesz, a kltsgei pedig megbecslhet_k. Ebben a fzisban megfogalmazzuk, hogy a felhasznlk milyen mdon fogjk hasznlni a rendszert s hogy annak milyen alapvet bels szerkezetet, architektrt alaktunk ki. A Kidolgozs (elaboration) fzisban a hasznlati mdokat, a hasznlati eseteket rszleteiben is kidolgozzuk, valamint ssze kell lltanunk egy stabil alaparchitektrt (architecture baseline). A Unified Process ksztinek a kpe alapjn a teljes rendszer egy testnek tekinthet, csontvznak, brnek s izmoknak. Az alaparchitektra ebbl a brrel bortott csontvz, mely mindssze a minimlis sszekt_ izomzatot tartalmazza, annyit, amennyi a legalapvetbb mozdulatokhoz elegend. Az alaparchitektra segtsgvel a teljes fejleszts folyamata temezhet_ s a kltsgei is tisztzhatk. A Megvalsts (construction) sorn a teljes rendszert kifejlesztjk, beptjk az sszes izomzatot. Az tads (transition) a rendszer btavltozatnak kiprblst jelenti, mely sorn nhny gyakorlott felhasznl teszteli a rendszert s jelentst kszt annak helyessgr_l vagy a hibirl s hinyossgairl. A rendszer javtsa a rendszer mdostst, majd ezt kvet_en jabb tesztelst jelent. Minden fzis vge a fejleszts egy-egy jl meghatrozott mrfldkvt (milestone) jelenti, azaz olyan pontot, ahol egy clt kell elrnnk, illetve ahol kritikus dntseket kell meghozni. Minden fzis vgn megvizsgljuk az eredmnyeket s dntnk a folytatsrl.
80
A fejleszts nagyobb egysgeit jelent fzisok tovbbi kisebb egysgekre, itercikra (iteration) bonthatk. Minden iterci egy teljes, illetve rszben nll fejlesztsi ciklust jelent, mivel az iterci vgn egy mkd s vgrehajthat alkalmazsnak kell elllnia. Minden iterci vgn gy a vgs, teljes rendszer egyre bvl rszt kapjuk eredmnyl, melyeket a rendszer egyms utni kibocstsainak (release), vagy bels vltozatainak neveznk. A bels vltozatok lehetv teszik, hogy azt a fejlesztk kiprblhassk s annak tapasztalatai alapjn esetleg mdosthassk a fejleszts temezst.
Kezdetben a fejlesztshez egy megfelel kiindulpontot keresnk. Az els tevkenysgcsoportunk gy az zleti modellezs (business model), mely sorn megkeressk a ksztend rendszer zleti vagy ms nven szakterleti krnyezett, mely alapveten az zleti fogalmakat s folyamatokat jelentik, illetve az azokra hatst gyakorl zleti munkatrsakat. A kvetkez tevkenysg a kvetelmnyek meghatrozsa (requirements 81
capture). Ezen munkafolyamat sorn sszegyjtjk s felsoroljuk a rendszer mkdsvel szemben tmasztott kezdeti elkpzelseket, lerjuk azt, hogy a rendszernek milyen krnyezetben kell mkdnie, valamint felsoroljuk a funkcionlis (mkdssel kapcsolatos) s nem-funkcionlis (pl. vlaszidk, bvthetsg, alkalmazott technolgik, stb.) kvetelmnyeket. A kvetelmnyek meghatrozsa sorn alapveten a felhasznlk szempontjbl rjuk le a rendszert, gy annak egy kls kpt rgztjk. A kvetkez munkafolyamat, az elemzs (analysis) folyamn a kvetelmnyeket a fejlesztk szempontjnak megfelelen rendezzk t, gy azok egyttessen a rendszer egy bels kpt hatrozzk meg, mely a tovbbi fejleszts kiindulpontja lesz. Az elemzs sorn rendszerezzk s rszletezzk az sszegyjttt hasznlati eseteket, valamint azok alapjn meghatrozzuk a rendszer alapstruktrjt. Az elemzs clja a szerkezeti vz kialaktsa, mely vzat a kvetkez munkafolyamat, a tervezs (design) formlja teljes alakk s tlti fel konkrt tartalommal, mely az sszes funkcionlis s nem-funkcionlis kvetelmnynek is eleget tesz. A tervezsnek az implementcival kapcsolatos sszes krdst meg kell vlaszolnia, gy rszletesen le kell rni az sszes felhasznlt technolgit, a rendszert fggetlen fejleszti csoportok ltal kezelhet rszekre kell bontani, meg kell hatrozni az alrendszereket s kzttk a kapcsoldsi mdokat, protokollokat. A tervezsnek a rendszert olyan rszletezettsgi szinten kell vzolnia, melybl az kzvetlenl, egyetlen krds s problma felvetse nlkl implementlhat. A Unified Process szhasznlata szerint el kell lltania az implementci tervrajzt (blueprint). Az implementci (implementation) sorn a rendszert az UML terminolgija szerinti komponensekknt lltjuk el_, melyek forrskdokat, binris s futtathat llomnyokat, szvegeket (pl. sg), kpeket, stb. jelentenek. Az llomnyok ellltsa egyben azok fggetlenl vgrehajthat, nll tesztjeit is jelentik. Az implementci feladata mg az architektra, illetve a rendszer, mint egsszel kapcsolatos krdsek megvlaszolsa, gy az iterci esetn szksges rendszerintegrci tervezse, az osztottsg (distribution) tervezse. Az utols munkafolyamat, a teszt (test) sorn sszelltjuk az itercikon belli integrcis tesztek s az itercik vgn vgrehajtand rendszertesztek temtervt. Megtervezzk s implementljuk a teszteket, azaz teszt-esetekknt megadjuk, hogy mit kell tesztelnnk, teszt-eljrsokknt megadjuk azok vgrehajtsi mdjt, s programokat ksztnk, ha lehetsges a tesztek automatizlsa. A tesztek vgrehajtsval prhuzamosan azok eredmnyeit szisztematikusan feldolgozzuk, majd hibk vagy hinyossgok esetn jabb tervezsi vagy implementcis tevkenysgeket hajtunk vgre.
82
3. A tpus s a vltoz fogalma. Egyszer s sszetett adattpusok. Adatok lthatsga az objektumokban. Kzvetlen s kzvetett hivatkozs (referencia/dinamikus) vltozk. Az SQL adattpusai.
Tpus = vltoz tulajdonsga, amely meghatrozza a hozzrendelhet rtkek halmazt. Vannak a rendszerbe beptett (standard) tpusok, valamint mi is ltrehozhatunk jabbakat, melyet deklarlni kell. A var rszben csak mr ismert tpus vltozkat deklarlhatunk, az j tpusok definilsa a - type - paranccsal trtnik. Minden vltoznak van egy jl meghatrozott tpusa. A vltoz csak a tpusnak megfelel rtkeket veheti fel, pldul egy szveg tpus vltozba csak szveget tehetnk, dtum tpusba dtumot stb. Tpusnak neveznk egy adathalmazt s a rajta rtelmezett mveletek sszessgt.
Vltoz: /program adata/
Lefoglalt memriaterlet, ami rtket vehet fel, ez az rtk a program futsa kzben vltozhat) Klnbz tulajdonsgaik alapjn csoportosthatjuk, mint pldul: tpusa, rvnyessgi kre, letciklusa vagy ltrehozsa alapjn.
Egyszer adattpusok - egsz szm (Integer) - karakter (Char) = ASCII karakter - logikai (BOOLEAN) sszetett adattpusok - vltozk sorozata (=szekvencilis), pl.: karakterlnc (String) - tetszleges tpus adatok halmaza pl.: Rekord - tulajdonsgaik alapjn csoportostott adatok pl.: tmb vagy tbla
83
Az SQL adattpusai
Az adattpusok: a tblzat egy-egy oszlopban elhelyezked adatoknak ktelezen azonos fizikai jel- lemzkkel kell rendelkezni. Jellemz adattpusok: 1. Rgztett vagy vltoz hosszsg karaktersorok - CHAR(n) : tpus egy rgztett hosszsg karaktersor - VARCHAR(n) : legfeljebb n hosszsg karaktersor 2. Rgztett vagy vltoz hosszsg bitsorok - BIT(n) : rgztett hosszsg bitsor - BIT VARYING(n) : legfeljebb n bitbl ll bitsor 3. Egsz szmok trolsra - INT - SHORTINT 4. Fixpontos rtkek trolsra - DECIMAL(n , d) : ahol n: szmjegy, d: tizedesjegy 5. Lebegpontos rtkek trolsra - FLOAT (msnven REAL) - DOUBLE PRECISION : nagyobb pontossg 6. Dtum s id trolsra - DATE - TIME
84
4. Az adatmodell alapelemei. Adatmodell tpusok s jellemzik. A relcis adatmodell fogalma, kulcsok kategrii, kapcsolatok fellltsa. Az adatmodellek s a szakterleti modellek kapcsolata, sszefggse.
Az adatmodell alapelemei
Az adatmodell egyedek (tblk), tulajdonsgok (mezk) s kapcsolatok halmaza, mely absztrakt mdon tkrzi a vals objektumok tulajdonsgainak s kapcsolatainak elvont kategriit.
Az adatmodell egy sma, melyben megadjuk mely tulajdonsgok hatrozzk meg az egyedeket, mely egyedek szerepelnek a smban, s ezek kzt milyen kapcsolatok vannak.
Az adatmodell alapelemei: a modellek hrom szerkezeti elembl llnak: -Egyed (egyedtpus) -Tulajdonsg (tulajdonsg-tpus) -Kapcsolat (kapcsolat-tpus)
Egyed: egyednek hvunk minden olyan dolgot (objektumot), ami minden ms dologtl (objektumtl) megklnbztethet, s amirl adatokat trolunk. Tulajdonsg: Az egyedeket tulajdonsgokkal (attribtumokkal) rjuk le. A tulajdonsg az egyed jellemzje, amely megadja, meghatrozza az egyed egy rszlett. Kapcsolat: kapcsolatnak nevezzk az egyedek kztti viszonyt. A kapcsolat mindig valsgos objektumok kztti konkrt viszonyokat fejez ki, hiszen az egyed ilyen objektumokat kpvisel.
Adatmodell tpusok s jellemzik
Adatmodellek tpusai: Hrom adatmodell terjedt el: hierarchikus, hls, s a relcis. A hls adatmodell szerkezett grffal adjuk meg. A grfban a cscspontok az egyedek, az lek pedig a kapcsolatok. Az egyedeket tulajdonsgaikkal rjuk le, a kapcsolatokat mutatk segtsgvel adjuk meg.
85
A hierarchikus adatmodell szerkezett is grffal adjuk meg, de a grf egy fa. Az adatok al-, s flrendeltsgi viszonyban llnak.
Hierarchikus adatmodell
A relcis adatmodellnl az egyedet tblzattal adjuk meg, a tblzat oszlopai a tulajdonsgok, sorai pedig az egyed rtkei (elfordulsai). A tblzat egy-egy sort a tulajdonsgok konkrt rtkei adjk. A tblzat maga az egyedhalmaz. Relci=tblzat
Relcik elemei A relcis adatmodellben az egyedet egy tblzattal adjuk meg.
A tblzat els sorban lv tulajdonsgtpus neveit meznvnek is szoktk nevezni. A relcis adatmodell tblzatokkal dolgozik, melynek oszlopai tulajdonsgtpusok. Halmazelmleti megkzelts szerint, pedig - attribtum halmazok direkt (Decartes) szorzatnak rszhalmaza. Az attribtumok (oszlopok) szmt az R relci foknak, a sorok szmt, pedig a relci szmossgnak nevezzk.
86
A relcis adatbzis rvid jellse a kvetkez: - R (A 1 ,A 2 ,A 3 ,,A n ), ahol R a relci neve, A i pedig egy attribtum. A relci voltakppen egy egyedtpus, s minden egyedtpus egy relcinak tekinthet. R relci elemeit gyakran rekordoknak nevezzk.
Kulcsok kategrii A relci kulcs a relci egy sort azonostja egyrtelmen. A relci - definci szerint- nem tartalmazhat kt azonos sort, ezrt minden relciban ltezik kulcs. A relci kulcsnak a kvetkez feltteleket kell teljestenie - az attribtumok egy olyan csoportja, melyek csak egy sort azonostanak (egyrtelmsg) - a kulcsban szerepl attribtumok egyetlen rszhalmaza sem alkot kulcsot - a kulcsban szerepl attribtumok rtke nem lehet definilatlan (NULL) A definilatlan (NULL) rtkek trolst a relcis adatbzis kezelk specilisan oldjk meg. Numerikus rtkek esetn a NULL rtk s a 0 nem azonos. Egy relciban tartsuk nyilvn az osztly tanulinak szemlyi adatait Dik Szemlyi szm Szletsi v Nv
3.7 bra Relci kulcs SZEMLY_ADATOK=({ SZEMLYI_SZM, SZL_V, NV}). A SZEMLYI_ADATOK relciban a SZEMLYI_SZM attribtum kulcs, mert nem lehet az adatok kztt kt klnbz szemly azonos szemlyi szmmal. A szletsi v vagy a nv nem azonostja egyrtelmen a relci egy sort mivel ugyanazon a napon is szletett tanulk vagy azonos nevek is lehetnek az osztlyban. Vajon a szemlyi szm s a szletsi v kulcsa-e a szemlyi adatok relcinak? Egytt a relci egy sort azonostjk, de nem tesznek eleget a kulcsokra vonatkoz azon felttelnek, hogy a bennk szerepl attribtumok rszhalmaza nem lehet kulcs. Ebben az esetben a szemlyi szm mr kulcs, gy brmelyik msik attribtummal kombinlva mr nem alkothat kulcsot. Elfordulnak olyan relcik is, melyekben a kulcs tbb attribtum rtk sszekapcsolsval llthat el. Ksztsnk nyilvntartst a dikok klnbz tantrgyakbl szerzett osztlyzatairl az albbi relcival: NAPL=({SZEMLYI_SZM, TANTRGY, DTUM, OSZTLYZAT)} Napl Szemlyi szm Tantrgy Dtum Osztlyzat
3.8 bra relci sszetett kulccsal 87
A NAPL relciban a SZEMLYI_SZM nem azonost egy sort, mivel egy diknak tbb osztlyzata is lehet akr ugyanabbl a tantrgybl is. Ezrt mg a SZEMLYI_SZM s a TANTRGY sem alkot kulcsot. A SZEMLYI_SZM, TANTRGY s a DTUM is csak akkor alkot kulcsot, ha kizrjuk annak lehetsgt, hogy ugyanazon a napon ugyanabbl a tantrgybl egy dik kt osztlyzatot kaphat. Abban az esetben, ha ez a felttelezs nem tarthat (ennek a rendszer analizisbl kell kiderlnie!), akkor nem csak az osztlyzat megszerzsnek dtumt, hanem annak idpontjt is trolni kell. Ilyenkor termszetesen a NAPL relcit ezzel az j oszloppal ki kell bvteni. Nem csak sszetett kulcsok fordulhatnak el a relcikban, lteznek olyan relcik is, melyekben nem csak egy, hanem tbb kulcs is tallhat. Ennek illusztrlsra nzzk meg a kvetkez relcit KONZULTCI=({TANR, IDPONT, DIK)} Konzultci Tanr Idpont Dik
3.9 bra Relci tbb kulccsal A KONZULTCI relciban a tanr illetve a dik oszlopban olyan azonostt kpzelnk, mely a szemlyt egyrtelmen azonostja (pldul szemlyi szm). Minden egyes dik tbb konzultcin vehet rsz, minden tanr tbb konzultcit tarthat, st ugyanaz a dik ugyanannak a tanrnak ms-ms idpontokban tartott konzultciin is rszt vehet. Ezekbl kvetkezik, hogy sem a TANR, sem a DIK, sem pedig ez a kt azonost egytt nem kulcsa a relcinak. De egy szemly egy idben csak egy helyen tartzkodhat. Ebbl kvetkezik, hogy a TANR, IDPONT attribtumok kulcsot alkotnak, de ugyanilyen okbl kifolylag a DIK, IDPONT attribtumok is kulcsot alkotnak. Vegyk szre azt, hogy a kulcsok nem nknyes dntsek kvetkeztben alakulnak ki, hanem az adatok termszetbl kvetkeznek, mint a funkcionlis vagy a tbbrtk fggsg. A relciban kls kulcsot vagy kulcsokat is megklnbztetnk. Ezek az attribtumok nem az adott relciban, hanem az adatbzis msik relcijban alkotnak kulcsot. Pldul ha a KONZULTCI relciban a DIK azonostsra a szemlyi szmot alkalmazzuk, akkor ez egy kls kulcs a szemlyi adatokat nyilvntart relcihoz. A kapcsolatok fajti: -Egy-egy tpus: az egyik egyedhalmaz mindegyik elemhez a msik egyedhalmaz pontosan egy eleme kapcsoldik. -Egy-tbb: az egyik egyedhalmaz mindegyik elemhez a msik egyedhalmaz tbb eleme kapcsoldhat. -Tbb-tbb: az egyik egyedhalmaz mindegyik elemhez a msik egyedhalmaz tbb eleme kapcsoldhat s ez megfordtva is igaz.
Kardinalits: az egyed maximlis kardinalitsi szma a kapcsolatban azt adja meg, hogy az egyed egy elfordulshoz a msik egyedbl maximlisan hny elforduls kapcsoldhat.
88
5. Rutin, metdus, eljrs s fggvny fogalma, jellemzik. Paramtertads. Pldny s osztlymetdusok. Esemnykezel metdusok. Fggvnyek az SQL- ben.
Rutin A rutin egy kln nvvel elltott sszetett tevkenysg. - Meghvhat a nevre trtn hivatkozssal - Lehetnek paramterei. - Lehet visszatrsi rtke. A visszatrs nlkli rutint eljrsnak, mg a visszatrsi rtkkel rendelkez rutint fggvnynek nevezzk.
Metdus Utastsok (tevkenysgek) sszessge, melyet meghvhatunk a metdus nevre val hivatkozssal.
Metdusok rsval az objektum, illetve osztly feladatait rszekre bonthatjuk , azokat kln-kln megnevezhetv tehetjk. Amikor egy objektumnak (vagy osztlynak) zenetet kldnk, akkor egy olyan metdus kerl vgrehajtsra, amely az zenetnek egyrtelmen megfeleltethet. Az osztlyban deklarlt metdusok egymst is hvhatjk. Eljrsok, fggvnyek Egy adott problma megoldsnak a sorn clszer, ha programunkat jl elklntett, zrt egszet alkot rszprogramokbl ptjk fel Az eljrs (rutin) tevkenysgek (utastsok) sszessge, melyet meghvhatunk az eljrs nevre val hivatkozssal. Az eljrs egy olyan alprogram, amely egy elrt mveletsort vgez el. Az eljrssal tbb eredmnyt is elllthatunk Eljrst akkor runk, ha: - egy-egy hasonl feladatot tbbszr akarunk elvgezni a programban, - a program tlthatbb vlik ettl. Az eljrs szerkezete nagyon hasonlt a programhoz. Az eljrs feje ktelezen a Procedure szval kezddik, majd az eljrs azonostja vgl a paramterlista. Az eljrst mg hvs eltt deklarlni kell. Elnyk: - Mdostskor, javtskor csak egy helyen kell belenylni a programba, - Az ltalnos cl eljrsokat ksbb jra fel lehet hasznlni.
A fggvny (rutin) sokban hasonlt az eljrshoz, a klnbsg csak annyi, hogy a fggvny mindig egy rtket ad vissza egy elre meghatrozott tpus szerint. A fggvny egy olyan programrsz, amely adott bemeneti paramterekbl egyetlen rtket szmt ki, s azt hozzrendeli az azonosthoz. rtkads nlkl a fggvny definilatlan lesz. Mg az eljrs hvsa utastsknt viselkedik, a fggvnyt kifejezsekben hasznlhatjuk. Paramtertads, -tvtel
A szubrutinok paramterek segtsgvel kommuniklhatnak krnyezetkkel ill, eredmnyket is e paramterek segtsgvel adjk vissza. Az eljrsok, fggvnyek fejlcben felsorolt paramtereket FORMLIS paramterekenek nevezzk Azokat a paramtereket, amelyekkel az eljrst vagy fggyvnyt meghvjuk AKTULIS paramternek nevezzk. amelyet az eljrs vagy fggvny tnylegesen tvesz, azaz az rtkkel rendelkez formlis paramterek. A formlis s aktulis paramter darabszmnak s pronknt tpusnak meg kell egyeznie. A paramter tads/tvtel szempontjbl megklnbztetnk rtkparamtert (rtk szerint tadott) s vltoz (cm szerint tadott) paramtert.Az rtkparamterek rtke nem vltoztathat meg az eljrsban, mg a vltoz paramterek rtke igen. 89
-Cm szerinti paramtertadson azt rtjk, hogy az aktulis s formlis paramterek, a trban is ugyanazon a cmen tallhatk. gy az alprogramban az ezeken a vltozkon vgrehajtott brmilyen mvelet megvltoztatja a hv programban is e vltozk rtkeit. Az ilyen tpus paramtertads deklarlsakor a paramter eltt a var sz ll. (Procedure(var a1,a2 : word);) A paramter csak vltoz lehet. -A paramtertads msik mdja az rtk szerinti paramtertads. Ez azt, hogy az aktulis s a formlis paramterek kln helyet foglalnak a trban, ms vltozkat jelentenek. Ezek a vltozk az adott eljrsban loklisak, teht rtkeik megvltozsa nincs hatssal az aktulis paramterekre A paramter lehet konstans vagy kifejezs is. Lefutsa utn a szubrutin az ltala lefoglalt memria terleteket felszabadtja.
Pldny s osztlymetdusok
Pldnymetdus Az osztly azon metdusait, amelyek pldnyokon (pldnyvltozkon) dolgoznak, pldnymetdusoknak nevezzk.
Osztlymetdus Az olyan metdus, amely objektumok nlkl is tud dolgozni. Az osztlymetdus a pldnyadatokat nem ri el, az csak az osztlyvltozkat manipullhatja. Egy osztlymetdus meghvhat az osztlynak kldtt zenettel:
Osztly.osztlymetdus
Osztlymetdus az osztly sajt metdusa, amely csak osztlyvltozkon dolgozik. Egy osztlyt csak osztlymetdussal lehet megszltani; egy objektumok meg lehet szltani pldnymetdussal s osztlymetdussal egyarnt.
Esemnykezel metdusok
Az esemnyvezrelt programozs olyan programozs, amely egy esemnybegyjt s sztoszt mechanizmuson alapszik. Az objektumok a hozzjuk rkezett esemnyeket (esemnykezel metdusokkal) lekezelik.
Pl. a TForm1-en lev OK nev gomb megnyomsra a TForm1.OKClick metdus fog vgrehajtdni. Delphiben az esemnykezel metdusok egrkattintsra automatikusan generldnak, a programoznak csak a metdus belsejt kell tnylegesen megrni. Ilyen metdusok pl.: - OnClick: kattints egrrel - OnEnter: belps a szerkesztmezbe - OnExit: kilps a szerkesztmezbl - OnKeyPress: billenytlenyoms - OnChange: llapot megvltozsa (ComboBox-nl)
90
Fggvnyek (beptett fggvnyek s a behv nyelv fggvnyei) A fggvnyek szerkezete : fggvnynv (argumentum) Aggregl fgvnyek: klnbz szmtsokat vgez a megadott mezk alapjn. COUNT: megszmolja az oszlopnv alapjn megadott oszlop elemeinek a szmt. A DISTINCT mdost esetn csak a klnbzket szmolja meg. SUM: sszegzi a numerikus tpus oszlop rtkeit. AVG: a numerikus rtkek tlagt kpezi. MIN: a minimlis rtket adja vissza MAX: a maximlis rtket adja vissza. Prediktumfggvnyek: a WHERE parancs felttelben hasznlhatjuk ket Kif1 BETWEEN kif2 AND kif3: igaz rtket vesz fel, ha kif1 kif2 s kif3 kz esik. Oszlopnv IN (rtklista): igaz, ha az oszlop rtke eleme a listnak. Oszlopnv LIKE rtk: igaz, ha az oszlop rtke megegyezik a LIKE utni kifejezssel. Egyb (nem felttlenl vannak) Stringmanipull fggvnyek (nem mindentt) Konverzis fggvnyek
91
6. A kifejezs fogalma. Kifejezsek kirtkelse, a mveletek precedencija. Egy vlasztott programozsi nyelv aritmetikai, logikai s relcis mveletei. Kifejezsek az SQL-ben.
Kifejezs
Vltozk s alapmveletek sszessge Egy kifejezs operandusokbl, s opertorokbl ll (a+5 ahol az a s az 5 operandus, a + operator) A kifejezs llhat egyetlen operandusbl is, s brmelyik operandus lehet egy jabb kifejezs. Vannak egy-, ill. ktoperandus mveletek. Kifejezsek lehetnek: Aritmetikai: szmtani alapmveletek Logikai: logikai alapmveletek Karakteres: karaktereken, sztringeken vgzett mveletek, nem minden programnyelv tmogatja.
Kifejezsek kirtkelse = mveletek prioritsa: Precedencia szably A tbboperandus mveletek vgrehajtsnl felmerlhet az a krds, hogy milyen sorrendben kell a jellt mveleteket vgrehajtani. Ennek a sorrendnek a megllaptshoz ad segtsget az n. precedencia szably. Az opertorokat a vgrehajts sorrendje szerint ngy csoportra osztjuk:
1. szint - Prefix mveletek: not, - Legmagasabb prioritsa a + s - eljelnek van, valamint a NOT mveletnek, ezek egy oprandus mveletek 2. szint - Multiplikatv mveletek: *, /, div, mod, and, shl, shr DIV, MOD a szorz mveletek rtklednek ki: (* / DIV(egsz oszts), MOD(maradkoszts) SHL(bitenknt balra tolats) SHR(bitenknt jobbra tolats) 3. szint - Additv mveletek +, -, or, xor: Ezek utn kvetkeznek az sszead mveletek: (+ - OR XOR) 4. szint - Relcis mveletek: <, <=, =, >=, >, <> =, /=, <, ... Legkisebb prioritsa a hasonlt mveleteknek van
A kifejezsek kirtkelsnl hrom szablyt kell figyelembe venni: -"Ha kt klnbz precedencij opertor kztt van az operandus, akkor a magasabb precedencij opertorhoz tartozik, teht elszr az a mvelet kerl vgrehajtsra." Pl. ha a kifejezs 6*7+2, akkor a 7-et elbb szorozni kell 6-tal, majd hozzadni 2-t. -"Ha kt azonos precedencij opertor kztt van az operandus, akkor a tle balra ll opertorhoz tartozik s az a mvelet kerl elszr vgrehajtsra." Pl. ha a kifejezs 6+7+2, akkor a 7-hez elbb hozzadunk 6-ot, majd 2-t. -"Ha a mvelet zrjelezve van, akkor a zrjelben lv mveletek kirtkelsnek van elsbbsge." Pl. ha a kifejezs 6*(7+2), akkor a 7-hez elbb hozzadunk 2-t, majd megszorozzuk 6-tal.
Egy vlasztott programozsi nyelv aritmetikai, logikai s relcis mveletei
A relcis modell: E.F.Codd dolgozta ki 1971-72-ben. Az volt a clja, hogy kikszblje a hls struktra htrnyait. A relcis modellnl a logikai adatszerkezet fggetlen a fizikai trolstl, en- nek kvetkeztben a logikai kapcsolatok vltoztatsa utn nem kell a trolst jraszervezni. A relcis adatmodell lnyege, hogy az adatokat logikailag relcikban brzoljuk. Ez az b- rzols olyan, mintha az adataink ktdimenzis tblzatba lennnek foglalva. Ezrt lehet a relcis modell esetben tblzatokrl is beszlni. A tblzatos brzolsmd legnagyobb elnye, a knny ttekinthetsg, a felhasznli szemllethez kzelll modell-megjelents. A modell alapja a relcielmlet. Az alkalmazott mveleteket kifogstalan matematikai eszkzkkel rjk le. Htrnya, hogy a szmtstechnikai szakembereknek j kifejezseket kell megtanulni, illetve a szoksostl eltr gondolkodsmdot kvn. Relcis mveletek : SELECTION kivlaszts sorokbl PROJECTION oszlopszm cskkents PRODUCT szorzs UNION egyests DIFFERENCE klnbsg JOIN sszekapcsols DIVIDE oszts Lekrdezsek eredmnynek formzsa : COLUMN oszlopfejek TTITLE tbla fejlc (tetejre) BTITLE tbla fejlc ( aljra) BREAK adatcsoportok szerint trdeli a tblt COMPUTE oszloprtkek szerint sszegez
93
Kifejezsek Az SQL a kifejezsek szerkezete s tartalma tekintetben megegyezik ms nyelvekkel. - Aritmetikai kifejezsek: Numerikus vagy dtum tpus oszlopnevekbl, vltozkbl, konstansokbl, mveleti jelekbl (+, -, *, /, **) s zrjelekbl llnak. Szerepelhet bennk aritmetikai fggvny is. - Karakter-kifejezsek: Karakter tpus oszlopnevekbl, vltozkbl, szveg konstansokbl, mveleti jelbl (+, a konkatenci jele) s zrjelekbl llnak. A szveg konstansokat idzjelek vagy aposztrfok kz tesszk. - Logikai: Logikai tpus oszlopnevekbl, vltozkbl, konstansokbl, mveleti jelekbl (AND, OR, NOT, relcis opertorok <>=) s zrjelekbl llnak. - Relcis adatbzis: Az adatokat adattblkban trolja, az adattblk kzt kapcsolatok vannak. A relcis adatbzis legfontosabb jellemzi: - Tblzatokban brzolja az adatokat. - Egy sor-oszlop tallkozsnl (cella) csak egyetlen elemi adat szerepelhet. - Egy oszlopban csak azonos tpus adatok lehetnek. - Egy adattblban nem lehet kt azonos nev oszlop (egyedi meznevek). - Oszlopok s sorok sorrendje lnyegtelen. - A tblk kztti relcik kapcsolmezkn t valsthatk meg.
94
7. Osztly s objektum fogalma. Egysgbezrs. Osztly definilsa egy vlasztott fejleszt krnyezetben. Jellemzk (properties). Az osztlymodell kapcsolata az adatbzis-modellel.
Osztly s objektum fogalma
Objektum: a vals vilgban elfordul dolgokat objektumoknak nevezzk. Az objektumnak vannak adatai (tulajdonsgai) s van valamilyen viselkedsmdja. Az objektum informcit trol, s krsre feladatokat hajt vgre. Az objektum felels feladatainak korrekt elvgzsrt. Az objektum logikailag sszetartoz adatok s rajtuk dolgoz algoritmusok (rutin, metdus, programkd) sszessge.
Osztly: olyan objektumminta vagy tpus, amelynek alapjn pldnyokat (objektumokat hozhatunk ltre) (sablon) Osztly: hasonl objektumok kzs szerkezetnek, viselkedsnek s kapcsolatainak absztrakcija. Az osztly (tpus) egy minta, mely alapjn objektum pldnyokat (objektumokat) lehet ltrehozni.
Egysgbezrs
Bezrs, informci elrejtse (encapsulation): A bezrs az adatok s metdusok sszezrst, betokozst jelenti. Az informci elrejtse azt jelenti, hogy az objektum elrejti adatait, azt csak az interfszen keresztl lehet megkzelteni. gy ms programrsz nem tudja elrontani az objektum belsejt, s az objektumban esetlegesen keletkezett hiba nem tud tterjedni ms programrszekre. Ehhez a kvetkez szablyok betartsa szksges: Az objektum csak olyan zenetekre reagljon, amelyre azt beprogramoztk, Az objektumot csak interfszen keresztl lehessen megkzelteni, Az objektum interfsz rsze a lehet legkisebb legyen. Az adatok csak metdusokon keresztl legyenek elrhetk. (szerk.: Az objektum sajt szocilis problmja, hogy hogyan oldja meg a r kiosztott feladatot, abba beleszlni nem lehet.)
Osztly definilsa egy vlasztott fejleszt krnyezetben
- az objektum adatait (hogy az egyes objektumok milyen adatokat jegyeznek meg), - az objektum ltal elvgzend mveleteket (metdusokat). A metdus tulajdonkppen rutin (eljrs, fggvny), mely az adott objektum adatain dolgozik. Az zenet nem ms, mint egy rutin hvsa.
Az objektumot ltrehozni , majd ezt kveten azonnal inicializlni kell: - be kell lltani kezdeti adatait; - vgre kell hajtani azokat a tevkenysgeket, amelyek az objektum mkdshez felttlenl szksgesek.
Az inicializlst vgz metdust konstruktornak nevezzk.
A properties (tulajdonsg) tpust is, mely olyan publikus adat, melyet mr tervezsi idben is llthatunk.
95
Az osztlymodell kapcsolata az adatbzis-modellel
OO adatbzis kezel rendszerek segtsgvel az objektumokat adataikkal s viselkedsvel egytt prezisztens mdon (maradandan, a programot tllve) lehet trolni, s azokat klnbzp szempontok szerint visszakeresni. Egy relcis adatbzis kezel rendszer megbzhat, hasznlata egyszer; nem beszlve arrl, hogy lekrdez nyelve, az SQL (Structured Query Language) szabvnyos.
Oszlymodell
Az Object Pascal osztlymodell
OP-ben egy osztlyt hagyomnyos mdon (Object) vagy Class-t hasznlva lehet deklarlni: Type TOsztaly = Class (TsOsztaly) Mezlista; Metduslista; Jellemzlista; End;
A Class-knt deklarlt osztly pldnyai dinamikus objektumok teht tulajdonkppen egy objektum- mutatnk lesz. Az objektum szmra inicializlskor foglaldik le a szksges hely, gy az objektumok csak inicializlsuk utn foglalnak helyet a memriban egszen a megszntetskig, teht ezzel memriaterletet sprolunk meg.
Ebben az osztlymodellben minden osztlynak pontosan egy se van. Tbbszrs rkls itt sem lehetsges
Mezlista: Itt kell felsorolnunk az osztly vltozit ugyangy, ahogyan ezt a TP-ben is tettk.
Metduslista: A metduslista tartalmazza az osztlyhoz tartoz rutinok (fggvnyek s eljrsok) deklarciit. Minden osztlynak van egy konstruktora (letrekelt, inicializl metdusa) s egy destruktora (megszntet metdusa). Konstruktor: Create Destruktor: Destroy.
Adatbzis modell Egyed (egyedtpus): Az egyedtpusok a modellezni kvnt vilg egy-egy, kzs tulajdonsgokkal jellemezhet s egymstl egyrtelmen elklnthet kisebb csoportjai (halmazai), melyek tartalmazzk a vals elfordulsokat (egyedeket). Egy-egy halmazba a matematikai halmazfogalomnak megfelelen olyan elemek tartoznak, amelyek e meghatrozott felttelnek eleget tesznek. gy pldul a HZ egyedtpus mindenfle hzat tartalmazhat, csak az a lnyeg, hogy ami ebbe a halmazba tartozik, az biztosan hz legyen s pldul ne bokor. Akkor ugyanis mr e msik, ms tulajdonsgokkal jellemezhet egyedtpusba tartozna (pl. NVNY). Az egyedtpusok lehetnek l vagy lettelen, illetve trgyi vagy fogalmi jelleg halmazok is. A feladattl fggen ltrehozhatunk pldul HALAK, KNYV, TERMK, FOGLALKOZS, TNC egyedtpusokat is. Egyed-elforduls: Az egyedtpus egy konkrt rtkt egyed-elfordulsnak nevezzk (egy rekordja vagy sora a tblzatnak) 96
Tulajdonsgtpus: Az egyedeket tulajdonsgokkal (attribtumokkal) rjuk le. rtkeit egy adott tartomnybl vehetik fel. Az attribtumok meghatrozott rtkeket vehetnek fel, azaz rtelmezsi tartomnyuk (domain) adott. Az attribtumok az egyes egyedtpusokat jellemz tulajdonsgok. Pldul a HZ egyedtpust jellemezhetjk az alapterlettel, az emeletek szmval, a tpusval, a sznvel, vagy akr azzal is, hogy milyen anyagbl ptettk. Ezek a jellemz tulajdonsgok mind a HZ egyedtpushoz tartoz attribtumok lesznek. Azt, hogy milyen attribtumokat vesznk fel az egyes egyedtpusokhoz, az hatrozza meg, hogy milyen adatokat szeretnnk trolni vele kapcsolatban. Az attribtumokat szintn tbbnyire egyszavas, beszdes nevekkel azonostjuk. gy az elbb emltett HZ egyedtpus attribtumai a kvetkezk lehetnnek: alapterlet, emeletszm, tpus, szn, anyag. Az attribtumok meghatrozott rtkeket vehetnek fel, azaz rtelmezsi tartomnyuk (domain) adott. Az alapterlet attribtum rtke nem lehet negatv, pl. -100 m2, csak pozitv, pl. 100, 70.5 vagy 52 m2 . A tpus lehetsges rtkei: emeletes, csaldi, trsas, vagy iker. A szn felvehet rtkei pl. piros, srga, lila, fehr, barna, vagy rzsaszn.
97
8. Objektumok s osztlyok kztti kapcsolatok. A kapcsolatok implementlsa. rklds, polimorfizmus, virtualits.
Objektumok kztti kapcsolatok megvalstsa
o Tartalmazsi kapcsolat esetn a kliens fizikailag tartalmazhatja a szervert, ekkor teht nyugodtan felvehetnk a kliens osztlyban egy (szerver) objektum tpus vltozt. o Ismeretsgi kapcsolat esetn a kliens nem birtokolhatja a szervert, mert akkor azt ms nem hasznlhatn. Ekkor a kliensbl egy mutatt irnytunk a szerverre. Osztlyok kztti kapcsolatok megvalstsa
o Ha kt objektum 1:1 kapcsolatban ll egymssal, akkor a kliens objektumnak tartalmaznia kell egy mutatt a szerverre, hogy megszlthassa azt:.
o Az 1:N kapcsolatok megvalstsra olyan kontnereket hasznlunk, amelyekbe szksg szerint akrhny objektum bedobhat. Ahhoz, hogy a Kliens klnbz karbantartsi s keressi mveleteket hajtson vgre a kapcsold objektumokon, valamilyen mdon fizikailag hozz kell ktzni ket. Kliens nem mutathat kln minden egyes szerverre, hiszen a szerverek szma elvileg vgtelen lehet. Legyen a kliens objektumnak egy kontnere (trolja), amelybe elvileg akrhny szerver objektum betehet. Amelyik szervernek Kliens zenni akar, annak a mutatjt egyszeren elkri a kontnertl Az egy-sok kapcsolat megvalstsa kontner objektummal lehetsges.
A kapcsolatok implementlsa
Objektumok kztti kapcsolatok Objektum jellse:
Objektum neve Tulajdonsgai Tevkenysgei
Az objektumok csak gy tudnak egyttmkdni, ha kapcsolatban llnak egymssal. Alapveten ktfle kapcsolat ltezik:
Trsts (association): elemek kztti strukturlis kapcsolat. Jellse folytonos vonal, a nyl irnya jelzi a kapcsolat irnyt. Ha nincs nyl, a kapcsolat ktirny. A vonal fl, illetve al rhatjuk a kapcsolat nevt.
Ismeretsg: Kt objektum ismeretsgi (hasznlati) kapcsolatban van egymssal, ha azok lte egymstl fggetlen, s legalbb az egyik ismeri, illetve hasznlja a msikat. Amelyik objektum hasznlni akarja a msikat (kliens objektum), annak tartalmaznia kell egy referencit (mutatt) a megszltand (szerver) objektumra. Az ismeretsgi kapcsolatban ll objektumok kzl brmelyik 98
megszntethet. Ha az objektumok klcsnsen hasznljk egymst, vagyis a kliens-szerver szereposzts vltakozik, akkor mindkt objektumban fel kell vennnk a msikra vonatkoz referencit. Az ismeretsgi kapcsolatban ll objektumok kzl brmelyik megszntethet, csak arra kell vigyzni hogy a tll objektum a tovbbiakban ne hivatkozzon a meghaltra. Pl. a nyomtatt hasznl kt alkalmazs ismeri a nyomtatt, egyik megsznsekor a msik objektum nyomtathat
Tartalmazs: kt objektum tartalmazsi kapcsolatban van egymssal, ha az egyik objektum fizikailag tartalmazza vagy birtokolja a msik objektumot. Az egsz objektum tartalmazza a rsz objektumot, az egsz objektum megsznse maga utn vonja rsznek megsznst. A tartalmazsi kapcsolat ersebb, mint az ismeretsgi. (pl kutya: fej,lbak trzs) az egsz objektum mindig ismeri rszt. Kompozcinak nevezzk azt a tartalmazst, ahol az egsz rsz ltrehozsakor sszell a vgleges kompozci, s ksbb nem vehet ki belle egyetlen rsz sem (ers tartalmazs) gyenge tartalmazs: ha a rsz kivehet az egszbl.
ers tartalmazs: ha a rsz nem vehet ki az egszbl.
Fggsg (dependency): logikai kapcsolat. Az egyik (fggetlen) dolog vltozsa maga utn vonja a msik (fgg) dolog vltozst.
ltalnosts (generalization) rkls: osztlyszer elemek kztti strukturlis kapcsolat.
Megvalsts (realization): egy dolog megvalst (realizl, implementl) egy msikat. Logikai kapcsolat mely az ltalnosts s fggsg keverke. Csak osztlyszer elemek kztt lehetsges.
Osztlyok kztti kapcsolatok Alapveten 3 kapcsolatot klnbztetnk meg, melyek lehetnek opcionlisak vagy ktelez jelleg (megengedhet trsnlklisg). Osztlyok szmnak (multiplicits) feltntetse felsorolssal (* jelenti a tetszleges szmt). Ha 0 is lehet, akkor az elforduls opcionlis, egybknt ktelez. - Egy-egy kapcsolat: az egyik osztly egy pldnya a msik osztly legfeljebb egy pldnyval ll kapcsolatban. A msik osztlyra ugyanez vonatkozik. (Pl. Frfi s N hzastrsi viszonya). - Egy-sok kapcsolat: az egyik osztly egy pldnya, a msik osztly sok pldnyval llhat kapcsolatban. A msik osztly egy pldnya viszont legfeljebb egy pldnnyal llhat kapcsolatban az egyik osztlybl. (Anya-Gyerek, Orszg-Vros). - Sok-sok kapcsolat: a sok-sok kapcsolatban mindkt osztly akrmelyik pldnya a msik osztly sok pldnyval llhat kapcsolatban. (Pl. Tanfolyam-Hallgat, Hallgat-Hallgat (*)). hasznlja 1..5 1 EgyObjektum SokObjektum1 SokObjektum2 SokObjektum3 EgyOsztly SokOsztly Osztlydiagram Pldnydiagram (Objektumdiagram)
99
rklds, rkts /kdolsi knnyebbsg/ Egy mr meglv osztly tovbbfejlesztse. A mr meglv osztly az s osztly, a tovbbfejlesztett osztly pedig az utd osztly. Az utd osztly az s osztly specializlsa. Az s osztlybl gy szrmaztatunk jabb osztlyt, hogy az s osztly tulajdonsgaihoz (adatok), ill. kpessgeihez (metdusok) jabbakat adunk, vagy a meglvket fellrjuk. A szrmaztats tbb szinten t folytatdhat. Egyszeres rkls: egy osztlynak csak egy se lehet. (pascal) Tbbszrs rkls: egy osztlynak tbb se is lehet, melyet ki lehet vltani egyszeres rkldssel. (c++) Szablyok: - egy osztlybl tbb is szrmaztathat, - az rklds tranzitv Ha A rkli B-t, B rkli C-t akkor A rkli C-t - brmely metdus ismeri s hasznlhatja a sajt osztlyban s felette lev osztlyokban deklarlt sszes adatot s metdust sOsztly UtdOsztly2 Mezk Metdusok Mezk Metdusok UtdOsztly1 Mezk Metdusok
Polimorfizmus (tbbalaksg) Azt jelenti, hogy ugyanarra az zenetre klnbz objektumok klnbzkppen reaglhatnak; minden objektum a sajt, az zenetnek megfelel metdusval. (Az zenet kldjnek nem kell tudnia a fogad objektum osztlyt).
100
Virtulis metdus : olyan metdus, melynek cmet a program ksbb, futsi idben oldja fel. A virtulis metdusokkal elrjk, hogy mindig az aktulis objektum osztlynak a metdusa fog futni.
Egyszerbben: Virtulis metdus: Az objektumokkal trtn munka sorn szksg lehet arra, hogy az utd osztly metdusait megvltoztassuk. Erre ad lehetsget a virtulis metdusok hasznlata. A virtulis metdusokkal tdefinilhat az sosztly azonos nev metdusa, gy csak a futs kzben dl el, hogy ppen melyik metdust kell hasznlni.
Virtulis Metdusok Tblzata (VMT) Minden egyes, virtulis metdusokat tartalmaz osztlyhoz tartozik egy VMT. A virtulis metdusok cmt a program futskor ebbl a tblzatbl veszi. Az objektum pldny egy VMT mezt tartalmaz, mely az osztly VMT-jnek relatv cmt tartalmazza (mrete 2 bjt). A pldny VMT hozzrendelst a konstruktor vgzi a pldny ltrehozsakor, illetve inicializlsakor. Ha az osztly hasznl virtulis metdust, akkor van egy VMT mezje, mely a virtulis metdus tbla cmt tartalmazza.
101
9. A felhasznli fellet, az alkalmazslogika s az adatbzis-logika szerepe, az ezeket realizl objektumok sztereotpusai. Az egyes alkalmazs-rtegek jellemz komponensei egy vlasztott fejleszt eszkz esetben.
Felhasznli fellet
Minden adatbzis-kezel alkalmazsban hrom f funkcionlis egysget klnbztetnk meg: Kzvetlen adatkezels: ez vgzi az adatok fizikai feldolgozst. Alkalmazs-logika: ez felels a teljes alkalmazs helyes mkdsrt. Adatvdelem, hatkony s knyelmes adatkezels (tranzakci stb.) Alkalmazslogika: A szoftverrendszer harmadik komponense az alkalmazslogika, mely a rendszer magjaknt a feladat specifikus mveletek vgrehajtsra szolgl algoritmusokat foglalja magba. Az alkalmazslogika implementlsra magas szint, gyakran objektumorientlt programozsi nyelv szolgl. Nagyon sokfle nyelvre alapulnak 4GL krnyezetek. gy pldul a Delphi az Object Pascal-ra, a Visual C++ a C++-ra, a JBuilder a Java-ra.
Felhasznli fellet: kapcsolat a felhasznlval, adatmegjelents, stb. Rszei: men, ablakkezels, sg
Adatbzis logika Logikai tpus oszlopnevekbl, vltozkbl, konstansokbl, mveleti jelekbl (AND, OR, NOT) zrjelekbl ll. A logikai kifejezsben itt is szerepelhetnek a relcis opertorok (<,>,=,stb.)
Objektumok fbb sztereotpusai Az objektumokat, illetve osztlyokat klnbz kategrikba sorolhatjuk.. - Hatr (interfsz) objektum: a klvilggal kapcsolatot teremt objektum (pl. men, ablak, nyomgomb stb.) - Kontroll objektum: vezrlst, szmolst vgrehajt objektum. (pl. egy folyamatvezrl vagy egy statisztikai adatgyjt objektum) - Egyed objektum: a rendszer lnyegi rszeit alkot objektumok. Az egyed objektum egy vals vilgbeli szemly, dolog, hely, fogalom, vagy esemny. - Kontner objektum: a klnbz kapcsolatok megvalstsra szolgl. Ha a kapcsolat foka jl behatrolhat, akkor statikus adatszerkezetek is hasznlhatok, mint pl. a tmb. Ha a kapcsolat foka vltoz, akkor valamilyen dinamikus szerkezetet kell hasznlnunk, mint a lista, vagy a kollekci. Az adatbzisok sajt kontnerrel rendelkeznek.
Komponensek (az jrafelhasznlhat kd): szablyos, jrafelhasznlhat szoftver ptelemek (forrs, binris, vagy futtathat kd) , melyeket applikcik fejlesztshez hasznnak. Komponensek lehetnek pldul osztlyok, vagy azok egy csoportja: - Interfsz osztlyok pldul a nyomgomb, a listadoboz, a men vagy a prbeszdablak; - Kontner osztlyok pldul a lista, tmb, fa, halmaz vagy a sztr.
102
Komponensek egyszerbb nyelvi elemekbl plnek fel, melyeket aztn beptenek az alkalmazsba. Azrt hasznljuk ket, mert egyrszt az alkalmazs fejlesztsnek idejt drasztikusan lecskkenti, msrszt nveli az alkalmazs minsgt.
Az egyes alkalmazs-rtegek jellemz komponensei
Az alkalmazi program egy olyan program, amelyet egy adott szmtgpes krnyezetben, kifejezetten egy specilis feladat elvgzsre ksztettek. Egy tipikus alkalmazi program a kvetkez elemeket tartalmazza: - Felhasznli fellet: az alkalmazs azon rsze, mely az ember-gp kapcsolatot biztostja. Rszei: men, ablakkezels, sg - Esemnyvezrelt programozs: az esemny egy olyan trtns, amely megvltoztathatja valamely objektum llapott. Az esemnyvezrelt programozs olyan programozs, amely egy esemnybegyjt s sztoszt mechanizmuson alapul. Az objektumok a hozzjuk rkezett esemnyeket esemnykezel metdusokkal lekezelik. - Adatbzis-kezels: vannak olyan objektumok, amelyeket hosszabb idre el szeretnnk trolni. A program futst tll objektumokat rezisztens objektumoknak nevezzk. Ezen objektumok trolst s manipullst az adatbziskezel vgzi: adatok kzponti permanens trolsa, tbb felhasznl kiszolglsa, integrits,helyrellts, adatvdelem, lekrdezsek. - Kivtelkezels: a kivtel egy esemny vagy felttel, melynek bekvetkezse megszaktja a program norml futst. A kivtel objektum trolja azt az informcit, hogy milyen kivtel trtnt, s hol. A kivteles esemnyt a program tadja az n. kivtelkezelnek, amely azt lekezeli. A kivtelkezel a kivteles (ltalban hiba) esemny bekvetkezse esetn megprblja a programot megmenteni az sszeomlstl: vagy elhrtja a hibt, vagy visszalltja a rendszert egy elz, stabil llapotba. - Szemtgyjts: a hivatkozatlan dinamikus vltozk automatikus kitakartsa a memribl.
OO szoftverfejlesztsi eszkzk A vizulis fejleszteszkzk segtsgvel a fejleszt a program nagy rszt nem forrskd rsval kszti, hanem interaktv mdon, a fejlesztrendszer eszkztra ltal felknlt vizulis elemek kivlasztsval, azok tulajdonsgainak belltsval. A forrskd vzt a fejleszteszkz generlja, a fejleszt pedig kiegszti. Elterjedt (Java, C++, Pascal s Smalltalk alap) vizulis fejleszteszkzk: JBuilder (Borland), JDeveloper (Oracle), Visual C++ (Microsoft), Delphi (Borland), IBM Visual Age for Smalltalk
103
10. Felhasznli fellet (ablakok, menk, stb.) tervezse alapelvek, szablyok, szabvnyok. Esemnyvezrelt program, kapcsolat az opercis rendszerrel. Az esemnyvezrelt programozs megvalstsa egy vlasztott fejleszt eszkznl.
Felhasznli fellet A grafikus felhasznli interfsz komponensei Az alkalmazs ablakai a TForm osztly pldnyai. Az ablakok a kvetkez objektumokat tartalmazhatjk:
Ablak egy olyan objektum, amely egy objektumnak valamilyen nzett mutatja. Maga az ablak komplex (aggregcis) objektumknt tbbfajta objektumbl ll. Az ablak rszei: keret, cmsor, mensor, eszkzsor, llapotsor, grdtsv(ok) stb.
Men: A men segtsgvel tud a felhasznl a lehetsges opcik kzl egyet kivlasztani.
Kurzorok: a kurzor alakja is segtsget nyjthat a felhasznlnak.
Kpernyvezrl elem (Control): A kpernyvezrl elemek jelentik azt az alapvet eszkzt, amellyel informcit jelenthetnk meg a kpernyn, illetve fogadhatjuk a felhasznli adatokat. A leggyakoribb kpernyvezrl elemek a kvetkezk:
1. Cmke (TLabel:): A cmke statikus szvegek megjelentsre szolgl kpernyelem. Tipikusan adatbeviteli mezk eltt szerepel, hogy vizulisan jellje, hogy milyen clt szolgl az adott mez. 2. Adatbeviteli mez (TEdit, TextBox): Az adatbeviteli mezk adatmegjelentsre s felhasznli adatbevitelre szolglnak 3. Listadoboz (TListBox): A listadoboz tulajdonkppen egy kontner objektum tagobjektumait vagy egy attribtum lehetsges rtkeit mutatja. Mivel a vlasztk ltalban nagyobb a listadoboz fggleges mretnl, ezrt fggleges grdtsv tartozik hozz. 4. Legrdl listadoboz (TDrop-Down List Box): A legrdl listadoboz csak annyiban klnbzik a sima listadoboztl, hogy helytakarkosabb, mivel alapllapotban csak egyetlen sort foglal el a kpernyn. Ebben a sorban mindig a listadoboz aktulis eleme jelenik meg. A tnyleges vlasztk a listadoboz jobboldaln lv nyl lenyomsra jn fel a kpernyre. 5. Kombinlt doboz (TCombo Box): A kombinlt doboz tulajdonkppen egy legrdl listadoboz s egy adatbeviteli mez hzassgaknt jtt ltre. Klsre ugyanolyan, mint egy legrdl listadoboz, de a kombinlt doboznl a felhasznl adatot is begpelhet. 6. Jellngyzet (TCheckBox): A jellngyzet olyan adatmezknl hasznlatos, amelyek csak ktfle rtket vehetnek fel. A logikai HAMIS llapotnak az res, mg az IGAZ llapotnak az "x"-szel vagy a pipval kitlttt jellngyzet felel meg. 7. Rdigomb-csoport (TRadioButtonGroup): A rdigomb-csoport hasznlata esetn egyszerre csak egyetlen rdigombot lehet bejellni. A rdigomb-csoport a listadoboz j alternatvja lehet abban az esetben, ha nem nagy szm, elre rgztett lehetsgbl kell a felhasznlnak vlasztania. 8. Nyomgomb (PushButton, Command Button): A nyomgomb megnyomsval egy tevkenysg hajthat vgre. A nyomgomb felirata vizulisan jelzi a felhasznl szmra, hogy mi az a funkci, amit elvgez. 9. Eszkzgomb (TToolButton), eszkztr: Az eszkzgombok tulajdonkppen grafikus felirat nyomgombok, amelyek tipikusan az eszkzsoron (toolbar) vagy nll eszkzpalettn (tool palette) helyezkednek el 10. Grdtsv: grgets, pozcionls adatokban, cssztatott adatllts 11. Ikon: Az ikonok ltalban kismret grafikus bitkpek, amelyek objektumokat jelkpeznek a kpernyn. 104
A kpernyelemek elrendezse Az objektumorientlt tervezs sorn ltrejtt minden osztlyt kln ablakba kell helyezni gy, hogy az elsdlegesnek tlt osztlybeli objektumok elsdleges ablakokba, a kiegszt objektumok pedig msodlagos ablakokba kerljenek. Az aggregcis s a kontner osztly objektumai is kln ablakban jelenjenek meg. Az egyes objektumokban a felhasznl keressi sorrendjnek megfelelen kell elrendezni a kpernyelemeket. Az elrendezs ltalban feleljen meg a vals vilgbeli objektum elrendezseinek. Ha nincs vals vilgbeli analgia, akkor abbl kell kiindulni, hogy a felhasznl fellrl lefel s balrl jobbra fogja tpsztzni a kpernyt. Az egyes menpontok s nyomgombok elhelyezse is a vgrehajtsi priorits szerint trtnjen. Egy dialgusablak esetn pldul az ablak belsejben a nyomgomboknak vagy a kperny jobb oldaln fellrl-lefel vagy a kperny aljn balrl-jobbra adott sorrendben kell elhelyezkednik.
zenetek:A felhasznlnak szl zenetek megtervezse is kell krltekintst kvn meg. Clszer olyan rvid, maximum 3 soros zeneteket terveznnk, amelyekbl a problma s a megolds is kiderl.
Egy alkalmazs elksztse a kvetkez lpsekben trtnik: -Az alkalmazs rlapjainak, menszerkezetnek megtervezse, kitallsa -Az rlapok kivitelezse, megrajzolsa -Az egyes gombok, menpontok, esemnykezelinek megrsa -Az alkalmazs tesztelse
Ha alkalmazsunkban tbb informcit kell megjelenteni s ez mr nem fr egy rlapon akkor kt irnyba indulhatunk: -Logikailag sszetartoz informcikat egy rlapon tbb oldalra helyezzk el, s flekre kattintva lehet vltani -Tbb rlapos alkalmazst ksztnk
A kvetkez ablakokat tartalmazhat egy alkalmazs: - Egyszer zenet s adatbeviteli ablakok, - Windows rendszer prbeszdablakok. Delphi-bl ezeket komponenesek segtsgvel kezelhetjk (OpenDialog), - Elzleg megtervezett s elmentett rlapokat.
Az rlapok kzl -Automatikusan jnnek ltre (auto-create), azaz a program indtsnak pillanatban jnnek ltre s ettl kezdve megsznskig ott tartzkodnak a memriban. -Nem automatikusan jnnek ltre, csak megjelensk pillanattl a bezrsukig foglaljk a memrit
Esemnyvezrelt programozs
Az esemny egy olyan trtns (elforduls), amely megvltoztathatja valamely objektum llapott. Az esemnyvezrelt programozs azt jelenti, hogy a program futsa sorn esemnyek keletkeznek, melyeket egy kontroll objektum fogad s megfelel szablyok szerint sztoszt a program objektumai kztt. Az egyes objektumok elre be vannak programozva, hogy egy adott esemnyre hogyan reagljanak.
105
Esemny lehet:
- Jel: egy objektum a msik objektumnak egyrtelm jelet kld (pl. billentylets, egr kezels) - Hvs: egy objektum meghvja egy msik objektum egy metdust - rfelttel: egy elre meghatrozott felttel igazz vlik - Id: a kijellt id eltelik vagy elrkezik.
A reakci lehet egy feladat vgrehajtsa, vagy egy jabb esemny kivltsa is. Az objektum lekezeli az esemnyt, amely egy esemnykezel metdus feladata. Ahhoz hogy egy objektum fogadjon egy esemnyt, kt felttelnek kell teljeslnie:
- Az objektum be legyen tantva az esemny fogadsra: a keretrendszer objektumait mr nagyon sok esemny fogadsra betantottk. Ha valamire mgsem, az a programoz dolga. - Az objektumhoz eljusson az esemny: a mechanizmusban az egr ltal kivltott jelet ltalban az az objektum (ablak) kapja meg, amelyiken kattintottak, a billentyletst pedig az, amelyik ppen a fkuszban van. A Delphi krnyezetben az ablakok adatait a programoz vizulisan adja meg, az esemnykezel metdusok pedig egrkattintsra automatikusan generlodnak csak az esemnykezel metdus belsejt kell a programoznak tnylegesen megrni.
Az esemnyvezrelt programozs olyan programozs, amely egy esemnybegyjt s sztoszt mechanizmuson alapszik. Az objektumok a hozzjuk rkezett esemnyeket (esemnykezel metdusokkal) lekezelik.
Pl. a TForm1-en lev OK nev gomb megnyomsra a TForm1.OKClick metdus fog vgrehajtdni. Delphiben az esemnykezel metdusok egrkattintsra automatikusan generldnak, a programoznak csak a metdus belsejt kell tnylegesen megrni. Ilyen metdusok pl.: - OnClick: kattints egrrel - OnEnter: belps a szerkesztmezbe - OnExit: kilps a szerkesztmezbl - OnKeyPress: billenytlenyoms - OnChange: llapot megvltozsa (ComboBox-nl)
106
11. Egy vizulis fejleszt eszkz bemutatsa: a fejlesztkrnyezet elemei, szolgltatsai, osztlymodell, komponensek, adatbzis-kezelsi lehetsgek, adatbzisok adatainak megjelentse. Az eszkz dokumentltsgnak ismertetse.
A 4GL (4. Generation Language - Genercis Nyelv) jellemzi, hogy fejleszts nagyrsze interaktv mdon trtnik. Alapveten objektumok-komponensekbl dolgozik. Ilyen ksz kompnenseket kell elhelyezni fejlesztskor egy adott form-ra. Ez lehet maga az alkalmazs felhasznli ablaka, de lehet pl egy adatbzis tervez nzet is. Ltezik egy tulajdonsg ablak, melyben az adott osztly klnfle tulajdonsgait llthatjuk. A 4GL eszkzk mkdse azon a tnyen alapul, hogy a szoftverrendszerek nem elszigetelt mdon mkdnek, hanem feladataik vgrehajtsa kzben folyamatos prbeszdet folytatnak a krnyezetkkel. A krnyezet kt rszre bonthat: -Emberi krnyezet: A kezel, akivel a rendszer a kezeli felleten keresztl tartja a kapcsolatot. -Gpi krnyezet: Kls szmtgpes rendszerek, amelyekbl berkez informcik vagy esemnyek a rendszer mkdst befolysoljk. Ezekkel a kommunikcis felleten keresztl tartja a rendszer a kapcsolatot. -Alkalmazslogika: A szoftverrendszer harmadik komponense az alkalmazslogika, mely a rendszer magjaknt a feladatspecifikus mveletek vgrehajtsra szolgl algoritmusokat foglalja magba.
Az alkalmazslogika implementlsra magas szint, gyakran objektumorientlt programozsi nyelv szolgl. Nagyon sokfle nyelvre alapulnak 4GL krnyezetek. gy pldul a Delphi az Object Pascal-ra, a Visual C++ a C++-ra, a JBuilder a Java-ra.
A Delphi objektumorientlt nyelve az Object Pascal. Egy Delphi alkalmazsban az interfsz objektumok tartalmazsi, tulajdonosi hierarchit alkotnak: az alkalmazs birtokolja az ablakot, az ablak tartalmazza a gombokat, ment, cimkt, stb. A tartalmazs kvetkezmnye, hogy ha az ablakot becsukjuk, becsukdik a benne lev sszes objektum; ha egy ablakot elmozdtunk, vele mozog az sszes benne lev objektum
Az Object Pascal osztlymodell
OP-ben egy osztlyt hagyomnyos mdon (Object) vagy Class-t hasznlva lehet deklarlni: Type TOsztaly = Class (TsOsztaly) Mezlista; Metduslista; Jellemzlista; End;
A Class-knt deklarlt osztly pldnyai dinamikus objektumok teht tulajdonkppen egy objektum- mutatnk lesz. Az objektum szmra inicializlskor foglaldik le a szksges hely, gy az objektumok csak inicializlsuk utn foglalnak helyet a memriban egszen a megszntetskig, teht ezzel memriaterletet sprolunk meg.
Ebben az osztlymodellben minden osztlynak pontosan egy se van. Tbbszrs rkls itt sem lehetsges
Mezlista: Itt kell felsorolnunk az osztly vltozit ugyangy, ahogyan ezt a TP-ben is tettk.
Metduslista: A metduslista tartalmazza az osztlyhoz tartoz rutinok (fggvnyek s eljrsok) deklarciit. Minden osztlynak van egy konstruktora (letrekelt, inicializl metdusa) s egy destruktora (megszntet metdusa). Konstruktor: Create Destruktor: Destroy.
107
Fontosabb osztlyok s metdusok funkcionlis bemutatsa.
TObject Annak rdekben, hogy az sszes objektumok egysgesen tudjuk kezelni, ltezik egy ltalnos sosztly, melybl az sszes tbbi osztly szrmazik le. Delfiben egy kzs s van, ez a TObject osztly; gy minden osztlyt felfzhetnk egy listra.
Tcomponent Ebbl szrmazik a TComponent osztly is, mely kzs se a tervezsi idben kezelhet, komponenspaletta vezrlelemeinek. A TComponent osztlybl minden vezrlelem kt fontos jellemzt rkl: - Name: a komponens programbeli neve. - Owner: a komponens tulajdonosa. A tulajdonos feladata, hogy megsznsekor megszntesse a komponenseit, pl. egy ablak bezrskor megsznteti a rajta lev gombokat.
TControl A TControl osztly a TComponent osztly leszrmazottja, a lthat komponensek se. Fontosabb jellemzi: - Visible: lthatsg - Top, Left, Width, Height: pozci - Color: szn - Font: bettpus
TForm Az alkalmazs ablakai a TForm osztly pldnyai. Az ablakok a kvetkez objektumokat tartalmazhatjk: - TLabel: statikus szveg - TEdit: szerkesztmez - TButton: nyomgomb 108
Fontosabb metdusok: A program futsa sorn esemnyek keletkeznek, melyeket egy kontrol objektum fogad, s megfelel szlyok szerint sztoszt a program objektumai kztt. Az egyes objektumok be vannak programozva, hogy egy adott esemnyre hogyan reagljanak. Delphiben az esemnykezel metdusok egrkattintsra automatikusan generldnak, a programoznak csak a metdus belsejt kell tnylegesen megrni. Pl. - OnClick: kattints egrrel - OnEnter: belps a szerkesztmezbe - OnExit: kilps a szerkesztmezbl - OnKeyPress: billenytlenyoms Minden osztlynak ltezik konstruktora, mely ltrehozsakor hvdik meg, s destruktora, mely felszabadtsakor.
Az adatbzis-kezelst tmogat komponenseket kt f kategriba sorolhatjuk: Az adatelrsi komponensek: adatbzisok, tblk, lekrdezsek, trolt eljrsok, kezelst teszik lehetv. Az adatmegjelentsi komponensek csupn megjelentsi clokra kifejlesztett komponensek, amelyek az adatelrsi komponensekhez kapcsoldnak az adatforrsukon keresztl, gy ezek pillanatnyi llapott tkrzik.
Delphi-ben az adatbzisok kezelst specilis komponensek segtsgvel tudjuk megoldani. A klnbz formtum adatbzisokat egysgesen, ugyanazokkal a komponensekkel rjk el. A komponensek metdusai a beptett adatbzis-motor (Borland Database Engine) rutinjait hasznljk, teht a BDE egysges felletet (rutincsomagot) biztost a klnbz adatbzisok kezelsre.
Delphiben az adatbzis-kezelst tmogat komponenseket kt f kategriba sorolhatjuk: Az adatelrsi komponensek ( Data Access )adatbzisok elrst, az adatbzis adathalmazainak kezelst, tblk, lekrdezsek trolt eljrsok, kezelst teszik lehetv. Itt kell megemlteni a 109
TDataSouce komponenst, mely az adatelrsi komponenseket sszekapcsolja az adatmegjelentsi komponensekkel. Az adathozzfrsi komponensek egymshoz is kapcsoldhatnak, gy egyttesen alkotjk az alkalmazs adatelrsi s alkalmazs logikjt (business logic). o A TDatabase komponens egy konkrt adatbzis elrst biztostja. Biztostja az utat az adatbzis fel, felels a jelsz bekrsrt s metdusaival tranzakci-kezelst tudunk lebonyoltani. o TQuery: egy SQL utasts vgrehajtst teszi lehetv. Csak fizikai tblkat s ezek fizikailag ltez mezit krdezheti le. o A TTable komponens biztostja egy fizikai tbla, vagy egy nzet (view) adatainak elrst. Ha adatainkat tbb tblbl szeretnnk sszevlogatni, akkor a TQuery komponenst hasznljuk, ha pedig az adatok egy trolt eljrs vgrehajtsbl keletkeznek, akkor ezek Delphibl a TStoredProc komponens segtsgvel rhetk el.
Az adatmegjelentsi komponenseknek (Data Controls) Az adatmegjelentsi komponensek a felhasznli fellet elemei. Azt mutatjk, amit a hozzjuk kapcsolt adathozzfrsi komponenstl kapnak. Helyk azon az rlapon van, amelyen az adatokat meg akarjuk jelenteni. Mindannyian rendelkeznek egy DataSource jellemzvel, amelyen keresztl kapcsoldnak a TDataSource kzbeiktatsval - az adatmodul valamely adatforrshoz. Ennek az adatforrsnak a tartalma jelenik meg, rskor pedig ezt mdostjuk.
Az adatok megjelentse: A Data Controls palettn elhelyezked komponensek segtsgvel megjelenthetjk s mdosthatjuk egy adatforrs tartalmt. - TDBGrid: tblzatszeren tudja megjelenteni egy adatforrs tbb rekordjt. - TDBListBox, TDBComboBox: egy adott adatforrs adott mezjnek rtkt jelenthetjk meg, illetve szerkeszthetjk. A leboml lista tartalmt bellthatjuk. - TDBNavigator: a tbla rekordjai kztti mozgshoz knl navigtorgombokat, melyekkel elre- htra, els-utols rekordra tudunk ugrani, j rekordot vehetnk fel, s a meglevt trlhetjk.
Felhasznlshoz a kivlasztott komponenst el kell helyezni az ablakon, majd a DataSource jellemzjt a megfelel adatforrsra kell lltani.
110
12. Relcis adatbzisok. Funkcionlis fggsg fogalma, specilis fggsgek szerepe. Normlformk, a normalizls clja. A normalizls lpseinek szemlltetse pldn. Az adatbzis-terv dokumentcija.
A relcis adatmodell tblzatokkal dolgozik, melynek oszlopai tulajdonsgtpusok. Halmazelmleti megkzelts szerint, pedig - attribtum halmazok direkt (Decartes) szorzatnak rszhalmaza. Az attribtumok (oszlopok) szmt az R relci foknak, a sorok szmt, pedig a relci szmossgnak nevezzk. A relcis adatbzis rvid jellse a kvetkez: - R (A 1 ,A 2 ,A 3 ,,A n ), ahol R a relci neve, A i pedig egy attribtum. A relci voltakppen egy egyedtpus, s minden egyedtpus egy relcinak tekinthet. R relci elemeit gyakran rekordoknak nevezzk.
Funkcionlis fggsg Legyen R (A 1 ,A 2 ,A 3 ,,A n ), egy relci s legyenek P,Q az A attribtum-halmaz rszhalmazai. Azt mondjuk, hogy P funkcionlisan meghatrozza Q-t (PQ), ha abbl, hogy a relci valamely kt sora megegyezik a P halmazon kvetkezik, hogy kt sor rtkei megegyeznek a Q halmazon is. Teht az attribtumok egy csoportja fgg az attribtumok egy msik csoportjtl. A vals vilgban meglv fggsgeket fejezi ki.
Ha P s Q tetszleges tulajdonsg tpus, akkor Q funkcionlisan fgg P-tl, ha P minden rtkhez vagy elfordulshoz egyrtelmen kijellhetnk egy Q rtket vagy elfordulst. P Q, Q funkcionlisan fgg P-tl. Ms szval Q funkcionlisan fgg P-tl ha abbl, hogy a relci valamely kt sora megegyezik a P halmazon, kvetkezik, hogy a kt sor rtkei megegyeznek a Q halmazon is. Felhasznlhatjuk egy relcis adatbzis (egy tblzat) trolsi hatkonysgnak megnvelsre. P Q esetn a P-ben egyez sorokhoz tartoz Q -beli sorokat csak egyszer troljuk. Htrnya: az adatbzisba nem vihet fel pl. olyan szemly, akinek kt cme van, olyan esetben, ahol a lakcim funkcionlisan fgg a nvtl.
A funkcionlis fggsg:
egyszer, ha a meghatroz tulajdonsg tpus is egyszer sszetett, ha a meghatroz tulajdonsg tpus is sszetett.
A funkcionlis fggsgek tulajdonsgai:
- reflexv (reflexivits) A A Egy attribtum halmaz a benne lev rszhalmazt meghatrozza. Q _ P _ A, akkor P Q teljesl. Egy tulajdonsgtpus brmely rtke meghatrozza nmagt. - additv (egyestsi szably) A B, A C A (B+C) Az additivits szablyai szerint, amennyiben A tulajdonsg tpus egy B s egy C tulajdonsg tpust hatroz meg, gy meghatrozza a (B+C) tulajdonsg tpus sort is. - tranzitv (tranzitivits) A B s B C A C A tranzitivits szablya kimondja, hogy abban az esetben, ha egy A tulajdonsg tpus meghatroz egy B tulajdonsg tpust, ami C -t hatrozza meg, a C az A -tl is fgg. - pszeudo tranzitv (pszeudo-tranzitivitsi szably) A B s (B+x) C (A+x) C A pszeudo tranzitivits rtelmben, ha egy A tulajdonsg tpus meghatroz egy B -t, amely pedig brmilyen bvtmnyvel (B+X) meghatroz egy C -t, akkor az A megfelel bvtmnye (A+X) is meghatrozza a C -t. 111
- Bvts Ha P Q teljesl s S _ A egy tetszleges attributmhalmaz az A - bl, akkor P - Dekompozici Ha P _ Q, akkor P S is teljesl.
{- projektv A B B A (B sszetett). A projektivits szablya leszgezi, hogy amennyiben egy A tulajdonsg tpust rsze egy B tulajdonsg tpusnak, gy B meghatrozza A -t. B ekkor termszetesen sszetett. - augentitv A B s x tetszleges tulajdonsg tpus (A+x) B Az augentitivits azt jelenti, hogy amennyiben egy A tulajdonsg tpus meghatroz egy B -t, az (A+X) egyttes is meghatrozza B -t, X legyen brmilyen tulajdonsg tpus. } Annak megllaptshoz, hogy egy relciban van-e funkcionlis fggsg, azt kell megllaptani, hogy mi az attribtumok tartalma. A funkcionlis fggsg a valsgos vilgban meglv fggsgeket fejez ki.
Defincik: Funkcionlis fggsg: adott az R relci, azt mondjuk, hogy Y rtelmezsi tartomnya funkcionlisan fgg az X rtelmezsi tartomnytl akkor s csak akkor, ha X minden rtke egyrtelmen meghatrozza Y-t. Ez a meghatrozs nem csak az aktulis elfordulsokra, hanem mindig rvnyes.
Specilis fggsgek: Funkcionlis teljes fggsg: adott az R relci s az X sszetett rtelmezsi tartomny. Y rtelmezsi tartomny funkcionlisan teljesen fgg X-tl, ha Y funkcionlisan fgg X-tl, de nem fgg funkcionlisan X egyetlen valdi rszhalmaztl sem.
Tranzitv fggsg: adott az R relci; Z rtelmezsi tartomny tranzitvan fgg X rtelmezsi tartomnytl, ha Z funkcionlisan fgg X-tl, Y-tl s Y fgg X- rtelmezsi tartomnytl. Az elsdleges kulcstl minden tartomny funkcionlisan fgg; ha a kulcs egyben egyszer@ is, akkor ez a fggsg teljes.
- 1NF: Egy R relcirl azt mondjuk, hogy els normlformban van, ha minden sorban pontosan egy attribtumrtk ll.Pl. egy attribtumrtkhez - szakkpzettsg kt rtk tartozik (nem elemi), akkor NINCS 1NF-ben. Az adatbziskezelk csak olyan adatbzist fogadnak el, amelyek legalbb 1 NF-ben van.
- 2NF: Egy R relcirl azt mondjuk, hogy msodik normlformban van, ha els normlformban van, s ha minden msodlagos attribtum teljesen fgg a kulcstl, de nem fggenek a kulcs rszeitl (ha a kulcs tbb attribtumbl ll). A 2NF els kvetelmnye, hogy az adatbzis els normlformban legyen. A msodik kvetelmnye pedig az, hogy az relci (tbla) minden egyes sora azonosthat legyen
- 3NF: Egy R relcirl azt mondjuk, hogy harmadik normlformban van, ha msodik normlformban van, s minden msodlagos attribtum o egymstl funkcionlisan fggetlenek o a kulcstl teljesen fggnek. o Azaz nem fggenek tranzitven a kulcstl. 112
A 3NF legels kvetelmnye, hogy az adatbzis 2NF-ban legyen. A msodik kittel, hogy a tblinkban nem lehet olyan redundns (ismtld) nem-kulcs informci, amely ms tblkban is nem-kulcs informcit jelent.
Normalizls: Az az eljrs, amelynek sorn az attribtumokat optimlis relcikba csoportostjk. A normalizls mindig az adatok logikai szintjn trtnik. ltalban tbb lpsbl ll.
A normalizls alkalmazsval: az adatok trol ignye kisebb lesz az elemi adatokat gyorsabban s kevesebb hibalehetsggel vltoztathatjuk meg az adatbzis logikailag ttekinthetbb lesz
- 1NF-re: - minden tbbszrs attribtumrtk sort annyi sorban runk fel, ahnyszoros az attribtum- rtk a sorban; - kt vagy tbb relcira bontjuk fel az eredeti egy relcit, gy hogy a relci kulcsnak rtkei mell rjuk az egyszeres attribtumrtkeket, a msikban pedig a kulcshoz rendelt kls kulcs mell annyi sort runk, ahnyszoros attribtum rtkek szerepeltek a korbbi, tbbszrs attribtumokban.
- 2NF-re: Tbb relcira bontjuk az eredeti relcit, amelyek mr 2NF-ben vannak. A kulcsnak azon attribtum halmazaibl, melyek maguk is meghatrozzk (funkcionlisan) a msodlagos attribtumokat, valamint ezen msodlagos attribtumokbl nll relcit hozunk ltre..
- 3NF-re: megszntetjk a tranzitv fggsgeket, mgpedig gy, hogy a tranzitv fggsgben rszt vev attribtum halmazok felhasznlsval j relcikat ksztnk.
Normalizls: olyan folyamat, mely egy relcit (lt.) tbb relciba transzforml gy, hogy azltal megsznteti a redundancit s a szablytalansgokat (anomlikat), s az j relcik megfeleltethetk az eredeti relcinak.
A normalizls a relcira vonatkozan bizonyos fajta talaktst jelent. A relci elmlete klnfle mdszereket tartalmaz a redundancia megszntetsre az n. normlformk segtsgvel. A normalizls sorn a klnbz normlformk feltteleit vizsgljuk. t norml formt klnbztetnk meg. A klnbz norml formk egymsra plnek, pldul a harmadik norml formban lev relci msodik normlformban is van. A tervezs sorn a legmagasabb norml forma elrse (5NF) a cl. Az els hrom norml forma a funkcionlis fggsgekben tallhat redundancik, mg a negyedik s tdik a tbbrtk fggsgekbl add redundancik megszntetsre tartja szem eltt. Azt az adatmodellt, amelyrl nem tudjuk, hogy melyik normlforma feltteleit teljesti, nulladik normlformjnak nevezzk. Ez a normalizls kiindul helyzete. Ha az adatmodell az tdik normlformt is teljesti akkor az modellt, illetve az adatmodell alapjn felptett adatbzist, teljesen normalizlt adatbzisnak nevezzk. A teljes normalizltsgot elr eljrst vesztesgmentes felbontsnak nevezzk. A normalizls tmogatja az adatintegritst a redundancia s az inkonzisztencia minimalizlsval, de ez az adatok lekrdezst lasstja. Ezrt az a helyzet is elfordulhat - ha a f hangsly az adatok gyors elrsn van -, hogy egy alacsonyabb normlformj adatbzissal kell megelgednnk. A normalizci kvetkezmnyeknt: az adatok trolsra fenntartott hely lecskkent, az adatok gyorsabban, pontosabban s kevesebb hibalehetsggel hasznlhatk, maga az adatbzis egyszerbb s ttekinthetbb vlik. Ezek alapjn egy relciknak ltezik els (1NF), msodik (2NF), harmadik (3NF), n. Boyce-Codd (BCNF), negyedik (4NF) s tdik (5NF) normlformja.
SQL adatbzis Valamely alkalmazs objektumai adatbzist alkotnak. Az SQL esetben az adatbzis egy nll alknyvtrt jelent. Az objektumok egy rszt az alkalmaz, ms rszt a rendszer kezeli illetve hasznlja. Az adatbzis olyan adatoknak a halmaza, melyeket egytt kezelnk, az adatok kapcsolataikkal egytt trtn brzolst, trolst jelenti. Nagy elnye, hogy egyszerre sokan hasznlhatjk, gy egyszerre klnfle informciignyek kielgtsre alkalmas, de csak egyszeres trolsra van szksg. Adattbla Az adatokat tartalmaz relcit nevezzk adattblnak. Az SQL tblkat kezel /TABLE/, melyek azonostja betvel kezddik. A tblknak oszlopaik vannak, melyek tpust meg kell adni az adattbla definilsakor. Egy tbla, akkor szmt definiltnak, ha mr megadtuk a tbla nevt, melynek az egsz adatbzisban egyedinek kell lennie s az oszlop nevt s tpust Csak arra kell gyelni, hogy egy tbln bell kt azonos nev oszlop ne legyen. Megadhatjuk mg, hogy hol helyezkedik el a tbla az adatbzisban. Ugyancsak definilhatjuk a tbla elsdleges kulcst is. A tbla minden egyes oszlopt kln kell definilni. Definil formtum: CREATE TABLE tblanv (oszlopnv adattpus [,oszlopnv adattpus] ... ); A Create Table utasts vgrehajtsa utn egy res tblzatot kapunk, melybe az Insert adatkezel utastssal vagy tblzatbetlt szolgltat programmal vihetnk be adatokat.
Indextbla ltrehozsa
Az indexllomny egy adott tblbl kiemelt nhny rendezett oszlopbl ll. Ez azt jelenti, hogy az albbi utastssal kijellt oszlopok fizikailag rendezett oszlopok lesznek (nvekv vagy cskken sorrendben). Ennek az az elnye, hogy ha a tblban azon oszlopok rtkei szerint keresnk, amelyek indexelve vannak, a keress gyorsabb lesz, hiszen egy rendezett tblban knnyebb a keress. A rendezett oszlop akkor r valamit, ha az oszlop minden rtke mellett ott van annak a sornak a sorszma, amelyben ez az rtk a rendezs eltt volt.
Az SQL-ben rendezett oszlopokbl ll indextblt a kvetkezkppen hozzuk ltre:
CREATE [UNIQUE] INDEX indextbla-nv ON tblanv (oszlopnv [[ASC] / DESC] [,oszlopnv[ASC/DESC],]);
Hatsa: Az ON utn adott tbla felsorolt oszlopait rendezi (nvekedleg ha ASC s cskkenleg, ha DESC szerepel, ha semmi akkor az ASC rvnyes) s bellk egy az INDEX sz utn megadott nev tblt kszt. Ha azon oszlopok szerint keresnk, amelyek indexelve vannak (vagyis az indextblban szerepelnek) akkor a keresett rekordokat sokkal gyorsabban megtallja a rendszer. A UNIQUE azt jelenti, hogy az oszlop rtkei egyediek. Ha szerepel ez a sz a parancsban, akkor a rendszer hibt jelez ha ismtld rtkek is vannak az oszlopban.
115
Plda: CREATE UNIQUE INDEX indtkod ON keszlet (tkod);
Az indextblt a DROP INDEX index-tblanv paranccsal trlhetjk.
Nzet ltrehozsa s trlse Ltrehozs A tblkbl ll adatbzis ltrehozsnak els lpse az adatbzis definilsa. Az adatbzis ltrehoz parancs szintaxisa: CREATE DATABASE adatbzisnv; Az utasts hatsra voltakppen egy res adatbzis jn ltre (az adatbzishoz tartoz knyvtrakkal s katalgustblkkal). Ltrehozs utn az adatbzis aktv (nem kell kiadni a START parancsot). Trls A DROP DATABASE parancs. Ha az adatbzisra tbb mr nincsen szksgnk, akkor trljk a knyvtrbl. Adatbzis trlse a DROP DATABASE adatbzisnv; paranccsal vgezhet el.
Adattbla szerkezetnek mdostsa Az ALTER TABLE parancs.
Az adatbzis feldolgozsa folyamn szksgnk lehet a tbla szerkezetnek mdostsra. Az SQL- ben sajnos nincsen lehetsg igazi mdostsra, csak j oszlopok hozzvtelre. Minden ms vltoztatst gy tudunk elvgezni, hogy ltrehozunk egy j tblt (s azt mr a meglv tblzatbl tltjk fel).
ALTER TABLE tblanv ADD (oszlopnv adattpus [,oszlopnv adattpus ]);
Hatsa: a felsorolt oszlopokkal bvti a tblt.
Kulcsok, kls kulcsok megadsa,
Kulcs: ha egy tulajdonsg (attribtum) vagy tulajdonsgok egy csoportja egyrtelmen meghatrozza, hogy melyik egyedrl van sz. A relcis adatbzisokban a klnbz tblkat kzs attribtumokkal ktjk ssze, melyeket kulcsoszlopoknak nevezzk. 116
Kls kulcs (idegen kulcs), tulajdonsg, mely kulcsa egy msik relcinak. A kls kulcs nem azonostja a rekordokat, nem valdi kulcs, csak a tblk sorai kzti kapcsolatot fejezi ki.
Kulcsok fajti: Egyszer kulcs: a kulcs egyetlen attribtumbl ll.
sszetett kulcs: a kulcsot kett. vagy tbb oszlop kombincija alkotja, el.fordulhat az is, hogy az sszes oszlop szerepel a kulcsban.
Minimlis kulcs: ha sszetett kulcs esetn brmely attribtumot elhagyjuk a kulcsbl, s az gy megmaradt oszlopok kombincija mr nem rendelkezik kulcs tulajdonsggal, akkor az sszetett kulcsot minimlisnak nevezzk. Az egyszer kulcs mindig minimlis.
Kulcsjelltek: egy relciban tbb klnbz. oszlop vagy oszlopkombinci ltezhet, amely eleget tesz a minimlis kulcs defincijnak, ezeket a lehetsges kulcsokat kandidate kulcsoknak vagy kulcsjellteknek nevezzk.
Elsdleges kulcs (primary key): az a kulcs, melyet a kulcsjelltek kzl vlasztunk ki, s kulcsknt hasznljuk. A ki nem vlasztott kulcsjellteket alternatv kulcsnak nevezzk. Az els.dleges kulcsnak nem lehet NULL az rtke.
Idegen kulcs (foreign key): olyan attribtum vagy attribtum kombinci egy adott relciban, amelyik egy msik relciban els.dleges kulcsknt szerepel. Az idegen kulcsot tartalmaz relcit hivatkoz relcinak, a msikat, melyben ez a kulcs elsdleges, hivatkozott relcinak nevezzk.
Kapcsolatok belltsai
Kapcsolat (relationship): Az egyedek vagy tulajdonsgaik kztti viszony. A kapcsolatokat megklnbztethetjk annak megfelel.en, hogy az egyedhalmazok kztti viszonyt vizsgljuk, vagy az egyes egyedek tulajdonsghalmazai kztti viszonnyal foglalkozunk. Az egyedhalmazok kztti kapcsolat, a tblk (relcik) kztti kapcsolatban fog megjelenni. Az egyedhalmaz tulajdonsghalmazai kztti kapcsolatokat pedig a relcis modellnl vizsgljuk, amikor meghatrozzuk a funkcionlis fggsget. Tovbbi megszortsok elhelyezse A tbla definilsakor ms megszortsok is megadhatk Ennek legegyszerbb esete az, amikor a megszorts az egyes attribtumok rtkeire vonatkozik.
A NOT NULL opci azt jelenti, hogy az adott attribtum nem vehet fel NULL (res) rtket. A CHECK kulcssz utn tetszleges felttelt adhatunk. Az erre vonatkoz szablyok megegyeznek a SELECT parancsban hasznlt WHERE zradk lehetsges felttelvel. A felttel ellenrzse sor beszrsakor, vagy az attribtum mdostsakor trtnik. Ennl ltalnosabb megszortsok is megfogalmazhatk. Lehetnek olyanok, amelyek sorokra vonatkoznak, s lehetnek olyan globlis megszortsok, amelyek a teljes adatbzisra vonatkoznak. A sorokra vonatkoz megszortsok ellenrzse a sorban trtn brmilyen mdostskor megtrtnik. A teljesen ltalnos megszortsok ellenrzse minden olyan mdostskor bekvetkezik, aminek az adott felttelre hatsa lehet. A sorra vonatkoz felttelek megadsa szintn a CHECK paranccsal trtnik, ezt a tbla definilsnak a vgn kell megadni.
117
14. SQL adattbla sorainak felvitele, mdostsa, trlse. Lekrdezs adatbzisbl, a lekrdez parancs sszelltsa, vgrehajtsa. Bels lekrdezs lehetsge, a nyelv kifejezsei. Jogok kiosztsa s visszavtelezse.
SQL adattbla sorainak felvitele, mdostsa, trlse
Beszrs (INSERT): Az INSERT utasts sor(oka)t helyez be egy tblzatba vagy nzetbe. Berskor formtum- s integrits-ellenrzs trtnik. Ha a bemen adat brmelyik mezje nem fr el a megfelel oszlopban, akkor az utasts nem hajtdik vgre, vagyis a sor nem kerl bele a tblzatba. INSERT INTO A-tblanv [oszlopnv-lista] VALUES (rtklista) Al-SELECT hasznlatval is beszrhat j sor a tblba, ekkor az j sorok rtkeit az Al-SELECT E- tbljnak soraibl tlti fel az SQL. INSERT INTO A-tblanv [oszlopnv-lista] Al-SELECT; Tovbbi sorok az INSERT parancs ismtelt kiadsval szrhatk be. Adattbla szerkezetnek mdostsa Mdosts (UPDATE): Az UPDATE utasts mdostja a megadott tblzat vagy nzet egy vagy tbb sornak meghatrozott oszlopt vagy oszlopait. Ha nem adunk meg felttelt, akkor minden sort mdostunk, egybknt csak azokat, amelyekre a felttel teljesl. Specilis esetben elfordulhat, hogy egy sort sem mdostunk.
UPDATE A-tblanv SET oszlopnv = kifejezs [oszlopnv = kifejezs]... [WHERE felttel]; Al-SELECT hasznlata esetn a WHERE felttelben megadott bels SELECT E-tbla rtkei jellik ki a mdostand sorokat Trls (DELETE): A DELETE utasts sor(oka)t trl egy tblzatbl vagy nzetbl. A kivlasztsi felttel brmelyik lehet (SELECT, BETWEEN, IS NULL, LIKE, EXISTS). A tblzat/nzet az sszes sor trlse utn is megmarad, ennek megszntetsre a DROP utasts szolgl. Ha a tblzatra idegen kulccsal ms tblzat is hivatkozik, akkor annak sorai is az idegen kulcs definilsakor megadott mdon vltoznak meg. A trlt kulccsal egyez rtk idegen kulcsot tartalmaz sorok a hivatkoz tblzatbl szintn trldnek vagy a null-rtket veszik fel. 118
DELETE FROM A-tblanv [WHERE felttel]; Al-SELECT hasznlatakor a WHERE felttelben megadott bels SELECT E-tbla rtkei jellik ki a trlend sorokat.
Lekrdezs adatbzisbl, a lekrdez parancs sszelltsa, vgrehajtsa
Lekrdez parancs felptse
Az adatbzis kezels egyik legfontosabb mvelete a lekrdezs, mely a SELECT paranccsal hajthat vgre. A SELECT parancs sszetett parancs, mert tbb alparancsbl ll. A SELECT parancs vgrehajtsnak eredmnyeknt egy j tbla keletkezik, melyet eredmnytblnak hvunk. A SELECT parancs hatsra keletkez E-tbla csak ideiglenesen jn ltre. Ha nem mentjk el, akkor a SELECT utn kiadott brmely parancs hatsra eltnik. A SELECT parancs sszetett parancs, melyben az alparancsok csak egy megadott sorrendben rhatk fel. A SELECT paranccsal kiadhat lekrdezsek tpust az alparancsok adjk meg. A parancs ltalnos szerkezete:
SELECT.... mit, milyen oszlopokat vagy rtkeket [INTO...] FROM... honnan, melyik tblbl [WHERE..] ha a felttel teljesl, akkor kivlasztdik [GROUP BY..] csoportostani valami szerint [HAVING..] csoportostsi felttel [UNION..] egyests [ORDER BY/FOR UPDATE OF ..] oszlop vagy oszlopok szerinti rendezs [SAVE TO TEMP..] ments
A lekrdez parancs vgrehajtsa.
Az adatbzis kezels egyik legfontosabb mvelete a lekrdezs, mely a SELECT paranccsal hajthat vgre.
SELECT........ FROM
A SELECT s a FROM kln nem llhat.
SELECT [ALL/DISTINCT] oszlopnv lista|* FROM tblalista;
119
A FROM utn szerepl tblkbl kiemeli az oszloplistban szerepl oszlopokat, illetve a * esetn az sszes oszlopot. ALL/DISTINCT = elfordulhat, hogy egy az oszlopnvlistban szerepl oszlopbban valamilyen rtk tbbszr elfordul. Ha a SELECT parancsban DISTINCT-et runk, akkor az azonosak kzl csak egyet vlaszt ki az oszlopba. ALL esetn pedig az sszes azonosat.
Bels lekrdezs lehetsge, a nyelv kifejezsei
Begyazott SELECT parancsok:
A SELECT parancsok egymsba gyazhatk az albbi szerkezetben:
SELECT (SELECT) (SELECT) )
Az egyms mellett lv bal oldalon ll SELECT-et a tle jobbra llhoz kpest kls SELECT-nek, a msikat pedig belsnek nevezzk.
A kls SELECT a bels E-tbljtl fggen hoz ltre E-tblt. Az ilymdon ltrehozott SELECT-sorozat egyetlen eredmnytblt ad, amit az utols kls SELECT generl.
A bels SELECT mindig vagy WHERE vagy HAVING utasts operandusa, nem tartalmazhat ORDER BY s UNION utastsokat, s az is kikts, hogy a GROUP BY s a HAVING a teljes SELECT-ben csak egyszer fordulhatnak el.
Az egymsba gyazott SELECT szerkezetek aszerint, hogy a bels SELECT E-tblja egy vagy tbb rtket tartalmaz, kt csoportba sorolhatk:
a.) Egyetlen rtket tartalmaz E-tbla
Ha a bels E-tbla egyetlen rtket tartalmaz, akkor a WHERE parancsrszben egyszer sszehasonltsokat vgezhetnk.
Pl. SELECT vnev + knev, fiz FROM dolgozo WHERE fiz < (SELECT AVG (fiz) FROM dolgozo);
b.) Tbbrtk bels SELECT
Amikor egy SELECT-nek egynl tbb rtke van, akkor a WHERE utastsrszben olyan logikai felttel szerepelhet, amely tbb rtket hasznl fel. Ilyen esetekben ngy prediktummal dolgozunk. Ezek az IN, ALL, ANY, EXISTS.
1. Az IN esetn a kls SELECT a bels SELECT ltal generlt listban keresi a kls SELECT WHERE-jben lv oszlop rtkeit s amelyiket megtallja, az ahhoz tartoz rtket beteszi az E-tblba.
2. Az ANY kulcsszval azokat a sorokat vlasztjuk ki a kls SELECT WHERE parancsrszvel, amelyekre a WHERE-ben lv logikai felttel a bels SELECT ltal generlt lista valamelyik rtkre igaz. 120
3. Az ALL prediktum gy mkdik, mint az ANY, de a mondat utols sorban lv valamelyik sz helyett minden-t kell mondani.
4. Az EXISTS-szel ltrehozott felttel akkor vesz fel igaz rtket, ha a bels SELECT ltal generlt E-tbla nem res (ellenkez esetben hamis az rtk)
Jogok kiosztsa s visszavtelezse
Jogosultsgok kiosztsa - az adhat jogot egy objektumra (tbla, nzettbla, stb.) vonatkozan, aki rendelkezik ezzel a joggal, s tovbbadsi joggal is - az adatbzis-adminisztrtor (DBA) kezdetben minden joggal rendelkezik minden objektumra - az adatbzis felhasznlit a DBA hozza ltre, s adhat nekik jogokat - lteznek alaprtelmezsek - az objektum tulajdonosa az, aki ltrehozta az objektumot - az objektum tulajdonosa minden joggal rendelkezik a sajt objektuma felett - a PUBLIC az sszes felhasznlt jelenti
GRANT jogosultsg_1,, jogosultsg_k ON objektum TO felhasznl_1, , felhasznl_m WITH GRANT OPTION;
- Jogosultsgok: SELECT, INSERT, DELETE, UPDATE, ALTER, . - Az sszes jogot jelenti az ALL. - A tovbbadsi jog a WITH GRANT OPTION, ami el is hagyhat.
121
Plda:
- Felhasznl_1 kiadja a kvetkez parancsot: GRANT insert TO Felhasznl_2 ON szeret WITH GRANT OPTION; - Ekkor Felhasznl_2 is tovbbadhatja a kapott jogot: GRANT insert TO Felhasznl_3 ON szeret;
Jogosultsgok visszavonsa
REVOKE jogosultsg_1,, jogosultsg_k ON objektum FROM felhasznl_1, , felhasznl_m;
- A paramterek megegyeznek a GRANT parancsnl hasznlhatakkal - A WITH GRANT OPTION segtsgvel tovbbadott jogok is visszavonja.
Plda ( a GRANT-nl megadott plda folytatsa):
Felhasznl_1 kiadja a kvetkezt:
REVOKE insert ON szeret FROM felhasznl_2;
Hatsa: Felhasznl_2 s Felhasznl_3 mindegyiktl megvonja az a szeret tblra vonatkoz insert jogot.
122
15. Modellez nyelvek s eszkzk szerepe az alkalmazsok tervezsben s dokumentlsban. UML diagramok: hasznlati eset diagram, objektumdiagram, kommunikcis diagram, llapot diagram, osztlydiagram s osztlylers, komponens diagram.
Modellez nyelvek s eszkzk szerepe az alkalmazsok tervezsben s dokumentlsban
Objektumorientlt tervezs - Analzis: a megoldand feladat meghatrozsa. Tartalmazza a feladatspecifikcit, kperny s listaterveket, adatsztr, - Tervezs: az analzisben kszlt dokumentcik kibvtse: objektumdiagrammok, egyttmkdsi diagrammok, osztlydiagram, osztlylers. Clszer mr meglv osztlyokat jrafelhasznlni. - Kdols, tesztels: az osztlydiagramm osztlyait kdoljuk, s folyamatosan teszteljk, elssorban az analzis sorn feltrt esetek kiprblsval.
A programterv egyes rszeit prhuzamosan ksztjk. A diagramokat a hasznlati esetek alapjn folyamatosan szrazon teszteljk. Kdolni egy osztlyt csak akkor szabad, ha annak feladata s krnyezetvel val kapcsolata teljesen letisztult.
UML jells Unified Modeling Language (Egyestett modellez nyelv): a hrom legnagyobb objektumorientlt rendszerfejlesztsi mdszertan (OMT Rumbaugh; Booch; OOSE Jacobson) egyestse (1997- ben jelent meg) de ma mr minden szofverfejlesztssel foglalkoz vilgcg felismerte a szabvny jelentsgt, s foglalkozik annak tovbbfejlesztsvel. Az UML mint nevbl is ltszik, egy modellez nyelv, s nem tervezsi mdszer. Egy grafikus jellsrendszer, amelyet a tervezs/fejleszts sorn hasznlhatunk, de nem rgzti a fejleszts menett. Az UML nyelv kt jl elklnthet rsze a jellsrendszer, s a metamodell. Ebbl az els az, amivel ltalban tallkozunk, mindazok a grafikus jelek, amelyek a modellekben hasznlunk. A jellsrendszer mondja meg pldul, hogy az osztlyok kztti asszocicit egy vonallal kell jellni. Ez az UML szintaxisa. A metamodell a nyelv szemantikja. Osztly-diagrammokbl ll, s a jellsrendszert definilja. Az UML hasznlathoz hasznos a metamodell ismerete is, de nem felttlenl szksges. Modellelemek o Statikus dolgok: Osztly; objektum; interfsz; Aktor, hasznlati eset (pl fzs) stb. o Dinamikus dolgok: Aktivits, Folyamat; Esemny klds, fogads; llapot; o Csoportost dolgok: Csomag; alrendszer o Kommentl dolgok:. megjegyzs
UML diagramok: hasznlati eset diagram, objektumdiagram, kommunikcis diagram, llapot diagram, osztlydiagram s osztlylers, komponens diagram
Diagramok Struktramodellezs: a rendszer struktrjt brzol diagramok. Osztlydiagram: megadja a rendszer osztlyait, s az azok kztti trstsi s rklsi kapcsolatokat. Statikus modell, amely a rendszerben tallhat sszes osztlyt s azok statikus 123
kapcsolatait brzolja. Az osztlydiagramban minden osztly csak egyszer szerepel, ha tbb pldny van akkor is. Objektumdiagram: megadja a rendszer objektumait (osztlypldny) s az azok kztti kapcsolatokat. Az osztlydiagram egy pillanatfelvtele. A objektumdiagram az osztlydiagram egy elfordulsa, pldnya Komponensdiagram: megadja a szoftver fizikai felptst. Teleptsi diagram: megadja hogy milyen szoftver elemeket milyen hardverre teleptnk.
Viselkedsmodellezs:
Hasznlatiesetdiagram: megadja, hogy a felhasznl mire tudja hasznlni a rendszert. A diagram megmutatja, hogy a rendszer milyen kls felhasznlkkal (aktorokkal) ll kapcsolatban s hogyan Szekvenciadiagram: Aktorokat, objektumokat s az azok kztti kapcsolatokat brzol diagram. Olyan interakcidiagram, mely az id mlsra helyezi a hangslyt.
Egyttmkdsi diagram: Az objektumoknak a problma megoldsban val egyttmkdst mutatja be. Olyan, konkrt objektumokat tartalmaz diagram, amely az objektumok kztti dinamikus kapcsolatokat brzolja. Tartalmazza az objektumok kztti ismeretsgi, illetve tartalmazsi (egsz - rsz) kapcsolatokat is. Az objektumok kztti informcicsere zenetekkel trtnik, ezeket olyan nyilakkal brzoljuk, amelyekre rrjuk az zenet nevt, s meg is szmozhatjuk ket, ahhoz, hogy az esemnyeket relatv rendezettsggel tntessk fel. llapotdiagram: egy adott osztly vagy alrendszer llapotvltozsait rja le. Aktivitsdiagram: ler egy folyamatot (tevkenysgek egymsutnjt).
Osztlylers Az osztly jellse UML-ben: egy hrom rszre osztott tglalap jelli: - Fels rszbe az az osztly nevt kiemelten - A kzpsbe az adatai - Alulra a metdusokat tesszk.
Osztly adatok metdusok Objektum:Osztly llapot
Az osztlydiagramban szerepl osztlyok tglalapjaiban csak a legfontosabb informcik frnek el. Ezrt minden olyan osztlyt, amely a feladatra nzve specifikus (azaz neknk kell megalkotni) valahol rszletesebben ki kell fejteni. Az osztlylers (az osztly dokumentcija) a kvetkezket tartalmazza: - Osztly neve - Feladatlers - Kzvetlen s - Objektumok szma (opcionlis) - Kapcsolatok (opcionlis) az osztly ms osztlyokkal val kapcsolatai. Itt rjuk le hogy az osztly milyen egyb osztlyokkal objektumokkal mkdik egytt.. 124
- Adatok (az sszes adat) az osztlydiagramon az adatrl csak kevs informcit tudunk jellni, itt megadhat az sszes adat neve, tpusa, rtkhatrai, beviteli formtuma, korlatozsok, magyarzat, pldk. - Metdusok (rviden a feladatukat) itt rviden lerjuk a metdusok feladatt szvegesen s/vagy pszeudokdokkal.
125
16. A kliensoldali programozs alapelemei az Internetes alkalmazsok fejlesztsnl. A kapcsold technolgik rvid bemutatsa: HTML, XHTML, XML, CSS, XSL. A kliensoldali script nyelvek hasznlata.
A kliensoldali programozs alapelemei az Internetes alkalmazsok fejlesztsnl A tisztn kliens oldali megoldsok esetn a kibvtett trinformatikai funkcionalitst a kliens szmtgpen fut alkalmazs biztostja. Ezt a megoldst vastag kliens megoldsnak is nevezik, mivel a munka nagyobbik rsze a kliens szmtgpen folyik, a hlzati svszlessg mellett a kliens szmtgp teljestmnye a meghatroz. A web szerver az adatokat, esetleg a letltend programokat szolgltatja. A szerver oldalon nincs szksg specilis trinformatikai ignyek tmogatsra. Ezt a legtbbszr Java Applet vagy a bngszbe bepl modul (plug-in) segtsgvel valstjk meg. Ez a megolds mr nem csak raszteres kpek, hanem vektoros trkpek publiklst is lehetv teszi.
A kapcsold technolgik rvid bemutatsa Az appletek specilis Java nyelven rt programok, melyeket a bngszbl futtathatunk, amennyiben a szmtgpnkre teleptettk a Java Runtime Environment (JRE) megfelel verzij vltozatt. Appletet nem kell a kliens gpre telepteni, a szerverrl automatikusan letlti a bngsz program, ha valamelyik HTML oldal egy Java Appletet hasznl. Az Appletek hvst a HTML kdban az <applet ...> </applet> elemek segtsgvel valsthatjuk meg. Az <applet> elemben szmos paramter adhat meg. A code paramter hatrozza meg, hogy melyik Java osztly vgrehajtsval indul az applet, ennek az osztlynak a Java standard Applet osztlybl kell szrmaznia (extends Applet). A width s height paramter az applet ltal elfoglalt kperny terlet mrett adja meg pixelekben. Ezt a mretet nem tudja megvltoztatni az applet. Az archive paramter tartalmazza a hasznlt java archive (jar/zip) fjlokat vesszvel elvlasztva. A HTML 4.0 specifikciban az <applet> elem helyett az <object> elem hasznlatt javasoljk. A manapsg hasznlt bngszk mindegyike tmogatja mg az <applet> elem hasznlatt is A Java nyelv tartalmazza az alapvet grafikus elemek/objektumok halmazt (awt/Beens stb.), segtsgvel kszthetnk olyan appletet, mely a szerveren lv trinformatikai adatbzisok tartalmt megjelenti a kliens szmtgp monitorn. Miutn mr tbben felismertk ezt a lehetsget s ilyen funkcionalitssal br appletet, knyvtrat ksztettek. Ebben az esetben a trinformatikai adatoknak s az appletnek ugyanazon a szmtgpen kell lennie, ugyanis egy applet csak azon a szmtgpen nyithat meg fjlokat, ahonnan letltttk. Ez elssorban a kliens szmtgp vdelmt szolglja (pl. vrus). Az ilyen appletek hasznlathoz nincs szksg web szerverre, ha a kliens szmtgpre teleptettk az appletet s az adatokat is. Teht ez a megolds nem csak internetes elrst biztost, hanem az intraneten bell (akr egy szl szmtgpen) is hasznlhat. Ilyen applet pldul a JShape s a GeoTools.
126
A kliensoldali script nyelvek hasznlata
HTML A HTML (angolul: HyperText Markup Language=hiperszveges jellnyelv) egy ler nyelv, melyet weboldalak ksztshez fejlesztettek ki, s mra mr internetes szabvnny vlt A HTML dokumentumot kt rszre lehet bontani a fejlcre s dokumentumtrzsre. (Egy harmadik rsz lehet a keretek defincija.)
A dokumentumot a fejlcelemek vezetik be, melyek kezdett a <HEAD> utasts jelzi. A fejlcelemek kztt szoks a dokumentumcmet megadni, mely cmet a <TITLE> s a </TITLE> utastsok kz kell zrni. A fejlcet a </HEAD> utasts zrja. Ezt a rszt a dokumentumnak ltalban az ablak cmsorban jelentik meg a bngszprogramok.
A dokumentumtrzs - amit voltakppen a WEB-bngsz meg fog jelenteni - a fjl <BODY> s </BODY> utastsok kztti rsze. Ezen elemek kztt kell elhelyezni mindent: a szveget, hivatkozsokat, kpeket, stb. (A keretek s a JavaScript kdok kivtelvel!)
XHTML A HTML dokumentumokhoz hasonlan az XHTML is ugyanazt a szerkezetet kveti, teht rendelkezik vezrlinformcikat tartalmaz fejlccel, illetve trzzsel. rtelemszeren az utbbiban tallhat a kpernyn megjelen tartalom, mindazon cmkkkel, amelyek hatsra a bngsz megformzza a dokumentumot. Az XHTML csald dokumentumtpusai XML alapak, s tulajdonkppen arra is lettek tervezve, hogy egyttmkdjenek az XML alap felhasznli alkalmazsokkal. A HTML-t XML-ben jradefiniltk, ez a nyelv az XHTML, ahol az X utal arra, hogy ez a HTML nyelv az XML szintaxist kveti. Az XHTML a jelenlegi s jvbeni dokumentumtpusok s modulok csaldja, amelyek reprodukljk, rszt kpezik, s kiterjesztik a HTML 4-et. A klnbsg fleg a jl formzottsgban jelenik meg, amely egy XML dokumentum alapkvetelmnye. Az XHTML csald dokumentumtpusok teht XML alapak, s vgl is arra lettek tervezve, hogy egyttmkdjenek az XML alap felhasznli alkalmazsokkal. Az XHTML 1.0 az elsdokumentumtpus az XHTML csaldban, amely 2000. janur 26-n publikltk a W3C honlapjn. Ez a verzi a hrom HTML 4 dokumentumtpus (Strict, Transitional, Frameset) megjtsa, XML 1.0 alkalmazsknt.
XML Az Extensible Markup Language (XML) megjelense jelents vltozst hozott az internetes trinformatikai formtumokban is. Az XML egy egyszer, nagyon rugalmas szveges formtum, melyet az SGML alapjn dolgoztak ki. Elnye mg, hogy a szveges formtum miatt platform fggetlen, a szmtgp architekturk (LSB/MSB) s az opercis rendszerek kztti klnbsgek nem okoznak problmt. Eredetileg nagymret elektronikus publikcikhoz terveztk, de napjainkban egyre szlesebb krben alkalmazzk az internetes adattvitel terletn, gy a trinformatikai adatok esetn is. Sikert annak is ksznheti, hogy ingyenes, nyltforrs eszkzk llnak a fejlesztk rendelkezsre, az XML llomnyok rtelmezsre (parser), pldul a xerces Java parser.
127
Az XML elssorban az internetre kszlt, gy alkalmazhat klnbz dokumentumok webes publiklsra, feldolgozsra. Formtuma automatikusan generlhat klnbz ms formtumokba, mint pldul HTML, PDF.
CSS A CSS az angol Cascading Style Sheets kifejezs rvidtse, jelentse rangsorolt stluslapok. A stluslapot egy szveges fjlban kell megrni, amit .css kiterjesztssel kell elmenteni. Az egyre szlesebb krben elterjed CSS stluslapnyelv npszer XHTML, illetve XML formzsi lehetsg. Szvegfeldolgozs sorn a megjelentshez leginkbb ennek az utastastskszlett kell ignybe venni, radsul a bngszk is mind a mai napig ezt tmogatjk kifogstalanul. A CSS megjelenst a HTML fejleszti rmmel fogadtk, mert meglttk benne a HTML-bl hinyz specilis lehetsgeket. A stluslapok alkalmazsnak mg egy nagy elnye van. Hasznlatukkal hatkonyabb, gyorsabb s rugalmasabb tehetjk a webszerkesztst, elfelejthetjk a frame-eket, a lassan tltd tblzatokat, a korltozott formzsi lehetsgeket stb., segtsgkkel tlthatbb tehetjk forrskdjainkat.
A CSS (Cascading Style Sheets) jelentse egymsba gyazott stluslapok. A HTML oldalak megjelenst befolysol egyszer nyelv, mely segtsgvel meghatrozhatjuk, hogy hogyan (s hol) jelenjenek meg az egyes HTML elemek. (paragrafusok, cmsorok, stb.) Tbbek kztt befolysolhatjuk a sznket, mretket, elhelyezkedsket, margikat, stb. Ezzel a mdszerrel, sokkal szabadabban, rugalmasabban tudjuk kezelni HTML oldalaink megjelenst. Az egymsba gyazhatsg (kaszkdols) arra utal, hogy tbb stluslapot, meghatrozst is megadhatunk egyszerre, illetve egy stlus lehet tbb elemre is rvnyes, amit egy msik stlussal felldefinilhatunk. A stlusok rkldnek az oldal hierarchija szerint, ha pldul a gykr elemre definilunk egy stlust, akkor tbbnyire az oldal sszes elemre rvnyes (a tulajdonsgok rklhetsgtl fggen). Egy stluslapot tbb dokumentumhoz is hozzrendelhetnk, ezzel egysges megjelenst biztosthatunk szmukra. Egy dokumentumhoz pedig tbb stluslap is csatolhat.
XSL Az XSL (eXtensible Stylesheet Language) [122] a legjabban megjelent szedsi nyelv, szintaxisnak alapjul az XML szolgl. Kezdetben az XSL-t egy olyan egyszer nyelvnek szntk, amely az sszes lehetsges transzformcit el tudja vgezni a jellt szvegeken. Ez az elkpzels azonban kivitelezhetetlen volt, hiszen a nyelv ilyen formban meglehetsen bonyolult lett volna. A problmt gy sikerlt megoldani, hogy a nyelvet kt sszetevre bontottk szt, vagyis ltrehoztk az XSLT (eXtensible Stylesheet Language Transformation) [123] ajnlst, amely SGML/XML struktrk kzti talaktsokra hasznlhat; s az XSL-FO-t (XSL Formatting Objects), ami pedig egy hagyomnyos stluslap lehetsgeit knlja megjelensbeli stlusok, formk, helyzetek meghatrozsra. E kt technolgit egszti ki egy harmadik, az n. XPath (XML Path Language), amely nem ms, mint nyelvi kifejezskszlet XML dokumentumokban val keressre, kapcsoldsok kialaktsra s az egyes elemtpusokra alkalmazhat krnyezetfgg formzsi lehetsgek megvalstsra. Az XPath a dokumentumot csompontok (node-ok) halmaznak tekinti. A node lehet brmilyen alkotrsz: elem, attribtum, attribtumrtk stb. E hrom nyelv egyttesen alkotja teht a bvthet stluslapnyelv csaldot. Gyakran elfordul, hogy az XSL s az XSLT kifejezseket sszekeverik s helytelenl hasznljk mg a fejlesztk is, de gy gondoljuk, hogy a lertakbl mr rthetk a klnbsgek s az sszefggsek. 128
A kliensoldali script nyelvek hasznlata A bngszk (pl.: Navigator 2.0 s ksbbi verzik) kpesek rtelmezni a HTML oldalakba gyazott kliensoldali JavaScript utastsokat. Amikor a bngsz (vagy kliens) egy ilyen oldalt kr le, a szerver a hlzaton keresztl elkldi a dokumentum teljes tartalmt a kliensnek, a HTML s JavaScript utastsokkal egytt. A bngsz elolvassa az oldalt az elejtl a vgig, megjelenti a HTML utastsok eredmnyt s vgrehajtja a JavaScript utastsokat, azok elfordulsnak sorrendjben. Ez a folyamat, ahogy a lenti brn lthat, hozza ltre a felhasznl ltal ltott vgeredmnyt. A HTML oldalakba gyazott kliensoldali JavaScript utastsok vlaszolhatnak a felhasznli esemnyekre (egrkattints, rlap adatbevitel, stb...). Pldul, rhatunk olyan JavaScript fggvnyt, amely ellenrzi, hogy a felhasznl ltal bert adatok rvnyesek-e (telefonszm, irnytszm, stb...). A HTML oldalba begyazott JavaScript minden hlzati adattvitel nlkl meg tudja vozsglni a bert adatot s ha a felhasznl rvnytelen adatot rt be, arra prbeszdablak megjelentsvel figyelmeztetheti. A JavaScript klnbz verzii a Navigator meghatrozott verzii alatt mkdnek. Pldul, a JavaScript 1.2 a Navigator 4.0 verzijhoz kszlt. Nhny olyan lehetsg, amely a JavaScript 1.2 verzijban megtallhat, nem elrhet a JavaScript 1.1 verzijban, ennlfogva nem elrhet a Navigator 3.0 verzijban sem. A JavaScript s Navigator verzikrl szl informcikrt lsd a JavaScript Verzik cmszt. A kliensoldali scriptek olyan programrszletek amelyek forrsnyelvi alakban a HTML dokumentum keretben tltdnek le a felhasznl szmtgpre. A scripteket a bngszprogram hajtja vgre. A vgrehajts bekvetkezhet: - egrmozgats a HTML dokumentum objektumra - egrkattints, vagy - a HTML dokumentum letltse miatt. Fontos megjegyzs: A bngszprogramnak tudnia kell interpretlni az alkalmazott script nyelv utastsait.
129
17. A szerveroldali programozs alapelemei az Internetes alkalmazsok fejlesztsnl. A szerveroldali objektumok bemutatsa. Adatbzis-kezels webrlapokkal. Egy szerveroldali programnyelv rvid bemutatsa, jellemzse.
A szerveroldali programozs alapelemei az Internetes alkalmazsok fejlesztsnl. A szerveroldali programozs (Server-Side Scripting) esetben a szerveroldali scriptek a Web szerveren futnak le s dinamikus HTML oldalakat hoznak ltre. A egyik legelterjedtebb szerveroldali programozsi technolgia az ASP Active Server Pages. Az ASP a Microsoft technolgia (1996), gy terveztk, hogy a Web oldalak tartalma minden j beolvass esetben megvltozhat. Alapelve: a Web oldalba olyan programkdot ptnk be, amely a szerveroldalon lefut mieltt a felhasznl bngszje beolvassa a Web lapot. A szerveroldali programozs elnye knnyen megrthet a kvetkez pldbl: - Clkitzs: az aktulis dtum leolvassa a Web laprl - Statikus HTML oldalon minden nap be kell rni az aktulis dtumot. - Az ASP technolgia lehetv teszi egy script megrst amely a beolvasott Web lapon megjelenti az aktulis dtumot. Mieltt a felhasznl beolvassa a Web lapot, a szerver lefutatja a scriptet s gy a beolvasott Web lapon mindig az aktulis dtum jelenik meg. A szerveroldali programozs tbb szempontbl is elnys a Web fejleszt szmra: 1. A szerveroldali scriptek fejlesztse teljesen fggetlen a felhasznl ltal alkalmazott bngsztl. 2. gy a szerveroldali scripteket olyan programnyelvben is fejleszthetjk amelyt a felhasznl bngszje nem tmogat. 3. A szerveroldali scriptek forrsnyelvi vltozata nem olvashat a felhasznl bngszjben. Ez fontos momentum a forrsnyelvi vltozat vdettsge szempontjbl. 4. A letltend HTML dokumentum mrete cskken (mivel a bngszben csak a szerveroldali scriptek vgrehajtsi eredmnye ltszik). gy a Web oldal beolvassa is gyorsabb. 5. Egy szerveroldali komponens alkalmazsval leolvashatjuk a felhasznl gp opercis rendszert s bngszprogramjt, gy a szerveroldalrl lekldtt HTML dokumentum a kliens gp krnyezetre alakthat. 6. Az ASP fjl az adatbzis szerverrl adatbzist hasznlhat fel a megjelentend Web lap feldolgozsra.
130
A szerveroldali objektumok bemutatsa. A JavaScript alkalmazsok egy rsze a kliensen, ms rsze a szerveren fut. Szmos JavaScript alkalmazs a LiveWire nev adatbzis-szolgltatst hasznlva nmagt egy relcis adatbzishoz kti. Ebbl kifolylag a JavaScript alkalmazsokat gy kell elkpzelnnk, mint egy hromsoros kliens- szerver architektrt. A hrom rsz az albbi: 1. WWW kliens (Internet Explorer, Netscape Navigator) 2. WWW szerver/adatbzis kliens 3. Adatbzis-szerverek A JavaScript kliens-oldali krnyezete WWW kliensek rszeknt fut. A JavaScript szerver-oldali krnyezete a webszerver rszeknt fut, mely egy vagy akr tbb adatbzis-szervert is elr. A JavaScript futsidej krnyezetnek hrom elsdleges komponense van: 1. A JavaScript futsidej knyvtr 2. LiveWire adatbzis-elrs knyvtr 3. Java virtulis gp (JVM) A kliens ltal rtelmezhet scripteket azrt hasznlhatjuk, mert a webbngszkben beptett interpreter van. Egy JavaScript alkalmazst futtatva szmos dolog bekvetkezhet, akr a kliensen, akr a szerveren. Egy alkalmazs fejlesztse kzben mind kliens-oldali, mind szerver-oldali JavaScript utastsokat tartalmaz HTML oldalakat runk. A HTML forrskdban a kliens-oldali scripteket a SCRIPT tag, a szerver-oldaliakat a SERVER tag hatrolja. Olyan llomnyokat is ltrehozhatunk, melyek pusztn JavaScript utastsokat tartalmaznak s egyetlen HTML tag sincs bennk. Egy ilyen kls scriptfjl vagy kliens-oldali vagy szerver-oldali JavaScriptet tartalmazhat. Nincs lehetsg egy kls fjlban kliens- s szerver-oldali objektumok vagy fggvnyek egyidej hasznlatra. A globlis (a <SERVER> s </SERVER> tag-ek kztt deklarlt) vltozk hasznlatt clszer a minimlisra korltozni, az alkalmazsokban a lehet legtbb rszt fggvnyekkel megoldani. Ezzel jelentsen javthatjuk az alkalmazsok mkdst.
Adatbzis-kezels webrlapokkal. Web megoldsokat nyjt adatbzis-kezelk A nagy adatbzis-kezel gyrtk hamar felismertk a Web technolgia ltal nyjtott elnyket. Ma mr nincs olyan rendszer, amely ne knlna valamilyen megoldst a Web s az adatbzisok sszekapcsolsra. A megoldsok azonban nem egysgesek, ahny gyrt annyi technolgia. Ki lehet azonban emelni nhny ltalnosan nyjtott szolgltatst, mint pl. a dinamikus HTML generls, a CGI tmogats, a Web szerverek API-jeinek tmogatsa s a Java tmogats. Az adatbzis-kezel gyrtk termszetesen fejleszt eszkzket is knlnak termkeikhez. Ezek az eszkzk azonban ma mg elg kiforratlanok s hasznlatukhoz az illet rendszer alapos ismerete szksges. Radsul az gyfl oldali fejleszteszkzk ltalban csak egy adatbzis-kezel rendszerrel hasznlhatak, amely risi htrny a kliens-szerver technolgia adatbzis-kezel fggetlen fejleszt krnyezeteivel (pl. Delphi) szemben. A teljessg ignye nlkl felsorolunk nhny termket (s gyrtikat), amelyek Web megoldst knlnak: DB2 (IBM), Online Dynamic Server (Informix), Open Ingres (CA), Oracle (Oracle), Progress (PS), SQL Server (Microsoft), SQL Anywhere (Sybase) [1]. 131
Egy szerveroldali programnyelv rvid bemutatsa, jellemzse. Szerveroldali JavaScript HTML oldalakba szerveroldalon is begyazhat JavaScript. A szerveroldali utastsok klnbz gyrtk relcis adatbzisait kapcsolhatjk ssze, megoszthatjk egy alkalmazs adatait a felhasznlk kztt, hozzfrst nyjthatnak a szerver fjlrendszerhez, vagy a LiveConnect s Java hasznlatval kommuniklhatnak ms alkalmazsokkal. A szerveroldali JavaScript-tel elltott HTML oldalak magukban foglalhatnak kliensoldali JavaScript utastsokat is. Az egyszer kliensoldali JavaScript oldalakkal szemben, a szerveroldali JavaScriptet hasznl HTML oldalak bytekdba fordtott vgrehajthat fjlok. Ezek a vgrehajthat alkalmazsok a webszerveren futnak, ahol rendelkezsre ll a JavaScript futsidej motor. Ez okbl a JavaScript alkalmazsok ltrehozsa ktlpcss mvelet. Az els lpcsben, ltre kell hozni a HTML oldalakat (amelyek tartalmazhatnak kliensoldali s szerveroldali JavaScript utastsokat is) s JavaScript llomnyokat. Ezek utn az sszes fjlt egy vgrehajthat llomnyba kell fordtani. A msodik lpcsben az alkalmazs egyik lapjt lekri egy kliens bngsz. A futsidej motor a vgrehajthat alkalmazst hasznlja, hogy kikeresse a forrsoldalt s dinamikusan ltrehozza az elkldend HTML oldalt. Az futtat minden szerveroldali JavaScript utastst, ami az oldalon tallhat. Az utastsok eredmnye a HTML oldalhoz adhat j HTML elemeket, vagy kliensoldali JavaScript utastsokat is. A futsidej motor ezutn a hlzaton keresztl elkldi a ksz oldalt a bngszkliensnek, amely lefuttatja a kliensoldali JavaScripteket s megjelenti a vgeredmnyt.
132
18. Az informatikai biztonsg fogalma. A biztonsgi rendszer tervezse, a tervezs szakaszai. Az egyes tervezsi szakaszok f feladatai. A kockzatelemzs clja s lpsei. Az informatikai rendszerek elleni tmadsok tpusai.
Az informatikai biztonsg fogalma Az informatikai biztonsg a vdelmi rendszer olyan, a vd szmra kielgt mrtk llapota, amely az informatikai rendszerben kezelt adatok bizalmassga, srtetlensge s rendelkezsre llsa szempontjbl zrt, teljes kr, folyamatos s a kockzatokkal arnyos.
A vdelmi rendszer fbb tervezsi lpsei:
- Az informatikai biztonsg tervezse s megteremtse - analg mdon ms biztonsgi feladatok megoldsval - a kvetkez krdsek kr pl: o Mely informcik szksgesek a szervezeti clok elrse rdekben? o Adott informcira mely alapfenyegetsek rvnyesek? o Hol, milyen rendszerelemhez ktve jelennek meg az informcik a rendszerben? o Adott helyen milyen tnyezk vlthatjk ki az alapfenyegetettsg bekvetkeztt? o Mi a kockzata a fenyegetseknek? o Milyen intzkedsek tehetk a kockzat cskkentsre? o Gyakorlatilag lehetsges-e, illetve megri-e az adott intzkeds? o Milyen feladatok addnak az elhatrozott intzkedsekbl?
A kockzatelemzs clja s lpsei Elemz s rtkel jelleg szakrti vizsglat melynek sorn a rendszer biztonsgt feltrkpezik, a nem elviselhet kockzatot jelent fenyegetst mutatja ki, a fenyegets ltal okozott krt is elemzi s annak elfordulsnak gyakorisgt.
A kockzatelemzs olyan elemz s rtkel jelleg szakrti vizsglat, amely az informatikai rendszerekben kezelt adatok s alkalmazsok rtkelse, gyenge pontjainak s fenyegetettsgeinek elemzse tjn meghatrozza a potencilis krrtkeket s azok bekvetkezsi gyakorisgt. Lpsei: 1. A mdszertan szakaszainak s lpseinek rszletes lersa 2. A vdelmi igny feltrsa, 3. Fenyegetettsg elemzs, 4. Kockzatelemzs, 5. Kockzatmenedzsels, 6. Az informatikai biztonsgi vizsglati dokumentum tartalmi felptse, 7. Segdletek.
Az informatikai rendszerek elleni tmadsok tpusai Az adatot, mint a tmadsok alapvet cljt a kvetkez rendszerelemek veszik krl: - az informatikai rendszer fizikai krnyezete s infrastruktrja, - hardver rendszer, - szoftver rendszer, - kommunikcis, hlzati rendszerek - adathordozk, - dokumentumok s dokumentci, - szemlyi krnyezet (kls s bels). 133
19. A megbzhat informatikai rendszer alapfunkcii, biztonsgi kvetelmnyeit szablyoz hazai s nemzetkzi szabvnyok, ajnlsok, dokumentumok. Az informatikai rendszer elleni tmadsok kivdsnek eszkzei. Kriptogrfiai mdszerek s eszkzk, azok gyakorlati alkalmazsai.
A megbzhat informatikai rendszer alapfunkcii, biztonsgi kvetelmnyeit szablyoz hazai s nemzetkzi szabvnyok, ajnlsok, dokumentumok.
- TCSEC - Trusted Computer System Evaluation Criteria = Biztonsgos Szmtgpes Rendszerek rtkelsi Kritriumai (Narancs Knyv) - ITSEC - Information Technology Security Evaluation Criteria = Informcitechnolgia Biztonsgi rtkelsi Kritriumok (Fehr Knyv) - FC - Federal Criteria for Information Technology Security = Az Informcitechnolgia Biztonsgra vonatkoz Szvetsgi Kritriumok - CTCPEC - Canadian Trusted Computer Product Evaluation Criteria = A Biztonsgos Szmtstechnikai Termkek rtkelsi Kritriumai Kanadban - CC - Common Criteria = Kzs Kvetelmnyek - OSI ISO 7498-2 (X.800) szabvny a nylt hlzatok felptsnl szksges biztonsgos szolglatokrl s az ezeket megvalst mechanizmusokrl.
Hazai ajnlsok A Miniszterelnki Hivatal Informcis Koordincis Irodja teszi kzz az Informcis Trcakzi Bizottsg(ITB) ajnlsait. Ezek az ajnlsok adaptljk a nemzetkzi ajnlsokat a magyar viszonyokra, s jl hasznlhatak az zleti terleten mkd szervezeteknl is.
Az informatikai rendszer elleni tmadsok kivdsnek eszkzei.
A tzfal egy belpsi pontot biztost, ahol a behatolk tevkenysge auditlhat. A bejelentkezsi ksrletektl az eldobott csomagokig szles lehet a naplzsi tevkenysg. Ez nagyon fontos tevkenysg, mivel ennek segtsgvel detektlhatak az egyes betrsi ksrletek, kvethetk vgig a felhasznli aktivitsok. A fejlettebb rendszerek riasztsi funkcival is rendelkeznek, azaz gyans tevkenysg esetn riasztjk az adminisztrtort. Behatols detektor Olyan szoftver, amely a hlzaton szlelt gyans tevkenysgek alapjn gyakran a tzfallal egyttmkdve figyelmezteti a rendszergazdt s nllan is kpes lpseket tenni a krokozs megakadlyozsra. Kriptogrfiai mdszerek s eszkzk, azok gyakorlati alkalmazsai.
- Szimmetrikus rejtjelezs: jellemzje, hogy a titkostsra s a dekdolsra ugyanazt a kulcsot hasznljuk, amelyet mind a kld flnek, mind a fogad flnek ismernie kell. Ehhez viszont a kommunikci megkezdse eltt meg kell llapodniuk egy kzs kulcsban, s azt titokban kell tartaniuk. Az zeneteket csak a titkos kulcs segtsgvel lehet dekdolni, gy egy esetleges tmad a kommunikcit lehallgatva se tudja megrteni az zeneteket, illetve rejtjelezni se tud egy hamis zenetet. A szimmetrikus kulcs titkosrs legnagyobb elnye a gyorsasg, a kdols sebessge, htrnya, hogy a kdolshoz hasznlt kulcsot el kell juttatni minden rintetthez. Ha brkinek sikerl elfognia az zenetet s a kulcsot is megszerezte, akkor kpes a dekdolsra. 134
- Aszimmetrikus rejtjelezs: A rendszer lnyege, hogy a kommunikl feleknek nem kell elre megegyeznik egy kzs titkos kulcsban, hanem mindenkinek kt kulcsa van: egy titkos s egy nyilvnos. A titkosat csak tulajdonosa ismeri, a nyilvnost brkinek tadhatja. Ezutn a felad a cmzett nyilvnos kulcsval egy olyan rejtjelezett szveget tud generlni, amit csak s kizrlag a cmzett titkos kulcsa tud megfejteni. Elnye, hogy szksgtelenn teszi a kulcs elkldst, s gy a rendszer sokkal biztonsgosabb, htrnya a mveletek lasssga.
135
20. Az informcis rendszer fogalma s sszetevi. Adat, informci, tevkenysg, esemny, felhasznl, szabvny. Az informcis rendszer szintjei s nzetei. Rendszerszervezsi letciklus. Tervezs, szervezs, modell. Szervezetek strukturlsi mdjai. tvilgts, diagnosztizls.
Az informcis rendszer fogalma s sszetevi Informcik, a rjuk vonatkoz informcis esemnyek, az informcikon vgrehajtott tevkenysgek, az elzekkel kapcsolatos felhasznlk s erforrsok, valamint a mindezeket szablyoz eljrsok szervezett egyttese.
Az egymssal kapcsolatban ll informcis folyamatokat egytt informcis rendszernek nevezzk. Az informcis rendszerrel szemben tmasztott kvetelmnyek: - gyors s pontos kommunikci - nagy mennyisg adat trolsa - gyors adatfeldolgozs Ezen kvetelmnyeket a szmtgp tkletesen kielgti! Informcis rendszer: kiindulpont + vgpont + informcis csatorna
Az ADAT A valsg nem rtelmezett (de rtelmezhet) tkrkpe. Az adat nyers (feldolgozatlan)tny, ami valakit vagy valamit jellemez.
Adatnak neveznk minden olyan ismeretet, mely elzleg mr rgztsre kerlt. Az ismeret kzlsnek szablyai: - szintaktikai szablyok (forma) - szemantikai szablyok (tartalom) Az INFORMCI az ember ltal rtelmezett adat. Az ember szleli, felfogja, megrti s rtelmezi az adatot, olyan formra hozza, amelyben emberi lny szmra az jelentssel br.
INFORMCIS TEVKENYSGNEK az adatok kezelst s ellltst clz illetve az elbbieket vezrl mveletek szervezett egysgt tekintjk.
INFORMCIS ESEMNY a vltozs vltja ki az esemnyt mi a vltozs? szmts technikus: ktegelt feldolgozs informatikus: program elindtsa, hanem maga a vltozs az informcis esemny az llapot vltozsa: klnleges esemny ravasz [trigger] valamivel le is kell zrni
136
Informcis esemnynek az informcis tevkenysget kivlt illetve az azt lezr momentumot nevezzk. (a tevkenysg az az adatfeldolgozsi egysg, amelyet a felhasznli igny indt s lezr esemnyei hatrolnak)
A FELHASZNL az ismeretekkel kapcsolatban ll embercsoport ismerettads vgs felhasznl alkalmazsi felhasznl adatszolgltat - adatfelhasznl a vezetk felelssge
SZABVNY konvenci (megegyezs) szabvnyok s szabvnyos eljrsok nylt rendszerek - rendezetlen kereskedelem eligazts, korlt, tjkoztats A szabvny az IR valamilyen tnyezjre vonatkoz megegyezs
Az informcis rendszer szintjei s nzetei 1-Adatot trol, 2-Adatot lehv, 3-Kapcsolatba lp a mdszerbankkal, 4-Lehvja a kivlasztott mdszert(eljrst), 5-Elltja a mdszert adatokkal s adatokat dolgoz fel, 6-Az gy kapott eredmnyeket trolja az adatabankban, 7-Az adott vllalti prob. Szerint a modellbanktl informldik, 8-kivlasztja a szksges modellt, 9-a modellt infkkal ltja el, esetleg j infkombincik rvn a modellt is gazdagtja, 10-a keletkez informatikai eredmnyt trolja, s ezltal, 11-j mdszer, esetleg , 12-j modell jn ltre.
Rendszerszervezsi letciklus 8 fzis I. Kvetelmnyek meghatrozsa, elemzs 1. A feladat s a clok meghatrozsa 2. Megvalsthatsgi tanulmny ksztse 3. Rendszerelemzs II. Rendszertervezs 4. Koncepcionlis tervezs 5. Rszletes tervezs III. Megvalsts 6. Kivitelezs 7. tlls 8. Kirtkels s zemeltets Tervezs, szervezs, modell. Szervezetek strukturlsi mdjai
Tervezs: klnbz tevkenysgek szervezse bizonyos eredmnyek elrse cljbl. Cl: egy zletet, vllalkozst a jvnek pteni, a vltozsokat kvetve s menedzselve. 137
- stratgiai - taktikai - operatv szinteken valsul meg.
Modell A szervezetfejleszts folyamatmodellje: -problmatudatosits-a vltoztats szksgessge - tancsad belpse -diagnzis -akciterv - megvalsts -szerv. fejl. program befejezse
tvilgts, diagnosztizls tvilgts 1-kiindulsi helyzet megismerse (felmrs) s a felmerlt ignyek feltrsa. 2-a kiindul helyzet elemzse, diagnzis ksztse. 3-a szmba vehet vltoztatsi alternatvk tanulmnyozsa. 4-a megfelel alternatva kivlasztsa s temezse.
Diagnosztizlsnak cljai: 1 jl s minl teljesebb kren szlelje a szervezet betegsgtneteit. 2-e tnetek alapjn krl tudja hatrolni magt a szervezeti betegsget, hogy a bajok orvosolhatk legyenek. 3-a diagnzis teljes azaz komplex legyen. Diagnosztikai tnyezk: 1- melyek a vllalkozs cljai, mi az zleti filozfija s stratgija. Ezek milyen mdon s mrtkben felelnek meg a kls kvetelmnyeknek, milyen piaci ignyeket s hogyan elgtenek ki. 2-milyen a vllalkozs piaci helyzete, sttusa. 3-milyen a vev helyzete, milyenek az ignyeik. 4-milyen a szlltk kre s viszonya a vllalkozshoz. 138
5-mekkork a vllalkozs kltsgei. 6-hogyan fest a vllalkozs pnzgyi helyzete, likviditsa. 7-mekkora a vllalkozs jvedelemtermel kpessge, tkeereje, milyen a vagyoni helyzete. 8-mennyire jl hasznostja a vllalkozs a sajt erforrsait. -milyen a vllalkozs vezetsnek stlusa, mdszerei, sznvonala. 10-milyen a szervezeten belli munkamegoszts s az alkalmazott szervezeti forma. 11-milyen az sztnzsi rendszer, milyenek a munkavgzs fizikai, szocilis s szervezeti felttelei. 12-milyen a vllalkozs hatalmi szerkezete , miknt alakulnak rdekviszonyai. 13-milyen gazdasgi, trsasgi formban mkdik a vllalkozs.
Hasznos s clszer a szervezet mint kvzi felbonthat rendszer felbontsa s a diagnosztikai tevkenysgnek e szerint trtn szisztematizlsa. A felbontssal definilt bels struktra a baj keresst gyorstja. Ez utbbi persze nem lehet tetszleges, azaz egy mestersges rendez elv szksges. A strukturls akkor sikeres ha az a szervezet rendszerjellegt tkrzi.
A szervezetek strukturlis mdjai a; Munkamegoszts s annak szablyozsa A munkamegoszts egy nagyobb feladat rszfeladatokra bontsa s egyes szervezeti egysgekhez trtn teleptse; a szervezetek tagolsnak alapja. Az elsdleges munkamegoszts alapveten hrom elv szerint trtnik: - funkci - trgy (termk illetve termkcsoport) - rgi b; Hatskrmegoszts s annak szablyozsa A hatskrk szablyozsnak clja: - a szervezeti egysgek, szemlyek kompetencijnak megllaptsa - a dntsi jogkrk felosztsa - az utastsi hatskrk megllaptsa A munkamegoszts s hatskrmegoszts sszhangja esetn megfelel felelssgi, elszmolsi s rdekeltsgi rendszert lehet ltrehozni. c; Koordinci s annak szablyozsa Koordinci: az eltr feladatokkal s hatskrkkel rendelkez, de egymssal szoros kapcsolatban ll szervezeti egysgek mkdsnek, tevkenysgnek a szervezeti cl rdekben trtn sszehangolsa. A koordinci eszkzei: - technokratikus tpus a vllalati tervezsi, pnzgyi s kltsgvetsi rendszer, a bels elszmols rendszere, a szablyozottsg 139
- strukturlis tpusak a projektek, a teamek, az ad hoc bizottsgok s a termkmenedzseri rendszer - szemlyorientlt koordincit jelentenek az egyneket kzvetlenl sztnz, knyszert eszkzk, a pszicholgiai befolysolsok, amelyek segtik az egynek azonosulst aszervezettel A kommunikcis utak irnya szerint a koordinci tpusa lehet: - vertiklis s - horizontlis d; Konfigurci A szervezeti sma, a szervezeti struktra vznak, formjnak megalkotsa A konfigurci jellemzi: - a szervezet mlysgi tagozdsa, azaz a hierarchikus szintek szma a f tevkenysgi profilt tekintve - a szlessgi tagozds, azaz az egy vezet al kzvetlenl tartoz alrendeltek szma a hierarchia klnbz szintjein - az egyes szervezeti egysgekben foglalkoztatottak szma
140
21. Egy vlasztott, mai rendszerfejlesztsi (szoftverfejlesztsi) mdszertan felptse s szerepe a szoftvertechnolgiban. Adat- s folyamatmodellezs. Szoftverfejlesztsi mdszertanok Az 1960-as vek vgn a szoftverfejleszts hajnaln a programozk szmra az egynileg kidolgozott technikk kvetse volt az ltalnos, nagyrszt azrt, mert a programozs egyszemlyes feladat volt. Csapatmunka kialaktsa szinte remnytelen volt, mert az elkszlt programkd logikjt gyakran csak az alkotja rtette. Az 1970-es vek elejn bizonyos programozsi gyakorlatok (pl. GOTO alkalmazsa Edsger Wybe Dijkstra, 1968) nehezen kezelhetnek nyilvntsval indult el egy folyamat a szoftverfejleszts technikjnak elvi alapokon trtn megfogalmazsa fel. Bizonyos mdszerek nagyon sikeresnek bizonyultak, amely jabb szablyozsok kialaktsra sztnzte a szakterlet kpviselit. vtizedek sorn egyre tbb szablyrendszer kvetse vlt elfogadott, amelyekbl lassan egy-egy szervezet ltal menedzselt komplex mdszertanok alakultak ki. A szoftverfejlesztsi mdszertan teht klnbz szablyok, eljrsok, mdszerek halmaznak tekinthet, amely egy szoftvertermk elksztst segti el. A klnbz standardok pedig ms s ms tevkenysgi terleten igyekeznek minl szlesebb krben elfogadott s alkalmazott ajnlsokat adni. A clokrl s a kvetelmnyekrl rendelkezse ll informcik rendszerezse s analizlsa egy bizonyos hatr felett megkveteli azok egysgesen struktrlt dokumentlst. Az alkalmazott szoftver-letciklus modelltl fggetlenl tbb kvetelmnyelemzsi s tervezsi mdszertan irnymutatst is kvethetjk, mint pl. az SSADM (Structured Systems Analysis and Design Method), illetve az objektum-orientlt rendszereket ler UML (Unified Modelling Language). Bizonyos mdszertanok mint pl. az iteratv Incremental vagy Spiral Model esetben alkalmazhat, objektum-orientlt szemlletet kvet RUP (Rational Unified Process) a teljes szoftver-letciklus idtartama alatt tmutatknt szolglnak a napi tevkenysgek elvgzshez. Ms mdszertanok mint pl. az MSF (Microsoft Solutions Framework) egy-egy konkrt rszterletre fkuszlva (a projektszervezet felptse, a kpessgek menedzselse, a kockzatkezels, stb.) s azokat egysges keretbe helyezve nyjtanak mintt a munkavgzshez. A legfrissebb irnyzatok kz tartozik az XP (Extreme Programming), ami programozi szemszgbl szmos hasznos tlettel kpes orvosolni ltalnos szoftverfejlesztsi problmkat. A kvetkezkben az itt ismertetett fogalmakat szeretnnk rszletesebben ismertetni.
SSADM Structured Systems Analysis and Design Method [2] Az SSADM a Struktrlt Rendszerelemzsi s Tervezsi Mdszer rvidtse. Az SSADM egy olyan mdszertan, amely informcis rendszereken alapul alkalmazsok elemzsre s tervezsre szolgl. A mdszer els vltozatt a brit kormnyzat megbzsbl dolgoztk ki 1980-ban, hogy kormnyzati szabvnyknt alkalmazzk az informcis rendszerek fejlesztsben. Vilgosan meghatrozott kezd- s vgpontok kztt az SSADM egy pontos megkzeltst tesz lehetv az elemzs, tervezs s specifikls tevkenysgeit illeten. A SSADM jellegzetessge, hogy minden egyes tevkenysg az elz tevkenysg dokumentcijra pl, gy biztostva a modell folyamatos konzisztencijt. 141
Az SSADM clja az, hogy segtsen a projekt tagjainak az informatikai stratgia rszeknt kitztt informcis rendszerre vonatkoz kvetelmnyek pontos elemzsben, valamint a kvetelmnyeknek legjobban megfelel informcis rendszer megtervezsben s specifiklsban. adatok adatfolyam-modell (DFM Data Flow Modelling) Ebben a megvilgtsban kerlnek azonostsra, modellezsre s dokumentlsra a rendszerrel klcsnhatsba kerl adatok. Az adatfolyam brk (DFD Data Flow Diagrams) a kvetkez objektumokat brzoljk: - folyamatok (processes) informcikat talakt feldolgozsi folyamatok - adattrak (data stores) az informcik trolsi helye - kls egyedek (external entities) a rendszeren kvli objektumok, amelyek adatokat cserlnek a rendszerrel - adatfolyamok (data flows) az informcik ramlsnak tvonala
Albert Bandura és az önhatékonysági tényező: Utazás az emberi potenciál pszichológiájába az önhatékonyság és az önbecsülés megértésén és fejlesztésén keresztül