Számítógépek, számítógép rendszerek

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Számítógépek, számítógép rendszerek"

Átírás

1 Számítógépek, számítógép rendszerek Jegyzet Dr. Vadász Dénes Miskolc, február

2

3 TARTALOM TARTALOM... a A tárgy célja Számítógép történet Számológépek ókortól az ötvenes évekig A Neumann elv Az architektúra fogalma Egy számítógép hardver architektúrája A szoftver architektúra Rétegezettség (Layered architecture) A virtualitás fogalma A transzparencia fogalma 9 2. Számítógép használati módok Mit lát egy felhasználó, ha leül egy számítógép elé? A folyamat (processz) A felhasználói kezelői felület Az eszköz és fájlrendszer A felhasználók Számítógépes hálózatok A hálózatosodás motivációi A hálózatok összetevői Számítógéprendszer igénybevétele A UNIX operációs rendszer használata A UNIX filozófia Honnan tanulhatjuk a UNIX használatot? 26 a

4 3.3. Fontos parancsok, csoportosítva Manipulációk fájlokon, jegyzékeken Állapotok (státusok), információk lekérdezése, beállítása Processz indítás, vezérlés Kommunikáció a világgal, felhasználókkal Hasznos szűrők Parancsok a tanuláshoz A Bourne shell (sh) Az sh burok, mint parancsértelmező Alapfogalmak Parancs, cső, lista csoportosítás, zárójelezés A parancs végrehajtás Az adatfolyamok átirányítása Fájlnév kifejtés A metakarakterek semlegesítése, az ún. quótázás Burokprogramozás A shell változók A shell változók osztályai Hivatkozások shell változókra, kifejtésük Parancs behelyettesítés Változók érvényessége (scope-ja) Vezérlési szerkezetek a sh shellben Szekvenciális szerkezet Elágazás: az if Elágazás: a case 44 b

5 Ciklus: a for Ciklus: a while Az if-hez, while-hoz jó dolog a test További jó dolog: az expr parancs A rekurzió lehetősége A read parancs Fontos tanácsok 50 A startup file-ok összefoglalása: Az awk mintakereső és feldolgozó Hálózatok, az Internet Az Internet története Az ARPANet Az RFC-k (Request for Comments) A korai protokollok A történet folytatódik További protokollok Az Internet Magyarországon Csomópontok azonosítása az Internet-en Az elektronikus levelezés alapfogalmai Az Internet gopher A File Transfer Protocol FTP Az Archie szolgáltatás Hogyan kereshetünk személyeket, számítógépeket? A World Wide Web (WWW) és nézegetőik 72 A WWW programozási nyelve: a Java 74 c

6 5. Hardver architektúrák, a központi egység működése Az ALU (Aritmetikai logikai egység) A regiszterek, regiszterkészlet A vezérlő és dekódoló egység A címképző és buszcsatoló egység A CPU belső sínje, sínjei Az utasításkészlet Címzési módok Instrukciókészletek, instrukciók csoportjai Processzorok működési módjai 81 A. függelék: A verem (stack) adattípus formális specifikációja Processzor teljesítmény növelés A processzorok ciklusideje Processzor teljesítmények (Processor performance) Teljesítmény értékelési módok MIPS: Million Instruction per Second Korszerűbb sebesség-meghatározások Whetstone Benchmark Livermore Loops Benchmark Dhrystone Benchmark Linpack 100 *100 és 1000 * 1000 Benchmark TPC Benchmark A Dongarra teszteredmények SPEC Benchmark Suites (SPEC készletek) Többprocesszoros gépek összevetése 89 d

7 A SPEC teljesítménymérés továbbfejlesztése A CPU teljesítmény növelés módszerei A CISC és a RISC architektúrák CISC: Complex Instruction Set Computer RISC: Reduced Instruction Set Computer Párhuzamos architektúrák, átlapolás Párhuzamosítás a CPU-n belül: futószalag (csővezeték, pipe-line) feldolgozás Szuperskalaritás Párhuzamosítás a processzoron kívül (Multiprocesszoros rendszerek) A sínek Az IBM PC-k sínrendszerei A PCI sín További híres sínek A memória A félvezető tárolók Az alapvető DRAM operációk A Page Mode, Fast Page Mode, Hyper Page Mode elérések Az SDRAM-ok (Synhronous DRAM Operation) A memória modulokról Hogyan csökkenthető a hozzáférési idő? A gyorsító tárak (cache) Az asszociatív tárak (CAM Content Addressable Memory) Perifériák, eszközök A vezérlők (controllerek, adapterek) A vezérlők feladatai (általánosan) 111 e

8 Egyszerűsített forgatókönyv (scenario) diszkes adatátvitelre Megszakítás (interrupt, IT) Az eszközök osztályai Mágneslemezes tárolók CD (Compact Disk) lemezek Terminálok 121 f

9 A tárgy célja A Számítógépek, számítógép rendszerek c. tantárgy az informatika tantárgycsoporthoz tartozik. Szokásosan mind a tavaszi, mind az őszi félévben meghirdetjük heti 2 óra előadás és 2 óra gyakorlat időtartamban. A tantárgy tananyaga a Számítástechnika alaptárgyi szigorlat anyaga is egyben. Lezárása a félév végén vizsgával történik. Felvételéhez ajánlott a Programozás alapjai c. tantárgy tananyagának ismerete. A tárgy céljai A tárgy célja, hogy a hallgatók megismerjék a számítógépek, számítógép rendszerek használatát. Feltételezem, hogy a tárgyat hallgatók már eddig is használtak számítógépeket, ismernek különböző parancsnyelveket, grafikus kezelőket is használtak már. Nos, a tárgyban a számítógép használatot - ezen belül is a kezelő szoftverek használatát fogjuk rendszerezni, gyakorolni. Nem a működtető szoftverek mélységeinek megismerése a cél most (azt tanulhatják az Operációs rendszerek c. tantárgyban), hanem a géphasználat: itt is van tanulni, rendszerezni való! Egy másik cél a számítógépek felépítésének, a részegységeknek, a működésüknek megismerése, ha úgy tetszik, architektúra, hardver ismeret. Persze, nem villamosmérnöki szintű ismeretről van szó. Erre nincs is előképzettségük (még nem tanultak elég elektronikát) és nincs is szükség olyan mély ismeretekre a tanulmányaik folytatására. Azt azonban megtanulhatják, hogy funkcionális szinten hogyan épül fel egy számítógép, milyen komponensei lehetnek, azok hogy működnek stb. A módszerek Az előadások egy rövid történelmi bevezetés után eleinte a felhasználói felületekkel, azaz a számítógép használattal foglakoznak. A gyakorlatokon különféle rendszerek interaktív használatát, parancsnyelvek megismerését, a parancsnyelvi programozást kapják feladatul. Főleg Unix-os rendszerek kapcsolattartóit (burkait) kell megismerniük, de valamennyi időt töltünk a hálózati szolgáltatások használatával is. Az előadások később a számítógép architektúrákról, a részegységekről, ezek működési elveiről szólnak, a gyakorlatokon ezekhez bemutató és egyéni feladat kapcsolódik majd. Végül grafikus felhasználói felületekkel is foglakozunk egy kicsit. Ennek a sorrendnek egyszerű oka van: minél előbb ki akarjuk adni a burokprogramozási feladatokat. A tárgy e félévi ütemtervét hirdetőtáblán (és a számítógépes hálózaton) közzétettem. Az ütemtervben is olvasható, hogy több feladatot kapnak a félév során. A feladatokat a gyakorlatvezetők adják ki, de a hallgatók felelőssége is, hogy a feladatokat időben megkapják, átvegyék: a gyakorlatvezetők nem fognak a hallgatók után szaladgálni, hogy kiadják azokat! A feladatokat viszonylag rövid határidőkkel kell elkészíteni. Az aláírás feltételei: gyakorlatokra járni kell, ott dolgozni. A feladatokat elkészíteni, azokat a gyakorlatvezetőnek beadni, aki ellenőrzi azokat. Végül az informatikus hallgatóknak néhány kisebb és egy nagyobb évközi zárthelyi dolgozatot eredményesen meg kell írniuk. A vizsga rövid írásbeli és szóbeli vizsga lesz. A félév végén a vizsgakérdések listáját megkapják. A vizsgán a gyakorlatvezetők véleményét figyelembe szoktuk venni. A vizsgán kap- 1

10 hatnak kérdéseket az évközi feladataikkal kapcsolatosan is, esetleg be kell mutatniuk, hogy képesek számítógéprendszerekre bejelentkezni, ott dolgozni. A tantárgyhoz javasolt irodalom listája az ütemtervben megtekinthető. Miskolc, február 2

11 1. Számítógép történet A számítógépek történetét két szakaszban tárgyalhatjuk. Az első szakasz az ókortól a századunk közepéig tartott, a második szakasz a század közepétől napjainkig. Javaslom, pillantsanak be a számítástechnika virtuális múzeumába! Az alábbi fejezetben említett személyekről, és persze sok más híres személyről találhatnak információkat a Pioneers of Computing kiindulóponttól! 1.1. Számológépek ókortól az ötvenes évekig Az ember nem szeret számolni. Régesrégi kívánsága volt az emberiségnek, hogy álljanak rendelkezésére számológépek, melyekkel tévedés nélkül, gyorsan tudnak számolni. Nos, voltak is gépek a történelemben. Többezer éves a (kínai eredetű) abakusz. Ez a digitális eszköz primitív volta ellenére nagyon hasznos lehetett. Egyes helyeken még ma is használják: az ún. golyós számológép hasonlít az abakuszra. Ma azonban már többnyire csak játék. Blaise Pascal ( ) [lásd a Pioneers of Computing-ban] francia matematikus, fizikus, filozófus és feltaláló 1642-ben 6 digiten számoló összeadó-kivonó gépet készített (ez volt a Pascaline). Az utókor - elismerésképpen - modern programnyelvet nevezett el róla. Gottfried Wilhelm Leibniz ( ) szorozni és osztani is tudó mechanikus gépe (1694- ben készült), úgy tetszik, ez a tegnapi mechanikus számológépek őse. Charles Babbage ( ) [Pioneers of Computing] angol matematikus és feltaláló az általános célú számítógépek atyja. Difference Engine nevű mechanikus gépe az ún. differencia módszer segítségével számolta volna ki polinomok értékeit diszkrét lépésekben változtatott független váltózó érték mellett. A terv jó volt, a gépet el is készítették, csak éppen nem működött. Babbage a Difference Engine kudarca után belefogott az Analytical Engine elkészítésébe, ami az általános célú számítógépek előfutárának tekinthető. Tízes számrendszert használó mechanikus gép lett volna: a tervek itt is jók voltak, a megvalósítás az akkori technológiai körülmények között még reménytelenebb volt. A tervezett gép fő részei: a malom (CPU), a tár (memória), nyomtató, lyukkártyás bemeneti egység. Azt lehet mondani, Babbage megelőzte korát! Állítólag utóbb elkészítették Babbage tervei alapján a gépet és az működött. Ada Byron, Lady Lovelace ( ) [lásd Pioneers of Computing], aki Babbage múzsájának tekinthető, s aki Lord Byron, a híres költő - szép és okos - leánya volt, felismerte Babbage jelentőségét. Megfigyelések Babbage Analytical Engine-jéről címmel írt munkájában ismertette a gép működését, jelentőségét, és programokat is közölt a nem létező gépre! Ő volt tehát a történelem első programozója, hálából róla nevezték el az ADA nyelvet! 3

