Está en la página 1de 14

INSTITUTO UNIVERSITARIO DE MEXICO

LICENCIATURA:
LIC. CONTADURIA E INFORMATICA
5 CUATRIMESTRE SABATINO

ASIGNATURA:
SISTEMAS OPERATIVOS

TEMA:
ADMINISTRADOR DE PROCESOS
CATEDRATICO:
ING. ALEXIS EVERGENYI CHIRINO

ALUMNA:
DARIANA ALEJANDRA ARTEAGA TRINIDAD

TAPACHULA CHIAPAS; A 27 DE ENERO DEL 2023


Administrador de proceso.
Un administrador de procesos es un programa de computo que se utiliza para
proporcionar información sobre los procesos y programas que se están activos en
la computadora, esta aplicación se utiliza para detener o comúnmente matar
procesos.

DESCRIPCION Y CONTROL DE PROCESOS


DESCRIPCION
descripción de los procesos es una forma de representar la realidad de la manera
más exacta posible, a partir de la identificación de las diferentes actividades y
tareas que se realizan en un proceso para lograr un determinado resultado o
producto.

La descripción de los procesos se apoya con la utilización de elementos gráficos,


especialmente diagramas que pueden ser de mayor o menor complejidad. Se
aconseja partir por un “mapa general de procesos” que señale en forma gruesa los
procesos más importantes presentes en una determinada área de actividad y la
asociación entre ellos. Este mapa debe incluir los procesos que se relacionan con
agentes o instituciones externas, así como la relación de los diferentes procesos
entre sí.
Descripción de procesos
El diseño de un SO debe reflejar ciertos requisitos generales.
Dichos requisitos están construidos bajo el concepto de proceso.
Intercalar la ejecución de múltiples procesos.
Asignar los recursos a los procesos.
Comunicación y creación de procesos.

CONTROL
Control de Procesos es un término que hace referencia a la supervisión y
verificación de variables inherentes en todo proceso para la reducción de la
variabilidad en el producto final, diminuición costos, incremento de la eficiencia y
reducción del impacto ambiental en una organización. El Control de Procesos
unifica distintas ramas como la informática, la electrónica, los sistemas de control y
automatización con la finalidad de analizar y diseñar procesos de manufactura en
la mayoría de áreas.

Los beneficios del Control de Procesos son:

- Mejora la calidad del producto.


- Permite ahorrar energía.
- Brinda seguridad en las operaciones.
- Ayuda en la optimización de las operaciones.
- Da un fácil acceso a los datos del proceso.
- Eleva la productividad.
DEFINICION DE PROCESO
Un proceso no es más que un programa en ejecución, e incluye los valores
actuales del contador de programa, los registros y las variables. Conceptualmente
cada uno de estos procesos tiene su propia CPU virtual. Desde luego, en la
realidad la verdadera CPU conmuta de un proceso a otro.

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 ejecución 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 información que permite al sistema operativo su planificación.

ESTADOS DE PROCESOS

Todo proceso en un sistema operativo presenta un estado que indica la situación


de la ejecución en que se encuentra. El número de posibles estados varía de un
sistema operativo a otro.

Los procesos se encuentran en diferentes estados según las necesidades del


equipo, sus recursos, y la coordinación y manipulación por parte del S.O. De estos
distintos estados, los más básicos serían: Nuevo, Activo, Preparado, Bloqueado y
Terminado; encontrándose obligatoriamente en alguno de ellos desde el comienzo
del proceso a la finalización del mismo. En más detalle:
 El estado “Nuevo” de un proceso. Se trata de la creación de un proceso. Los
procesos en este estado están cargados en la memoria, pero no están
acaparando recursos de la CPU. Una vez se admite el proceso pasa a estado
Activo.

 El estado “Preparado” de un proceso. Se trata de procesos que están cargados


y listos para pasar al estado activo, pero que por cualquier causa aún no han
cambiado al estado activo.

 El estado “Activo” de un proceso. Cuando el proceso acapara los recursos del


procesador y se está ejecutando, está en estado activo. Cada proceso activo
ocupa un hilo de nuestro procesador para su beneficio.

 El estado “Bloqueado” de un proceso. Los procesos entran en este estado


cuando necesitan algún recurso que no ha sido dispuesto durante su ejecución.
Esperan a un evento antes de volver al estado Preparado.

 El estado “Terminado” de un proceso. Sucede cuando el proceso termina y se


elimina.

¿Qué es un proceso?

“Un proceso es un programa ejecutándose dentro de su propio espacio de


direcciones”. “Son instrucciones de un programa destinadas a ser ejecutadas por
el microprocesador

Se puede decir que un proceso es un supervisor de hilo(s) de ejecución.

Concepto de Hilo

Las aplicaciones están formadas de uno o más programas. Los programas


constan de código para la computadora donde se ejecutarán. Normalmente, un
"programa hilado" (threaded program, programa construido mediante hilos) tiene el
potencial de incrementar el rendimiento total de la aplicación en cuanto a
productividad y tiempo de respuesta mediante ejecución de código asíncrono y
paralelo.
La ejecución de código paralelo se realiza mediante la ejecución de dos o más
partes de un programa en dos o más procesadores en un instante dado. La
ejecución asíncrona se puede realizar conmutando la ejecución del segmento de
código actual que se bloquea por alguna razón, a otro segmento. Los hilos
permiten al programador emplear estas características y muchas otras.

Otros beneficios de los hilos están relacionados con los recursos compartidos y el
escaso tiempo empleado en su creación, terminación y cambio de contexto. Todo
esto contribuye a incrementar el rendimiento de la aplicación así como conservar
los recursos del sistema.

Elementos de un Hilo y un Proceso

Todos los hilos comparten el mismo espacio de direcciones, y así comparten


también las mismas variables globales. Mientras que los procesos pueden ser de
distintos usuarios y competir por recursos entre si, los hilos de un mismo proceso
de usuario cooperan entre sí, sin luchar entre sí.

Al igual que los procesos tradicionales, los hilos pueden estar en alguno de los
siguientes estados:

En ejecución (Running): cuando el hilo posee la CPU y se encuentra activo.


Bloqueado (Suspend): cuando el hilo se encuentra esperando algún evento o a
la espera de que otro libere el bloqueo por el que se encuentra detenido.
Listo o preparado (Ready): cuando el hilo está preparado para su ejecución, y se
encuentra a la espera de ser elegido por el planificador.
Terminado (Finished): cuando el hilo ha finalizado, pero todavía no ha sido
recogido por el hilo padre, aunque no puede ser planificado nunca más.

Un proceso puede tener uno o más hilos. Los hilos son un mecanismo que permite
mejorar el rendimiento de los sistemas operativos tratando de reducir la
sobrecarga producida por el cambio de contexto entre procesos. Los hilos de un
mismo proceso comparten los recursos (memoria, archivos, etc.), y son la unidad
de planificación. Así, un proceso será un objeto estático que posee un conjunto de
recursos para una serie de hilos, que son los objetos dinámicos panificables.

Los hilos en un entorno multihilo tienen las siguientes características que pueden
hacerles deseables en muchas aplicaciones que requieren multitarea:

 Necesitan poca memoria.


 Tienen un bajo coste de creación.
 Tienen un bajo coste de sincronización.
 Comparten el mismo espacio de direcciones.
 Pueden progresar independientemente unos de otros.

CONCEPTO DE CONCURRENCIA
Se habla de concurrencia cuando ocurren varios sucesos de manera
contemporánea. En base a esto, la concurrencia en computación está asociada a
la “ejecución” de varios procesos que coexisten temporalmente.

PRINCIPIOS GENERALES DE LA CONCURRENCIA

En un sistema multiprogramado con un único procesador, los procesos se


intercalan en el tiempo para dar la apariencia de ejecución simultánea, a diferencia
de un sistema multiprocesamiento en el que consigue procesamiento paralelo real.
Aunque intercalación y superposición representen formas de ejecución diferente,
ambas técnicas pueden contemplarse como ejemplos de procesamiento
concurrente y ambas plantean los mismos problemas.

Las dificultades que presenta la concurrencia son:

1.Compartir recursos globales está lleno de riesgos. Si dos procesos hacen uso
al mismo tiempo del mismo recurso, el orden en que se ejecuten las lecturas y
escrituras, es crítico.
2.Es difícil gestionar la asignación óptima de recursos.

3.Resulta difícil localizar un error de programación

El problema de concurrencia se presenta en la multiprogramación debido a que


una interrupción puede detenerla ejecución de instrucciones de un proceso en
cualquier momento y dar lugar a otro sin que este allá finalizado.

En el caso de un sistema multiprocesador, se tiene la misma condición y además


el problema puede ser causado por 2 procesos que se estén ejecutando
simultáneamente y que intenten ambos acceder a la misma variable global
(Recordemos que la velocidad relativa de ejecución de los procesos es
impredecible.)

