Com fer un sistema operatiu d'ordinador: 13 passos (amb imatges)

Taula de continguts:

Com fer un sistema operatiu d'ordinador: 13 passos (amb imatges)
Com fer un sistema operatiu d'ordinador: 13 passos (amb imatges)

Vídeo: Com fer un sistema operatiu d'ordinador: 13 passos (amb imatges)

Vídeo: Com fer un sistema operatiu d'ordinador: 13 passos (amb imatges)
Vídeo: Беслан. Помни / Beslan. Remember (english & español subs) 2024, Abril
Anonim

Aquest wikiHow us ensenya a planificar i desenvolupar un sistema operatiu si no sabeu com codificar en C o C ++. Els sistemes operatius gestionen el maquinari de l’ordinador i proporcionen els recursos que les aplicacions necessiten per executar-se. Escriure un sistema operatiu des de zero requereix un fort domini de la informàtica, un llenguatge de programació com C o C ++, el muntatge i les pràctiques de gestió de codi.

Passos

Part 1 de 2: Aprendre els conceptes bàsics

Feu un sistema operatiu d’ordinador Pas 1
Feu un sistema operatiu d’ordinador Pas 1

Pas 1. Feu alguns cursos bàsics d’informàtica

A diferència de desenvolupar-se per al web, crear un sistema operatiu requereix un fort coneixement dels algoritmes, les estructures de dades, el maquinari de l’ordinador i la gestió de recursos. La gent obté titulacions en aquest tema, així que no espereu escriure tot un sistema operatiu després de llegir un tutorial en línia. El curs d'introducció a la informàtica de Harvard està disponible en línia a través d'EDX sense cap cost.

Feu un sistema operatiu d’ordinador Pas 2
Feu un sistema operatiu d’ordinador Pas 2

Pas 2. Apreneu un llenguatge de programació d'alt nivell com Python

Un cop tingueu una sòlida comprensió fonamental de la informàtica, el següent pas és dominar C i / o C ++. Igual que aprendre sobre informàtica, dominar un idioma no és opcional: no podreu codificar un sistema operatiu si no podeu escriure aplicacions sòlides.

Si sou nou a C, consulteu el curs de programació C de Dartmouth: Introducció, que és gratuït a través d’EDX. Un cop hàgiu completat aquest curs, podeu fer el següent curs de la sèrie: Programació C: fonaments del llenguatge. Després, passeu a cursos posteriors com ara Programació modular i Gestió de memòria i Punters i Gestió de memòria

Feu un sistema operatiu d’ordinador Pas 4
Feu un sistema operatiu d’ordinador Pas 4

Pas 3. Apreneu un llenguatge de muntatge

Els llenguatges d’assemblatge són llenguatges de baix nivell dissenyats per comunicar-se amb diferents processadors. Com que el muntatge és diferent per als diferents tipus de processadors (per exemple, el llenguatge de muntatge x86 per a processadors Intel, AMD, VIA i altres processadors), haureu d'aprendre la versió del tipus de processador que esteu codificant.

  • Aquest llibre de codi obert, si es llegeix en la seva totalitat, us pot proporcionar una comprensió prou sòlida per construir un sistema operatiu.
  • The Art of Assembly Language és un llibre molt recomanable sobre el muntatge disponible tant en línia com fora de línia.
  • També heu de fer moltes investigacions sobre el tipus de processadors en què hauria d’executar el vostre sistema operatiu. Els manuals per a l'arquitectura del processador es poden trobar fàcilment mitjançant una cerca a Google ("Manuals Intel", "manuals ARM", etc.).
Feu un sistema operatiu d’ordinador Pas 5
Feu un sistema operatiu d’ordinador Pas 5

Pas 4. Completeu un tutorial del sistema operatiu

