SlideShare una empresa de Scribd logo
Realizado por: Joselin González.
Universidad Pedagógica Experimental Libertador
Instituto Pedagógico “Profesor Antonio Lira Alcalá” de Maturín
¿Que es un proceso?
 Un proceso es una secuencia de pasos dispuesta con algún tipo
de lógica que se enfoca en lograr algún resultado específico. Los
procesos son mecanismos de comportamiento que diseñan los
hombres para mejorar la productividad de algo, para establecer
un orden o eliminar algún tipo de problema.
 En informática, un proceso suele ser el nombre que recibe un
programa que está siendo ejecutado en memoria. Si vemos el
administrador de tareas de Windows, podremos tomar
conciencia de muchos de estos programas. En este caso, el
nombre de procesos deriva del hecho de que un programa por
definición lleva una secuencia de pasos de forma lógica. Muchos
de estos procesos son fundamentales para el mantenimiento del
sistema operativo, circunstancia que hace que eliminar a alguno
pueda tener consecuencias negativas.
Estado de los procesos.
 El principal trabajo del procesador es ejecutar las
instrucciones de máquina 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 multiprogramación, el procesador
intercalará la ejecución de instrucciones de varios
programas que se encuentran en memoria. El sistema
operativo es el responsable de determinar las pautas de
intercalado y asignación de recursos a cada proceso.
Modelos de dos estados
 El modelo de estados más simple es el de dos estados. En este
modelo, un proceso puede estar ejecutándose o no. Cuando se crea
un nuevo proceso, se pone en estado de No ejecución. En algún
momento el proceso que se está ejecutando pasará al estado No
ejecución y otro proceso se elegirá de la lista de procesos listos para
ejecutar para ponerlo en estado Ejecución.
 De esta explicación se desprende que es necesario que el sistema
operativo pueda seguirle la pista a los procesos, conociendo su
estado y el lugar que ocupa en memoria. Además los procesos que
no se están ejecutando deben guardarse en algún tipo de cola
mientras esperan su turno para ejecutar.
Modelo de cinco estados.
 El modelo anterior de dos estados funcionaría bien con una cola FIFO y
planificación por turno rotatorio para los procesos que no están en
ejecución, si los procesos estuvieran siempre listos para ejecutar. En la
realidad, los procesos utilizan datos para operar con ellos, y puede suceder
que no se encuentren listos, o que se deba esperar algún suceso antes de
continuar, como una operación de Entrada/Salida. Es por esto que se
necesita un estado donde los procesos permanezcan bloqueados
esperando hasta que puedan proseguir. Se divide entonces al estado No
ejecución en dos estados: Listo y Bloqueado. Se agregan además un estado
Nuevo y otro Terminado.
Los cinco estados de este diagrama
son los siguientes:
 Ejecución: el proceso está actualmente en ejecución.
 Listo: el proceso está listo para ser ejecutado, sólo está esperando que el
planificador así lo disponga.
 Bloqueado: el proceso no puede ejecutar hasta que no se produzca cierto suceso,
como una operación de Entrada/Salida.
 Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema
operativo. En general los procesos que se encuentran en este estado todavía no
fueron cargados en la memoria principal.
 Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea
porque terminó o por algún fallo, como un error de protección, aritmético, etc.
 Los nuevos estados Nuevo y Terminado son útiles para la gestión de procesos. En
este modelo los estados Bloqueado y Listo tienen ambos una cola de espera.
Cuando un nuevo proceso es admitido por el sistema operativo, se sitúa en la cola
de listos. A falta de un esquema de prioridades ésta puede ser una cola FIFO. Los
procesos suspendidos son mantenidos en una cola de bloqueados. Cuando se da un
suceso se pasan a la cola de listos los procesos que esperaban por ese suceso.
 Si existe un esquema con diferentes niveles de prioridad de procesos es conveniente
mantener varias colas de procesos listos, una para cada nivel de prioridad, lo que
ayuda a determinar cuál es el proceso que más conviene ejecutar a continuación.
Bloque de control de los procesos
 Para llevar a cabo la gestión de un proceso, es necesario que
el sistema operativo guarde cierta información necesaria.
Para ello, existe un registro especial que se conoce como el
bloque de control del proceso BCP, o PCB en inglés (Process
Control Block).
 El BCP es creado por el Sistema operativo cada vez que
aparece un nuevo proceso. Los procesos son conocidos para
el sistema operativo y por tanto elegibles para competir por
los recursos del sistema sólo cuando existe un BCP activo
asociado a ellos. Cuando el programa termina, el BCP es
eliminado para dejar espacio libre en el registro, y usarlo
para almacenar otros BCP.
 El bloque de control de procesos difiere mucho de un sistema a otros,
pero existen contenidos comunes:
 Identificador del proceso: Identificar de forma unívoca al proceso en el
sistema, generalmente se emplea un entero sin signo que se denomina PID
(Process IDentifier)
 Estado del proceso para el planificador de procesos: preparado, activo o
bloqueado.
 Contexto de la ejecución: valor de los registros del procesador, bits de
estados, etc. Esto es, cada vez que se ejecuta el planificador y se realiza una
conmutación de procesos, la información sobre en qué lugar se encontraba la
ejecución del proceso se encuentra guardada aquí, así como el lugar en el que
se paró la ejecución del anterior proceso (cada una en su respectivo BCP).
 Aspectos relacionados con la administración de memoria: tales como el
espacio de direcciones y la cantidad de memoria asignada a un proceso.
 Aspectos relacionados con la administración de ficheros: tales como los
ficheros con los que el proceso está actualmente operando.
 Los procesadores en los que el proceso puede ejecutarse: en caso de
soportar el sistema multiprocesador.
 En el caso de un sistema operativo tipo UNIX: el proceso padre de dicho
proceso y la relación de procesos hijos.
 Estadísticas temporales: Tiempo de lanzamiento del proceso, tiempo en
estado activo, etc.
Operaciones sobre los procesos
 Los sistemas operativos poseen una serie de funciones cuyo objetivo es el de
la manipulación 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 ejecución del programa y
suele necesitar varios argumentos, como el nombre y la prioridad del
proceso.
 La creación de un proceso puede ser de dos tipos:
 Jerárquica. En ella cada proceso que se crea es hijo del proceso creador y
hereda el entorno de ejecución de su padre. El primer proceso que ejecuta
un usuario será hijo del intérprete de comandos con el que interactúa.
 No jerárquico. Cada proceso creado por otro proceso se ejecuta
independientemente de su creador con un entorno diferente. Es un tipo de
creación que no suele darse en los sistemas operativos actuales.
Además de los dos tipos anteriores se
pueden realizar las operaciones siguientes:
 Destruir un proceso. Se trata de la orden de eliminación del proceso con
la cual el sistema operativo destruye su PCB ( Proces control Block).
 Suspender un proceso. Es una operación 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 ejecución 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 temporización o cualquier otra
causa.
Planificación de los procesos
 Hace referencia a un conjunto de políticas y mecanismos incorporados al sistema
operativo, a través de un módulo denominado planificador, que debe decidir cuál
de los procesos en condiciones de ser ejecutado conviene ser despachado primero
y qué orden de ejecución debe seguirse. Esto debe realizarse sin perder de vista su
principal objetivo que consiste en el máximo aprovechamiento del sistema, lo que
implica proveer un buen servicio a los procesos existentes en un momento dado.
 Un proceso es un programa en ejecución. Existen 3 estados en los que puede
encontrarse un proceso, estos son: "Listo", "Bloqueado" y "En ejecución". Para el
control de los mismos internamente son almacenados en una lista, cada uno de
los nodos guarda información de un proceso. En esa información se almacena,
entre otros aspectos, el estado en que se encuentra el proceso, el tiempo que el
proceso ha usado el CPU, e información de E/S (entrada/salida). Los sistemas
operativos cuentan con un componente llamado planificador, que se encarga de
decidir cuál de los procesos hará uso del procesador. La toma de esta decisión, así
como el tiempo de ejecución del proceso, estará dada por un algoritmo,
denominado Algoritmo de Planificación.
Objetivos de la planificación de
procesos
 La Planificación de procesos tiene como principales objetivos la
equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso
y el rendimiento.
 Equidad: Todos los procesos deben ser atendidos.
 Eficacia: El procesador debe estar ocupado el 100% del tiempo.
 Tiempo de respuesta: El tiempo empleado en dar respuesta a
las solicitudes del usuario debe ser el menor posible.
 Tiempo de regreso: Reducir al mínimo el tiempo de espera de
los resultados esperados por los usuarios por lotes.
 Rendimiento: Maximizar el número de tareas que se procesan
por cada hora.
Algoritmos de Planificación
 Primero en llegar primero en ser servido
 Conocido Como FCFS (First Come First Served). Este algoritmo emplea una
cola de procesos, asignando un lugar a cada proceso por el orden de llegada.
Cuando el proceso llega es puesto en su lugar en la cola después del que llegó
antes que él y se pone en estado de listo. Cuando un proceso comienza a
ejecutarse no se interrumpe su ejecución hasta que termina de hacerlo.
 Prioridad al más corto
 Su nombre es SJF (Shortest Job First). El proceso que se encuentra en ejecución
cambiará de estado voluntariamente, o sea, no tendrá un tiempo de ejecución
determinado para el proceso. A cada proceso se le asigna el tiempo que usará
cuando vuelva a estar en ejecución, y se irá ejecutando el que tenga un menor
tiempo asignado. Si se da el caso de que dos procesos tengan igual valor en ese
aspecto emplea el algoritmo FCFS.
 Round Robin
 A cada proceso se le asigna un tiempo determinado para su ejecución, el mismo
tiempo para todos. En caso de que un proceso no pueda ser ejecutado
completamente en ese tiempo se continuará su ejecución después de que todos
los procesos restantes sean ejecutados durante el tiempo establecido. Este es un
algoritmo basado en FCFS que trata la cola de procesos que se encuentran en
estado de listos como una cola circular.
 Planificación por prioridad
 En este tipo de planificación a cada proceso se le asigna una prioridad
siguiendo un criterio determinado, y de acuerdo con esa prioridad será el
orden en que se atienda cada proceso.
 Planificación garantizada
 Para realizar esta planificación el sistema tiene en cuenta el número de
usuarios que deben ser atendidos. Para un número "n" de usuarios se
asignará a cada uno un tiempo de ejecución igual a 1/n.
 Planificación de Colas Múltiples
 El nombre se deriva de MQS (Multilevel Queue Schedulling). En este
algoritmo la cola de procesos que se encuentran en estado de listos es
dividida en un número determinado de colas más pequeñas. Los procesos
son clasificados mediante un criterio para determinar en qué cola será
colocado cada uno cuando quede en estado de listo. Cada cola puede
manejar un algoritmo de planificación diferente a las demás.
 Tiempos
 En la Planificación de procesos se tiene en cuenta diferentes tiempos que
pueden ser calculados, como son el "Tiempo de espera medio", el "Tiempo
de retorno del proceso" y el "Tiempo de retorno medio".
 Tiempo de espera medio
 Es el promedio de tiempos en que los procesos están en estado de listos. En
algoritmos FCFS este tiempo suele ser bastante largo. En algoritmos SJF
para los procesos largos este tiempo suele ser muy grande, pues se estarán
ejecutando constantemente los procesos más cortos y los más largos se
encontrarán constantemente en espera, por lo que pueden entrar en
inanición. En Planificación por prioridad los procesos de prioridad baja
podrían no ejecutarse nunca. Para dar solución a este problema el
envejecimiento de un programa eleva su prioridad.
 Tiempo de retorno del proceso
 Es el tiempo que transcurre desde la creación de un proceso hasta que
termina la ejecución del programa que le dio lugar.
 Tiempo de retorno medio
 Es la suma de los tiempos de retorno de cada uno de los procesos dividida
entre la cantidad de procesos.
Comunicación y sincronización de
los procesos
 Los procesos que ejecutan de forma concurrente en un
sistema se pueden clasificar como procesos independientes
o cooperantes. Un proceso independiente es aquel que
ejecuta sin requerir la ayuda o cooperación de otros
procesos. Un claro ejemplo de procesos independientes son
los diferentes intérpretes de mandatos que se ejecutan de
forma simultánea en un sistema. Los procesos son
cooperantes cuando están diseñados para trabajar
conjuntamente en alguna actividad, para lo que deben ser
capaces de comunicarse e interactuar entre ellos.
 Tanto si los procesos son independientes como
cooperantes, pueden producirse una serie de interacciones
entre ellos.
Comunicación y sincronización de
los procesos
 Estas interacciones pueden ser de dos tipos:
 Interacciones motivadas porque los procesos comparten o compiten por el acceso a
recursos físicos o lógicos. Esta situación aparece en los distintos tipos de procesos
anteriormente comentados. Por ejemplo, dos procesos totalmente independientes
pueden competir por el acceso a disco. En este caso, el sistema operativo deberá
encargarse de que los dos procesos accedan ordenadamente sin que se cree ningún
conflicto. Esta situación también aparece cuando varios procesos desean modificar el
contenido de un registro de una base de datos. Aquí es el gestor de la base de datos el
que se tendrá que encargar de ordenar los distintos accesos al registro.
 Interacción motivada porque los procesos se comunican y sincronizan entre sí para
alcanzar un objetivo común. Por ejemplo, un compilador se puede construir mediante
dos procesos: el compilador propiamente dicho, que se encarga de generar código
ensamblador, y el proceso ensamblador, que obtiene código en lenguaje máquina a
partir del ensamblador. En este ejemplo puede apreciarse la necesidad de comunicar y
sincronizar a los dos procesos.
 Estos dos tipos de interacciones obligan al sistema operativo a incluir mecanismo y
servicios que permitan la comunicación y la sincronización entre procesos.
Procesos concurrentes
 Dos o más procesos decimos que son concurrentes, paralelos, o que se ejecutan
concurrentemente, cuando son procesados al mismo tiempo, es decir, que para
ejecutar uno de ellos, no hace falta que se haya ejecutado otro.
 En sistemas multiprocesador, esta ejecución simultánea podría conseguirse
completamente, puesto que podremos asignarle, por ejemplo, un proceso A al
procesador A y un proceso B al procesador B y cada procesador realizaran la ejecución
de su proceso.
 Cuando tenemos un solo procesador se producirá un intercalado delas instrucciones
de ambos procesos, de tal forma que tendremos la sensación de que hay un
paralelismo en el sistema (concurrencia, ejecución simultánea de más de un proceso).
 Ahora bien, está claro que en esto tenemos que tener en cuenta que mientras un
proceso está escribiendo un valor en una variable determinada, puede darse el caso
que otro proceso que es concurrente al primero vaya a leer o escribir en esa misma
variable, entonces habrá que estudiar el caso en el que un proceso haga una operación
sobre una variable (o recurso en general) y otro proceso concurrente a él realice otra
operación de tal forma que no se realice correctamente. Para estudiar esto, y
determinar el tipo de operaciones que se pueden realizar sobre recursos compartidos
utilizaremos las condiciones de Bernstein.
 Condiciones de Bernstein.
 Condiciones que nos determinan si dos procesos se pueden
ejecutar de forma paralela.

R(S1) es el conjunto de variables cuyo valor es accedido
durante la ejecución de la instrucción.
W(S1) es el conjunto de variables cuyo valor cambia
durante la ejecución de la instrucción.
 Condiciones de Bernstein: Dos procesos se pueden ejecutar
de forma concurrente si se verifican las siguientes
condiciones:

R(S2) Intersección W(S1) = {conjunto vacío}
R(S1) Intersección W(S2) = {conjunto vacío}
W(S1) Intersección W(S2) = {conjunto vacío}
 Grafos de precedencia.
Es un grafo acíclico y orientado cuyos nodos
corresponden a sentencias individuales. Un arco desde
un nodo si a un nodo sj significa que la sentencia sj
puede ejecutarse sólo después de que si haya terminado
su ejecución.
 Instrucciones para crear procesos.
 fork / join

fork: Genera dos ejecuciones concurrentes en un programa.
join: Hace lo contrario, recombinando dos ejecuciones concurrentes en una sola.
 fork etiqueta: La etiqueta nos indica el punto donde está el código de una de esas ejecuciones
concurrentes. El código de la otra ejecución lo escribiremos justo debajo de fork etiqueta.
 join variable: La variable especifica el número de instrucciones concurrentes que vamos a
unir en una sola.

 parbegin / parend

