KolibriOS está escrito completamente en lenguaje ensamblador usando el FASM.

Iniciado por Weeken, 24 Noviembre 2012, 03:05 AM

0 Miembros y 1 Visitante están viendo este tema.

Weeken

KolibriOS

(también conocido como KOS o Kolibri) es un sistema operativo libre con un núcleo monolítico anticipativo en tiempo real escrito para PC con arquitectura x86 de 32 bits. Es desarrollado y mantenido por The KolibriOS Project Team.







KolibriOS está escrito completamente en lenguaje ensamblador usando el FASM. Sin embargo, permite que lenguajes y compiladores de alto nivel (C--, C, C++, Free Pascal, Forth; entre otros) puedan ser usados para el desarrollo de aplicaciones.

Es un fork de MenuetOS que nace en el año 2004, y cuya comunidad está formada principalmente por desarrolladores de países pertenecientes a la antigua Unión Soviética.

Actualmente existen versiones disponibles en los idiomas ruso, inglés y alemán.

Algunas características

Arranca desde un disquete, un disco compacto, un disco duro (aún con NTFS) o una memoria USB. También es posible iniciarlo desde Microsoft Windows, aunque para eso Windows debe cerrarse primero.
Interfaz gráfica de usuario basada en VESA, con resolución de hasta 1280x1024, en 16 millones de colores.
Entorno de desarrollo IDE: editor con Macro Assembler (FASM) integrado.
Soporte total de protocolo TCP/IP.
Cabe en un solo disquete de 1.44MB (muchas de las aplicaciones se encuentran comprimidas.)
Multitarea anticipativa (preemptive multitasking), hilos (streams) y ejecución en paralelo de llamadas de sistema (system calls).
Puede funcionar con tan sólo 8MB de memoria RAM.
Sistemas de archivos soportados: FAT12/FAT16/FAT32 (con soporte de nombres largos), NTFS (sólo lectura), ISO 9660 (incluyendo multi-sesión), Ext2 e Ext3 (sólo lectura).
Soporte de "codec" de audio AC'97 para chipsets Intel, nForce, nForce2, nForce3, nForce4, SIS7012, FM801, VT8233, VT8233C, VT8235, VT8237, VT8237R, VT8237R Plus y EMU10K1X.
Reproductor de MP3, WAV, XM.
Soporte para lectura de CD y DVD.
Soporte de "temas" para cambiar el aspecto visual de la interfaz gráfica de usuario directamente desde el sistema operativo.

http://kolibrios.org/en/

cronos426

Si que lo desconocía, esta bajo licencia GPL o es privativo.

Saludos.
G+: cronos | Twitter: @cronos426 | Pump.io: @cronos | IRC: cronos/cr0n0s
Manjaro 0.8.9 Xfce 4.10 i686 | Fedora 19 Gnome 3 x86_64 | Debian Wheezy Xfce 4.8 i686
"Reciclemos, el planeta nos necesita"

Binary_Death

Cita de: cronos426 en 24 Noviembre 2012, 22:52 PM
Si que lo desconocía, esta bajo licencia GPL o es privativo.

Saludos.

En la web tienes para descargar la imagen ISO y también el código fuente del kernel.

No es un OS para usar a diario, es más como un experimento de laboratorio. Tiene su gracia... escribirlo en ASM es un trabajazo que ya me gustaría a mí algún día ser capaz de hacer.

cronos426

Cita de: Binary_Death en 25 Noviembre 2012, 00:49 AM
En la web tienes para descargar la imagen ISO y también el código fuente del kernel.

No es un OS para usar a diario, es más como un experimento de laboratorio. Tiene su gracia... escribirlo en ASM es un trabajazo que ya me gustaría a mí algún día ser capaz de hacer.

Ya lo estuve checando y como dices es algo experimental por llamarlo de alguna forma, interesante la verdad.

Saludos.
G+: cronos | Twitter: @cronos426 | Pump.io: @cronos | IRC: cronos/cr0n0s
Manjaro 0.8.9 Xfce 4.10 i686 | Fedora 19 Gnome 3 x86_64 | Debian Wheezy Xfce 4.8 i686
"Reciclemos, el planeta nos necesita"

Weeken

Cita de: Binary_Death en 25 Noviembre 2012, 00:49 AM
En la web tienes para descargar la imagen ISO y también el código fuente del kernel.

No es un OS para usar a diario, es más como un experimento de laboratorio. Tiene su gracia... escribirlo en ASM es un trabajazo que ya me gustaría a mí algún día ser capaz de hacer.

yo tambien no me imaginaba que existia sistema operativo en emsamblador  pero me imagino que debe ser un trabajo muy complicado hacerlo ,como aca todos les gusta asm les invito a  experimentarlo hacer aplicaciones nunca cae mal  y cual seria sus ventajas & desventajas.

mas bien como ven el kernel es bien libre  como dicen ,por que escuche que el kernel de linux no esta del todo libre  es verdad ese rumor o me han engañado :huh:

 


 

x64core

Me habia eltitulo del tema y una parte de la instroduccion e hiba decir que era ridiculo pero a la vez admirable programar
un SO complemente con la sintaxis de FASM ( aparte que no tiene facilidades como if,else,switch ,etc ) pero cuando lei las caracteristicas del SO pues vale me lo he creido:

Interfaz gráfica de usuario basada en VESA, con resolución de hasta 1280x1024, en 16 millones de colores.
Cabe en un solo disquete de 1.44MB (muchas de las aplicaciones se encuentran comprimidas.)
Puede funcionar con tan sólo 8MB de memoria RAM.

de todos modos buen trabajo.

avesudra

Probado en su día en VMWare , puedo confirmar que vá tan rápido como dicen  ;-)
Regístrate en

fary

Teneis tambien MenuetOS que esta programado tambien por completo en FASM.

PD: si hay if, else y etc. Macros ;)

Un byte a la izquierda.

0xDani

Cita de: mDrinky en 25 Noviembre 2012, 16:52 PM
Teneis tambien MenuetOS que esta programado tambien por completo en FASM.

PD: si hay if, else y etc. Macros ;)



Lo de las macros no lo habia pensado, mola.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

_Enko

http://board.flatassembler.net/forum.php?f=12&sid=9066c69c4e36318018c2aa76ee2c2e6d

KolibriOS es un proyecto a parte que se salió de MinuetOS.
Como fue discontinuado,  lo continuaron como kolibri.

Es un buen proyecto, pero esta hecho por hobby.



fasm  trae unas includes de macros por defecto: proc, format pe 32, entry, if, elseif, end, struct y un monton mas. Inclusive para generar recursos tipo formularios.
Pero en realidad, lo que tiene es un preprocesador que traduce las macros a codigo asm.

Ej.
macro stdcall proc,[arg] ; directly call STDCALL procedure
{ common
    if ~ arg eq
   reverse
    pushd arg
   common
    end if
    call proc }


al usar la macro stdcall de esta manera:

stdcall func, eax, [r], szStr

El preprocesador durante el ensamblaje lo convierte en:

push szStr
push [r]
push eax
call func