Está en la página 1de 9

Gestin de procesos y recursos

Proceso
Un proceso es un concepto manejado por el sistema operativo que consiste en
el conjunto formado por:

Las instrucciones de un programa destinadas a ser ejecutadas por el
microprocesador.
Su estado de ejecucin en un momento dado, esto es, los valores de
los registros de la CPU para dicho programa.
Su memoria de trabajo, es decir, la memoria que ha reservado y sus
contenidos.
Otra informacin que permite al sistema operativo su planificacin.
Ahora bien esto vara ligeramente en el caso de sistemas operativos multihilo,
donde un proceso consta de uno o ms hilos, la memoria de trabajo (compartida
por todos los hilos) y la informacin de planificacin. Cada hilo consta de
instrucciones y estado de ejecucin.

Recursos
Llamamos recursos a todo aquello que es esencial para el desarrollo y
ejecucin del sistema operativo

Gestor de Recursos
Como gestor de recursos, el sistema operativo administra:
La unidad central de procesamiento (donde est alojado el
microprocesador).
Los dispositivos de entrada y salida.
La memoria principal (o de acceso directo).
Los discos (o memoria secundaria).
Los procesos (o programas en ejecucin).
Y en general todos los recursos del sistema.

Los recursos administrados por un sistema operativo son:
Tiempo del procesador.
Memoria Principal.
Dispositivos Perifricos.
Software.
Tiempo del procesador.

El recurso ms importante en el sistema de computacin es el procesador
central; Sin acceso al CPU, los programas no pueden ejecutarse, la estrategia
ms simple para asignar este recurso sera asignarlo a un trabajo de usuario hasta
que finalice. Esta estrategia es usada en muchos computadores.

Sin embargo la mayora de los programas gastan ms de la mitad de su
tiempo esperando que terminen operaciones de Entrada/Salida. Esto nos lleva a
tratar de compartir el tiempo del CPU entre varios usuarios, lo cual implica un
mecanismo ms complejo que nos permita utilizar eficientemente el tiempo del
procesador y explotar el paralelismo existente con las operaciones de
Entrada/Salida.
Memoria Principal.
Un segundo recurso que es escaso en la mayora de los computadores es
la memoria principal. Un programa se puede ejecutar solamente si tiene asignada
la memoria fsica que necesita, ya que el procesador accesa las instrucciones y
los datos que se encuentran en esa memoria fsica.
Si el sistema operativo soporta la ejecucin simultnea de varios trabajos
entonces la memoria est compartida entre esos varios trabajos. En estos casos el
S.O. debe asignar eficientemente la memoria a esos trabajos, evitando
desperdicios.

Dispositivos Perifricos.
La mayora de los dispositivos perifricos se asignan a un solo usuario, no
se comparten entre varios usuarios. Esta situacin puede ser muy ineficiente en el
caso de algunos dispositivos tales como la impresora, si el trabajo al que fuese
asignado este dispositivo tuviese un tiempo largo de ejecucin. Por otra parte, los
dispositivos de acceso directo son compartidos entre los usuarios a travs del
sistema de archivos y pueden ocurrir demoras derivadas del uso compartido que
pudieran ser intolerables en un momento dado.