Encerraremos entre Parbegin / Parend las instrucciones que queramos ejecutar
concurrentemente.
Ejemplo:
 Parbegin
A;
B;
C;
Parend

Conseguiremos ejecutar A, B, C de forma simultánea.
Interrupciones
 En el contexto de la informática, una interrupción (del inglés
Interrupt Request, también conocida como petición de
interrupción) es una señal recibida por el procesador de un
ordenador, indicando que debe “interrumpir” el curso de
ejecución actual y pasar a ejecutar código específico para tratar
esta situación.
 Una interrupción es una suspensión temporal de la ejecución de
un proceso, para pasar a ejecutar una subrutina de servicio de
interrupción, la cual, por lo general, no forma parte del
programa, sino que pertenece al sistema operativo o al BIOS).
Una vez finalizada dicha subrutina, se reanuda la ejecución del
programa.
 Las interrupciones surgen de la necesidad que tienen los
dispositivos periféricos de enviar información al procesador
principal de un sistema informático.
Tipos de interrupciones
 Existen tres tipos de interrupciones :
 Interrupciones internas de hardware
 Las interrupciones internas son generadas por ciertos eventos que surgen
durante la ejecución de un programa.
 Este tipo de interrupciones son manejadas en su totalidad por el
hardware y no es posible modificarlas.
 Un ejemplo claro de este tipo de interrupciones es la que actualiza el
contador del reloj interno de la computadora, el hardware hace el
llamado a esta interrupción varias veces durante un segundo para
mantener la hora actualizada.
 Aunque no podemos manejar directamente esta interrupción (no
podemos controlar por software las actualizaciones del reloj), es posible
utilizar sus efectos en la computadora para nuestro beneficio, por
ejemplo para crear un "reloj virtual" actualizado continuamente gracias al
contador del reloj interno. Únicamente debemos escribir un programa
que lea el valor actual del contador y lo traduzca a un formato entendible
para el usuario.
 Interrupciones externas de hardware
 Las interrupciones externas las generan los
dispositivos periféricos, como pueden ser: teclado,
impresoras, tarjetas de comunicaciones, etc. También
son generadas por los coprocesadores.
 No es posible desactivar a las interrupciones externas.
 Estas interrupciones no son enviadas directamente a la
UCP, sino que se mandan a un circuito integrado cuya
función es exclusivamente manejar este tipo de
interrupciones. El circuito, llamado PIC 8259A, si es
controlado por la UCP utilizando para tal control una
serie de vías de comunicación llamadas puertos.
 Una lista de las interrupciones generadas por
hardware es la siguiente
 Interrupciones de software
 Las interrupciones de software pueden ser activadas directamente por el
ensamblador invocando al número de interrupción deseada con la
instrucción INT.
 El uso de las interrupciones nos ayuda en la creación de programas,
utilizándolas nuestros programas son más cortos, es más fácil
entenderlos y usualmente tienen un mejor desempeño debido en gran
parte a su menor tamaño.
 Este tipo de interrupciones podemos separarlas en dos categorías: las
interrupciones del sistema operativo DOS y las interrupciones del BIOS.
 La diferencia entre ambas es que las interrupciones del sistema operativo
son más fáciles de usar pero también son más lentas ya que estas
interrupciones hacen uso del BIOS para lograr su cometido, en cambio
las interrupciones del BIOS son mucho más rápidas pero tienen la
desventaja que, como son parte del hardware son muy específicas y
pueden variar dependiendo incluso de la marca del fabricante del
circuito.
 La elección del tipo de interrupción a utilizar dependerá únicamente de
las características que le quiera dar a su programa: velocidad (utilizando
las del BIOS) o portabilidad (utilizando las del DOS).

Más contenido relacionado

La actualidad más candente

Tabla Comparativa
Tabla ComparativaTabla Comparativa
Tabla Comparativa
luz aurora cruz arevalo
 
Memoria virtual y paginacion
Memoria virtual y paginacionMemoria virtual y paginacion
Memoria virtual y paginacion
Adrian Islas Serrano
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativos
Xavier Jose
 
Bases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasBases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneas
Juan Anaya
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
ChriztOpher Medina
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
Карлос Кантор
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesos
Giant_serch
 
Ensayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANEnsayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLAN
liras loca
 
Diagrama de 7 estados
Diagrama de 7 estadosDiagrama de 7 estados
Diagrama de 7 estados
zombra18
 
Gestión de archivos en Mac OS
Gestión de archivos en Mac OSGestión de archivos en Mac OS
Gestión de archivos en Mac OS
Rafael Bolivar
 
Thread
ThreadThread
Thread
David Lilue
 
Deadlock
DeadlockDeadlock
Deadlock
David Lilue
 
Sistema distribuido
Sistema distribuidoSistema distribuido
Sistema distribuido
Bonita Vm
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
i92almaa
 
Gestion de dispositivos de entrada y salida
Gestion de dispositivos de entrada y salidaGestion de dispositivos de entrada y salida
Gestion de dispositivos de entrada y salida
VictorVillalobos
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
Heder Ithamar Romero
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
Esbeyiz
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
Anel Sosa
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
NAHAMA19
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
Johan Prevot R
 

La actualidad más candente (20)

Tabla Comparativa
Tabla ComparativaTabla Comparativa
Tabla Comparativa
 
Memoria virtual y paginacion
Memoria virtual y paginacionMemoria virtual y paginacion
Memoria virtual y paginacion
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativos
 
Bases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasBases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneas
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesos
 
Ensayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLANEnsayo. Enrutamiento entre las VLAN
Ensayo. Enrutamiento entre las VLAN
 
Diagrama de 7 estados
Diagrama de 7 estadosDiagrama de 7 estados
Diagrama de 7 estados
 
Gestión de archivos en Mac OS
Gestión de archivos en Mac OSGestión de archivos en Mac OS
Gestión de archivos en Mac OS
 
Thread
ThreadThread
Thread
 
Deadlock
DeadlockDeadlock
Deadlock
 
Sistema distribuido
Sistema distribuidoSistema distribuido
Sistema distribuido
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
 
Gestion de dispositivos de entrada y salida
Gestion de dispositivos de entrada y salidaGestion de dispositivos de entrada y salida
Gestion de dispositivos de entrada y salida
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
 

Similar a Procesos

Proceso
ProcesoProceso
Procesos
ProcesosProcesos
Procesos
Rurik Cabeza
 
Inf 324 01 07 Procesos
Inf 324 01 07  ProcesosInf 324 01 07  Procesos
Inf 324 01 07 Procesos
OscarSanchezD
 
Sistemas operativos 2 da unidad
Sistemas operativos 2 da unidadSistemas operativos 2 da unidad
Sistemas operativos 2 da unidad
JHOVANI189612GAZGA
 
Sistemas operativos 2 unidad
Sistemas operativos 2 unidadSistemas operativos 2 unidad
Sistemas operativos 2 unidad
Benja villasente
 
INF-324 01 07 Procesos
INF-324 01 07 ProcesosINF-324 01 07 Procesos
INF-324 01 07 Procesos
OscarSanchezD
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
Fernando Lopez Ocampo
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
Fernando Lopez Ocampo
 
Sistemas operativos - 6to SSI
Sistemas operativos - 6to SSISistemas operativos - 6to SSI
Sistemas operativos - 6to SSI
Alejandro Leibgorin
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
Ramón Caballero Zephol
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
FiorelaL.V
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
FiorelaL.V
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
omarhcc
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
Percy Javier Flores Mamani
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
guest72668865
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
FiorelaL.V
 
Clases procesos
Clases procesosClases procesos
Clases procesos
Guillermo R Gonzalez
 
Introducción a los procesos alfa ii
Introducción a los procesos alfa iiIntroducción a los procesos alfa ii
Introducción a los procesos alfa ii
Alejandro Ordoñez
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
Chulinneitor
 
Estados y transiciones de un proceso
Estados y transiciones de un procesoEstados y transiciones de un proceso
Estados y transiciones de un proceso
JHOVANI189612GAZGA
 

Similar a Procesos (20)

Proceso
ProcesoProceso
Proceso
 
Procesos
ProcesosProcesos
Procesos
 
Inf 324 01 07 Procesos
Inf 324 01 07  ProcesosInf 324 01 07  Procesos
Inf 324 01 07 Procesos
 
Sistemas operativos 2 da unidad
Sistemas operativos 2 da unidadSistemas operativos 2 da unidad
Sistemas operativos 2 da unidad
 
Sistemas operativos 2 unidad
Sistemas operativos 2 unidadSistemas operativos 2 unidad
Sistemas operativos 2 unidad
 
INF-324 01 07 Procesos
INF-324 01 07 ProcesosINF-324 01 07 Procesos
INF-324 01 07 Procesos
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Sistemas operativos - 6to SSI
Sistemas operativos - 6to SSISistemas operativos - 6to SSI
Sistemas operativos - 6to SSI
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
GESTION DE PROCESO
GESTION DE PROCESOGESTION DE PROCESO
GESTION DE PROCESO
 
Clases procesos
Clases procesosClases procesos
Clases procesos
 
Introducción a los procesos alfa ii
Introducción a los procesos alfa iiIntroducción a los procesos alfa ii
Introducción a los procesos alfa ii
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Estados y transiciones de un proceso
Estados y transiciones de un procesoEstados y transiciones de un proceso
Estados y transiciones de un proceso
 

Último

1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Demetrio Ccesa Rayme
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
Robert Zuñiga Vargas
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Unidad de Espiritualidad Eudista
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
Inslvarez5
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
valerytorresmendizab
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
La Paradoja educativa
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
GiselaBerrios3
 

Último (20)

1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdfCUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
CUENTOS EN MAYÚSCULAS PARA APRENDER A LEER.pdf
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
 

Procesos

  • 1. Realizado por: Joselin González. Universidad Pedagógica Experimental Libertador Instituto Pedagógico “Profesor Antonio Lira Alcalá” de Maturín
  • 2. ¿Que es un proceso?  Un proceso es una secuencia de pasos dispuesta con algún tipo de lógica que se enfoca en lograr algún resultado específico. Los procesos son mecanismos de comportamiento que diseñan los hombres para mejorar la productividad de algo, para establecer un orden o eliminar algún tipo de problema.  En informática, un proceso suele ser el nombre que recibe un programa que está siendo ejecutado en memoria. Si vemos el administrador de tareas de Windows, podremos tomar conciencia de muchos de estos programas. En este caso, el nombre de procesos deriva del hecho de que un programa por definición lleva una secuencia de pasos de forma lógica. Muchos de estos procesos son fundamentales para el mantenimiento del sistema operativo, circunstancia que hace que eliminar a alguno pueda tener consecuencias negativas.
  • 3. Estado de los procesos.  El principal trabajo del procesador es ejecutar las instrucciones de máquina 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 multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas que se encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso.
  • 4. Modelos de dos estados  El modelo de estados más simple es el de dos estados. En este modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en estado Ejecución.  De esta explicación se desprende que es necesario que el sistema operativo pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria. Además los procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan su turno para ejecutar.
  • 5. Modelo de cinco estados.  El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar. En la realidad, los procesos utilizan datos para operar con ellos, y puede suceder que no se encuentren listos, o que se deba esperar algún suceso antes de continuar, como una operación de Entrada/Salida. Es por esto que se necesita un estado donde los procesos permanezcan bloqueados esperando hasta que puedan proseguir. Se divide entonces al estado No ejecución en dos estados: Listo y Bloqueado. Se agregan además un estado Nuevo y otro Terminado.
  • 6. Los cinco estados de este diagrama son los siguientes:  Ejecución: el proceso está actualmente en ejecución.  Listo: el proceso está listo para ser ejecutado, sólo está esperando que el planificador así lo disponga.  Bloqueado: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operación de Entrada/Salida.  Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.  Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.  Los nuevos estados Nuevo y Terminado son útiles para la gestión de procesos. En este modelo los estados Bloqueado y Listo tienen ambos una cola de espera. Cuando un nuevo proceso es admitido por el sistema operativo, se sitúa en la cola de listos. A falta de un esquema de prioridades ésta puede ser una cola FIFO. Los procesos suspendidos son mantenidos en una cola de bloqueados. Cuando se da un suceso se pasan a la cola de listos los procesos que esperaban por ese suceso.  Si existe un esquema con diferentes niveles de prioridad de procesos es conveniente mantener varias colas de procesos listos, una para cada nivel de prioridad, lo que ayuda a determinar cuál es el proceso que más conviene ejecutar a continuación.
  • 7. Bloque de control de los procesos  Para llevar a cabo la gestión de un proceso, es necesario que el sistema operativo guarde cierta información necesaria. Para ello, existe un registro especial que se conoce como el bloque de control del proceso BCP, o PCB en inglés (Process Control Block).  El BCP es creado por el Sistema operativo cada vez que aparece un nuevo proceso. Los procesos son conocidos para el sistema operativo y por tanto elegibles para competir por los recursos del sistema sólo cuando existe un BCP activo asociado a ellos. Cuando el programa termina, el BCP es eliminado para dejar espacio libre en el registro, y usarlo para almacenar otros BCP.
  • 8.  El bloque de control de procesos difiere mucho de un sistema a otros, pero existen contenidos comunes:  Identificador del proceso: Identificar de forma unívoca al proceso en el sistema, generalmente se emplea un entero sin signo que se denomina PID (Process IDentifier)  Estado del proceso para el planificador de procesos: preparado, activo o bloqueado.  Contexto de la ejecución: valor de los registros del procesador, bits de estados, etc. Esto es, cada vez que se ejecuta el planificador y se realiza una conmutación de procesos, la información sobre en qué lugar se encontraba la ejecución del proceso se encuentra guardada aquí, así como el lugar en el que se paró la ejecución del anterior proceso (cada una en su respectivo BCP).  Aspectos relacionados con la administración de memoria: tales como el espacio de direcciones y la cantidad de memoria asignada a un proceso.  Aspectos relacionados con la administración de ficheros: tales como los ficheros con los que el proceso está actualmente operando.  Los procesadores en los que el proceso puede ejecutarse: en caso de soportar el sistema multiprocesador.  En el caso de un sistema operativo tipo UNIX: el proceso padre de dicho proceso y la relación de procesos hijos.  Estadísticas temporales: Tiempo de lanzamiento del proceso, tiempo en estado activo, etc.
  • 9. Operaciones sobre los procesos  Los sistemas operativos poseen una serie de funciones cuyo objetivo es el de la manipulación 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 ejecución del programa y suele necesitar varios argumentos, como el nombre y la prioridad del proceso.  La creación de un proceso puede ser de dos tipos:  Jerárquica. En ella cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecución de su padre. El primer proceso que ejecuta un usuario será hijo del intérprete de comandos con el que interactúa.  No jerárquico. Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un entorno diferente. Es un tipo de creación que no suele darse en los sistemas operativos actuales.
  • 10. Además de los dos tipos anteriores se pueden realizar las operaciones siguientes:  Destruir un proceso. Se trata de la orden de eliminación del proceso con la cual el sistema operativo destruye su PCB ( Proces control Block).  Suspender un proceso. Es una operación 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 ejecución 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 temporización o cualquier otra causa.
  • 11. Planificación de los procesos  Hace referencia a un conjunto de políticas y mecanismos incorporados al sistema operativo, a través de un módulo denominado planificador, que debe decidir cuál de los procesos en condiciones de ser ejecutado conviene ser despachado primero y qué orden de ejecución debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo que consiste en el máximo aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos existentes en un momento dado.  Un proceso es un programa en ejecución. Existen 3 estados en los que puede encontrarse un proceso, estos son: "Listo", "Bloqueado" y "En ejecución". Para el control de los mismos internamente son almacenados en una lista, cada uno de los nodos guarda información de un proceso. En esa información se almacena, entre otros aspectos, el estado en que se encuentra el proceso, el tiempo que el proceso ha usado el CPU, e información de E/S (entrada/salida). Los sistemas operativos cuentan con un componente llamado planificador, que se encarga de decidir cuál de los procesos hará uso del procesador. La toma de esta decisión, así como el tiempo de ejecución del proceso, estará dada por un algoritmo, denominado Algoritmo de Planificación.
  • 12. Objetivos de la planificación de procesos  La Planificación de procesos tiene como principales objetivos la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.  Equidad: Todos los procesos deben ser atendidos.  Eficacia: El procesador debe estar ocupado el 100% del tiempo.  Tiempo de respuesta: El tiempo empleado en dar respuesta a las solicitudes del usuario debe ser el menor posible.  Tiempo de regreso: Reducir al mínimo el tiempo de espera de los resultados esperados por los usuarios por lotes.  Rendimiento: Maximizar el número de tareas que se procesan por cada hora.
  • 13. Algoritmos de Planificación  Primero en llegar primero en ser servido  Conocido Como FCFS (First Come First Served). Este algoritmo emplea una cola de procesos, asignando un lugar a cada proceso por el orden de llegada. Cuando el proceso llega es puesto en su lugar en la cola después del que llegó antes que él y se pone en estado de listo. Cuando un proceso comienza a ejecutarse no se interrumpe su ejecución hasta que termina de hacerlo.  Prioridad al más corto  Su nombre es SJF (Shortest Job First). El proceso que se encuentra en ejecución cambiará de estado voluntariamente, o sea, no tendrá un tiempo de ejecución determinado para el proceso. A cada proceso se le asigna el tiempo que usará cuando vuelva a estar en ejecución, y se irá ejecutando el que tenga un menor tiempo asignado. Si se da el caso de que dos procesos tengan igual valor en ese aspecto emplea el algoritmo FCFS.  Round Robin  A cada proceso se le asigna un tiempo determinado para su ejecución, el mismo tiempo para todos. En caso de que un proceso no pueda ser ejecutado completamente en ese tiempo se continuará su ejecución después de que todos los procesos restantes sean ejecutados durante el tiempo establecido. Este es un algoritmo basado en FCFS que trata la cola de procesos que se encuentran en estado de listos como una cola circular.
  • 14.  Planificación por prioridad  En este tipo de planificación a cada proceso se le asigna una prioridad siguiendo un criterio determinado, y de acuerdo con esa prioridad será el orden en que se atienda cada proceso.  Planificación garantizada  Para realizar esta planificación el sistema tiene en cuenta el número de usuarios que deben ser atendidos. Para un número "n" de usuarios se asignará a cada uno un tiempo de ejecución igual a 1/n.  Planificación de Colas Múltiples  El nombre se deriva de MQS (Multilevel Queue Schedulling). En este algoritmo la cola de procesos que se encuentran en estado de listos es dividida en un número determinado de colas más pequeñas. Los procesos son clasificados mediante un criterio para determinar en qué cola será colocado cada uno cuando quede en estado de listo. Cada cola puede manejar un algoritmo de planificación diferente a las demás.
  • 15.  Tiempos  En la Planificación de procesos se tiene en cuenta diferentes tiempos que pueden ser calculados, como son el "Tiempo de espera medio", el "Tiempo de retorno del proceso" y el "Tiempo de retorno medio".  Tiempo de espera medio  Es el promedio de tiempos en que los procesos están en estado de listos. En algoritmos FCFS este tiempo suele ser bastante largo. En algoritmos SJF para los procesos largos este tiempo suele ser muy grande, pues se estarán ejecutando constantemente los procesos más cortos y los más largos se encontrarán constantemente en espera, por lo que pueden entrar en inanición. En Planificación por prioridad los procesos de prioridad baja podrían no ejecutarse nunca. Para dar solución a este problema el envejecimiento de un programa eleva su prioridad.  Tiempo de retorno del proceso  Es el tiempo que transcurre desde la creación de un proceso hasta que termina la ejecución del programa que le dio lugar.  Tiempo de retorno medio  Es la suma de los tiempos de retorno de cada uno de los procesos dividida entre la cantidad de procesos.
  • 16. Comunicación y sincronización de los procesos  Los procesos que ejecutan de forma concurrente en un sistema se pueden clasificar como procesos independientes o cooperantes. Un proceso independiente es aquel que ejecuta sin requerir la ayuda o cooperación de otros procesos. Un claro ejemplo de procesos independientes son los diferentes intérpretes de mandatos que se ejecutan de forma simultánea en un sistema. Los procesos son cooperantes cuando están diseñados para trabajar conjuntamente en alguna actividad, para lo que deben ser capaces de comunicarse e interactuar entre ellos.  Tanto si los procesos son independientes como cooperantes, pueden producirse una serie de interacciones entre ellos.
  • 17. Comunicación y sincronización de los procesos  Estas interacciones pueden ser de dos tipos:  Interacciones motivadas porque los procesos comparten o compiten por el acceso a recursos físicos o lógicos. Esta situación aparece en los distintos tipos de procesos anteriormente comentados. Por ejemplo, dos procesos totalmente independientes pueden competir por el acceso a disco. En este caso, el sistema operativo deberá encargarse de que los dos procesos accedan ordenadamente sin que se cree ningún conflicto. Esta situación también aparece cuando varios procesos desean modificar el contenido de un registro de una base de datos. Aquí es el gestor de la base de datos el que se tendrá que encargar de ordenar los distintos accesos al registro.  Interacción motivada porque los procesos se comunican y sincronizan entre sí para alcanzar un objetivo común. Por ejemplo, un compilador se puede construir mediante dos procesos: el compilador propiamente dicho, que se encarga de generar código ensamblador, y el proceso ensamblador, que obtiene código en lenguaje máquina a partir del ensamblador. En este ejemplo puede apreciarse la necesidad de comunicar y sincronizar a los dos procesos.  Estos dos tipos de interacciones obligan al sistema operativo a incluir mecanismo y servicios que permitan la comunicación y la sincronización entre procesos.
  • 18. Procesos concurrentes  Dos o más procesos decimos que son concurrentes, paralelos, o que se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos, no hace falta que se haya ejecutado otro.  En sistemas multiprocesador, esta ejecución simultánea podría conseguirse completamente, puesto que podremos asignarle, por ejemplo, un proceso A al procesador A y un proceso B al procesador B y cada procesador realizaran la ejecución de su proceso.  Cuando tenemos un solo procesador se producirá un intercalado delas instrucciones de ambos procesos, de tal forma que tendremos la sensación de que hay un paralelismo en el sistema (concurrencia, ejecución simultánea de más de un proceso).  Ahora bien, está claro que en esto tenemos que tener en cuenta que mientras un proceso está escribiendo un valor en una variable determinada, puede darse el caso que otro proceso que es concurrente al primero vaya a leer o escribir en esa misma variable, entonces habrá que estudiar el caso en el que un proceso haga una operación sobre una variable (o recurso en general) y otro proceso concurrente a él realice otra operación de tal forma que no se realice correctamente. Para estudiar esto, y determinar el tipo de operaciones que se pueden realizar sobre recursos compartidos utilizaremos las condiciones de Bernstein.
  • 19.  Condiciones de Bernstein.  Condiciones que nos determinan si dos procesos se pueden ejecutar de forma paralela.  R(S1) es el conjunto de variables cuyo valor es accedido durante la ejecución de la instrucción. W(S1) es el conjunto de variables cuyo valor cambia durante la ejecución de la instrucción.  Condiciones de Bernstein: Dos procesos se pueden ejecutar de forma concurrente si se verifican las siguientes condiciones:  R(S2) Intersección W(S1) = {conjunto vacío} R(S1) Intersección W(S2) = {conjunto vacío} W(S1) Intersección W(S2) = {conjunto vacío}
  • 20.  Grafos de precedencia. Es un grafo acíclico y orientado cuyos nodos corresponden a sentencias individuales. Un arco desde un nodo si a un nodo sj significa que la sentencia sj puede ejecutarse sólo después de que si haya terminado su ejecución.
  • 21.  Instrucciones para crear procesos.  fork / join  fork: Genera dos ejecuciones concurrentes en un programa. join: Hace lo contrario, recombinando dos ejecuciones concurrentes en una sola.  fork etiqueta: La etiqueta nos indica el punto donde está el código de una de esas ejecuciones concurrentes. El código de la otra ejecución lo escribiremos justo debajo de fork etiqueta.  join variable: La variable especifica el número de instrucciones concurrentes que vamos a unir en una sola.   parbegin / parend  Encerraremos entre Parbegin / Parend las instrucciones que queramos ejecutar concurrentemente. Ejemplo:  Parbegin A; B; C; Parend  Conseguiremos ejecutar A, B, C de forma simultánea.
  • 22. Interrupciones  En el contexto de la informática, una interrupción (del inglés Interrupt Request, también conocida como petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe “interrumpir” el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.  Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa, sino que pertenece al sistema operativo o al BIOS). Una vez finalizada dicha subrutina, se reanuda la ejecución del programa.  Las interrupciones surgen de la necesidad que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema informático.
  • 23. Tipos de interrupciones  Existen tres tipos de interrupciones :  Interrupciones internas de hardware  Las interrupciones internas son generadas por ciertos eventos que surgen durante la ejecución de un programa.  Este tipo de interrupciones son manejadas en su totalidad por el hardware y no es posible modificarlas.  Un ejemplo claro de este tipo de interrupciones es la que actualiza el contador del reloj interno de la computadora, el hardware hace el llamado a esta interrupción varias veces durante un segundo para mantener la hora actualizada.  Aunque no podemos manejar directamente esta interrupción (no podemos controlar por software las actualizaciones del reloj), es posible utilizar sus efectos en la computadora para nuestro beneficio, por ejemplo para crear un "reloj virtual" actualizado continuamente gracias al contador del reloj interno. Únicamente debemos escribir un programa que lea el valor actual del contador y lo traduzca a un formato entendible para el usuario.
  • 24.  Interrupciones externas de hardware  Las interrupciones externas las generan los dispositivos periféricos, como pueden ser: teclado, impresoras, tarjetas de comunicaciones, etc. También son generadas por los coprocesadores.  No es posible desactivar a las interrupciones externas.  Estas interrupciones no son enviadas directamente a la UCP, sino que se mandan a un circuito integrado cuya función es exclusivamente manejar este tipo de interrupciones. El circuito, llamado PIC 8259A, si es controlado por la UCP utilizando para tal control una serie de vías de comunicación llamadas puertos.
  • 25.  Una lista de las interrupciones generadas por hardware es la siguiente
  • 26.  Interrupciones de software  Las interrupciones de software pueden ser activadas directamente por el ensamblador invocando al número de interrupción deseada con la instrucción INT.  El uso de las interrupciones nos ayuda en la creación de programas, utilizándolas nuestros programas son más cortos, es más fácil entenderlos y usualmente tienen un mejor desempeño debido en gran parte a su menor tamaño.  Este tipo de interrupciones podemos separarlas en dos categorías: las interrupciones del sistema operativo DOS y las interrupciones del BIOS.  La diferencia entre ambas es que las interrupciones del sistema operativo son más fáciles de usar pero también son más lentas ya que estas interrupciones hacen uso del BIOS para lograr su cometido, en cambio las interrupciones del BIOS son mucho más rápidas pero tienen la desventaja que, como son parte del hardware son muy específicas y pueden variar dependiendo incluso de la marca del fabricante del circuito.  La elección del tipo de interrupción a utilizar dependerá únicamente de las características que le quiera dar a su programa: velocidad (utilizando las del BIOS) o portabilidad (utilizando las del DOS).