miércoles, 9 de enero de 2019

Sistemas hardware y sistemas operativos(Ensamblador)

Al programar en ensamblador no sólo se utiliza el conjunto de instrucciones y registros de un cierto microprocesador sino que, además, se usarán dichas instrucciones para acceder a elementos hardware, como el adaptador de vídeo, el teclado o los buses de comunicaciones de una cierta arquitectura de ordenador. De igual manera, para efectuar ciertas tareas se utilizarán servicios puestos a disposición de las aplicaciones por el sistema operativo.

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