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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Otra vez al ruedo: ¿hacer un SO?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Otra vez al ruedo: ¿hacer un SO?  (Leído 20,046 veces)
SERBice


Desconectado Desconectado

Mensajes: 934


Ver Perfil WWW
Otra vez al ruedo: ¿hacer un SO?
« en: 17 Febrero 2011, 10:56 am »

Habia hecho un hermoso post, pero de idiota aprete backspace fuera del area de texto y el navegador perdio todo (cargó la págian anterior) jaja.... que paja pocas ganas de escribir todo de nuevo....


Bueno, la idea es esa, hacer un SO. Esto ya se ha intentado varias veces antes y muchas más se ha hablado.

Antes de que alguien venga a decir "es dificil", "mejor hagan una distro de linux", "estudien minix" o cosas similares aviso que la idea es, desde un comienzo, partir de "la nada", aprender, desarrollar y construir algo par air viendo su avance.

Es MUY buena idea ver, analizar y usar fragmentos del codigo de Linux, Minix o sistemas GNU / GPL, pero solo como referencia, no es la idea hacer otra distro de un sistema existente, sino construir uno.

¿con que finalidad?: Aprender, divertirse, basicamente esas dos finalidades. Posiblemente sea un sistema Horrible, inestable, reducido,... mal hecho en muchos aspectos, pero no es la idea superar o igualar a ninguno de los sistemas existentes (ni siquiera al MS DOS :P)


Me gustaria saber quien esta dispuesto a intentarlo, con entusiasmo y perseverancia, sabiendo que no sera tarea facil y que llevara mucho tiempo, si sabiendo esto aun te gusta la idea, pues bienvenido al tren.


Basado en experiencias anteriores, seria bueno evitar tratar cuestiones como "¿que nombre le vamos a poner?" o "¿y el logo?"... o discutir sobre si sera grafico, consola, si tendra soporte para video en 3d y esas cosas qeu estan a AÑOS LUZ del punto actual.

En este punto inicial lo que hay que lograr es:

Boot desde FAT 12, 16 y 32 (floppy y pendrive/HDD), tampoco seria mala idea EXT2 o similares dada su amplia especificacion disponible.

Secuencia de inicio: Boot Sector > Loader > Kernel

El loader deberia, en teoria entrar al modo protegido (32bits. Aca hay que hacer una breve comprobacion de hardware), mapear la memoria, controlar interrupciones y luego cargar el kernel desde el sistema de archivos (el cual habra que detectar oportunamente si se usadan varios sistemas de archivos).

El kernel se deberia de encargar de gestionar la memoria mapeada con el loader (¿convendra mapear la memoria con el kernel?... buena pregunta), proporcionar funciones apis (en lo posible compatibles con POSIX) para manejo de sistema de archivos, keyboard, puerto serial, paralelo, video (text mode inicialmente).



Creo que eso es mas que suficiente para un comienzo, de hecho es mucho (BOOT SECTOR en varios sistemas de arhcivos, un loader y la carga de un kernel)


El lenguaje a usar cual será?

Para el boot sector, creo que no queda otra alternativa que usar ASM, la buena noticia es que tenemos buenos codigos disponibles en Linux, ReactOS, FreeDOS, MenuetOS, etc.

FASM es una buena alternativa dado que permite compilar para muchas arquitecturas (x86, x64 seran los preferidos) y plataformas (windows, linux... que no usaremos, y la compilacion binaria "bruta", que si usaremos)

para el Loader, el Kernel y el resto, C / C++, segun sea aplicable.

Para C/C++ una buena alternativa es CodeBlocks que usa el compilador GCC y esta disponible (IDE y Compilador) para Windows y Linux, eso facilitaria las tareas de depuracion y programacion entre los interesados que tengan o queiran probar compilar/desarrollar desde diferentes sistemas.


Sin mas que decir espero que alguien se sume a la idea y que podamos llegar a hacer algo presentable y no muera en el intento como ha ocurrido antes en muchos proyectos.

EDIT:

Aca dejo un par de links utiles, ire agregando mas con el paso del tiempo.

Los pongo en el primer post por organizacion.

Especificaciones de los sistemas de arhcivos FAT:
Citar


« Última modificación: 17 Febrero 2011, 23:42 pm por SERBice » En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #1 en: 17 Febrero 2011, 15:36 pm »

Yo me apunto de buena gana, pero a ver en que queda la cosa  ;D

Yo creo que lo mejor es que el Kernel sea puramente x64, seguir usando x86... Hasta los netbooks de hoy en día traen procesador x64.

Nasm también sería una buena opción.

Saludos.


En línea

Anay

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #2 en: 17 Febrero 2011, 15:59 pm »

Perfecto¡¡ maravilloso has puesto en un post mis ideas, todo lo que llevaba un tiempo pensando hacer.
Contad conmigo, yo me apunto, aunque estoy acabando la carrera y mi tiempo sera limitado contadconmigo.
Una pregunta ¿monolitico o micronucleo?  Yo tenia pensado hacer un micronucleo modificado, por lomenos para que se diferencie de algo a Linux, tener software libre donde elegir.
Un saludo.
En línea

SERBice


Desconectado Desconectado

Mensajes: 934


Ver Perfil WWW
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #3 en: 17 Febrero 2011, 23:02 pm »

La idea de x64 es tentadora, pero me parece algo demasiado alto para comenzar. Todos los procesadores de 64bits son compatibles con x86, y pueden ejecutar 16, 32 y 64bits (el tio bill no hizo compatible windows x64 con aplicaciones de 16bits simplemente por capricho, podia haberlo hecho).

De todas formas, queda a criterio de la mayoria del grupo si será x86 o x64, lo decidiremos en grupo, como una democracia.


Nasm también sería una buena opción claro, para el boot sector, no para el SO :D


Por otro lado, ¿monolitico o micronucleo?...


Linux es monolitico con la posibilidad de cargar modulos, Windows es monolitico hibrido. Minix es micronucleo y Mac OS X tambien es micro nucleo.

A mi, personalmente me gusta mas monolitico... no me gusta mucho la idea de dejar las aplicaciones tan "libres", prefiero que el SO se encargue de todo el hardware, como linux. Corrijanme si me equivoco.

micronucleo modificado, ¿a que te refieres? ¿hibrido?

Bueno pues, ya somos 3, espero que mas gente se apunte, cuantos mas seamos, mejor será, de todos modos debemos organizarnos bien para que no se fragmente el grupo por diferencias de ideas.... pero eso se verá cuando seamos un grupo de mayor tamaño, hasta ahora solo somos 3, lo cual no está mal ^^
En línea

Leber


Desconectado Desconectado

Mensajes: 338


"Fracta, non verba"


Ver Perfil WWW
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #4 en: 17 Febrero 2011, 23:19 pm »

Hola, que tal.

Decirte que a mi también me interesa bastante la idea, y creo que puede estar muy bien para aprender.
Respecto a monolitico o micronucleo, en mi opinion creo que es mejor que sea el so quien gestione el hardware.

La verdad es que me gustaría bastante participar.

Saludos

En línea

"Solo los tontos carecen de preucupaciones." Johann Wolfgang Goethe
SERBice


Desconectado Desconectado

Mensajes: 934


Ver Perfil WWW
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #5 en: 17 Febrero 2011, 23:43 pm »

Perfecto Leber, bienvenido :D

He agregado unos links utiles al final del primer post. Ire agregando mas (en el primer post por cuestiones de organizacion) con el paso del tiempo y segun sea la necesidad.
En línea

Littlehorse
All the world's a stage
Colaborador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #6 en: 18 Febrero 2011, 00:02 am »

Mucha suerte con el proyecto, para cualquier duda aquí estamos.

Les agrego un link donde podrán encontrar bastante información sobre el tema.

http://wiki.osdev.org/Main_Page

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Anay

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #7 en: 18 Febrero 2011, 09:21 am »

Windows es micronucleo modificado (lo he estado analizando hace unos dias en sistemas por eso lo se ;) )
A mi me gusta mas micronucleo por el tema de que nohabra que eestar compilando todo el santo dia, pero vamos,  me da igual yo lo hago por aprender, nada mas.

Bueno para quien quiera irse dando ya una idea dejo el link de los manuales de los procesadores Intel: http://www.intel.com/products/processor/manuals/index.htm

Estaría bien estandarizar los programas que vamos a usar, yo trabajare sobre Windows asi que que haya para ambos SO please :P
« Última modificación: 18 Febrero 2011, 09:35 am por Anay » En línea

SERBice


Desconectado Desconectado

Mensajes: 934


Ver Perfil WWW
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #8 en: 18 Febrero 2011, 18:23 pm »

Windows es micronucleo modificado (lo he estado analizando hace unos dias en sistemas por eso lo se ;) )
A mi me gusta mas micronucleo por el tema de que nohabra que eestar compilando todo el santo dia, pero vamos,  me da igual yo lo hago por aprender, nada mas.

Bueno, por lo de compilar todo el dia, no creo que sea problema... no sera (al menos no en sus inicios) como el kernel linux que necesita de mucho tiempo para compilar.

Por otra parte, Windows NT es un monolitico modificado, y no al reves. De todas formas, no deja de ser un nucleo hibrido.

Modo núcleo: Tiene acceso total a la memoria del sistema y los dispositivos externos. Los núcleos de los sistemas operativos de esta línea son todos conocidos como núcleos híbridos, aunque hay que aclarar que este término está en discusión ya que este núcleo es esencialmente un núcleo monolítico que está estructurado al estilo de un micronúcleo. La arquitectura dentro del modo núcleo se compone de lo siguiente:[1]
1.Un núcleo híbrido.
2.Una Capa de Abstracción de Hardware (HAL).
3.Controladores o drivers.
4.Executive: Sobre el cual son implementados todos los servicios de alto nivel.



Estaría bien estandarizar los programas que vamos a usar, yo trabajare sobre Windows asi que que haya para ambos SO please :P


Como dije en el primer post, FASM o NASM para el boot sector (Disponible para Windows y Linux) y CodeBlocks (IDE para C/C++ con el compilador GCC, disponible para Windows y Linux).

Luego pondre unos links de interes en el primer post, mas los que han aportado. :D
En línea

ace332

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Otra vez al ruedo: ¿hacer un SO?
« Respuesta #9 en: 19 Febrero 2011, 01:06 am »

Buenas, me gustaria formar parte del proyecto  ;D

PD: No se mucho (casi nada  :xD) sobre como hacer un SO pero me gustaría aprender..
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Que puedo hacer conectado a traves de WIFI a la otra pc??? « 1 2 »
Hacking
777Rubenix777 13 12,267 Último mensaje 31 Julio 2010, 09:36 am
por 777Rubenix777
Tengo dos PC, uso una y no sé que hacer con la otra
Hardware
Br1ant 4 2,320 Último mensaje 23 Julio 2014, 06:42 am
por scott_
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines