SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
ESPECIALIDAD:
ING. INFORMATICA
MATERIA:
SISTEMAS OPERATIVOS
TITULAR:
JACINTO TOLEDO TORRES
PRESENTA:
OSVELI GOMEZ MANUEL
SEMESTRE: 4°
GRUPO: “S”
HEROICA CD. JUCHITAN DE ZARAGOZA OAX, FEBRERO DEL 2016
2.1 CONCEPTO DE PROCESO
Un proceso no es mas que un programa en ejecución, e incluye los valores actuales del contador de
programa, los registros y las variables. Conceptualmente cada unos 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.
Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta
de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de
planificación. Cada hilo consta de instrucciones y estado de ejecución.
Los procesos son creados y destruidos por el sistema operativo, así como también
este se debe hacer cargo de la comunicación entre procesos, pero lo hace a
petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso
se denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y
no compartir el espacio de memoria con el proceso que los ha creado o ser
creados en el mismo espacio de memoria.
En los sistemas operativos multi-hilo es posible crear tanto hilos como procesos.
La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo
y en que dichos hilos comparten toda la memoria reservada para el proceso.
En este modelo: todo software ejecutable de la computadora, lo que a menudo
incluye al sistema operativo, esta organizado en una serie del proceso
secuenciales, o simplemente procesos.
La idea clava aquí es que un proceso es una actividad de algún tipo: tiene
programa, entrada, salida y un estado. Se puede compartir un procesador entre
varios procesos, usando algún algoritmo de planificación para determinar cuando
debe de trabajar en un proceso para atender a uno distinto.
JERARQUÍAS DE PROCESOS
Los sistemas operativos que manejan el concepto de proceso deben contar con
algún mecanismo para crear todos los procesos necesarios. en los sistemas muy
sencillos, o en los diseñados para ejecutar solo una aplicación.
En otros sistemas operativos existen llamadas al sistema para crear un proceso,
cargar su memoria y ponerlo en ejecutar. Sea cual sea la naturaleza exacta de la
llamada al sistema. Los procesos necesitan poder crear otros procesos.
En MINIX, los procesos se crean con la llamada al sistema FORK (bifurcar), que
crea una copia idéntica del proceso invocador. El proceso hijo también puede
ejecutar FORK, así que es posible tener un árbol de proceso.
ESTADOS DE PROCESOS
El estado de un proceso define su actividad actual. Durante su existencia, un proceso pasa por
una serie de estados discretos. Estos estados son se muestran en el siguiente diagrama:
NUEVO
BLOQUEADO
LISTO
EJECUCION TERMINADO
Admitir
Expedir
Salir
Fin del
Tiempo
Ocurre
Suceso
Espera
Suceso
SUSPENDIDO
Estado Descripción
Nuevo
Se dice que un proceso está en estado de nuevo cuando apenas se encuentra en proceso de
crearse.
Listo Un proceso está en estado de listo, cuando podría usar una UCP, si hubiera una disponible.
En ejecución
Se dice que un proceso está estado de ejecución, si en ese momento tiene esta ocupando la
CPU.
Bloqueado
Se dice que un proceso está en estado de bloqueado, si espera que ocurra algo, como por
ejemplo, la terminación de una E/S, para así poder ponerse en marcha.
Terminado Cuando un proceso se ha completado su ejecución pasa a ser un proceso terminado
suspendido
Se da cuando los procesos se detienen a la espera de que se complete alguna operación.
El proceso ha sido movido de la memoria principal a la memoria secundaria
TRANSICIONES DE ESTADOS
Cuando un trabajo es admitido se crea un proceso equivalente, y es insertado en la ultima
parte de la cola de listos (ésta se tratara más adelante). Cuando un proceso pasa de un
estado a otro se dice que hace una transición de estado, estas transiciones se describen a
continuación.
Transición Descripción
Admitido(Proceso):Nuevo Listo
Cuando un proceso se ha creado y se le es permito para competir
por la CPU.
Despacho(Proceso):Listo En ejecución
La asignación de la CPU al primer proceso de la lista de listos es
llamado despacho y es ejecutado por la entidad de sistema llamada
despachador. Mientras que el proceso tenga la CPU se dice que esta
en ejecución.
Tiempo excedido(Proceso):En ejecución Listo
El S.O , cuando un proceso se le expira el intervalo de tiempo
asignado para estar en ejecución (CUANTO), hace que este proceso
que se hallaba en estado de ejecución pase al estado de listo y
inmediatamente el despachador hace que el primer proceso de la
lista pase a estado de ejecución.
Bloqueo(Proceso):En ejecución Bloqueado
Si un proceso que se encuentra en estado de ejecución inicia una
operación de E/s antes que termine su cuanto, el proceso
voluntariamente abandona la CPU, es decir, el proceso se bloquea a
sí mismo.
Despertar(Proceso):Bloqueo Listo
La única transición posible en nuestro modelo básico ocurre cuando
acaba una operación de E/S (o alguna otra causa por la que esté
esperando el proceso), y esta termina pasa a el estado de listo.
Salir(Proceso):En ejecución Terminado
Esta transición ocurre cuando el proceso se ha terminado de
ejecutarse, y pasa a un estado de terminado
Exclusión Mutua
Administra el área de datos compartidos y los recursos compartidos del sistema.
La exclusión mutua es la actividad que realiza el sistema operativo para evitar que dos o más
procesos ingresen al mismo tiempo a un área de datos compartidos o accedan a un mismo
recurso.
En otras palabras, es la condición por la cual, de un conjunto de procesos, sólo uno puede
acceder a un recurso dado o realizar una función dada en un instante de tiempo.
En sistemas de multiprogramación con un único procesador, los procesos se intercalan en el
tiempo para dar la apariencia de ejecución simultánea.
Uno de los grandes problemas que nos podemos encontrar es que el hecho de compartir
recursos está lleno de riesgos.
Por ejemplo, si dos procesos hacen uso al mismo tiempo de una variable global y ambos llevan
a cabo tanto operaciones de lectura como de escritura sobre dicha variable, el orden en que se
ejecuten estas lecturas y escrituras es crítico, puesto que se verá afectado el valor de la
variable.
REGION CRÍTICA O SECCION CRITICA
Una región o sección crítica es una secuencia de instrucciones que no debe ser interrumpida por otros
procesos, es decir, se debe tratar una región crítica como una sola instrucción atómica.
No es suficiente que los recursos usados en una región crítica no deban ser alterados por otros
procesos, porque es posible que su valor o contenido en el momento de lectura no sean validos; puede
ser que estén en un estado transitorio.
Se denomina sección crítica, en programación concurrente, a la porción de código de un programa de
computador en la cual se accede a un recurso compartido (estructura de datos o dispositivo) que no
debe ser accedido por más de un hilo en ejecución.
La sección crítica por lo general termina en un tiempo determinado y el hilo, proceso o tarea sólo
tendrá que esperar un período determinado de tiempo para entrar.
Se necesita un mecanismo de sincronización en la entrada y salida de la sección crítica
para asegurar la utilización en exclusiva del recurso, por ejemplo un semáforo
El acceso concurrente se controla teniendo cuidado de las variables que se modifican
dentro y fuera de la sección crítica.
La sección crítica se utiliza por lo general cuando un programa multihilo actualiza
múltiples variables sin un hilo de ejecución separado que lleve los cambios conflictivos a
esos datos.
Una situación similar, la sección crítica puede ser utilizada para asegurarse de que un
recurso compartido, por ejemplo, una impresora, puede ser accedida por un solo proceso
a la vez.
La manera en cómo se implementan las secciones puede variar dependiendo de los
diversos sistemas operativos.
Sólo un proceso puede estar en una sección crítica a la vez.
El método más común para evitar que dos procesos accedan al mismo tiempo a un
recurso es el de la exclusión mutua
SEMÁFOROS
Un semáforo es una variable especial (o tipo abstracto de datos) que constituye el método
clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de
almacenamiento del sistema o variables del código fuente) en un entorno de
multiprocesamiento (en el que se ejecutarán varios procesos concurrentemente). Fueron
inventados por Edsger Dijkstra en 1965 y se usaron por primera vez en el sistema operativo
THEOS.
Los semáforos se emplean para permitir el acceso a diferentes partes de programas (llamados
secciones críticas) donde se manipulan variables o recursos que deben ser accedidos de forma
especial. Según el valor con que son inicializados se permiten a más o menos procesos utilizar el
recurso de forma simultánea.
Un tipo simple de semáforo es el binario, que puede tomar solamente los valores 0 y 1. Se
inicializan en 1 y son usados cuando sólo un proceso puede acceder a un recurso a la vez. Son
esencialmente lo mismo que los mutex. Cuando el recurso está disponible, un proceso accede y
decrementa el valor del semáforo con la operación P. El valor queda entonces en 0, lo que hace
que si otro proceso intenta decrementarlo tenga que esperar. Cuando el proceso que
decrementó el semáforo realiza una operaciónV, algún proceso que estaba esperando comienza
a utilizar el recurso.
Para hacer que dos procesos se ejecuten en una secuencia predeterminada puede usarse un semáforo
inicializado en 0. El proceso que debe ejecutar primero en la secuencia realiza la operación V sobre el
semáforo antes del código que debe ser ejecutado después del otro proceso. Éste ejecuta la operación P. Si
el segundo proceso en la secuencia es programado para ejecutar antes que el otro, al hacer P dormirá hasta
que el primer proceso de la secuencia pase por su operación V. Este modo de uso se denomina señalación
(signaling), y se usa para que un proceso o hilo de ejecución le haga saber a otro que algo ha sucedido.
El otro uso de los semáforos es para la sincronización. Los semáforos vacíos y llenos se necesitan para
garantizar que ciertas secuencias de eventos ocurran o no. En este caso, aseguran que el productor deje de
ejecutarse cuando el búfer esté lleno y que el consumidor deje de ejecutarse cuando el búfer esté vacío. Este
uso es distinto de la exclusión mutua.
PLANIFICACION DEL PROCESADOR
Gestión del procesador realizada por el sistema
operativo a través de distintas políticas y
mecanismos.
OBJETIVO: Dar un buen servicio a los procesos.
FUNCION: Reparto de tiempo del procesador para los
procesos.
Objetivos
Justicia
Máxima
capacidad de
ejecución
Máximo Numero
de usuarios
interactivos
Predecibilidad
Minimización de
sobrecarga
Equilibrio uso de
recursos
Seguridad de
prioridades
Tiempo de
servicio (T)
T = tf - ti
Tiempo de
espera (E)
E = T - t
Índice de
servicio (I)
I = t / T
Medidas
Tiempo del
núcleo
Tiempo de
inactividad
(Idle)
Tiempo de servicio (T)
• es la diferencia que existe entre el instante en que el proceso
termina su ejecución (tf ) menos el instante en que el usuario da la
orden de ejecución del proceso (ti)
T = tf - ti
Tiempo de espera (E):
• Es la diferencia del tiempo de servicio (T) menos el tiempo que un
proceso P necesita estar en ejecución para llevar a cabo su
trabajo (t).
E = T - t
ALGORITMOS DE PLANIFICACION
El planificador del
procesador tiene como
misión la asignación del
mismo a los procesos que
están en la cola de
procesos preparados.
ALGORITMOS DE
PLANIFICACION
FCFS-FIFO
DESCRIPCION: En este algoritmo de planificación el procesador
ejecuta cada proceso hasta que termina, en el orden que llegan.
Los procesos permanecerán encolados hasta que les toque su
ejecución.
POLÍTICA: no apropiativa.
Ejercicio : suponga que los siguientes procesos han sido planificados para trabajar en el primero en
llegar el primero en ser servido los datos del tiempo de inicio son:
PROCESO T.INICIO TEXE
A 0 8
B 1 5
C 3 3
D 5 6
A)Determine el tiempo en que finaliza cada proceso
b)Determine el tiempo de servicio de cada proceso
c)Obtenga el valor promedio del tiempo de servicio
d)Obtenga el valor promedio del tiempo espera
e)Represente gráficamente con una grafica de gant el tiempo que cada proceso utiliza al
procesador
f)Obtenga el rendimiento del procesador para cada proceso
g) Elabore un resumen explicando como funciona ese método de planificación
PROCESO T.FINAL T E I
A 8 8 0 100
B 13 12 7 240
C 16 13 16 433.3
D 22 17 11 283.3
PROMEDIO DELTIEMPO DE SERVICIO = 10
PROMEDIO DELTIEMPO DE ESPERA = 5.6 TEXE: tiempo de ejecución
T:tiempo de servicio
E:tiempo de espera
I : rendimientoT=T FINAL –T INICIO
E=T-TEXE
I =T TEXE . 100
A A A A A A A A B B B B B C C C D D D D D D
GRAFICA DE GANNT
ESTE PROCESO DE PLANIFICACION EL PROCESADOR EJECUTA SEGÚN EL ORDEN DE LLEGAN COMO
ES NO SE PUEDE REALIZAR DOS PROCESOSAL MISMO TIEMPO SE ESPERAA QUE FINALIZE UNO
PRARA EJECUTAR EL OTRO
EL SIGUIENTE PROCESO
EL MAS CORTO(SJN)
DESCRIPCION: Toma de la cola de
procesos preparados el que necesite
menor tiempo de ejecución.
POLITICA: no apropiativa.
Planificación s-j-f(short first)
proceso Tiempo de inicio Tiempo de ejecución
A 0 10
B 1 8
C 3 3
D 5 6
E 6 5
A) ORDENARTABLA
B) APLICAR F.C.E.S PARA OBTENERTIEMPO FINAL DE CADA PROCESO
C) VALORES DE TIEMPO DE SERVICIOY TIEMPO DE ESPERA
D) PROMEDIO DETIEMPO DE SERVICIOYTIEMPO DE ESPERA
E) GRAFICAR
F) COMPARAR RESULTADO
a) Ordenar la tabla mediante el método de ordenamiento secuencial
for (int i = 0; i < a.length - 1; i++)
{
Val = i;
Pos = i
for (int j = i + 1; j < a.length; j++)
{
if (a[j] <Val)
{
Pos = [í] ;
}
}
Pos= a[i];
a[i] =Val
}
}}
A={10,8,3, 6, 5}
0 1 2 3 4
i=0 0<4 0++
Val = a[i]
Val = 10
Pos= 0
j=0+1 1<5 1++
a[2] <Val
3<8
Pos = 2
Val = a[2]
Val =3
j=2+1 3<5 1++
a[3] <Val
6<3 **
j=3+1 4<5 1++
a[4] <Val
5<3 **
j=4+1 5<5 **
A [pos]=A[i]
A[2]=a[0]
A[2]=10
A[0]=val
A[0]=3
A={3,8,10, 6, 5}
0 1 2 3 4
i=1 1<4 1++
Val = a[i]
Val = 8
Pos= 1
j=1+1 2<5 1++
a[2] <Val
10<8 *
j=2+1 3<5 2++
a[3] <Val
6<8
Pos = 3
Val =6
j=3+1 4<5 3++
a[4] <Val
5<6
Pos = 4
Val =5
j=4+1 5<5 **
A [pos]=A[i]
A[4]=a[1]
A[4]=8
A[1]=val
A[1]=5
A={3,5,10, 6, 8}
0 1 2 3 4
i=2 2<4 2++
Val = a[i]
Val = 10
Pos= 2
j=2+1 3<5 2++
a[3] <Val
6<10
Pos = 3
Val =6
j=3+1 4<5 3++
a[4] <Val
8<6 **
j=4+1 5<5 **
A [pos]=A[i]
A[3]=a[2]
A[3]=10
A[2]=val
A[2]=6
A={3,5,6, 10, 8}
0 1 2 3 4
i=3 3<4 3++
Val = a[i]
Val = 10
Pos= 3
j=3+1 4<5 3++
a[4] <Val
8<10
Pos = 4
Val =8
j=4+1 5<5 **
A [pos]=A[i]
A[4]=a[3]
A[4]=10
A[3]=val
A[3]=8
A={3,5,6, 8, 10}
0 1 2 3 4
i=4 4<4**
Proceso Tiempo de inicio Tiempo de ejecucion
C 0 3
E 1 5
D 3 6
B 5 8
A 6 10
ORDENARTABLA
APLICAR F.C.E.S PARAOBTENERTIEMPO FINAL DE CADA
PROCESO
Proceso Tiempo de inicio Tiempo final Tiempo de
ejecución
C 0 3 3
E 1 8 5
D 3 14 6
B 5 22 8
A 6 31 10
VALORES DE TIEMPO DE SERVICIOY TIEMPO DE ESPERA
Proceso Tiempo de
inicio
Tiempo
final
Tiempo de
ejecución
Tiempo de
servicio
Tiempo de
espera
C 0 3 3 3 0
E 1 8 5 7 2
D 3 14 6 11 5
B 5 22 8 17 9
A 6 31 10 25 15
PROMEDIO DETIEMPO DE SERVICIO= 12.6
PROMEDIO DETIEMPO DE ESPERA= 6.2
C C C E E E E E D D D D D D B B B B B B B B A A A A A A A A A A