Software
Los recursos de software de un sistema de computacin, consisten en las
funciones disponibles al usuario con el objeto de administrar datos y controlar la
ejecucin de programas. Entre estos recursos se encuentran los servicios de
administracin de archivos, los despachadores, libreras del sistema y rutinas de
utilidad.
El mtodo ms utilizado para permitir a varios usuarios compartir un recurso
de software, es haciendo este recurso de software reentrante.
La utilizacin de software reentrante, evita tener en la memoria varias
copias de ese software, situacin que sera muy ineficiente. En computadores
pequeos puede ser imposible la implementacin de programas reentrantes.
Ahora pasando a otro punto hablemos del PCB Y RCB
PCB
PCB de sus siglas en ingles bloque de control de proceso (Process Control
Block) es un registro especial donde el sistema operativo agrupa toda la
informacin que necesita conocer respecto a un proceso particular. Cada vez que
se crea un proceso el sistema operativo crea el BCP correspondiente para que
sirva como descripcin en tiempo de ejecucin durante toda la vida del proceso.
Cuando el proceso termina, su PCB es borrado y el registro puede ser
utilizado para otros procesos. Un proceso resulta conocido para el sistema
operativo y por tanto elegible para competir por los recursos del sistema slo
cuando existe un PCB activo asociado a l.
El bloque de control de proceso es una estructura de datos con campos
para registrar los diferentes aspectos de la ejecucin del proceso y de la utilizacin
de recursos. La informacin almacenada en un BCP incluye tpicamente algunos o
todos los campos siguientes:
Identificador del proceso (Process Identificator -PID-, de sus siglas en Ingls).
Estado del proceso. Por ej. listo, en espera, bloqueado.
Contador de Programa: Direccin de la prxima instruccin a ejecutar.
Valores de registro de CPU. Se utilizan tambin en el cambio de contexto.
Espacio de direcciones de memoria.
Prioridad en caso de utilizarse dicho algoritmo para planificacin de CPU.
Lista de recursos asignados (incluyendo descriptores de archivos y sockets
abiertos).
Estadsticas del proceso.
Datos del propietario (owner).
Permisos asignados.
Signals pendientes de ser servidos. (Almacenados en un mapa de bits)
RCB
Es una estructura de datos que permite al sistema operativo controlar los
recursos existentes en el sistema.
Para ellos colocamos un nuevo campo en el SCB, justo antes del vector de
interrupciones, que contendr un vector que apuntar al RCB.
INFORMACIN DEL RCB:
Identificador del recurso.
Tipo del recurso.
Propietario del recurso.
Con un puntero al PCB del proceso
Lista de ejemplares.
Estructura propia para cada ejemplar ICP, donde se guardan los datos
especficos para cada ejemplar cada uno tendr a su vez un propietario).
Gestor del recurso.
Puede denominarse tambin driver, es un programa capaz de manejar el
recurso.
Procesos bloqueados.
Estado del recurso.
o Libre.
o Ocupado.
Caractersticas del recurso.
Es una serie de campos. Entre ellos tenemos:
o Tipos de acceso.
o Velocidad de acceso.
o Cdigos de error.
o Juego de caracteres empleados
o Etc

Estado de transicin de un proceso.
Cuando un proceso se crea, pasa a la cola de procesos listos. Se dice que
existe una transicin de estado cuando un proceso cambia de un estado a otro, los
estados son:
Nuevo Listo: Cuando un proceso se ha creado y se le es permito para
competir por la CPU.
Listo En ejecucin: La asignacin de la CPU al primer proceso de la lista de
listos es llamado despacho y es ejecutado por la entidad de sistema
llamada despachador. Mientras que el proceso tenga la CPU se dice que
esta en ejecucin.
En ejecucin Listo: El S.O , cuando un proceso se le expira el intervalo de
tiempo asignado para estar en ejecucin (CUANTO), hace que este
proceso que se hallaba en estado de ejecucin pase al estado de listo y
inmediatamente el despachador hace que el primer proceso de la lista pase
a estado de ejecucin.
En ejecucin Bloqueado: Si un proceso que se encuentra en estado de
ejecucin inicia una operacin de E/s antes que termine su cuanto, el
proceso voluntariamente abandona la CPU, es decir, el proceso se bloquea
a s mismo.
Bloqueo Listo: La nica transicin posible en nuestro modelo bsico ocurre
cuando acaba una operacin de E/S (o alguna otra causa por la que est
esperando el proceso), y esta termina pasa al estado de listo.
En ejecucin Terminado: Esta transicin ocurre cuando el proceso se ha
terminado de ejecutarse, y pasa a un estado de terminado.

