Arquitectura de sistemas operativos

Solo disponible en BuenasTareas
  • Páginas : 7 (1734 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de agosto de 2012
Leer documento completo
Vista previa del texto
ARQUITECTURA UN SISTEMA OPERATIVO
Uno de los aspectos más importantes de los SO es la capacidad de multiprogramar.
La multiprogramación incrementa el uso de la CPU organizando los trabajos de modo que ésta siempre tenga uno que ejecutar. Es importante porque en general, un sólo usuario no puede mantener la CPU o los dispositivos E/S ocupados continuamente.
El tiempo compartido (omultitarea) es una extensión lógica de la multiprogramación: la CPU ejecuta múltiples trabajos conmutando entre ellos, pero tan frecuentemente que los usuarios pueden interactuar con cada programa mientras está en ejecución. Un SO de tiempo compartido permite que muchos usuarios compartan simultáneamente la computadora, puesto que el sistema cambia rápidamente de un usuario al siguiente, cada uno tiene laimpresión de que el sistema completo está dedicado a él.

El tiempo compartido y la multiprogramación requieren mantener simultáneamente en memoria varios trabajos. Dado que la memoria principal suele ser pequeña para todos esos trabajos, éstos se suelen mantener inicialmente en el disco, en una cola de trabajos, esperando la asignación de memoria. Si hay varios trabajos y no hay espacio paratodos, el sistema debe hacer una selección, es lo que se llama planificación de trabajos. Además, si hay varios trabajos preparados para
ejecutarse al tiempo, el sistema debe elegir, es lo que se denomina planificación de la CPU. En un sistema de tiempo compartido, el sistema operativo debe asegurar un tiempo de respuesta razonable, lo que en ocasiones se hace a través de un mecanismo deintercambio, donde los procesos se intercambian entrando y saliendo de la memoria al disco. Un método más habitual es utilizar una memoria virtual, que permite ejecutar un proceso que no está completamente en memoria. La ventaja de éste último método es que permite ejecutar programas más grandes que la propia memoria física.

OPERACIONES DEL SISTEMA OPERATIVO
Los SO modernos están controlados porinterrupciones, si no hay ningún proceso que ejecutar, ningún dispositivo E/S al que dar servicio y ningún usuario al que responder, el SO permanece inactivo, esperando que algo ocurra. Estos sucesos se indican mediante la ocurrencia de una interrupción o una excepción (que es una interrupción generada por software, debido a un error o a una llamada al sistema). Dado que el SO y los usuarios compartenlos recursos hardware y
software, es muy importante asegurar que un error en un programa de usuario sólo genere problemas en dicho programa.
Operación en modo dual
Para asegurar la correcta ejecución del SO, tenemos que poder distinguir entre la ejecución de código del SO y del código definido por el usuario. Por ello, como mínimo necesitamos dos modos de operación: el modo usuario y el modokernel. Un bit de modo se añade al hardware para diferenciar entre una tarea que se ejecute en nombre del SO y otra que se ejecute en nombre del usuario. El modo dual nos proporciona los medios para proteger el sistema operativo de los usuarios que puedan causar errores, y para proteger a unos usuarios de los errores de otros.
Esta protección se consigue designando algunas instrucciones comoinstrucciones privilegiadas.
Las llamadas al sistema proporcionan los medios para que un programa de usuario pida al sistema operativo que realice tareas reservadas. Cuando se ejecuta una llamada al sistema, el hardware la trata como una interrupción software. El control pasa a través del vector de interrupción a una rutina de servicio del sistema operativo, y el bit de modo se establece en modokernel.
Temporizador
Para asegurar que el SO mantenga el control sobre la CPU debemos, por ejemplo, impedir que un programa de usuario entre en un bucle infinito, o que no llame a los servicios del sistema y nunca devuelva el control al SO. Para ello generalmente se implementa un temporizador variable mediante un reloj de frecuencia fina y un contador. El SO configura el contador: cada vez que...
tracking img