Sin embargo, la solución al problema de la concurrencia para ambos tipos de


sistemas es la misma: CONTROLAR EL ACCESO AL RECURSO COMPARTIDO

EXCLUSION MUTUA
Se denomina exclusión mutua al acceso concurrente de varios procesos a un dato
o recurso compartido. En un determinado instante, únicamente uno de estos
procesos será capaz de ejecutar la sección crítica del código, que es la sección
donde se accede al recurso compartido o se modifica el mismo. Esta exclusión
mutua puede ser resuelta utilizando una cola compartida que modere el acceso,
un semáforo compartido, o una variable compartida que indique que proceso
puede acceder.

La exclusión mutua distribuida se produce cuando los procesos y el recurso no


se encuentran en el mismo equipo, por lo que en este caso, para coordinar el
acceso al recurso las variables compartidas mencionadas anteriormente no
pueden ser utilizadas. Es por esto que el único medio para controlar la sección
crítica es la comunicación mediante el paso de mensajes.

Hay distintos grupos de algoritmos que se pueden utilizar para resolver esta
exclusión mutua distribuida, y según su funcionamiento podrían clasificarse en tres
categorías:
 Basados en tokens: un elemento único es compartido por todos los nodos,
permitiendo el acceso a la sección crítica únicamente al nodo que lo posee.
 No basados en tokens: el nodo con acceso a la sección crítica se establece
mediante el intercambio de mensajes en dos o más rondas.
 Basados en quorum: para que un nodo pueda acceder a la sección crítica tiene
que tener permiso de todos los nodos de su subconjunto.

SEMAFOROS

Los semáforos son una herramienta de sincronización que ofrece una solución al
problema de la sección crítica (porción de código de un programa de computador
en la cual se accede a un recurso compartido que no debe ser accedido por más
de un proceso o hilo en ejecución). Un semáforo provee una simple pero útil
abstracción para controlar el acceso de múltiples procesos a un recurso común en
programación paralela, o entornos multiusuarios. El concepto de semáforo fue
inventando por el holandés Esdger W. Dijkstra.

MONITORES
Un monitor es una estructura del lenguaje cuyas principales características son:

 Los datos son privados.


 Ofrecen una serie de métodos públicos para acceder a dichos datos.
 En cada momento sólo puede haber un proceso activo en algún método del
monitor, es decir, ejecutando código de esos métodos públicos del monitor.
Sería equivalente a decir que el recurso que queremos compartir se declara
como monitor. Los procesos que usan el monitor son independientes unos de
otros y cuando deseen usar el recurso, llamarán a los métodos del monitor que
implementen la operación que se desea ejecutar.

Permiten organizar procesos en espera mediante:

 Variables de condición: lista de procesos inicialmente vacía.


 Primitivas: wait(c), añade el proceso p invocante a c y proceso p
bloquea; signal(c), selecciona a uno de los procesos en c y lo pone en
preparado.

PASO DE MENSAJES

el paso de mensajes es un paradigma de programación ampliamente usado en


el software moderno. Sus aplicaciones cubren un amplio campo, y puede usarse
desde para garantizar que los diferentes objetos que constituyen un programa
informático puedan trabajar de forma coherente entre ellos hasta para permitir que
una tarea pueda ejecutarse de forma sincronizada entre varios ordenadores. Es
uno de los conceptos clave en modelos de programación
concurrente, programación distribuida y programación orientada a objetos.

De forma abstracta, se llama mensaje a una porción de información que un


proceso emisor envía a un destinatario (El cual puede ser otro proceso, un actor o
un objeto). El modelo de paso de mensajes es el que define los métodos y
funciones para poder llevar a cabo el envío de un mensaje de un proceso emisor a
un destinatario. Supone un enfoque opuesto al paradigma tradicional en el cual los
procesos, funciones y subrutinas sólo podían ser llamados directamente a través
de su nombre.

CONCURRENCIA E INTERBLOQUEO

Interbloqueo (dead bck)

Es un programa de procesos ejecutándose a un sistema (computador). Un


conjunto de recursos que son utilizados por dichos procesos.

Se dice que el conjunto de procesos se encuentra en un estado de interbloqueo


cuando todos los sus procesos se encuentran esperando un recurso que
mantiene reteniendo otro proceso de grupo.
Es un proceso esperando un evento que jamás se producirá (lo que produce uno
que está esperando también). Dead bck

Concurrencia.

Comprende un gran número de cuestiones de diseño, incluyendo la la


