La disposición de la
memoria en el ordenador, localización de los puertos para acceder a
dispositivos externos al micro, interrupciones y otros parámetros dependen
directamente de la arquitectura hardware del sistema. Es totalmente distinto el
diseño hardware, por ejemplo, de un PC respecto a un Power Mac. Esto hace que
un simple programa que pretenda mostrar un mensaje en pantalla y solicitar una
entrada por teclado, todo ello escrito en ensamblador, sea totalmente distinto
para uno y otro sistema hardware.
Cuando las tareas a
efectuar son algo más complejas, como puede ser recuperar información de un
archivo en disco o abrir una ventana en un entorno gráfico, suele recurrirse a
los servicios que ofrece el sistema operativo, dejando que éste controle el
hardware en lugar de hacerlo nosotros directamente. Es otro punto en el cual se
crean fuertes dependencias entre programa y plataforma, en este caso plataforma
software. Son distintos, lógicamente, los servicios ofrecidos por Linux, DOS,
Mac OS y Windows, no estando disponibles las mismas funciones en cada uno de
ellos.
Los sistemas operativos
mencionados son cuatro de los más utilizados, si bien DOS,
Windows y Linux pueden
encontrarse para una misma arquitectura de procesador y hardware, mientras que
Mac OS es un caso aparte por la arquitectura de los procesadores PowerPC, si
bien recientemente Apple ha comenzado a usar los mismos microprocesadores de
Intel que se utilizan en los PC, y el propio diseño del hardware del Mac como sistema.
Referencia
Lenguaje
Ensamblador , 2da Edición, Francisco Charte Ojeda