Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1. > ## Tema 1: Introducción, Arquitectura Sistemas Operativos.
  2.  
  3. Se denomina máquina desnuda a un ordenador sin sistema operativo. Un ordenador no tiene por qué ser una máquina de sobremesa o un gran servidor, como los conocemos y sabemos que sí disponen de él. Un reloj digital, una calculadora o una lavadora tienen sistemas digitales empotrados que son, en esencia, máquinas desnudas. Para entender el concepto hay que repasar la _arquitectura Von neumann_.
  4.  
  5. El ordenador consta de unidad central de proceso, memoria y dispositivos de entrada/salida.
  6.  
  7. En la CPU se distinguen:
  8.  
  9. * _ALU_: Unidad Aritmético Lógica. Realiza operaciones sobre el contenido del acumulador.
  10.  
  11. * _Registros de propósito general:_ son una memoria muy rápida-
  12. * _Unidad de control:_ secuencia todas las acciones usando señales digitales. Contiene el contador de programa, que apunta a la siguiente instrucción; el stack pointer y el registro de instrucción, que almacena la operación que se está ejecutando. El Registro RE guarda el estado.
  13. * _Memory Address Register (MAR para los amigos):_ sirve para seleccionar que dirección de memoria o de E/S queremos usar.
  14. * _Memory Buffer Register (MBR para los amigos):_ almacena el dato que se lee o escribe desde memoria. Dependiendo de la arquitectura puede haber también registros especializados para la E/S.
  15.  
  16. La memoria comprende tanto la RAM, como la ROM y se conecta mediante los buses de datos, direcciones y control. Los dispositivos de entrada/salida permiten interactuar con el mundo exterior (teclado, ratón, monitor, etc...), almacenar datos no volátiles y conectarse a otros equipos.
  17.  
  18. Esta es la arquitectura simplificada de una máquina monoprocesador. La CPU sólo ejecuta su código máquina nativo y lo hace de forma secuencial. Para conseguir que el ordenador haga algo hay que cargar en memoria el ejecutable y hacer que el PC apunte a la primera instrucción. En los ordenadores primitivos eso se hacía a mano, el programador cableaba las conexiones y ponía el PC al valor adecuado.
  19.  
  20. En un sistema empotrado muy simple, como un reloj digital, el programa no va a cambiar nunca y realiza una labor sencilla y predecible.
  21.  
  22.  
  23.  
  24. > ### 1. Flujo de ejecución
  25.  
  26. Todo ordenador, con independencia de que use o no Sistema Operativo, repite de forma secuencial tres pasos:
  27.  
  28. 1. Lectura de la instrucción apuntada por el PC. El contenido del PC se escribe en el bus de direcciones, se lee de memoria el dato y se almacena en el registro de instrucción.
  29. 2. Se incrementa el PC para que apunte a la siguiente instrucción. Dependiendo del juego de instrucciones, la longitud de cada una de ellas puede ser diferente pero la unidad de control es capaz de hacerlo examinando el código de operación.
  30. 3. Se ejecuta la instrucción cargada en el RI. La UC genera las señales adecuadas en función del opcode.
  31.  
  32. Esta secuencia de operaciones se repite de manera indefinida a menos que se produzca una de las siguientes condiciones:
  33.  
  34. * El programa incluya una instrucción de salto, que modifica el contenido del PC y cambia el flujo de ejecución.
  35.  
  36. * Se produzca una llamada a subrutina. En ese caso, en la máquina desnuda, el programador es responsable de salvar los registros de la CPU. Esto se hace llevándolos a stack, usando la instrucción PUSH, que modifica también el contenido de SP. Cuando termina la subrutina con la instrucción RET, se recupera el valor del PC automáticamente. El programador debe recuperar también los registros desde el stack, usando la instrucción POP y la máquina sigue ejecutando el flujo normal con la instrucción siguiente a la llamada subrutina.
  37.  
  38. * Interrupción. Una interrupción es una ruptura del flujo por una condición externa (HW, E/S, etc...) que la CPU conoce por una señal o conjunto de señales eléctricas. El tratamiento puede ser muy complejo en función del enmascaramiento, pero el flujo simplificado es el siguiente.
  39.  
  40. La CPU reconoce la señal de interrupción e identifica su número. En una máquina desnuda saltaría a una única rutina de tratamiento, grabada en la ROM, en la realidad usará una tabla del SO para elegir la dirección adecuada en función del número de interrupción. Se salvan los registros desde esta rutina, se ejecuta el código de servicio, se recuperan y se vuelve usando RETI. Las diferencias con la subrutina de usuario son que la interrupción sucede de forma inesperada y el cambio de contexto debe estar contenido en la rutina de interrupción.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement