Sistemas Operativos - Introduccion A Los Computadores
Sistemas Operativos - Introduccion A Los Computadores
Sistemas Operativos - Introduccion A Los Computadores
Elementos básicos
Al más alto nivel, un computador consta de:
1
Unidad 1 - Introducción a los computadores Resumen Primer Parcial
De datos: generalmente son de propósito general y se usan para almacenar datos que
después van a ser procesados (términos o resultados de una suma)
De dirección:
– Registro índice: Se utiliza para formar direcciones físicas a partir de direcciones
lógicas (base + indice). Es decir, implica sumar un índice a un valor base para
obtener la dirección efectiva.
– Puntero de segmento: se utiliza para formar direcciones de acceso a memoria
de la forma “segmento + desplazamiento”. Cuando la memoria se divide en
segmentos, una referencia a la memoria consta de una referencia a un
segmento particular y un desplazamiento dentro del segmento.
– Puntero de pila: Señala la parte superior de la pila. Contiene la dirección del
extremo superior.
2
Unidad 1 - Introducción a los computadores Resumen Primer Parcial
3
Unidad 1 - Introducción a los computadores Resumen Primer Parcial
Ejemplo de un programa
El PC empieza diciendo que hay
que ir a la dirección 300, luego se
carga en el IR la instrucción 1940
(indicado por la flecha). Esta
instrucción indica que hay que
copiar lo que hay en la dirección
940 al registro AC.
Después de esto, el PC se
incrementa y se copia lo que hay en
301 (5941) a IR. Esta instrucción
dice que hay que sumar lo que está
en el AC (0003) con lo que hay en el
registro 941 (0002), y guardar el
resultado (0005) en AC.
Interrupciones
Los computadores proporcionan un mecanismo por el cual otros módulos (memoria y E/S)
pueden interrumpir el secuenciamiento normal del procesador.
Sirven para parar el procesador y llevarlo a hacer o ejecutar otro programa. Cuando el flujo
normal de ejecución del procesador se ve interrumpido por un evento, el mismo guarda el estado
de sus registros generalmente en la pila y comienza la ejecución de un código ISR – Rutina de
Servicio de Interrupción, (código designado a ejecutarse cuando se da una interrupción).
Una vez que se termina de servir a la interrupción, el procesador reanuda la ejecución del
programa previo.
Las interrupciones son una manera de mejorar la utilización del procesador. Lo que se hace es
liberar al procesador de los tiempos del proceso relativamente lentos para darle prioridad a cosas
que pueden o no estar relacionadas con lo que se venía ejecutando. Esto resulta una mejora en
la eficiencia del procesamiento. El procesador multiplexa su tiempo entre diferentes tareas.
Permiten también que exista el sistema operativo. En un sistema de control, cuando se ejecuta
el programa, no se ejecuta el sistema operativo en simultaneo. Pero, es necesario saber si está
todo bien, si sigue funcionando correctamente todo. Para eso está la interrupción. Lo que hace
4
Unidad 1 - Introducción a los computadores Resumen Primer Parcial
es darle la opción al sistema operativo para que se ejecute, tome el control del hardware, vea si
esta todo funcionando correctamente y luego seguir con la ejecución del programa. El sistema
operativo se controla en súper usuario.
Las clases de interrupciones son:
En función de esto busca la próxima instrucción del programa actual o busca la primera
instrucción de la rutina de interrupción.
Interrupciones Múltiples
Se tiene dos alternativas cuando tenemos múltiples interrupciones. Estas pueden servirse de
manera secuencial o por orden de prioridad.
En el caso secuencial, al comenzar la primera interrupción, se inhabilita el servicio de
interrupciones para poder terminar de servir esta primera. Una interrupción inhabilitada significa
que el procesador va a ignorar cualquier nueva petición de interrupción, y estas estarán
5
Unidad 1 - Introducción a los computadores Resumen Primer Parcial
Multiprogramación
Incluso utilizando interrupciones, puede que el procesador siga sin utilizarse eficientemente. Ya
que, si el tiempo requerido para completar una operación de Entrada/Salida es mayor que el
código de usuario entre llamadas de E/S, el procesador está parado la mayor parte del tiempo.
Para solucionar esto se utiliza la multiprogramación: Múltiples programas de usuario pueden
estar activos al mismo tiempo. La secuencia con la que se ejecutan los programas dependerá de
su prioridad relativa, así como de si está esperando la finalización de una operación de E/S.
6
Unidad 1 - Introducción a los computadores Resumen Primer Parcial
E/S por DMA: Igual que antes pero el dispositivo interrumpe cuando termina de copiar
los datos a la memoria principal. De esta forma se libera al procesador de la tarea de
mover los datos.
Jerarquía de memoria
Las tres características fundamentas de la memoria son: coste, capacidad, y tiempo de acceso.
Donde se cumplen las siguientes relaciones:
Memoria cache
La velocidad a la cual el procesador puede ejecutar instrucciones está limitada por el tiempo de
ciclo de memoria (tiempo que se tarda en leer o escribir una palabra). Idealmente, se debería
construir la memoria principal con la misma tecnología que los registros del procesador,
consiguiendo tiempos de ciclo de memoria comparables a los tiempos de ciclo del procesador.
Esta estrategia es muy costosa. La solución a esto es aprovechar el principio de proximidad
utilizando una memoria pequeña y rápida entre el procesador y la memoria principal, llamada
cache.
7
Unidad 1 - Introducción a los computadores Resumen Primer Parcial
8
Unidad 1 - Introducción a los computadores Resumen Primer Parcial