7

Click here to load reader

1144. 1.tétel

Embed Size (px)

Citation preview

Page 1: 1144. 1.tétel

1144-1. tétel Önnek egy rendszer részeként olyan programot kell készíteni, amely egy a felhasználó által megadott mappa teljes tartalmát alkönyvtárakkal együtt átmásolja egy másik szintén a felhasználó által megadott helyre. Hogyan tervezné meg a felhasználó felületet, és ezt milyen módon választaná szét a programlogikától?

Információtartalom vázlata

A rendszerelemek tartalmi tervezése– Feladat elemekre bontásaEszközkörnyezet meghatározása– A környezet adta lehetőségek feltárásaÁllománykezelés– Állományok másolásaEseménykezelés– A másolás folyamatának szemléltetéseFelhasználói felületek– Folyamatjelző használata

Állomány fogalma: a számítógépen tárolt adatok gyakorlati alapegységét értjük. Más megfogalmazás szerint a logikailag összefüggő adatok halmazát nevezzük állománynak.Az állomány tartalma számsorozat. Ezeket a gép többféleképpen értelmezheti, dolgozhatja fel. Az állományok egyik fajtája, amelyek tartalmát a gép utasításoknak tekinti és végrehajtja: ezek a PROGRAMÁLLOMÁNYOK.

ÁllománynévÁltalában egy név azonosítja az állományokat. Egy mappában két azonos nevű bejegyzés nem lehet. A régi DOS rendszerekben használt FAT fájlrendszerben az állomány neve két részből állt: egy legfeljebb 8 karakteres név + egy legfeljebb 3 karakterből álló kiterjesztés. A kettőt pont választotta el egymástól. A FAT rendszerben ASCII kódolást használtak, amely esetében nem volt lehetséges az ékezetes betűk használata.

Miután megjelentek a Windows rendszerek lehetővé vált a FAT rendszer mellett pl. a VFAT, FAT32, NTFS. Ezek az állományrendszerek lehetővé tették, hogy új névképzési szabályokat vezessenek be.

Mivel a bejegyzés neve Unicode kódolású, ezért az ékezetes karakterek használata sem volt tiltott. Az állomány a fájlrendszer egy pontján található. Az alapkatalógustól (gyökérkönyvtártól) induló, a fájlhoz vezető mappák sorozata alkotja az úgynevezett elérési utat.

A Windows rendszerekben bizonyos karaktersorozatok eszközöket jelölnek. Például az alapértelmezett nyomtató a prn vagy lpt1 szó. Ezek foglalt nevek.

Kiterjesztések:

EXE, COM: a futtatható állományok kiterjesztése.BAT: köteg szó rövidítése (batch) Az operációs rendszereknek szóló szöveges parancsokat tartalmazza.

Page 2: 1144. 1.tétel

DLL: Dinamikusan, a program futása közben a programhoz rendelhető programrészek, programkönyvtárak tárolására szolgáló állományok jelzése.SYS: Olyan állományok, melyek az operációs rendszer számára szükségesek. Pl.: hardver rendszerelemek optimális működéséhez.TMP: Átmeneti állomány: amennyiben az valamely alkalmazás, felhasználói program vagy maga az op. rendszer működése során átmenetileg a háttértáron őriz meg adatokat, az gyakran TMP kiterjesztésű állományba kerül.LOG: sima szöveges fájl. Bizonyos programok futásuk közben az eseményekről naplót vezetnek.

TXT: sima szöveges állomány.

RTF (Rich Text Format): Formázott szöveget tartalmazó állomány kiterjesztése.

DOC: Word program szöveges fájlja.

XLS: Excel program fájlja.BMP, JPG: képfájlok.

ÁllománykeresésA keresést többféle eszközzel is elvégezhetjük, de ezeknek vannak közös vonásaik. A keresés irányulhat névre és tartalomra. Az utóbbi végigolvassa az állományokat, ezért mindenképpen lassabb. A keresés hatókörét kiterjeszthetjük a tömörített állományok hatáskörére is.

DOS-/Windows rendszerben szöveges ablakban a dir paranccsal lehet állományokat keresni. Pl.: dir c:\konyv.rtfGrafikus felületen: Start>Keresés>Fájlok és mappákMegadható az is, hogy mit keresünk: képet, zenét, szöveget.

Az állománykezeléshez számtalan segédprogram használható. Pl. : Total Commander, ennek elődje volt a Norton Commander.Linus rendszerben az ls parancs szolgál egy mappa tartalmának megjelenítésére.