Els tutorials del sistema operatiu us guiaran pel procés de creació d’un sistema operatiu bàsic. Això us acostuma al procés i us ajuda a esbrinar si us falten peces. Un cop hàgiu completat un tutorial o dos, estareu en bon camí per crear el vostre propi sistema operatiu.

  • Bare Bones és un tutorial que us ajuda a escriure el vostre primer nucli de 32 bits. Després de completar el tutorial, el següent pas és utilitzar Meaty Skeleton per estructurar el vostre propi sistema operatiu.
  • Linux from Scratch és un llibre en línia que us guiarà creant el vostre propi sistema operatiu Linux.
  • Els sistemes operatius de 0 a 1 és un llibre gratuït sobre la creació de diversos sistemes operatius de principi a fi.
Feu un sistema operatiu d’ordinador Pas 3
Feu un sistema operatiu d’ordinador Pas 3

Pas 5. Esbrineu els objectius del vostre sistema operatiu

Què voleu que faci el vostre sistema operatiu? Com ha de quedar? Realment necessiteu escriure tot un sistema operatiu o només voleu crear un aspecte determinat per al vostre escriptori? Tot això és necessari tenir en compte abans de començar a codificar.

  • Penseu en desenvolupar-vos amb un equip d'altres programadors. Tenir un equip de desenvolupadors que treballi al projecte reduirà significativament el temps de desenvolupament.
  • Afegiu els vostres objectius, plans i preguntes del projecte al vostre repositori públic perquè els altres us ajudin fàcilment.

Part 2 de 2: Construir el vostre sistema operatiu

Divertiu-vos amb l’ordinador Pas 16
Divertiu-vos amb l’ordinador Pas 16

Pas 1. Trieu un entorn de desenvolupament

Aquesta és la plataforma que faràs servir per codificar el teu nou sistema operatiu. És una qüestió de preferències personals, però la majoria de la gent utilitza Windows o un sabor d’UNIX. Si utilitzeu Windows, és una bona idea instal·lar un entorn UNIX com Cygwin o MinGW. Generalment, voldreu assegurar-vos que qualsevol entorn que utilitzeu inclogui el següent:

  • GCC (el compilador de Gnu). Si utilitzeu Windows, podeu instal·lar-lo a Cygwin o MinGW.
  • Binutils és una col·lecció d'eines que s'utilitzen per manipular fitxers d'objectes. Una vegada més, si utilitzeu Windows, el podeu instal·lar a Cygwin.
  • Un bon editor de text. Vim i emacs s’utilitzen habitualment en entorns UNIX. Els usuaris de Windows poden utilitzar el Bloc de notes o consultar Notepad ++ per obtenir una actualització de diverses pestanyes.
  • Perl i / o Python. Es recomana un o tots dos per a la manipulació de cadenes.
Feu un sistema operatiu d’ordinador Pas 13
Feu un sistema operatiu d’ordinador Pas 13

Pas 2. Configureu el sistema de control de versions

Escriure un sistema operatiu significa que probablement creeu centenars (o milers) de línies de codi. Quan esteu treballant en revisions, això pot resultar confús. Algunes opcions que podeu consultar són CVS, Mercurial i Subversion.

Feu un sistema operatiu d’ordinador Pas 6
Feu un sistema operatiu d’ordinador Pas 6

Pas 3. Decidiu un carregador d'arrencada

Si no voleu crear el vostre, podeu fer-ne servir un ja existent com Grand Unified Bootloader (GRUB). Si us sentiu prou agosarat per codificar un carregador d’arrencada, consulteu Com es fa servir el vostre propi carregador d’arrencada a OSDev.org.

Feu un sistema operatiu d’ordinador Pas 9
Feu un sistema operatiu d’ordinador Pas 9

Pas 4. Trieu un disseny del nucli

El nucli és el nucli del vostre sistema operatiu, ja que proporciona una interfície entre l'usuari i el maquinari de l'ordinador. Hi ha nuclis monolítics i micro nuclis. Els nuclis monolítics implementen tots els serveis del nucli, mentre que els micro nuclis tenen un nucli petit combinat amb els dimonis d’usuari que implementen serveis. En general, els nuclis monolítics són més ràpids, però els micro nuclis tenen un millor aïllament i fiabilitat de fallades.

Feu un sistema operatiu d’ordinador Pas 12
Feu un sistema operatiu d’ordinador Pas 12

