Está en la página 1de 12

Nombre: Frederick Troncoso Liriano

Matricula: 2023-0490

Maestro: Gerald Willian Silvania Javiel

Materia: Sistemas operative


Introduction:

En este trabajo de investigación estaremos viendo pasos para crear un sistema


operativos desde cero, esto incluye el cómo desarrollarlo y como planearlo, entre otros
temas.

Tarea del Capitulo #7

Investigacion del capitulo 7

Investigar y preparar un trabajo de cómo se crea un sistema operativo,


todos los pasos necesarios para la creación de un sistema operativo desde
cero.
-La creación de un sistema operativo completo desde cero es un proyecto muy
ambicioso y complejo que puede llevar años de desarrollo y pruebas exhaustivas. En
esta respuesta, se proporcionará un resumen general de los pasos y procesos necesarios
para crear un sistema operativo completo.

Primer paso

Aprender los conceptos básicos

1. Toma unos cuantos cursos básicos de ciencias de la computación. A diferencia


del desarrollo para la web, para crear un sistema operativo se necesita una
comprensión sólida de los algoritmos, las estructuras de datos, el hardware de
computadora y la gestión de recursos. Debido a que las personas obtienen títulos
en esto, no debes esperar poder escribir todo un sistema operativo después de
leer un tutorial en línea. El curso Introducción a las Ciencias de la Computación
de Harvard está disponible en línea sin costo a través de EDX.

2. Aprende un lenguaje de programación de alto nivel (por ejemplo, el C). Después


de tener una comprensión básica sólida de las ciencias de la computación, el
siguiente paso es dominar el C o el C++. Al igual que el aprender sobre ciencias
de la computación, dominar un lenguaje no es opcional, ya que no podrás
codificar un sistema operativo si no puedes escribir aplicaciones buenas.
3. Aprende un lenguaje ensamblador. Los lenguajes ensambladores son lenguajes
de bajo nivel que están diseñados para comunicarse con distintos procesadores.
El ensamblaje difiere para distintos tipos de procesadores (por ejemplo, el
lenguaje ensamblador x86 para Intel, AMD, VIA y otros procesadores), por lo
que será necesario que aprendas la versión para el tipo de procesador para el cual
vayas a codificar.

4. Diseño de la arquitectura de hardware:

El diseño de la arquitectura de hardware del sistema operativo es un paso importante en


el proceso de creación. El sistema operativo debe ser compatible con una amplia gama
de hardware, por lo que es necesario diseñar un sistema que pueda adaptarse a
diferentes configuraciones de hardware.

También debes investigar mucho acerca del tipo de procesador o procesadores


en los cuales deba ejecutarse tu sistema operativo. Puedes encontrar con
facilidad manuales para la arquitectura de procesadores con una búsqueda en
Google ("manuales de Intel", "manuales de ARM", etc.).
5. Determina tus objetivos en cuanto al sistema operativo. ¿Qué quieres que haga
el sistema operativo? ¿Cómo debería verse? ¿De verdad debes escribir todo un
sistema operativo o tan solo quieres crear un aspecto determinado para tu
escritorio? Debes tomar en cuenta todas estas cosas antes de empezar a
codificar.

• Considera la posibilidad de desarrollarlo con un equipo de otros


programadores. El que haya un equipo de desarrolladores que trabajen en el
proyecto reducirá el tiempo de desarrollo de manera significativa.
• Añade tus objetivos, planes y preguntas para el proyecto a tu repositorio
público de forma que sea fácil que los demás te ayuden.
Siguiente paso: Desarrollar tu sistema operativo

1. Elige un entorno de desarrollo. Este constituye la plataforma que usarás para


codificar tu sistema operativo nuevo. Si bien es cuestión de preferencias
personales, la mayoría de las personas usan ya sea Windows o un tipo de UNIX.
En caso de que vayas a usar Windows, es recomendable instalar un entorno de
UNIX (por ejemplo, Cygwin o MinGW).

2. Dispón tu sistema de control de versiones. Escribir un sistema operativo quiere


decir que es probable que vayas a crear cientos (¡o miles!) de líneas de código.
Esto puede volverse confuso al trabajar en las revisiones. Algunas opciones a las
que puedes darles un vistazo son CVS, Mercurial y Subversion.

3. Decídete por un gestor de arranque. En caso de que no quieras crear uno tú


mismo, puedes usar uno que ya exista, como Grand Unified Bootloader
(GRUB). Si te sientes lo suficientemente osado como para codificar un gestor de
arranque, dale un vistazo a Rolling Your Own Bootloader en OSDev.org.

4. Elige un diseño de núcleo. El núcleo es el centro de tu sistema y brinda una


interfaz entre el usuario y el hardware de computadora. Hay núcleos monolíticos
y micronúcleos. Los núcleos monolíticos implementan todos los servicios en el
núcleo, en tanto que los micronúcleos tienen un núcleo pequeño combinado con
servicios de implementación de daemons 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 confiabilidad.
5. Empieza por algo pequeño. Empieza por cosas pequeñas, como mostrar texto e
interrupciones, antes de pasar a cosas como la gestión de memoria y hacer varias
tareas a la vez. Asimismo, puedes probar con hacer un sistema operativo simple
de 16 bits en lugar de dar un salto grande.

.No tendrás un sistema completo en dos semanas. Empieza por un


sistema operativo que arranque y luego pasa a las cosas geniales.

6. Prueba tu sistema operativo nuevo con una máquina virtual. En lugar de reiniciar
tu computadora cada vez que hagas cambios o tener que transferir los archivos
de tu computadora de desarrollo a la máquina de prueba, utiliza una aplicación
de una máquina virtual. VMWare, así como también Bochs, es una opción
común que funciona con Windows y Linux. Revisa los posibles puntos muertos
y otros errores y repáralos según sea necesario.

7. Lanza una "versión candidata". Puedes hacerlo subiendo el código probado a tu


repositorio público. De este modo, las personas podrán poner a prueba tu
sistema operativo y reportar sobre los problemas que encuentren.

8. Establece contactos con otros desarrolladores de sistemas operativos. Hay toda


una comunidad de desarrolladores de sistemas operativos que se congrega en
diversos foros, entre ellos /r/osdev en Reddit y el Software Engineering Stack
Exchange. Después de dominar el desarrollo de un sistema operativo básico, lee
las publicaciones existentes para determinar el tipo de cosas que surjan durante
el proceso de desarrollo.
Entre otros pasos:

Investigación y planificación:

Antes de comenzar a desarrollar un sistema operativo, es importante investigar y


planificar cuidadosamente el proyecto. Se deben definir los objetivos del sistema
operativo, las funciones que se deben incluir, las características de hardware que serán
compatibles y el enfoque de diseño.

Diseño de la arquitectura de hardware:

El diseño de la arquitectura de hardware del sistema operativo es un paso importante en


el proceso de creación. El sistema operativo debe ser compatible con una amplia gama
de hardware, por lo que es necesario diseñar un sistema que pueda adaptarse a
diferentes configuraciones de hardware.

Desarrollo del cargador de arranque:


El cargador de arranque es un programa que se carga en la memoria de la computadora
cuando se enciende. Su función es cargar el kernel del sistema operativo en la memoria
y luego transferir el control al kernel.

Desarrollo del kernel:

El kernel es la parte central del sistema operativo que se encarga de administrar los
recursos del sistema, como la memoria, la CPU y los dispositivos de entrada y salida. El
kernel debe ser escrito en un lenguaje de programación de bajo nivel, como C o
ensamblador.

Desarrollo de controladores de dispositivos:

Los controladores de dispositivos son programas que permiten al sistema operativo


interactuar con los diferentes dispositivos de hardware, como discos duros, teclados y
pantallas. El desarrollo de controladores de dispositivos es un proceso complejo que
implica escribir código específico para cada dispositivo.
Desarrollo del sistema de archivos:

El sistema de archivos es responsable de organizar los datos almacenados en el disco


duro o en cualquier otro medio de almacenamiento. El sistema de archivos debe ser
capaz de crear, leer, escribir y borrar archivos.

Desarrollo de la interfaz de usuario:

La interfaz de usuario es la parte del sistema operativo que permite a los usuarios
interactuar con el sistema operativo. La interfaz de usuario debe ser fácil de usar y debe
proporcionar acceso a todas las funciones del sistema operativo.
Pruebas y depuración:

Una vez que se ha desarrollado el sistema operativo, es importante realizar pruebas


exhaustivas para asegurarse de que sea confiable y libre de errores. Los errores
encontrados durante la depuración deben ser corregidos antes de que se lance el sistema
operativo al mercado.

Lanzamiento del sistema operativo:

Una vez que el sistema operativo ha pasado todas las pruebas y ha sido depurado, se
puede lanzar al mercado. Es importante realizar una campaña de marketing adecuada
para asegurarse de que el sistema operativo tenga éxito en el mercado.
Conclusión:

Pudimos aprender por medio de este trabajo el cómo desarrollar un sistema operativo,
ya teniendo en cuenta los conceptos adquiridos en este trabajo. Aprendimos a como
capacitarnos antes de todo.

La arquitectura y el desarrollo del software del sistema operativo es muy fundamental


para su elaboración, todo esto con una secuencia de orden.

Los interfaces de usuarios también es algo para tener en cuenta, con esto le damos al
usuario una manera practica para interactuar con el sistema operativo.

También hay que tener en cuenta que crear un sistema operativo no es una trabajo fácil
que se implementa de la noche a la mañana o que solo una persona puede hacerlo con
facilidad, para eso hay que tener sus contactos, mientras mas cabezas hay, mejor
piensan.

Bibliografías:

https://www.thefastcode.com/es-eur/wiki/crear-un-sistema-operativo

https://chsosunal20162913052.wordpress.com/2016/08/14/pasos-para-
crear-un-sistema-operativo/

También podría gustarte