Mais conteúdo relacionado

Mais procurados

GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
adriel91
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
Miguel Joshua Godinez Barbosa
 
Sistemas operativos unidad 2
Sistemas operativos unidad 2Sistemas operativos unidad 2
Sistemas operativos unidad 2
Luis Cigarroa
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesos
CariEli
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativos
chikscorpion_23
 
gestion de procesos
gestion de procesosgestion de procesos
gestion de procesos
saoriiih
 

Mais procurados (20)

Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
27 de oct
27 de oct27 de oct
27 de oct
 
Cuestionario procesos
Cuestionario procesos Cuestionario procesos
Cuestionario procesos
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
Presentación1
Presentación1Presentación1
Presentación1
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
Sistemas operativos unidad 2
Sistemas operativos unidad 2Sistemas operativos unidad 2
Sistemas operativos unidad 2
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesos
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Gestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativosGestión de procesos en sistemas operativos
Gestión de procesos en sistemas operativos
 
gestion de procesos
gestion de procesosgestion de procesos
gestion de procesos
 
Unidad2
Unidad2Unidad2
Unidad2
 
Proceso Informatico
Proceso InformaticoProceso Informatico
Proceso Informatico
 
Grupo1
Grupo1Grupo1
Grupo1
 
27 de oct
27 de oct27 de oct
27 de oct
 
Procesos e hilos- Parte 1
Procesos e hilos- Parte 1Procesos e hilos- Parte 1
Procesos e hilos- Parte 1
 

Semelhante a Unidad 2

Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
Carolina Cols
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
giovatovar
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
gladysmamani
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
TEUJARA
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
Alfredo Gonzalez
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
Alfredo Gonzalez
 

Semelhante a Unidad 2 (20)

S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
:)Resumen
:)Resumen:)Resumen
:)Resumen
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Sistema operativo dalma
Sistema operativo dalmaSistema operativo dalma
Sistema operativo dalma
 
Sistema operativo dalma
Sistema operativo dalmaSistema operativo dalma
Sistema operativo dalma
 
UNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADORUNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADOR
 
Portafolio 2
Portafolio 2Portafolio 2
Portafolio 2
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Unidad2
Unidad2Unidad2
Unidad2
 
Sistemas operativos - 6to SSI
Sistemas operativos - 6to SSISistemas operativos - 6to SSI
Sistemas operativos - 6to SSI
 
Proceso
ProcesoProceso
Proceso
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
 

Último

NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
BRAYANJOSEPTSANJINEZ
 

Último (20)

01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 

Unidad 2

  • 1. ESPECIALIDAD: ING. INFORMATICA MATERIA: SISTEMAS OPERATIVOS TITULAR: JACINTO TOLEDO TORRES PRESENTA: OSVELI GOMEZ MANUEL SEMESTRE: 4° GRUPO: “S” HEROICA CD. JUCHITAN DE ZARAGOZA OAX, FEBRERO DEL 2016
  • 2. 2.1 CONCEPTO DE PROCESO Un proceso no es mas que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros y las variables. Conceptualmente cada unos 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. Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución.
  • 3. Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria. En los sistemas operativos multi-hilo es posible crear tanto hilos como procesos. La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso. En este modelo: todo software ejecutable de la computadora, lo que a menudo incluye al sistema operativo, esta organizado en una serie del proceso secuenciales, o simplemente procesos. La idea clava aquí es que un proceso es una actividad de algún tipo: tiene programa, entrada, salida y un estado. Se puede compartir un procesador entre varios procesos, usando algún algoritmo de planificación para determinar cuando debe de trabajar en un proceso para atender a uno distinto.
  • 4. JERARQUÍAS DE PROCESOS Los sistemas operativos que manejan el concepto de proceso deben contar con algún mecanismo para crear todos los procesos necesarios. en los sistemas muy sencillos, o en los diseñados para ejecutar solo una aplicación. En otros sistemas operativos existen llamadas al sistema para crear un proceso, cargar su memoria y ponerlo en ejecutar. Sea cual sea la naturaleza exacta de la llamada al sistema. Los procesos necesitan poder crear otros procesos. En MINIX, los procesos se crean con la llamada al sistema FORK (bifurcar), que crea una copia idéntica del proceso invocador. El proceso hijo también puede ejecutar FORK, así que es posible tener un árbol de proceso.
  • 5. ESTADOS DE PROCESOS El estado de un proceso define su actividad actual. Durante su existencia, un proceso pasa por una serie de estados discretos. Estos estados son se muestran en el siguiente diagrama:
  • 7. Estado Descripción Nuevo Se dice que un proceso está en estado de nuevo cuando apenas se encuentra en proceso de crearse. Listo Un proceso está en estado de listo, cuando podría usar una UCP, si hubiera una disponible. En ejecución Se dice que un proceso está estado de ejecución, si en ese momento tiene esta ocupando la CPU. Bloqueado Se dice que un proceso está en estado de bloqueado, si espera que ocurra algo, como por ejemplo, la terminación de una E/S, para así poder ponerse en marcha. Terminado Cuando un proceso se ha completado su ejecución pasa a ser un proceso terminado suspendido Se da cuando los procesos se detienen a la espera de que se complete alguna operación. El proceso ha sido movido de la memoria principal a la memoria secundaria
  • 8. TRANSICIONES DE ESTADOS Cuando un trabajo es admitido se crea un proceso equivalente, y es insertado en la ultima parte de la cola de listos (ésta se tratara más adelante). Cuando un proceso pasa de un estado a otro se dice que hace una transición de estado, estas transiciones se describen a continuación.
  • 9. Transición Descripción Admitido(Proceso):Nuevo Listo Cuando un proceso se ha creado y se le es permito para competir por la CPU. Despacho(Proceso):Listo En ejecución La asignación de la CPU al primer proceso de la lista de listos es llamado despacho y es ejecutado por la entidad de sistema llamada despachador. Mientras que el proceso tenga la CPU se dice que esta en ejecución. Tiempo excedido(Proceso):En ejecución Listo El S.O , cuando un proceso se le expira el intervalo de tiempo asignado para estar en ejecución (CUANTO), hace que este proceso que se hallaba en estado de ejecución pase al estado de listo y inmediatamente el despachador hace que el primer proceso de la lista pase a estado de ejecución. Bloqueo(Proceso):En ejecución Bloqueado Si un proceso que se encuentra en estado de ejecución inicia una operación de E/s antes que termine su cuanto, el proceso voluntariamente abandona la CPU, es decir, el proceso se bloquea a sí mismo. Despertar(Proceso):Bloqueo Listo La única transición posible en nuestro modelo básico ocurre cuando acaba una operación de E/S (o alguna otra causa por la que esté esperando el proceso), y esta termina pasa a el estado de listo. Salir(Proceso):En ejecución Terminado Esta transición ocurre cuando el proceso se ha terminado de ejecutarse, y pasa a un estado de terminado
  • 10. Exclusión Mutua Administra el área de datos compartidos y los recursos compartidos del sistema. La exclusión mutua es la actividad que realiza el sistema operativo para evitar que dos o más procesos ingresen al mismo tiempo a un área de datos compartidos o accedan a un mismo recurso. En otras palabras, es la condición por la cual, de un conjunto de procesos, sólo uno puede acceder a un recurso dado o realizar una función dada en un instante de tiempo. En sistemas de multiprogramación con un único procesador, los procesos se intercalan en el tiempo para dar la apariencia de ejecución simultánea. Uno de los grandes problemas que nos podemos encontrar es que el hecho de compartir recursos está lleno de riesgos. Por ejemplo, si dos procesos hacen uso al mismo tiempo de una variable global y ambos llevan a cabo tanto operaciones de lectura como de escritura sobre dicha variable, el orden en que se ejecuten estas lecturas y escrituras es crítico, puesto que se verá afectado el valor de la variable.
  • 11.
  • 12. REGION CRÍTICA O SECCION CRITICA Una región o sección crítica es una secuencia de instrucciones que no debe ser interrumpida por otros procesos, es decir, se debe tratar una región crítica como una sola instrucción atómica. No es suficiente que los recursos usados en una región crítica no deban ser alterados por otros procesos, porque es posible que su valor o contenido en el momento de lectura no sean validos; puede ser que estén en un estado transitorio. Se denomina sección crítica, en programación concurrente, a la porción de código de un programa de computador en la cual se accede a un recurso compartido (estructura de datos o dispositivo) que no debe ser accedido por más de un hilo en ejecución. La sección crítica por lo general termina en un tiempo determinado y el hilo, proceso o tarea sólo tendrá que esperar un período determinado de tiempo para entrar.
  • 13. Se necesita un mecanismo de sincronización en la entrada y salida de la sección crítica para asegurar la utilización en exclusiva del recurso, por ejemplo un semáforo El acceso concurrente se controla teniendo cuidado de las variables que se modifican dentro y fuera de la sección crítica. La sección crítica se utiliza por lo general cuando un programa multihilo actualiza múltiples variables sin un hilo de ejecución separado que lleve los cambios conflictivos a esos datos. Una situación similar, la sección crítica puede ser utilizada para asegurarse de que un recurso compartido, por ejemplo, una impresora, puede ser accedida por un solo proceso a la vez. La manera en cómo se implementan las secciones puede variar dependiendo de los diversos sistemas operativos. Sólo un proceso puede estar en una sección crítica a la vez. El método más común para evitar que dos procesos accedan al mismo tiempo a un recurso es el de la exclusión mutua
  • 14.
  • 15. SEMÁFOROS Un semáforo es una variable especial (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento del sistema o variables del código fuente) en un entorno de multiprocesamiento (en el que se ejecutarán varios procesos concurrentemente). Fueron inventados por Edsger Dijkstra en 1965 y se usaron por primera vez en el sistema operativo THEOS. Los semáforos se emplean para permitir el acceso a diferentes partes de programas (llamados secciones críticas) donde se manipulan variables o recursos que deben ser accedidos de forma especial. Según el valor con que son inicializados se permiten a más o menos procesos utilizar el recurso de forma simultánea. Un tipo simple de semáforo es el binario, que puede tomar solamente los valores 0 y 1. Se inicializan en 1 y son usados cuando sólo un proceso puede acceder a un recurso a la vez. Son esencialmente lo mismo que los mutex. Cuando el recurso está disponible, un proceso accede y decrementa el valor del semáforo con la operación P. El valor queda entonces en 0, lo que hace que si otro proceso intenta decrementarlo tenga que esperar. Cuando el proceso que decrementó el semáforo realiza una operaciónV, algún proceso que estaba esperando comienza a utilizar el recurso.
  • 16. Para hacer que dos procesos se ejecuten en una secuencia predeterminada puede usarse un semáforo inicializado en 0. El proceso que debe ejecutar primero en la secuencia realiza la operación V sobre el semáforo antes del código que debe ser ejecutado después del otro proceso. Éste ejecuta la operación P. Si el segundo proceso en la secuencia es programado para ejecutar antes que el otro, al hacer P dormirá hasta que el primer proceso de la secuencia pase por su operación V. Este modo de uso se denomina señalación (signaling), y se usa para que un proceso o hilo de ejecución le haga saber a otro que algo ha sucedido. El otro uso de los semáforos es para la sincronización. Los semáforos vacíos y llenos se necesitan para garantizar que ciertas secuencias de eventos ocurran o no. En este caso, aseguran que el productor deje de ejecutarse cuando el búfer esté lleno y que el consumidor deje de ejecutarse cuando el búfer esté vacío. Este uso es distinto de la exclusión mutua.
  • 17.
  • 18. PLANIFICACION DEL PROCESADOR Gestión del procesador realizada por el sistema operativo a través de distintas políticas y mecanismos. OBJETIVO: Dar un buen servicio a los procesos. FUNCION: Reparto de tiempo del procesador para los procesos.
  • 19. Objetivos Justicia Máxima capacidad de ejecución Máximo Numero de usuarios interactivos Predecibilidad Minimización de sobrecarga Equilibrio uso de recursos Seguridad de prioridades
  • 20. Tiempo de servicio (T) T = tf - ti Tiempo de espera (E) E = T - t Índice de servicio (I) I = t / T Medidas Tiempo del núcleo Tiempo de inactividad (Idle)
  • 21. Tiempo de servicio (T) • es la diferencia que existe entre el instante en que el proceso termina su ejecución (tf ) menos el instante en que el usuario da la orden de ejecución del proceso (ti) T = tf - ti
  • 22. Tiempo de espera (E): • Es la diferencia del tiempo de servicio (T) menos el tiempo que un proceso P necesita estar en ejecución para llevar a cabo su trabajo (t). E = T - t
  • 23. ALGORITMOS DE PLANIFICACION El planificador del procesador tiene como misión la asignación del mismo a los procesos que están en la cola de procesos preparados.
  • 25. FCFS-FIFO DESCRIPCION: En este algoritmo de planificación el procesador ejecuta cada proceso hasta que termina, en el orden que llegan. Los procesos permanecerán encolados hasta que les toque su ejecución. POLÍTICA: no apropiativa.
  • 26. Ejercicio : suponga que los siguientes procesos han sido planificados para trabajar en el primero en llegar el primero en ser servido los datos del tiempo de inicio son: PROCESO T.INICIO TEXE A 0 8 B 1 5 C 3 3 D 5 6
  • 27. A)Determine el tiempo en que finaliza cada proceso b)Determine el tiempo de servicio de cada proceso c)Obtenga el valor promedio del tiempo de servicio d)Obtenga el valor promedio del tiempo espera e)Represente gráficamente con una grafica de gant el tiempo que cada proceso utiliza al procesador f)Obtenga el rendimiento del procesador para cada proceso g) Elabore un resumen explicando como funciona ese método de planificación
  • 28. PROCESO T.FINAL T E I A 8 8 0 100 B 13 12 7 240 C 16 13 16 433.3 D 22 17 11 283.3 PROMEDIO DELTIEMPO DE SERVICIO = 10 PROMEDIO DELTIEMPO DE ESPERA = 5.6 TEXE: tiempo de ejecución T:tiempo de servicio E:tiempo de espera I : rendimientoT=T FINAL –T INICIO E=T-TEXE I =T TEXE . 100
  • 29. A A A A A A A A B B B B B C C C D D D D D D GRAFICA DE GANNT ESTE PROCESO DE PLANIFICACION EL PROCESADOR EJECUTA SEGÚN EL ORDEN DE LLEGAN COMO ES NO SE PUEDE REALIZAR DOS PROCESOSAL MISMO TIEMPO SE ESPERAA QUE FINALIZE UNO PRARA EJECUTAR EL OTRO
  • 30. EL SIGUIENTE PROCESO EL MAS CORTO(SJN) DESCRIPCION: Toma de la cola de procesos preparados el que necesite menor tiempo de ejecución. POLITICA: no apropiativa.
  • 31. Planificación s-j-f(short first) proceso Tiempo de inicio Tiempo de ejecución A 0 10 B 1 8 C 3 3 D 5 6 E 6 5 A) ORDENARTABLA B) APLICAR F.C.E.S PARA OBTENERTIEMPO FINAL DE CADA PROCESO C) VALORES DE TIEMPO DE SERVICIOY TIEMPO DE ESPERA D) PROMEDIO DETIEMPO DE SERVICIOYTIEMPO DE ESPERA E) GRAFICAR F) COMPARAR RESULTADO
  • 32. a) Ordenar la tabla mediante el método de ordenamiento secuencial for (int i = 0; i < a.length - 1; i++) { Val = i; Pos = i for (int j = i + 1; j < a.length; j++) { if (a[j] <Val) { Pos = [í] ; } } Pos= a[i]; a[i] =Val } }}
  • 33. A={10,8,3, 6, 5} 0 1 2 3 4 i=0 0<4 0++ Val = a[i] Val = 10 Pos= 0 j=0+1 1<5 1++ a[2] <Val 3<8 Pos = 2 Val = a[2] Val =3 j=2+1 3<5 1++ a[3] <Val 6<3 ** j=3+1 4<5 1++ a[4] <Val 5<3 ** j=4+1 5<5 ** A [pos]=A[i] A[2]=a[0] A[2]=10 A[0]=val A[0]=3 A={3,8,10, 6, 5} 0 1 2 3 4 i=1 1<4 1++ Val = a[i] Val = 8 Pos= 1 j=1+1 2<5 1++ a[2] <Val 10<8 * j=2+1 3<5 2++ a[3] <Val 6<8 Pos = 3 Val =6 j=3+1 4<5 3++ a[4] <Val 5<6 Pos = 4 Val =5 j=4+1 5<5 ** A [pos]=A[i] A[4]=a[1] A[4]=8 A[1]=val A[1]=5
  • 34. A={3,5,10, 6, 8} 0 1 2 3 4 i=2 2<4 2++ Val = a[i] Val = 10 Pos= 2 j=2+1 3<5 2++ a[3] <Val 6<10 Pos = 3 Val =6 j=3+1 4<5 3++ a[4] <Val 8<6 ** j=4+1 5<5 ** A [pos]=A[i] A[3]=a[2] A[3]=10 A[2]=val A[2]=6 A={3,5,6, 10, 8} 0 1 2 3 4 i=3 3<4 3++ Val = a[i] Val = 10 Pos= 3 j=3+1 4<5 3++ a[4] <Val 8<10 Pos = 4 Val =8 j=4+1 5<5 ** A [pos]=A[i] A[4]=a[3] A[4]=10 A[3]=val A[3]=8 A={3,5,6, 8, 10} 0 1 2 3 4 i=4 4<4**
  • 35. Proceso Tiempo de inicio Tiempo de ejecucion C 0 3 E 1 5 D 3 6 B 5 8 A 6 10 ORDENARTABLA APLICAR F.C.E.S PARAOBTENERTIEMPO FINAL DE CADA PROCESO Proceso Tiempo de inicio Tiempo final Tiempo de ejecución C 0 3 3 E 1 8 5 D 3 14 6 B 5 22 8 A 6 31 10
  • 36. VALORES DE TIEMPO DE SERVICIOY TIEMPO DE ESPERA Proceso Tiempo de inicio Tiempo final Tiempo de ejecución Tiempo de servicio Tiempo de espera C 0 3 3 3 0 E 1 8 5 7 2 D 3 14 6 11 5 B 5 22 8 17 9 A 6 31 10 25 15 PROMEDIO DETIEMPO DE SERVICIO= 12.6 PROMEDIO DETIEMPO DE ESPERA= 6.2 C C C E E E E E D D D D D D B B B B B B B B A A A A A A A A A A