Está en la página 1de 12

Instituto Tecnológico de las Américas

(ITLA)

Sistemas Operativos I – Grupo (3)


Asignatura

José Doñe
Facilitador

Como crear un Sistema Operativo


Tema

Jimmy Medina Mejía. 2017-5402


Estudiante

Miércoles 27 de febrero, 2018


Fecha de entrega

Boca chica, La Caleta, RD.

1
Índice General

 Lista de Sistemas Operativos


Introduccion.......................................................................................................3

1.1 Pasos y Tips para crear un Sistemas Operativo……………….4-11

Conclusión……………………………………………………………………….….12

2
Introducción

Con lo que debemos iniciar hablando en este trabajo es que los sistemas
operativos permiten al usuario interactuar con el hardware de su computadora,
los cuales se elaboran con cientos de miles de líneas de código, por lo general
con los lenguajes C, C++ y ensambladores.

3
1
Tendrás que tener conocimientos de programación antes de empezar.

El lenguaje ensamblador es esencial; otro lenguaje adicional de bajo nivel como


C será muy recomendable.

2
Decide en qué medio deseas cargar el sistema operativo.

Podría ser una unidad de CD, DVD, de flash, un disco duro o en otra PC.

4
3
Decide qué quieres que haga tu sistema operativo.

Si se trata de un sistema operativo completamente capaz que tiene una interfaz


gráfica de usuario (GUI, Graphical User Interface) o algo un poco más
minimalista, tendrás que saber qué dirección vas a tomar antes de comenzar.

4
Especifica qué plataforma de procesador será compatible con tu sistema
operativo.

Te recomiendo las dos más comunes para las computadoras personales: AI-32
y x86_64.

5
5
Decide si prefieres hacerlo todo tú mismo desde cero o si hay un núcleo
existente que te gustaría usar como base para construir.

Por ejemplo, programar Linux desde cero será un proyecto para aquellos que le
gustaría crear su propia distribución de Linux.

6
Decide si vas a utilizar tu propio gestor de arranque o uno pre-creado como
el cargador de arranque unificado global (GRUB, Grand Unified
Bootloader).

Debido a que para programar el código de tu propio gestor de arranque


necesitarás poseer un conocimiento amplio del hardware y del BIOS, podría
retrasarte para programar el núcleo en sí.

6
7
Decide qué lenguaje de programación vas a utilizar.

Si bien es posible crear un sistema operativo con un lenguaje como Pascal o


BASIC, será mejor si usas C o el ensamblador. El ensamblador es
absolutamente necesario, ya que algunas partes vitales de un sistema operativo
lo necesitan. Por su parte, C++ contiene palabras clave que necesitan otro
sistema operativo totalmente integrado para poder funcionar.
Para poder compilar un sistema operativo con el código C o C++, por supuesto
tendrás que utilizar cualquier compilador. Por lo tanto deberás leer la guía o los
manuales o la documentación de usuario del compilador C o C++ que vayas a
elegir, ya sea si se incluye con el software o esté disponible en la página web del
distribuidor. Tendrás que saber muchas cosas complejas acerca del compilador
y para desarrollar con C++ deberás tener conocimientos de decoración de
nombre (mangling scheme) del compilador y de su ABI. Se supone que tendrás
que conocer los diversos formatos ejecutables (ELF, PE, COFF, binarios sin
formato, etc.) y entender que el formato patentado de Windows, PE (.exe), está
protegido por los derechos de autor.

8
Decide cuál será la interfaz de programación de aplicaciones (API,
Application Programming Interface).

Te recomendamos POSIX, ya que está bien documentada. Todos los sistemas


Unix tienen al menos el soporte parcial para POSIX, por lo que sería trivial
conectar programas Unix con tu sistema operativo.

7
9
Decide el diseño.

Existen núcleos monolíticos y micronúcleos. Los monolíticos implementan todos


los servicios en el núcleo, mientras que los micronúcleos tienen un núcleo
pequeño combinado con servicios de implementación de demonios de usuario.
En general, los núcleos monolíticos son más rápidos, pero los micronúcleos
tienen un mejor aislamiento de fallos y fiabilidad.
10
Considera desarrollar y trabajar en equipo.

De esta manera, se resolverán más problemas en menos tiempo, lo cual podría


generar un mejor sistema operativo más rápidamente.

8
11
No borres tu disco duro por completo.

Recuerda, ¡al borrar el disco podrías borrar todos tus datos irreversiblemente!
Utiliza el GRUB u otro gestor de arranque para que tu computadora tenga otro
sistema operativo con el cual arrancar hasta que el tuyo funcione por completo.

12
Empieza con algo pequeño.

Empieza con cosas pequeñas como mostrar texto e interrupciones antes de


proseguir a desarrollar cosas como gestión de memoria y multitarea.

9
13
Guarda una copia de seguridad de la última fuente de trabajo.

Ello será una medida de protección en caso de que surja algún problema grave
con la versión actual de tu sistema operativo o tu desarrollo. Si la PC se bloquea
y no puede arrancar, será excelente tener una segunda copia con la que puedas
trabajar para solucionar el problema.

14
Considera probar tu nuevo sistema operativo en una computadora virtual.

Considera probar tu nuevo sistema operativo en una computadora virtual. En


lugar de reiniciar el equipo cada vez que realices cambios o tengas que transferir
ciertos archivos desde el equipo de desarrollo al equipo de prueba, podrás utilizar
la aplicación de una computadora virtual para ejecutar tu sistema operativo,
mientras el tuyo se mantiene en funcionamiento. Algunas aplicaciones de
computadora virtual son VMWare (que también tiene un producto de servidor
gratuito), la alternativa de código abierto, Bochs, Microsoft Virtual PC (no
compatible con Linux) y xVM VirtualBox.

10
15
Saca un “candidato de lanzamiento”.

Esto permitirá a los usuarios informarte sobre posibles problemas con el sistema
operativo.

16
Un sistema operativo también podría ser fácil de usar, así que asegúrate de
incluir características fáciles para el usuario, de modo que sean parte
integral de tu diseño.

11
Conclusión

Una vez ya plasmada esta información aquí, de cómo empezar a desarrollar un


sistema operativo desde de cero, pero es importante aclarar que este artículo fue
diseñado con fines de aprendizaje, para aquellos que ya tienen, digamos un nivel
considerable en el ámbito de los sistemas operativos y por supuesto, no me
importante, en el ámbito de la programación informática.
A quien le haya gustado el tema, pero le invito a leer una vez más este
documento y luego seguir y seguir profundizando en el tema, pues el mismo es
bastante amplio. Sin nada más que decir, pues me despido, dando las gracias a
quien se haya tomado el tiempo para leer este informe.

12

También podría gustarte