12 Ugorjunk a XIX. század végére, a XX. század elejére: ebben az időszakban a mechanikus számológépek rohamosan fejlődtek. A legjelentősebb neveket említsük meg: Roman Verea spanyol feltaláló szorzótáblát használó gépet készített. Otto Steiger ugyanilyen elvű gépe a millionare, több tízezer példányban készült és kelt el. Hermann Hollerith ( ) [Pioneers of Computing] neve kiemelendő. Az 1880-as amerikai népszámlálás adatainak feldolgozása 1887-re fejeződött be, és folyamatosan növekvő bevándorlás miatt az 1890-es népszámlálás feldolgozása reménytelennek tűnt hagyományos módszerekkel. Hollerith elektromos lyukkártya feldolgozó gépe segítségével 6 hét alatt sikerült a feldolgozás! Hollerith 1896-ban céget alapított, ami 1924-től IBM-ként vált ismertté. Claude Elwood Shannon már századunkban dolgozta ki a kommunikáció- és információelmélet alapjait. Bemutatta, hogy bináris elektromos relékből összeadásra, kivonásra, szorzásra és osztásra alkalmas áramköröket lehet építeni, és hogy ezek tervezéséhez a matematikai logika formális leírása jó eszköz. Konrád Zuse ( ) [Pioneers of Computing] 1938-ban készítette Z1 nevű gépét meccano fémépítő játék elemekből, mechanikus elemekből készült memóriával, villanykörték sora volt a kijelzője; a Z2 gépében jelfogós (relés) memória volt; 1941-ben a Z3 relés lebegőpontos aritmetikai egységgel rendelkezett. Howard Aiken vezetésével készült a MARK I az IBM támogatásával a Harvard egyetemen (USA, ). Telefon-relékből épült a gép, eredeti célja a telefonbeszélgetések számlázása volt, de a háborús viszonyok miatt lőelem-táblázatok számítására használták. A II. világháború nagy lökést adott a fejlődésnek. A kódfejtés és a logisztika számításigényes feladataira az angolok több számítógépet is kifejlesztettek és használtak, csak azok a titoktartás miatt nem váltak ismertté. A fejlesztés központi alakja Alan Turing ( ) matematikus [Pioneers of Computing] volt. Ekkor készültek a Robinson számítógépcsalád tagjai, és 1943 decemberében már működött a Colossus I, a világ első elektroncsöves számítógépe. Churchill szerint a kódfejtő számítógépek hozzásegítették Angliát a győzelemhez től kezdve az USA-ban is dolgoztak elektroncsöves számítógép fejlesztésen (Presper Eckert és John Mauchly [Pioneers of Computing] a Pennsylvaniai Egyetem Műszaki Karán) ra készült el az ENIAC (Electronic Numerical Integrator and Computer), mely ún. külső programvezérlésű gép volt. A programot lyukkártyákra lyukasztották, az adatokat 20 db tízjegyű regiszterben tárolták. A gép 18 ezer elektroncsövet tartalmazott, elképzelhetjük az áramfelvételét! Működési sebessége viszont ezerszer gyorsabb volt, mint a MARK I sebessége. Neumann János ( ) [Pioneers of Computing] magyar származású matematikus és vegyész Herman Goldstine kollégájával együtt 1946-ban megfogalmazta, 1948-ban egy konferencián előadta az elektronikus digitális számítógépekkel szembeni követelményeket. A Neumann elv hosszú időre meghatározta a számítógépek fejlesztési irányát. Az első tárolt programú számítógépet (EDSAC) mégsem a Neumann által vezetett csoport készítette (csak 1951-re fejezték be Neumannék az EDVAC-ot), hanem az angliai Cambridge University-n Maurice Wilkes. 4

13 Tovább most nem megyünk a számítógép történelemben, mert a századunk második felében lezajló hardveres fejlődést célszerű a működtető rendszerek (operációs rendszerek) és a számítástechnikai munkamegosztás fejlődésével, a specializálódással párhuzamosan tárgyalni. Annyit megelőlegezhetünk, hogy szokásos az közötti időszak gépeit az első generációsnak, az közötti időszak fejlesztéseit a második generációs rendszereknek (tranzisztorok és kötegelt rendszerek), az közötti időszakot a harmadik generációnak (integrált áramkörök és multiprogramozás), végül az 1980-tól napjainkig is terjedő időszakot a negyedik generációs gépek korszakának (személyi számítógépek és LSI) nevezni A Neumann elv Neumannék híres cikkének lényege - az elektronikus számítógépekkel szembeni követelmények - lényegében 3 pontba foglalhatók össze. Az 1. pont a számítógép fő részeit és az azokkal szembeni kívánalmakat fogalmazza meg, a második pont a tárolt program elvet rögzíti, a harmadik pedig az automatikus, az emberi beavatkozás nélküli működési követelményt rögzíti. Nézzük ezeket a pontokat: 1. A fő funkcionális részek a következők: a vezérlő egység (control unit), az aritmetikai és logikai egység (ALU), a tár (memory), ami címezhető és újraírható tároló-elemekkel rendelkezik, továbbá a ki/bemeneti egységek. A részegységek elektronikusak legyenek és bináris számrendszert használjanak. Az ALU képes legyen elvégezni az alapvető logikai és aritmetikai műveleteket (néhány elemi matematikai és logikai művelet segítségével elvileg bármely számítási feladat elvégezhető). 2. Tárolt program elvű legyen a számítógép, azaz a program és az adatok ugyanabban a tárban tárolódjanak, ebből következően a programokat tartalmazó rekeszek is újraírhatók. 3. A vezérlő egység határozza meg a működést a tárból kiolvasott utasítások alapján, emberi beavatkozás nélkül, azaz közvetlen vezérlésűek a számítógépek. A harmadik pont azt jelenti, hogy létezik utasítás készlet (instruction set), melyek utasításait a vezérlő képes felismerni és az ALU-val elvégeztetni. Az utasításhalmaz elemeinek célszerű sorozata a tár (rendszerint egymásutáni) címezhető celláiban van. Úgyis fogalmazhatunk, hogy adott és a memóriában tárolt egy utasításfolyam (instruction stream): a gépi kódú program (kód: code, program text stb.). A vezérlőegység egy mutatója jelöli ki a soron következő végrehajtható utasítást (instruction) az utasításfolyamban. A soron következő gépi utasítást a vezérlő egység értelmezi. A gépi utasításokban kódolva vannak az elvégzendő operációk, kódolva vannak az operandusok, azaz az adatok, vagy az adatok tárbeli címei. Ezeket a vezérlő egység a tárból előveszi, az ALU pedig elvégzi rajtuk az operációkat. A tárolási helyek címezhetők, a tárolási helyeken a tárolt értékek változtathatók. Egy instrukció végrehajtása után a vezérlőegység mutatója automatikusan - emberi beavatkozás nélkül - a soron következő instrukcióra mutat, a vezérlő egység veszi ezt az instrukciót s. í. t. Neumannék nem használták a CPU (Central Processing Unit) kifejezést, de mi mondhatjuk, hogy a CPU az utasítás-számláló regisztere (PC: Program Counter, IP Instruction Pointer) mutatja a soron következő instrukció címét. A második pontból következik, hogy maga a program is feldolgozható, módosítható. 5

14 A három pont együtt azt mondja: a számítógép architektúra hardver és szoftver architektúrák együttese, hiszen működését nemcsak a hardver szabja majd meg Az architektúra fogalma Az architektúra alatt kétféle dolgot értünk, a számítógép architektúra fogalmat két, eltérő nézőpontból értelmezhetjük. A leírás irányultságában van különbség a két értelmezésben. Irányulhat funkcionális specifikációra a leírás. Ekkor a gépet (esetleg egyes részeit) fekete doboz szemlélettel nézzük. Egy digitális számítógép bizonyos szintű általános specifikációjára gondolunk ekkor, például a processzor utasításkészletének, társzervezésének és címzési módjainak, a B/K műveleteknek (és vezérlésüknek) felhasználói (programozói) leírását stb. Ebben az értelemben lehetnek közös (hasonló) architektúrával rendelkező számítógépcsaládok, melyeknél a megvalósítás (az implementáció) különbözhet. A felhasználó (programozó) szempontjából az architektúra azonossága (hasonlósága) biztosítja a kompatibilitást (helyettesíthetőséget, áthelyezhetőséget, csatlakoztathatóságot), például egy adott programnak a család minden tagján működnie kell. Irányulhat megvalósítási célra a leírás. Ez egy másik (villamosmérnöki, hardvertervezői) szempont, itt az architektúra egy számítógép (rendszer) lényeges részei, fő funkcionális elemei kapcsolódásának leírását jelenti valamilyen szinten. Ebben a leírásban is lehetnek funkcionális elemek, de nemcsak a funkciók felsorolása, specifikálása van itt, hanem a funkciók kapcsolódása is. Ez lehet blokkdiagram, kapcsolási rajz (különböző részletességben), de lehet a felépítés (részben) szöveges leírása is. És persze, bármi is volt a leírás irányultsága, az architektúra fogalmat különböző szinteken - amik persze egymásra épülhetnek - értelmezhetjük. Így beszélhetünk mikrogép-szintű architektúrákról (mikroprogramozott processzoroknál), processzorszint is van, illetve számítógéprendszer szinten is értelmezhetjük az architektúrát Egy számítógép hardver architektúrája A legáltalánosabb architektúrát (a második értelemben, ahol is a részeket és kapcsolódásukat tekintjük) az 1.1. ábrán láthatjuk. E szerint egy számítógép a sínre kapcsolódó központi egységből (CPU, Central Processing Unit), a központi tárból (Central Memory) és a perifériákból áll. Mindezeket a sín köti össze. A memória adatokat (bit, bájt, szó, blokk, rekord mezőkkel) és gépi instrukciókat tároló címezhető cellák készlete. A számítógép működése során állapotokat vesz fel, állapotátmenetek történnek az állapotok 1.1. ábra. Egy számítógép architektúrája között. Az állapotot egy adott pillanatban a memóriacellák pillanatnyi állapota és a perifériák pillanatnyi állapota adja. Egy gépi instrukció végrehajtása változtat az állapoton: azzal például, hogy valamelyik memória 6

15 cella értékét megváltoztatja. Ez egy sokdimenziós állapottér. Magának a programnak (az instrukciók sorozatának) futása állapotátmenetek láncolatát jelenti. A sokdimenziós állapottér átmeneteinek megragadható egy kulcsjellemzője: a programszámláló regiszter (PC/IP) állapotainak átmenete, e regiszter egymásutáni értékeinek sorozata. Nevezhetjük ezt a sorozatot a programvezérlés menetének (flow of control). Az imperatív programnyelvek - ezekkel a programvezérlés menetét manipuláljuk - jól megfelelnek a Neumann elvű gépeknek. A Neumann elvű gépeknél jellegzetes a hiba- és eseménykezelés. Az elgondolás a hiba- és eseménykezelés módja mögött a következő: van egy program rész a memóriában, mely az esemény kezelője (handler). Esemény bekövetkeztekor a programvezérlés (normális) menete megszakad, a vezérlés a kezelőre ugrik, és ha abból vissza lehet térni, folytatódik a normális programfutás a megszakítási pont után. Vagyis a hibakezelés is a programvezérlés menetének manipulálásával történik. Kontrasztként, hogy igazán megértsük a Neumann gép működését, érdemes összevetni azt más elvű számítógéppel, például az adatfolyam géppel. Az adatfolyam gépnél szeparált processzorok vannak minden operációra (az operáció kb., megfelel a Neumann gép instrukciójának). A processzorok (az operációk) várnak, míg operandusaik értékei előállnak, s mikor azok előállnak, azonnal működnek, adják az eredményüket. Az eredményüket további processzorok/operációk ezután már használhatják. Az operációk végrehajtási sorrendjét nem imperatív jellegű (tedd ezt, aztán ezt s.í.t.) program szabja meg, hanem az az adatfolyamból adódik. A hibakezelés is jellegzetes. Az egyes processzorok/operációk operandusainak explicit hibaértéke is van. Ha egy operáció hibás (pl. túlcsordulás következik be aritmetikai operáció során), akkor az a hibaértéket állítja elő eredményül. Mindenképp kell legyen eredménye egy-egy operációnak, hiszen azt (azokat) más processzorok/operációk várják. Nos, ha egy processzor hibás értéket kap operandusaként, akkor ő is hibaértéket fog továbbítani. További összehasonlításként nézzük a két gép számítási modelljének összetevőit (a számítások alapelemeit, a problémaleírás jellegét és módszerét, a végrehajtás modelljét: szemantikáját és kontrollját)! A Neumann gépnél az alapelemek azonosítható entitásokhoz rendelt (típusos) adatok: változók, amik többszörösen vehetnek fel értékeket. A problémaleírás procedurális/imperatív: lépésenként van megadva, mit kell tenni. A végrehajtás szemantikája: állapotátmenet szemantika. A kontroll: közvetlen vezérlés (beszélhetünk a vezérlés menetéről...). Az adatfolyam gépnél az alapelemek azonosítható entitásokhoz rendelt (típusos) adatok, de egyszeri azokon az értékadás. Az adatoknak lehet neve, de azok nem változók! Ha változók lennének az operandusok, nem tudná a processzor, melyik értékkel kell végrehajtani az operációt. A problémaleírás deklaratív: a program operációk felsorolása, halmaza, leírásuk sorrendje nem befolyásolja a processzorok működési sorrendjét! A végrehajtási szemantika applikatív. A kontroll: adatfolyam vezérelt. A későbbiekben részletesebben is tárgyaljuk Neumann gép hardver architektúráját, az egyes részeket. 7

16 A szoftver architektúra Ugyancsak általánosan és az architektúra fogalom második értelmében a szoftver architektúra az 1.2. ábrán látható. Az ábra elvi jelentőségű és nagyon általános, természetesen lehetnek más, az ábrán nem szereplő szoftver komponensek is egy számítógép szoftver architektúrájában. A feltüntetett komponensek talán a legfontosabbak: a felhasználói kapcsolattartó (User Interface), a segédprogramok (Utilities), az alkalmazások (Applications) és hát persze maga az operációs rendszer (Operating System). A legfontosabb, amit megfigyelhetünk az egyes részek kapcsolódásában a rétegezettség! 1.2. ábra. A szoftver architektúra Rétegezettség (Layered architecture) A réteges szerveződés általános alapelv, sok helyütt megfigyelhető a számítástechnikában (vö. strukturált programozás, hálózati protokollok rétegei stb.). A lényege: Egy alsóbb réteg szolgáltatásokat biztosít a felső rétegnek. Biztosít egy magasabb absztrakciós szintű virtuális utasításkészletet. A felső réteg nem látja az alatta lévő réteg megvalósítását, annak részleteit, csak a virtuális utasításkészletét. A még lejjebb lévő rétegek részletei pedig teljesen el vannak rejtve a felső réteg elől: a közvetlen alatta lévő réteg elszigetel. Jól meghatározott protokollok és interfészek kellenek az egyes rétegek között. Az ábránkon az operációs rendszer - mint egy réteg - elválasztja az alkalmazásokat, a segédprogramokat, sőt a felhasználói kapcsolattartó felületet is a hardvertől. Az elválasztás valahogy függetleníti ezeket, az a képzetünk - és ez bizonyos mértékig igaz is -, hogy a hardver akár le is cserélhető az operációs rendszer alatt. Másrészt - ez az ábrából azonban nemigen derül ki -, ezt az elszigetelést az operációs rendszer úgy valósítja meg, hogy szolgáltatásokat biztosít a felette lévő réteg számára. A szolgáltatások hívhatók a felsőbb rétegből: akár azt is mondhatjuk, hogy az operációs rendszer egy virtuális gépet emulál, és ennek a virtuális gépnek a szolgáltatások hívásai az utasításai. Ezek az utasítások virtuálisak. Egy érdekesség: ha az operációs rendszer szolgáltatásait specifikáljuk, mondjuk felsorolva, hogy milyen virtuális instrukciókat biztosít az alkalmazások számára, akkor az már az architektúra az első értelemben. Gyakran fogjuk használni a virtuális (virtuális objektum, virtualitás) és a transzparens (transzparens objektum, transzparencia) jelzőket (fogalmakat). Mit jelentenek ezek? A virtualitás fogalma Virtuális egy objektum, ha valójában nem létezik, de úgy tűnik, mintha (ott) volna. 8

17 Példák: virtuális diszk eszköz, amit egy hálózati fájl-szerver biztosít. virtuális egy terminál eszköz, ha azt pl. emulálja egy szoftver. virtuális memória, ami egy-egy futó program rendelkezésére áll, míg a valóságban annak a gépnek sokkal kisebb a központi memóriája stb A transzparencia fogalma Transzparens (átlátszó) egy objektum, ha valójában ott van, de nem látszik, nem vesszük észre, nem kell vele törődnünk. Példa: Mialatt a fájl-szerver biztosít egy virtuális diszk eszközt, maga a hálózat, a hálózati szolgáltatások transzparensek, nem látszódnak. A virtuális diszkre ugyanúgy a nevével hivatkozhatunk, mint egy valódi (reális) diszkre, nem törődünk közben a hálózattal, nem is vesszük észre, hogy hálózaton is dolgozunk (legföljebb ha a virtuális diszk lassú :-) ). 9

18 2. Számítógép használati módok Használható-e a számítógép operációs rendszer (működtető rendszer) nélkül? Egyáltalán, hogyan használhatunk egy számítógépet? Nyilván, kellenek programok hozzá, melyek valahogy betöltődnek a memóriába és elindulnak, de milyen szinteket tudunk a használatban elképzelni? A válaszunk: legalább három szint elképzelhető. Direkt futtatás a hardveren, azaz a gép használata működtető rendszer nélkül. Ma ez a használat csak kis bitszélességű mikrokontrollereknél szokásos, de régebben ez természetes használati mód volt. Természetesen ekkor minden felelősség a felhasználóé. Teljes részletességgel ismernie kell a hardvert, gépi utasítás szinten kell tudni programoznia. Felmerül a kérdés ekkor: hogyan programozhatunk egyáltalán? (Rövid válasz erre: külön berendezéseken programozunk és az elkészített programot "beleégetjük" a memóriába. A gép bekapcsolásakor a beégetett program elindul.) "Monitor" program segítségével. A monitor egy egyszerű működtető szoftver, ami képes memória rekeszek lekérdezésére, beállítására; tesztekre; esetleg primitív eszközkezelésre (pl. egy konzol és egy diszk kezelésére). Operációs rendszer segítségével. Ma ez az általános! Mi az operációs rendszer? Szoftver. Működtető rendszer. B. Hansen szerint az operációs rendszer egy csomó kézikönyv és egy automatikusan működő eljárás, amelyek lehetővé teszik, hogy különböző személyek hatékonyan használjanak egy számítógéprendszert. Mit jelent itt a hatékonyság? Hogy mérhetjük tárgyilagosan? Nos, néhány lehetőség: Milyen funkciókat biztosít? Milyen a teljesítménye (performance): a válaszidő, a fordulási idő, a CPU felhasználási idő (vagy fizetendő forint), a memóriamennyiség, a kommunikáció, a csatornák teljesítménye stb. Kényelmesség. Láthatók az ellentmondások! (Pl. funkcionalitás és CPU idő ára között, funkcionalitás és válaszidő között.) Az operációs rendszer fogalmat két szempontból definiálhatjuk (egy harmadik szempontot pedig megemlítünk): I. Az operációs rendszer kiterjesztett/virtuális gép (Extended/Virtual Machine) Magasabb szintű, absztraktabb "utasításokat" és "objektumokat" (pl. fájl nevek) biztosít; elrejti a részleteket; kezelhetővé teszi a gépet, anélkül, hogy a hardvert ismerni kellene. II: Az operációs rendszer erőforrás menedzser (Resource Manager) Védi, kiosztja, összehangolja az erőforrásokat. 10

19 III. Az operációs rendszer egy válaszoló rendszer (Response System) Az operációs rendszer egy válaszoló rendszer, mondhatná egy definíció. Hiszen válaszokat ad kérelmekre. A kérelmek jöhetnek a felhasználó parancsaiból; alkalmazásokból (rendszerhívással, kivételes eseménnyel); a hardverből (megszakítással). Nem tartom elég jónak ezt a definíciót. Azért, mert ezzel a definícióval hajlamosak leszünk összekeverni a felhasználói és programozói felületeket az operációs rendszerrel Mit lát egy felhasználó, ha leül egy számítógép elé? Tessék idézőjelben venni a mit lát kifejezést. Arról van szó, hogy mivel kell foglakoznia, mit kell megtanulnia, megismernie. Úgy is feltehetjük a kérdést, mit nem lát a felhasználó, mi van elrejtve előle, mivel nem kell foglakoznia. A felhasználó valóságban egy végberendezést, egy terminált lát. Ma ez egy képernyő (megjelenítő), a billentyűzet és a mutató (utóbbiak a beviteli eszközök) együttese. A megjelenítő lehet grafikus. Lehet a terminál emulált: egy futó program biztosít a képernyőn egy ablakot, az ablakhoz tartozik billentyűzet és mutató. A felhasználó a beviteli eszközöket használva egy parancsnyelvvel vezérli, kezeli a gépet (a gépen futó programokat), nézi, mi jelenik meg a megjelenítőn, értelmezi a válasznyelvi elemeket. Mikor a gépet vezérli, valójában egy parancsértelmező processz fut számára, ami az operációs rendszer szolgáltatásain át, azokat kérve vezérel. A végberendezés a terminál. Ez a géppel való kommunikáció alapvető hardver eszköze. Nem érdemes most sokat foglakozni vele, mert van ennél több és fontosabb absztrakt látnivaló! Később persze foglakozunk a terminálokkal is., de most soroljuk fel az absztrakt látnivalókat. Ezek a következők: a felhasználói felület, vagy parancsnyelv; a processzek, vagyis a futó programok; az eszközök és a fájlok; más felhasználók és hozzáférési kategóriák; gazdagépek és szolgáltatásaik. A felhasználó lát egy felhasználói kezelői felületet. (User Interface) Manapság ez kétféle lehet: parancsértelmező (Command Language Interpreter, CLI) (esetleg menüfeldolgozó), vagy egy grafikus felhasználói felület (GUI, Graphical User Interface). Vegyük az elsőt, a parancsértelmezőt! A parancsértelmező képes adni a megjelenítőn egy készenléti jelet (prompt), ami mutatja, hogy most billentyűzet beviteli eszközön begépelhetünk egy parancsot. A parancsokat a parancsértelmező elfogadja, elemzi, átalakítja és végrehajtja. A végrehajtással válaszol. 11

20 Látunk tehát parancsokat. Megkell ismernünk a parancsokat, szintaxisukat, értelmezésüket. Néha a parancsértelmező elindít számunkra egy programot, készít számunkra egy processzt, aminek saját felhasználói kapcsolattartó rendszere van. Ez utóbbi is lehet parancsértelmezős (esetleg menüs) jellegű, vagy GUI jellegű. Tudnunk kell ("látnunk" kell), éppen mivel tartjuk a kapcsolatot, mert a szabályok eltérhetnek! Látunk tehát futó programokat: folyamatokat (processzeket). Menjünk vissza a parancsértelmezőhöz. Miközben parancsokat adunk, argumentumokként sokszor használunk eszköz- ill. fájlneveket. Ezeket is látjuk. Eszközöket ismerünk a (szimbolikus) nevükön, fájlokat látunk a nevükön át. Használjuk ezeket a neveket. Némely rendszerben némely parancsban személyek nevét vagy címét kell szerepeltetni (pl. levelező rendszerben az címet). Látunk tehát személyeket, felhasználókat (user), azok postaláda címeit stb. A személyekhez kapcsolódóan látunk tulajdonossági kategóriákat. Úgy látjuk, hogy ez és ez az objektum (pl. fájl) ezé és ezé a személyé. Később látni fogunk védelmi, hozzáférési kategóriákat is. Ezt és ezt a fájlt használhatjuk olvasásra, de nem változtathatjuk meg. Másokat viszont írhatunk, hozzáfűzéses módon írhatjuk, esetleg teljesen újraírhatjuk. Vannak bináris adatokat tartalmazó fájlok, melyek végrehajtható programokat tartalmaznak, és ezeket mi futtathatjuk, másokat viszont nem futtathatunk. Néha kapcsolatot létesítünk más számítógépekkel. Ehhez látunk csomópontokat, gazda gépeket (host) és látjuk azok szolgáltatásait. Azt nem biztos, hogy látjuk, hogyan valósult meg a kapcsolat, milyen áramkörökön (virtual circuit) kapcsolódnak össze a gépek, milyen üzenetváltások mennek közöttük, de tudjuk, hogy vannak más gépek, és ezekkel tudunk kapcsolatot létesíteni. Nem látunk viszont egy sor dolgot! magát az operációs rendszer nem látjuk igazán; nem látjuk a CPU-t, a memóriát, ezek kapcsolódásait; nem látjuk a diszkeket, azt, hogy azokon hogy szerveződik az adattárolás stb. A következőkben a "látnivalókat " részletezzük A folyamat (processz) A processz egy (párhuzamos programszerkezeteket nem tartalmazó) végrehajtható program futás közben. Vegyük észre a végrehajtható program és a processz közti különbséget! A végrehajtható program egy fájl. Statikus, van mérete, helyet foglal egy fájlrendszeren. 12

21 A folyamat egy végrehajtható program futási példánya. Dinamikus, időbeli tulajdonságai is vannak, sőt, azok a fontosabbak. Ugyanannak a végrehajtható programnak több futási példánya is lehet ugyanazon rendszerben. A folyamatoknak vannak menedzselési információi, ezekből a felhasználó számára legfontosabbak az azonosítási információk: a pid (process identifier), a pname (process name). A pid-et bizonyos parancsok argumentumaiban használjuk, jó tehát tudni azokat. A parancsértelmező valamely parancsával lekérdezhető, hogy milyen azonosítójú folyamatok élnek a rendszeren. A Unix burokban ilyen lekérdező parancs a ps parancs (process state szavak rövidítéséből jött a parancs neve). Egyes rendszerekben a folyamatok szekvenciálisan futnak (nem párhuzamosan, single tasking módon). Ekkor, bár több folyamat lehet a memóriában, egyszerre csak egy folyamat aktív. Ilyen rendszer volt pl. az MS-DOS. Vannak rendszerek, melyeken a folyamatok virtuális párhuzamosságban (multi tasking) futnak. Az ilyen rendszerekben kevesebb processzor van, mint processz. Az operációs rendszer ezt az egyetlen processzort megosztja a folyamatok között. Ilyen rendszerek voltak a korai Unix-szerű operációs rendszerek, a VAX/VMS stb. egyetlen processzorral. Folyamatok futhatnak valós párhuzamosságban (multi processing) is. A multi processing rendszerekben több processzor (CPU) van. Persze, itt is előfordulhat, hogy több a processz, mint a processzor. A korszerű operációs rendszerek korszerű hardvereken multi-processing jelleget adnak. Kérdezhetnénk, miért kell az egyszerű felhasználónak a processzekkel foglakozni, például azonosítójukat ismerni? Nos, azért, mert vezérelni akarjuk a folyamatokat! Ha pl. a gépünk nagyon lassú, lehet, hogy túl sok processzt futtatunk egyszerre. A kevésbé fontosakat jó lenne terminálni, lelőni. Lehet, hogy szinkronizálni akarjuk a folyamataink futását. Egyik eredményét fel akarhatjuk használni a másik bemenetelére. Hasznos, ha látjuk a processzeinket. Jegyezzük még meg, hogy grafikus felhasználói felületekkel dolgozva is "látjuk" a processzeket! Ikonként látjuk őket, kinyitott ablakukat látjuk, tudjuk, hogy léteznek, kezeljük őket A felhasználói kezelői felület A felhasználói felület (a gépkezelő felület, a parancsértelmező) is egy (esetleg több) processz. Manapság alapvetően két osztályuk van: (Interaktív/kötegelt) parancsértelmező processz a felület. Ilyen pl., az MS-DOS parancsértelmező processze (a command.com fut benne), a VAX/VMS DCL-je (Digital Command Language), ilyenek a Unix burkok (sh, ksh, bash, csh, tcsh stb.) A parancsértelmezők használhatók alfanumerikus terminálokról (akár emulált terminálokról is). A parancsértelmezős felület alesete a menüvezérelt felület. 13

22 Grafikus felhasználói felület (GUI, Graphical User Interface) Pl. az MS-DOS MS-Windows 3.1, a Windows 2000 grafikus felülete stb., a VAX/VMS DECWindows felülete, a Unix munkaasztalok (Desktop), a CDE (Common Desktop Environment) stb. Ezekhez természetesen grafikus terminálok kellenek! Lássuk be a következőket A gép kezelése során van egy "parancsnyelvünk" (command language), amin megfogalmazzuk a parancsainkat. A kezelő folyamatnak pedig van egy "válasznyelve" (respond language), amin adja a válaszokat: ez lehet egy hibaüzenet, egy nyugtázás stb. Tulajdonképpen a grafikus objektumok manipulálásán alapuló kapcsolattartáskor is felfedezzük a parancsnyelvi és a válasznyelvi elemeket! Talán egyszerűbbek itt a válasznyelvi elemek: az ablakok, nyomógombok, legördülő menük, ikonok stb. A parancsnyelvi elemek pedig itt: a kijelölések, kiválasztások (kattintások, kettős kattintások, a vonszolás stb.). Mi a különbség a kötegelt és az interaktív kapcsolattartás között? Történelmi sorrend szerint a kötegelt kapcsolattartás alakult ki előbb. A kötegelt kapcsolattartásban a felhasználó valahogy el van választva a processzei (taszkjai) futásától. Nem tudja, mikor futnak azok, nem tud a futásuk közben beavatkozni. Előre meg kell mondania, hogy a processzei milyen bemeneteket kérnek, az esetleges változatokra is felkészülve. Az eredményeket pedig a processzek fájlokba, esetleg nyomtatott listákba teszi, amiket a felhasználó a futási időn kívül böngészhet. Az interaktív kapcsolattartás során a processzek futása közben - a parancsnyelviválasznyelvi elemek segítségével - akár közbe is avatkozhatunk, dönthetünk a válaszokról, felelhetünk feltett kérdésekre, akár eseményeket generálhatunk a futó processzeink számára. A mai kapcsolattartó felületektől elvárjuk, hogy mind kötegelt (háttérben futó), mind interaktív használatot biztosítsanak. Vegyük észre: az operációs rendszer nem a kapcsolattartó felület és fordítva, a kapcsolattartó nem az operációs rendszer! Az operációs rendszer híd az alkalmazások - többek között a kapcsolattartó felületek - és a hardver között, míg a kapcsolattartó a felhasználót segíti, hogy a gépet kezelje, persze, az operációs rendszer szolgáltatásai segítségével. Sok rendszerben a kapcsolattartó, a burok, szorosan kapcsolódik az operációs rendszerhez (része annak), máshol pedig meglehetősen független magától az operációs rendszertől! Az eszköz és fájlrendszer A felhasználó a parancsokban gyakran használ - argumentumokként - eszköz- és fájlneveket. Az eszköz (device): szimbolikus névvel ellátott periféria, komponens. Pl. MS-DOS A: floppy eszköz COM1: soros vonal stb. VAX/VMS TT: terminál stb. 14

23 Többféle eszközosztályt ismerünk. Vannak strukturált (blokkorientált) eszközök (diszkek, szalagok stb.) Fájlrendszer (file system) képezhető rajtuk. Vannak karakter orientált eszközök (terminálok, printer vonalak stb.) Végül említenünk kell a különleges eszközöket. Ilyen pl. az óraeszköz, mely a számítógépen az idő kezelését teszi lehetővé. Az eszközök mellet látunk fájlokat is. A felhasználó (és az operációs rendszer) szemszögéből a fájl névvel ellátott, valamilyen szempontból összetartozó adatelemek együttese. A nevekre vonatkozóan lehetnek konvenciók és korlátozások. A fájloknak vannak tulajdonságaik (attribútumaik). A fájlokat alkotó adatelemek lehet bájtok (byte) vagy karakterek, szavak, rekordok. Lehet egy fájl különböző szervezettségű (organisation). Ez az adatelemeknek az adathordozón való tényleges rendezettségét jelenti. Az operációs rendszer biztosít(hat)ja a szervezettséget, és jó, ha erről a felhasználónak tudomása van. A fájl a "tartalma" szerint is osztályozható: vannak egyszerű szövegfájlok, vannak dokumentum fájlok (a szöveg mellett szerkesztésükre is vonatkozó információkkal), vannak bináris fájlok, ezen belül mondjuk végrehajtható programok, kép- és hang-fájlok, adatfájlok stb. Az operációs rendszer rutinjai különböző operációkat biztosít a fájlok elérésére a processzek számára: ezek a fájl elérések. A programozóknak kell ismerniük a különböző elérési módszereket, ráadásul az elérési lehetőségek függhetnek a szervezettségtől. Az egyszerű felhasználó nem feltétlenül foglakozik a fájl elérésekkel. Minden fájlról tudjuk, hogy melyik eszközön van. Névkonvenciók és korlátozások (restrikciók a név hosszúságra, karakterkészletre stb.) vannak az egyes operációs rendszerekben. Ezeket is ismernie kell a felhasználóknak. Ha az eddig elmondottakat átgondoljuk, a következő elképzelésünk lehet: valamely strukturált eszközön vannak fájlok, van egy fájl-halmaz. A halmazhoz fájlok tartoznak, azokat azonosíthatjuk a neveikkel. Az eddig elmondottakból nem következik az, hogy rendezni tudnánk a fájljainkat. Márpedig szeretnénk valahogy rendezni, strukturálni ezt a halmazt! Például csoportosítani, együtt kezelni bizonyos fájlokat. Ez az igény vezetett a jegyzék koncepció kialakításához. A jegyzék (katalógus, directory): egy fájl, ami bejegyzéseket tartalmaz más fájlokról. (Nevüket, elhelyezésükre utaló információkat, esetleg fájl tulajdonságokat: attribútumokat stb.). Ugyanabba a jegyzékbe bejegyzett fájlok egy csoportot alkotnak, elkülöníthetők ezzel más jegyzékbe bejegyzett fájloktól. 15

24 2.1. ábra. Bejegyzések egy jegyzékbe A mai magyar számítástechnikai nyelvben könyvtáraknak nevezik a jegyzékeket. Én nem helyeslem ezt az elnevezést, mert a könyvtár (library) fogalom egy különleges fájlra vonatkozik, amiben könyvek/tagok (members) az összetevők. Az ilyen fájlokat a könyvtárkezelő segédprogramok (librarian/ar) képesek kezelni, illetve a tárgyprogramokat, mint tagokat tartalmazó könyvtárból a futtaható programokat építő segédprogramok (linker/ task builder) képes hivatkozásokat feloldani, a makro-könytárakból az assemblerek képesek makrókat beépíteni a forrásprogramunkba. Azt hiszem azonban, szélmalomharc, ha a directory fogalom helyes magyar elnevezésért, a könyvtár szóhasználat ellen szólok, annyira elterjedt ez a szóhasználat. A 2.1. ábrán a mydir jegyzék tartalma néhány bejegyzés, többek között a myfile.c nevű fájlról, a subdir1 és a subdir2 nevű jegyzékről. Néha szokás úgy fogalmazni, hogy a myfile.c fájl a mydir jegyzékben van. Valójában a jegyzék nem tartalmazza a bejegyzett fájlokat, hanem csak a nevüket, az elhelyezkedésükre utaló információkat, esetleg egyéb attribútumaikat (méretüket, készítési dátumaikat, tulajdonosuk azonosítóit stb.). Mindenesetre a jegyzékbe való bejegyzés (a "benne van" reláció) egy szülő-gyermek reláció (lásd 2.2. ábra)! A szülő reláció egy-azegy reláció: minden fájlnak (látjuk majd az egyetlen kivételt) egy szülője van. A gyermek reláció egy-a-több reláció: egy jegyzéknek több gyermeke lehet ábra. Szülő gyermek reláció a jegyzékbe való bejegyzés kiterjesztésével többszintű hierarchikus faszerkezet alakul ki. Korszerű operációs rendszerekben - egy kivételével - minden fájl be van jegyezve egy jegyzékbe. A szülő-gyermek reláció A gyökér jegyzék az eszköz kitüntetett jegyzéke. Az a jegyzék, ami nincs bejegyezve más jegyzékbe. Kiindulópontja a hierarchikus faszerkezetnek. Kitüntetett "helyen" van az eszközön. Van szimbolikus neve, ez operációs rendszer függő: MS-DOS \ VAX/VMS [000000] Unix / 16

25 A fájl-rendszer (File System): blokk-orientált eszközre képzett, hierarchikus struktúra, melyben a fájlok azonosíthatók, kezelhetők; attribútumaik, blokkjaik elérhetők; az eszköz blokkfoglaltsága menedzselt. A fájl-rendszeren azonosíthatók a fájlok az ösvény fogalom segítségével. Az ösvény (path): szülő-gyermek relációban lévő jegyzék-nevek listája (a lista vége lehet fájlnév is), mely valamely jegyzékből kiindulva másik jegyzéket, fájlt azonosít. A listaelválasztó karakter operációs rendszer függő: MS-DOS \ VAX/VMS. Unix / Az ösvény indulhat a munkajegyzékből: ez a relatív ösvény; a gyökérjegyzékből: ez az abszolút ösvény. A munkajegyzék (aktuális jegyzék, Working Directory, default directory): az operációs rendszer által feljegyzett és ezzel kitüntetett jegyzék. Miután az operációs rendszer feljegyzi, erre nem szükséges explicite hivatkozni, ebben gyorsan tud keresni. A relatív ösvény kiindulópontja. A munkajegyzék váltható (beállítható), van erre külön parancs (rendszerint a cd parancs). Ha mégis szeretnénk hivatkozni rá, van külön szimbolikus neve. Ez a név a fájlrendszerbeli nevétől független hivatkozási lehetőséget biztosít, mindig a pillanatnyi munkajegyzéket azonosítja. A munkajegyzék szimbolikus név is operációs rendszer függő, de a három eddig említett operációs rendszerben ugyanaz:. (a dot). A szülő jegyzék (Parent Directory): egy fájl szülője. Munkajegyzékre vonatkoztatva a relatív ösvény kijelölését egyszerűsíti. A fájlrendszerbeli nevétől függetlenül, azon kívül van szimbolikus neve: MS-DOS.. VAX/VMS - Unix.. Még egy fogalom hasznos lehet, az aktuális eszköz (Default Device) fogalma. Ez az operációs rendszer által feljegyzett, ezzel kitüntetett eszköz, melyre nem kell explicite hivatkozni. Szimbolikus neve a VAX/VMS-ben van csak A felhasználók Többfelhasználós operációs rendszerekben saját magunkon kívül "látunk" más felhasználókat is. Sőt, azt is látjuk, hogy a felhasználók csoportokhoz tartoznak. 17

