Sei sulla pagina 1di 18

2.

2 Estados y transiciones de los procesos


Un proceso puede estar en cualquiera de los siguientes tres estados: Listo, En ejecucin y Bloqueado.

Los procesos en el estado listo son los que pueden pasar a estado de ejecucin si el planificador los
selecciona. Los procesos en el estado ejecucin son los que se estn ejecutando en el procesador en ese
momento dado. Los procesos que se encuentran en estado bloqueado estn esperando la respuesta de algn
otro proceso para poder continuar con su ejecucin. Por ejemplo operacin de E/S.

Un proceso puede variar entre 5 distintos estado

New: cuando el proceso esta siendo creado.


Running: cuando el proceso se esta ejecutando.
Waiting: cuando el proceso esta esperando que se cumpla algn otro evento.
Ready: cuando el proceso esta pronto para ejecutar, esperando por la CPU.
Terminated: cuando el proceso esta terminado.
Estado de los Procesos

Los bloques de control de los procesos se almacenan en colas, cada una de las cuales representa un estado
particular de los
procesos, existiendo en cada bloque, entre otras informaciones. Los estados de los procesos son internos del
sistema operativo y transparentes al usuario.

Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos.

1.- Estados activos

Son aquellos que compiten con el procesador o estn en condiciones de hacerlo. Se dividen en:

Ejecucin:Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema
monoprocesador este estado slo lo puede tener un proceso.
Preparado: Aquellos procesos que estn dispuestos para ser ejecutados, pero no estn en ejecucin por
alguna causa (Interrupcin, haber entrado en cola estando otro proceso en ejecucin, etc.).
Bloqueado: Son los procesos que no pueden ejecutarse de momento por necesitar algn recurso no
disponible (generalmente recursos de entrada/salida).
2.- Estados inactivos

Son aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por medio de
ciertas operaciones. En estos estados se mantiene el bloque de control de proceso aparcado hasta que
vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han impedido y que
pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a ejecutarse desde
el principio.

Son de dos tipos:

Suspendido bloqueado: Es el proceso que fue suspendido en espera de un evento, sin que hayan
desaparecido las causas de su bloqueo.
Suspendido programado: Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado.
Informacin asociada con cada proceso:

Estado del proceso.


Program counter.
Registros del CPU.
Informacin de planificacin del CPU.
Memoria.
Informacin para administracin.
Informacin de estatus de E/S.
Creacin de Procesos

Crear un proceso implica operaciones como:

Dar un nombre a un proceso.


Insertarlo en la lista de procesos conocidos del sistema ( o tabla de procesos)
Determinar la prioridad inicial de proceso.
Crear el bloque de control de proceso.
Asignar los recursos iniciales al proceso.
Un proceso puede crear un nuevo proceso. Si lo hace el proceso creador se denomina proceso padre, y el
proceso creado, proceso hijo. Slo se necesita un padre para crear un hijo. Tal creacin origina una estructura
jerrquica de procesos. No se puede destruir un proceso cuando este ha creado otros procesos.

Destruir un proceso implica eliminarlo del sistema. Se le remueve de la tabla o listas del sistema, sus
recursos se devuelven al sistema y su bloque de control de proceso se borra (es decir, el espacio de memoria
ocupado por su PCB se devuelve al espacio de memoria disponible.

Operaciones de procesos y recursos.

Los sistemas operativos poseen una serie de funciones cuyo objetivo es el de la manipulacin de los
procesos. En general las operaciones que se pueden hacer sobre un proceso son las siguientes:

Crear el proceso. Se produce con la orden de ejecucin del programa y suele


argumentos, como el nombre y la prioridad del proceso.

necesitar

varios

La creacin de un proceso puede ser de dos tipos:

Jerrquica. En ella cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecucin
de su padre. El primer proceso que ejecuta un usuario ser hijo del intrprete de comandos con el que
interacta.

No jerrquico. Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un
entorno diferente. Es un tipo de creacin que no suele darse en los sistemas operativos actuales.

Adems de los dos tipos anteriores se pueden realizar las operaciones siguientes:

Destruir un proceso. Se trata de la orden de eliminacin del proceso con la cual el sistema operativo destruye
su PCB ( Proces control Block).
Suspender un proceso. Es una operacin de alta prioridad que paraliza un proceso que puede ser reanudado
posteriormente. Suele utilizarse en ocasiones de mal funcionamiento o sobrecarga del sistema.
1. Reanudar un proceso. Trata de activar un proceso que ha sido previamente suspendido.
2. Cambiar la prioridad de un proceso.

Temporizar la ejecucin de un proceso. Hace que un determinado proceso se ejecute cada cierto tiempo
(segundos, minutos, horas,...) por etapas o de una sola vez, pero transcurrido un periodo de tiempo fijo.
Despertar un proceso. Es una forma de desbloquear un proceso que habr sido bloqueado previamente por
temporizacin o cualquier otra causa.

DESCRIPTOR DE PROCESOS Y RECURSOS


Es una estructura de datos asociada a una entidad informtica ya sea un (Recurso o Proceso), en la cual se
indica y actualiza todas las informaciones relativas a dicha entidad.

En el caso de un proceso la informacin general que contiene es:

1) Identificador: Que puede ser interno y externo.

Interno: Sistemas.
Externo: Usuario.
2) Descripcin de la mquina virtual asociada: como espacio virtual asignado, tipo de mapeo, tipo de acceso.

3) Descripcin de los recursos de la mquina que usa como: Lista de recursos que el proceso tiene derecho a
solicitar, direccin real en la memoria principal, estado de las variables internas del CPU, prioridad, etc.

4) Estados funcionales del proceso: Los estados de los procesos son internos del sistema operativo y
transparente al usuario. Para ste, su proceso estar siempre en ejecucin independientemente del
estado en que se encuentre internamente el sistema.

TRANSICIONES

Un proceso puede encontrarse en estado de ejecucin, bloqueado o listo (que tambin se llama ejecutable).
De estos estados de los procesos se derivan las siguientes transiciones y estados:

Transicin: El paso de un estado a otro.

1. El proceso se bloquea en la entrada.


2. El planificador elige otro proceso.
3. El planificador elige este proceso.
4. La entrada se vuelve disponible.
Estados:

1. Ejecucin (que en realidad hace uso del CPU en ese instante).


2. Bloqueado (incapaz de correr hasta que suceda algn evento externo.
3. Listo (ejecutable; se detiene temporalmente para permitir que se ejecute otro
proceso).

En estos tres estados son posibles cuatro transiciones:

1. Ocurre cuando un proceso descubre que no puede continuar. En algn sistema el proceso debe ejecutar
una llamada al sistema, BLOCK, para entrar en estado bloqueado.

2 y 3. Son ocasionadas por el planificador del proceso, que es parte del sistema operativo sin que el proceso
llegue a saber de ella.

2. Ocurre cuando el planificador decide que el proceso en ejecucin ya ha corrido el tiempo suficiente y es
tiempo de permitir que otro proceso tome tiempo de CPU.

3. Ocurre cuando todos los procesos han utilizado su parte del tiempo y es hora de que el primer proceso
vuelva a correr.

4. Ocurre cuando aparece el evento externo que estaba esperando un proceso (como el arribo de alguna
entrada). Si ningn otro proceso corre en ese instante, la transicin 3 se activar de inmediato y el proceso
iniciara su ejecucin, de lo contrario tendr que esperar, en estado listo.

Transiciones de estado.

La asignacin del CPU al primer proceso de la lista de listos es llamada despacho, y es ejecutado por la
entidad del sistema llamada despachador. Indicamos esta transicin de la manera siguiente:

Despacho (nombre del proceso): Listo

en ejecucin.

Mientras el proceso tenga CPU, se dice que esta en ejecucin. Para prevenir que cualquier
proceso monopolice el sistema, ya sea de manera accidental o maliciosamente el sistema operativo ajusta
un reloj de interrupcin del hardware para permitir al usuario ejecutar su proceso durante un intervalo de
tiempo especifico o cuanto. Si el proceso no abandona voluntariamente el CPU, antes de que expire el
intervalo, el reloj genera una interrupcin, haciendo que el sistema operativo recupere el control. El sistema
operativo hace que el proceso que anteriormente se hallaba en estado de ejecucin pase al de listo, y hace
que el primer proceso de la lista de listos pase al estado de ejecucin.

Estas transiciones de estado se indican como:

- tiempo excedido (nombre del proceso): en ejecucin

Listo

- bloqueado (nombre del proceso): en ejecucin

bloqueado

El proceso cambia del estado bloqueado al estado listo:


- despertar ( nombre del proceso): bloqueado

Listo.

Con esto tenemos definidas 4 transacciones de estado.

- despacho ( nombre del proceso): Listo

en ejecucin

- tiempo excedido ( nombre del proceso): en ejecucin

Listo

- bloqueado ( nombre del proceso): en ejecucin


- despertar ( nombre del proceso ): bloqueado

bloqueado
Listo.

Suspensin y Reanudacin.

Un proceso suspendido no puede proseguir sino hasta que lo reanuda otro proceso. Reanudar (o activar) un
proceso implica reiniciarlo a partir del punto en el que se suspendi.

Las operaciones de suspensin y reanudacin son importantes por diversa razones:

Si un sistema est funcionando mal y es probable que falle, se puede suspender los
para reanudarlos cuando se haya corregido el problema.

procesos activos

Un usuario que desconfe de los resultados parciales de un proceso puede suspenderlo (en vez de abortarlo)
hasta que verifique si el proceso funciona correctamente o no.
Algunos procesos se puede suspender como respuesta a las fluctuaciones a corto plazo
sistema y reanudarse cuando las cargas regresen a niveles normales.

de la carga del

Transiciones de estados de los procesos con suspensin y reanudacin.

Muestra el diagrama de transiciones de estado de los procesos, modificado para incluir las operaciones de
suspensin y reanudacin. Se han aadido dos nuevos estados, denominados suspendido-listo y suspendido
bloqueado; no hay necesidad de un estado suspendido-ejecutado. Sobre la lnea discontinua se encuentran
los estados activos, y debajo de ella los estados suspendidos.

Una suspensin puede ser iniciada por el propio proceso o por otro. En un sistema con un solo procesador el
proceso en ejecucin puede suspenderse a si mismo; ningn otro proceso podra estar en ejecucin al
mismo tiempo para realizar la suspensin (aunque otro proceso s podra solicitar la suspensin cuando se
ejecute). En un sistema de mltiples procesadores, un proceso en ejecucin puede suspender a otro que se
est ejecutando en ese mismo momento en un procesador diferente.

Solamente otro proceso puede suspender un proceso listo. La transicin correspondiente es:

1) Suspender (nombre_del_proceso): Listo

Suspendido-Listo.

Un proceso puede hacer que otro proceso que se encuentre en el estado suspendido-listo pase al estado
listo. La transicin correspondiente es:

2) reanudar ( nombre_del_proceso): Suspendido-Listo

Listo.

Un proceso puede suspender a otro proceso que est bloqueado. La transicin correspondiente es:

3) suspender ( nombre_del_proceso): Bloqueado

Suspendido-Bloqueado.

Un proceso puede reanudar otro proceso que est suspendido-bloqueado. La transicin correspondiente es:

4) reanudar ( nombre_del_proceso): Suspendido-Bloqueado

Bloqueado.

Como la suspensin es por lo general una actividad de alta prioridad, se debe realizar de inmediato. Cuando
se presenta finalmente el trmino de la operacin ( si es que termina), el proceso suspendido-bloqueado
realiza la siguiente transicin.

5)completar(nombre_del _proceso): suspendido-bloqueado

suspendido-listo.

6) suspender (nombre_del_proceso): Ejecucin

Suspendido-Listo.

En conclusin los sistemas que administran procesos deben ser capaces de realizar ciertas operaciones sobre
procesos y con ellos. Tales operaciones incluyen:

Crear un proceso.
Destruir un proceso.
Suspender un proceso.
Reanudar un proceso.

Cambiar la prioridad de un proceso.


Bloquear un proceso.
Despertar un proceso.
Despachar un proceso.

Permitir que un proceso se comunique con otro (esto se denomina comunicacin entre procesos).

Ingles
2.2 States and transitions processes
A process can be in any of the following three states: Ready, Running and
Blocked.

The processes in the ready state are those who can pass execution status if
the scheduler selects. Implementation processes in the state are those that are
running on the processor at that given time. Processes are in locked state are
awaiting a response from some other process to continue execution. For
example operation of E / S.

A process can vary between 5 different state

New: When the process is being created.


Running: when the process is running.
Waiting: When the process is waiting for some other event is met.
Ready: When the process is ready to run, waiting for the CPU.
Terminated: When the process is finished.
State Processes

The control blocks are stored in the processes queues, each of which
represents a particular state of the
processes, existing in each block, among other information. The states are
internal processes and operating system transparent to the user.

The states of processes can be divided into two types: active and inactive.

1. active states

They are those that compete with the processor or are able to do so. They are
divided into:

Execution: State in which is a process when you have control of the processor.
In a uniprocessor system this state can only have a process.
Prepared: Those processes that are ready to be executed, but are not running
for some reason (Interruption, having entered another process tail still running,
etc.).
Blocked: These are processes that can not be run resource need some time by
not available (generally resources input / output).
2. inactive states

Those who can not compete for the processor, but may do so again through
certain operations. In these states the process control block parked until
activated again be maintained. These are processes that have not completed
their work have prevented and can be reactivated from the point where they
stayed without having to run again from the beginning.

They are of two types:

Locked suspended: The process that was suspended pending an event, without
having disappeared the causes of their blockade.
scheduled Suspended: The process that have been suspended but has no
cause to be locked split.
Information associated with each process:

Process status.
Program counter.
CPU registers.
CPU scheduling information.
Memory.
Information administration.
Status information E / S.
Creation Process

Create a process involves operations such as:

Give a name to a process.


Insert it in the list of known system processes (or process table)
Determine initial priority process.
Create the process control block.
Assign initial resources to the process.
A process can create a new process. Doing the creative process is called
parent process, and the process created child process. Only a parent is needed
to create a child. Such a hierarchical structure originates creation process. You
can not destroy a process when this has created other processes.

Destroy a process involves removing it from the system. It is removed from the
table or list system, resources are returned to the system and process control
block is deleted (ie, the memory space occupied by the PCB is returned to the
available memory space.

Operations processes and resources.

Operating systems have a number of features designed to the manipulation


processes. Overall operations that can be done on a process are:

Create the process. It is produced with the execution order of the program and
often requires several arguments, such as the name and process priority.

The creation of a process can be of two types:

Hierarchic. In her every process that is created is the son of the creative
process and the execution environment inherits his father. The first process
that runs a user is son of the shell with which it interacts.

Nonhierarchical. Each process created by another process runs independently


of its creator with a different environment. It is a kind of creation that is not
often found in current operating systems.

In addition to the above two types you can perform the following operations:

Destroying a process. It is the removal order process with which the operating
system destroys its PCB (Block Proces control).
Suspend a process. It is a high priority operation that paralyzes a process that
can be resumed later. Often it used in cases of malfunction or system overload.
1. Resuming a process. Try to activate a process that has been
previously suspended.

2. Change the priority of a process.

Timing the execution of a process. It makes a particular process run every


certain time (seconds, minutes, hours, ...) in stages or all at once, but after a
fixed period of time.
Awakening process. It is a way to unlock a process that will have been
previously blocked by timing or any other cause.

DESCRIPTION OF PROCESS AND RESOURCES


It is a data structure associated with either a computer entity (Resource or
process), where indicated and updates all information relating to the entity.

In the case of a process containing general information it is:

1) Identifier: That may be internal and external.

Internal Systems.
External: User.
2) Description of the associated virtual machine: as assigned virtual space,
mapping type, access type.

3) Description of machine resources using as: List of resources that the process
is entitled to request, real address in main memory, internal state variables of
CPU, priority, etc.

4) Functional states of the process: The states of internal operating processes


are transparent to the user and system. For this, the process is always running
regardless of what state the system is internally located.

TRANSITIONS

A process can be in running state, locked or ready (also called executable). Of


these states of processes and states the following transitions are derived:

Transition: The transition from one state to another.

1. The process is blocked at the entrance.


2. The scheduler chooses another process.
3. The scheduler chooses the process.
4. The entry becomes available.
State:

1. Execution (which actually uses the CPU at that instant).


2. Blocked (unable to run until some external event occurs.
3. Ready (executable, is temporarily stopped to allow another run
process).

In these three states four transitions are possible:

1. Occurs when a process discovers that he can not continue. In the process
some system must run a system call, BLOCK, to enter the locked state.

2 and 3. They are caused by the scheduler process, which is part of the
operating system without the process come to know it.

2. It occurs when the scheduler decides that the running process has run long
enough and it is time to let another process takes CPU time.

3. It occurs when all processes have used their time and part time for the first
process run again.

4. It occurs when the external event that was waiting for a process (such as the
arrival of an entry) appears. If no other processes running at that instant,
transition 3 will be activated immediately and began its implementation
process, otherwise you have to wait in ready state.

State transitions.

CPU allocation to the first process ready list is called office, and is executed by
the system entity called dispatcher. This transition indicated as follows:

Dispatch (process name): Ready running.

While the process has CPU, it is said to be running. To prevent any


process from monopolizing the system, either accidentally or maliciously
operating system adjusts the clock hardware interrupt to allow the user to
execute the process for a specific interval or how long. If the process does not
voluntarily relinquishes the CPU, before the expiry of the interval, the clock
generates an interrupt, causing the operating system to regain control. The
operating system makes the process that previously was in the running state
ready to pass, and makes the first process in the list of ready pass to running
state.

These state transitions are indicated as:

- Exceeded time (process name): Running Ready


- Locked (process name) in blocked implementation

The process changes the locked state to ready state:


- Awakening (process name): locked Done.

With this we have defined four state transactions.

- Office (process name): Running Ready

- Exceeded time (process name): Running Ready


- Locked (process name) in blocked implementation
- Awakening (process name): locked Done.

Suspension and Resumption.

A suspended process can not continue until it resumes another process.


Resume (or activate) a process involves restart from the point where it was
suspended.

Operations suspend and resume are important for different reasons:

If a system is malfunctioning and is likely to fail, you can suspend the active
processes to resume them when the problem is corrected.
A user wary of partial results of a process can suspend (rather than aborting it)
until you verify if the process is working properly or not.
Some processes may be suspended in response to short-term fluctuations of
the system load and resume when the loads back to normal levels.
State transition process with suspend and resume.

Shows the state transition diagram of processes, modified to include


operations suspend and resume. They added two new states, called
suspended-ready and locked suspended; no need of a suspended-executed
state. On the dotted line are the active states, and under it suspended states.

A suspension can be initiated by the process itself or another. In a system with


a single processor running process can be stopped himself; no other process
could be running at the same time to perform the suspension (although
another process itself could request the suspension when run). In a
multiprocessor system, a running process may suspend another is running at
the same time on a different processor.

Only one process can suspend a clever process. The corresponding transition
is:

1) Suspend (nombre_del_proceso): Suspended Ready-Ready.

A process may cause another process that is in the suspended state-ready pass
the ready state. The corresponding transition is:

2) resume (nombre_del_proceso): Suspended-Ready Ready.

A process can suspend another process that is locked. The corresponding


transition is:

3) suspend (nombre_del_proceso): Suspended-Locked Locked.

A process can resume another process that is suspended-locked. The


corresponding transition is:

4) resume (nombre_del_proceso): Suspended-Locked Locked.

As the suspension is usually a high priority activity should be performed


immediately. When finally presented the end of the operation (if it ends), the
process suspended-locked performs the next transition.

5) complete (_proceso nombre_del): Suspended blocked-suspended-ready.

6) suspend (nombre_del_proceso): Suspended Execution-Ready.

In conclusion the systems that manage processes must be able to perform


certain processes and operations with them. Such operations include:

Create a process.
Destroying a process.
Suspend a process.

Resuming a process.
Changing the priority of a process.
Block a process.
Awakening process.
Dispatching a process.
Allow a process to communicate with another (this is called inter-process
communication).

Potrebbero piacerti anche