A weboldal sütiket használ. A sütik megjegyzik az Ön tevékenységeit és preferenciáit a jobb online élmény érdekében. Az Ön tudta nélkül nem osztunk meg információkat harmadik felekkel.A weboldal további használatával elfogadod a COOKIE SZABÁLYZAT-unkat.
A BizUPLab IT vállalat blogján többször is beszéltünk már a különböző programozási nyelvekről és arról, hogy a számítógép hogyan érti meg a programokat.. Ma arról fogunk beszélni, hogy a számítógépek hogyan értik meg, amit egy fejlesztő ír a kód segítségével.
Bármely számítógépben van egy olyan alkatrész, amely nélkül a működése egyszerűen lehetetlen lenne. Ez egy processzor. Annak ellenére, hogy a modern processzorok meglehetősen bonyolult felépítésűek, az alapvető működési elv meglehetősen primitív. A processzor mindössze annyit tud tenni, hogy végrehajtja az általa ismert egyszerű parancsokat: összeadás, kivonás, szorzás, mozgatás és így tovább. Ezért úgy tekinthető, hogy bármely program végrehajtása a processzor által végrehajtott egyszerű műveletekre redukálódik. Ez a műveletsorozat bizonyos adatok feldolgozásához szükséges. De mik is azok az adatok egy számítógépben? Ez minden, amivel egy számítógép képes interakcióba lépni: számok, szöveg, zene, videó stb. Az adatokat a számítógép bináris kódban tárolja, és csak így tud velük dolgozni.

Hogyan értelmezi a számítógép a programokat

A program egy parancssorozat, amely valamilyen adatot dolgoz fel. Az érdekes az, hogy maga a program ugyanabban a memóriában tárolódik, mint az adatok, és ugyanabban a formában. Első pillantásra ugyanaz a nullákból és egyesekből álló sorozat, és még csak nem is különbözik az adatoktól. Alan Turing angol matematikus 1938-ban állt elő ezzel az ötlettel. Képzeljük csak el, hogy a számítógép mind a számokat, mind a műveleteket nullák és egyesek halmazaként érzékeli. Ebben az esetben például a számokat bináris rendszerben ábrázoljuk, a processzorparancsokat pedig speciális gépi kódokkal. Miután a processzor gépi kódban kap egy parancsot, megfejtheti azt, és megértheti, hogy milyen műveletet kell végrehajtani, és milyen adatokon. Így egy program alatt processzorutasítások sorozatát érthetjük, amelyek egymás utáni végrehajtása elvezet minket a kívánt probléma megoldásához.

Ezért a számítógép a következő műveletsorozatot hajtja végre:
  1. Elolvassa az utasításokat és megérti, mit kell tennie.
  2. Adatokat olvas a memóriából, ha az utasítás megköveteli az adatokkal való munkát.
  3. Végrehajtja a parancsot.
  4. Visszaírja az eredményt a memóriába.

Adatbevitel

Eleinte a parancskódokat és az adatokat manuálisan, speciális kapcsolók segítségével vitték be a memóriába, később a folyamatot lyukszalaggal javították, de ennek ellenére ez nem tette sokkal könnyebbé a munkát, és egyáltalán nem hasonlított a modern írási folyamathoz. A programozónak először meg kellett határoznia, hogy milyen parancssorozatból álljon a program, majd hogyan írja ezeket a parancsokat lyukszalagra, és csak ezután töltse be őket a számítógép memóriájába. A különböző processzorok parancskódjai azonban jelentősen eltérhetnek - jegyezték meg a BizUPLab Magyarország vezetői. Képzeld csak el: elkezdesz használni egy új processzormodellt – és az összes régi programot újra kell írni.

Processzor és programok

Az 1940-es évek végén forradalom történt az assembly nyelv megjelenésével. Valójában az ezen a nyelven írt programok ugyanazok a gépi utasítások voltak, de olyan formában, amelyet egy személy el tudott olvasni. Ezzel egy időben jelentek meg az assembly fordítóprogramjai. Ezek olyan programok, amelyek beolvassák a programozó által írt kódot, és gépi utasításokká alakítják. Bár ez a folyamat sokkal kényelmesebb volt a programozó számára, mégis nagyon hasonlított ahhoz, mintha közvetlenül gépi utasításokban írnánk programokat.

Természetesen a programozók olyan programozási nyelvek megjelenéséről álmodtak, amelyek közvetlenül rájuk, és nem a számítógépekre irányulnak. Ez vezetett a magas szintű programozási nyelvek megjelenéséhez. Segítségükkel olyan programokat lehetett írni, amelyek szinte függetlenek voltak egy adott processzor utasításaitól. Ezek a programozási nyelvek lehetővé teszik a programozók számára, hogy a program logikájára összpontosítsanak, ahelyett, hogy annak megvalósítására, mint egyszerű műveletek halmazára koncentrálnának.

A fordítóprogram a magas szintű nyelveken írt programokat gépi utasításokká is konvertálja. Továbbá a fordítóprogramnak tudnia kell, hogy melyik processzormodellhez generálja az utasításokat. Végül is ugyanaz a program egy magas szintű nyelven átalakítható egy másik gépi utasításkészletté. Így a programok egy fontos tulajdonságra tettek szert – a hordozhatóságra. Már nem volt szükség arra, hogy minden egyes processzorhoz újraírják a programokat; elég volt csak összeállítani őket. Ma mindez nyilvánvalónak és egyszerűnek tűnhet, de ez az evolúció évtizedekig tartott, és még mindig tart, jegyezték meg a BizUPLab kft fejlesztői.

Forradalom

Segítünk az üzletembereknek abban, hogy hatékonyan gazdálkodjanak erőforrásaikkal és szisztematikusan sikereket érjenek el.
BizUPLab Kft. Budapest, Bartók Béla út 66. 3

info@bizuplab.com
Elérhetőségeink
Szerzői jog © BizUPLab, 2023 - 2025