Com fer un sistema operatiu d’ordinador (amb imatges)

Taula de continguts:

Com fer un sistema operatiu d’ordinador (amb imatges)
Com fer un sistema operatiu d’ordinador (amb imatges)

Vídeo: Com fer un sistema operatiu d’ordinador (amb imatges)

Vídeo: Com fer un sistema operatiu d’ordinador (amb imatges)
Vídeo: Como Actualizar Desde Windows 7 a Windows 8.1 SIN FORMATEAR 2024, Maig
Anonim

El sistema operatiu permet a l'usuari interactuar amb el maquinari de l'ordinador. El sistema està format per centenars de milers de línies de codi. Normalment, el sistema operatiu es fa mitjançant llenguatges de programació C #, C, C ++ i de muntatge. El sistema operatiu us permet navegar per l’ordinador mentre deseu i executeu ordres. No crec que sigui fàcil crear un sistema operatiu. Es necessita molt de coneixement per aconseguir-ho.

Pas

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

Pas 1. Primer de tot, apreneu sobre la programació

El llenguatge assemblador és molt important; és molt recomanable que aprengueu un altre idioma complementari d'alt nivell com és el llenguatge C.

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

Pas 2. Decidiu quins suports voleu utilitzar per carregar el sistema operatiu

Aquest suport pot ser una unitat de CD, unitat de DVD, unitat flaix, disc dur, disquet o un altre PC.

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

Pas 3. Definiu la idea bàsica d'un SO

Per exemple, a Windows, la idea bàsica és una interfície gràfica d’usuari fàcil d’utilitzar i molta seguretat.

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

Pas 4. Determineu quina plataforma de processador admetrà el vostre sistema operatiu

IA-32, ARM i x86_64 són les plataformes més habituals per a ordinadors personals. Per tant, tots són la vostra millor opció.

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

Pas 5. Decidiu si preferiu fer-ho tot vosaltres mateixos des de zero o si ja hi ha algun nucli disponible que vulgueu construir

Per exemple, Linux des de zero és un projecte per a persones que volen crear la seva pròpia distribució de Linux.

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

Pas 6. Decidiu si utilitzeu el vostre propi carregador d'arrencada o un de pre-construït, com ara el Grand Unified Bootloader (GRUB)

La codificació del gestor d’arrencada necessitarà un coneixement ampli de maquinari i BIOS. Com a resultat, aquest pas pot dificultar la programació real del nucli.

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

Pas 7. Decidiu quin llenguatge de programació utilitzar

Està bé tenir un sistema operatiu en un idioma com Pascal o BASIC, però hauríeu d’utilitzar C o Assembly. El muntatge és molt necessari, perquè algunes parts importants d’un sistema operatiu ho requereixen. D'altra banda, el llenguatge C ++ conté paraules clau que requereixen un altre SO complet per executar-se.

Per compilar un sistema operatiu a partir de codi C o C ++, per descomptat, utilitzarà un compilador o l’altre. Per tant, és una bona idea consultar la guia d’usuari / manual / documentació del compilador C / C ++ que trieu, ja sigui inclòs al programari o disponible al lloc web del distribuïdor. Heu de conèixer moltes coses complicades sobre el compilador i, per al desenvolupament de C ++, heu de conèixer l’esquema de manipulació del compilador i el seu ABI. S'espera que entengueu els diferents formats executables (ELF, PE, COFF, binari bàsic, etc.) i que el format exclusiu de Windows, PE (.exe), està protegit per drets d'autor

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

Pas 8. Definiu la vostra interfície de programació d'aplicacions (API)

Una bona API per triar és POSIX, ja que està ben documentada. Tots els sistemes Unix tenen suport com a mínim parcial per POSIX. Per tant, connectar els programes Unix al vostre sistema operatiu hauria de ser fàcil.

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

Pas 9. Decidiu el vostre disseny

Hi ha un nucli monolític i un micro nucli. Els nuclis monolítics implementen tots els serveis al nucli, mentre que els nuclis micro tenen nuclis petits agrupats amb serveis de desplegament de dimonis d’usuari. 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 10
Feu un sistema operatiu d’ordinador Pas 10

Pas 10. Penseu en desenvolupar-vos i treballar en equip

D’aquesta manera, es necessita menys temps per resoldre més problemes, cosa que probablement accelerarà la creació d’un sistema operatiu millor.

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

Pas 11. No netegeu completament el disc dur

Recordeu que, si suprimiu una unitat, s'esborraran totes les dades que conté. Utilitzeu GRUB o un altre gestor d’arrencada per arrencar el sistema amb un altre sistema operatiu fins que el sistema operatiu sigui completament funcional.

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

Pas 12. Comenceu petit

Comenceu per coses petites com mostrar text i fer pauses abans de passar a coses com la gestió de memòria i el treball compost. Assegureu-vos també de fer les versions de 32 i 64 bits.

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

Pas 13. Mantingueu una còpia de seguretat de l'últim codi font de treball

Aquest pas és útil com a protecció en cas que alguna cosa falla amb la versió actual de SO o de desenvolupament. Si l’ordinador es bloqueja i no s’inicia, és una bona idea tenir-ne una segona còpia per poder solucionar el problema.

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

Pas 14. Penseu a provar el vostre nou sistema operatiu amb una màquina virtual

En lloc de reiniciar l'ordinador cada vegada que feu canvis o després d'enviar fitxers des de l'ordinador de desenvolupament a la màquina de prova, podeu utilitzar una aplicació de màquina virtual per executar el sistema operatiu mentre s'executa el sistema operatiu actual. Les aplicacions de màquina virtual actuals inclouen: VMWare (que també té un producte de servidor disponible de forma gratuïta), alternatives de codi obert, Bochs, Microsoft Virtual PC (no compatible amb Linux) i Oracle VirtualBox.

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

Pas 15. Inicieu el "release candidate" o la versió beta

Aquest pas permetrà a l'usuari avisar-vos de possibles problemes amb el vostre sistema operatiu.

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

Pas 16. El sistema operatiu també hauria de ser fàcil d'utilitzar

Assegureu-vos d’afegir funcions fàcils d’utilitzar, que siguin una part integral del vostre disseny.

Consells

  • Comproveu si hi ha possibles bloquejos i altres errors. Els errors, els bloquejos i altres problemes afectaran el projecte de construcció del sistema operatiu.
  • Assegureu-vos que implementeu les funcions de seguretat com a màxima prioritat si voleu que el sistema funcioni correctament.
  • Utilitzeu llocs web com OSDev i OSDever per ajudar-vos a desenvolupar el vostre propi sistema operatiu. Tingueu en compte que, per a la majoria dels propòsits, la comunitat OSDev.org estarà més que contenta si utilitzeu la seva wiki i no us uniu al fòrum. Si decidiu unir-vos a un fòrum, hi ha una condició prèvia: heu de conèixer realment C o C ++ i el llenguatge de muntatge x86. També heu d’entendre conceptes de programació generals i complexos com ara llistes enllaçades, cues, etc. La comunitat OSDev, en els seus reglaments, estableix explícitament que la seva comunitat no es crea per nodrir nous programadors.
  • No us hi uniu amb el fòrum OSDev.org i, a continuació, feu la pregunta òbvia. Només se us demanarà que llegiu la guia. Llegiu la Viquipèdia i les instruccions de qualsevol equip que vulgueu utilitzar.
  • Si intenteu desenvolupar un sistema operatiu, definitivament us consideraran el "déu" de la programació.
  • També hauríeu d’haver llegit el manual del processador per a l’arquitectura del processador que heu seleccionat; ja sigui x86 (Intel), ARM, MIPS, PPC, etc. Els manuals per a arquitectures de processadors són fàcils de trobar mitjançant una cerca a Google ("manual Intel", "manual ARM", etc.).
  • Un cop finalitzats tots els treballs de desenvolupament, decidiu si voleu alliberar el codi com a codi obert o per copyright.
  • No comences un projecte de sistema operatiu per començar a aprendre programacions. Si no coneixeu per dins ni per fora 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, els llenguatges d’assemblatge en línia, etc., no esteu preparat per al sistema operatiu desenvolupament.
  • Crear una partició completament nova per "expandir" SO podria ser una bona opció.
  • Si voleu una manera fàcil, tingueu en compte distribucions de Linux com Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD o SUSE Studio i SUSE KIWI. Tanmateix, el sistema operatiu que creeu pertany a l’empresa que va iniciar el servei primer (tot i que teniu el dret de distribuir-lo lliurement, modificar-lo i executar-lo com vulgueu a GPL).

Advertiment

  • No obtindreu un sistema operatiu complet en un termini de dues setmanes. Comenceu amb un SO arrencable i, tot seguit, aneu a coses més fresques.
  • Si escriviu sense cura el vostre sistema operatiu en un disc dur, el podeu danyar completament. Ves amb compte.
  • Si feu alguna cosa que no es recomana, com ara escriure bytes aleatoris en ports d'E / S aleatoris, fallareu el vostre sistema operatiu i (en teoria) podríeu cremar el vostre maquinari.
  • No espereu que el sistema operatiu sigui fàcil de construir. Hi ha moltes interdependències complicades. Per exemple, per crear un sistema operatiu capaç de gestionar diversos processadors, el gestor de memòria ha de tenir un mecanisme de "bloqueig" per evitar que diversos processadors accedeixin al mateix recurs alhora. El "bloqueig" utilitzat per a això requeriria un planificador per assegurar-se que només un processador accedeixi a recursos crítics en un moment donat i que tots els altres hagin d'esperar. De fet, el planificador depèn de la presència del Memory Manager. Aquest és un exemple de dependència sense sortida. No hi ha una manera estàndard de resoldre aquest tipus de problemes; s'espera que tots els programadors de sistemes operatius siguin prou hàbils per conèixer la seva pròpia manera de tractar-lo.

Recursos addicionals

  • Pautes: Linux From Scratch
  • Carregador d’arrencada: GRUB
  • Aplicacions de màquines virtuals: Bochs, VM Ware, XM Virtual Box.
  • Manual del processador: manual Intel
  • Llocs de desenvolupament SO: OSDev, OSDever

Recomanat: