Está en la página 1de 19

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa

Universidad Nacional Experimental de la

Fuerza Armada Nacional

Ncleo Falcn Sede Coro

Procesos en los
Sistemas Operativos

Bachiller:
Instructor (a):

Mara Arcaya Garca Fely C.I: 26.677.875


Luzardo Juan C.I: 27.439.270
Colina Vctor C.I: 27.995.963
Ingeniera de sistemas A

6to Semestre

Santa Ana de Coro; Julio de 2017


ndice
Pg.

Introduccin

Procesos en los Sistemas Operativos:

1. Concepto de procesos
2. Monoprocesos y multiprocesos
3. Procesos Nulos
4. Activador de procesos
5. Sistema con memoria virtual
6. Hiperpaginacion
7. Informacin de procesos
8. Imagen de la memoria de procesos
9. Implantacin, asignacin de recursos y estados de los procesos
10. Procesos y hebras
11. El planificador de procesos
12. Sincronizacin, comunicacin de los procesos
13. Exclusin mutua
14. Semforos
15. Monitores
16. Mensajes
17. Interbloqueos

Conclusin..

Pgina 2
Introduccin
Los equipos informticos de hoy en da tienen la particularidad de que
cumplen algunos de los requerimientos para satisfacer a las persona en las
diferentes rea laborales o domesticas. Solo conceptualmente, el computador se
describe con grandes caracterstica que la hacen ver de una forma extraordinaria,
y brindan u ofrecen cierta capacidad para procesar la informacin que las
personas introduzca, todo esto con la magia o los mecanismo tantos fsicos como
lgicos de manera interna, contando con cada componente que opera dentro de
ella para el correcto funcionamiento. Tanto la estructura como la arquitectura
cuenta gua para interpretar cada parte del equipo, donde el objeto ms importante
es la CPU, ya que cumple un papel protagnico dentro del procesamiento de un
computador, ya que es el cerebro capacitado para ejecutar todas las aplicaciones
requeridas, dentro de ellas se ejecutan los procesos que son aquellas actividades
y tareas que son enmarcadas dentro de instrucciones, la cual son decodificadas y
ejecutadas por el procesador o tambin conocida como la unidad central de
almacenamiento. En fin, todas estas tares tienen continuidad dentro de los
procesamiento para copilar dichas instrucciones.

Pgina 3
Procesos en los sistemas operativos

1. Concepto de procesos
Los procesos son mecanismos de comportamiento para mejorar la
productividad de algo, para establecer un orden o eliminar algn tipo de problema.

Deriva del hecho de que un programa por definicin lleva una secuencia
de pasos de forma lgica. Muchos de estos procesos son fundamentales para el
mantenimiento del sistema operativo,

Los procesos son gestionados por el sistema operativo y estn formados


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 unidad central de procesamiento para dicho programa.
Su memoria de trabajo (memoria crtica), es decir, la memoria que ha
reservado y sus contenidos.
Otra informacin que permite al sistema operativo su planificacin.

Un proceso se rige en pequeas porciones, conocidas como pginas, y


cada proceso tiene su propia tabla de paginacin, fungiendo como una
optimizacin del sistema operativo ante los fallos de pgina

2. Monoprocesos y multiprocesos

Monoprocesos
Son los que nicamente permiten realizar un proceso a la vez. Esto
quiere decir que si se requiere que se ejecuten varias tareas al mismo tiempo, no
va a ser posible que se realicen con satisfaccin. Lo que pueden hacer los
monoprocesadores es alternar las tareas, y por eso los procesadores con grandes
capacidades de velocidad, dan una simulacin de multiprocesadores, ya que
parece que se estn ejecutando varios procesos al mismo tiempo, pero esto no es
cierto.).

Pgina 4
Multiprocesos
Cada CPU en una computadora de multiproceso puede estar ejecutando
una instruccin, el otro procesador queda liberado para procesar otras
instrucciones simultneamente. Al usar una computadora con capacidades de
multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las
computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja.