26 A felhasználókkal való kommunikációhoz ismernünk kell mások neveit, elektronikus levélcímüket stb. Látunk a felhasználókhoz, a csoportokhoz tartozó tulajdonossági kategóriákat (xy tulajdonosa ennek és ennek, xq csoport csoport-tulajdonosa ennek és ennek stb.). Továbbá látunk hozzáférési kategóriákat (olvasható ez és ez, írható, törölhető, kiegészíthető, futtatható stb.). A tulajdonosságok és hozzáférések szabályozottak lehetnek. Ezeket a viszonyokat ismernünk kell Számítógépes hálózatok Az önálló számítógép hasznos, hálózatba kapcsolva azonban még hasznosabb. Hálózatosítva számítógéprendszerekről beszélhetünk, nemcsak számítógépekről. Milyen számítógép hálózati osztályokat ismerünk? Az alábbiakban felsorolunk hálózati osztályokat: GAN (Global Area Network). Világra kiterjedő hálózat, nagy sávszélességgel, viszonylag nagy késleltetési időkkel jellemezhető. WAN (Wide Area Network). Sok ezer km-re kiterjedő; sávszélessége néhány Mbps-től néhány Gbps-ig terjedhet. Késleltetési ideje kisebb az GAN hálózatétól. MAN (Metropolitan Area Network). Nagyvárosra, városra kiterjedő; sávszélessége néhány 100 Mbps-től néhány Gbps-ig terjedhet. LAN (Local Area Network), 10 km-es nagyságrendben a kiterjedése, Mbps, 1-2 Gbps sávszélességek a szokásosak, kis késleltetési időkkel. VLAN (Very Local Area Network) hálózatoknak cm-m a kiterjedése; igen nagyok a sebességek A hálózatosodás motivációi Számítógép hálózatok már régen kialakultak. Eleinte a hálózatosodás mozgatórúgója az erőforrás megosztás és összevonás volt. Felsorolunk jellegzetes erőforrás megosztás-összetétel elemeket: Data Compound/Sharing (adat összetétel/megosztás). Igény a közös állományok használatára. Tipikus példa az osztott adatbázisok használata (distributed DB). Function Compound/Sharing (feladat összetétel/megosztás). Igény a költséges perifériák közös használatára. Példák: fájl szolgáltatás (file-server); drága periféria megosztása; speciális CPU igénye. Aviability Compound (lehetőség biztosítás). Igény a megbízhatóság növelésére. Pl. helyettesítő erőforrások biztosítása. Power Compound (erő összevonás). Igény a teljesítmény növelésére. Tipikus példa: párhuzamos feldolgozással gyorsítás. Load Compound (terhelés elosztás). Igény a teljesítmény növelésére. Tipikus példa: 18

27 erőforrás csúcsterhelés esetére nem terhelt erőforrások bevonása. Az erőforrás megosztás-összevonás mellet jelentős hajtóerő a számítógépes hálózatok fejlődésében a számítógépes kommunikáció (Computer Mediated Communication). Ma már ez szinte nagyobb hajtóerő, mint az erőforrás megosztás-összetétel! Igény van a kommunikációra. Az elektronikus levelezés, fájlok átvitele, a WEB böngészés és információszerzés ma már természetes igénye a művelt embernek, és ez piacot, igényt jelent a hálózatok fejlesztőinek A hálózatok összetevői Minden számítógép hálózatban vannak számítógépek, melyek a felhasználói programokat (alkalmazásokat) futtatják. Ezeket gazda (host) gépeknek nevezhetjük. Lehetnek bennük végberendezések (terminálok), amik a kapcsolattartást segítik. Gyakori, hogy a végberendezésen magát a gazda gépet értik, ilyenkor a terminál a gazda géphez tartozó valami. Az egyes végberendezéseket alhálózatok kötik össze, amik átviteli vonalakból és kapcsolóelemekből tevődnek össze. A kapcsolóelemek speciális számítógépek (vagy szokásos gazdagépek, de speciális feladattal is), melyek a hozzájuk befutó vonalak logikai vagy fizikai összekapcsolását végzik. Mindenesetre, mikor hálózatba kapcsolt számítógéprendszert akarunk "igénybe venni", valójában egy terminál (vagy egy számítógép, aminek vannak terminálként viselkedő perifériái) ülünk, és annak segítségével használjuk a rendszert Számítógéprendszer igénybevétele Leülve egy számítógéprendszer (valójában terminál) elé két dolgot kell csinálnunk. Néha az egyik, vagy akár mindkettő "elmarad", de éreznünk kell, hogy van ez a két dolog! A végső klasszikus célunk az, hogy ellenőrzött módon bejelentkezzünk egy gazda gépre, és annak szolgáltatásait, erőforrásait egy felhasználói felületen (parancsértelmező folyamaton, vagy grafikus interfészen át) használjuk. Az a két dolog a következő két gondból fakad: Melyik gazda gépre akarunk bejelentkezni? Milyen szolgáltatását igényeljük? Hogy lehet ellenőrzötten bejelentkezni? Ezek után a két dolog: kapcsolat létesítése és ülés (viszony) létesítése Kapcsolat létesítése (Connection) Célja: létesüljön vonal (kapcsolat) egy géphez (induljanak processzek, amik támogatják ezt a kapcsolatot, segítik a későbbi "ülés" (session, viszony) létesítését), hogy ezen a vonalon (ülés létesítése után) igénybe vehessük a szolgáltatást. Az indult processzek "kezelik" a létesített virtuális vonalat, a kapcsolatot. A kapcsolat létesítéséhez meg kell mondani, melyik gazda géppel akarjuk létesíteni a kapcsolatot, és milyen szolgáltatást akarunk igénybe venni. A kapcsolat létesítésében fontosak a hálózat kapcsolóelemein futó processzek is, de végső soron legfontosabb a cél gazda gépen futó, a kapcsolatot fogadó és gondozó processz. Ez a processz Unix-nál: az init processz, illetve ennek tty és login gyermeke. Az egyik leggyakoribb kapcsolatlétesítési indító ok a távoli géphasználat (távolról akarunk egy gépet kezelni a rendszer parancsértelmezőjén át). Tudomásul véve, hogy létezik más célú 19

Számítógép architektúrák. Bemutatkozom. A tárgy címe, célja. Számítógépek, számítási modellek

Számítógép architektúrák. Bemutatkozom. A tárgy címe, célja. Számítógépek, számítási modellek Számítógép architektúrák Számítógépek, számítási modellek Bemutatkozom Dr. Vadász Dénes, tanszékvezető egyetemi docens vadasz@iit.uni-miskolc.hu http://www.iit.uni-miskolc.hu/~vadasz Informatikai Intézet

Részletesebben

Számítógépek, számítógép rendszerek

Számítógépek, számítógép rendszerek Számítógépek, számítógép rendszerek Jegyzet Dr. Vadász Dénes Miskolc, 2005. február TARTALOM TARTALOM... a A tárgy célja... 1 1. Számítógép történet... 3 1.1. Számológépek ókortól az ötvenes évekig 3

Részletesebben

Számítógépek architektúrák. Bemutatkozom. A tárgy célja. Architektúrák

Számítógépek architektúrák. Bemutatkozom. A tárgy célja. Architektúrák Számítógépek architektúrák Architektúrák Bemutatkozom Dr. Vadász Dénes, egyetemi docens vadasz@iit.uni-miskolc.hu http://www.iit.uni-miskolc.hu/~vadasz Informatikai Intézet épülete, I. emelet, 111. szoba

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

A számítástechnika fejlődése

A számítástechnika fejlődése A számítástechnika fejlődése Az 1600-as évektől kezdődően az emberek igyekeztek olyan gépeket építeni, melyek megkönnyítik a számolást. A számítógépek fejlődését nagy lépésekben követjük. Az egymástól

Részletesebben

Számítógépek architektúrák. Architektúrák

Számítógépek architektúrák. Architektúrák Számítógépek architektúrák Architektúrák Bemutatkozom Dr. Vadász Dénes, egyetemi docens vadasz@iit.uni-miskolc.hu http://www.iit.uni-miskolc.hu/vadasz Informatikai Intézet épülete, I. emelet, 111. szoba

Részletesebben

A fejlődés megindulása. A Z3 nevet viselő 1941-ben megépített programvezérlésű elektromechanikus gép már a 2-es számrendszert használta.

A fejlődés megindulása. A Z3 nevet viselő 1941-ben megépített programvezérlésű elektromechanikus gép már a 2-es számrendszert használta. Kezdetek A gyors számolás vágya egyidős a számolással. Mind az egyiptomiak mind a babilóniaiak számoló táblázatokat használtak. A helyiérték és a 10-es számrendszer egyesítése volt az első alapja a különböző

Részletesebben

Számítógépek felépítése

Számítógépek felépítése Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák

Részletesebben

Informatika érettségi vizsga

Informatika érettségi vizsga Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés

Részletesebben

Számítógépes munkakörnyezet II. Szoftver

Számítógépes munkakörnyezet II. Szoftver Számítógépes munkakörnyezet II. Szoftver A hardver és a felhasználó közötti kapcsolat Szoftverek csoportosítása Számítógép működtetéséhez szükséges szoftverek Operációs rendszerek Üzemeltetési segédprogramok

Részletesebben

Számítógépek felépítése, alapfogalmak

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés

Részletesebben

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. 6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. Neumann elv: Külön vezérlő és végrehajtó egység van Kettes

Részletesebben

Jacquard szövőgépe, vezérlési modulok használata 1805 lyukkártyás vezérlés

Jacquard szövőgépe, vezérlési modulok használata 1805 lyukkártyás vezérlés Az emberek ősidők óta törekednek arra, hogy olyan eszközöket állítsanak elő, melyek könnyebbé teszik a számolást, ilyen pl.: kavicsok, fadarabok, zsinórokra kötött csomók, fák, földre vésett jelek voltak.

Részletesebben

Számítógép felépítése

Számítógép felépítése Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége

Részletesebben

Számítógép architektúrák. A felhasználó látásmódja. Felhasználó a terminál előtt. Mit lát a felhasználó? Szolgáltatások

Számítógép architektúrák. A felhasználó látásmódja. Felhasználó a terminál előtt. Mit lát a felhasználó? Szolgáltatások Számítógép architektúrák Mit lát a felhasználó? Szolgáltatások A felhasználó látásmódja A hardverből a terminált látja Képernyő (megjelenítő) Billentyűzet Mutató eszköz A lényegesebb látnivalók absztrakt

Részletesebben

Fejezetek az Információ-Technológia Kultúrtörténetéből

Fejezetek az Információ-Technológia Kultúrtörténetéből Fejezetek az Információ-Technológia Kultúrtörténetéből Kezdeti elektronikus számítógépek kultúrtörténete ITK 7/58/1 Számológép - számítógép? Lady Ada Lovelace (1815-1852). Charles Babbage (1791-1871) ITK

Részletesebben

Számítógépek architektúrák. Architektúrák

Számítógépek architektúrák. Architektúrák Számítógépek architektúrák Architektúrák Bemutatkozom Dr. Kovács Szilveszter, egyetemi docens szkovacs@iit.uni-miskolc.hu http://www.iit.uni-miskolc.hu/~szkovacs Tel: +36 46 565-136 Informatikai Intézet

Részletesebben

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés . Számítógépek működési elve Bevezetés az informatikába. előadás Dudásné Nagy Marianna Az általánosan használt számítógépek a belső programvezérlés elvén működnek Külső programvezérlés... Vezérlés elve

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer 1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------

Részletesebben

Számítógépek architektúrák. Architektúrák

Számítógépek architektúrák. Architektúrák Számítógépek architektúrák Architektúrák Bemutatkozom Dr. Vadász Dénes, egyetemi docens vadasz@iit.uni-miskolc.hu http://www.iit.uni-miskolc.hu/vadasz Informatikai Intézet épülete, I. emelet, 111. szoba

Részletesebben

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Az informatika története (ebből a fejezetből csak a félkövér betűstílussal szedett részek kellenek) 1. Számítástechnika

Részletesebben

OPERÁCIÓS RENDSZEREK. Elmélet

OPERÁCIÓS RENDSZEREK. Elmélet 1. OPERÁCIÓS RENDSZEREK Elmélet BEVEZETÉS 2 Az operációs rendszer fogalma Az operációs rendszerek feladatai Csoportosítás BEVEZETÉS 1. A tantárgy tananyag tartalma 2. Operációs rendszerek régen és most

Részletesebben

A számolás és a számítástechnika története. Feladat:

A számolás és a számítástechnika története. Feladat: A számolás és a számítástechnika története Kezdetektől, a huszadik század közepéig Feladat: Milyen eszközöket használtak a számoló/számítógépek megjelenése elo tt a számolás segítésére? Kik készítettek

Részletesebben

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor Ismerkedjünk tovább a számítógéppel Alaplap és a processzeor Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív

Részletesebben

Az informatika fejlődéstörténete. A számítástechnika kezdetei

Az informatika fejlődéstörténete. A számítástechnika kezdetei Az informatika fejlődéstörténete A számítástechnika kezdetei A mechanikus számológépek a mechanikus golyós számológépek az abakusz i.e. 2000-től Fogaskerekes számológépek Schickard 1623 négy alapművelet

Részletesebben

IT - Alapismeretek. Feladatgyűjtemény

IT - Alapismeretek. Feladatgyűjtemény IT - Alapismeretek Feladatgyűjtemény Feladatok PowerPoint 2000 1. FELADAT TÖRTÉNETI ÁTTEKINTÉS Pótolja a hiányzó neveket, kifejezéseket! Az első négyműveletes számológépet... készítette. A tárolt program

Részletesebben

Programozás alapjai. Wagner György Általános Informatikai Tanszék

Programozás alapjai. Wagner György Általános Informatikai Tanszék Általános Informatikai Tanszék Hirdetmények (1) Jelenlevők: műsz. informatikusok progr. matematikusok A tantárgy célja: alapfogalmak adatszerkezetek algoritmusok ismertetése Követelményrendszer: Nincs:

Részletesebben

1. Fejezet: Számítógép rendszerek. Tipikus számítógép hirdetés

1. Fejezet: Számítógép rendszerek. Tipikus számítógép hirdetés 1. Fejezet: Számítógép The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda

Részletesebben

Számítógép architektúrák. Bevezetés

Számítógép architektúrák. Bevezetés Számítógép architektúrák Bevezetés Mechanikus számológépek Blaise Pascal (1642) Gottfried Willhelm von Leibniz báró (~1676) Összeadás, kivonás Mai négyműveletes zsebszámológépek mechanikus őse Charles

Részletesebben

3. óra Számrendszerek-Szg. történet

3. óra Számrendszerek-Szg. történet 3. óra Számrendszerek-Szg. történet 1byte=8 bit 2 8 =256 256-féle bináris szám állítható elő 1byte segítségével. 1 Kibibyte = 1024 byte mert 2 10 = 1024 1 Mebibyte = 1024 Kibibyte = 1024 * 1024 byte 1

Részletesebben

Processzor (CPU - Central Processing Unit)

Processzor (CPU - Central Processing Unit) Készíts saját kódolású WEBOLDALT az alábbi ismeretanyag felhasználásával! A lap alján lábjegyzetben hivatkozz a fenti oldalra! Processzor (CPU - Central Processing Unit) A központi feldolgozó egység a

Részletesebben

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák) 1. tétel A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei Ismertesse a kommunikáció általános modelljét! Mutassa be egy példán a kommunikációs

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix 2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.

Részletesebben

A számítástechnika rövid története

A számítástechnika rövid története Budapest XIV. Kerületi Németh Imre Általános Iskola, 1148 Bp. Lengyel u.23. számítástechnika - informatika oktatás A számítástechnika rövid története Tartalomjegyzék 1. A számolást segítő eszközök története,

Részletesebben

3. óra Számrendszerek-Szg. történet

3. óra Számrendszerek-Szg. történet 3. óra Számrendszerek-Szg. történet 1byte=8 bit 2 8 =256 256-féle bináris szám állítható elő 1byte segítségével. 1 Kibibyte = 1024 byte mert 2 10 = 1024 1 Mebibyte = 1024 Kibibyte = 1024 * 1024 byte 1

Részletesebben

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázis-kezelő rendszerek. dr. Siki Zoltán Adatbázis-kezelő rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati

Részletesebben

A számítógép egységei

A számítógép egységei A számítógép egységei A számítógépes rendszer két alapvető részből áll: Hardver (a fizikai eszközök összessége) Szoftver (a fizikai eszközöket működtető programok összessége) 1.) Hardver a) Alaplap: Kommunikációt

Részletesebben

Programozás alapjai Bevezetés

Programozás alapjai Bevezetés Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma

Részletesebben

IT - Alapismeretek. Megoldások

IT - Alapismeretek. Megoldások IT - Alapismeretek Megoldások 1. Az első négyműveletes számológépet Leibniz és Schickard készítette. A tárolt program elve Neumann János nevéhez fűződik. Az első generációs számítógépek működése a/az

Részletesebben

Adatok ábrázolása, adattípusok

Adatok ábrázolása, adattípusok Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában

Részletesebben

Adatbázis rendszerek. dr. Siki Zoltán

Adatbázis rendszerek. dr. Siki Zoltán Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti

Részletesebben

1. Fejezet: Számítógép rendszerek

1. Fejezet: Számítógép rendszerek 1. Fejezet: Számítógép The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda

Részletesebben

ismerd meg! A PC vagyis a személyi számítógép

ismerd meg! A PC vagyis a személyi számítógép ismerd meg! A PC vagyis a személyi számítógép A számítógép elsõ ránézésre A PC az angol Personal Computer rövídítése, jelentése: személyi számítógép. A szám í- tógépek rohamos elterjedésével a személyi

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás: 2012. 09. 06. 1 A tantárggyal kapcsolatos adminisztratív kérdésekkel Micskei Zoltánt keressétek. 2 3 4 5 6 7 8 9 Forrás: Gartner Hype Cycle for Virtualization, 2010, http://premierit.intel.com/docs/doc-5768

Részletesebben

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak Hálózatok Alapismeretek A hálózatok célja, építőelemei, alapfogalmak A hálózatok célja A korai időkben terminálokat akartak használni a szabad gépidők lekötésére, erre jó lehetőség volt a megbízható és

Részletesebben

A szoftverfejlesztés eszközei

A szoftverfejlesztés eszközei A szoftverfejlesztés eszközei Fejleszt! eszközök Segédeszközök (szoftverek) programok és fejlesztési dokumentáció írásához elemzéséhez teszteléséhez karbantartásához 2 Történet (hw) Lyukkártya válogató

Részletesebben

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép

Részletesebben

ÉRETTSÉGI TÉTELCÍMEK 2018 Informatika

ÉRETTSÉGI TÉTELCÍMEK 2018 Informatika Budapesti Egyetemi Katolikus Gimnázium és Kollégium ÉRETTSÉGI TÉTELCÍMEK 2018 Informatika Reischlné Rajzó Zsuzsanna Szaktanár Endrédi Józsefné Igazgató Kelt: Budapest, 2018. március 1. tétel A kommunikáció

Részletesebben

Alapismeretek. Tanmenet

Alapismeretek. Tanmenet Alapismeretek Tanmenet Alapismeretek TANMENET-Alapismeretek Témakörök Javasolt óraszám 1. Történeti áttekintés 2. Számítógépes alapfogalmak 3. A számítógép felépítése, hardver A központi egység 4. Hardver

Részletesebben

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja. A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja. A hálózat kettő vagy több egymással összekapcsolt számítógép, amelyek között adatforgalom

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output 1 Input/Output 1. I/O műveletek hardveres háttere 2. I/O műveletek szoftveres háttere 3. Diszkek (lemezek) ------------------------------------------------ 4. Órák, Szöveges terminálok 5. GUI - Graphical

Részletesebben

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED BASH bevezetés, script írása, futtatása Operációs rendszerek 4. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Processzusok (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észletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás: 2011. 09. 08. 1 A tantárggyal kapcsolatos adminisztratív kérdésekkel Micskei Zoltánt keressétek. 2 3 4 5 6 7 8 9 10 11 12 13 14 Erősen buzzword-fertőzött terület, manapság mindent szeretnek

Részletesebben

A SZÁMÍTÓGÉP TÖRTÉNETE

A SZÁMÍTÓGÉP TÖRTÉNETE A SZÁMÍTÓGÉP TÖRTÉNETE A számolást segítő eszközök története egyidős az emberiség történetével. Az ősember az ujjait használta a számoláshoz. Később a számoláshoz köveket, fonalakat használtak, az eredményt

Részletesebben

Ez egy program. De ki tudja végrehajtani?

Ez egy program. De ki tudja végrehajtani? Császármorzsa Keverj össze 25 dkg grízt 1 mokkás kanál sóval, 4 evőkanál cukorral és egy csomag vaníliás cukorral! Adj hozzá két evőkanál olajat és két tojást, jól dolgozd el! Folyamatos keverés közben

Részletesebben

1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat

1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat 1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat 2. Mit tudsz Blaise Pascalról? Ő készítette el az első szériában gyártott számológépet. 7 példányban készült el.

Részletesebben

elektronikus adattárolást memóriacím

elektronikus adattárolást memóriacím MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása

Részletesebben

INFORMATIKA E42-101 I. előadás Facskó Ferenc egyetemi adjunktus Adat Információ Adat: a világ állapotát leíró jel Információ: adat értelmezési környezetben (dimenzió, viszonyítás) Tudás: felhalmozott,

Részletesebben

Mértékegységek a számítástechnikában

Mértékegységek a számítástechnikában Mértékegységek a számítástechnikában BIT legkisebb adattárolási egység Értékei lehetnek: 0,1. Bájt= 8 BIT a számítógép számára egységesen kezelhető legkisebb egység. (Bit,) Bájt, KiloBájt, MegaBájt, GigaBájt,

Részletesebben

Számítógépek felépítése, alapfogalmak

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd SZE MTK MSZT lovas.szilard@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? Nem reprezentatív felmérés kinek van

Részletesebben

Számítógépes hálózatok

Számítógépes hálózatok 1 Számítógépes hálózatok Hálózat fogalma A hálózat a számítógépek közötti kommunikációs rendszer. Miért érdemes több számítógépet összekapcsolni? Milyen érvek szólnak a hálózat kiépítése mellett? Megoszthatók

Részletesebben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Processzusok (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észletesebben

A mikroprocesszor felépítése és működése

A mikroprocesszor felépítése és működése A mikroprocesszor felépítése és működése + az egyes részegységek feladata! Információtartalom vázlata A mikroprocesszor feladatai A mikroprocesszor részegységei A mikroprocesszor működése A mikroprocesszor

Részletesebben

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási

Részletesebben

Az Informatika Elméleti Alapjai Dr. Kutor László. A számolás korai segédeszközei A korszerű számítógépek kialakulása

Az Informatika Elméleti Alapjai Dr. Kutor László. A számolás korai segédeszközei A korszerű számítógépek kialakulása Az Informatika Elméleti Alapjai Dr. Kutor László A számolás korai segédeszközei A korszerű számítógépek kialakulása http://mobil.nik.bmf.hu/tantargyak/iea.html Felhasználónév: iea Jelszó: IEA07 IEA2/1

Részletesebben

Az Informatika Elméleti Alapjai Dr. Kutor László. A számolás korai segédeszközei A korszerű számítógépek kialakulása

Az Informatika Elméleti Alapjai Dr. Kutor László. A számolás korai segédeszközei A korszerű számítógépek kialakulása Az Informatika Elméleti Alapjai Dr. Kutor László Számolás az ujjakon 2. (Kína- India) A számolás korai segédeszközei A korszerű számítógépek kialakulása http://mobil.nik.bmf.hu/tantargyak/iea.html Felhasználónév:

Részletesebben

Számítógépes alapismeretek

Számítógépes alapismeretek Számítógépes alapismeretek 0. (meta) előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Programtervező Informatikus BSc 2008 /

Részletesebben

Hálózati ismeretek. Az együttműködés szükségessége:

Hálózati ismeretek. Az együttműködés szükségessége: Stand alone Hálózat (csoport) Az együttműködés szükségessége: közös adatok elérése párhuzamosságok elkerülése gyors eredményközlés perifériák kihasználása kommunikáció elősegítése 2010/2011. őszi félév

Részletesebben

Az informatika fejlõdéstörténete

Az informatika fejlõdéstörténete Az informatika fejlõdéstörténete Elektronikus gépek A háború alatt a haditechnika fejlõdésével felmerült az igény a számítások precizitásának növelésére. Több gépet is kifejlesztettek, de ezek egyike sem

Részletesebben

Operációs rendszerek

Operációs rendszerek Operációs rendszerek? Szükségünk van operációs rendszerre? NEM, mert mi az alkalmazással szeretnénk játszani dolgozni, azért használjuk a számítógépet. IGEN, mert nélküle a számitógépünk csak egy halom

Részletesebben

Operációs rendszerek gyak.

Operációs rendszerek gyak. Operációs rendszerek gyak. Linux alapok III., Bash Cirok Dávid Hirling Dominik Szegedi Tudományegyetem Cirok.David@stud.u-szeged.hu Hirling.Dominik@stud.u-szeged.hu Linux alapok III., Bash 1 Linkelés 2

Részletesebben

Operációs rendszerek. Bemutatkozá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

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás:2011. 09. 29. 1 2 4 5 MMU!= fizikai memóriaillesztő áramkör. Az utóbbinak a feladata a memória modulok elektromos alacsonyszintű vezérlése, ez sokáig a CPU-n kívül a chipset északi hídban

Részletesebben

Hálózatok I. A tárgy célkitűzése

Hálózatok I. A tárgy célkitűzése Hálózatok I. A tárgy célkitűzése A tárgy keretében a hallgatók megismerkednek a számítógép-hálózatok felépítésének és működésének alapelveivel. Alapvető ismereteket szereznek a TCP/IP protokollcsalád megvalósítási

Részletesebben

chmod umask chown, chgrp

chmod umask chown, chgrp 5. Gyakorlat chmod umask chown, chgrp csak a tulajdonos tudja átállítani ezeket a jogokat r=4, w=2, x=1 pl:r+x=5 s-setuid bit /root jogosultságot igénylőprogramokhoz (u=rwxs) chmod 751 proba.txt chmod

Részletesebben

A hardver fejlődése A mechanikus számítógépektől a szuperszámítógépekig 2. előadás

A hardver fejlődése A mechanikus számítógépektől a szuperszámítógépekig 2. előadás A hardver fejlődése A mechanikus számítógépektől a szuperszámítógépekig 2. előadás "Jósolni nagyon nehéz. Különösen a jövőre nézve. (Churchill) A Számítógépek története Három fontos korszak: 1. Mechanikus

Részletesebben

Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel)

Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel) Pannon Egyetem Villamosmérnöki és Információs Rendszerek Tanszék Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel) 1. tétel: Neumann és Harvard számítógép architektúrák összehasonlító

Részletesebben

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás? Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii

Részletesebben

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL) SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL) SZÁMÍTÓGÉP Olyan elektronikus berendezés, amely adatok, információk feldolgozására képes emberi beavatkozás nélkül valamilyen program segítségével. HARDVER Összes műszaki

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon Mi az IMDG? Nem memóriában futó relációs adatbázis NoSQL hagyományos relációs adatbázis Más fajta adat tárolás Az összes adat RAM-ban van, osztott

Részletesebben

Az operációs rendszer szerkezete, szolgáltatásai

Az 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észletesebben

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES Számítógép = Univerzális gép! Csupán egy gép a sok közül, amelyik pontosan azt csinálja, amit mondunk neki. Hardver A számítógép

Részletesebben

Az interrupt Benesóczky Zoltán 2004

Az 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

Bepillantás a gépházba

Bepillantás a gépházba Bepillantás a gépházba Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív memória: A számítógép bekapcsolt

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

Informatika szóbeli vizsga témakörök

Informatika szóbeli vizsga témakörök KECSKEMÉTI MŰSZAKI SZAKKÉPZŐ ISKOLA, SPECIÁLIS SZAKISKOLA ÉS KOLLÉGIUM 6000 Kecskemét, Szolnoki út 31., Telefon: 76/480-744, Fax: 487-928 KANDÓ KÁLMÁN SZAKKÖZÉPISKOLA ÉS SZAKISKOLÁJA 6000 Kecskemét, Bethlen

Részletesebben

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc 4. fejezet Fordítók felépítése Grafikus Processzorok Tudományos Célú Programozása Fordítók Kézzel assembly kódot írni nem érdemes, mert: Egyszerűen nem skálázik nagy problémákhoz arányosan sok kódot kell

Részletesebben

3. Az elektronikus számítógépek fejlődése napjainkig 1

3. Az elektronikus számítógépek fejlődése napjainkig 1 2. Az elektronikus számítógépek fejlődése napjainkig Vázold fel az elektronikus eszközök fejlődését napjainkig! Részletesen ismertesd az egyes a számítógép generációk technikai újdonságait és jellemző

Részletesebben

Hálózati rendszerek adminisztrációja JunOS OS alapokon

Hálózati rendszerek adminisztrációja JunOS OS alapokon Hálózati rendszerek adminisztrációja JunOS OS alapokon - áttekintés és példák - Varga Pál pvarga@tmit.bme.hu Áttekintés Általános laborismeretek Junos OS bevezető Routing - alapok Tűzfalbeállítás alapok

Részletesebben

Informatika. 3. Az informatika felhasználási területei és gazdasági hatásai

Informatika. 3. Az informatika felhasználási területei és gazdasági hatásai Informatika 1. Hírek, információk, adatok. Kommunikáció. Definiálja a következő fogalmakat: Információ Hír Adat Kommunikáció Ismertesse a kommunikáció modelljét. 2. A számítástechnika története az ENIAC-ig

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő

Részletesebben

Informatikai Rendszerek Alapjai. A számolás korai segédeszközei A korszerű számítógépek kialakulása

Informatikai Rendszerek Alapjai. A számolás korai segédeszközei A korszerű számítógépek kialakulása Informatikai Rendszerek Alapjai Dr. Kutor László A számolás korai segédeszközei A korszerű számítógépek kialakulása http://uni-obuda.hu/users/kutor/ 2015. ősz Óbudai Egyetem, NIK Dr. Kutor László IRA 9/37/1

Részletesebben

Operációs rendszerek Folyamatok 1.1

Operá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észletesebben

Központi vezérlőegység

Központi vezérlőegység Központi vezérlőegység A számítógép agya a központi vezérlőegység (CPU: Central Processing Unit). Két fő része a vezérlőegység (CU: Controll Unit), ami a memóriában tárolt program dekódolását és végrehajtását

Részletesebben

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

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

Részletesebben

A számítógép története (olvasmány)

A számítógép története (olvasmány) A számítógép története (olvasmány) A számítógép szóról általában a számítás, a számolás jut elsőként az eszünkbe. A számítások gépesítésének története megelőzi a számítógép történetét. Számolást segítő

Részletesebben

Digitális technika VIMIAA01 9. hét

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

Részletesebben