Operációs rendszer írása?
Hogyan tudnék olyan operációs rendszert írni, ami jobb a windowsnál és a linuxnál is?
Milyen programnyelvek, programok és egyebek kellenek hozzá?
56-os, te elég sok zagyvaságot hordasz össze, talán jobb lett volna, ha eredeti szándékodhoz maradsz hű és nem válaszolsz. A windows 3.0 nem igényelt 386-os processzort és nem volt natív operációs rendszer még a későbbi változata a 3.1 vagy a 3.11 sem.
IBM DOS sem létezett soha. A PC DOS, talán erre céloztál, bájtra bitre azonos volt az MS DOS-sal, hiszen az is a Microsoft terméke volt. Csak a neve volt más. A 8086/88 tizenhat bites processzorok, soha nem voltak átmenetek. Az 5, 8 vagy a későbbi 16 Mhz mint határsebesség igenis komoly lehetett abban a korban, amiben 1 és 4 megahertz közötti órajelen hajtott, nyolc bites processzorok jelentették a konkurrenciát.
Az IBM PC jövőjét is ez alapozta meg. A többi versenytárshoz képest jelentős utasítás végrehajtási sebesség, a tizenhat bit és a húsz bites címsín.
IBM DOS létezett. Pár éve még megvolt a gyári IBM DOS felíratú floppy lemezem.
Az Intel8088 igenis átmenet (nem tisztán 16 bites proci), mert pl. a külső adatbusza 8 bites volt. Az OP CODE (néhány utasítást leszámítva) 8 bites volt, műszakilag (történelmileg) átmenet akárhogyan is próbálod védeni az ökörségedet, ez is a totális hozzá nem értésedet bizonyítja.
3. és 4. "Kezdd azzal, hogy csinálsz egy floppy lemezt, aminek a boot szektorában van egy program, ami kiírja a képernyőre, hogy "Hello, world!" és erre válasz: "A hello world az nem operációs rendszer és nem is akarom ilyesmire elpazarolni az energiáimat."
Pedig valahol ez az első lépés. Mert akkor legalább tudtál már valamit készíteni, ami bebootol és csinál valamit. Hidd el sokan már itt elvéreznek, mert nem is olyan egyszerű egy PC-t "legacy" módban elindítani, és elérni pl. azt, hogy legalább egy sort kiírjál a képernyőre (van rá kb. 200byte-od, esetleg 400 attól függően milyen MBR-t használsz, amiből csak az a string, hogy "Hello, world!" 12byte, a rendelkezésre álló terület 6%-a...).
IBM DOS nem létezett: "IBM PC-DOS was an IBM branded version of MS-DOS licensed from Microsoft for use on the IBM PC system."
Az intel 8088 pedig nem 8 hanem 16 bites processzor. Attól, hogy 8 bites az adatbusza, még nem lesz 8 bites. A belső felépítése 16 bites, a regiszterek, az ALU, minden. Az utasítások bitszélessége lehet mondjuk négy is egy 32 bites processzornál, az nem oszt, nem szoroz. Nem kéne neked éppen itt szórnod a hülyeségeidet, mert egy hozzá nem értő, rosszindulatú kontár vagy csak.
65-ös, kösz a tanácsot de én ezen már túl vagyok.
66-os, na, az tényleg jó lett volna, ha megfogadták volna a javaslatodat és nem trollkodják, szemetelik tele a threadet oldalakon keresztül, ráadásul veled együtt.
Tisztelet két kivételnek és egy harmadiknak, akit ez a díszes társaság annak ellenére pontozott le, hogy ő valóban segítségemre volt.
#60: én nem gondolom, hogy 90%ban assemblyben kéne írni.
Amit asm-ben írnék, azok szigorúan az architektúra specifikus dolgok, amikre maga a C nyelv nem ad alapból semmilyen függfényt, pl elmaszkolni minden interruptot. Ugyanakkor valószínüleg ezekböl is C függvényeket csinálnék, hogy ne kelljen mindenhová inline asm-t tenni.
Ami még sokszor elö szokott jönni, hogy performance miatt jó ötlet lehet assemblyben írni a dolgokat. Szerintem ez 30-40 éve még igaz is lehetett, de a modern compilerek ezerszer jobbak optimizálásban, mint az emberi programozók. Egy nagy projekten talán találsz egy-két helyet, ahol tudsz kézzel optimizálni, de csak elvétve.
Ha githubon megnézed a linux kernelt, ott azt írja, hogy 96% C, ~1% assembly( [link]
FreeBSD 60% C, 1.5% asm ( [link]
Persze találni ellenpéldát is.
#59 voltam
További kérdések:
Minden jog fenntartva © 2025, 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!