En teoría, sí, pero en la práctica no.
¿Como gestionaríamos las interrupciones de los chip de E/S? ¿Y del resto del equipamiento? Bueno, sí, escribiendo en direcciones de memoria mapeadas a E/S, pero eso, desde Perl básico, no se puede.
Este asunto se ha comentado varias veces, en la comunidad...
- año 2000: Simon Cozens habla de Perlix, un sistema operativo resultado de la unión de las Perl Power Tools y del proyecto Perl Shell. Ese mismo año, en agosto, se vuelve a comentar el Perlix en PerlMonks
- 2007: Alguien, con buen humor, crea PerlOS, un programa en Tk que "imita" un sistema operativo.
- julio/2011. En PerlMonks se anuncia la creación de un grupo google para la discusión de "perlos", pero la gente de PerlMonks recomienda que es más fácil hacer funcionar el intérprete de Perl sobre máquinas virtuales Java ya construidas para diversas plataformas hardware. En el primer mensaje se expone claramente los requerimientos, y no son nada sencillos. Parece que está parado desde octubre...
El principal problema es el diálogo directo con el
hardware. Necesitaríamos una capa mínima que pudiera dialogar con él.
También se ha comentado aprovechar Parrot, que es otra máquina virtual. Pero seguimos en las mismas.
Otra cuestión importante... ¿para qué? Parece que la excusa básica es que el propio lenguaje facilitaría la programación de la mayor parte de las utilidades (como las Perl Power Tools) de forma cómoda. O que la sola presencia de una máquina virtual Perl como sistema, facilitaría y aumentaría las prestaciones de los programas Perl ejecutados en ella (como los que hay en un servidor web).