Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet összehozni egy...

Hogyan lehet összehozni egy saját operációs rendszert? Az ötlet megvan, hogyan kell hozzákezdeni, ha még nem nagyon próbálkozunk ilyesmivel?

Figyelt kérdés
Én és barátom arra gondoltunk, hogy jó lenne egy saját op. rendszer, és ki is találtunk egy egész jót, hogyan lehetne összehozni?

2013. márc. 6. 16:58
1 2 3 4
 11/38 iostream ***** válasza:
Utolsó: lehet nem multitask oprendszert is írni, az mondjuk egy dimenzióval egyszerűsíti a feladatot.
2013. márc. 7. 09:35
Hasznos számodra ez a válasz?
 12/38 anonim ***** válasza:

Ne is gondoljatok ilyenekre, hogy multitasking, meg bármi ilyesmit képesek lesztek összehozni első nekifutásra.


Szvsz először bőven elég lesz próbálkozni azzal, hogy a boot folyamat során valami saját kódot lefuttattok, mondjuk egy boot-olható pendrive-ról, pl. kiíratjátok console-ban a képernyőre, h. hello world, és ennyiből fog állni az egész "operációs rendszeretek".

Nektek még ez is több napi/heti guglizás/tanulás lesz szerintem, legalábbis, ha érteni is akarjátok, hogy PONTOSAN mit csináltok. Márpedig ebben a témában az nélkülözhetetlen.

Ha ezek után nem ment el tőle a kedvetek, akkor lehet egy lépéssel továbblépni, pl. bekérni valamilyen inputot a user-től, aztán azt visszaecho-zni. Aztán még valami nagyon apró kis dolog, pl. megvalósítani rendszer-idő kiírást egy adott inputra, pl. beírja a user, h. today, és visszadobja a BIOS-ban beállított rendszeridőt. Aztán még egy kis apróság. És még egy. Így egyre többet és többet tanultok meg a hardverek működéséről, és végül talán össze tudtok hozni valami nagyon minimál DOS-szerű dolgot.

De ez is hónapok/évek munkája lesz, és rengeteg tanulás.

2013. márc. 7. 11:59
Hasznos számodra ez a válasz?
 13/38 anonim ***** válasza:

Kedves utolsó:

annyi megjegyzésem van a dolgokhoz, hogy azért nem apróság visszechozni a stanard inputról bevitt dolgokat.

Nekem megvan Andrew Tannenbaum és Albert S Woodfull Operációs rendszerek című könyve( igaz 15 éves, és a minix operációs rendszerről szól( a linux elődjéről)

olyan durván 1300 sor megoldani azt,hogy amikor írunk az megjelenjen a képernyőn, és itt most nincs szó feladatütemezésről, csak simán a consolse kezelésről:

-billetnyűzet

-monitoron megjelenik a szöveg amir írtak.

Persze lehet nem túl korszerű a megoldás, de 1300 sor tömény c kód, és 200 sor assamby utasítás értelemzése, hát nem most fognak eljutni idáig.

2013. márc. 7. 12:29
Hasznos számodra ez a válasz?
 14/38 anonim ***** válasza:

"azért nem apróság visszechozni a stanard inputról bevitt dolgokat"

Feature-nek elég apróság. Az egy dolog, hogy írni kell hozzá X mennyiségű kódot. De ennél egyszerűbbet nem tudtam kitalálni a hello world utáni köv. lépésnek :)

2013. márc. 7. 14:10
Hasznos számodra ez a válasz?
 15/38 anonim ***** válasza:
Mennyiségre 1300 sornyi kód amúgyis még a házifeladat-szint..
2013. márc. 7. 14:11
Hasznos számodra ez a válasz?
 16/38 anonim ***** válasza:

Igaz végül is, de azért ajánlotta ma multi-taskot, mert egy egyfeladatos egyfelhasználós rendszer az életben nem lesz képes kihasználni a processzort teljes egészében.

Pont emiatt fejlődött ki az utóbbi.

Bár nekik még nem lényeg, hisz jó lenne eljutni odáig, hogy tudjanak mindenek előtt egy

-bootolható lemezt készíteni, ezt csak assamblyben lehet( c-ben még nem találtam sehol)

-Illetve a bootolható rutinból egy programot megtudjanak hívni, ami tartalmazza tartalmazza a ram memcpy, malloc függvény teljes implementációját( ugyanis mivel nincs op rendszer ezt is nekik kell evégezniük), valamint a képernyőre írjanak egy drivert, amivel ki tudnak jelezni szöveget. És erre jön a printf teljes implementációja)

Ennyiből állna a Hello World feladat.



Azért akik kitalálták valszeg egy Hello World program után akarnak nekiállni egy ilyennek, ezért sokalottam az 1300 sort.

2013. márc. 7. 14:46
Hasznos számodra ez a válasz?
 17/38 anonim ***** válasza:

"Azért akik kitalálták valszeg egy Hello World program után akarnak nekiállni egy ilyennek, ezért sokalottam az 1300 sort."


Na igen, én pont azért írtam ezt a hello world op.rendszert, mert mire idáig eljutnak, rájönnek majd, hogy ez sokkal de sokkal bonyolultabb, mint ahogy elképzelik most :)

2013. márc. 7. 15:16
Hasznos számodra ez a válasz?
 18/38 anonim ***** válasza:

De hogy kérdező konkrét kérdésére válaszoljak, hogy mi kell hozzá:

1.) Kell egy virtuális gép:

egyrészt mivel sokszor fogjátok újraindítani a gépet a próbálkozásaitok során, és az nem mindig kedves az embernek, ezért jó ha virtuális gépben próbálkoztok. Másrészt. mivel a hardvert közvetlenül programozzátok és könnyen okozhattok akár hardverhibát is ezért jó ha "csak a virutális gépet" teszitek tönkre. Emiatt mindenképpen szükség van rá. Erre szolgáló programok:

VirtuálBox <= nyilt forráskódú Pc emulátor

VmWare Player <== szerintem az egyik legjobb virtuális gép, bár túl sok "szól" bele

Virtual PC <== microsoftos program ugyanezeket tudja még nem használtam.


-Kell egy netwide assember( nasm), mivel sokmindent kell assamblyben írni. Bár tény, hogy a c fordító is tud assamblyből fordítani, de azért nem árt ha van, másrészt van neki disassemblere, ezért hibajavításkor mást nem ellenörzés közben látjátok, hogy mit csináltatok.

-Kell egy debugger. Ezzel közvetlenül meg tudjátok nézni a regiszterek állapotát ha szükséges, így ismét tudtok hibát javítani.

-Kell egy régi dos-os program ami exe2bin névre hallgat. Ezzel exe-ből tudtok bin állományokat csinálni. A rendszerbetöltő exe-re fordul, majd abból kell bináris állományt készíteni, ugyanis ezt ismeri fel a bios a bootolás közben.

-Nem árt egy ultraiso, vagy egyéb iso fájl szerkeztő. Ugyanis létre kell hozni egy iso fájlt, abba beletenni a bin állományt, majd abba a további programokat. Ezt tudjátok "megetetni" a virtuális géppel. Magyarán az isoról tudtok bootolni( már csak ezért is jó, mert nem kell elcseszni erre több száz db cd-t, vagy nem kell erre rendszeresíteni egy pendrive-ot( ami nem hinném, hogy célszerű lenne, ugyanis a programok amik bootolható teszik a pendrive-ot gyakran belenyúlnak a telepítőbe és mivel a saját operációs rendszeretek se nem windows se nem linux ezért csak gubanc lehet belőle.)

2013. márc. 7. 15:17
Hasznos számodra ez a válasz?
 19/38 anonim ***** válasza:
10 a DOS mióta többfeladatos? hogy jönnek ide a multitaszk problémák? a kérdezőnek meg a válasz egyébként, hogy felejtse el, kb szűk 1 év alatt meg lehet írni valami abszolút bios és gépfüggő sz.art amin legfeljebb a saját programjaid fognak futni. az időd 90% pedig olyan dolgok megírásával fog eltelni, amit már rég megoldottak mások (scrollozás, memóriakezelés, harddisc kezelés, képernyőkezelés, akármi). pontosan miért is akarsz oprendszert írni?
2013. márc. 7. 19:08
Hasznos számodra ez a válasz?
 20/38 anonim ***** válasza:
zolex123 válasza: a képernyőre bekérés és kiírás során az az ezer sor kód a konkrétan 3 darab BIOS megszakítás meghívása lenne? 12 bájt kb. légyszi ne írj hülyeségeket
2013. márc. 7. 19:10
Hasznos számodra ez a válasz?
1 2 3 4

Kapcsolódó 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

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!