domingo, 22 de noviembre de 2009
Ayúdanos a crecer, haz NeoTeo tu página de inicio RegistrarseIniciar sesión

MenuetOS: Sistema operativo en assembler

Por: Lisandro Pardo  @  miércoles, 24 de junio de 2009  Nota vista 5000 veces

En varias ocasiones hemos visto diferentes tipos de sistemas operativos aquí en NeoTeo. Desde versiones desconocidas de Windows hasta variadas distros de Linux, e incluso algunos que no tienen nada ni de uno ni del otro. En esta ocasión hemos encontrado un proyecto de sistema operativo extremadamente liviano y eficiente, que obtiene estas dos deseadas virtudes gracias a su programación: El sistema operativo está hecho completamente en lenguaje ensamblador.

¿te interesa?
29 0
29 votos

Cuando uno piensa en lenguaje ensamblador lo recuerda en aquellas historias que nos contaban antes de irnos a la cama, sobre un lenguaje difícil e implacable que sólo los verdaderos maestros del teclado podían dominar. Para referencia de los más jóvenes debemos decir que el lenguaje ensamblador no es ningún mito, y no es lo que se dice sencillo de aprender (el material de aprendizaje está disponible, aunque aquellos que realmente conocen el lenguaje son cada vez menos) pero todo el esfuerzo que demanda en aprendizaje y tiempo de programación es devuelto con software increíblemente rápido, aún en sistemas que tienen varios años encima, y que además ocupa muy poco espacio.

Nada mal para ocupar menos de un disquete

MenuetOS es el ejemplo perfecto de que el lenguaje ensamblador aún puede utilizarse en estos días de forma práctica. El sistema cuenta con su propio entorno gráfico, soporte para dispositivos USB, e incluso posee algunos efectos de transparencias en su entorno. También tiene capacidades de red y puede navegar por Internet. Como si eso fuera poco, Menuet también puede ejecutar programas que no hayan sido escritos en lenguaje ensamblador. Tiene versiones de 32 y 64 bits, y cuenta con soporte de hardware para varios componentes de alto nivel, aunque ese campo en específico aún es un trabajo en progreso.

Soporte USB, red, y hasta puede generar algunas transparencias

El otro día vimos a alguien lo suficientemente loco como para crear un cliente de Twitter compatible con una Commodore 64. De repente, el ver a alguien que hace un sistema operativo de la nada con lenguaje ensamblador, no parece tan descabellado. Como suele suceder en estos casos, la funcionalidad del sistema operativo depende del hardware compatible y de las necesidades del usuario, pero nadie puede negar que MenuetOS es un excelente proyecto en sí mismo, y que el lenguaje ensamblador, por más mala reputación que pueda tener, sigue siendo increíblemente poderoso.



Artículo Siguiente
El G-8 quiere frenar el cambio climático
Artículo Anterior
Ordenadores reconocerían monumentos (Google)
CopyRight
Prohibida su copia total con o sin fines comerciales. Copias parciales deben citar la fuente.

 

URL Trackback para esta noticia:
Votos: 0 de 0
Truko
Truko
Truko
24/06/2009
12:50:09
#1   SE ve interesante pero se puede instalar en una PC virtual como Virtual BOX, trate pero no supe como hacerlos T-T
Baje la imagen de disket, respondí todo ese menús de configuración, al final decía que por donde instalar desde el disket o el ejecutable. escogí el primero y quedo pantalla negra.
     Responder 
Votos: 1 de 1
Jorge
Jorge
Jorge
24/06/2009
13:44:23
#2   IMPRESIONANTE.
Para los que conocen minimamente este lenguaje, van a pensar lo mismo. Estaremos viendo el esqueleto de un nuevo sistema operativo ??

     Responder 
Votos: 0 de 0
Arhes
Arhes
Arhes
24/06/2009
14:26:43
#3   Quizas estoy un perdido eneste tema, pero este SO al estar realizado en lenguaje ensamblador ¿se puede cargar sobre cualquier tipo de CPU?
     Responder 
Votos: 0 de 0
ecoronel
ecoronel
ecoronel
24/06/2009
15:44:50
#1   En principio no, voy a suponer que las implementaciones son sólo para las arquitecturas x86 y amd64, por ende no va a funcionar en cualquier CPU.
     Responder 
Votos: 0 de 0
Pepe Veraz
Pepe Veraz
Pepe Veraz
24/06/2009
16:21:57
#2   Pues segun sus creadores, tiene bastante compatibilidad con varios CPU.

aqui la lista.
http://www.menuetos.net/hwc.txt
     Responder 
Votos: 0 de 0
hector
hector
hector
24/06/2009
15:31:36
#4   impresionante un trabajo asi
ojala la comunidad se uniera a este tipo de trabajos
que son practicamente artisticos
y sacar adelante otro sistema operativo limpio de
lo que ya todo el mundo conoce o ha escuchado
     Responder 
Votos: 0 de 0
ecoronel
ecoronel
ecoronel
24/06/2009
15:45:57
#5   Hay varios S.O. construidos directamente en asm, creo que AmigaOS es un ejemplo de ello.
     Responder 
Votos: 0 de 0
Pepe Veraz
Pepe Veraz
Pepe Veraz
24/06/2009
16:18:28
#6   Simplemente impresionante.
     Responder 
Votos: 0 de 0
Derkeshtai
Derkeshtai
Derkeshtai
24/06/2009
17:47:56
#7   NO MAMES

Se ve padrisimo, a nivel funcional sepa como vaya, como siempre el problema es la compatibilidad con hardware... que ensamblador no es la pasta mágica con la que esta hecho windows?
     Responder 
Votos: 0 de 0
fernando
fernando
fernando
24/06/2009
17:50:10
#8   muy bueno, ahora tengo una pregunta para hacer, al correr programas de 32 o 64 bits, q no están en ensamblador, ¿estos programas corren más lentos?
     Responder 
Votos: 0 de 0
ChUkIsLuKiS
ChUkIsLuKiS
ChUkIsLuKiS
24/06/2009
19:04:06
#9   Me parace mas MAC que otro sistema operativo, (En entorno grafico), me a ganas de probarlo, pero no quiero ariesgar mi compu y veo que un comentario no pudo virtualizarlo asi que mejor no lo hago, espero que alguien lo hayga logrado y nos comente.
     Responder 
Votos: 0 de 6
FERTE
FERTE
FERTE
24/06/2009
19:40:35
#10   ¿Lenguaje ensamblador mala reputación y en desuso? Vaya panda de ignorantes. El lenguaje ensamblador es el núcleo de los sistemas operativos cualesquiera que sean. Los drivers se siguen escribiendo en ensamblador, las tareas de bajo nivel siguen necesitando ensamblador e incluso los compiladores de C y otros tantos lenguajes, traducen el código a código máquina que no deja de ser ensamblador. No se de dónde sacáis que es un lenguaje mítico con una casi prehistórico, cuando es algo que se usa todos los días.
     Responder 
Votos: 2 de 2
Galindezcba
Galindezcba
Galindezcba
25/06/2009
15:13:21
#1   Tercer renglon del primer texto:
"Para referencia de los más jóvenes debemos decir que el lenguaje ensamblador no es ningún mito".
Saludos.
     Responder 
Votos: 1 de 3
scmaverick
scmaverick
scmaverick
24/06/2009
20:45:59
#11   claro, windows y en general casi todos los sistemas importantes de hoy en dia estan escrito en C-C++ que al final general codigo maquina que puede ser facilmente traducido a ensamblador, recordemos que ensamblador no es mas que ponerle nombres a los conjuntos de bits que entiende un procesador y al final llamamos instrucciones.
Ademas para escribir C se tuvo que usar ensamblador, es decir, aunque la mayoria de programadores hoy en dia no lo usen directamente pues tienen compiladores de alto nivel, en realidad ensamblador sigue siendo la base de nuestros sistemas y nuestros compiladores lo siguen generando.
     Responder 