Állomány megnyitásaAz állományokat olvasásra vagy szerkesztésre lehet megnyitni. Általában: állományt a hozzá rendelt programmal lehet megnyitni. DOS/Windows rendszerben azt az állomány nevének toldaléka, a kiterjesztése szabja meg.

Állományrendszer

Fogalma: Minden operációs rendszerben konkrét szabályok vonatkoznak arra, hogy mi lehet a háttértárolón elhelyezett fájlok és katalógusok neve,

UDF állományrendszer: (Universal Disk Format) Az ISO9660-hoz hasonló, de az állományt több változatban is lehet vele rögzíteni –erre a DVD filmek lemezre rögzítésénél lehet szükség.

Page 3: 1144. 1.tétel

ÁllománykezelésA szabvány állománykezeléssel foglalkozó része azt a programfelületet definiálja, ahogyan az állományokat az egyes alkalmazások elérhetik el. Ebben a hierarchiában állománytípust különböztetünk meg:

normál állomány (regular file), katalógus (directory), karakteres elérésű eszköz.

A szabvány javasolja (should), hogy az állományok nevei ún. hordozható állománynevek legyenek. Ezek csak az angol abc kis- és nagybetűit, a pont (.), az aláhúzás (_) és a kötőjel (-) karaktereket tartalmazhatják. Ezen felül a nevek nem kezdődhetnek kötőjellel sem. Az útnevekben az egyes komponenseket per (/) karakterrel kell elválasztani. Egymás után több ilyen elválasztójel is lehet, kivéve az útnév legelején. Az egymás utáni / jelek egy / jelnek értelmeződnek.Az állományok legfontosabb tulajdonságai a következők:

Állomány típusa. Hozzáférés védelmi kódja (permission).

A POSIX a UNIX 3x3-as védelmét követeli meg, de implementáció által definiált módon megenged ezen felüli védelmet is. Ha ilyen létezik, akkor:

Annak állományonként engedélyezhetőnek illetve tilthatónak kell lennie. Az alkalmazói program szempontjából ugyanúgy kell megjelennie, mint az eredeti

3x3-as védelem, tehát létezni kell a „tulajdonos”, „csoport” és „bárki” fogalmaknak. Ha engedélyezve van, akkor az a korábbi védelmet felülírva jelenik meg a különböző

rendszerhívásoknál (például stat, fstat). Egyedi azonosítószám. Ez gyakorlatban az eszköz azonosítóját és az i-node számot

jelenti, de ez már implementáció kérdése. Hivatkozás (link) számláló. Tulajdonos azonosítója és csoportazonosítója (UID, GID). Állomány hossza byte-ban. Utolsó módosítási idő. Utolsó hozzáférési idő. Utolsó státusmódosítási idő. A fenti adatokat tároló adatstruktúra módosítási ideje.

Gyakorlatban az i-node módosítási ideje.Az állományok kezelése az ANSI C alacsony és magas szintű függvényeivel történhet a POSIX rendszerekben. Ezek leírására nem térünk ki részletesen, csupán néhány fontos elemet ragadunk ki, amelyek némileg eltérnek mind a BSD, mind a System V megoldásaitól.

Nem használható az mknod() rendszerhívás. Helyette a speciális bejegyzések külön hívással állíthatók elő (például mkdir(), mkfifo()).

A katalógusok kezelésére külön interfész van (mkdir(), rmdir(), opendir(), readdir(), rwinddir(), closedir()). A POSIX előírásai szerint a katalógusok nem olvashatók normál állományként, csak a fenti függvényeken keresztül, és csak szekvenciálisan érhetők el.

A szabvány bevezeti a rename() rendszerhívást, bár normál állományokra a link() és unlink() páros is használható, de katalógusokra csak a rename().

Az állományok megnyitása más UNIX-változatokhoz hasonlóan lehetséges O_APPEND illetve O_NONBLOCK módon is, de a POSIX nem támogatja az O_SYNC flag használatát, és sync() rendszerhívás sincs a szabványban. Ez utóbbi helyett egy fsync() rendszerhívást definiál, ami állományokra szelektíven adható ki. A megnyitott állomány különböző tulajdonságai az fcntl() függvény használatával lekérdezhetők illetve beállíthatók. Ezzel oldhatók meg a kölcsönös kizárást biztosító zárolások (lock)is.

Page 4: 1144. 1.tétel

1.1.6. EseménykezelésEsemény alatt azt értjük, mint a köznyelvben is: esemény az, amikor történik valami. Speciálisan, amikor a program világában történik valami. Például megmozdítjuk az egeret, becsukjuk a program ablakát stb. Az események, mint Javaban minden, maguk is objektumok.Az események kezelése az adott eseménytípusnak megfelelő interfészeken keresztül történik. A programozó azokban az osztályaiban, ahol az események keletkeznek, jelzi, hogy melyik objektum dolgozza majd fel az eseményeket. Ennek a feldolgozó objektumnak pedig tudni kell fogadnia a megfelelő eseményobjektumokat.

JavaScript 4. – EseménykezelésJavaScriptben a következő eseményeket tudjuk lekezelni:Esemény eseménykezelő leírásEgér eseményekMouseDown onMouseDown valamelyik egérgomb lenyomásaMouseMove onMouseMove egér mozgatásaMouseOut onMouseOut az egér elhagyta az objektum területétMouseOver onMouseOver az egér belépett az objektum területére (pl. egy kép fölé)MouseUp onMouseUp egérgomb felengedéseClick onClick klikkelés egy objektumonDblClick onDblClick dupla klikkelés egy objektumonEgyéb eseményekAbort onAbort a felhasznéló megszakította egy kép betöltésétBlur onBlur egy ablak vagy frame vagy beviteli elemről elkerül a fókusz

Change onChangeegy Select, Text v. Textarea mezőről elkerült a fókusz és a mező tartalma megváltozott

DragDrop onDragDrop a felhasználó bedob egy objektumot a böngészőablakbaError onError egy dokumentum vagy kép betöltése hibát okozottFocus onFocus egy ablak vagy frame vagy beviteli elem megkapja a fókusztKeyDown onKeyDown a felhasználó lenyomott egy billentyűtKeyPress onKeyPress a felhasználó nyomva tart egy billentyűtKeyUp onKeyUp a felhasználó elengedett egy billentyűtLoad onLoad a böngésző befejezte az oldal betöltésétMove onMove a felhasználó mozgatja az ablakotReset onReset egy formon megnyomták a Reset gombotResize onResize a felhasználó átméretezi az ablakotSelect onSelect egy Text vagy Textarea mezőben kijelöltek egy szövegetSubmit onSubmit egy form elküldére került (megnyomták a Submit gombot)Unload onUnload a felhasználó elhagyja a dokumentumot

A felhasználói felület (angolul user interface, röviden UI) egy berendezés (például a számítógép), vagy egy számítógépes program (például egy operációs rendszer) azon elemeinek összessége, amelyek a felhasználóval való kommunikációért felelősek, és a berendezés vagy program irányítását, vezérlését lehetővé teszik.A leggyakrabban előforduló felhasználói felület típusai:

Fénykijelzős parancsgombos felület: a gép irányítása, a parancsbevitel egyszerű, vagy szöveges feliratú kapcsolókkal (nyomó- vagy érintőgombok, csúszkák stb.) történik,

Page 5: 1144. 1.tétel

míg az üzenetek kijelzése LED-ekkel vagy lámpákkal. Sok korai számítógépnél (például Conrad Zuse Z-szériája) még alkalmazták ezt a felületet is.

Belső vezérlésű gépeknél, szoftveres irányításnál: Parancssoros felhasználói felület (CLI – Command Line Interface): a

parancsbevitel billentyűzettel történik, az üzenetkijelzés a monitoron, szintén szöveges formában.

Szöveges felhasználói felület (TUI – Text User Interface): a monitoron szöveges feliratú karaktercellák helyettesítik a nyomógombokat és egyéb grafikus elemeket.

Grafikus felhasználói felület (GUI – Graphic User Interface): a képernyőn szöveges és grafikus elemek együttesen jelennek meg.

A grafikus felhasználói felület vagy grafikus felhasználói interfész (angolul graphical user interface, röviden GUI) aszámítástechnikában olyan, a számítógép és ember közti kapcsolatot megvalósító elemek összessége, melyek a monitorképernyőjén szöveges és rajzos elemek együtteseként jelennek meg. A grafikus felhasználói felületeken alapvető szerepe van a mutatóeszközök, például az egér használatának, amelyekkel a grafikus felület elemei intuitív módon, a fizikai világ egyfajta modelljeként kezelhetők.A leggyakoribb grafikus felhasználói elemek az  ablakok,  menük,  választógombok,  jelölőnégyzetek  és ikonok, valamint a mutatóeszközhöz kapcsolódó egérkurzor.

A folyamatjelzőEz a vezérlõ sokszor feltûnhetett már a szemlélõ számára. Láthatunk ilyen komonenst egy fájl letöltésekor felbukkanó ablakban. A feladata nagyjából mindig azonos: tájékoztat a program mûködésének állapotáról, arról hogy hol tart az adatok feldolgozásában, a másolásban, letöltésben, stb.