You are on page 1of 14

Nombre: Gerardo Osiris Ramrez vila

Materia: Sistemas Operativos


Grado y grupo: 5A
Carrera: ISC
Profesora: Evangelina Gonzles Mora
Informe

Introduccin
El presente documento, se llev a cabo para la materia de
sistemas operativos; el tema central de este informe son Los procesos.
Si bien es sabido que este concepto va aplicado a muchas reas puesto
que existen definiciones especficas para estos distintos mbitos. En
este caso se hablara de los procesos computacionales.
Entre los objetivos principales de este escrito est el identificar la
diferencia que existe entre proceso con programa, tarea y
procesamiento por lotes; debido a que es muy dado pensar que estos
conceptos podran ser sinnimos entre s, pero eso es un error ya que si
hay diferencias entre conceptos.
Tambin se hablara de los estados y transiciones que tienen los
procesos, as como tambin de los procesos ligeros; estos ltimos
mencionados tambin son conocidos como hilos.
Otros temas a tratar son la concurrencia y secuencialidad, as
como tambin la administracin de procesos; niveles, objetivos y
criterios de planificacin de procesos. Estos ltimos son las tcnicas
usadas por los distintos sistemas operativos para la gestin de procesos.

Desarrollo
Concepto de proceso y su
procesamiento por lotes y tarea

diferencia

con

programa,

El concepto de proceso es uno de los ms importantes dentro de


un sistema operativo. Se trata de una abstraccin muy valiosa para
descubrir las actividades elementales que evolucionan dentro de un
sistema informtico sin entrar en detalles de interrupciones,
instrucciones mquina, etc.
Un proceso puede definirse como una actividad elemental dentro
de un sistema informtico. Es una unidad de actividad que se caracteriza
por la ejecucin de una secuencia de instrucciones, un estado actual y
un conjunto de recursos del sistema asociados.
Para implementar el concepto de proceso, el sistema operativo ha
de mantener una estructura de datos para cada proceso, denominada
bloque de control de proceso (BCP). En esta estructura se almacena

informacin acerca del estado del proceso, su contador de programa,


puntero de la pila, lmites de la memoria, estados de los ficheros,
planificacin, etc. La zona de memoria donde se colocan los BCP es slo
accesible en estado supervisor; su tamao depender del nmero de
procesos mximos que soporte el sistema y ser determinado al
configurar el sistema. (Martinez, Cabello, & Diaz, 1997)
Como anteriormente se mencion a menudo el concepto de
proceso es muy a menudo identificado como sinnimos de estos otros
conceptos:
El primero es tarea, el cual es una unidad de ejecucin, una
accin que el procesador est llevando a cabo. Por lo tanto, un programa
en la memoria es una tarea. (Ejemplo: un programa antivirus que se
ejecuta en la memoria y mantiene a su equipo seguro).
Tambin est el concepto de programa este es un conjunto de
instrucciones u rdenes basadas en un lenguaje de programacin que
una computadora interpreta para resolver un problema o una funcin
especfica con una computadora.
Finalmente est el trmino procesamiento por lotes donde se
maneja el concepto de trabajo de usuario (job) entendido como unidad
de ejecucin secuencial. Cada job efecta tratamientos especficos. En
el caso ms simple, un job puede reducirse a la ejecucin de un
programa ya compilador a partir de un conjunto de datos
denominndose job step (actividad elemental).
Un job ms
elaborado puede consistir en compilar n programa, enlazarlo y
ejecutarlo.
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

Nuevo: cuando el proceso est siendo creado.


Ejecucin: cuando el proceso se est ejecutando.
Esperando/Bloqueado: cuando el proceso est esperando que se
cumpla algn otro evento.
Preparado: cuando el proceso esta pronto para ejecutar,
esperando por la CPU.
Terminado: cuando el proceso est 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 transparente 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


suspendido, pero no tiene causa parta estar bloqueado.

sido

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.
2.
3.
4.

El proceso se bloquea en la entrada.


El planificador elige otro proceso.
El planificador elige este proceso.
La entrada se vuelve disponible.