3. Procesos Nulos
Es creado por el sistema en el momento de arranque. El proceso nulo
nunca termina, no tiene E/S y tiene la prioridad ms baja en el sistema. En
consecuencia la cola de listos nunca est vaca, adems la ejecucin del
planificador puede hacerse ms rpida al eliminar la necesidad de comprobar si la
cola de listos est vaca o no. Algunas de las tareas que se le pueden dar al
proceso nulo, por ejemplo, es realizar estadsticas de uso de procesador, o
asistencia de vigilancia de la integridad del sistema, etc.

4. Activador de procesos
Es el encargado de iniciar la lista de instrucciones almacenadas en la
unidad de almacenamiento, procedindolo a ejecutar, En el caso de que el
proceso finalice su ejecucin o haya sido abortado, se descarta, sale del sistema y
el activador elige un proceso de la cola para ejecutar.

5. Sistema con memoria virtual


Si el equipo no tiene suficiente memoria de acceso aleatorio (RAM) para
ejecutar un programa o una operacin, el sistema operativo usa lamemoria virtual
para compensar la falta.

La memoria virtual combina la RAM del equipo con espacio temporal en el


disco duro. Cuando queda poca RAM, la memoria virtual mueve datos de la RAM
a un espacio llamado archivo de paginacin. Al mover datos al archivo de
paginacin y desde l, se libera RAM para completar la tarea.

Cuanto mayor sea la RAM del equipo, ms rpido tendern a ejecutarse


los programas. Si el equipo se ralentiza porque falta RAM, puede considerar la
posibilidad de aumentar la memoria virtual para compensar. Sin embargo, el
equipo puede leer los datos de la RAM mucho ms rpido que de un disco duro,
por lo que la mejor solucin es agregar RAM.

Pgina 5
6. Hiperpaginacion
Es cuando el nmero de recursos asignados a un proceso de baja
prioridad desciende por debajo del nmero mnimo requerido por la arquitectura
del computador, debemos suspender la ejecucin de ese proceso. Luego
debemos descargar sus pginas restantes, liberando los marcos asignados. En
general, cualquier proceso que no cuente con marcos suficientes provocar fallos
de pgina muy frecuentemente. Si se reemplazan pginas que a su vez estn
activas, estaremos sustituyendo una pgina que casi de inmediato se volver a
necesitar. Por tanto, pronto vuelve a generarse otro fallo de pgina, ocurriendo
esto una y otra vez. A esta altsima actividad de paginacin se le llama
Hiperpaginacion (thrashing).

Cuando se produce Hiperpaginacin, los ciclos del procesador se utilizan


en llevar y traer pginas (o segmentos, segn sea el caso) y el rendimiento
general del sistema se degrada notablemente.

Desde un punto de vista ms prctico, se puede evitar la Hiperpaginacion:

1. Aumentando la cantidad de memoria RAM (generalmente la mejor solucin


a largo plazo).
2. Disminuyendo la cantidad de aplicaciones corriendo en la computadora.
3. Ajustando el tamao de la particin de intercambio.

7. Informacin de procesos

Pgina 6
8. Imagen de la memoria de procesos
Cuando un usuario solicita ejecutar una aplicacin, el sistema operativo
carga en una zona de memoria independiente del espacio de direcciones las reas
de cdigo y de datos del ejecutable.

Pero el ejecutable cargado en memoria no es suficiente. El sistema


operativo tiene que multiplexar la CPU entre todos los procesos que se ejecutan
en la computadora. Para ello necesita aadir informacin extra que le permita
asignar y retirar la CPU a un proceso. El ncleo del sistema operativo inserta al
ejecutable un entorno que contiene esa informacin, tpicamente: contenido de los
registros de la CPU, directorio de trabajo, estado de los ficheros abiertos en el
instante en el que perdi la atencin de la CPU, recursos consumidos, etc. A la
combinacin de ejecutable antes descrita y el entorno se le denomina imagen.
Esta estructura si contiene toda la informacin necesaria para que un proceso se
ejecute creyendo poseer todos los recursos del ordenador.

9. Implantacin, asignacin de recursos y


estados de los procesos
Implantacin de los procesos

La implementacin del modelo de procesos se logra debido a que el


sistema operativo almacena en una tabla de control de procesos, informacin
relativa a cada proceso que se est ejecutando en el procesador. Cada lnea de
esta tabla representa a un proceso.