Pas 5. Comenceu petit

Comenceu per coses petites com ara mostrar text i interrupcions abans de passar a coses com la gestió de memòria i la multitarea. També podeu provar de fer un simple sistema operatiu de 16 bits, en lloc de fer un gran salt.

No tindreu un sistema complet en dues setmanes. Comenceu amb un sistema operatiu que arrenca i, a continuació, aneu a les coses interessants

Feu un sistema operatiu d’ordinador Pas 14
Feu un sistema operatiu d’ordinador Pas 14

Pas 6. Proveu el vostre nou sistema operatiu amb una màquina virtual

En lloc de reiniciar l'ordinador cada vegada que feu canvis o haver de transferir els fitxers des de l'ordinador de desenvolupament a la màquina de prova, utilitzeu una aplicació de màquina virtual. VMWare és una opció habitual que funciona amb Windows i Linux, i Bochs també ho és. Comproveu si hi ha possibles bloquejos i altres errors i corregiu-los si cal.

Feu un sistema operatiu d’ordinador Pas 15
Feu un sistema operatiu d’ordinador Pas 15

Pas 7. Allibereu un "candidat d'alliberament"

Podeu fer-ho carregant el vostre codi provat al vostre dipòsit públic. Això permetrà a la gent provar el vostre sistema operatiu i informar-ne de qualsevol problema que tinguin.

Divertiu-vos amb l’ordinador Pas 28
Divertiu-vos amb l’ordinador Pas 28

Pas 8. Xarxa amb altres desenvolupadors de sistemes operatius

Hi ha tota una comunitat de desenvolupadors de sistemes operatius reunits en diversos fòrums, inclosos / r / osdev a Reddit i el Software Engineering Stack Exchange. Un que heu comprès en el desenvolupament d’un sistema operatiu bàsic, llegiu les publicacions existents per veure quin tipus de coses apareixen durant el procés de desenvolupament.

Vídeo: mitjançant aquest servei, es pot compartir informació amb YouTube

Consells

  • Assegureu-vos d'implementar funcions de seguretat com a màxima prioritat si voleu que el vostre sistema sigui viable.
  • Un cop acabat el desenvolupament, decidiu si voleu alliberar el codi com a codi obert o propietari.
  • Per fer un sistema operatiu capaç de gestionar diversos processadors, el gestor de memòria ha de tenir mecanismes de "bloqueig" per evitar que diversos processadors accedeixin al mateix recurs alhora. Els "bloqueigs" que s'utilitzin per a això requeriran la presència d'un planificador per assegurar-se que només un processador accedeixi a un recurs crític en un moment donat i que tots els altres estiguin obligats a esperar. Tot i això, el planificador depèn de la presència d’un gestor de memòria. Es tracta d’un cas de dependència bloquejada. No hi ha una manera estàndard de resoldre problemes com aquest; com a programador, s’espera que tingueu la capacitat suficient per esbrinar la seva pròpia manera de tractar-lo.
  • Un sistema operatiu també pot ser fàcil d'utilitzar. Assegureu-vos d’afegir funcions fàcils d’utilitzar, convertint-les en una part integral del vostre disseny.
  • No us hi uniu als fòrums d’OSDev.org i comenceu a fer preguntes evidents. Simplement resultarà "Llegiu el manual" respostes. Heu de provar de llegir la Viquipèdia i els manuals de les diverses eines que voleu utilitzar.
  • No comenceu un projecte de sistema operatiu per començar a aprendre programacions. Si encara no coneixeu C, C ++, Pascal o algun altre llenguatge adequat, inclosa la manipulació de punter, la manipulació de bits de baix nivell, el desplaçament de bits, el llenguatge d'ensamblatge en línia, etc., no esteu preparat per al desenvolupament del sistema operatiu..
  • Si feu alguna cosa desaconsellat, com escriure bytes aleatoris a ports d'E / S aleatoris, fallareu el sistema operatiu i podreu (en teoria) fregir el vostre maquinari.

Recomanat: