Cum să faci un sistem de operare pentru computer (cu imagini)

Cuprins:

Cum să faci un sistem de operare pentru computer (cu imagini)
Cum să faci un sistem de operare pentru computer (cu imagini)

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

Video: Cum să faci un sistem de operare pentru computer (cu imagini)
Video: Cum facem un upgrade gratuit de la windows 7 la Windows 10 cu licenta 2024, Noiembrie
Anonim

Sistemul de operare permite utilizatorului să interacționeze cu hardware-ul computerului. Sistemul este alcătuit din sute de mii de linii de cod. De obicei, sistemul de operare este realizat folosind limbajele de programare C #, C, C ++ și de asamblare. Sistemul de operare vă permite să navigați pe computer în timp ce salvați și executați comenzi. Nu credeți că este ușor să creați un sistem de operare. Este nevoie de o mulțime de cunoștințe pentru a le realiza.

Etapa

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

Pasul 1. În primul rând, aflați despre programare

Limbajul asamblării este foarte important; este foarte recomandat să învățați un alt limbaj complementar la nivel înalt, cum ar fi limbajul C.

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

Pasul 2. Decideți ce suport media doriți să utilizați pentru a încărca sistemul de operare

Acest suport poate fi un CD, DVD, flash drive, hard disk, dischetă sau alt computer.

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

Pasul 3. Definiți ideea de bază a unui SO

De exemplu, pe Windows, ideea de bază este o interfață grafică ușor de utilizat și multă securitate.

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

Pasul 4. Stabiliți ce platformă de procesor va suporta sistemul dvs. de operare

IA-32, ARM și x86_64 sunt cele mai comune platforme pentru computerele personale. Deci, toate sunt cea mai bună alegere.

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

Pasul 5. Decideți dacă preferați să faceți totul de la zero sau dacă există deja un nucleu disponibil pe care doriți să îl construiți

De exemplu, Linux de la zero este un proiect pentru oamenii care doresc să își construiască propria distribuție Linux.

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

Pasul 6. Decideți dacă veți folosi propriul încărcător de încărcare sau unul pre-construit, cum ar fi Grand Unified Bootloader (GRUB)

Codificarea propriu-zisă a bootloaderului va necesita cunoștințe extinse despre hardware și BIOS. Ca urmare, acest pas poate împiedica programarea reală a programării nucleului.

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

Pasul 7. Decideți ce limbaj de programare să utilizați

Este bine să ai un sistem de operare într-un limbaj precum Pascal sau BASIC, dar ar trebui să folosești C sau Assembly. Asamblarea este foarte necesară, deoarece unele părți importante ale unui sistem de operare necesită acest lucru. Pe de altă parte, limbajul C ++ conține cuvinte cheie care necesită alte SO complete pentru a rula.

Pentru a compila un sistem de operare din codul C sau C ++, desigur, veți folosi un compilator sau altul. Prin urmare, este o idee bună să consultați ghidul de utilizare / manualul / documentația pentru compilatorul C / C ++ la alegere, indiferent dacă este inclus în software sau disponibil pe site-ul distribuitorului. Trebuie să știți o mulțime de lucruri complicate despre compilator și, pentru dezvoltarea C ++, trebuie să știți despre schema de manipulare a compilatorului și ABI-ul acestuia. Vă așteptați să înțelegeți diferitele formate executabile (ELF, PE, COFF, binar de bază etc.) și să înțelegeți că formatul exclusiv Windows, PE (.exe), este protejat prin drepturi de autor

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

Pasul 8. Definiți interfața de programare a aplicației (API)

Un API bun dintre care puteți alege este POSIX, deoarece este bine documentat. Toate sistemele Unix au suport cel puțin parțial pentru POSIX. Așadar, conectarea programelor Unix la sistemul dvs. de operare ar trebui să fie ușoară.

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

Pasul 9. Decideți-vă designul

Există un kernel monolitic și un micro kernel. Kernelurile monolitice implementează toate serviciile din kernel, în timp ce micro kernel-urile au kerneluri mici la pachet cu serviciile de implementare a demonului utilizatorului. Î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 10
Realizați un sistem de operare pentru computer Pasul 10

Pasul 10. Luați în considerare dezvoltarea și lucrul în echipă

În acest fel, este nevoie de mai puțin timp pentru a rezolva mai multe probleme, ceea ce probabil va accelera construirea unui sistem de operare mai bun.

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

Pasul 11. Nu ștergeți complet hard diskul

Amintiți-vă, ștergerea unei unități va șterge toate datele de pe ea ireversibil! Utilizați GRUB sau un alt manager de boot pentru a porni dublu sistemul cu un alt sistem de operare până când sistemul dvs. de operare este complet funcțional.

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

Pasul 12. Începeți mic

Începeți cu lucruri mici, cum ar fi afișarea textului și pauza înainte de a trece la lucruri precum gestionarea memoriei și munca compusă. De asemenea, asigurați-vă că faceți versiunile pe 32 și 64 de biți.

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

Pasul 13. Păstrați o copie de rezervă a ultimului cod sursă de lucru

Acest pas este util ca măsură de protecție în cazul în care ceva nu merge bine cu versiunea curentă a SO sau a dezvoltării. Dacă computerul se blochează și nu pornește, este o idee bună să aveți o a doua copie cu care să lucrați, astfel încât să puteți remedia problema.

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

