Explorando el Sistema Operativo: Funciones, Historia y Componentes Clave

El Sistema Operativo como una Máquina Extendida

Desde esta perspectiva, la función del sistema operativo es presentar al usuario el equivalente de una máquina extendida o máquina virtual que es más fácil de programar que el hardware subyacente.

El Sistema Operativo como un Gestor de Recursos

El concepto de sistema operativo como algo que proporciona primordialmente a sus usuarios una interfaz cómoda es un enfoque descendente (top-down). Un enfoque alternativo, ascendente (bottom-up), diría que el sistema operativo está ahí para administrar todos los elementos de un sistema complejo.

Historia de los Sistemas Operativos

La Primera Generación (1945-1955): Tubos de Vacío y Tableros de Conexiones

La Segunda Generación (1955-1965): Transistores y Sistemas por Lotes

La Tercera Generación (1965-1980): Circuitos Integrados y Multiprogramación

La Cuarta Generación (de 1980 hasta el presente): PC

La memoria virtual (la capacidad de ejecutar programas más grandes que la memoria física)

Tipos de Sistemas Operativos

  • Sistemas Operativos de Mainframe

    Tales máquinas se distinguen de los ordenadores personales por su capacidad de E/S.

  • Sistemas Operativos de Servidor

    Dan servicio a múltiples usuarios a través de una red.

  • Sistemas Operativos Multiprocesador

    Conectan varias CPUs en un mismo sistema.

  • Sistemas Operativos de Ordenador Personal

    Su cometido consiste en presentar una buena interfaz a un único usuario.

  • Sistemas Operativos de Tiempo Real

    Estos sistemas se caracterizan por tener al tiempo como su principal parámetro.

Aspectos Hardware

Procesadores

El ciclo básico de toda CPU consiste en tomar la primera instrucción de la memoria, decodificarla para determinar su tipo y operandos, ejecutarla, y luego tomar, decodificar y ejecutar las instrucciones subsiguientes.

Contador de programa (PC), puntero de pila (SP), registro de estado (PSW)

Pipeline

Una CPU podría tener unidades individuales para extraer, decodificar y ejecutar, de manera que mientras esté ejecutando la instrucción n

Para obtener algún servicio del sistema operativo, el programa de usuario debe hacer una llamada al sistema, la cual realiza un trap dentro del núcleo e invoca al sistema operativo.

La instrucción TRAP (interrupciones y excepciones) cambia de modo usuario a modo núcleo y cede el control al sistema operativo. Una vez completado el trabajo solicitado al sistema operativo, se devuelve el control al programa de usuario justo en la instrucción inmediatamente siguiente a la llamada al sistema.

Memoria

Dispositivos de E/S

Las operaciones de entrada y salida pueden realizarse de tres maneras distintas.

En el método más sencillo, un programa de usuario realiza una llamada al sistema, que el núcleo traduce en una llamada a un procedimiento del driver apropiado. El driver pone en marcha entonces la E/S y entra en un bucle de espera que consulta continuamente el dispositivo para ver si ya terminó (es usual que haya un bit que indique si el dispositivo sigue ocupado o no). Una vez terminada la E/S, el driver coloca los datos (si los hay) donde se necesitan y retorna. El sistema operativo devuelve entonces el control al programa que lo invocó a través de la llamada al sistema. Este método se denomina espera activa (busy waiting o polling) y tiene la desventaja de mantener ocupada a la CPU consultado el estado del dispositivo hasta que termina la E/S.

El segundo método consiste en que el driver pone en marcha el dispositivo y lo programa para que genere una interrupción cuando haya terminado. En ese momento el driver retorna devolviendo el control al sistema operativo. Entonces el sistema operativo si es necesario bloquea al programa que hizo la llamada al sistema y busca otras cosas útiles que hacer. Cuando el controlador (hardware) del dispositivo detecta el final de la transferencia, genera una interrupción para avisar de su terminación.

El tercer método para realizar la E/S utiliza un chip especial de DMA (Direct Memory Access; acceso directo a memoria) que puede controlar el flujo de bits entre la memoria y algún controlador de dispositivo sin que la CPU tenga que intervenir constantemente. La CPU programa el chip de DMA, indicándole cuántos bytes hay que transferir, el dispositivo, las direcciones de memoria en cuestión y el sentido, para a continuación desentenderse de él. Cuando el chip de DMA termina, provoca una interrupción que se trata como acabamos de describir.

Conceptos de los Sistemas Operativos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.