Como Crear Un Sistema Operativo

Instituto Tecnológico de las Américas (ITLA) Sistemas Operativos I – Grupo (3) Asignatura José Doñe Facilitador Como cre

Views 121 Downloads 7 File size 932KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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