La informacin que se almacena es la siguiente:

1) Identificacin del proceso.

2) Identificacin del proceso padre.

3) Informacin sobre el usuario y grupo.

4) Estado del procesador.

5) Informacin de control de proceso.

5.1) Informacin del planificador.

5.2) Segmentos de memoria asignados.

5.3) Recursos asignados.

Pgina 7
Asignacin de recursos.

Se debe de administrar los recursos del equipo para ejecutar servicios


para los procesos.

La disponibilidad y prioridad determinara la asignacin de recursos.

La mala administracin de recursos puede hacer creer que la


computadora no tiene memoria cuando en realidad si tiene. Recursos existentes
en el sistema: son utilizados por los procesos para llevar a cabo su valor.

Tipos de recursos:

1-Recursos reutilizables o consumibles:

Se caracteriza por que el recurso existiendo despus de que un proceso lo


use queda disponible para otros procesos. El recurso es independiente de su
utilizacin.

2-Recursos consumibles:

Estos se caracterizan por que dejan de existir una vez que los usa.

3-Recursos compartidos o exclusivos:

Estos recursos no se ven afectados por Interbloqueos ya que los procesos


que quieran usarlos pueden hacerlo inmediatamente sin posibilidad de quedarse
bloqueados.

4-Recursos con un nico ejemplar o con mltiples:

Una solicitud de este recurso por parte de un proceso podra satisfacerse con
cualquier ejemplar del mismo.

Estados de un proceso

A medida que se ejecuta un proceso, cambia su estado. El estado de un


proceso se define en parte por la actividad actual de dicho proceso. Cada proceso
puede estar en alguno de los siguientes estados:

Nuevo: El proceso se est creando.


Ejecucin: Se estn ejecutando instrucciones.
En espera: El proceso est esperando a que ocurra algn evento (Como la
terminacin de una operacin de entrada o salida, o la recepcin de una
seal.
Listo: El proceso est en espera de ser asignado a un procesador.

Pgina 8
Terminado: El proceso ha terminado su ejecucin.
Los estados ms importantes en que puede encontrarse un proceso son:

Ejecutable (o activo): Si el proceso tiene asignada en ese momento la


CPU.
Listo (preparado): Cuando el proceso podra usar una CPU, si hubiera una
disponible.
Bloqueado (en espera): Si el proceso espera que ocurra algo (la
terminacin de una E/S por ejemplo) para poder ponerse en marcha.
Creacin de Procesos

Un proceso puede crear varios procesos nuevos, a travs de una llamada


al sistema para la creacin de procesos, durante el curso de la ejecucin. El
proceso creador se denomina proceso padre, en tanto que los nuevos son sus
hijos. Cada uno de estos nuevos procesos a su vez pueden crear otros, formando
as un rbol de procesos.

Cuando un proceso se crea como nuevo existen dos posibilidades en


trminos de ejecucin:

1. El padre contina ejecutndose de manera concurrente con sus hijos.

2. El padre espera hasta que alguno de sus hijos haya terminado.

Terminacin de un Proceso

Un proceso concluye cuando termina de ejecutar su sentencia final, y le


pide al sistema operativo que lo borre usando la llamada exit. En dicho punto el
proceso puede regresar datos de salida a su padre. Todos los recursos del
proceso incluyendo memoria y buffers, son liberados por el sistema operativo.

Existen circunstancias adicionales en las que ocurre terminacin. Un


proceso puede ocasionar la terminacin de otro, mediante la llamada apropiada al
sistema del evento abort. Esta llamada solo se permite de procesos padre a hijos.

Un padre puede terminar la ejecucin de uno de sus hijos por varias razones:

El hijo ha excedido el uso de alguno de los recursos que tiene asignados.

Ya no se requiere la tarea asignada al hijo.

El padre est saliendo y el sistema no permite que un hijo contine si su


padre termina.

Pgina 9
10. Procesos y hebras

Las hebras son una unidad de asignacin de la CPU (planificacin).


Para la planificacin de la CPU lo importante son los procesos, no los programas.

Un proceso consta al menos de:

El cdigo de un programa
Los datos de un programa
Una pila de ejecucin
Instrucciones
Un conjunto de registros
Un conjunto de recursos del SO
Permite ms de un flujo de control dentro del mismo espacio de
direcciones, dentro del mismo programa (datos y cdigo) y los mismos recursos
del SO, permitimos varias ejecuciones.

Caracteristicas de las hebras:

Contiene un estdo de ejecucion


Almacenamiento estatico para las variables estaticas
Acceso a la memoria y los recursos del proceso, compratidos por
todo los hilos del mismo

Pgina 10
Tipos de procesos:
Unidad de propiedad de los recursos:

El proceso incluye memoria (seccin de cdigo, seccin de datos) y otros


recursos como: archivos abiertos, seales,...

Unidad de expedicin:

Sigue un camino de ejecucin que puede ser intercalada con la de otros


procesos. (Contador de programa, conjunto de registros, espacio de pila, estado)

Tipos de hebras:
Hebras Kernel:
Implementadas dentro del kernel. Conmutacin entre hebras rpida.

Hebras de usuario:
Implementadas a travs de una biblioteca de usuario que acta como un
kernel miniatura. La conmutacin entre ellas es muy rpida. Alto rendimiento al no
consumir recursos kernel (no hacen llamadas al sistema). El tamao crtico de
estas es del orden de unos cientos de instrucciones. Al no conocer el kernel su
existencia. No aplica proteccin entre ellas. Problemas de coordinacin entre el
planificador de la biblioteca y el del SO. Si una hebra se bloquea, bloquea a la
tarea completa.

Enfoques hbridos

Implementan hebras kernel y de usuario y procesos ligeros (p.ej. Solaris 2).

Pgina 11
Clasificacin de las hebras:

Ventajas de las hebras


Se reduce el tiempo de creacin, espera y terminacin de los
procesos.
En una tarea mltiple, mientras una hebra esta en espera o esta
bloqueada, la otra se esta ejecutado
La comunicacin entre hebras de una misma tarea se realiza a
travs de la memoria compartida
Las aplicaciones que necesiten utilizar memoria compartida utilizan
hebras

Pgina 12
11. El planificador de procesos
La panificacin es cuando, el sistema operativo puede tener la planificacin
de poder detener la actividad de un proceso en cualquier momento, as como
cuando el proceso est ejecutado el sistema operativo no puede inhabilitarlo del
estado. El objetivo de este panificador es ejecutar todos los procesos, mantener
ocupada la CPU, minimizar el tiempo que deben esperar como respuesta a los
usuarios, rendir y maximizar el nmero de tareas procesadas por hora.

12. Sincronizacin, comunicacin de los


procesos

Qu es sincronizacin?

Los procesos cuando son cooperantes pueden compartir datos con otros
procesos, y puede afectar a otros procesos o puede ser afectado. De manera que
la sincronizacin ocurre entre estos procesos si son concurrentes para el
funcionamiento de una tarea que se ha encomendado.

Comunicacin de procesos.

Esto ocurre mediante un sistema de mensajes, los procesos se comunican


entre s para ejecutar, entre todos una misma tarea, compartiendo espacios de
memoria.

13. Exclusin mutua


Son segmentos donde se evita el ingreso a secciones crticas, por ms de un
proceso a la vez de aplicaciones inadecuadas. La seccin crtica es el fragmento
de un recurso compartido.

La mayor parte de estos recursos son las seales, contadores, colas y otros
datos que se emplean en la comunicacin entre el cdigo que se ejecuta cuando
se da servicio a una interrupcin y el cdigo que se ejecuta el resto del tiempo. Se
trata de un problema de vital importancia porque, si no se toman las precauciones
debidas, una interrupcin puede ocurrir entre dos instrucciones cualesquiera del
cdigo normal y esto puede provocar graves fallos.

Pgina 13
La tcnica que se emplea por lo comn para conseguir la exclusin mutua es
inhabilitar las interrupciones durante el conjunto de instrucciones ms pequeo
que impedir la corrupcin de la estructura compartida (la seccin crtica). Esto
impide que el cdigo de la interrupcin se ejecute en mitad de la seccin crtica.

En un sistema multiprocesador de memoria compartida, se usa la operacin


indivisible test-and-set (semforos), para esperar hasta que el otro procesador la
despeje. La operacin test-and-set realiza ambas operaciones sin liberar el bus de
memoria a otro procesador.

Caractersticas

Slo un proceso, de todos los que poseen secciones crticas por el mismo
recurso compartido, debe tener permiso para entrar en ella en un momento
dado.
Un proceso que se interrumpe en una seccin no crtica debe hacerlo sin
interferir con los otros procesos.
Un proceso no debe poder solicitar acceso a una seccin crtica para
despus ser demorado indefinidamente, no puede permitirse el interbloqueo
o la inanicin.
Si ningn proceso est en su seccin crtica, cualquier proceso que solicite
entrar en la suya debe poder hacerlo sin demora.
No se debe suponer sobre la velocidad relativa de los procesos o el nmero
de procesadores.
Un proceso permanece en su seccin crtica por un tiempo finito.
Una manera de satisfacer los requisitos de exclusin mutua es dejar la
responsabilidad a los procesos que deseen ejecutar concurrentemente.
Tanto si son programas del sistema como de aplicacin, los procesos
deben coordinarse unos con otros para cumplir la exclusin mutua, sin
ayuda del lenguaje de programacin o del sistema operativo. Estos
mtodos se conocen como soluciones por software.

14. Semforos

Es el que controla los procesos de una forma ordenada y determina que


proceso se ejecutara primero, guindose por ciertas reglas que omite el sistema
operativo, omitiendo o restringiendo a cada uno de los procesos.
En pocas palabras, semforos es un algoritmo de control de procesos, que
tiene solo dos operaciones bsicas, las cuales son:

Pgina 14
Wait.- Pregunta a los procesos si su contador es > = que cero, en caso de
no ser as, los decremento. El proceso que cambia en este caso a negativo (1)
desde la cola de procesos Listos a ser ejecutados es el que automticamente
toma el control del procesador.

Signal.- A partir de un tiempo t definido por el despachador se ejecuta, y


pregunta a los procesos si su contador es < que cero en caso de que sea
afirmativa la respuesta, saca a este proceso de su ejecucin y depende de su
estado.

15. Monitores
Es un mecanismo de alto nivel de Software para control de concurrencia
que contiene una coleccin de datos y los procedimientos necesarios para realizar
la asignacin de un determinado recurso o grupo de recursos compartidos por
varios procesos.
Son una estructura de un lenguaje de programacin ms estructurados, es
decir un tipo de dato abstracto que encapsula datos privados y proporciona
mtodos pblicos (Monitor = Encapsulacin).
Los Monitores se caracterizan porque proveen sincronizacin de procesos
con exclusin mutua, es decir, que slo se permite que un proceso puede estar
activo, en el caso que se tenga un recurso o un grupo de recursos que estn
siendo compartidos por un conjunto de procesos, otorgando una solucin al
problema que produce la concurrencia.
Los procesos no pueden usar directamente la representacin de un tipo
Monitor por lo tanto un procedimiento definido dentro de un monitor slo tiene
acceso a las variables declaradas localmente y a los parmetros formales. De
manera similar, slo los procedimientos locales pueden tener acceso a las
variables locales de un Monitor.

Caractersticas:

Es un Mdulo de software.
Mecanismo de alto nivel (impuesto por el compilador).
Estructura Fundamental de Sincronizacin.
Exclusin mutua: slo un proceso puede acceder al Monitor en cada momento,
cualquier otro que lo invoque debe esperar.
Variables de datos locales slo se acceden a travs de los procedimientos del
Monitor.

Pgina 15
Un proceso entra al monitor invocando uno de sus procedimientos.

16. Mensajes
El paso de mensajes es una tcnica empleada en programacin concurrente
para aportar sincronizacin entre procesos y permitir la exclusin mutua, de
manera similar a como se hace con los semforos, monitores, etc.

Su principal caracterstica es que no precisa de memoria compartida, por lo


que es muy importante en la programacin para sistemas distribuidos.

Los elementos principales que intervienen en el paso de mensajes son el


proceso que enva, el que recibe y el mensaje.

Dependiendo de si el proceso que enva el mensaje espera a que el mensaje


sea recibido, se puede hablar de paso de mensajes sncrono o asncrono. En el
paso de mensajes asncrono, el proceso que enva, no espera a que el mensaje
sea recibido, y contina su ejecucin, siendo posible que vuelva a generar un
nuevo mensaje y a enviarlo antes de que se haya recibido el anterior. Por este
motivo se suelen emplear buzones, en los que se almacenan los mensajes a
espera de que un proceso los reciba.

Generalmente empleando este sistema, el proceso que enva mensajes slo


se bloquea o para, cuando finaliza su ejecucin, o si el buzn est lleno. En el
paso de mensajes sncrono, el proceso que enva el mensaje espera a que un
proceso lo reciba para continuar su ejecucin. Por esto se suele llamar a esta
tcnica encuentro, o rendezvous. Dentro del paso de mensajes sncrono se
engloba a la llamada a procedimiento remoto, muy popular en las arquitecturas
cliente/servidor.

17. Interbloqueos
Es el bloqueo permanente de un conjunto de procesos o hilos de
ejecucin en un sistema concurrente que compiten por recursos del sistema o bien
se comunican entre ellos. A diferencia de otros problemas de concurrencia de
procesos, no existe una solucin general para los interbloqueos.

Todos los interbloqueos surgen de necesidades que no pueden ser


satisfechas, por parte de dos o ms procesos. En la vida real, un ejemplo puede

Pgina 16
ser el de dos nios que intentan jugar al arco y flecha, uno toma el arco, el otro la
flecha. Ninguno puede jugar hasta que alguno libere lo que tom.

En el siguiente ejemplo, dos procesos compiten por dos recursos que


necesitan para funcionar, que slo pueden ser utilizados por un proceso a la vez.
El primer proceso obtiene el permiso de utilizar uno de los recursos (adquiere
el lock sobre ese recurso). El segundo proceso toma el lock del otro recurso, y
luego intenta utilizar el recurso ya utilizado por el primer proceso, por lo tanto
queda en espera. Cuando el primer proceso a su vez intenta utilizar el otro
recurso, se produce un interbloqueo, donde los dos procesos esperan la liberacin
del recurso que utiliza el otro proceso.

Pgina 17
Conclusin
En el presente informe se denot la importancia que hay ms all de toda esa
interfaz grfica tan intuitiva y bonita que hoy en da es denominado Sistemas
Operativos. El dar a conocer los procesos en todo su amplitud y conocer que su
funcionamiento es ms complejo de lo credo. El pensar que un proceso puede
realizar tantas acciones juntas dentro de la PC y el SO que permiten realizar
acciones cada vez ms complejas es algo simplemente increble.

El hecho de que una maquina haya evolucionado para mejor durante siglos y que
aun as la base de la creacin, ejecucin y finalizacin de los procesos es muy
similar a la utilizada anteriormente. Que aunque est presente el auge que tiene la
humanidad de mejorar y hacer todo ms fcil, no ha sido necesario cambiarle el
sistema de procesos.

Si bien es indispensable conocer estos puntos acerca de los procesos en la


materia de SO, ya que, esta es una parte que apertura las mltiples opciones,
experiencias y modificaciones que se le pueden realizar a un SO, porque para eso
son las herramientas, son creadas con el fin de utilizarlas para implementar o
disear cosas mejores partiendo de la nada o de un sistema ya planteado como lo
es el de procesos dentro de la computadora.

Pgina 18
Bibliografa
https://www.webprogramacion.com/44/sistemas-operativos/exclusion-mutua.aspx

https://lcsistemasoperativos.wordpress.com/tag/monitores/

http://252m2so.blogspot.com/2009/10/211-paso-de-mensajes.html

https://sites.google.com/site/sisoper1/home/gestion-de-procesos

http://sistemasoperativos03-unefa.blogspot.com/2011/11/procesos-involucrados-en-los-
sistemas.html

http://informatica-251m.blogspot.com/2011/11/unidad-ii-administracion-de-procesos.html

http://www.monografias.com/trabajos82/procesos-sistemas-operativos/procesos-sistemas-
operativos.shtml

Pgina 19

También podría gustarte