Információs Technológia Bevezetés Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009 szeptember 3.
Tantárgy célja Bevezetés Tantárgy célja A tárgy keretében a hallgatók megismerkednek az assembly és C nyelven való programozással. Az alapoktól indulva - a nehézséget okozó C nyelvi mechanizmusok átismétlésével - fokozatosan vezeti be majd tárgyalja mélységében a C nyelv nyújtotta lehetőségeket. Ezen túlmenően felhívja a figyelmet azokra az esetekre, amelyek a C nyelv használata során a legtöbb problémát okozzák, valamint bemutatja azokat a technikákat, amellyel a C nyelv használata hatékonnyá válik. A hallgatóknak megfelelő jártasságot kell szerezniük a számítógépes problémamegoldás módszereinek és alapvető eszközeinek használatában olyan szinten, hogy azt további tanulmányaik során képesek legyenek hatékonyan alkalmazni. E célkitűzés teljesítése a C programozási nyelv megismerése révén válik lehetővé. Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 2 / 33
Tematika Bevezetés Tematika A számítógépek fő részei és működésük. A legfontosabb hardver és szoftver elemek és ezek kapcsolódása. A számítógépes problémamegoldás általános kérdései. Tervezés, kódolás, tesztelés üzemi futtatás, dokumentálás. Operációs rendszerek alapjai: Bevezetés, történelmi áttekintés, Multiprogramozás, processzek, Processzekből álló rendszerek, Holtponthelyzetek, CPU ütemezés, Társzervezés, virtuális tárkezelés, File kezelés Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 3 / 33
Bevezetés Tematika A programozási nyelvek áttekintése. Gépi kód, assembly szintű programozás, magas szintű nyelvek. A C nyelv eszközkészlete, jellemzői, lehetőségei. A C program szerkezete. C programozási nyelv áttekintése: beépített típusok, komplex változó deklarációk, operátorok, pointerek és tömbök kapcsolata. Referencia típus. Makrók és inline függvények. Elemi és összetett adattípusok. Struktúrák, típusdefiníciók Tipikus adatszerkezetek. Értékadás, vezérlő szerkezetek, ciklusutasítások. Szabványos adatbevitel és adatmegjelenítés. Pointerek, indirekció. Dinamikus adatok létrehozása, a dinamikus tárkezelés eljárásai: memória-allokáció és felszabadítás. Pointerek és tömbök kapcsolata. Pointer-aritmetika. Pointereket tartalmazó struktúrák: önhivatkozó adatszerkezetek deklarációja. Tipikus, önhivatkozó adattípusokkal felépített dinamikus adatszerkezetek: láncolt listák, bináris keresőfa. Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 4 / 33
Bevezetés Tematika Típusok definiálása, a typedef. Típusmódosító operátorok: pointer-, tömb- és függvénytípust képző operátorok - ezek inverzei a végrehajtható utasítások során (indirekció, indexelés) Szabványos input és output, file kezelés. Programok szegmentálása. Függvények használata. Paraméterek átadása. Standard eljárások és függvények, könyvtárak használata Keresési és rendezési algoritmusok. Rekurzió, visszalépéses algoritmusok. (Hanoi tornyai, Fibonacci számok, binomiális együtthatók előállítása, kifejezés infix-postfix átalakítása.) Karakteres és grafikus képernyőkezelés. A számítógépes grafika alapjai. Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 5 / 33
Bevezetés Ajánlott tankönyvek, jegyzetek Ajánlott tankönyvek, jegyzetek Brian W. Kernigham, Dennis M. Ritchie: A C programozási nyelv http://msdn.microsoft.com Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 6 / 33
Aláírási feltételek Bevezetés Aláírási feltételek Az előadások, látogatása nem kötelező. A hallgatók a szorgalmi időszak 8. és 14. hetében egy-egy 100 pontos zárthelyi dolgozatot írnak. Ezek pótlására a vizsgaidőszak 1. hetében kerül sor. A pótlás írásbeli és/vagy szóbeli részből áll. Az elfogadott dolgozatok min. 51. pontosak. Ennek birtokában lehet kizárólag vizsgára jelentkezni. Ha a hallgató zárthelyi dolgozatokon szerzett pontjainak az összege nem éri el 101 pontot, akkor a leckekönyv aláírását megtagadjuk. A vizsga írásbeli és/vagy szóbeli részből áll. Az írásbeli vizsga eredményének minimum 51 pontosnak kell lennie a 100 pontos írásbeli vizsgából. Ennél rosszabb eredmény esetén a vizsgajegy elégtelen. Szóbeli vizsga csak sikeres írásbeli vizsga esetén lehetséges. Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 7 / 33
Aláírási feltételek Bevezetés Aláírási feltételek A vizsgajegyet az évközi zárthelyi dolgozat eredménye, valamint az írásbeli és/vagy szóbeli vizsga eredménye együtt határozza meg. Ha az írásbeli vagy a szóbeli vizsga eredménye elégtelen, a vizsgajegy is elégtelen. A zárthelyi dolgozatoknál egysoros kijelzős, szögfüggvény funkciókkal kibővített alapműveletes számológép használható kizárólag, illetve a dolgozat feladataitól függően adott esetben semmiféle számológép sem használható. Ezt a tárgy előadója a dolgozat írása előtt 1 héttel meghatározza. Egyéb számológépet, mobiltelefont (még kikapcsolva sem) a zárthelyi terembe a hallgató nem vihet be, mert ez azonnal felfüggesztést von maga után. Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 8 / 33
Számítógép fő részei és működésük Neumann János (1903-1957) Neumann elv Matematikus, fizikus A számolás gépesítésével foglalkozott Neumann elv (1945 - EDVAC) Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 9 / 33
Neumann elv Számítógép fő részei és működésük Neumann elv soros utasítás (utasítások végrehajtása időben egymás után történik) kettes (bináris) számrendszer használata belső memória (operatív tár) használata a program és az adatok tárolására teljesen elektronikus működés széles körű felhasználhatóság központi vezérlőegység alkalmazása Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 10 / 33
Számítógép fő részei és működésük Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 11 / 33
Számítógép fő részei és működésük Central Processing Unit (CPU) CU (Control Unit) - vezérlőegység ALU (Arithmetical and Logical Unit) - aritmetikai logikai egység regiszterek - utasítások tárolása Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 12 / 33
CPU Feladata Számítógép fő részei és működésük A belső, elektronikus adattárban lévő programok utasításainak beolvasása, értelmezése és végrehajtása Biztosítja a számítógép egységeinek a vezérlését Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 13 / 33
CPU Jellemzői Számítógép fő részei és működésük sebesség: a végrehajtott utasítások száma másodpercenként (MIPS = Millions of Instruction Per Second) órajel frekvencia (MHz, GHz) magok száma adat-, címbusz szélessége (bit) utasításkészlet (RISC, CISC) tokozás (lábkiosztás) - foglalat típusa hűtés (hűtőbordák, ventillátor) Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 14 / 33
Számítógép fő részei és működésük CPU - Moore szabály tranzisztorok száma 18 hónaponként megkétszereződik azaz: változatlan áron évről évre egyre nagyobb teljesítményű számítógépet kaphatunk Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 15 / 33
CPU - Tokozás Számítógép fő részei és működésük Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 16 / 33
Processzortípusok Számítógép fő részei és működésük PC, PC/XT 1972, 8008-as, 8080-as 1978, 8086-os, 8088-as, 10 MHz 1983, 80168-as, 80188-as, 16 MHz PC/AT (286) 1984, 80286-os, 20 Mhz PC/AT (386) 1985, 80386-os, 4 Gbyte memória kezelése, 33 Mhz PC/AT (486) 1989, 80486-os, párhuzamos végrehajtás, cache beépítése, 50 MHz 1992, DX2 jelű változat, az órajel sebességének duplájával működött 1994, DX4 jelű változat, az órajel sebességének háromszorosával működött hűtés fontossága Pentium, Pentium Pro, MMX 1995, 64 bites adatbusz, 200 MHz órajel frekvencia Pentium II, Xeon 1997, Slot 1 foglalat, 2 cache gyorsítótár Xeon szerverekbe szánt változat Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 17 / 33
Processzortípusok Számítógép fő részei és működésük Celeron, Celeron A 1998, a Pentium II olcsóbb változata, L2 cache a processzorba építve, teljesítménye jól tuningolható Pentium III, IV 2001, Pentium II továbbfejlesztése Pentium M Noteszgépekhez készült processzor Intel Core2/Quad Több magos processzorok megjelenése Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 18 / 33
Memória Számítógép fő részei és működésük Tartalmazza a végrehajtás alatt álló program utasításait és adatait. Jellemzői: tárkapacitás (Gbyte) memóriarekesz mérete adatelérési idő (ns: nanoszekundum 1 ns = 10 9 sec) Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 19 / 33
Számítógép fő részei és működésük RAM (Random Access Memory) írható, olvasható (tápfeszültség nélkül tartalma elveszik) DRAM - Dynamic RAM folyamatos frissítést igényel lassú olcsó SRAM - Static RAM nem kell frissíteni gyors drága (cache-nek használják leginkább) Fajtái: DDR, DDR II, SDRAM, EDO, FPM, RDRAM, RIMM, VRAM Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 20 / 33
Számítógép fő részei és működésük ROM (Read Only Memory) véletlen elérésű tár gyárilag programozott (feszültség nélkül is megőrzi az adatokat) PROM: a felhasználó által egyszer programozható EPROM: a felhasználó által programozható, UV fénnyel újraírható EEPROM: felhasználó által programozható, elektromosan törölhető EEPROM-Flash: írás, olvasás sebességét tekintve RAM-hoz hasonlóan működik Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 21 / 33
Egyéb memóriák Számítógép fő részei és működésük Cache gyorsítótár igen gyors működésű a processzor várakozó állapot nélkül eléri a tartalmát ma a processzorral egy tokban helyezkedik el L1 mérete 4-32 KB L2 mérete 128-512 KB Flash újraírható félvezető memória megőrzi az adatokat kikapcsolás után is széleskörűen alkalmazható, pl: digitális fényképezőgép, mp3 lejátszó, stb. BIOS PenDrive Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 22 / 33
BIOS Számítógép fő részei és működésük Basic Input/Output System Alapvető funkciókat biztosító szoftver a ROM-ban. Az alaplapba ültetett (nem törölhető/írható, de az alaplap gyártójának a programjával általában frissíthető) Feladatai: a számítógép egységeinek ellenőrzése a hibák jelzése (sípolással-bip) alapfunkcióinak irányítása hardware szintű folyamatok vezérlése kapcsolatot teremt a gép és az ember között az operációs rendszer kulcselemeinek betöltése Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 23 / 33
Az alaplap Számítógép fő részei és működésük Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 24 / 33
BIOS Számítógép fő részei és működésük Basic Input/Output System a számítógép egységeinek ellenőrzése Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 25 / 33
Számítógép fő részei és működésük Alaplaphoz csatlakoztatható kártyák videokártya (napjainkban az alaplapra van integrálva) hangkártya (napjainkban az alaplapra van integrálva) hálózati kártya (Ethernet) (napjainkban az alaplapra van integrálva) Ipari Kommunikációs kártyák (RS-232, RS-485, RS-422, CAN, LIN, GPIB, ProfiBus, ArcNet) Adatgyűjtő kártyák Multiméter kártyák Scope kártyák Függvénygenerátor kártyák Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 26 / 33
Számítógép fő részei és működésük Kártyák által használt bus-ok ISA (Industry Standard Architecture) régi, elavult iparban is használt VESA Local Bus videokártyákhoz használták régi, elavult EISA (Extended Industry Standard Architecture) videokártyákhoz, nem terjedt el PCI 33 MHz, perifériák közvetlen kommunikációja iparban jelenleg is használt AGP (Accelerated Graphics Port) videokártyákhoz PCI Express videokártyákhoz használják a PC-k iparban jelenleg is használt Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 27 / 33
Számítógép fő részei és működésük Kártyák által használt bus-ok VME Bus iparban jelenleg is használt PCMCIA Notebook-oknál használt iparban jelenleg is használt Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 28 / 33
Számítógép fő részei és működésük Háttértárakkal való kommunikáció IDE, ATA HDD, CD, DVD meghajtók csatlakoztatására master - slave SATA (Serial ATA) gyorsabb, alacsonyabb feszültséggel működik SCSI (Small Computer System Interface) rugalmas csatlakoztatás, Külső eszközökhöz is használható (nyomtató, scanner) gyors, drága USB (Universal Serial Bus) általános célú csatolófelület Külső eszközökhöz használható (nyomtató, scanner, ipari eszközök) tápfeszültséget tartalmaz Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 29 / 33
Számítógép fő részei és működésük A számítógép kommunikációs portjai RS-232 Az adatok bitjeinek továbbítása egymás után történik 9 és 25 tűs változat Handshake vezetékek alkalmazására is van lehetőség Full-duplex Csak kicsi távolságokra alkalmazható Szabványos gyorsaságok: 1200, 2400, 9600, 19200, 28800, 33600, 57600 baud RS-485, RS-422 Az adatok bitjeinek továbbítása egymás után történik Több km-es távolságokra alkalmazható (csavart érpár) RS-485 Half-duplex (2 vezeték) RS-422 Full-duplex (4 vezeték) Szabványos gyorsaságok: 1200, 2400, 9600, 19200, 28800, 33600, 57600 baud Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 30 / 33
Számítógép fő részei és működésük A számítógép kommunikációs portjai PS/2, AT port PS/2: billentyűzet és egér csatlakozó AT: régi billentyűzet csatlakozó USB (Universal Serial Bus) USB gyökérhub maximálisan 127 eszközt tud kezelni A és B típusú csatlakozók Sokféle eszközt lehet csatlakoztatni FireWire IEEE1394 400, 800Mbps PNP Digitális kamerák jellemző csatlakozója Képernyő portok VGA analóg monitorokhoz DVI (digital Video Interface) Dvi-sub: TFT monitorokhoz, átalakítható VGA-ra TV-kimenetek: Composite, S-video, HDMI Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 31 / 33
Számítógép fő részei és működésük Kapcsolat a hardware és a software között Megszakítások Eseményvezérelt A megszakítást kiválthatja valamilyen hardware-es esemény A megszakítást kiválthatja valamilyen program I/O portokon keresztül A portok tartalmát a hardware feldolgozza A portok tartalmát a hardware a bemenet megváltozása miatt megváltoztatja ROM-BIOS memórián keresztül A memória meghatározott helyen lévő tartalmát a hardware feldolgozza A memória meghatározott helyen lévő tartalmat a hardware a bemenet megváltozása miatt megváltoztatja Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 32 / 33
Számítógép fő részei és működésük PIC 16F87xx mikrokontroller memória felosztása Fodor A. (Pannon Egyetem) Információs technológia 2009 szeptember 33 / 33