Elucubrando

Septiembre 5, 2006

De sistemas operativos y emulaciones

Archivado en: — rodrigo @ 10:37 am

Siento desilusionarte, Hector, pero si tu profesor de sistemas operativos te dijo esto, cambiate de profesor.

La función de un sistema operativo es proporcionar abstracciones a los programas para el manejo del hardware. Esas abstracciones son presentadas en la forma de funciones (syscalls) que realizan las operaciones que el programa necesita. Diferentes sistemas operativos tienen diferentes operaciones que ofrecer a los programas, dependiendo de las decisiones de diseño del sistema.

Un programa compilado para un sistema operativo no ejecuta en el otro por que las llamadas al sistema que espera usar no están ahí. Esto no sólo funciona para Linux vs Windows. Linux y un BSD, por ejemplo, tienen básicamente las mismas funciones, pero como implementan de forma diferente el mecanismo para llamarlas, un programa compilado para uno no corre en el otro*.

Si solo fuera cuestión del acomodo en memoria, hacer una emulación (del sistema operativo, no de arquitectura de procesador o algo así) sería muy sencillo. Bastaría con cargar las piezas del programa en otro orden. Precisamente por que no se trata sólo de eso es que el proyecto wine lleva años trabajando en lograr esta emulación y todavía no termina.

* Sé que hay bibliotecas de emulación de unos en los otros. Estoy tratando de simplificar esto, ¿sí?

Hay una respuesta a “De sistemas operativos y emulaciones”

  1. hreyes Dice:

    hola gracias por la aclaracion sobre el tama

Deje un comentario

Para evitar el spam, todos los comentarios deben esperar a ser aprobados. Prometo no censurar nada.

Además, cualquier comentario que diga 'poker' o 'casino', será borrado automáticamente sin aviso previo. No usen esas palabras aquí, por favor.

Gestionado con WordPress