Cum să faci un sistem de operare pentru computer: 13 pași (cu imagini)

Cuprins:

Cum să faci un sistem de operare pentru computer: 13 pași (cu imagini)
Cum să faci un sistem de operare pentru computer: 13 pași (cu imagini)

Video: Cum să faci un sistem de operare pentru computer: 13 pași (cu imagini)

Video: Cum să faci un sistem de operare pentru computer: 13 pași (cu imagini)
Video: ► Cum Instalez un Program in Ubuntu Linux din Terminal ? | Invata Linux Ep. 14 2024, Aprilie
Anonim

Acest wikiHow vă învață cum să planificați și să dezvoltați un sistem de operare dacă nu știți cum să codificați în C sau C ++. Sistemele de operare gestionează hardware-ul computerului și furnizează resursele de care aplicațiile trebuie să ruleze. Scrierea unui sistem de operare de la zero necesită o cunoaștere puternică a informaticii, un limbaj de programare precum C sau C ++, asamblare și practici de gestionare a codului.

Pași

Partea 1 din 2: Învățarea elementelor de bază

Realizați un sistem de operare pentru computer Pasul 1
Realizați un sistem de operare pentru computer Pasul 1

Pasul 1. Faceți câteva cursuri de bază în informatică

Spre deosebire de dezvoltarea pentru web, crearea unui sistem de operare necesită o înțelegere puternică a algoritmilor, structurilor de date, hardware-ului computerului și gestionării resurselor. Oamenii obțin diplome în aceste lucruri, așa că nu vă așteptați să scrieți un întreg sistem de operare după ce ați citit un tutorial online! Cursul de introducere la informatică de la Harvard este disponibil online gratuit prin EDX.

Realizați un sistem de operare pentru computer Pasul 2
Realizați un sistem de operare pentru computer Pasul 2

Pasul 2. Aflați un limbaj de programare la nivel înalt, cum ar fi Python

Odată ce ați obținut o înțelegere solidă a informaticii, următorul pas este de a stăpâni C și / sau C ++. La fel ca învățarea despre informatică, stăpânirea unei limbi nu este opțională - nu veți putea codifica un sistem de operare dacă nu puteți scrie aplicații solide.

Dacă sunteți nou-nouț în C, consultați cursul Dartmouth C Programming: Getting Started, care este gratuit prin EDX. După ce finalizați acel curs, puteți urma următorul curs din seria: Programare C: Fundamente de limbaj. Apoi, treceți la cursuri ulterioare, cum ar fi Programare modulară și gestionarea memoriei și indicatori și gestionarea memoriei

Realizați un sistem de operare pentru computer Pasul 4
Realizați un sistem de operare pentru computer Pasul 4

Pasul 3. Aflați un limbaj de asamblare

Limbile de asamblare sunt limbaje de nivel scăzut concepute pentru a comunica cu diferite procesoare. Deoarece asamblarea este diferită pentru diferite tipuri de procesoare (de exemplu, limbajul de asamblare x86 pentru Intel, AMD, VIA și alte procesoare), va trebui să aflați versiunea pentru tipul de procesor pentru care codificați.

  • Această carte open-source, dacă este citită în întregime, vă poate oferi o înțelegere suficient de solidă pentru construirea unui sistem de operare.
  • The Art of Assembly Language este o carte foarte recomandată despre asamblare, disponibilă atât online, cât și offline.
  • De asemenea, ar trebui să faceți o mulțime de cercetări cu privire la tipul de procesor (e) pe care ar trebui să ruleze sistemul dvs. de operare. Manualele pentru arhitectura procesorului pot fi găsite cu ușurință folosind o căutare Google („manuale Intel”, „manuale ARM” etc.).
Realizați un sistem de operare pentru computer Pasul 5
Realizați un sistem de operare pentru computer Pasul 5

Pasul 4. Finalizați un tutorial de sistem de operare

Tutorialele sistemului de operare vă vor ghida prin procesul de creare a unui sistem de operare de bază. Acest lucru vă obișnuiește cu procesul și vă ajută să vă dați seama dacă există piese care vă lipsesc. După ce ați finalizat un tutorial sau două, veți fi pe drumul cel bun pentru a vă crea propriul sistem de operare.

  • Bare Bones este un tutorial care vă ajută să scrieți primul kernel simplu pe 32 de biți. După finalizarea tutorialului, următorul pas este să folosiți Meaty Skeleton pentru a vă structura propriul sistem de operare.
  • Linux de la Scratch este o carte online care vă ajută să vă creați propriul sistem de operare Linux.
  • Sistemele de operare de la 0 la 1 este o carte gratuită despre crearea diferitelor sisteme de operare de la început până la sfârșit.
Realizați un sistem de operare pentru computer Pasul 3
Realizați un sistem de operare pentru computer Pasul 3

Pasul 5. Descoperiți-vă obiectivele sistemului de operare

Ce vrei să facă sistemul tău de operare? Cum ar trebui să arate? Chiar trebuie să scrieți un întreg sistem de operare sau căutați doar să creați un anumit aspect pentru desktop? Acestea sunt toate lucrurile de luat în considerare înainte de a începe codificarea.

  • Luați în considerare dezvoltarea cu o echipă de alți programatori. A avea o echipă de dezvoltatori care lucrează la proiect va reduce semnificativ timpul de dezvoltare.
  • Adăugați obiectivele proiectului, planurile și întrebările în depozitul dvs. public, astfel încât să fie ușor pentru alții să vă ajute.

Partea 2 din 2: Construirea sistemului dvs. de operare

Distrează-te cu computerul Pasul 16
Distrează-te cu computerul Pasul 16

Pasul 1. Alegeți un mediu de dezvoltare

Aceasta este platforma pe care o veți folosi pentru a codifica noul dvs. sistem de operare. Este o chestiune de preferință personală, dar majoritatea oamenilor folosesc fie Windows, fie un gust UNIX. Dacă utilizați Windows, este o idee bună să instalați un mediu UNIX precum Cygwin sau MinGW. În general, veți dori să vă asigurați că orice mediu pe care îl utilizați include următoarele:

  • GCC (compilatorul Gnu). Dacă utilizați Windows, îl puteți instala în Cygwin sau MinGW.
  • Binutils este o colecție de instrumente utilizate pentru manipularea fișierelor obiect. Din nou, dacă utilizați Windows, îl puteți instala în Cygwin.
  • Un editor de text bun. Vim și emacs sunt utilizate în mod obișnuit în mediile UNIX. Utilizatorii Windows pot folosi Notepad sau pot consulta Notepad ++ pentru o actualizare cu mai multe file.
  • Perl și / sau Python. Una sau ambele sunt recomandate pentru manipularea șirurilor.
Realizați un sistem de operare pentru computer Pasul 13
Realizați un sistem de operare pentru computer Pasul 13

Pasul 2. Configurați sistemul de control al versiunii

Scrierea unui sistem de operare înseamnă că probabil veți crea sute (sau mii!) De linii de cod. Când lucrați la revizuiri, acest lucru poate deveni confuz. Unele opțiuni de verificat sunt CVS, Mercurial și Subversion.

Realizați un sistem de operare pentru computer Pasul 6
Realizați un sistem de operare pentru computer Pasul 6

Pasul 3. Decideți un bootloader

Dacă nu doriți să creați propriul dvs., puteți utiliza unul existent, cum ar fi Grand Unified Bootloader (GRUB). Dacă vă simțiți suficient de îndrăzneți pentru a codifica un bootloader, consultați Rolling Your Own Bootloader pe OSDev.org.

Realizați un sistem de operare pentru computer Pasul 9
Realizați un sistem de operare pentru computer Pasul 9

Pasul 4. Alegeți un design de nucleu

Nucleul este nucleul sistemului dvs. de operare, oferind o interfață între utilizator și hardware-ul computerului. Există sâmburi monolitice și micro sâmburi. Kernelurile monolitice implementează toate serviciile din kernel, în timp ce microkernelurile au un kernel mic combinat cu demonii de utilizator care implementează servicii. În general, miezurile monolitice sunt mai rapide, dar microcernelurile au o mai bună izolare și fiabilitate a defectelor.

Realizați un sistem de operare pentru computer Pasul 12
Realizați un sistem de operare pentru computer Pasul 12

Pasul 5. Începeți mic

Începeți cu lucruri mici, cum ar fi afișarea textului și întreruperile, înainte de a trece la lucruri precum gestionarea memoriei și multitasking. De asemenea, puteți încerca să creați un sistem de operare simplu pe 16 biți, în loc să faceți un salt mare.

Nu veți avea un sistem complet în două săptămâni. Începeți cu un sistem de operare care pornește, apoi treceți la lucrurile interesante

Realizați un sistem de operare pentru computer Pasul 14
Realizați un sistem de operare pentru computer Pasul 14

Pasul 6. Testați noul dvs. sistem de operare cu o mașină virtuală

În loc să reporniți computerul de fiecare dată când efectuați modificări sau să transferați fișierele de pe computerul de dezvoltare pe computerul de testare, utilizați o aplicație de computer virtual. VMWare este o opțiune obișnuită care funcționează atât cu Windows, cât și cu Linux, la fel și Bochs. Verificați eventualele blocaje și alte erori și reparați-le după cum este necesar.

Realizați un sistem de operare pentru computer Pasul 15
Realizați un sistem de operare pentru computer Pasul 15

Pasul 7. Eliberați un „candidat de eliberare

„Puteți face acest lucru încărcând codul testat în depozitul dvs. public. Acest lucru va permite oamenilor să vă testeze sistemul de operare și să raporteze orice problemă cu care se confruntă.

Distrează-te cu computerul Pasul 28
Distrează-te cu computerul Pasul 28

Pasul 8. Rețea cu alți dezvoltatori de sisteme de operare

Există o întreagă comunitate de dezvoltatori de sisteme de operare care se adună pe diferite forumuri, inclusiv / r / osdev pe Reddit și Software Engineering Stack Exchange. Unul pe care l-ați înțeles în dezvoltarea unui sistem de operare de bază, citiți postările existente pentru a vedea ce fel de lucruri apar în timpul procesului de dezvoltare.

Video - Prin utilizarea acestui serviciu, unele informații pot fi partajate cu YouTube

sfaturi

  • Asigurați-vă că implementați caracteristicile de securitate ca prioritate maximă dacă vreți vreodată ca sistemul dvs. să fie viabil.
  • După ce ați făcut toate dezvoltările, decideți dacă doriți să eliberați codul ca open source sau proprietar.
  • Pentru a face un sistem de operare capabil să gestioneze mai multe procesoare, Managerul de memorie trebuie să aibă mecanisme de „blocare” pentru a împiedica mai multe procesoare să acceseze aceeași resursă în același timp. „Blocările” utilizate pentru aceasta vor necesita prezența unui planificator pentru a vă asigura că un singur procesor accesează o resursă critică la un moment dat și că toate celelalte sunt obligate să aștepte. Cu toate acestea, programatorul depinde de prezența unui Manager de memorie. Acesta este un caz de dependență blocată. Nu există o modalitate standard de a rezolva astfel de probleme; în calitate de programator, este de așteptat să fiți suficient de priceput pentru a-și da seama de modul său de a face față acestuia.
  • Un sistem de operare poate fi și ușor de utilizat. Asigurați-vă că adăugați caracteristici ușor de utilizat, făcând din acestea o parte integrantă a designului dumneavoastră.
  • Nu vă alăturați pe forumurile OSDev.org și începeți să puneți întrebări evidente. Va rezulta pur și simplu în „Citiți manualul” răspunsuri. Ar trebui să încercați să citiți Wikipedia și manualele pentru diferitele instrumente pe care doriți să le utilizați.
  • Nu incepe un proiect de sistem de operare pentru a începe programarea. Dacă nu cunoașteți deja C, C ++, Pascal sau un alt limbaj adecvat, inclusiv manipularea indicatorului, manipularea de biți de nivel scăzut, schimbarea de biți, limbajul de asamblare în linie etc., nu sunteți pregătit pentru dezvoltarea sistemului de operare.
  • Dacă faceți ceva greșit, cum ar fi scrierea octeților aleatori pe porturile I / O aleatorii, vă veți bloca sistemul de operare și vă puteți (teoretic) prăji hardware-ul.

Recomandat: