Interrupt kezelés Debugger. Debugger működése. Megszakítás és nyomkövetés. Izsó Tamás szeptember 19. Izsó Tamás Debugger működése/ 1
|
|
- Béla Fehér
- 5 évvel ezelőtt
- Látták:
Átírás
1 Debugger működése Megszakítás és nyomkövetés. Izsó Tamás szeptember 19. Izsó Tamás Debugger működése/ 1
2 Section 1 Interrupt kezelés Izsó Tamás Debugger működése/ 2
3 Interrupt és kivételkezelés Interrupt és kivételdobás események megszakítják a processzor utasítás végrehajtásnak normális folyamatát. Az interrupt lehet szinkron, és aszinkron. Aszinkron interrupt esetén a processzor képes az utasítás végrehajtás ismétlésére. A megszakítást mindig az operációs rendszer kapja el és továbbítja. Izsó Tamás Debugger működése/ 3
4 Interrupt és kivétel továbbítása Trap Handler Megszakítás feljegyzés Debugger port Debugger első esély megszakítás kezelő Kivétel diszpécser Debugger port Debugger második esély Kivétel port Alrendszer (pl. POSIX) Alapértelmezett megszakítás kezelő Izsó Tamás Debugger működése/ 4
5 Interrupt és kivétel továbbítása Ha egy processz debugger alatt lett elindítva, akkor a rendszer a megszakításról üzenetet küld a debuggernek. Ha a processz nem debugger alatt fut, akkor a megszakítás feljegyzést a kernel a user stack-re teszi vmilyen (CONTEXT) formában, és meghívja a user által írt megszakításkezelőt. Ha nincs kivételkezelő rutin, akkor a processz visszatér kernel módba, és ha van debugger akkor meghívja azt (második esély). Különben az alapértelmezett kivételkezelő fut le. Ha a processz az operációs rendszer alrendszere, akkor az alrendszer számára egy megfelelő formába adja át az interrupt adatokat. Izsó Tamás Debugger működése/ 5
6 Hibalekezelés C-ben #include < s t d i o. h> #include <Windows. h> void TestExceptions ( ) { i n t a, b=10; p r i n t f ( " T r i g g e r i n g SEH exception \ n " ) ; a = b / 0; i n t main ( ) { t r y { TestExceptions ( ) ; except ( GetExceptionCode ( ) == EXCEPTION_INT_DIVIDE_BY_ZERO? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) { p r i n t f ( " Hiba lekezelve \ n " ) ; p r i n t f ( " Nincs hibakezelés \ n " ) ; TestExceptions ( ) ; return 0; Izsó Tamás Debugger működése/ 6
7 try és except nem szabványos C nyelvi elem EXCEPTION_EXECUTE_HANDLER itt kezeljük le a megszakítást. EXCEPTION_CONTINUE_SEARCH következő regisztrált megszakításkezelő keresése. Izsó Tamás Debugger működése/ 7
8 Demo Interrupt kezelés Debugger cd E:\Reverse.Uj\Debug\example1\Debug\ devidebyzero.exe stackoverflow.exe breakpoint.exe Mit tapasztalunk, ha a breakpoint programot debugger alatt futtatjuk? Hol használható fel ez a tapasztalat? Izsó Tamás Debugger működése/ 8
9 Mit kell megjegyezni? Elveket, de a konkrét függvényneveket, struktúrákat nem! Izsó Tamás Debugger működése/ 9
10 Kivételkezelő függvény prototípusa A következő függvényt az excp.h header file tartalmazza. EXCEPTION_DISPOSITION cdecl _ except_ handler ( / I n / struct _EXCEPTION_RECORD _ExceptionRecord, / I n / void _EstablisherFrame, / I n o u t / struct _CONTEXT _ContextRecord, / I n o u t / void _DispatcherContext ) ; Izsó Tamás Debugger működése/ 10
11 _except_handler visszatérési értéke / Exception disposition return values. / typedef enum _EXCEPTION_DISPOSITION { ExceptionContinueExecution, ExceptionContinueSearch, ExceptionNestedException, ExceptionCollidedUnwind EXCEPTION_DISPOSITION ; ExceptionContinueSearch következő kivételkezelő keresése ExceptionContinueExecution futás folytatása Az utolsó két értéket figyelmen kívül hagyjuk. Izsó Tamás Debugger működése/ 11
12 _except_handler első paramétere A paraméter típusát a winnt.h header file tartalmazza. typedef s t r u c t _EXCEPTION_RECORD { DWORD ExceptionCode ; DWORD ExceptionFlags ; s t r u c t _EXCEPTION_RECORD ExceptionRecord ; PVOID ExceptionAddress ; DWORD NumberParameters ; ULONG_PTR ExceptionInformation [EXCEPTION_MAXIMUM_PARAMETERS ] ; EXCEPTION_RECORD; ExceptionCode a kivételdobás (interrupt) oka. ExceptionAddress a hiba helye. többitől most eltekintünk. Izsó Tamás Debugger működése/ 12
13 _EXCEPTION_RECORD-ban az ExceptionCode EXCEPTION_ACCESS_VIOLATION EXCEPTION_DATATYPE_MISALIGNMENT EXCEPTION_BREAKPOINT EXCEPTION_SINGLE_STEP EXCEPTION_ARRAY_BOUNDS_EXCEEDED EXCEPTION_FLT_DENORMAL_OPERAND EXCEPTION_FLT_DIVIDE_BY_ZERO EXCEPTION_FLT_INEXACT_RESULT EXCEPTION_FLT_INVALID_OPERATION EXCEPTION_FLT_OVERFLOW EXCEPTION_FLT_STACK_CHECK EXCEPTION_FLT_UNDERFLOW EXCEPTION_INT_DIVIDE_BY_ZERO EXCEPTION_INT_OVERFLOW EXCEPTION_PRIV_INSTRUCTION EXCEPTION_IN_PAGE_ERROR EXCEPTION_ILLEGAL_INSTRUCTION EXCEPTION_NONCONTINUABLE_EXCEPTION EXCEPTION_STACK_OVERFLOW EXCEPTION_INVALID_DISPOSITION EXCEPTION_GUARD_PAGE EXCEPTION_INVALID_HANDLE EXCEPTION_POSSIBLE_DEADLOCK Izsó Tamás Debugger működése/ 13
14 Strukturált exception handler SEH regisztráció kivételkezelő függvény címe 0xFFFFFFFF Egyéb adatok kivételkezelő függvény címe előző kivételkezelő regisztráció FS:[0] Kivételkezelő regisztráció Thread Information Block kivételkezelő függvény címe előző kivételkezelő regisztráció EXCEPTION_DISPOSITION cdecl _except_handler ( struct _EXCEPTION_RECORD *_ExceptionRecord, void * _EstablisherFrame, struct _CONTEXT *_ContextRecord, void * _DispatcherContext ) { stack Izsó Tamás Debugger működése/ 14
15 Saját kivételkezelő első kísérlet # include <windows. h> #include < s t d i o. h> typedef EXCEPTION_DISPOSITION ( pexcept_handler ) ( struct _EXCEPTION_RECORD ExceptionRecord, void EstablisherFrame, struct _CONTEXT ContextRecord, void DispatcherContext ) ; struct EXCEPTION_REGISTRATION_FIELD { struct EXCEPTION_REGISTRATION_FIELD prev ; pexcept_handler handler ; ; i n t adat ; struct EXCEPTION_REGISTRATION_FIELD pregister =0; struct EXCEPTION_REGISTRATION_FIELD prev =0; Izsó Tamás Debugger működése/ 15
16 Saját kivételkezelő első kísérlet EXCEPTION_DISPOSITION cdecl my_except_handler ( st ru ct _EXCEPTION_RECORD ExceptionRecord, void EstablisherFrame, st ru ct _CONTEXT ContextRecord, void DispatcherContext ) { p r i n t f ( " Megszakitaskezelo f u t... \ n " ) ; / / Hiba kijavítása ContextRecord >Eax = ( i n t )& adat ; / / Megszakítást okozó utasítás megismétlése return ExceptionContinueExecution ; Izsó Tamás Debugger működése/ 16
17 Saját kivételkezelő első kísérlet i n t main ( ) { / / Stack-be felépítjük a láncolást asm { sub ESP, 8 mov dword p t r pregister, ESP mov EAX, FS : [ 0 ] mov dword p t r prev,eax pregister >h a n d l e r = my_except_handler ; pregister >prev = prev ; / / TIB-be regisztráljuk a hibakezelőnket asm { mov EAX, dword p t r pregister mov FS : [ 0 ], EAX Izsó Tamás Debugger működése/ 17
18 Saját kivételkezelő első kísérlet / / Megpróbáljuk a 0-ás címen lévő adatot / / felülírni asm { mov EAX, 0 mov [EAX], 2 p r i n t f ( " Hiba utan %d \ n ", adat ) ; / / saját kivételkezelő megszüntetése asm { mov eax, [ ESP] mov FS : [ 0 ], EAX add esp, 8 return 0; Izsó Tamás Debugger működése/ 18
19 a program fordítása Interrupt kezelés Debugger cl -c kiserlet1.c link /SAFESEH:NO kiserlet1.obj Izsó Tamás Debugger működése/ 19
20 Demo Interrupt kezelés Debugger E:\Reverse.Uj\Debug\Kiserlet\kiserlet1.exe Megszakitaskezelo fut... Hiba utan 2 Mit látunk a futás eredménye alapján. Izsó Tamás Debugger működése/ 20
21 Mit tudtunk meg? Hogyan kell saját kivételkezelőt regisztrálni. A megszakított program megismétli a megszakítást okozó utasítást, ha ExceptionContinueExecution értékkel térünk vissza. Biztonsági okok miatt a /SAFESEH:NO értékkel kell linkelni a programot. Izsó Tamás Debugger működése/ 21
22 Hogy működik a beépített megszakításkezelő? Kísérlet megtervezése: Írjunk saját megszakításkezelőt de ne kezeljük le a hibát, hanem térjünk vissza ExceptionContinueSearch értékkel. A main használja a _try.. _except kivételkezelést. A main hívjon meg egy függvényt, amelyben saját kivételkezelőt regisztrálunk. Kiírásokkal kövessük nyomon a vezérlést. Izsó Tamás Debugger működése/ 22
23 Beépített kivételkezelő második kísérlet EXCEPTION_DISPOSITION cdecl my_except_handler ( s t r u c t _EXCEPTION_RECORD ExceptionRecord, void EstablisherFrame, struct _CONTEXT ContextRecord, void DispatcherContext ) { p r i n t f ( " Megszakitaskezelo f u t, exception f l a g %08X \ n ", ExceptionRecord >ExceptionFlags ) ; / / Nem itt foglalkozunk a megszakítással. return ExceptionContinueSearch ; Izsó Tamás Debugger működése/ 23
24 Beépített kivételkezelő második kísérlet void Test ( ) { / / Stack-be felépítjük a láncolást asm { sub ESP, 8 mov dword p t r pregister, ESP mov EAX, FS : [ 0 ] mov dword p t r prev,eax pregister >handler = my_except_handler ; pregister >prev = prev ; / / TIB-be regisztráljuk a hibakezelőnket asm { mov EAX, dword p t r pregister mov FS : [ 0 ], EAX ( char )0 = X ; / / EXCEPTION_ACCESS_VIOLATION p r i n t f ( " Ide nem j u t u n k soha! \ n " ) ; Izsó Tamás Debugger működése/ 24
25 Beépített kivételkezelő második kísérlet i n t main ( ) { _ t r y { Test ( ) ; _except ( EXCEPTION_EXECUTE_HANDLER ) { p r i n t f ( " K i v e t e l elkapasa main() ben \ n " ) ; p r i n t f ( " K i v e t e l utan a main() ben \ n " ) ; return 0; Output: Megszakitaskezelo fut, exception flag Megszakitaskezelo fut, exception flag Kivetel elkapasa main()-ben Kivetel utan a main()-ben Izsó Tamás Debugger működése/ 25
26 Működés 1 A főprogram _try... _except része a beépített kivételkezelőt regisztrálja a stack-en. 2 A _try részben meghívjuk a Test() függvényt. 3 A Test() függvény saját kivételkezelőt regisztrál a stack-en. 4 A Test() függvény tárvédelmi hibát okoz. 5 Az operációs rendszer megkapja a megszakítást és a megfelelő négy paraméterrel meghívja a legutoljára létesített kivételkezelő eljárást. 6 A saját exception handler továbbpasszolja a hibakezelést. 7 A main lekezeli a hibát. 8 A rendszer másodszor is meghívja a megszakításkezelőket, abból a célból, hogy a stack-et kisöpörjék. Ezt a szándékot az ExceptionRecord >ExceptionFlags paraméter tartalmazza. C++ esetén ilyenkor hívódnak meg a létrejött objektumok destruktorai. Izsó Tamás Debugger működése/ 26
27 Section 2 Debugger Izsó Tamás Debugger működése/ 27
28 Debugger felépítése Proccess indítás nyomkövetéssel. Nyomkövető ciklus létrehozása. STARTUPINFO s i ; PROCESS_INFORMATION p i ; ZeroMemory ( &si, sizeof ( s i ) ) ; s i. cb = sizeof ( s i ) ; ZeroMemory ( &pi, sizeof ( p i ) ) ; CreateProcess ( ProcessNameToDebug, NULL, NULL, NULL, FALSE, DEBUG_ONLY_THIS_PROCESS, NULL, NULL, &si, & p i ) ; Izsó Tamás Debugger működése/ 28
29 Definíciók és követelmények 1 Debugger az a processz amely egy másik processzt monitoroz. 2 Debuggolt program a nyomkövetett program. 3 Debuggolt program csak egy debugger-hez lehet hozzárendelve. 4 Egy debugger több processzt is nyomkövethet. 5 A processz indítása és a processz debuggolására alkalmas ciklus ugyanabban a processzben kell hogy legyen. Izsó Tamás Debugger működése/ 29
30 Debug ciklus DEBUG_EVENT debug_event = { 0 ; for ( ; ; ) { i f (! WaitForDebugEvent (& debug_event, INFINITE ) ) return ; / / User-defined function, not API ProcessDebugEvent (& debug_event ) ; ContinueDebugEvent ( debug_event. dwprocessid, debug_event. dwthreadid, DBG_CONTINUE ) ; DBG_CONTINUE folytatjuk a nyomkövetést. DBG_EXCEPTION_NOT_HANDLED valami hiba volt és feladjuk. Izsó Tamás Debugger működése/ 30
31 Nyomkövetési esemény rekordja struct DEBUG_EVENT { DWORD dwdebugeventcode ; DWORD dwprocessid ; DWORD dwthreadid ; union { EXCEPTION_DEBUG_INFO Exception ; CREATE_THREAD_DEBUG_INFO CreateThread ; CREATE_PROCESS_DEBUG_INFO CreateProcessInfo ; EXIT_THREAD_DEBUG_INFO ExitThread ; EXIT_PROCESS_DEBUG_INFO ExitProcess ; LOAD_DLL_DEBUG_INFO Loa ddll ; UNLOAD_DLL_DEBUG_INFO UnloadDll ; OUTPUT_DEBUG_STRING_INFO DebugString ; RIP_INFO R i p I n f o ; u ; ; Izsó Tamás Debugger működése/ 31
32 Debug ciklus kicsit részletesebben bool bcontinuedebugging = t r u e ; while ( bcontinuedebugging ) { i f (! WaitForDebugEvent (& debug_event, INFINITE ) ) return ; switch ( debug_event. dwdebugeventcode ) { case CREATE_PROCESS_DEBUG_EVENT:... break ; case CREATE_THREAD_DEBUG_EVENT:... break ; case EXIT_THREAD_DEBUG_EVENT:... break ; case EXIT_PROCESS_DEBUG_EVENT:... break ; case LOAD_DLL_DEBUG_EVENT:... break ; case UNLOAD_DLL_DEBUG_EVENT:... break ; case OUTPUT_DEBUG_STRING_EVENT:... break ; case EXCEPTION_DEBUG_EVENT:... EXCEPTION_DEBUG_INFO& exception = debug_event. u. Exception ;... break ; Izsó Tamás Debugger működése/ 32
33 CREATE_PROCESS_DEBUG_EVENT esemény Ez az esemény a nyomkövetett program betöltése után a futás előtt következik be. Itt lehet megadni a breakpoint-ot. s t r u c t CREATE_PROCESS_DEBUG_INFO { HANDLE h F i l e ; / / (.EXE) file handle HANDLE hprocess ; / / process handle HANDLE hthread ; / / első thread handle LPVOID lpbaseofimage ; 1 DWORD dwdebuginfofileoffset ; DWORD ndebuginfosize ; LPVOID lpthreadlocalbase ; LPTHREAD_START_ROUTINE lpstartaddress ; 2 LPVOID lpimagename ; 3 WORD funicode ; / / fájlnév kódolása ; 1 A memóriába betöltött exe fájl kezdőcíme. 2 Első végrehajtandó utasítás címe. 3 Program nevének a címe a debuggolt program címterében. Izsó Tamás Debugger működése/ 33
34 CREATE_PROCESS_DEBUG_EVENT esemény használata Ez az esemény a nyomkövetett program betöltése után a futás előtt következik be. Itt lehet megadni a breakpoint-ot. case CREATE_PROCESS_DEBUG_EVENT: { char filename = GetFileNameFromHandle ( debug_event. u. CreateProcessInfo. h F i l e ) ; ; A betöltött végrehajtható fájl nevét nem a lpimagename alapján, hanem a hozzá tartozó fájl handler alapján a GetFileNameFromHandle függvény segítségével állítjuk elő. A függvény leírását az MSDN-en a Obtaining a File Name From a File Handle címmel találhatjuk meg. Kb 10 rendszerhívást tartalmaz, de számunkra ez most nem izgalmas. Izsó Tamás Debugger működése/ 34
35 OUTPUT_DEBUG_STRING_EVENT esemény Ez az esemény akkor következik be, ha a nyomkövetett programban diagnosztikai üzeneteket írunk ki a OutputDebugString rendszerhívás segítségével. Ezeket az üzeneteket a debugger kapja meg. struct OUTPUT_DEBUG_STRING_INFO { LPSTR lpdebugstringdata ; / / char* WORD funicode ; WORD ndebugstringlength ; ; Izsó Tamás Debugger működése/ 35
36 OUTPUT_DEBUG_STRING_EVENT esemény case OUTPUT_DEBUG_STRING_EVENT: { char msg ; 1 OUTPUT_DEBUG_STRING_INFO & DebugString = debug_event. u. DebugString ; msg=new char [ DebugString. ndebugstringlength + 1 ] ; ReadProcessMemory ( p i. hprocess, 2 DebugString. lpdebugstringdata, 3 msg, 4 DebugString. ndebugstringlength, NULL ) ; p r i n t f ( " Debug i n f o : %s \ n ", msg ) ; d e l e t e [ ] msg ; 1 Nem Unicode-ot használunk. 2 Debuggolt processz handle-t a processz indításánál kaptuk meg. 3 Üzenet címe a debuggolt program címterében. 4 Üzenet másolata a debugger címterében. Izsó Tamás Debugger működése/ 36
37 EXIT_PROCESS_DEBUG_INFO esemény Nyomkövetett program befejeződésénél jelentkező esemény. st ru ct EXIT_PROCESS_DEBUG_INFO { DWORD dwexitcode ; ; Használata: bool bcontinuedebugging= t r u e ;... case EXIT_PROCESS_DEBUG_EVENT: { p r i n t f ( " Process e x i t e d with code : 0x%x ", debug_event. u. ExitProcess. dwexitcode ) ; bcontinuedebugging= f a l s e ; break ; Izsó Tamás Debugger működése/ 37
Debugger. Debugger működése. Megszakítás és nyomkövetés. Izsó Tamás október 31. Izsó Tamás Debugger működése/ 1
Debugger működése Megszakítás és nyomkövetés. Izsó Tamás 2013. október 31. Izsó Tamás Debugger működése/ 1 Section 1 Debugger Izsó Tamás Debugger működése/ 2 Debugger felépítése Proccess indítás nyomkövetéssel.
RészletesebbenBiztonságos programozás Puffer túlcsordulásos támadások
Biztonságos programozás Puffer túlcsordulásos támadások Intel x68 Izsó Tamás 2015. október 5. Izsó Tamás Biztonságos programozás Puffer túlcsordulásos támadások/ 1 Section 1 Puffer túlcsordulás sebezhetőség
RészletesebbenStack Vezérlés szerkezet Adat 2.
Stack Vezérlés szerkezet Adat 2. Kód visszafejtés. Izsó Tamás 2013. november 14. Izsó Tamás Stack Vezérlés szerkezet Adat 2./ 1 Változó típusú paraméterekátadása 1. #include < s t d i o. h> int64 myfunc
RészletesebbenOperációs rendszerek. Az NT folyamatok kezelése
Operációs rendszerek Az NT folyamatok kezelése Folyamatok logikai felépítése A folyamat modell: egy adott program kódját végrehajtó szál(ak)ból és, a szál(ak) által lefoglalt erőforrásokból állnak. Folyamatok
RészletesebbenOperációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:
Operációs rendszerek MS Windows NT (2000) folyamatok Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok: szálak ütemezése végrehajtásra
RészletesebbenKonkurens TCP Szerver
A gyakorlat célja: Konkurens TCP Szerver Megismerkedni a párhuzamos programozás és a konkurens TCP szerver készítésének az elméleti és gyakorlati alapjaival és egy egyidejűleg több klienst is kiszolgáló
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
RészletesebbenKivételek, kivételkezelés a C++ nyelvben
2009. Kivételek, kivételkezelés a C++ nyelvben Haladó C++ programozás Kurucz Attila ELTE - IK 2009.06.09. Tartalomjegyzék Tartalomjegyzék... 2 Mi a kivételkezelés?... 3 Alapfogalmak... 3 Kivétel... 3 Try
RészletesebbenOperációs rendszerek Folyamatok 1.1
Operációs rendszerek p. Operációs rendszerek Folyamatok 1.1 Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK A rendszermag Rendszermag
RészletesebbenJárműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának
RészletesebbenProgramozás C++ -ban 2007/7
Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum
RészletesebbenOperációs rendszerek. Folyamatok kezelése a UNIX-ban
Operációs rendszerek Folyamatok kezelése a UNIX-ban Folyamatok a UNIX-ban A folyamat: multiprogramozott operációs rendszer alapfogalma - absztrakt fogalom. A gyakorlati kép: egy program végrehajtása és
RészletesebbenMechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
RészletesebbenJava programozási nyelv 9. rész Kivételkezelés
Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék
RészletesebbenObjektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
RészletesebbenAz operációs rendszer szerkezete, szolgáltatásai
Az operációs rendszer szerkezete, szolgáltatásai Felhasználói programok Rendszerhívások Válaszok Kernel Eszközkezelők Megszakításvezérlés Perifériák Az operációs rendszer szerkezete, szolgáltatásai Felhasználói
RészletesebbenKivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
RészletesebbenAlgoritmizálás + kódolás C++ nyelven és Pascalban
Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenArchitektúra, megszakítási rendszerek
Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép
RészletesebbenPROJEKTLABOR PÁRHUZAMOS ÉS ELOSZTOTT RENDSZEREK OPERÁCIÓS RENDSZEREI
Írta: Rövid András Lektorálta: oktatói munkaközösség PROJEKTLABOR PÁRHUZAMOS ÉS ELOSZTOTT RENDSZEREK OPERÁCIÓS RENDSZEREI PÁRHUZAMOS SZÁMÍTÁSTECHNIKA MODUL PROAKTÍV INFORMATIKAI MODULFFEJLESZTÉS 1 COPYRIGHT:
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenProgramozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)
RészletesebbenKivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés
Kivételek kezelése (exception handling) Hibakezelés old style class Szamolo { void szamol( String s, int i ) { int d; if (i!= 0) d = (i+1)/i; else if (s!= null) d = s.length(); else if (i > 10) // applikációs
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
Részletesebben16F628A megszakítás kezelése
16F628A megszakítás kezelése A 'megszakítás' azt jelenti, hogy a program normális, szekvenciális futása valamilyen külső hatás miatt átmenetileg felfüggesztődik, és a vezérlést egy külön rutin, a megszakításkezelő
RészletesebbenProgramozás C nyelven (3. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic
RészletesebbenImperatív programozás
Imperatív programozás 7. Előadás Függvények, láthatóság (folytatás) Modulok Kivételkezelés Beágyazott függvény def lnko(x, y): def kivon(m, n): return m - n while not (x == y) : if x > y : x = kivon(x,y)
RészletesebbenAz osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java
Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:
RészletesebbenBevezetés Alapfogalmak Jog
Bevezetés Alapfogalmak Jog Kód visszafejtés. Izsó Tamás 2015. szeptember 18. Izsó Tamás Bevezetés Alapfogalmak / 1 Tartalom 1 Bevezetés 2 Alapfogalmak 3 Motivációs példák 4 Jog Izsó Tamás Bevezetés Alapfogalmak
RészletesebbenA PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere
2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda
RészletesebbenBevezetés Kiíratás Beolvasás Formázás Fájlkezelés Gyakorló feladatok C++ I/O. Bevezetés. Izsó Tamás február 20. Izsó Tamás C++ I/O / 1
C++ I/O Bevezetés Izsó Tamás 2014. február 20. Izsó Tamás C++ I/O / 1 Section 1 Bevezetés Izsó Tamás C++ I/O / 2 Irodalom Izsó Tamás C++ I/O / 3 Paraméter illesztés függvénynév túlterhelés esetén 1 Pontos
RészletesebbenPowershell 2. gyakorlat
Szkriptek készítése, folytatás Könyvtárban levő bejegyzések száma, mérete (Új: measure-object) /batch/ megszamol2.ps1 $hossz=(get-childitem measure-object -property length).count write-host ("konyvtarban
RészletesebbenProgramozás Minta programterv a 1. házi feladathoz 1.
Programozás Minta programterv a 1. házi feladathoz 1. Gregorics Tibor 1. beadandó/0.feladat 2008. december 6. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy osztályba n diák jár, akik m darab tantárgyat
RészletesebbenProgramozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
RészletesebbenProcesszusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)
1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)
RészletesebbenHORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
RészletesebbenISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
RészletesebbenProcesszusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)
1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)
RészletesebbenOPERÁCIÓS RENDSZEREK. A mai program. Hiba és eseménykezelés. Alapfogalmak. Eseménykezelés, szignálozás
OPERÁCIÓS RENDSZEREK Eseménykezelés, szignálozás A mai program Alapfogalmak: esemény, jelződés, kezelés Megszakítások és kivételek Szignálozás Rendelkezés szignálról (SVID, POSIX) Postázás Esettanulmányok
RészletesebbenGregorics Tibor Modularizált programok C++ nyelvi elemei 1
Gregorics Tibor Modularizált programok C++ nyelvi elemei 1 Függvények és paraméterátadás A függvény egy olyan programblokk, melynek végrehajtását a program bármelyik olyan helyéről lehet kezdeményezni
RészletesebbenAz adatszolgáltatási rendszer kliens felülete
Az adatszolgáltatási rendszer kliens felülete Budapest, 1999. május 21. BÉT projekt AZ ADATSZOLGÁLTATÁSI RENDSZER KLIENS FELÜLETE AZONOSÍTÁSA A adatszolgáltatási rendszer kliens felülete 20 számozott lapot
RészletesebbenC# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
Részletesebben3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
RészletesebbenFüggvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
RészletesebbenProgramozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
RészletesebbenAz interrupt Benesóczky Zoltán 2004
Az interrupt Benesóczky Zoltán 2004 1 Az interrupt (program megszakítás) órajel generátor cím busz környezet RESET áramkör CPU ROM RAM PERIF. adat busz vezérlõ busz A periféria kezelés során információt
Részletesebben/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;
1. Írjunk programot, amely függvény alkalmazásával meghatározza n a értékét, (a az n-edik gyök alatt), az általunk megadott pontossággal, iterációval. Az iteráció képlete a következő: ahol : n-1 x uj =
RészletesebbenProgramozás alapjai 9.Gy: Struktúra 2.
Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).
RészletesebbenProgramozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
RészletesebbenPE/COFF fájl formátum
PE/COFF fájl formátum Kód visszafejtés. Izsó Tamás 2013. december 5. Izsó Tamás PE/COFF fájl formátum/ 1 Szimbólumtábla A programozási nyelvekben az típusokra, adatokra, függvényekre, ugrási címekre szimbólikus
RészletesebbenOperációs rendszerek. Az NT memóriakezelése
Operációs rendszerek MS Windows NT (2000) memóriakezelés Az NT memóriakezelése 32-bites virtuális memóriakezelés: 4 GB-os címtartomány, alapesetben: a fels! 2 GB az alkalmazásoké, az alsó 2 GB az OPR-é.
RészletesebbenTask-alapú párhuzamosítás C# környezetben
Task-alapú párhuzamosítás C# környezetben OE-NIK 1 Task Aszinkron elvégzett feladat A háttérben egy Thread vagy egy ThreadPool egy eleme van: magasabb absztrakciós szinten dolgozunk ThreadPool Gyakorlatilag
RészletesebbenDr. Schuster György október 14.
Real-time operációs rendszerek RTOS 2011. október 14. A fordítás vázlata prog.c Előfeldolgozó Átmenti állomány Fordító prog.obj más.obj-tek könyvtárak indító kód Linker futtatható kód Ismétlés Előfeldolgozó
RészletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
RészletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
RészletesebbenBME MOGI Gépészeti informatika 4.
BME MOGI Gépészeti informatika 4. 1. feladat önálló feladatmegoldás Generáljon két 1 és 10 közötti véletlen egész számot, majd kiírja ezekre a számokra a tízes szorzótáblákat! Ha az első generált szám
RészletesebbenTervminták a valósidejű gyakorlatban
Tervminták a valósidejű gyakorlatban Forrás Ezeknek a diáknak a forrása a Game Programming Patterns című könyv Online elérhető a szerző oldaláról: http://gameprogrammingpatterns.com/contents.htm Game Loop
RészletesebbenProgramozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
RészletesebbenObjektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely
RészletesebbenGregorics Tibor Tanácsok modularizált programok készítéséhez 1
Gregorics Tibor Tanácsok modularizált programok készítéséhez 1 Modularizált programon azt értjük, amely több, jól körülhatárolható részfeladat megoldásaiból épül fel. Egy-egy részfeladat gyakran szabványos
RészletesebbenProgramozási Nyelvek: C++
Programozási Nyelvek: C++ Gyakorló feladatkönyv Umann Kristóf #include "CppStudent.h" int main() { CppStudent *reader = new CppStudent(); reader->readbook(); while(!reader->doesunderstand()) { reader->exercise();
RészletesebbenCekla. Készítette Doxygen Tue Sep :13:44
Cekla Készítette Doxygen 1.7.1 Tue Sep 20 2011 14:13:44 TARTALOMJEGYZÉK 1 Tartalomjegyzék 1. Cekla C++ könyvtár deklaratív C++-hoz 1 2. Modulmutató 1 2.1. Modulok............................................
RészletesebbenFordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1
Fordító részei Kód visszafejtés. Izsó Tamás 2016. szeptember 29. Izsó Tamás Fordító részei / 1 Section 1 Fordító részei Izsó Tamás Fordító részei / 2 Irodalom Izsó Tamás Fordító részei / 3 Irodalom Izsó
RészletesebbenParaméter átadás regisztereken keresztül
Eljárások paramétereinek átadási módjai Az eljárások deklarációjánál nincs mód arra, hogy paramétereket adjunk meg, ezért más, közvetett módon tudunk átadni paramétereket az eljárásoknak. Emlékeztetőül:
RészletesebbenDinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése
FEJLETT PROGRAMOZÁSI NYELVEK, 2009 2. GYAKORLAT - Linux alatti C/C++ programozás Cél: Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
Részletesebben2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés. 2.1. Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése
Operációs rendszerek 2. Folyamatok Simon Gyula 2. Folyamatok Bevezetés Folyamatkezelés multiprogramozott rendszerben Környezet váltás Folyamatleírók, I/O leírók Szálak Megszakítások Felhasznált irodalom:
RészletesebbenKivételkezelés a C++ nyelvben Bevezetés
Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:
RészletesebbenBevezetés, a C++ osztályok. Pere László
Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK
Részletesebben3D-s technológiák a játékfejlesztésben UDK bevezetés
3D-s technológiák a játékfejlesztésben UDK bevezetés Első lépések Könyvtár szerkezet: UDK-XXXXXXXX Binaries Development: Itt található a játék forráskódja, ezt kibővíthetjük. FONTOS: A már meglévő kódokat
RészletesebbenBevezetés a számítástechnikába
Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9. Bevezetés Megszakítások
Részletesebben1. feladat. Szabóné Nacsa Rozália
1. feladat Készítsünk programot kisdiákoknak összeadás gyakorlására. Legyenek az operandusok 0-10 véletlen számok. Az = jel utáni szövegdobozban a kisdiáknak kell begépelni a megoldást. Az Értékelés gomb
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát
RészletesebbenRPC Remote Procedure Call Távoli eljárás hívás
RPC Remote Procedure Call Távoli eljárás hívás Hagyományos eljáráshívás: Count = read (fd, buf, nbytes) Paraméterek átadásának a típusai: - Érték szerinti átadás - Referencia szerinti átadás - Másoló/visszatöltő
RészletesebbenProgramozás II gyakorlat. 6. Polimorfizmus
Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenBevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító
RészletesebbenA C programozási nyelv II. Utasítások. A függvény.
A C programozási nyelv II. Utasítások. A függvény. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv II (Utasítások, fuggvények) CBEV2 / 1 Kifejezés utasítás Kifejezés utasítás, blokk
RészletesebbenInformációs Technológia
Információs Technológia (Struktúra, mutatók, függvényhívás) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 14/21. Struktúra
RészletesebbenVé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread
Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális
RészletesebbenVirtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1
Memória védelem Intel x68 Izsó Tamás 213. október 18. Izsó Tamás Memória védelem/ 1 Section 1 Virtuális memóriakezelés Izsó Tamás Memória védelem/ 2 Operációs rendszer hardver szintű támogatása Hardver
RészletesebbenC programozás. 1 óra Bevezetés
C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}
RészletesebbenA 32 bites x86-os architektúra regiszterei
Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)
RészletesebbenJelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán
Jelszavak helyes megválasztása, szótáras törés Pánczél Zoltán 1 Miért fontos a megfelelő jelszó? Nagyban növeli a rendszer biztonságát. Könnyű jelszó = Nincs jelszó A teljes rendszer biztonsága tőlünk
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
RészletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
RészletesebbenOperációs rendszerek III.
A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti fizikai címeknek. A virtuális memóriakezelés
RészletesebbenMáté: Assembly programozás
Dr. Máté Eörs docens Képfeldolgozás és Számítógépes Grafika Tanszék Árpád tér 2. II. em. 213 6196, 54-6196 (6396, 54-6396) http://www.inf.u-szeged.hu/~mate Tantárgy leírás: http://www.inf.u-szeged.hu/oktatas/kurzusleirasok/
RészletesebbenMatematikai és Informatikai Intézet. 4. Folyamatok
4. Folyamatok A folyamat (processzus) fogalma Folyamat ütemezés (scheduling) Folyamatokon végzett "mûveletek" Folyamatok együttmûködése, kooperációja Szálak (thread) Folyamatok közötti kommunikáció 49
RészletesebbenOperációs rendszerek. A Windows NT
Operációs rendszerek Windows NT A Windows NT Felépítésében is új operációs rendszer: New Technology (NT) 32-bites Windows-os rendszerek felváltása Windows 2000: NT alapú Operációs rendszerek felépítése
RészletesebbenUNIX folyamatok kommunikációja
UNIX folyamatok kommunikációja kiegészítő fóliák az előadásokhoz Mészáros Tamás http://www.mit.bme.hu/~meszaros/ Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
RészletesebbenC programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
RészletesebbenElőadás_#11. Előadás_11-1 -
Előadás_#11. 1. Az NT belső mechanizmusai: A Windows NT kernel módú komponensei (Executive illetve Device driver) által használt legfontosabb rendszer mechanizmusok: megszakítás- és kivételkezelés objektumkezelés
RészletesebbenKörkörös listák. fej. utolsó. utolsó. fej
Körkörös listák fej utolsó fej utolsó Példa. Kiszámolós játék. Körben áll n gyermek. k-asával kiszámoljuk őket. Minden k-adik kilép a körből. Az nyer, aki utolsónak marad. #include using namespace
RészletesebbenProgramozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE
Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor
Részletesebben