Fundamentos de los sistemas operativos

Componentes de un Sistema Operativo

Un Sistema Operativo está compuesto por:

■ Gestión de procesos.
■ Administración de memoria principal.
■ Administración de ficheros. 
■ Gestión de los dispositivos de entrada/ salida.

Gestión de procesos

Un proceso es un programa que ha iniciado su ejecución, cada uno de estos tiene proporcionado un espacio de direcciones en la memoria. Cada proceso está asociado con algún conjunto de registros, incluido el contador de programa, el apuntador de pila y otros registros de hardware, así como la demás información para ejecutar un programa. El ciclo de vida de un proceso nace cuando se inicia su ejecución y muere en el momento en que finaliza su ejecución o es cancelado.
 
Cuando un programa se ejecuta, este ingresa a un sistema de cola, y el planificador de trabajo del Sistema Operativo va seleccionando de esta el programa a ejecutarse, este tipo de proceso es conocido como procesamiento por cola serie o “por lotes” (batch).

Administración de memoria principal

Un Sistema Operativo consume algunos recursos de un sistema de cómputo durante su propia operación; por ejemplo, ocupa memoria y  usa el CPU. Este consumo de recursos constituye una sobrecarga (overhead) que reduce los recursos disponibles a los programas de los usuarios.

La memoria es como un gran archivador con muchos compartimientos (bytes) a los que se accede mediante una dirección única; estos datos son compartidos por la CPU y los dispositivos de Entrada/Salida.

Un Sistema Operativo asigna un área de memoria cuando un proceso lo solicita, rastreando las áreas donde se ha liberado memoria por los procesos finalizados. El aspecto clave de la administración de memoria es la fragmentación de memoria, el cual hace referencia a la presencia de áreas libres de memoria inutilizables.

El Sistema Operativo se encarga de administrar la memoria con el fin de identificar qué fragmento de la memoria está siendo utilizada y por quien, disponer qué procesos se asignarán en memoria cuando haya espacio disponible y finalmente, asignar y reclamar espacio de memoria cuando sea necesario, después de haberle asignado a los procesos P1 y P2; estos fragmentos de memoria permanece sin ser utilizada porque es demasiado pequeña para asignar un proceso, pero conjuntamente son bastantes grandes para ser asignadas a un nuevo proceso.

Administración de ficheros

Los usuarios de la computadora esperan un acceso rápido a los archivos, confiabilidad al encarar las fallas, habilidades para compartir los archivos con compañeros de trabajo y una garantía de que ninguna de las personas no autorizadas puedan usar o manipular indebidamente sus archivos. El sistema de archivo provee una visión lógica al usuario, que consta de una jerarquía del directorio del sistema de archivos, en el cual cada usuario tiene un directorio raíz.

Por lo tanto, cuando un usuario desee remitirse a una información puntual, solo tiene que crear un archivo indicándole el nombre que considere oportuno. 

Gestión de los dispositivos de entrada/salida

El Sistema Operativo administra cada uno de los periféricos de un equipo, con el fin de que estos puedan ser compartidos eficientemente por los distintos procesos, informar al usuario las características particulares del hardware que está utilizando.

Asimismo, el Sistema Operativo contiene gestores de periféricos, que son rutinas de E/S encargadas de controlar dispositivos, estos gestores son los únicos que deberán tener en cuenta las peculiaridades concretas de los dispositivos. La rutina de entrada/ salida realiza las comprobaciones necesarias sobre la operación que se va a realizar, y hace la petición de servicio al gestor del periférico correspondiente, que será el que efectúe la operación.

Las operaciones de E/S pueden realizarse de tres formas: modo programado de E/S es lento e involucra al CPU en una operación de E/S, por consiguiente, solo puede ejecutarse una operación de E/S. El modo de interrupción es también lento, de modo que se ejecuta una trasferencia de datos byte por byte; de cualquier forma, aquél libera la CPU de las trasferencias de bytes. El modo directo de acceso a la memoria (DMA) puede trasferir un bloque de datos entre la memoria y un dispositivo de E/S sin involucrar al CPU. La interrupción y los medios (DMA) permiten la ejecución simultánea de varias operaciones.

Las operaciones DMA las ejecuta un procesador de propósitos espaciales que están dedicados a la ejecución de las operaciones de E/S.

Clasificación de los sistemas operativos Sistema de multiprogramación.

La concurrencia de operación entre el CPU y el Subsistema de E/s puede explotarse para hacer el sistema haga más trabajo. El Sistema
Operativo puede poner a muchos programas del usuario en la memoria y permitir que el CPU ejecute las instrucciones de un programa. A esta técnica se le llama multiprogramación.

Operación de un sistema multiprogramación Fuente: Propia (Soporte arquitectónico de un sistema multiprogramación).

La operación de un Sistema Operativo multiprogramación, donde la memoria contiene tres programas. Una operación de E/S está en curso para el programa 1, mientras que el CPU ejecuta el programa 2. El CPU es conmutado al programa 3 cuando el programa 2 inicia una operación de E/S, y se le conmuta al programa 1 cuando se termina la operación de E/S del programa 1. El kernel de multiprogramación realiza la planificación, la administración de la memoria y la administración de E/S.

DMA: el CPU inicia una operación de E/S cuando se ejecuta una instrucción de E/S. El DMA implementa la trasferencia de datos que interviene en la operación de E/S sin involucrar al CPU. Igualmente, ocasiona una interrupción de E/S cuando termina la trasferencia de datos.

Protección de la memoria: asegura que un programa no tenga acceso ni destruya el contenido de las áreas de la memoria ocupadas por otros programas o por el sistema operativo.

Modo privilegiado del CPU: ciertas instrucciones, llamadas instrucciones privilegiadas, pueden realizarse solamente cuando el CPU esté en el modo privilegiado. Se ocasiona una interrupción de programa cuando el CPU está en el modo de usuario.

En un sistema de multiprogramación, el tiempo de demora es afectado por la cantidad de atención de la CPU que se dedica a otros trabajos que se ejecutan concurrentemente, de modo que el tiempo de demora de un trabajo depende del número de trabajos en el sistema y de las prioridades relativas que el planificador asigna a los diferentes trabajos

Sistemas de tiempo compartido.

En un ambiente de cómputo interactivo un usuario no tiene contacto con su programa durante su ejecución. En tal ambiente es natural usar el procesamiento por lotes o el paradigma de la multiprogramación. Los dos sistemas proveen un servicio deficiente al usuario, sin embargo, esto es inevitable debido a la naturaleza de los dispositivos de E/S en uso.

En un ambiente interactivo, un usuario puede proveer entradas a un programa desde el teclado y examinar su salida en la pantalla del monitor. Se usa un paradigma diferente del Sistema Operativo en tales ambientes para proveer un servicio rápido de lo que el usuario solicita, crea la ilusión de que cada usuario tiene un sistema de cómputo para su disposición exclusiva.

El servicio de usuario se caracteriza en términos del tiempo asumido para dar atención a una subpetición, es decir, el tiempo de respuesta. Los beneficios de los buenos tiempos de respuesta se aprecian mejor durante el desarrollo del programa. Una petición típica emitida por el usuario implica la compilación de una declaración o una ejecución de un programa para los datos dados. La respuesta consta de un mensaje del compilador o de resultados computados por un programa. Un usuario emite la siguiente petición después de
recibir la respuesta a la petición previa. Los buenos tiempos de respuesta conducirán a  una mejora en la productividad del usuario. Cualquier aplicación en el cual un usuario tiene que interactuar con un cómputo derivará beneficios similares de los buenos tiempos
de respuesta.

Sistema Operativo de tiempo real

Una aplicación de tiempo real es un programa que responde a las actividades en un sistema externo dentro de un tiempo máximo determinado por el sistema externo.

En una clase de aplicaciones llamadas aplicaciones de tiempo real, los usuarios necesitan que la computadora realice algunas acciones
oportunas para controlar las actividades en un sistema externo, o participar de ellas. La puntualidad de acciones se determina por las restricciones de tiempo del sistema externo.

Si la aplicación se toma mucho más tiempo para responder a una actividad, puede ocurrir un fracaso en el sistema externo. Usamos el tiempo requisito de respuesta de un sistema para indicar el valor más grande de tiempo de respuesta para el cual el sistema puede funcionar perfectamente; una respuesta oportuna es aquella cuyo tiempo de respuesta es más pequeño que el requisito de respuesta del sistema.

Algunos ejemplos de este tipo de aplicación en tiempo real, pueden ser las aplicaciones de guía, dirección y control de misiles, control de
procesos y control de tráfico aéreo, los sistemas de multimedia y las aplicaciones, como los sistemas bancarios y las reservas que se basan en el uso de base de datos en tiempo real.

Las características de un Sistema Operativo en tiempo real son:

■ Permite la creación de procesos múltiple dentro de una aplicación.
■ Permite la asignación de prioridades a los procesos.
■ Permite al programador definir las interrupciones y las rutinas de procesamientos de las interrupciones.
■ Usa planificación accionada por prioridades u orientadas a los plazos límite.
■ Suministra tolerancia a las fallas y capacidades de degradación parcial.
Sistemas operativos distribuidos.

Un Sistema Operativo distribuido consta de varios sistemas de cómputo individuales conectados a través de una red. Así, muchos recursos de la misma clase, por ejemplo, muchas memorias, CPU y dispositivos de E/S, existen en el sistema distribuido.

Un sistema distribuido saca provecho de la multiplicidad de recursos y de la presencia de una red para proveer las ventajas de los recursos compartidos a través de las computadoras, la fiabilidad de operaciones, la aceleración de aplicaciones y la comunicación entre usuarios.

Sin embargo, la posibilidad de fracasos de la red o del sistema de cómputo individuales complica el funcionamiento del Sistema
Operativo y necesita el uso de técnicas especiales en su diseño.

Las principales características de este tipo de sistema son:

•     Recursos compartidos: mejora la utilización de los recursos a través de las fronteras de los sistemas de cómputo individuales.
•     Fiabilidad: disponibilidad de recursos y servicios a pesar de las fallas. 
•     Rapidez del equipo: las partes de un cálculo pueden ejecutarse en diferentes sistemas de cómputo para acelerar el cómputo. •
Comunicación: suministra medio de comunicación entre entidades remotas.
•     Crecimiento por incrementos: puede magnificarse las capacidades del sistema a un costo  proporcional a la naturaleza y tamaño de la magnificación.



Última modificación: martes, 8 de septiembre de 2026, 09:17