Pasul 14. Luați în considerare testarea noului 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 după ce ați trimis fișiere de pe computerul de dezvoltare pe computerul de testare, puteți utiliza o aplicație de computer virtual pentru a vă rula sistemul de operare în timp ce sistemul dvs. de operare actual rulează. Aplicațiile VM actuale includ: VMWare (care are și un produs server disponibil gratuit), alternative open source, Bochs, Microsoft Virtual PC (nu este compatibil cu Linux) și Oracle VirtualBox.

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

Pasul 15. Lansați „lansarea candidatului” sau versiunea beta

Acest pas va permite utilizatorului să vă anunțe despre potențialele probleme ale sistemului dvs. de operare.

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

Pasul 16. Sistemul de operare ar trebui, de asemenea, să fie ușor de utilizat

Asigurați-vă că adăugați funcții ușor de utilizat, faceți din acestea o parte integrantă a designului dvs.

sfaturi

  • Verificați dacă există blocaje potențiale și alte erori. Erori, blocaje și alte probleme vă vor afecta proiectul de construire a sistemului de operare.
  • Asigurați-vă că implementați caracteristicile de securitate ca prioritate maximă dacă doriți ca sistemul să ruleze corect.
  • Folosiți site-uri web precum OSDev și OSDever pentru a vă ajuta să vă dezvoltați propriul sistem de operare. Vă rugăm să rețineți că, în majoritatea scopurilor, comunitatea OSDev.org va fi mai mult decât fericită dacă folosiți wiki-ul lor și nu vă veți alătura forumului. Dacă decideți să vă alăturați unui forum, există o condiție prealabilă: trebuie să știți cu adevărat despre C sau C ++ și limbajul de asamblare x86. De asemenea, ar trebui să înțelegeți concepte generale și complexe de programare, cum ar fi Listele legate, Cozile etc. Comunitatea OSDev, în regulamentele sale, afirmă în mod explicit că comunitatea sa nu este creată pentru a hrăni noi programatori.
  • Nu vă alăturați cu forumul OSDev.org și apoi puneți întrebarea evidentă. Vi se va cere doar să citiți ghidul. Citiți Wikipedia și instrucțiunile pentru orice echipament doriți să utilizați.
  • Dacă încercați să dezvoltați un sistem de operare, sunteți cu siguranță considerat „zeul” programării.
  • De asemenea, ar fi trebuit să citiți manualul procesorului pentru arhitectura procesorului pe care ați selectat-o; dacă x86 (Intel), ARM, MIPS, PPC etc. Manualele pentru arhitecturile procesorului sunt ușor de găsit folosind o căutare Google („manual Intel”, „manual ARM” etc.).
  • După finalizarea tuturor lucrărilor de dezvoltare, decideți dacă doriți să eliberați codul ca cod deschis sau prin drepturi de autor.
  • Nu începe un proiect de sistem de operare pentru a începe învățarea programării. Dacă nu știți din interior și din afară despre C, C ++, Pascal sau un alt limbaj adecvat, inclusiv manipularea indicatorului, manipularea de biți de nivel scăzut, schimbarea de biți, limbaje de asamblare în linie etc., nu sunteți pregătit pentru sistemul de operare dezvoltare.
  • Crearea unei partiții complet noi pentru a „extinde” SO ar putea fi o opțiune bună.
  • Dacă doriți o modalitate ușoară, luați în considerare distribuțiile Linux precum Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD sau SUSE Studio și SUSE KIWI. Cu toate acestea, sistemul de operare pe care îl creați aparține companiei care a început serviciul mai întâi (deși aveți dreptul să îl distribuiți liber, să îl modificați și să îl executați după cum doriți în GPL).

Avertizare

  • Nu veți obține un sistem de operare complet în termen de două săptămâni. Începeți cu un SO bootabil, apoi treceți la lucruri mai cool.
  • Scrierea neglijentă a sistemului de operare pe un hard disk îl poate deteriora complet. Atenție.
  • Dacă faceți ceva care nu este recomandat, cum ar fi scrierea octeților aleatori pe porturile I / O aleatorii, vă veți bloca sistemul de operare și (în teorie) ar putea să vă arde hardware-ul.
  • Nu vă așteptați ca sistemul de operare să fie ușor de construit. Există o mulțime de interdependențe complicate. De exemplu, pentru a crea un sistem de operare capabil să gestioneze mai multe procesoare, Managerul de memorie trebuie să aibă un mecanism de „blocare” pentru a împiedica mai multe procesoare să acceseze aceeași resursă în același timp. „Blocarea” utilizată pentru aceasta ar necesita un programator pentru a se asigura că un singur procesor accesează resursele critice la un moment dat și toți ceilalți trebuie să aștepte. De fapt, programatorul depinde de prezența Managerului de memorie. Acesta este un exemplu de dependență fără fund. Nu există o modalitate standard de a rezolva acest tip de problemă; se așteaptă ca fiecare programator de sistem de operare să fie suficient de priceput pentru a-și cunoaște propriul mod de a face față acestuia.

Resurse aditionale

  • Linii directoare: Linux From Scratch
  • Bootloader: GRUB
  • Aplicații de mașini virtuale: Bochs, VM Ware, XM Virtual Box.
  • Manual procesor: manual Intel
  • Site-uri de dezvoltare SO: OSDev, OSDever

Recomandat: