You are on page 1of 4

Unidad 2: Administracin de procesos y del

procesador.
Sistema operativo

INTRODUCCIN.

El presente reporte de investigacin presenta el tema de: Administracin de procesos y del


procesador en los sistemas operativos. Los primeros sistemas de computacin solo
permitan la ejecucin de un solo programa a la vez, este programa asuma el control total
del sistema, y tena acceso a todos sus recursos. Los sistemas operativos actuales permiten
cargar mltiples programas en la memoria y ejecutarlo de forma concurrente, este cambio
requiri un control ms firme y mayor compartimentacin de los distintos programas, estas
necesidades dieron origen al concepto de proceso.

Podemos considerar un proceso como un programa en ejecucin. Un proceso necesita de


ciertos recursos, como tiempo de CPU, memoria, archivos y dispositivos de E/S, para
realizar su tarea. Estos recursos se asignan al proceso cuando se crea o bien durante su
ejecucin. Su principal obligacin es la ejecucin de programas del usuario.

El proceso es la unidad de trabajo en la mayor parte de los sistemas. Un sistema entonces


consiste en una coleccin de procesos: los procesos del sistema operativo ejecutan cdigo
del sistema, y los procesos del usuario ejecutan cdigo del usuario.

UNIDAD 2: ADMINISTRACIN DE PROCESOS Y DEL


PROCESADOR.

La gestin de procesos es la tarea fundamental de cualquier sistema operativo moderno. El


sistema operativo debe asignar recursos a los procesos, permitir el intercambio de
informacin entre los mismos, proteger los recursos de un proceso del resto y facilitar
la sincronizacin de procesos. Para alcanzar estos objetivos, el sistema operativo
mantiene una estructura de datos para cada proceso que describe su estado y los recursos
que posee y que permite al sistema operativo imponer un control sobre los procesos. En un
monoprocesador multiprogramado, debe intercalarse en el tiempo, la ejecucin de mltiples
procesos. En un multiprocesador, no slo puede intercalarse la ejecucin sino que
los procesos se pueden ejecutar simultneamente. Ambos, intercalacin y ejecucin
simultnea, son formas de concurrencia y llevan a una multitud de problemas
complejos, tanto para el programador de aplicaciones como para el sistema operativo.
El sistema operativo debe llevar a cabo la funcin de planificar y ofrecer
mecanismos para compartir y sincronizar procesos.
2.1 Concepto de proceso.

Un proceso es un programa en ejecucin, incluyendo el cdigo o instrucciones que lo


componen, el contador de programa, los registros y las variables, es decir, contiene toda la
informacin relativa al entorno en donde se ejecuta.

Los procesos son creados y destruidos por el sistema operativo, as como tambin este se
debe hacer cargo de la comunicacin entre procesos, pero lo hace a peticin de otros
procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcacin.
Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria
con el proceso que los ha creado o ser creados en el mismo espacio de memoria.
En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La
diferencia estriba en que un proceso solamente puede crear hilos para s mismo y en que
dichos hilos comparten toda la memoria reservada para el proceso.

Un proceso consta de:


El cdigo del programa.
Los datos del programa.
Una pila de ejecucin.
El PC indicando la prxima instruccin.
Un conjunto de registros de propsito general con los valores actuales.
Un conjunto de recursos del SO (memoria, archivos abiertos, etc.).

2.2 Estados y transiciones de los procesos.

El principal trabajo del procesador es ejecutar las instrucciones de mquina que se


encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas.
Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y
el procesador ejecuta una tras otra las instrucciones del mismo. En un entorno de
multiprogramacin, el procesador intercalar la ejecucin de instrucciones de varios
programas que se encuentran en memoria. El sistema operativo es el responsable de
determinar las pautas de intercalado y asignacin de recursos a cada proceso. Aunque cada
proceso es una entidad independiente, con su propio contador de programa y estado
interno, los procesos a menudo necesitan interactuar con otros procesos. Un proceso
podra generar ciertas salidas que otro proceso utilizan como entradas, en el
comando de Shell.
Cuando un proceso se bloquea, lo que hace porque le es imposible continuar
lgicamente, casi siempre porque est separando entradas que todava no estn
disponibles, tambin puede ser que un programa que conceptualmente est listo y en
condiciones de ejecutarse sea detenido porque el sistema operativo ha decidido
asignar la CPU a otro proceso durante un tiempo. Estas dos condiciones son totalmente
distintas, en el primer caso, la suspensin es inherente al problema
(No es posible procesar la lnea de comandos del usuario antes de que este la teclee). En
el segundo caso, se trata de un tecnicismo del sistema (no hay suficiente: CPU para
darle a cada proceso su propio procesador privado).
Cada proceso tiene un estado de ejecucin que indica lo que est haciendo actualmente:

Nuevo: El proceso se est creando.


Ejecutndose: Ejecutando instrucciones en la CPU.
Preparado o ejecutable: En espera de la CPU.
Bloqueado: Esperando por un suceso.
Terminado: El proceso termin su ejecucin.

Durante su vida en el sistema, un proceso va pasando de un estado a otro.

2.3 Procesos ligeros: hilos o hebras.

Un hilo de ejecucin, en sistemas operativos, es similar a un proceso en que ambos


representan una secuencia simple de instrucciones ejecutada en paralelo con otras
secuencias. Los hilos permiten dividir un programa en dos o ms tareas que corren
simultneamente, por medio de la multiprogramacin. En realidad, este mtodo permite
incrementar el rendimiento de un procesador de manera considerable. En todos los sistemas
de hoy en da los hilos son utilizados para simplificar la estructura de un programa que
lleva a cabo diferentes funciones.
Todos los hilos de un proceso comparten los recursos del proceso. Residen en el
mismo espacio de direcciones y tienen acceso a los mismos datos. Cuando un hilo
modifica un dato en la memoria, los otros hilos utilizan el resultado cuando acceden al dato.
Cada hilo tiene su propio estado, su propio contador, su propia pila y su propia copia de los
registros de la CPU. Los valores comunes se guardan en el bloque de control de proceso
(PCB), y los valores propios en el bloque de control de hilo (TCB).

Diferencias entre hilos y procesos.

Los hilos se distinguen de los tradicionales procesos en que los procesos son generalmente
independientes, llevan bastante informacin de estados, e interactan slo a travs de
mecanismos de comunicacin dados por el sistema. Por otra parte, muchos hilos
generalmente comparten otros recursos directamente. En sistemas operativos que
proveen facilidades para los hilos, es ms rpido cambiar de un hilo a otro dentro del
mismo proceso, que cambiar de un proceso a otro. Este fenmeno se debe a que los hilos
comparten datos y espacios de direcciones, mientras que los procesos al ser independientes
no lo hacen. Al cambiar de un proceso a otro el sistema operativo (mediante el
dispatcher) genera lo que se conoce como overhead, que es tiempo desperdiciado por
el procesador para realizar un cambio de modo (mode switch), en este caso pasar del estado
de Running al estado de Waiting o Bloqueado y colocar el nuevo proceso en
Running. En los hilos como pertenecen a un mismo proceso al realizar un cambio de hilo
este overhead es casi despreciable.

You might also like