Kezdőoldal » Számítástechnika » Programozás » Hogyan kell számítógép illeszt...

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

Figyelt kérdés
Nos. Már egy ideje programozok. És szeretném ezzel mélyíteni a programozói tudásom. Minden tiszta, csak az nem, hogy férek hozzá a pci buszokon lévő illesztőkártyák belső utasításkészletéhez. C-ben gondoltam ezt el. Jaj és linuxon írnám. Mivel az nyílt forráskódú, és úgy bütykölöm ahogy akarom. Esetleg tudnátok olyan weboldalakat, dokumentációkat, ahol megszerezhetem a szükséges tudást? Esetleg még hajlanék a kernel programozás felé, tehát a későbbiekben oprendszert is szeretnék készíteni, ha megfelelő tudást szerzek. Tudom. Ez hosszú idő lesz, de 18 éves vagyok. Előttem az élet. Szóval van időm. :) A válaszokat előre is köszönöm. :)
2017. júl. 5. 23:13
 1/9 anonim ***** válasza:
44%
Ha annyira van időd akkor miért nem találod ki magadtól? Büszke leszel magadra tőle.
2017. júl. 5. 23:14
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Próbálkoztam. :) Mindig csakis kizárólag végső esetben teszek fel itt kérdéseket.
2017. júl. 5. 23:15
 3/9 anonim ***** válasza:
Nekem írhatnál egy Windows 10-es illesztőprogramot a régi webkamerámhoz, mert utoljára XP alatt működött :D.
2017. júl. 5. 23:58
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

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

[link]

2017. júl. 5. 23:58
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
91%

Két példa:


[link]

[link]


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.

2017. júl. 6. 22:24
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

É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!

2017. júl. 7. 09:05
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
Ide nem olyanok járnak, akik értenének hozzá. Vedd fel a kapcsolatot azokkal, akik részt vesznek egy ilyen projektben, ők tudnának mesélni.
2017. júl. 7. 09:21
Hasznos számodra ez a válasz?
 8/9 Hominida ***** válasza:
Oprendszer, ez azért elég nagy falat. Először csinálj egy interpretert vagy compilert, akár általad kitalált nyelvhez is, és aztán azon a nyelven írj néhány kis programot. Rengeteget fogsz tanulni belőle.
2017. júl. 8. 02:08
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

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.

2017. júl. 10. 16:08
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!