Unidad 2 sist. oper. 1

12
MATERIA: SISTEMAS OPERATIVOS 1 TITULAR: TOLEDO TORRES JACINTO TRABAJO: Unidad 2 ADMINISTRACIÓN DE PROCESOS Y DEL PROCESADOR PRESENTA: ALEJANDRO JIMENEZ ANTONIO GRUPO: “4S” ESPECIALIDAD: ING. EN INFORMATICA H. CD. DE JUCHITAN DE ZARAGOZA OAXACA A 19 DE SEPTIEMBRE DE 2015

Transcript of Unidad 2 sist. oper. 1

Page 1: Unidad 2 sist. oper. 1

MATERIA:

SISTEMAS OPERATIVOS 1

TITULAR:

TOLEDO TORRES JACINTO

TRABAJO:

Unidad 2

ADMINISTRACIÓN DE PROCESOS Y DEL PROCESADOR

PRESENTA:

ALEJANDRO JIMENEZ ANTONIO

GRUPO: “4S” ESPECIALIDAD:

ING. EN INFORMATICA

H. CD. DE JUCHITAN DE ZARAGOZA OAXACA A 19 DE SEPTIEMBRE DE

2015

Page 2: Unidad 2 sist. oper. 1

UNIDAD 2

ADMINISTRACIÓN DE PROCESOS Y DEL PROCESADOR

2.1 CONCEPTO DE PROCESO, PROGRAMA Y PROCESADOR

Concepto de proceso

Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente

un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia

de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".

Concepto de programa

El término programa hace referencia a un plan o proyecto organizado de las

distintas actividades que se irá a realizar. También, es un sistema de distribución

de las distintas materias de un curso o asignatura.

Concepto de procesador

El procesador es en los sistemas informáticos el complejo de circuitos que

configura la unidad central de procesamiento o CPU.

Típicamente, un procesador o microprocesador es parte de cualquier computadora

o de equipos electrónicos digitales y es la unidad que hace las veces de “motor”

de todos los procesos informáticos desde los más sencillos hasta los más

complejos.

2.2 PROGRAMAS DE ESTADOS DE UN PROCESO

Los estados de un proceso obedecen a su participación y disponibilidad dentro del

sistema operativo y surgen de la necesidad de controlar la ejecución de cada

proceso. Los procesadores sólo pueden ejecutar un solo proceso a la vez,

turnándolos para el uso de éste. Existen procesos no apropiativos o cooperativos

que básicamente ocupan todo el tiempo del procesador hasta que ellos deciden

dejarlo. Los procesos apropiativos son aquellos que ocupan por un período de

tiempo el procesador hasta que una interrupción o señal llega al procesador para

hacer el cambio de proceso, a esto se le conoce como cambio de contexto.

Los posibles estados que puede tener un proceso son ejecución, bloqueado y

listo:

Ejecución, es un proceso que está haciendo uso del procesador.

Page 3: Unidad 2 sist. oper. 1

Bloqueado, No puede ejecutarse hasta que un evento externo sea llevado a

cabo.

Listo, ha dejado disponible al procesador para que otro proceso pueda

ocuparlo.

Las posibles transiciones son 4. La primera se realiza cuando el sistema operativo

determina que el proceso no puede continuar justo en ese momento, en algunos

sistemas se puede hacer una llamada al sistema "pause" para pasar al estado

bloqueado, en Unix cuando el proceso está leyendo datos provenientes de una

canalización o de un archivo especial (terminal) y no hay entrada disponible, el

proceso se bloquea de forma automática.

Las transiciones 2 y 3 son llevadas a cabo por el planificador de procesos, siendo

que el proceso no tiene conocimiento de éste. La transición 2 se da cuando el

planificador de procesos decide que el proceso ya estuvo el tiempo suficiente en

ejecución y debe dar paso a la ejecución de otros procesos (adquieran tiempo del

procesador). La transición 3 se realiza cuando todos los procesos han ocupado

tiempo del procesador y debe retomarse el primer proceso.

La transición 4 ocurre cuando se produce un evento externo por el que un proceso

estaba en espera, por ejemplos, introducir datos desde la terminal. Si no hay otro

proceso en ejecución en ese instante, la transición 3 se activa y el proceso

comienza a ejecutarse; también podría pasar al estado de "listo" y esperar un

momento para iniciar la ejecución.

2-3 TRANSICION DE ESTADOS DE UN PROCESO

Cuando un proceso se crea, pasa a la cola de procesos listos. Se dice que existe

una transición de estado cuando un proceso cambia de un estado a otro.

Page 4: Unidad 2 sist. oper. 1

2.4 CONCEPTO DE SEMAFORO, EXCLUSION MUTUA Y

SECCION CRÍTICO

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 sólo pueden ser manipulados usando las siguientes operaciones

(éste es el código con espera activa):

Inicia(Semáforo s, Entero v)

{

s = v;

}

En el que se iniciará la variable semáforo s a un valor entero v.

P(Semáforo s)

{

if(s>0)

s = s-1;

else

wait();

Page 5: Unidad 2 sist. oper. 1

}

La cual mantendrá en espera activa al regido por el semáforo si éste tiene un valor

inferior o igual al nulo.

V(Semáforo s)

{

if(!procesos_bloqueados)

s = s+1;

else

signal();

}

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ón V, algún proceso que estaba esperando comienza

a utilizar el recurso.

Page 6: Unidad 2 sist. oper. 1

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.

Concepto de Exclusión Mutua

Consiste en que un solo proceso excluye temporalmente a todos los demás para

usar un recurso compartido de forma que garantice la integridad del sistema.

Concepto de sección crítica.

Es la parte del programa con un comienzo y un final claramente marcados que

generalmente contiene la actualización de una o más variables compartidas.

Para que una solución al problema de la exclusión mutua sea válida, se tienen

que cumplir una serie de condiciones:

o Hay que garantizar la exclusión mutua entre los diferentes procesos a la

hora de acceder al recurso compartido. No puede haber en ningún

momento dos procesos dentro de sus respectivas secciones críticas.

o No se deben hacer suposiciones en cuanto a la velocidad relativa de los

procesos en conflicto.

o Ningún proceso que esté fuera de su sección crítica debe interrumpir a

otro para el acceso a la sección crítica.

o Cuando más de un proceso desee entrar en su sección crítica, se le debe

conceder la entrada en un tiempo finito, es decir, que nunca se le tendrá

esperando en un bucle que no tenga final.

Page 7: Unidad 2 sist. oper. 1

Para solucionar el problema de la exclusión mutua vamos a tener tres tipos de

soluciones:

Soluciones software.

Soluciones hardware.

Soluciones aportadas por el Sistema Operativo.

2.5 PLANIFICACION DEL PROCESADOR

PLANIFICACION: 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.

PLANIFICADOR: Parte del sistema operativo que toma decisiones en cuanto a los

procesos del sistema.

NIVELES DE PLANIFICACION

Planificación a Largo Plazo (Planificador de trabajo).

Planificación a mediano plazo (planificador de swapping).

Planificación a corto plazo (planificador del procesador).

NIVELES OBJETIVOS

JUSTICIA

MAXIMA CAPACIDAD DE EJECUCION

MAXIMO NUMEROS DE USUARIOS INTERACTIVOS

PRODECIBILIDAD

MINIMIZACION DE SOBRECARGA

EQUILIBRIO DE USO DE RECURSOS

SEGURIDAD DE PROPIEDADES

Page 8: Unidad 2 sist. oper. 1

2.6 METODOS DE PLANIFICACION

ALGORITMO DE PLANIFICACIÓN FCFS:

Este algoritmo emplea los procesos en la cola de „listos‟ Algoritmo no apropiativo.

Una petición no puede ser desplazada por la llegada de una petición con

prioridad mas alta.

No hay reordenamiento de la cola de peticiones pendientes.

Se ignoran las relaciones posicionales entre las peticiones pendientes.

Ofrece una varianza pequeña aunque perjudica a las peticiones situadas al

finale de la cola.

ALGORITMO DE PLANIFICACIÓN SJF:

El algoritmo de primero el trabajo más corto (SJF, shortest job frist), que asocia a

cada proceso la longitud de la siguiente ráfaga de CPU de ese proceso. Cuando la

CPU queda disponible, asigna al proceso cuya siguiente ráfaga de CPU sea más

corta. Si hay dos procesos cuyas siguientes ráfagas de CPU tienen la misma

duración, se emplea planificación FCFS (first come, first served) para romper el

empate. Consideremos el conjunto de procesos siguiente (la duración de la ráfaga

está en milisegundos):

Proceso Tiempo respuesta

P1 6

P2 8

P3 7

P4 3

Utilizando una política SJF, planificaríamos estos procesos según el diagrama de

Gantt siguiente:

P4 P1 P3 P2

0 3

9

16

24

Page 9: Unidad 2 sist. oper. 1

El tiempo de espera es de 3 milisegundos para el proceso P1, 16 milisegundos

para el proceso P3 y 0 milisegundos para el proceso P4. Así, el tiempo de espera

promedio es (3+16+9+0)/4=7 milisegundos. Se puede demostrar que el algoritmo

SJF es óptimo, en cuanto a que da el tiempo de espera promedio mínimo para un

conjunto dado de procesos. Si atendemos a un proceso corto antes que a uno

largo, el tiempo de espera del proceso corto disminuirá más de lo que aumenta el

tiempo de espera del proceso largo. En consecuencia, el tiempo de espera

promedio disminuye. Lo realmente difícil del algoritmo SJF es conocer la duración

de la siguiente solicitud de CPU. Para la planificación a largo plazo en un sistema

por lotes, podemos usar como duración el límite de tiempo de proceso que el

usuario especifica cuando presenta el trabajo. Esto motiva a los usuarios para

estimar con precisión el límite de tiempo en sus procesos, ya que un valor más

bajo podría significar una respuesta más rápida.

Algoritmo de planificación SRT - Shortest Remaining

Time - (Es un SJF apropiativo)

Este algoritmo siempre ejecuta primero aquellos procesos a los que les queda

menos tiempo para terminar Este algoritmo también es conocido como „optimo‟,

pues con el se obtienen los mejores resultados.

Algoritmo de prioridades:

Selecciona aquellos procesos que se encuentran en la cola de „listos‟.

En este algoritmo, los criterios de rendimiento, no son los más necesarios.

El criterio principal es hacer que los procesos „en espera‟ sean los primeros en

ejecutarse

El principal inconveniente, es que puede producir „inanición‟, es decir si tenemos

un proceso de prioridad baja, y muchos de alta, puede ocurrir que el primero no se

ejecute nunca.

Se puede llevar a cabo un proceso de envejecimiento, el cual hace ganar prioridad

al primer proceso, permitiendo que se ejecute.

Turno Rotatorio Virtual (Virtual Round Robin, VRR):

Intenta solucionar un problema que afecta al „quanto‟ Estos procesos abandonan

la CPU, para no consumir el quanto completo. (ráfagas pequeñas) Por lo que

Page 10: Unidad 2 sist. oper. 1

deben esperar de nuevo en la cola de „listos‟ Los procesos con ráfagas grandes

consumen un cuarto del quanto completo.

Existen dos tipos:

Procesos con carga de E / S

Procesos sin carga de E / S

El RR perjudica a los procesos del 1º tipo

Para solucionar este problema, el VRR crea dos colas de „listos‟

Se podría decir que una es la cola „original‟ y la otra es una cola „virtual‟

La lista de procesos „listos‟, número 2 tiene mayor prioridad

Los procesos de E / S, siempre se ejecutan antes, puesto que están en L2

Algoritmo HRRN:

Es el que muestra mayor tasa de respuesta Al ser no apropiativo, selecciona el

proceso con mayor tasa de respuesta;

Trespuesta = (Tespera + Tservicio) / Tservicio

El algoritmo pone a ejecutar el proceso con mayor tasa de respuesta. Donde el

tiempo de espera es el insumido desde que el proceso pasa de la cola de nuevos

a la cola de listos. s = Tiempo de llegada + Tiempo actual

Algoritmos Multiproceso:

Se utilizan múltiples colas en cada algoritmo Es necesario definir el algoritmo que

elige entre las colas, y asigna un proceso a estas. La primera cola es un FCFS

Para la segunda empleamos un Round Robin (RR) Y a la hora de seleccionar

entre colas utilizamos las prioridades Las colas multinivel utilizan la

retroalimentación, según esto un proceso no tiene que estar siempre en la misma

cola Además de los algoritmos necesarios para la cola multinivel, se necesita un

algoritmo para cambiar entre colas Si el proceso consume el quanto pasa a la

siguiente cola y si termina, regresa a la cola inicial.

Evaluación de Algoritmos:

Permite obtener valores de rendimiento para los distintos algoritmos y así decidir

cual de ellos utilizar

Page 11: Unidad 2 sist. oper. 1

LA EVALUACIÓN ANALÍTICA:

Sirve para evaluar el funcionamiento de los distintos algoritmos Existen dos formas

de desarrollo:

Page 12: Unidad 2 sist. oper. 1

BIBLIOGRAFIA:

http://www.definicionabc.com/tecnologia/procesador.php

http://es.slideshare.net/dianadominguez1995/segunda-unidad-sistemas-

operativos

https://www.google.com.mx/search?q=TRANSICION+DE+ESTADOS&rlz=1C1PRF

E_enMX617MX617&espv=2&biw=1366&bih=667&source=lnms&tbm=isch&sa=X

&ved=0CAYQ_AUoAWoVChMIlcuI88mDyAIVAQmSCh0oagBU#tbm=isch&q=transi

cion+de+estados+de+un+proceso&imgrc=uLzP_HxnbRNnNM%3A

https://sopes1usac.wordpress.com/2012/11/05/6-4-pag

http://www.webprogramacion.com/44/sistemas-operativos/exclusion-

mutua.aspx inacion/

http://es.slideshare.net/gladysmamani/planificacion-de-proceso-

presentation?next_slideshow=1

https://es.wikiversity.org/wiki/Sistemas_operativos#Clases_de_algoritmos