• Sábado 27 de Abril de 2024, 18:12

Autor Tema:  Como hacer un Sistema operativo  (Leído 8386 veces)

Ricardo Magon

  • Nuevo Miembro
  • *
  • Mensajes: 14
  • Nacionalidad: mx
    • Ver Perfil
Como hacer un Sistema operativo
« en: Lunes 28 de Diciembre de 2009, 02:00 »
0
Como

Thanatos-chan

  • Miembro MUY activo
  • ***
  • Mensajes: 136
  • Nacionalidad: do
    • Ver Perfil
Re: Como hacer un Sistema operativo
« Respuesta #1 en: Lunes 28 de Diciembre de 2009, 20:35 »
0
:P

el titulo de tu post parecia interesante...y al ver lo que escribiste... :lol: ... pero respondo el post porque yo tambien hice esa misma pregunta, en su momento.

disculpa que yo tambien tome la respuesta comun...pero por si acaso.

si estas haciendo una tarea o una investigacion...wikipedia te basta y te sobra. y si no me crees...

http://en.wikipedia.org/wiki/Comparison_of_operating_system_kernels
http://en.wikipedia.org/wiki/List_of_operating_systems#Nonproprietary_non-Unix-like
http://en.wikipedia.org/wiki/Boot_loader

ahora bien, si preguntas por curiosidad neta te advierto.

1-)poniendo en una escala en 1 a una persona que solo sabe instalar windows y en 10 a un progamador de microsoft. hacer un sistema operativo que tenga al menos par  de funciones se lleva un 9.
2-)todo esta en ingles...asi que... :unsure:
3-) si es una sola persona...se invierte mucho, tiempo aunque se reuse codigo  ya hecho
4-)por logica... si piensas hacer algo como windows 7  o deviant, no vas a poder, si se pudiera todo el mundo haria su propio sistema operativo

ahora mis recomendaciones:

1-)si no crees tener el conocimiento o el tiempo para hacer un sistema operativo, puede unirte a un proyecto que este haciendo uno, o simplemente limitarte a recopilar informacion hasta tener mas capacidad.

si te interesa algo como windows deberias leer el  WRK- windows research kernel, que es una iniciativa de microsoft para, que los estudiantes conozcan windows mas a fondo. es un curso completo y incluye partes del codigo fuente de windows!!  :blink:

la mala noticia es que solo se lo dejan a unversidades, la buena noticia es que parte del curso esta basado en el libro "windows internals" que aparece en internet y tambien parte del material de "WRK" aparece en internet, pero no el codigo fuente de windows.

si te interesa algo como linux entra aca http://linuxgazette.net/issue85/mahoney.html

2-)si lo que quieres hacer es un linux propio, no hace falta crear el sistema operativo, solo modificar el kernel, pero si quieres hacer un sistema operativo desde cero, algo como un windows o algo parecido a windows, tendrias que comenzar mas desde abajo.

3-)las clasificaciones mas comunes que podras encontrar serian, unix-like y non-unix like
siendo unix-like:linux,windows,ect
y siendo non-unix like:haiku,Beos, etc.

4-)decídete que quieres hacer, porque como ves el tema es gigante. los sistemas operativos son mayormente hechos en, C++, junto con emsamblador y tambien hay una alternativa de hacerlo en java., pero lamentablemente no se hacen los sistemas operativos en C#

5-)conoce el resto: yo era de los que pensaba que no existian muchos, pero muchos tipos, le han dado con hacer su propio sistema operativo he aqui algunos
AROS
Cefarix
Chaos
Cosmoe
CP/M
Darwin
DCP
Debian GNU/Hurd
E.R.I.K.A
eCos
ELKS
E/OS
ERaMS
EROS
Fiasco
Free-VMS
FreeDOS
Freedows
Haiku
JTMOS
Menuet
Minix
MorphOS
Oberon
OpenBEOS
Plan 9
PowerOS
QNX
ReactOS
RTEMS
S.Ha.R.K
SkyOS
Solaris
Syllable
TriangleOS
Unununium
V2_OS
VSTa
Winmac
xMach
Yamit
ZotOS

solo alguno... :rolleyes:

6-) si todavia esta leyendo es porque tienes algun interes,  esto puede ser un buen hobby, si tienes la curiosidad suficiente, he aqui una exelente pagina:
http://wiki.osdev.org/Main_Page

7-) por ultimo, como todo buen tecnico, te dare una muestra de la realidad. he aqui un "sistema operativo"

que hace??? muestra un mensaje y se resetea...pues que podias esperar por tan pocas lineas  :)
Código: ASM
  1.  
  2. ; directive to create BOOT file:
  3. #MAKE_BOOT#
  4.  
  5. ; Boot record is loaded at 0000:7C00,
  6. ; so inform compiler to make required
  7. ; corrections:
  8. ORG 7C00h
  9.  
  10. ; load message address into SI register:
  11. LEA SI, msg
  12.  
  13. ; teletype function id:
  14. MOV AH, 0Eh
  15.  
  16. print: MOV AL, [SI]
  17. CMP AL, 0
  18. JZ done
  19. INT 10h ; print using teletype.
  20. INC SI
  21. JMP print
  22.  
  23. ; wait for 'any key':
  24. done: MOV AH, 0
  25. INT 16h
  26.  
  27. ; store magic value at 0040h:0072h:
  28. ; 0000h - cold boot.
  29. ; 1234h - warm boot.
  30. MOV AX, 0040h
  31. MOV DS, AX
  32. MOV w.[0072h], 0000h ; cold boot.
  33.  
  34. JMP 0FFFFh:0000h ; reboot!
  35.  
  36. new_line EQU 13, 10
  37.  
  38. msg DB 'Hello This is My First Boot Program!'
  39. DB new_line, 'Press any key to reboot', 0
  40.  
  41.  

exitos, que la curiosidad mato al gato, pero nosotros somos ninjas... :ph34r:
Que es un genio???? yo superare a un genio con trabajo duro, y eso es todo.

morringos

  • Miembro activo
  • **
  • Mensajes: 65
  • Nacionalidad: 00
    • Ver Perfil
Re: Como hacer un Sistema operativo
« Respuesta #2 en: Sábado 9 de Enero de 2010, 00:31 »
0
Bien, pues los So que te mostraron anteriormente a lo que vi a simple vista son puros Linuxs, y eso de hacer so's es un tema demasiado complejo y depende de qué tipo de sistema operativo quieras hacer, uno basado en BSD, UN*X, Linux, un Sistema Windows ó uno tu desde 0 que sea aparte o que se yo  ^_^ , pero si es complicado bro empezar a decirte cómo hacerlo, tendrías que empezarte a leer libros sobre kernels de so's como de Linux o de Windows y leer demás libros de programación, si es de Windows, manejar bien Ensamblador y C/C++.

Saludos bro.
Morringos!;