Interrupciones
Teniendo en cuenta lo anterior es importante conocer sobre las
interrupciones a estos procesos, una interrupcin (del ingls Interrupt Request,
tambin conocida como peticin de interrupcin) es una seal recibida por el
procesador de un ordenador, indicando que debe "interrumpir" el curso de
ejecucin actual y pasar a ejecutar cdigo especfico para tratar esta situacin.
Una interrupcin es una suspensin temporal de la ejecucin de
un proceso, para pasar a ejecutar una subrutina de servicio de interrupcin, la
cual, por lo general, no forma parte del programa, sino que pertenece al sistema
operativo o al BIOS. Una vez finalizada dicha subrutina, se reanuda la ejecucin
del programa.
Las interrupciones surgen de la necesidad que tienen los dispositivos
perifricos de enviar informacin al procesador principal de un sistema informtico.
La primera tcnica que se emple para esto fue el polling, que consista en
que el propio procesador se encargara de sondear los dispositivos perifricos cada
cierto tiempo para averiguar si tena pendiente alguna comunicacin para l. Este
mtodo presentaba el inconveniente de ser muy ineficiente, ya que el procesador
consuma constantemente tiempo y recursos en realizar estas instrucciones de
sondeo.
El mecanismo de interrupciones fue la solucin que permiti al procesador
desentenderse de esta problemtica, y delegar en el dispositivo perifrico la
responsabilidad de comunicarse con l cuando lo necesitara. El procesador, en
este caso, no sondea a ningn dispositivo, sino que queda a la espera de que
estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un
evento, una transferencia de informacin, una condicin de error, etc.).

Tipos de interrupciones
Atendiendo a la fuente que las produce, las interrupciones pueden clasificarse de
la siguiente forma:
Interrupciones de hardware. Estas son asncronas a la ejecucin del
procesador, es decir, se pueden producir en cualquier momento
independientemente de lo que est haciendo el CPU en ese momento.
Las causas que las producen son externas al procesador y a menudo suelen
estar ligadas con los distintos dispositivos de E/S.
Excepciones. Son aquellas que se producen de forma sncrona a la ejecucin
del procesador y por tanto podran predecirse si se analiza con detenimiento la
traza del programa que en ese momento estaba siendo ejecutado en la CPU.
Normalmente son causadas al realizarse operaciones no permitidas tales
como la divisin entre 0, el desbordamiento, el acceso a una posicin de
memoria no permitida, etc.
Interrupciones por software. Las interrupciones por software son aquellas
generadas por un programa en ejecucin. Para generarlas, existen distintas
instrucciones en el cdigo mquina que permiten al programador producir una
interrupcin, las cuales suelen tener nemotcnicos tales como INT (por
ejemplo, en DOS se realiza la instruccin INT 0x21 y en Unix se utiliza INT
0x80 para hacer llamadas de sistema).
Kernel
Para terminar el kernel (de la germnica Kern, ncleo, hueso) es
un software que constituye una parte fundamental del sistema operativo.
Es el principal responsable de facilitar a los distintos programas acceso
seguro al hardware de la computadora o en forma bsica, es el encargado de
gestionar recursos, a travs de servicios de llamada al sistema. Como hay muchos
programas y el acceso al hardware es limitado, tambin se encarga de decidir qu
programa podr hacer uso de un dispositivo de hardware y durante cunto tiempo,
lo que se conoce como multiplexado.
Acceder al hardware directamente puede ser realmente complejo, por lo
que los ncleos suelen implementar una serie de abstracciones del hardware. Esto
permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al
hardware subyacente, lo que facilita su uso al programador.
UNIVERSIDAD FERMIN TORO
FACULTAD DE INGENIERIA
ESCUELA DE COMPUTACIN






SISTEMAS OPERRATIVOS

UNIDAD III


ENSAYO









JESUS CHAVEZ
17.872.333