Que es Toro kernel?

Toro es un kernel creado íntegramente en Pascal utilizando el compilador FreePascal.
Su escritura comenzó a finales del año 2003 por Matias E. Vara usando un nucleo monolítico.
Implementa la mayoría de las funciones de los sistemas operativos modernos.

Hasta la version 1.1.3 , era un Sistema Operativo , con un modelo paginado-segmentado de memoria .
Soporte multitasking , Virtual Filesystem ( Similiar al implementado en Linux) con drivers para la terminal , disketera y FAT12-FS , booteando a partir de un disket usando el standar Multiboot.
Tambien se ha portado FPC 1.0.6 para TORO atraves de una simple RTL.
Apartir de Junio del 2006 se modifico la estructura del proyecto , todo el código del kernel fue incluido en una RTL (Runtime Library) de FreePascal para procesadores i386 y AMD x86-64

El programa de usuario se compila junto al kernel y se ejecuta en modo nucleo.
El kernel de Toro fue escrito desde cero usando el compilador FreePascal 2.0.x , comienza con la version 0.01 , las caracteristicas del proyecto son :

- Soporte MultiThreading con Multiprocesamiento Simétrico Paralelo.
Interfaz entre FPC y el kernel totalmente transparente para el programador.
- Soporte de arquitecturas AMD x86-64 y Intel EMT64.
- Modelo de Memoria NUMA . (Non Uniform Memory Access ).
- Stack TCP-IP.
- Implementa un VFS con Drivers para Discos SATA y soporte para EXT2 FileSystem.
- Es independiente de la Arquitectura.
- Booteo a partir de discos duros.
El paquete incluye una RTL mínima para Freepascal 2.x.x y un conjunto de Unidades del kernel como Process.pas , Arch.pas ...
Se busca minimizar el numero de capas de abstracción entre la aplicación de usuario y el Sistema Operativo .
El kernel esta orientado para aplicación dedicadas y de tiempo real, no se utiliza la instrucción lock, nunca se inhiben la interrupciones y se implementa un modelo NUMA para mejorar el acceso a la memoria .

Para la compilacion de Aplicaciones de usuario utilizando Toro es recomendable leer el archivo CompilandoconToro.pdf , es una completa guia de como realizar el proceso de compilacion del kernel junto a la aplicacion de usuario

0 comentarios:

Publicar un comentario