A gépi nyelv hogyan tud lefutni, és elindítani a processzort?
"Ez eszetlen nagy baromság már bocs. Ez kb. a 8 bites mikroprocikra volt igaz valamikor kb. 45-50 évvel ezelőtt. Égtelen szamárság és tévedés."
Nyilván, ha alacsony szintre kell nyúlni, akkor minden épeszű fejlesztő a C-t választja...
De mi van ha egy compiler működését szeretném debuggolni? Mi van ha decompilolok egy futtatható állományt, és beszeretnék valami hegeszteni/patchelni? Mi van a legacy kódokkal, ahol Assemblyt használnak pl. régebbi driverekben? Mi van a NAGYON-NAGYON limitált beágyazott rendszerekkel, apró mikrocontrollereken vagy régi banki mainframekkel?
Ezért is írtam, hogy "Ha értesz hozzá, sokkal gyorsabb és kevesebb erőforrást fogyasztó programot írhatsz.". Sokkal nagyobb a kontrollod a számítógép felett, viszont tudni kell, hogy mit csinálsz.
"Pl. hiába írok gépi kódban egy programot ha az olyan "szinten" fut akkor ott védelmi exception fog történni ha olyat akartok tenni ami számomra nem engedélyezett. Ezt ki is használják a "modern" operációs rendszerek (úgy nagyjából 1960-as évek közepe óta). Ez megfelelő hardver támogatás nélkül nm működik (ld. pl. unixoknál a "segmentation fault" vagy a windowsnál a "general proteciton fault" hibaüzenetek ha túl címzek). De lehetnek olyan utasítások is amiket pl. egy felhasználó ki sem adhat a programjából, mert azt csak másik szinten lehet végre hajtani. Mondjuk erről heteket lehet beszélni."
Alapvetően jó dolgokat írsz, de a fent idézettek jó nagy hülyeségek. Látszik, hogy megelégedtél egy gyenge kettes szinvonallal és kész. Az 1960-as években nem létezett még processzor sem. Védett mód meg csak szoftveresen lett kialakítva, már ahol. Akkor még Unix sem volt. A védett mód a 286-ossal jelent meg és használhatóvá a 386-os processzorban vált. De az, amit állítasz, még így sem igaz, mert a régi programokkal való kompatibilitás megkivánta, hogy bizony, futtatható legyen minden utasítás, ezért aztán meg is született a virtuális mód, a valós és a védett mód mellé. A GPF meg a segfault sem feltétlenül azért következik be, amit te sugallsz.
Eleve, a windows memóriavédelme tisztán szoftveres, de ha jól rémlik, a linuxé is.
Az meg szintén hülyeség, hogy azt állítod, egy asm-ben írt programot ne lehetne futtatni. Hát a hw meghajtókat szerinted hogy futtatják? Csak mert azok többsége is ring 0-ban (kernel mód) fut.
" Az 1960-as években nem létezett még processzor sem." Már hogy ne létezett volna. Elég sok cég gyártott, csak akkora volt mint 2-3 ruhás szekrény.
"Védett mód meg csak szoftveresen lett kialakítva, már ahol. " Ld. pl. korai unix rendszerek pl. PDP család. IBM 360 és 370 család (a 360-ra nem emlékszem, de a 370-ben már biztosan megvolt). Az hogy a mikroszámítógépek mindenféle 8 bites mikro processzorai és az 8086-80286-386 hogyan alakult az egy irtózatosan kis szelete a processzoroknak.
"Eleve, a windows memóriavédelme tisztán szoftveres, de ha jól rémlik, a linuxé is." Erre légyszíves egy megbízható forrást mutass!
"Az meg szintén hülyeség, hogy azt állítod, egy asm-ben írt programot ne lehetne futtatni. Hát a hw meghajtókat szerinted hogy futtatják? Csak mert azok többsége is ring 0-ban (kernel mód) fut." Átlag felhasználót írtam. És normál esetben a kernelen kívül más nem futhat ring 0 (vagy nevezzük bárminek az adott környezetben) és normális operációs rendszer esetén a kernelt nem tudja piszkálni átlag felhasználó (nem a unix és a linux és windows nem tartozik ilyen téren a normális oprendszerek közé, sem egyetlen egy unix alapú vagy unix klón rendszer sem).
" Már hogy ne létezett volna. Elég sok cég gyártott, csak akkora volt mint 2-3 ruhás szekrény."
A mai értelembe vett, tokozott processzor nem létezett. DTL TTL logikák voltak akkoriban, ilyenekből állítottak össze programozható gépeket, adat feldolgozókat. Ezek, mármint az egész gépek voltak processzorok (PDP), de mai értelemben vett procik akkor még nem léteztek.
Én akkoriban (1960-) még nem léteztem, de tisztában vagyok a kor lehetőségeivel.
A Unix az 1970-es évek terméke. Ilyen dolgok, amiről te írsz, 1974 előtt nem léteztek. Még időosztásos rendszer (1969-) is alig alig volt. Ebből következik, hogy szükség sem igen volt állomány vagy programvédelemre.
"Átlag felhasználót írtam."
Itt nem felhasználóról, hanem programokról volt szó.
1974 előtt nem léteztek:
RSX-15 multi user real-time operációs rendszer 1970.
RSX-11 multi user real-time operációs rendszer 1972.
Central Processing Unit (CPU - magyarul processzor):
IBM 360-nál már egyértelműen így nevezték 1964 (!) Betűvel is leírom hátha gy átmegyen az üzenete ezer-kilencszázhatvannégy azaz hatvan négy!!! Pontosaqn 10 évvel az általad megjelölt idő pont előtt már létezett processzor. amivel te kevered az a mikro processzor. És nem véletlenül nevezték el mikro processzornak.
"Még időosztásos rendszer (1969-) is alig alig volt." Ld. pl IBM360-on így is nevezték 1967 (!) igaz itt csak 2 évet tévedtél...
OS360-ban már bőven létezett multi programozás, azaz egy időben több program volt képes együtt futni a gépen (1966 /még egy év/).
1972-ben már mind a DEC mind az IBM környezetben virtuális memória létezett (ehhez meg már vastagon kellenek védelmi mechanizmusok).
És 1972-ben már létezett virtuális gép (VM/370 néven). Évekkel el vagy tévedve. És itt azért a pár év az számított nem is keveset.
És még egy kis kiegészítés:
"Memory Protection Option KX09A Ez a feature lehetővé teszi az előtér/háttér környezet aktivitásának elhatárolását a rendszer memória "védett (alsó)" és "nem védett (felső)" régió között."
És a kézikönyv innen kezdve még kb. 1,5 oldalon keresztül sorolja a memória védelem (hardveres) kialakítását. Az idézet a PDP-9 számítógép 1968(!) júniusában megjelent kézikönyvéből származik. És ez nem szoftveres hanem hardveres megoldás és megint legalább 1 évvel korábbi annál a legrégebbi dátumnál amit ide írtál. Pont az volt a lényege, hogy a háttérben (background, lower) partícióban futó oprendszer és a felhasználói program elválasztható legyen egymástól. És ha az ember oda címzett ahova nem kellett volna egyszerűen ez a funkció (hardveresen!) lelőtte az egész cuccot. Mondom még egyszer 1968(!)-ban már biztosan létező dolog volt.
"A „PDP” elnevezést szándékosan választották, hogy elkerüljék a „computer” szót a termékek nevében – mindezt azért, mert a befektetők (különösen Georges Doriot) nem támogatták volna, hogy a cég „computereket”, „számítógépeket” gyártson, mivel azokat hatalmas, bonyolult és drága gépezeteknek képzelték el"
Voltak akkoriban nagy gépek, kis gépek, mini gépek és mikrogépek.
A processzor, mint fogalom, nem létezett. Computer volt minden gép. Ezt, hogy processzor a DEC hozta be a köztudatba, a saját gépeivel, amelyek elég népszerűek voltak.
A mikrogépekbe is így kerültek MIKRO-processzorok, amleyek maguk voltak a computerek, mivel a MIKRO-processzoron és néhány periféria áramkörön kívül egyebet nem is tartalmaztak.
27: De létezett a processzor fogalom. Nem a DEC hozta be, ha jól emlékszem /most utána kéne nézzek/, hogy valamikor az 50-es évek végén jelent meg, és talán a Ferranti Mark-I-nél jelent meg (amikor kereskedelmi forgalomba került a gép). Mire az IBM 360 sorozat elterjedt (sokan ezt az időszakot mérföldkőnek tekintik, az "ős" és a "modern" számítógépek között, mert abban az időben jelentek meg sorra azok a gépek amik gyakorlatilag a mai napig "léteznek", és nem csak az IBM-nél, hanem a DEC-nél, XEROX-nál és egy rakás más cégnél. Pl. amit már hivatkoztunk PDP sorozat amin a Unix született és annak a történetét már ismerjük). Akkor már mindenki processzornak nevezte a processzort.
Nekem az egyik legrégebbi könyvem ami magyar nyelven megvan, az a Számítástechnikai Kislexikon (1973-ban jelent meg fordításban, az eredeti Német, de nincs benne az eredeti kiadás évszáma). Már egyértelműen processzorról ír.
"Ilyen dolgok, amiről te írsz, 1974 előtt nem léteztek." Annyira nem, hogy egy 1973-ban magyarra fordítva megjelent könyvben szerepelnek. És rögtön a processzort követő oldalon szerepel benne a "privilegizált utasítás" fogalma is. És ez már egy magyarra fordított könyv (ld. fent a hivatkozását). És akkor azért egy ideig eltartott amíg lefordították, nyomda alá rendezték, szedték kiadták.
1955-1956: TX-0: Transistorized Experimental computer zero, korai teljesen tranzisztoros felépítésű számítógép.[18][19][20][21] Jellemzői: 64K 18 bites szó, ferritmagos memória, kb. 3600 Philco nagyfrekvenciás felületi záróréteges tranzisztor (barriertranzisztor), órajele 100 kHz körüli, a PDP-1 elődje.
1957 júliusa: Japán, ETL Mark III.
1957, Kanada: DRTE Computer - tranzisztoros, 40 bites, órajele 200 kHz.
1956–1958 májusa: Mailüfterl, Bécsi Műszaki Egyetem: korai tranzisztoros számítógép, 3000 tranzisztor, 5000 dióda.
1960: DEC PDP-1: tranzisztoros számítógép, 2700 tranzisztort és 3000 diódát tartalmaz.[22] Jellemzői: 18 bites szó, alapkiépítésben 4 kiloszó (64 kiloszóig bővíthető) méretű ferritmagos memória, lyukszalagos bemenet, kb. 187 kilohertzes órajel.
1958: RCA 501 - teljesen tranzisztoros közepes- és nagyszámítógépek, nyomtatott áramkörös panelekkel készült.
1969: első Holdra szállás: Apollo Guidance Computer, az első integrált áramkörökkel felépített számítógép.
1970: 1970 júniusában lezárult, és elkészült az MP944-es csipkészlet, egy egyedi tervezésű, nagy integráltságú (LSI), MOS-alapú mikroprocesszor-csipkészlet, amely megelőzte az első mikroprocesszorok megjelenését, és képességeiben messze felülmúlta azokat. A csipekben 20 bites, fixpontos törtrészeket használó kettes komplemens számábrázolást alkalmaztak, 28 csip alkotott egy teljes fedélzeti számítógépet.
1971: A Texas Instruments 1971. szeptember 17-én mutatta be a TMS 1000-es sorozat első tagját, a TMS1802NC jelű csipet, amely egy teljes számológép-alkalmazást tartalmazó 4 bites maszkprogramozott mikrovezérlő.
Tehát itt a dátum, a legutolsó a TMS1802NC is csak azért viselte a processzor nevet, mert tartalmazott RAM-ot és ROM-ot, azaz, önálló, komplett számítógép volt. Az más kérdés, hogy később ezek a mikroprocesszorok emiatt megkapták a mikrokontroller nevet és a RAM, ROM nélküli példányok lettek a processzorok. Ezt az időszakot megelőzően a számítógépekben nem volt olyan részegység, amit processzornak hívtak volna. Remélem megértettél.
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!