Pitanje uopšte nije glupo. Pisanje jednostavnog operativnog sistema poput DOS-a danas nije posebno težak zadatak, ali iziskuje jako dobro poznavanje računarskog hardvera i asemblera. Deluje mi da si početnik i ovo jeste pitanje koje početnici postavljaju (štaviše, ja sam se pitao isto pre 8 godina baš ovde i pokušavao da napravim sopstveni OS dok nisam shvatio da je to daleko teže nego što sam mislio i da još nisam dorastao tome).
Ako sam u pravu i nemaš nekog iskustva u programiranju, savetujem ti da nastaviš da učiš prvo to. Zašto? Zato što ćeš krenuti da radiš na OS-u, naići ćeš na gomilu bazičnih stvari koja su neophodna predznanja i bićeš samo još više isfrustriran na kraju i možda i u potpunosti bataliti programiranje. Ako se još nisi odlučio po pitanju jezika počni sa C-om. Naučićeš dosta stvari koje će ti biti korisne kasnije šta god da odlučiš da radiš u budućnosti.
Za pisanje OS-a nije dovoljno samo da znaš neki programski jezik već kao što sam rekao da dobro poznaješ hardver računara, da znaš barem osnove asemblera, da se dobro snalaziš u terminalu (veoma je poželjno da imaš iskustva sa Linux-om ili nekim drugim UNIX-like operativnim sistemom), osnovno razumevanje kako funkcionišu operativni sistemi (dakle šta je bootloader, kernel (i razlike između monolitnih kernela, mikrokernela, egzokernela i modularnih kernela), shell, real / protected mode, fajlsistem, kako rade procesi, niti itd). Puno puno teorije a i pored poznavanja svega toga nećeš moći da napraviš nešto spektakularno sam jer su operativni sistemi projekti u koje su uložene decenije ljudskog rada stručnjaka iz najrazličitijih oblasti.
Ako želiš da napraviš nešto najjednostavnije čisto da otprilike iskusiš kako to izgleda u praksi za neki sistem poput DOS-a, baci pogled na ovaj tutorijal:
https://github.com/cfenollosa/os-tutorial
Tu su fino objašnjene neke osnove koje sam naveo gore i možeš na brzaka da se poigraš čisto da ispuniš sebi želju, ali za bilo šta naprednije trebaće ti mnogo više čitanja i rada. Ako ipak odlučiš da ozbiljno želiš da se posvetiš tome najbolji resurs za to ti je OSDev Wiki.
|