PDF de programación - Unidad 3 - Gestión de los recursos de un sistema operativo

Imágen de pdf Unidad 3 - Gestión de los recursos de un sistema operativo

Unidad 3 - Gestión de los recursos de un sistema operativográfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 7 de Marzo del 2018)
3.622 visualizaciones desde el 7 de Marzo del 2018
1,0 MB
20 paginas
Creado hace 11a (18/04/2012)
3Unidad

Gestión de los recursos
de un sistema operativo

En esta unidad aprenderemos a:

• Identificar los procesos y sus estados.
• Determinar las características
y elementos de los procesos.

• Planificar la ejecución de procesos.
• Interpretar las técnicas de gestión

de memoria.

• Diferenciar las técnicas de gestión

de memoria.

• Conocer la gestión de

entrada/salida del sistema
operativo.

Y estudiaremos:

• Los procesos.
• La memoria RAM y su estructura.
• La forma de almacenar

los procesos en memoria.

• Cómo se planifica la ejecución

de procesos en el sistema
informático.

• Los diferentes tipos de

periféricos de un sistema
informático.

3

Gestión de los recursos de un sistema operativo

Vocabulario

Un proceso es un conjunto de
instrucciones correspondientes a
un programa que son ejecuta-
das por la UCP.

Vocabulario

Una hebra o hilo es un subproce-
so de un proceso que consume
recursos propios pero que depen-
de del proceso padre que lo ha
ejecutado.

50

1. Procesos y flujos

Un proceso es un concepto manejado por el sistema operativo y que referencia un pro-
grama en ejecución.

A los procesos, dependiendo especialmente del sistema operativo utilizado, se les deno-
mina flujos de control, tareas, threads o hilos, según el contexto.

Cuando se ejecuta más de un proceso de forma concurrente en un sistema, todos necesi-
tan que el propio sistema les suministre una serie de recursos. Para ello, el sistema opera-
tivo, gracias a la UCP (Unidad Central de Proceso), 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.

Cada vez que un programa se convierte en proceso, es decir, cada vez que se ejecuta
un programa, además de ubicar en memoria las instrucciones que lo componen y sus
datos asociados, a dicho proceso se le asocia una estructura de datos.

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.

2. Hebras y estados de los procesos

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.

Las hebras representan un método software para mejorar el rendimiento y eficacia de
los sistemas operativos. Las hebras de un mismo proceso compartirán recursos, como
memoria, archivos, recursos hardware, etc.

Un proceso clásico será aquel que solo posea una hebra. Pongamos un ejemplo. Si
ejecutamos el procesador de textos Word, con un solo documento abierto, el programa
Word convertido en proceso estará ejecutándose en un único espacio de memoria, ten-
drá acceso a determinados archivos (galerías de imágenes, corrector ortográfico, etc.),
tendrá acceso al hardware (impresora, disquetera), etc. En definitiva, este proceso, de
momento, solamente tiene una hebra.

Si en esta situación, sin cerrar Word, abrimos un nuevo documento, Word no se vuelve
a cargar como proceso. Simplemente el programa, convertido en proceso, tendrá a su
disposición dos hebras o hilos diferentes, de tal forma que el proceso sigue siendo el
mismo (el original).

Word se está ejecutando una sola vez y el resto de documentos de texto que abramos
en esta misma sesión de trabajo no serán procesos propiamente dichos. Serán hilos o
hebras del proceso principal, que es el propio procesador de textos.

Antes de hablar de prioridades, y teniendo muy en cuenta lo comentado anteriormente,
vamos a ver los diferentes estados en los que pueden estar los procesos.

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.

Gestión de los recursos de un sistema operativo

3

PREPARADO

EJECUCIÓN

BLOQUEADO
BLOQUEADO

Fig. 3.1. Estados de los procesos.

Básicamente los estados posibles de un proceso, que podemos ver en la Figura 3.1, son
los siguientes:

• En ejecución. El procesador está ejecutando instrucciones del programa que lo com-

pone 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úl-
tiples. Una de estas causas puede ser que dos procesos utilicen el mismo fichero de
datos. Otra puede ser que dos procesos necesiten utilizar la misma unidad de CD-
ROM para cargar determinados datos, etc.

En general, todos los procesos dentro de cualquier sistema operativo tienen unas ca-
racterísticas que los identifican. En primer lugar, indicaremos que cada programa en
ejecución, es decir, 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 precisamen-
te para identificar el proceso, lanzarlo a ejecución, detenerlo, cancelarlo, reanudarlo,
etc. Este identificador de proceso se nombra con la abreviatura PID.

También veremos que en cada sistema operativo, los procesos los lanzan normalmente
otros procesos. Es decir, que cada proceso que se lanza a ejecución depende, en la ma-
yoría de los casos, de otro proceso denominado proceso padre. Así, al nuevo proceso
lanzado se le denomina proceso hijo.

Actividades

1. ¿Puede pasar un programa de estado bloqueado a ejecución?
2. Cuando se lanza un nuevo proceso, ¿pasa este directamente a ejecución?

Ten en cuenta

Un programa se convierte en
proceso cuando se ejecuta y
reside completamente en memo-
ria RAM.

51

3

Gestión de los recursos de un sistema operativo

3. Transición de los procesos

Una vez que un programa se ha lanzado y se ha convertido en proceso, puede atrave-
sar varias fases o estados hasta que finaliza o termina.
Cuando un proceso se lanza, nunca se ejecuta directamente, sino que se coloca en la
cola de procesos en un estado denominado preparado. Cuando la UCP le asigna su
tiempo, el proceso pasa de preparado a ejecución. Estos dos estados se alternarán en
caso de que se esté ejecutando más de un proceso en el sistema.
Los cambios de estado en los que se puede encontrar un proceso se denominan tran-
siciones. En la Figura 3.2 se recogen las transiciones o cambios de estado que pueden
experimentar los procesos.
• Transición A. Ocurre cuando el programa que está en ejecución necesita algún ele-

mento, señal, dato, etc., para continuar ejecutándose.

• Transición B. Ocurre cuando un programa o proceso ha utilizado el tiempo asignado por

la UCP (procesador) para su ejecución y tiene que dejar paso al siguiente proceso.

• Transición C. Ocurre cuando el proceso que está preparado pasa al proceso de eje-
cución, es decir, cuando al proceso le llega una nueva disposición de tiempo de la
UCP para poder ejecutarse.

• Transición D. Ocurre cuando el proceso pasa de estar bloqueado a estar preparado, es
decir, cuando el proceso recibe una orden o señal que estaba esperando para pasar al
estado de preparado y, posteriormente, tras la transición, a estado de ejecución.

En un sistema multiproceso o multihebra, cuando un proceso o hilo pasa de un esta-
do a otro (por ejemplo, de espera a ejecución), lo que se producirá es un cambio de
contexto.
El cambio de contexto puede ser parcial si se realiza entre hilos del mismo proceso. En
caso de que el cambio de contexto sea entre hilos de diferentes procesos, se producirá
un cambio de contexto completo, ya que el cambio afectará a memoria, hardware,
ficheros comunes, etc.
Veamos en la Figura 3.3 un ejemplo de cambio de contexto entre dos procesos:

PREPARADO

EJECUCIÓN

PROCESO 0

PROCESO 1

C

B

D

A

BLOQUEADO
BLOQUEADO

SALVAR estado PCB 0

RECARGAR estado PCB 1

SALVAR estado PCB 1

RECARGAR estado PCB 0

Fig. 3.2. Transición de los procesos.

52

Fig. 3.3. Cambio de contexto.

Gestión de los recursos de un sistema operativo

3

Ejemplos

En la Figura 3.4 podemos apreciar de qué forma se ejecutan tres procesos (o hilos en sis-
temas operativos multihilo o multihebra), pasando de estar activos a estar en espera, según
se asignen tiempos de ejecución de UCP a unos u otros.

PROCESO

1

PROCESO

2

PROCESO

3

Ciclo de UCP

0 1 2 3 4 5 6 7 8

Proceso en ejecución

Proceso en espera

Fig. 3.4. Esquema de ejecución de tres procesos.

Los diferentes estados tienen una relación directa con lo que vamos a denominar
prioridades, que son aquellas que el administrador del sistema, o el propio sistema,
asignan a cada proceso. De ello dependerá que un proceso se ejecute en más o me-
nos tiempo.

Se pueden establecer prioridades en función de la necesidad de ejecución de algunos
programas. Los programas que más se ejecutan, es decir, los más necesarios, tendrán
prioridad de ejecución sobre aquellos que se ejecutan muy de cuando en cuando.

Es ahora cuando hemos de hablar de la planificación. Con esta técnica conseguimos
indicar al ordenador los procesos que deben ejecutarse y los estados que estos deben
adoptar. Gracias a los algoritmos de planificación podemos decidir qué proceso ha
de ejecutarse en cada momento y por qué. Algunas características de estos algo-
ritmos s
  • Links de descarga
http://lwp-l.com/pdf9273

Comentarios de: Unidad 3 - Gestión de los recursos de un sistema operativo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad