elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¡Creemos un sistema operativo!
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: ¡Creemos un sistema operativo!  (Leído 6,820 veces)
Alvarito050506

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: ¡Creemos un sistema operativo!
« Respuesta #10 en: 9 Diciembre 2018, 18:42 pm »

¡Gracias @**Aincrad**!

Respecto a tu pregunta, yo desarrollo todos mis programas meramente por hobby, pero quizás a alguien más le sirva como referencia o quizás alguien lo use con fines educativos. Lo que sí, quiero hacerlo libre (licenciado bajo la GPL v2.0) y colaborativo (alojarlo en GitHub).


En línea

Markks

Desconectado Desconectado

Mensajes: 83


-


Ver Perfil
Re: ¡Creemos un sistema operativo!
« Respuesta #11 en: 9 Diciembre 2018, 18:51 pm »

Te he enviado un mensaje privado


En línea

Not found.
Alvarito050506

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: ¡Creemos un sistema operativo!
« Respuesta #12 en: 9 Diciembre 2018, 19:06 pm »

Bueno, yendo directamente al código, tendríamos que establecer algunas convenciones de nomenclatura de variables y funciones, documentación mínima requerida, tipos de datos utilizados, etc.

Propongo que creemos los tipos uint8, sint8, uint16. sint16, uint32, sint32 y byte, los cuales han de ser declarados de la siguiente manera:
Código
  1. typedef unsigned char uint8;
  2. typedef char sint8;
  3. typedef unsigned short uint16;
  4. typedef short sint16;
  5. typedef unsigned int uint32;
  6. typedef int sint32;
  7. typedef uint8 byte;

Propongo también que utilicemos la nomenclatura de funciones estándar POSIX y que adjuntemos el prefijo "g" (ge minúscula) a las variables globales.

Ustedes dirán...
En línea

Alvarito050506

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: ¡Creemos un sistema operativo!
« Respuesta #13 en: 9 Diciembre 2018, 19:50 pm »

Ya creé un repositorio en GitHub. Está aquí: https://github.com/Alvarito050506/N2OS. El repositorio se llama N2OS por "NoNameOS" ::), lo que no significa que ninguno de ellos sea el nombre definitivo.

Ahora en un rato subo un código básico que tengo por ahí. Si alguno no sabe como usar Git o GitHub me avisa y hago una explicación general directamente.

Ah, casi me olvido: hay que definir la documentación mínima requerida que debe acompañar a cada contribución. Propongo algo como esto por cada función:
Código
  1. /*
  2.  *
  3.  * name: functionName
  4.  * params: @paramIn0, @paramIn1, @paramOut0
  5.  * return: @returnValue
  6.  * description: functionDescription
  7.  *
  8.  */

También habría que acordar cuáles compiladores, ensambladores y enlazadores vamos a usar: Personalmente yo prefiero gcc del paquete gcc y as y ld del paquete binutils. Obviamente prefiero trabajar en GNU/Linux o entornos similares (Minix, FreeBSD, etc.).

Posteen ustedes sobre que les parecieron los requisitos de documentación mínima requerida (de ahora en más DMR), en que entorno están habituados a trabajar, con que paquetes o herramientas de software, con qué notación de ensamblador (yo prefiero la notación AT&T, como habrán notado) les gusta trabajar, etc.
En línea

Alvarito050506

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: ¡Creemos un sistema operativo!
« Respuesta #14 en: 10 Diciembre 2018, 16:10 pm »

Hola a todos. Ya subí al repositorio de N2OS un esbozo de kernel. Actualmente puede ser compilado con el comando make en GNU/Linux, pero no en Windows.

Si alguien desea tomarse el tiempo de escribir un Makefile para Windows ¡bienvenido sea!.

Pronto agregaré soporte para el teclado QWERTY (distribución hispanoamericana) y una shell built-in, así que ¡no se queden atrás y envíen sus pull-request :D!

Por las dudas vuelvo a dejar el link al repositorio: https://github.com/Alvarito050506/N2OS

Edición: A continuación, algunas capturas de pantalla del kernel iniciándose y corriendo en QEMU.
Así se ve N2OS en QEMU:




::) ::) ::) It's so cool.  ::) ::) ::)
« Última modificación: 10 Diciembre 2018, 20:25 pm por Alvarito050506 » En línea

Machacador


Desconectado Desconectado

Mensajes: 5.029


El original...


Ver Perfil WWW
Re: ¡Creemos un sistema operativo!
« Respuesta #15 en: 10 Diciembre 2018, 16:41 pm »

Se nota el entusiasmo del publico en general y ya llevas 3 post seguidos... pero eso no se debe hacer, lo conveniente es que uses el botón de modificar antes de algún moderador te llame la atención...

Ah!!!... y como sigo con mi empeño de ser el padrino de la criatura, no me gusta ese nombre que tu sugeriste y yo prefiero llamar al pequeño pingüino; SBBHKK.

 :rolleyes: :o :rolleyes:

Suerte con la empresa.
En línea

"Solo tu perro puede admirarte mas de lo que tu te admiras a ti mismo"
branon32

Desconectado Desconectado

Mensajes: 29


Hello World


Ver Perfil
Re: ¡Creemos un sistema operativo!
« Respuesta #16 en: 12 Diciembre 2018, 18:01 pm »

Hola @branon32, al final del primer post hay una serie de enlaces interesantes, pero son específicos de desarrollo de sistemas operativos. Acá abajo te dejo unos links sobre programación en bajo nivel general.

Apuntes de la Facultad de Ingeniería de la UBA (Universidad de Buenos Aires) sobre la programación en C a bajo nivel: http://web.fi.uba.ar/~bortega/apunte_c_a_bajo_nivel.pdf.

Página oficial de NASM (Netwide Assembler), un ensamblador con sintaxis Intel (más parecida a la del inglés): https://www.nasm.us/.

La documentación de GAS (GNU Assembler), un ensamblador con sintaxis AT&T (más díficil y parecida a la del español), que es con el que yo estoy más familiarizado y pienso usar para el proyecto: https://sourceware.org/binutils/docs-2.31/as/index.html.

Y, como no puede faltar, los links de Wikipedia en español e inglés sobre los dos últimos ensambladores:
GAS, Español: https://es.wikipedia.org/wiki/GNU_Assembler
NASM, Español: https://es.wikipedia.org/wiki/Netwide_Assembler

GAS, Inglés: https://en.wikipedia.org/wiki/GNU_Assembler
NASM, Inglés: https://en.wikipedia.org/wiki/Netwide_Assembler

MUCHAS GRACIAS
En línea

sit tibi terra levis
Alvarito050506

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: ¡Creemos un sistema operativo!
« Respuesta #17 en: 13 Diciembre 2018, 17:46 pm »

@branon32: ¡De nada!
@Machacador: Gracias por la sugerencia y, no, de seguro no le pondremos "SBBHKK" a nuestro sistema operativo (tuve que buscar en internet qué significaba  :xD).
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
sistema operativo
Windows
miguelIUTEVAL 3 3,756 Último mensaje 25 Agosto 2010, 21:15 pm
por Randomize
Nos han colado tantos timos por SMS que ya no nos creemos ni a la Seguridad ...
Noticias
wolfbcn 1 1,421 Último mensaje 27 Noviembre 2019, 20:35 pm
por Serapis
quizas los Dioses no tengan lla apariencia que nosotros creemos..... « 1 2 »
Foro Libre
ceibe 14 6,810 Último mensaje 24 Diciembre 2020, 14:44 pm
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines