Hogyan kell számítógép illesztőprogramokat (esetleg oprendszert) írni?















Nem használod túl hatékonyan a google-t ezek szerint... :D





Két példa:
Illetve egy könyvecske: Andrew S. Tannenbaum - Modern Operating Systems
A helyzet viszont az, hogy rossz irányból közelíted meg a dolgot. Ezzel legfeljebb érintőlegesen "mélyítheted" a fejlesztői tudásod. Jó móka, a világért sem akarlak eltántorítani tőle, de bármilyen magabiztosnak is érezd magad, 18 évesen szinte biztos, hogy sok dolgot nem tudsz még ami fontos lenne, és amit az OSDev témájú anyagok nem fognak elédtárni (számos ismeretet pedig az online tutorialok nemes egyszerűséggel rosszul adnak meg).
Ezért is ismétlik oly' sokszor, hogy vaskos alkalmazásfejlesztői múlttal ajánlott belevágni, ami viszont sokkal inkább takar professzionális tapasztalatot (amellyel ennyi idősen valószínűleg nem rendelkezel), mint otthon, hobbiból összerakott appocskákat - a világért sem akarok megszólni senkit, félre ne értsd, de a kettő nagyon, de nagyon más liga.
Driverrel semmiképpen ne akarj kezdeni, mert macerás. Nem csupán az aktuálisan fókuszban levő témakört kell szem előtt tartanod, de a használt operációs rendszer komplex driver modeljéhez, ABI-ához is igazodnod kell, ami tanulási célra baromi kényelmetlen és zavaró.
Ennél egyszerűbb kezdetnek egy virtuális gépen (vagy akár igazin, de az istenért se az elsődlegesen használt masinádon próbálkozz, mert akár fizikai kárt is okozhatsz a hardverben) egy flat binárist bebootolni és azzal szólítgatni a hardvert anélkül, hogy bármiféle OS útban lenne.
Ha bele is vágsz, mindenekelőtt tanulj meg jól bánni az Assembly-vel, mert azt ebben a témában nem lehet megúszni, ráadásul ezeken a vizeken erősen ajánlott a processzor és a perifériák alacsonyszintű működésének ismerete.
És feltétlenül köss közelebbi barátságot a google.hu-val! Anélkül nemhogy az OS/Driver-fejlesztés veszett fejsze nyele, de bármilyen más komolyabb szoftverfejlesztési területen meg vagy lőve.





Én csak annyit mondok, hogy ez nem egyszemélyes feladat.
Persze egyedül is össze lehet tákolni valami bohózatot.
Mire elérsz arra a szintre, hogy beboot-oljon az "operációs rendszered", és talán még pár alapvető perifériát fel is ismer, esetleg lenne egy egyszerű parancsértelmeződ, nos addigra egyrészt már nem is ilyen (Neumann-elven működő) számítógépek lesznek, hanem neuron... ...másrészt te akkor már becsajozol, gyerekeid lesznek és a további életed abban fonnyad el, hogy a feleségedet kielégítsd! :-)
Persze álmodozni mindig lehet!















Sok butaságot mondtak az előttem szólók.
Nyugodtan vágj bele, Linus Torwalds sem volt sokkal idősebb mint te, amikor elkezdte a linux operációs rendszert fejleszteni.
Az abszolút alapokhoz a fentebb ismertetett link, az osdev.org nagy segítséget biztosít, csupa hasznos forrással, ismerettel. Az végképp kamu, hogy ne írnák le jól a dolgokat.
A javasolt nyelv a c, esetleg c++. A bootoláshoz kell asm ismeret, de ezt egy kész boot szektorral (osdev.org) áthidalhatod.
Alapvetően kb. egy év, mire értékelhető eredményt érsz el, de ez persze rajtad és a jelenlegi tudásodon is múlik.
A tannenbaum féle könyvet felejtsd el, az egyelőre nem neked való.
Ami kelleni fog, az a védett mód ismerete, a lapozás, memória menedzsment, hardverek illesztése, taszk kezelés. Én azt ajánlanám, hogy az osdev.org-on lévő skeleton kernelek egyikét töltsd le, ismerd meg és az ott tanultak alapján állj neki megtervezni a sajátodat. Esetleg a minix egy korai verziójában való elmélyülés is segíthet. Linus pl. így kezdte.
Kapcsolódó 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!