sábado, 30 de noviembre de 2019

RESUMEN TEMA 3

Un proceso es un concepto manejado por el sistema operativo y que referencia un programa en ejecución.
Cuando se ejecuta más de un proceso de forma concurrente en un sistema, todos necesitan que el propio sistema les suministre una serie de recursos. Para ello, el sistema operativo, gracias a la UCP, se encarga de asignar estos recursos en un orden adecuado y atendiendo a unas prioridades. También realiza funciones de sincronización de todos los procesos, para que se ejecuten en el orden adecuado y según la prioridad decidida. 
Esta estructura de datos, que es única para cada proceso, identifica el proceso respecto de los demás y sirve para controlar su correcta ejecución. Es lo que se llama el bloque de control del proceso o BCP, y contendrá para cada proceso la siguiente información: estado actual del proceso, identificador del proceso, prioridad del proceso, ubicación en memoria y recursos utilizados. 

Una hebra es un punto de ejecución de un proceso. Un proceso tendrá siempre una hebra, en la que corre el propio programa, pero puede tener más hebras. 
Un proceso clásico será aquel que solo posea una hebra.

Una hebra o hilo es un subproceso de un proceso que consume recursos propios pero que depende del proceso padre que lo ha ejecutado.

Hoy en día existen gran cantidad de programas diseñados en multihilo o multihebra. De esta forma, si un programa puede realizar varias cosas, como analizar el registro del equipo, desfragmentar el disco duro y realizar copias de seguridad, todas ellas se podrán ejecutar a la vez. En programas convencionales, solamente se podría ejecutar una tras otra, pero no todas a la vez. 

Básicamente los estados posibles de un proceso, son los siguientes:

ü  En ejecución: El procesador está ejecutando instrucciones del programa que lo compone y tiene concedido el tiempo de uso de la UCP en un instante concreto. 
ü  Preparado en espera o activo: Un proceso está preparado para ser ejecutado; es decir, está esperando turno para poder utilizar su intervalo de tiempo y poner en funcionamiento sus instrucciones accediendo a los recursos del sistema. 
ü  Bloqueado. El proceso está retenido; es decir, está bloqueado debido a causas múltiples.
Un programa se convierte en proceso cuando se ejecuta y reside completamente en memoria RAM
Todos los procesos dentro de cualquier sistema operativo tienen unas características que los identifican. Cada proceso, tiene un identificador que lo discrimina de los demás. Cada proceso tiene un número asignado por el sistema operativo que sirve para identificar el proceso, lanzarlo a ejecución, detenerlo, cancelarlo, reanudarlo, etc. Este identificador de proceso se nombra con la abreviatura PID. (Proceso de Identificación de Proceso)





Toda la información de un proceso que el sistema operativo necesita para controlarlo se mantiene en una estructura de datos vista anteriormente: el bloque de control de procesos o BCP. En sistemas operativos multiproceso, el sistema operativo mantiene listas de bloques de control de procesos para cada uno de los estados del sistema. 
El BCP de cada proceso almacena información como:

ü  Estado actual del proceso. Ejecución, preparado o bloqueado. 
ü  Identificador del proceso. Dependiendo del sistema operativo, a cada proceso se le  asigna un PID. 
ü  Prioridad del proceso. La asignada por el planificador. 
ü  Ubicación en memoria. Dirección de memoria en la que se carga el proceso. 
ü  Recursos utilizados. Recursos hardware y software para poder ejecutarse. 

Gracias a los algoritmos de planificación, el cargador, planificador, BCP, recursos hardware y software se sincronizan mediante el sistema operativo para la ejecución ordenada de los procesos. 

Sabemos que el ordenador cuenta con la memoria central o principal, pero esta es limitada y, en grandes sistemas, insuficiente. 
Al principio, para ubicar los procesos en memoria y solucionar este problema, se adoptaron técnicas tales como dividir el programa en partes denominadas capas.

Al principio, en los sistemas operativos monousuario y monoproceso, la gestión de memoria era muy sencilla. Las memorias tenían poca capacidad y solo se reservaba una parte de ellas para el sistema operativo.
La parte del sistema operativo que administra la memoria es el administrador de memoria. Su labor es clara: llevar un registro de las partes de memoria que se están utilizando y de las que no.
Para gestionar la memoria en sistemas operativos multitarea, esta se divide en particiones fijas. Así, el sistema operativo dispone de una cola de los procesos que solicitan entrar en memoria. El planificador tiene en cuenta los requerimientos de memoria de cada uno de los procesos y las particiones de memoria disponibles. Estos requerimientos de uso de memoria se almacenan en el BCP (Bloque de control de procesos)
El swapping es una técnica similar a la de memoria virtual. Cuando varios usuarios están ejecutando procesos en un mismo ordenador, este se ve obligado a cargarlos en RAM. Según el estado en el que se encuentre el proceso de cada usuario, la memoria se irá liberando de su proceso y pasará a la zona de swap mediante la técnica que se llama  swap-out. De esta forma, la memoria interna queda liberada para que en ella se pueda almacenar otro proceso del mismo usuario o de otro.



Programas reubicables, reentrantes, residentes y reutilizables
Según cómo, dónde y cuándo se ubiquen en memoria, los programas pueden ser de varios tipos
Reubicables: Son aquellos que, una vez cargados en RAM para ejecutarse, pueden variar de situación, ya que la parte de RAM que ocupan puede ser necesaria para ubicar otro proceso. Estos procesos o programas cambian de posición cuando se está realizando una operación sobre el ordenador.
Reentrantes: Aquellos programas que, si no se están ejecutando, dejan la memoria libre para otros procesos.
Residentes: Son aquellos que, una vez cargados en memoria, permanecerán en ella hasta que se apague el ordenador. No cambian su ubicación en ningún momento. Suelen ser programas de antivirus, de análisis de sistema, de monitorización, etc
Reutilizables: Son programas que normalmente son utilizados por varios usuarios a la vez en memoria, independientemente del número de usuarios que los vayan a utilizar. Con ello se consigue un mejor aprovechamiento de la memoria. 

Cuando trabajamos con sistemas operativos multiusuario, la gestión de datos que se hace dentro del ordenador y su ubicación en memoria y en los soportes de almacenamiento externo, pueden plantear algunos problemas.
En general, los tipos de archivos que gestiona todo sistema operativo son tres:
ü  Archivos regulares o estándares. Son los que contienen información del usuario, programas, documentos, texto, gráficos, etc.
ü  Directorios. Son archivos que contienen referencias a otros archivos regulares o a  otros directorios.
Archivos especiales. Los que no son de ninguno de los dos tipos anteriores.

No hay comentarios:

Publicar un comentario