1
Aflați cum să programați înainte de a începe. Limba de asamblare este fundamentală, în timp ce un alt limbaj suplimentar și de nivel inferior de mare importanță, cum ar fi C, este foarte recomandat.
2
Decideți pe ce suport doriți să încărcați sistemul de operare. Poate fi o dischetă, un CD, un DVD, un pendrive, un hard disk sau chiar un alt PC.
3
Decideți ce doriți să faceți sistemul dvs. de operare. Dacă un sistem de operare completă, cu o interfață grafică cu utilizatorul (GUI) sau ceva un pic mai minimalist, trebuie să știți ce direcție vă luați înainte de a începe.
4
Decideți ce platformă de procesor va suporta sistemul de operare. Dacă nu sunteți sigur cu privire la acest lucru, cel mai bine este să se concentreze pe platforma procesor X86 (32 de biți), deoarece cele mai multe calculatoare folosesc procesoare platforma X86.
5
Decide dacă doriți să-l dezvolte complet pe cont propriu sau în cazul în care există un nucleu disponibil de la care doriți să dezvolte sistemul de operare. Linux From Scratch este un proiect pentru cei care doresc să-și creeze propria distribuție Linux, de exemplu. Consultați sfaturile pentru accesarea unei legături externe.
6
Decideți dacă veți utiliza propriul manager de boot sau unul existent, cum ar fi GRUB (Grand Unified Bootloader). Deoarece programarea propriului bootloader vă va oferi o mulțime de cunoștințe despre hardware și BIOS, acest lucru poate duce la ideea de programare a nucleului în sine. Verificați sfaturile.
7
Decideți ce limbă de programare să utilizați. Deși este posibil să creați un sistem de operare cu limbi precum Pascal sau Basic, este mai bine să folosiți o limbă precum C sau Assembly. Adunarea este absolut necesară, deoarece unele părți vitale ale unui sistem de operare o vor avea nevoie. C ++, pe de altă parte, conține câteva cuvinte cheie care necesită un sistem de operare complet dezvoltat pentru ca acesta să ruleze.
- Pentru a compila un sistem de operare din codul C sau C ++, veți folosi în mod evident un compilator sau altul. Ar trebui să citiți manualele de utilizare / documentația pentru compilatorul C / C ++ ales, indiferent dacă este comprimat cu software-ul sau disponibil pe site-ul distribuitorului. Veți avea nevoie să cunoașteți multe detalii complexe despre compilatorul dvs. și, pentru dezvoltarea C ++, ar trebui să știți despre schema de interpretare greșită a compilatorului și ABI-ul său. Este de așteptat să înțelegeți diferitele formate executabile (ELF, PE, COFF, plain binar etc.), precum și să înțelegeți că formatul proprietate al Windows PE (.exe) este protejat prin drepturi de autor.
8
Decideți ce va fi interfața de programare a aplicațiilor (API). Un bun API pe care îl alegeți este POSIX, care este bine documentat. Toate sistemele UNIX au cel puțin parțial suport POSIX, deci ar fi trivial pentru aplicațiile port UNIX în sistemul dvs. de operare.
9
Decideți cum arată designul dvs. Există kerneluri monolitice și nuclee micro. Nucleele monolitice implementează toate serviciile din kernel, în timp ce micro kernel-urile au un kernel mic combinat cu daemonii utilizatori care implementează servicii. În general, kernelurile monolitice sunt mai rapide, dar nucleul mic are o izolare mai bună a defectelor și o fiabilitate mai mare.
10
Luați în considerare efectuarea lucrărilor de dezvoltare împreună cu o echipă. În acest fel, va fi consumat mai puțin timp pentru a rezolva o cantitate mai mare de probleme, rezultând un sistem de operare mai bun.
11
Nu vă curățați complet hard disk-ul. Amintiți-vă că prin curățarea discului complet veți șterge toate datele și acest lucru este ireversibil! Utilizați Grub sau alt manager de boot pentru a utiliza sistemul de boot dual pentru a porni sistemul, precum și un alt sistem până când sistemul este complet complet și funcțional.
12
Începeți dedesubt. Începeți cu lucruri mici, cum ar fi afișarea textului și întreruperea înainte de a vă deplasa cu aspecte mai complexe, cum ar fi gestionarea memoriei și funcțiile de multitasking.
13
Păstrați o copie de rezervă a ultimului cod sursă funcțional. În cazul în care ceva nu merge în neregulă cu versiunea curentă sau dacă computerul de dezvoltare are probleme și nu poate boot sau boot, este o idee minunată să aveți oa doua copie pentru a putea continua să lucrați sau să depanați.
14
Luați în considerare testarea noului sistem de operare pe o mașină virtuală. În loc să reporniți computerul de fiecare dată când efectuați modificări sau trebuie să transferați fișierele de pe calculatorul dvs. de dezvoltare pe mașina dvs. de testare, puteți utiliza software-ul de virtualizare pentru a instala sistemul de operare pe o mașină virtuală și pentru a rula chiar dacă sistemul dvs. actual de operare continuă să se rostogolească. Aplicațiile de virtualizare includ VMWare (care are, de asemenea, o versiune gratuită pentru servere), Bochs alternativă open source, Microsoft Virtual PC (incompatibil cu Linux) și xVM VirtualBox. Consultați sfaturile pentru mai multe informații.
15
Eliberați o versiune "candidată" (cunoscută și ca un candidat de lansare sau pur și simplu RC). Acest lucru va permite utilizatorilor să vă avertizeze asupra posibilelor probleme legate de sistemul dvs. de operare.
16
Un sistem de operare poate fi, de asemenea, ușor de utilizat din punctul de vedere al utilizatorului.