comunicación entre procesos, comparación y comparecía por los recursos.
Sincronización de la ejecución de varios procesos y asignación del tiempo de
procesador a los procesos y es fundamental para que existan diseños como
multiprogramación, multiprocesos y proceso distribuido.

Los procesos son concurrentes si existen simultáneamente cuando dos o más


procesos llegan al mismo tiempo a ejecutarse, se dice que se ha procesado una
concurrencia de procesos.

PRINCIPIO DE INTERBLOQUEO

Un Interbloqueo supone un bloqueo permanente de un conjunto de procesos que


compiten por recursos o bien se comunican o sincronizan si.

Los procesos de los sistemas no solo son independientes, sino que compiten en el
uso exclusivo de recursos, se comunican y se sincronizan entre sí. El sistema
operativo debe encargarse de asegurar que estas interacciones se llevan a cabo
aproximadamente proporcionando la exclusión mutua requerida por las mismas.
Las necesidades de los algunos procesos pueden entrar en conflicto entre si
causando que estos se bloqueen indefinidamente.

El Interbloqueo surge debido a que produce un conflicto entre las necesidades de


los procesos y el recurso que necesita cada proceso lo posee el otro.

Se caracteriza por la existencia de un conjunto de entidades activas que utilizan


un conjunto de recursos para llevar a cabo su labor.
- Entidades: activas que corresponden con los procesos existentes en el
sistema. Un SO proporciona threads que representan las entidades activas y son
la unidad de ejecución del sistema.

- 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 después de que un proceso lo use


queda disponible para otros procesos. El recurso es independiente de su
utilización.

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 múltiples:

Prevención de interbloqueo

Con la estrategia de prevención se intenta eliminar el problema de raíz,


asegurando que nunca se pueden producir interbloqueos. Dado que, como se
realizó previamente, es necesario que se cumpla las cuatro condiciones de
Coffman (exclusión mutua, retención y espera, sin expropiación, espera circular)
para que se produzca un interbloqueo, bastaría únicamente con asegurar que una
de estas condiciones no se puede satisfacer para eliminar los
interbloqueos en sistema. A continuación se analizaran cada una de estas cuatro
condiciones para ver si es posible establecer estrategias que aseguren que no
puede cumplirse.

Detección de Interbloqueo:

La detección del interbloqueo es el proceso de determinar si realmente existe un


interbloqueo e identificar los procesos y recursos implicados en él. Una posibilidad
detectar un interbloqueo es monitorear cada cierto tiempo el estado de los
recursos. Cada vez que se solicita o se devuelve un recurso, se actualiza el
estado de los recursos y se hace una verificación para observar si existe algún
ciclo.

Este método está basado en suponer que un interbloqueo no ser presente y que
los recursos del sistema que han sido asignados, se liberarán en el momento que
otro proceso lo requiera.

Una comprobación para interbloqueo puede hacerse con igual o menor frecuencia
que cada solicitud de recursos, dependiendo de que tan probable es que ocurra un
interbloqueo. Comprobar cada solicitud de recursos tiene dos ventajas: Conduce a
la detección temprana y el algoritmo es simple, de manera relativa porque se basa
en cambios crecientes al estado del sistema. Además, las comprobaciones
frecuentes consumen un tiempo considerable de procesador.

El empleo de algoritmos de detección de interbloqueo implica cierto gasto extra


durante la ejecución. Así pues, se presenta de nuevo la cuestión de costeabilidad,
tan habitual en los sistemas operativos. Los algoritmos de detección de
interbloqueo determinan por lo general si existe una espera circular.
WEBGRAFIA

https://www.monografias.com/trabajos107/descripcion-y-control-procesos-
sistemas-operativos

https://bsginstitute.com/tag/Control-de-Procesos

https://sites.google.com/site/materiasisoperativo/unidad-2

https://www.profesionalreview.com/2020/06/25/cuales-son-los-estados-de-los-
procesos-de-nuestros-equipos/

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

https://www.coursehero.com/file/p6irqsl/Principios-generales-de-la-Concurrencia-

https://danielpozoblog.wordpress.com/2016/09/28/sistemas-operativos-semaforos/

https://www.monografias.com/trabajos106/sistemas-concurrentes-paso-
mensajes/sistemas-concurrentes-paso-mensajes

http://sistemasoperativosi-ivon.blogspot.com/2011/11/212-concurrencia-e-
interbloqueo.htm

http://equipoisaiasmauricio.blogspot.com/2010/10/principios-de-interbloqueo-y-
acciones.html

También podría gustarte