Estados:

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

Bloqueado (incapaz de correr hasta que suceda algn evento


externo.
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.
Un proceso ligero (Hilo)
Es un programa en ejecucin (flujo de ejecucin) que comparte la
imagen de memoria y otras informaciones con otros procesos ligeros. Un
proceso puede contener un solo flujo de ejecucin, como ocurre en los
procesos clsicos, o ms de un flujo de ejecucin (procesos ligeros).
Desde el punto de vista de la programacin, un proceso ligero se
define como una funcin cuya ejecucin se puede lanzar en paralelo con
otras. El hilo de ejecucin primario, o proceso ligero primario,
corresponde a la funcin main.
Cada proceso ligero tiene informaciones que le son propias y que
no comparte con otros procesos ligeros. Las informaciones propias se
refieren fundamentalmente al contexto de ejecucin, pudindose
destacar las siguientes:

Contador de programa.

Pila.

Registros.

Estado del proceso ligero (ejecutando, listo o bloqueado).

Todos los procesos ligeros de un mismo proceso comparten la


informacin del mismo. En concreto, comparten:

Espacio de memoria.

Variables globales.

Archivos abiertos.

Procesos hijos.

Temporizadores.

Seales y semforos.

Contabilidad.

Es importante destacar que todos los procesos ligeros de un


mismo proceso comparten el mismo espacio de direcciones de memoria,
que incluye el cdigo, los datos y las pilas de los diferentes procesos
ligeros. Esto hace que no exista proteccin de memoria entre los
procesos ligeros de un mismo proceso, algo que si ocurre con los
procesos convencionales.
Concurrencia y secuencialidad
Los procesos son concurrentes si existen simultneamente. Los
procesos concurrentes pueden funcionar en forma totalmente
independiente unos de otros, o pueden ser asncronos, lo cual significa
que en ocasiones requieren cierta sincronizacin o cooperacin.
Cuando dos o ms procesos llegan al mismo tiempo a ejecutarse,
se dice que se ha presentado una concurrencia de procesos. Es
importante mencionar que para que dos o ms procesos sean
concurrentes, es necesario que tengan alguna relacin entre ellos como
puede ser la cooperacin para un determinado trabajo o el uso de
informacin o recursos compartidos, por ejemplo: en un sistema de un

procesador, la multiprogramacin es una condicin necesaria pero no


suficiente para que exista concurrencia, ya que los procesos pueden
ejecutarse de forma totalmente independiente.
Por otro lado en un sistema de varios procesos se puede presentar
la concurrencia siempre y cuando las actividades necesiten actuar entre
si ya sea para utilizar informacin en comn o para cualquier otra cosa.
La concurrencia puede presentarse en tres contextos diferentes:
Varias aplicaciones: La multiprogramacin se cre para permitir
que el tiempo de procesador de la mquina fuese compartido
dinmicamente entre varios trabajos o aplicaciones activas.
Aplicaciones estructuradas: Como ampliacin de los principios
del diseo modular y la programacin estructurada, algunas aplicaciones
pueden implementarse eficazmente como un conjunto de procesos
concurrentes.
Estructura del sistema operativo: Las mismas ventajas de
estructuracin son aplicables a los programadores de sistemas y se ha
comprobado que algunos sistemas operativos estn implementados
como un conjunto de procesos.
Existen tres modelos de computadora en los que se pueden
ejecutar procesos concurrentes:
Multiprogramacin con un nico procesador. El sistema operativo
se encarga de ir repartiendo el tiempo del procesador entre los distintos
procesos, intercalando la ejecucin de los mismos para dar as una
apariencia de ejecucin simultnea.
Multiprocesador. Es una maquina formada por un conjunto de
procesadores que comparten memoria principal. En este tipo de
arquitecturas, los procesos concurrentes no slo pueden intercalar su
ejecucin sino tambin superponerla.
Multicomputadora. Es una mquina de memoria distribuida, que
est formada por una serie de computadoras. En este tipo de
arquitecturas tambin es posible la ejecucin simultnea de los procesos
sobre los diferentes procesadores. En general, la concurrencia ser
aparente siempre que el nmero de procesos sea mayor que el de
procesadores disponibles, es decir, cuando haya ms de un proceso por
procesador.

Niveles, objetivos y criterios de planificacin


Los principales conceptos relacionados con Planificacin del
Procesador son los siguientes:

Planificacin apropiativa: es la estrategia de permitir que


procesos ejecutables (desde el punto de vista lgico) sean
suspendidos temporalmente.
Planificacin no apropiativa: es la estrategia de permitir la
ejecucin de un proceso hasta terminar.
Planificacin del procesador: determinar cundo deben
asignarse los procesadores y a qu procesos, lo cual es
responsabilidad del Sistema Operativo.

Niveles de Planificacin del Procesador


Se consideran tres niveles importantes de planificacin, los que se
detallan a continuacin.
Planificacin de alto nivel: Tambin se denomina Planificacin de
trabajos. Determina a qu trabajos se les va a permitir competir
activamente por los recursos del sistema, lo cual se denomina
Planificacin de admisin.
Planificacin de nivel intermedio: Determina a qu procesos se les
puede permitir competir por la CPU. Responde a fluctuaciones a corto
plazo en la carga del sistema y efecta suspensiones y activaciones
(reanudaciones) de procesos. Debe ayudar a alcanzar ciertas metas en
el rendimiento total del sistema.
Planificacin de bajo nivel: Determina a qu proceso listo se le
asigna la CPU cuando esta queda disponible y asigna la CPU al mismo,
es decir que despacha la CPU al proceso. La efecta el Despachador
del Sistema Operativo, el que opera muchas veces por segundo y reside
siempre en el almacenamiento primario.
Objetivos de la Planificacin
Los objetivos de la planificacin del procesador son los siguientes e
involucran a los conceptos detallados seguidamente.
Ser justa:
Todos los procesos son tratados de igual manera.
Ningn proceso es postergado indefinidamente.
Maximizar la capacidad de ejecucin:

Maximizar el nmero de procesos servidos por unidad de tiempo.


Maximizar el nmero de usuarios interactivos que reciban unos
tiempos de respuesta aceptables.

Ser predecible:
Un trabajo dado debe ejecutarse aproximadamente en la misma
cantidad de tiempo independientemente de la carga del sistema.
Minimizar la sobrecarga.
Favorecer a los procesos que utilizarn recursos infrautilizados.
Equilibrar respuesta y utilizacin:
La mejor manera de garantizar buenos tiempos de respuesta es
disponer de los recursos suficientes cuando se necesitan, pero la
utilizacin total de recursos podr ser pobre.
Evitar la postergacin indefinida:
Mientras un proceso espera por un recurso su prioridad debe
aumentar, as la prioridad llegar a ser tan alta que el proceso
recibir el recurso esperado.
Asegurar la prioridad:
Los mecanismos de planificacin deben favorecer a los procesos
con prioridades ms altas.

Dar preferencia a los procesos que mantienen recursos claves:


Un proceso de baja prioridad podra mantener un recurso clave,
que puede ser requerido por un proceso de ms alta prioridad.
Si el recurso es no apropiativo, el mecanismo de planificacin debe
otorgar al proceso un tratamiento mejor del que le correspondera
normalmente, puesto que es necesario liberar rpidamente el
recurso clave.
Dar mejor tratamiento a los procesos que muestren un comportamiento
deseable:
Un ejemplo de comportamiento deseable es una tasa baja de
paginacin.
Degradarse suavemente con cargas pesadas:
Un mecanismo de planificacin no debe colapsar con el peso de
una exigente carga del sistema.
Se debe evitar una carga excesiva mediante las siguientes
acciones.
No permitiendo que se creen nuevos procesos cuando la carga ya
es pesada.
Dando servicio a la carga ms pesada al proporcionar un nivel
moderadamente reducido de servicio a todos los procesos.

Criterios de Planificacin
Para realizar los objetivos de la planificacin, un mecanismo de
planificacin debe considerar lo siguiente.
1. La limitacin de un proceso a las operaciones de Entrada / Salida:
cuando un proceso consigue la CPU, la utiliza solo brevemente
antes de generar una peticin de Entrada / Salida?
2. La limitacin de un proceso a la CPU: cuando un proceso obtiene la
CPU, tiende a usarla hasta que expira su tiempo?
3. Si un proceso es por lote (batch) o interactivo: los usuarios
interactivos deben recibir inmediato servicio para garantizar
buenos tiempos de respuesta. Qu urgencia tiene una respuesta
rpida?: por ejemplo, un proceso de tiempo real de un sistema de
control que supervise una refinera de combustible requiere una
respuesta rpida, ms rpida que la respuesta requerida por un
proceso en lotes (batch) que deber entregarse al da siguiente.
4. La prioridad de un proceso: a mayor prioridad mejor tratamiento.
Frecuentemente un proceso genera fallos (carencias) de pgina:
Probablemente los procesos que generan pocos fallos de pgina
hayan
acumulado
sus
conjuntos
de
trabajo
en
el
almacenamiento principal.
5. Los procesos que experimentan gran cantidad de fallos de pgina
an no han establecido sus conjuntos de trabajo.
6. Un criterio indica favorecer a los procesos que han establecido sus
conjuntos de trabajo. Otro criterio indica favorecer a los procesos
con una tasa alta de fallos de pgina ya que rpidamente
generarn una peticin de Entrada / Salida.
7. Frecuentemente un proceso ha sido apropiado por otro de ms alta
prioridad, lo cual significa lo siguiente: A menudo los procesos
apropiados deben recibir un tratamiento menos favorable. Cada
vez que el Sistema Operativo asume la sobrecarga para hacer
ejecutar este proceso, el corto tiempo de ejecucin antes de la
apropiacin no justifica la sobrecarga de hacer ejecutar al proceso
en primer lugar.
8. Cunto tiempo de ejecucin real ha recibido el proceso?: un
criterio considera que debe ser favorecido un proceso que ha
recibido muy poco tiempo de CPU. Cunto tiempo adicional va a
necesitar el proceso para terminar?: los tiempos promedio de
espera pueden reducirse priorizando los procesos que requieren de

un tiempo de ejecucin mnimo para su terminacin, pero pocas


veces es posible conocer la cantidad de tiempo adicional que cada
proceso necesita para terminar.
Tcnicas de Administracin de Planificacin
FCFS (first come, first served primero entrar primero en servirse)
Los procesos se despachan de acuerdo con su tiempo de llegada a
la cola de procesos listos. Cuando un proceso tiene la CPU, se ejecuta
hasta terminar. Es junto en el sentido formal, pero algo injusta en cuanto
a que los trabajos largos hacen esperar a los cortos y los trabajos sin
importancia hacen esperar a los importantes.
SPN (Shortest process next proceso ms corto)
Este algoritmo asocia con cada proceso la duracin de la siguiente
rfaga de CPU del proceso. Cuando la CPU est disponible, se asigna al
proceso que tiene la siguiente rfaga de CPU ms corta. Si las siguientes
rfagas de CPU de dos procesos son iguales, se usa la planificacin FCFS
para romper el empate
RR (Round Robin)
Cada proceso recibe una fraccin de tiempo de procesamiento o
quanto para su ejecucin, de manera que cuando se est ejecutando y
excede el tiempo que se le ha concedido, se genera una interrupcin de
reloj, mediante la cual la ejecucin del proceso se detiene y se coloca al
proceso al final de la cola de procesos listos para su posterior
ejecucin, seleccionndose a continuacin un nuevo proceso de la cola
para su ejecucin.
SRTF (Short Remaining Time First Menor tiempo restante primero)
En este algoritmo, el proceso que requiera el menor tiempo para
ser procesado es el que es seleccionado para ser ejecutado. El proceso
que se est realizando en el procesador generalmente se dice que es el
ms corto, pero si llega un proceso que requiere menos tiempo para ser
procesado que el actual se interrumpe el proceso actual y se ejecuta el
nuevo proceso ya que se le asigna una mayor prioridad.
HRRN (Highest response ratio next Mayor Tasa de Respuesta)
Algoritmo apropiativo parecido al SPN consistente en calcular el
Reponse Ratio (Ratio de respuesta) para asignar la CPU a procesos ms
largos. (Para evitar la inanicin). Es una disciplina de planificacin no
apropiativa en la cual la prioridad de cada proceso no slo se calcula en
funcin del tiempo de servicio, sino tambin del tiempo que ha esperado
para ser atendido. Cuando un trabajo obtiene el procesador, se ejecuta
hasta terminar.

Conclusin
Como resultado de este informe presentado, podemos darnos
cuenta la importancia que tienen los procesos dentro del mbito de
sistemas operativos, que por consiguiente tambin compete al mbito
de la programacin la cual es muy importante en la carrera de Ingeniera
en sistemas computacionales.
Como uno de los puntos relevantes se contrast el concepto de
proceso con tarea la cual no es ms que un proceso que est en
ejecucin, tambin con el concepto de programa donde podemos
mencionar que un programa en ejecucin es un proceso; por otra parte
el procesamiento por lotes el cual no es ms que un conjunto de
programas consecutivamente procesados. Podra parecer un poco
confuso ya que la lnea que divide que estos conceptos no sean la
misma cosa es bastante delgada, es decir cada uno de estos conceptos
estn estrechamente relacionados.
A lo largo del escrito tambin se habl sobre procesos e hilos, en
los cuales tambin existen diferencias. Bsicamente cada proceso es
independiente, mientras que un hilo son entidades ms reducidas las
cuales pueden coexistir con otros hilos dentro de un mismo proceso
compartiendo los recursos de la computadora donde se ejecutan.
Algo que me llamo la atencin de las tcnicas que vimos es como
estn ligadas unas con otras, es decir, primero est la FCFS la cual
vendra siendo la base de los dems algoritmos de planificacin,
despus estara la SPN y de esta se desprenden dos la SRTF y la HRRN
que utilizan el mismo principio y tratan de mejorarla. Tambin cabe
destacar la RR la cual pienso que es la tcnica que pretende ser la ms
justa ya que le da a cada proceso un mismo tiempo determinado de
atencin (quanto) a cada proceso.
De todos estos temas el ms interesante podra decir que es el de
las tcnicas de administracin de planificacin de procesos, ya que en
estas tcnicas se aterrizan todos los dems conceptos, aqu tiene lugar
la concurrencia de procesos, estos algoritmos hacen uso de hilos y se
pueden apreciar mejor sus criterios a tomar para su realizacin, entre los
ms comunes cabra destacar los tiempos de llegada, tiempos de rfaga
e inclusive tiempos de espera.
Es de gran relevancia el conocer diversos algoritmos para
gestionar procesos ya que este nos ayudara mucho a futuro en la
creacin de sistemas (en mi caso computacionales) cada vez ms y ms
complejos, lo cual nos brinda una herramienta muy fuerte a nuestra
carrera.

Bibliografa
Baeza, T. (s.f.). SisOperativos. Recuperado el 12 de 10 de 2014, de
https://sites.google.com/site/materiasisoperativo/unidad-2administrador-del-proceso-y-del-procesador
Lauro, S. (s.f.). Administracion de Procesos y del Procesador. Recuperado
el 12 de 10 de 2014, de http://administraciondeprocesosuscanga.blogspot.mx/2008/10/24-concurrencia-ysecuenciabilidad.html
Martinez, M. (s.f.). Sistemas Operativos. Recuperado el 12 de 10 de
2014, de http://sistemasoperativos.angelfire.com/html/2.3.html
Martinez, P., Cabello, M., & Diaz, M. (1997). Sistemas Operativos - teoria
y prctica. Madrid: Diaz de Santos.
Prez, J., & Morera, M. (2002). Conceptos de sistemas operativos.
Espaa: Universidas Pontifica Comillas.

You might also like