Votos: 4 de 4
Galindezcba
Galindezcba
Galindezcba
25/06/2009
14:56:39
#1   Compañero, la nota hace referencia, que no se usa en el mercado laboral el lenguaje asm.
Es cierto que todavia se usa, y de hecho lo hace a cada momento que se usa el ordenador, pero esta en un nivel de capa muy lejos de un usuario comun, esta casi a nivel maquina, entonces con eso de que ya casi ni se usa, se refieren que las compañias de desarrollo no se ponen a desarrollar sus aplicaciones bajo este lenguaje, ya que seria algo asi como "suicida" y contraproducente, si sabemos que tienen tiempos "x" de entrega de un producto (salvo excepciones, como ser drivers, y cosas muy puntuales).
En la epoca del dos, yo usaba Turbo C++ 3.0 y rutina de codigo embebido en asm, para hacer manejo del mouse, y la libreria grafica. Pero eran cosas muy puntuales, para poder trabajar en equipos viejos con menos potencia de proceso. Hoy en los tiempos que corren, usar asm para desarrollo de aplicaciones robustas... yo no lo usaria.

Difiero con vos con respecto a "todos los sistemas importantes de hoy en dia estan escritos en C-C++", no todos los "sistemas importantes" estan escritos en C-C++, en mi trabajo desarollamos software que los consideramos importantes, ya que manejan el sistema de transporte de la ciudad donde vivo, y los desarrollamos J2EE, PHP, VB.NET, Delphi entre otros. No necesariamente un software bien hecho e importante, esta hecho en C/C++.
Saludos.

     Responder 
Votos: 4 de 6
Nuglam Laggan
Nuglam Laggan
Nuglam Laggan
24/06/2009
22:22:00
#12   guau! por fin hablan de este sistema operativo, llevaba tiempo esperando,
pero olvidaron mencionar varias cosas:

cabe en diskette de 3 1/2. (desde el cual arranca)

puede iniciarse desde pendrive.

es un proyecto de origen ruso.

menuet, en sus versiones de 32 y 64 es de código cerrado y software de pago (se vende en un cd repleto de aplicaciones, como un FPS en 3d)

tiene una contraparte open source llamada kolibrí formada por una comunidad de usuarios que no estubieron deacuerdo con el cierre del código.

me gustaría que también hicieran un reportaje sobre kolibrí y que además dieran tips de su instalación y narraran la experiencia de uso (tal y como lo hacen con las distros de linux)
     Responder 
Votos: 0 de 0
Max Ferzzola
Max Ferzzola
Max Ferzzola
25/06/2009
1:55:13
#1   Anotado, Nuglam. Cuando se de la ocasión, las hacemos. ;)

Gracias por la info adicional.
     Responder 
Votos: 2 de 8
Daniel
Daniel
Daniel
24/06/2009
23:35:16
#13   Claro que es poderoso. Con el ensamblador se pueden manejar directamente el hardware, quién va a decir que NO es poderoso? Pero todo este poder tiene una contra parte: el desarrollo en ASM es MUY lento, y se necesita invertir mucho mas tiempo y recursos (y no hablo de recursos de hardware) en desarrollar algo que se podría hacer en mucho menor tiempo con un poco de C. Y al final, la diferencia de rendimiento tampoco es muy grande. Yo, me quedo con este ultimo.
Como curiosidad, este lenguaje se sigue utilizando para programar microcontroladores. Supongo que ya saben de lo que hablo.
     Responder 
Votos: 0 de 0
Galindezcba
Galindezcba
Galindezcba
25/06/2009
15:08:25
#1   Es para defender el mensaje. Porque le ponen un punto negativo a lo que dice, si es verdad?
Totalmente de acuerdo contigo.
Saludos.
     Responder 
Votos: 0 de 0
Asm
Asm
Asm
25/06/2009
10:29:43
#14   Programar en ensamblador hoy en día no suele ser necesario para mejorar la eficiencia de nuestros programas. Es más a veces hasta es contraproducente. Los compiladores modernos crean binarios aprovechando muchísima información del código y de la arquitectura/procesador en concreto que les permite optimizarlo de formas que el humano no podría, pues es muy difícil tener en cuenta todas esas variables. Ensamblador está bien para optimizar fragmentos de código pequeños, pero para hacer un SO es una locura. ¿Luego quién va a mantener ese código? ¿Dios?
     Responder 
Votos: 0 de 0
Galindezcba
Galindezcba
Galindezcba
25/06/2009
15:18:53
#1   No yo no lo voy a mantener al codigo! Demasiado tengo ya, atendiendo las solicitudes de todos los mortales en sus vidas cotidianas.
jajaja
Saludos.
     Responder 
Votos: 0 de 0
Yuri
Yuri
Yuri
25/06/2009
21:30:06
#25   esta es mi opinion
http://sites.google.com/site/compactamos/descargas/Opinion.txt?attredirects=0

No se porque no puedo escribir mucho en el comentario.Saludos
     Responder 
Votos: 2 de 2
Yuri
Yuri
Yuri
26/06/2009
16:44:25
#27   Hola a todos , quiero decirle que el cpu solo entiende las (instrucciones simples) las cuales se les asigna en ensamblador una palabra que las sustituye (nemonicas)

(http://es.wikipedia.org/wiki/Nem%C3%B3nico) para poder recordar mejor cual es su función.
Con esas instrucciones en binario es que trabaja el CPU (http://es.wikipedia.org/wiki/CPU) y en ensamblador con Nemonicas .Es cierto que programar en ensamblador no es fácil pero trae sus ventajas en rapidez , uso de memoria , cpu , determinadas tareas que no se pueden realizar con lenguajes de (alto nivel) (http://es.wikipedia.org/wiki/Lenguaje_de_alto_nivel) , al final todos los programas están hechos en ENSAMBLADOR porque el cpu no entiende instrucciones como
     Responder 
Votos: 1 de 1
Sansanoloko
Sansanoloko
Sansanoloko
27/06/2009
16:42:45
#29   Este sistema lo conocí hace unos 4 años, y lo probé en mi difunto celeron a 450 MHz, booteando de un diskete. Me impresionó lo que se podía hacer con 1.44 MB !!
Esa vez me puse a jugar con su codigo fuente (en ensamblador) con cosas sencillas, como traducir los textos del menu principal a español, corregir las fuentes de texto,y otras cosas que no recuerdo. Tambien le eché un vistazo al codigo fuente del kernel, lo que encontré una "obra de arte", equilibrio de sencillez y funcionalidad, y claridad del código (mis experiencias hasta esa fecha era ensamblador para microcontroladores PIC).
En ese tiempo el código lo mantenia su creador original, Ville Turjenmaa (India), pero despues lo delegó a otro...
Tal vez no sea un sistema robusto para implementaciones serias, pero, segun mi humilde opinion, es ideal para la enseñanza en universidades e institutos como introducción a los sistemas operativos.
     Responder 
Votos: 2 de 2
Artava
Artava
Artava
27/08/2009
1:14:26
#30   Yo también lo conocí hace unos 4 años, pues aun siendo Administrador de Empresas me ha interesado los Sistemas en cuanto a software y hardware, por lo que soy autodidacta en el tema, claro con algunos cursos cortos realizados en instituciones de mi país. El punto es que para una persona como yo, con deseos de aprender, pero con muchísimas limitaciones en el tema, me sorprendió gratamente lo que habían realizado con esto y me entusiasmé a intentar utilizarlo, además a mostrárselo al resto de mortales no Ingenieros de sistemas, quienes quedaron igualmente sorprendidos. Bueno, hace rato ya que no había vuelto a indagar por la evolución de Menuetos y veo, sorprendido nuevamente, que su diseño es mas acorde con los tiempos que surcamos, pero con tristeza registro que en adelante es de código cerrado y que tomo rumbos comerciales.
     Responder 
 
 
Datos  Login Registrarse
Usuario
   
Email
Website
 
Nuevo comentario:


Tags HTML permitidos: br
 

Síguenos en TwitterAgréganos a tu RSS

 

Autores