Futásidő, memóriahasználat monitorozása (profiling)
|
|
- Veronika Bodnár
- 7 évvel ezelőtt
- Látták:
Átírás
1 Szoftverellenőrzési technikák Futásidő, memóriahasználat monitorozása (profiling) Majzik István és Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
2 Tartalomjegyzék Motiváció Célkitűzés: Belső működés analízise A profiling általános problémái Felműszerezés, triggerelés, regisztrálás Szoftver és hardver monitorozás Futásidő profiling Teljesítményproblémák felderítése Memóriahasználat profiling Memóriaproblémák monitorozása 2
3 Célkitűzések Mi a profiling? Dinamikus program analízis (belső működés vizsgálata), a végrehajtás (tesztelés) során gyűjtött információk alapján, a hibák, optimalizálási lehetőségek felderítése érdekében Az információgyűjtés (monitorozás) tipikus szempontjai Futásidő adatok felvétele (pl. hívásidő, hívási gyakoriság) Memóriafoglalás követése (pl. elmaradt felszabadítás) A profiling analízis része: A gyűjtött információ felhasználása fejlesztői szinten Hibakeresés: Hol állt le a program? Teljesítmény viszonyok vizsgálata: Mit érdemes gyorsítani? Memóriahasználati viszonyok: Mit lehet optimalizálni? Amivel most nem foglalkozunk: Teljesítmény modellezés, változásbecslés, optimalizálás, benchmark tervezés, felhasználói profilok felvétele, 3
4 Tartalomjegyzék Motiváció Célkitűzés: Belső működés analízise A profiling általános problémái Felműszerezés, triggerelés, regisztrálás Szoftver és hardver monitorozás Futásidő profiling Teljesítményproblémák felderítése Memóriahasználat profiling Memóriaproblémák monitorozása 5
5 Információgyűjtés: A monitorozás alapműveletei Releváns információk: idők, erőforráshasználat, kommunikáció,... Periodikus információgyűjtés: mintavételezés (pillanatképek) Eseményfüggő információgyűjtés: instrumentáció (eseményekre) Kiterjeszthető esemény nyomkövetésre (nem csak aggregált profilok) Általános feladatok: Információ hozzáférés: Felműszerezés Szoftver úton: Extra utasítások beszúrása (ált. forráskódba) Hardver úton: Illesztés a rendszerbuszra, csatornára, Információ szűrés: Triggerelés Szoftver úton: Felműszerezés része (extra utasítások megoldják) Hardver úton: Jelek, jelminták figyelése (pl. buszon) Információ tárolás: Regisztrálás Szoftver úton: Naplózás memóriába vagy fájlba szoftver modulból Hardver úton: Rögzítés külső tárba (pl. körpuffer) 6
6 Általános monitorozási séma Megfigyelt rendszer Felműszerezés Monitor interfész Trigger figyelő Esemény regisztrátor Esemény napló Monitor vezérlő On-line megjelenítő Off-line megjelenítő 7
7 Példa: Előfeldolgozás (felműszerezés) for (i=0; i<9; i++) { V(sm1); if (i==a) { P(sm1); } else { P(sm2); } } Előfeldolgozó for (i=0; i<9; i++) { EV(V1); V(sm1); if (i==a) { EV(P1); P(sm1); } else { EV(P2): P(sm2); } } void switch_up() { if( gear == 5 ) { error(); return; } set_gear( gear+1 ); } char _TABLE[NUM_BLOCK / 8]; void switch_up() { if( gear == 5 ) { error(); _TABLE[17/8] = (1<<(17%8)); return; } set_gear( gear+1 ); _TABLE[18/8] = (1<<(18%8)); } 8
8 A profiling (monitorozás) problémái Beavatkozás: Ha a rendszer erőforrásait használjuk, akkor megváltoztatjuk a rendszer viselkedését Példa: Időzítések, eseménysorrend eltérő lesz Megoldás: Hardver monitorozás, bennhagyás Szemantikai hézag: A megfigyelt információ különbözik a szükséges információtól Példa: Processzor buszjelekből erőforráshasználatra következtetni Megoldás: Rugalmas (szoftver) triggerelés vagy off-line analízis Globális jellemzők származtatása: Elosztott rendszerek esetén a lokális információból globális jellemzők Példa: Körkörös várakozás detektálása Megoldás: Központi monitor, lokális monitorok szinkronizálása 9
9 Általános megoldások áttekintése Monitorozás típusa / feladat Szoftver (rugalmas, beavatkozó) Felműszerezés Triggerelés Regisztrálás Trigger utasítások (aut.) beszúrása Trigger utasítások közvetlenül Alkalmazás, vagy monitor processz Hardver (nem beavatkozó, de specifikus) Közvetlen csatlakozás Hardver komparátor Lokális vagy távoli tároló Hibrid (rugalmas, kevésbé beavatkozó) Trigger utasítások (aut.) beszúrása Trigger utasítások közvetlenül Hardver (lokális vagy távoli tároló) 10
10 Lauterbach TRACE32 Bus trace, program trace 512 Kframes trace memory 94 channels 36 bit time stamp 25 ns resolution Példa: Hardver monitorozás 11
11 Példa: Java Virtual Machine Tool Interface (JVMTI) Java Platform Debugger Architecture része Korábbi Java Virtual Machine Profiler Interface (JVMPI) és a Java Virtual Machine Debug Interface (JVMDI) helyett Natív (C, C++) programozási interfész Futtatott alkalmazások állapotának vizsgálata (profiling, debugging) Alkalmazás végrehajtás vezérlése JVM-en Kétirányú interfész Események kliens (agent) programok számára (callback fv.) Pl. ThreadStart, ThreadEnd, ClassLoad, FieldAccess, MethodEntry, Függvények biztosítása vezérléshez, lekérdezéshez Pl. SuspendThread, StopThread, GetThreadInfo, GetStackTrace, Java bytecode felműszerezése lehetséges a kliens által (pl. metódusszintű monitorozáshoz) Statikus (előzetesen) Betöltési időben (load-time): ClassFileLoadHook event Futási időben (run-time): RetransformClasses function 12
12 Példa: Szoftver monitorozás AOP felhasználásával Monitorozás: Teljes szoftvert átszövő beavatkozás Sok helyen kell beavatkozni a regisztráláshoz Beavatkozások modularizálása aspektusokban Megadható a beavatkozás helye (reguláris kifejezéssel) Vágási pont (pointcut): hová kell kapcsolódni? Kapcsolódási pont (join point): aspektus interakció helye pl. send*() - minden send kezdetű metódus esetén Újrahasználható a beavatkozás Beavatkozás (advice): mit kell ott csinálni? Pl. naplófájlba írás a send*() végrehajtásáról Fordítás során: Felműszerezés: Aspektus és eredeti kód összefésülése 13
13 Példa: Szoftver monitorozás AOP felhasználásával Járulékos aspektusok: különféle szempontú monitorozás Aspektus 2 Aspektus 1 Miként történjen? Hol történjen? Advice (tanács, beavatkozás): before, after,... Pointcut (vágási pont, eseményleíró): call, execution,... reguláris kifejezés Alap komponens: monitorozott program Komponens Join point (kapcsolódási pont): konkrét hely a programban 14
14 Példa: Aspektus-orientált minta Eredeti forráskód: A send() hívást szeretnénk regisztrálni class Controller { public int send(int msg) { <<sending message>> } Vágási pont definiálás loggedcall névvel } Aspektus kód: Vágási pont (trigger): public aspect SimpleLog { send() végrehajtása pointcut loggedcall(int msg): execution(public int Controller.send*(..)) && args(msg); Vágási pont előtt avatkozunk be before(int input): loggedcall(msg) { Beavatkozás (regisztrálás) <<log request(msg)>>} after() throwing exception (Exception e): loggedcall() { <<log exception>>} } Kivétel dobásának regisztrálása 16
15 Tartalomjegyzék Motiváció Célkitűzés: Belső működés analízise A profiling általános problémái Felműszerezés, triggerelés, regisztrálás Szoftver és hardver monitorozás Futásidő profiling Teljesítményproblémák felderítése Memóriahasználat profiling Memóriaproblémák monitorozása 17
16 Futásidő profilerek Alapfeladatok: Függvényhívási hierarchia felderítése, hívási gyakoriság hozzárendelése Az egyes függvényekben eltöltött idő hozzárendelése Annotált forrás: utasítások végrehajtási gyakorisága Célkörnyezetben futtatva használhatók az eredmények Egyszerű példa: gprof Program felműszerezése: speciális fordítással cc -pg prog.c -o prog (opció; gcrt0.o, libc_p.a) Futás közbeni adatgyűjtés: gmon.out adatfájlba Off-line kiértékelés: gprof prog gmon.out 18
17 Példa: gprof jelentés: Flat profile % cumulative self self total time seconds seconds calls us/call us/call name RELERR RELFINE RELCOARSE INTERPOL RESFINE RESCOARSE write_res INIT PUTZERO OUTPUT Time: Percentage of the total running time of program used by this function Cumulative seconds: Sum of the seconds accounted for by this function and those listed above it Self seconds: The number of seconds accounted for by this function alone Self us/call: The average number of microseconds spent in this function per call Total us/call: The average number of microseconds spent in this function and its descendents per call 19
18 Példa: gprof jelentés: Call graph index % time self children called name [1] main [1] /4 RELERR [2] /4 RELFINE [3] /60 RELCOARSE [4] /32 INTERPOL [5] /4 RESFINE [6] /28 RESCOARSE [7] /1 write_res [8] /1 INIT [9] /8 PUTZERO [10] /4 main [1] [2] RELERR [2] /4 main [1] [3] RELFINE [3] Self: Total amount of time spent in this function Children: Total amount of time propagated into this function by its children Called: Number of times the function was called 20
19 Automatizált feladatok: Példa: Rational Quantify Futásidő adatok gyűjtése Adatok analízise és bemutatása Hívási hierarchia Metódusok futási ideje Felhasználás: Problémás helyek (hívások) azonosítása: Teljesítmény szempontjából szűk keresztmetszetek Melyik metódust érdemes gyorsítani, átstrukturálni? Javítások hatásának ellenőrzése Gyorsult-e a végrehajtás a változtatás után? 21
20 22
21 Példa: Visual Studio 2012 Ultimate profiler Profiling lehetőségek: CPU sampling, function call instrumentation,.net memory allocation, resource contention Megjelenítés: Hívási fa, függvényenkénti adatok (flat profile) 23
22 A teljesítményproblémák tipikus okai Haszontalan számítás Nem törölt kódrészletek, amik erőforrást foglalnak Igény nélküli, alapértelmezett szolgáltatások Felesleges újraszámítás Részeredmények újraszámítása tárolás helyett Rendszerszolgáltatások mértéktelen igénybevétele Lassú környezetváltás Foglalt erőforrásokra való várakozás Szinkronizáció másik folyamattal Kommunikációs csatorna foglaltsága Állományok foglaltsága 24
23 A teljesítményproblémák megoldási lehetőségei Program átstrukturálás Felesleges számítások, hívások törlése Többszálú működés kialakítása (többmagos rendszerekre) Optimalizált számítások Ismétlés elkerülése ideiglenes tárolással a programon belül Halasztott számítások Felhasználó szempontjából nem kritikus időben végezve Kevesebb rendszerhívás Adatok időleges tárolása (cache) Foglalt erőforrások státusz figyelése Hatékonyabb algoritmusok Rendezés, keresés, algoritmusok: Sokféle verzió Speciális utasításkészlet használata: Párhuzamosítás Koprocesszor (GPU) használata egyes részfeladatokhoz 25
24 Java profiler eszközök Rengeteg eszköz: jvisualvm JDK belépített eszközöket használ YourKit Java Profiler Quest JProbe JIP Java Interactive Profiler Netbeans Profiler Eclipse: Test & Performance Tools Platform (TPTP) 30
25 Tartalomjegyzék Motiváció Célkitűzés: Belső működés analízise A profiling általános problémái Felműszerezés, triggerelés, regisztrálás Szoftver és hardver monitorozás Futásidő profiling Teljesítményproblémák felderítése Memóriahasználat profiling Memóriaproblémák monitorozása 31
26 Jellegzetes memóriahibák (Statikusan detektálható hibák Pl. típuskonverziós hibák) Memória szivárgás: hiányzó kódrészlet miatt Lefoglalt, de fel nem szabadított memóriaterületek (C++) elfogy a memória... Szükségtelen hivatkozások miatt foglalt objektumok (Java) szemétgyűjtés nem működik... Illegális memóriahasználat: hibás kód miatt Tömbök határainak túlcímzése Inicializálatlan memória olvasása Írás felszabadított memóriaterületre Allokálatlan memóriához való hozzáférés 32
27 Rejtélyes hatások Nehézségek a tesztelésben Hatások csak későn és más formában jelentkeznek (pl. adathiba, lassulás, fagyás,...) Hatások csak nehezen reprodukálhatók Ötlet: Nem a késői hatás alapján detektálni Tömbök határai előtt és után tilos zóna beillesztése Memória státuszának nyilvántartása (allokált, inicializált stb.) Hivatkozások nyilvántartása és ellenőrzése (C++) Allokált memória kijelzése és összehasonlítása (Java); a folyamatosan foglaló metódusok azonosítása 33
28 Példa eszköz: Rational Purify Automatizált feladatok: Memóriafoglalás rögzítése Memóriakezelési hibák futásidejű detektálása Kiindulási alap: Memóriafoglalás és -felszabadítás regisztrálása Automatikusan illeszt be ellenőrző kódrészleteket (akár a forráskód ismerete nélkül) Solaris: object code alapján (linkelés fázisban) Windows: futtatható kód alapján Java: virtuális gép profiling 34
29 35
30 Példa: Memory Analyzer (Eclipse) Heap dump fájl vizsgálata Különálló RCP alkalmazás, vagy Eclipse Memory Analysis nézet 36
31 Összefoglalás Motiváció Célkitűzés: Belső működés analízise A profiling általános problémái Felműszerezés, triggerelés, regisztrálás Szoftver és hardver monitorozás Futásidő profiling Teljesítményproblémák felderítése Memóriahasználat profiling Memóriaproblémák monitorozása 37
Futásidő és memóriahasználat monitorozása (profiling)
Szoftverellenőrzési technikák Futásidő és memóriahasználat monitorozása (profiling) Majzik István és Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
Integrációs- és rendszertesztelés
Integrációs- és rendszertesztelés Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/ Szoftver integráció Szoftver konstrukció
Bevezeté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;
Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20
Teljesítmény Mérés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés 2013 1 / 20 Tartalomjegyzék 1 Bevezetés 2 Visual Studio Kód metrikák Performance Explorer Tóth Zsolt
Mikrorendszerek tervezése
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése Debug lehetőségek Fehér Béla Raikovich Tamás
Autóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
Verifikáció és validáció Általános bevezető
Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának
Szoftvertechnoló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?
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Munkafolyamat (Workflow): azoknak a lépéseknek a sorozata,
Java I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvető jellemzői Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzők, JDK JAVA1 / 1 Egy kis történelem
ISA 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
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
Szoftver karbantartási lépések ellenőrzése
Szoftverellenőrzési technikák (vimim148) Szoftver karbantartási lépések ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/
A hibakezelés tesztelése: Hibainjektálás
Szoftverellenőrzési technikák (vimim148) A hibakezelés tesztelése: Hibainjektálás Majzik István és Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs
Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus
TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS
TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS Hartung István BME Irányítástechnika és Informatika Tanszék TEMATIKA Cloud definíció, típusok, megvalósítási modellek Rövid Azure cloud bemutatás
SQLServer. Probléma megoldás
SQLServer 9. téma Teljesítmény elemzés Probléma megoldás Az adatbázis életében nem ritka kisérő a hibák, teljesítmény problémák jelenléte A probléma megoldáshoz használható útmutatók: - ismerni kell a
Programozá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
Pé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
C programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22
Unit Teszt Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 1 / 22 Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22 Szoftvertesztelés
Operációs rendszerek. Bemutatkozás
Bevezetés az operációs rendszerek világába dr. Benyó Balázs benyo@sze.hu Bemutatkozás www.sze.hu/~benyo 1 Számítógép HW-SW felépítése felhasználó felhasználó felhasználó Operációs rendszer Operációs rendszer
Fordí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ó
Bevezetés a párhuzamos programozási koncepciókba
Bevezetés a párhuzamos programozási koncepciókba Kacsuk Péter és Dózsa Gábor MTA SZTAKI Párhuzamos és Elosztott Rendszerek Laboratórium E-mail: kacsuk@sztaki.hu Web: www.lpds.sztaki.hu Programozási modellek
Komponensek együttműködése web-alkalmazás környezetben. Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT richard.jonas@tsoft.
Komponensek együttműködése web-alkalmazás környezetben Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT Komponensek a gyakorlatban A szoftverkomponenseket fejlesztő csoportoknak szüksége van olyan
Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben
Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben 2011. október 13. Az alapprobléma A processzek állapotát gyakran le kell kérdezni. Az ehhez használatos eszközök: ps top
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron
Operá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
Kommunikációs rendszerek teljesítőképesség-vizsgálata
Kommunikációs rendszerek teljesítőképesség-vizsgálata (3. előadás) Dr. Lencse Gábor lencse@sze.hu https://www.tilb.sze.hu/cgi-bin/tilb.cgi?0=m&1=targyak&2=krtv 1 Miről lesz szó? Az OMNeT++ diszkrét idejű
C++ fejlesztés az ECLIPSE környezetben
Bevezetés kr304@hszk.bme.hu UNIX, 2005. május 13. Bevezetés Tartalomjegyzék 1 Bevezetés IDE IDE eszközök 2 Célkitűzés Architektúra CDT Project Összefoglalás Bevezetés IDE IDE eszközök Integrated Development
(kernel3d vizualizáció: kernel245_graph.mpg)
(kernel3d vizualizáció: kernel245_graph.mpg) http://www.pabr.org/kernel3d/kernel3d.html http://blog.mit.bme.hu/meszaros/node/163 1 (ml4 unix mérés boot demo) 2 UNIX: folyamatok kezelése kiegészítő fóliák
Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges
Digitális technika VIMIAA01 9. hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Ez vajon egy állapotgép-e? Munkafolyamat (Workflow):
Vé 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
Rendszermodernizációs lehetőségek a HANA-val Poszeidon. Groma István PhD SDA DMS Zrt.
Rendszermodernizációs lehetőségek a HANA-val Poszeidon Groma István PhD SDA DMS Zrt. Poszeidon EKEIDR Tanúsított ügyviteli rendszer (3/2018. (II. 21.) BM rendelet). Munkafolyamat támogatás. Papírmentes
C++ programok fordítása
C++, 1/ 33 C++ programok fordítása Pataki Norbert 2012. február 24. C++, 2/ 33 Információk Pataki Norbert, patakino@elte.hu http://patakino.web.elte.hu/levelezo Jegy: gyakorlat, Szűgyi Zalán C++, 3/ 33
1. Bevezetés A C++ nem objektumorientált újdonságai 3
Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.
Modellező eszközök, kódgenerálás
Modellező eszközök, kódgenerálás Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
Projekt beszámoló. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető Rendszer Napon belüli Kereskedéshez
Projekt beszámoló Projekt azonosítója: Projektgazda neve: Projekt címe: DAOP-1.3.1-12-2012-0080 Pénzügyi Innovációs Iroda Kft. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető
Modell alapú tesztelés mobil környezetben
Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed
OOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21
C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)
Programozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
Laborsegédlet 3. Labor
1/6. oldal Logisztikai rendszerek irányítás és automatizálás technikája I. CX-Programmer: 3. Labor A CX Programmer az OMRON PLC-k programozó szoftvere. Új program megnyitásának lépései: FILE NEW Device
Vizuális, eseményvezérelt programozás X. V 1.0
Vizuális, eseményvezérelt programozás X. V 1.0 ÓE-NIK, 2011 1 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 képezik. Ismeretük szükséges,
OO rendszerek jellemzői
OO rendszerek jellemzői Problémák forrása lehet teszteléskor: Problémák feldarabolása. Adatrejtés. Az OO rendszerek nagyszámú, egymással aktívan kapcsolatban levő, együttműködő komponensekből állnak. A
Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése
Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése Somogyi Ferenc Attila 2016. December 07. Szoftver verifikáció és validáció kiselőadás Forrás Mathijs Schuts and Jozef
Készítette: Trosztel Mátyás Konzulens: Hajós Gergely
Készítette: Trosztel Mátyás Konzulens: Hajós Gergely Monte Carlo Markov Chain MCMC során egy megfelelően konstruált Markov-lánc segítségével mintákat generálunk. Ezek eloszlása követi a céleloszlást. A
Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba
Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba Témavezető: Horváth Zoltán és Simon Thompson OTDK 2007, Miskolc Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba OTDK
Iman 3.0 szoftverdokumentáció
Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3
Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
8. gyakorlat Pointerek, dinamikus memóriakezelés
8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.
Web-fejlesztés NGM_IN002_1
Web-fejlesztés NGM_IN002_1 Rich Internet Applications RIA Vékony-kliens generált (statikus) HTML megjelenítése szerver oldali feldolgozással szinkron oldal megjelenítéssel RIA desktop alkalmazások funkcionalitása
Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet
Aspektus-orientált nyelvek XML reprezentációja Kincses Róbert Debreceni Egyetem, Informatikai Intézet kincsesr@inf.unideb.hu Bevezetés OOP: helyesen alkalmazva jó minőségű szoftvert lehet vele előállítani
Java I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvetı jellemzıi Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzık, JDK JAVA1 / 1 Egy kis történelem
Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 10. előadás Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Tesztelés
Mintavé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
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő 2013. február 20.
Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő 2013. február 20. 1 2 3 4 5 6 7 8 Pentaho eszköztára Data Integrator Spoon felület Spoon
Programozá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
1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11
Tartalomjegyzék 1. fejezet Bevezetés a web programozásába (Balássy György munkája)... 11 Az internet működése... 11 Géptől gépig... 11 Számok a gépeknek... 13 Nevek az embereknek... 14 Programok egymás
GPU Lab. 5. fejezet. A C++ fordítási modellje. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc
5. fejezet A C++ fordítási modellje Grafikus Processzorok Tudományos Célú Programozása Kódtól a végrehajtásig Végrehajtás előtt valamikor létre kell jönnie az adott architektúrára jellemző bináris utasításoknak.
Rendszermodellezés: házi feladat bemutatás
Rendszermodellezés: házi feladat bemutatás Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement
RPC 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ő
Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft
Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet
OOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok
Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,
Programzás I. - 1. gyakorlat
Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)
Podoski Péter és Zabb László
Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő
Biztonságkritikus rendszerek Gyakorlat: Architektúrák
Biztonságkritikus rendszerek Gyakorlat: Architektúrák Rendszertervezés és -integráció dr. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék BME-MIT
Párhuzamos programozási platformok
Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási
Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Rendszermodellezés Modellellenőrzés Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Ismétlés: Mire használunk modelleket? Kommunikáció, dokumentáció Gondolkodás,
Programtervezés. Dr. Iványi Péter
Programtervezés Dr. Iványi Péter 1 A programozás lépései 2 Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3 Feladat megfogalmazása Egyértelmű
Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16.
Hatékony memóriakezelési technikák Smidla József Operációkutatási Laboratórium 2014. január 16. 1 Tartalom A cache áthidalása Cache optimalizálás Adatszerkezetek tervezése A programkód szerkezete Prefetch
Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Vizuális adatelemzés - Gyakorlat Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Adatelemzés szerepe a rendszermodellezésben Lényeges paraméterek meghatározása
Modellek végrehajtása, kódgenerálás
Modellek végrehajtása, kódgenerálás Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
Programozási technológia I.
Programozási technológia I. 2.gyakorlat A tárgy célja A tárgy alapvető Java ismeretek nyújt. A fő célja, hogy a hallgatók képesek legyenek az UML diagramokból Java kód előállítására. Félév tematikája Bevezetés,
Operá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-é.
17. Többdokumentumos alkalmazások készítése..3 A többdokumentumos felület...3. A program elkészítése...27
vi 18. Szöveges input- és outputkezelés...........25 Szöveg kiírása.............................25 A program elkészítése........................5 A programhoz tartozó osztályok, fájlok és forráskód......8
Automatikus tesztgenerálás modell ellenőrző segítségével
Méréstechnika és Információs Rendszerek Tanszék Automatikus tesztgenerálás modell ellenőrző segítségével Micskei Zoltán műszaki informatika, V. Konzulens: Dr. Majzik István Tesztelés Célja: a rendszerben
Mobil Informatikai Rendszerek
Mobil Informatikai Rendszerek Android NDK Native Development Kit Sicz-Mesziár János sicz-mesziar.janos@nik.uni-obuda.hu Mezei József mezei.jozsef@nik.uni-obuda.hu 2018. április 22. NDK Native Development
Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1
Köszönetnyilvánítás Bevezetés Kinek szól a könyv? Elvárt előismeretek A könyv témája A könyv használata A megközelítés alapelvei Törekedjünk az egyszerűségre! Ne optimalizáljunk előre! Felhasználói interfészek
A ChipScope logikai analizátor
A ChipScope egy, az FPGA tervbe integrálható logikai analizátor, amely az FPGA terv belső jeleinek vizsgálatára használható Előnye a normál logikai analizátorhoz képest Az igényeknek megfelelően konfigurálható
Mintapélda: Rendszertesztelés a SAFEDMI projektben
Mintapélda: Rendszertesztelés a SAFEDMI projektben Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/ Tartalomjegyzék
Videókártya - CUDA kompatibilitás: CUDA weboldal: Példaterületek:
Hasznos weboldalak Videókártya - CUDA kompatibilitás: https://developer.nvidia.com/cuda-gpus CUDA weboldal: https://developer.nvidia.com/cuda-zone Példaterületek: http://www.nvidia.com/object/imaging_comp
Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
Dr. 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ó
Flex: csak rugalmasan!
Flex: csak rugalmasan! Kiss-Tóth Marcell http://kiss-toth.hu marcell@kiss-toth.hu Magyarországi Web Konferencia 2006 2006. március 18. tartalom bevezető Adobe Flex alternatív technológiák bevezető az Internetnek
Kivételkezelés, naplózás. Exception handling, logging
Kivételkezelés, naplózás Exception handling, logging Try-catch try { // Kódrészlet, amely kivételt eredményezhet catch (Exception1 object1 ) { // Az Exception1 kivétel kezelésének megfelelő kód catch (Exception2
Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja
Programozás I. 1. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 1. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Követelmények Gyakorlatok látogatása kötelező! (maximum 2 igazolatlan hiányzás) 2 db kisdolgozat
Mobil Informatikai Rendszerek
Mobil Informatikai Rendszerek Android NDK Native Development Kit 2016. november 27. Sicz-Mesziár János sicz- m e s z i a r. j a n o s @ nik.uni - obuda.hu NDK Native Development Kit Egy set of tools, amely
Objektumok inicializálása
Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú
Dr. Schuster György október 30.
Real-time operációs rendszerek RTOS 2015. október 30. Jellemzők ONX POSIX kompatibilis, Jellemzők ONX POSIX kompatibilis, mikrokernel alapú, Jellemzők ONX POSIX kompatibilis, mikrokernel alapú, nem kereskedelmi
IBM felhő menedzsment
IBM Váltsunk stratégiát! Budapest, 2012 november 14. IBM felhő menedzsment SmartCloud Provisioning és Service Delivery Manager Felhő alapú szolgáltatások Felhasználás alapú számlázás és dinamikus kapacitás