unidad ii administrador de procesador

12
INSTITUTO TECNOLOGI Del Ist ESPECIALIDAD: ING. INFORMATICA MATERIA: SISTEMAS OPERATIVOS 1 INVESTIGACION: UNIDAD II ADMINISTRADOR DEL POCESADOR CATEDRATICO: JACINTO TOLEDO TORRES ALUMNO: AMAIRANI VELAZQUEZ CRUZ S.E. S.N.E. D.G.E.S

Upload: velazquez-cruz-amairany

Post on 14-Apr-2017

177 views

Category:

Education


1 download

TRANSCRIPT

Page 1: UNIDAD II ADMINISTRADOR DE PROCESADOR

INSTITUTO TECNOLOGICODel Istmo

ESPECIALIDAD:ING. INFORMATICA

MATERIA:SISTEMAS OPERATIVOS 1

INVESTIGACION:UNIDAD II ADMINISTRADOR DEL POCESADOR

CATEDRATICO:JACINTO TOLEDO TORRES

ALUMNO:AMAIRANI VELAZQUEZ CRUZ

SEMESTRE: GRUPO:4° “S”

HEROICA CD. DE JUCHITAN DE ZARAGOZA, OAX,

S.E.P S.N.E.S.T D.G.E.S.T

Page 2: UNIDAD II ADMINISTRADOR DE PROCESADOR

2.1 concepto de proceso, programa y procesador

Concepto de 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. El concepto puede emplearse en una amplia variedad de contextos, como por ejemplo en el ámbito jurídico, en el de la informática o en el de la empresa. Es importante en este sentido hacer hincapié que los procesos son ante todo procedimientos diseñados para servicio del hombre en alguna medida, como una forma determinada de accionar.

Concepto de programa: es un conjunto de instrucciones u órdenes que indican a la máquina las operaciones que ésta debe realizar con unos datos determinados. En general, todo programa indica a la computadora cómo obtener unos datos de salida, a partir de unos datos de entrada. En la siguiente figura se muestra, gráficamente, el funcionamiento básico de un programa.

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 DIAGRAMA DE ESTADOS DE UN PROCESO

Page 3: UNIDAD II ADMINISTRADOR DE PROCESADOR

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.

A continuación se describe cada uno de estos procesos:

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 está 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.

2.3 TRANSICIONES DE ESTADOS DE UN PROCESO

Page 4: UNIDAD II ADMINISTRADOR DE PROCESADOR

La asignación del CPU al primer proceso de la lista de listos es llamada despacho, y es ejecutado por la entidad del sistema llamada despachador. Indicamos esta transición de la manera siguiente:

Despacho (nombre del proceso): Listo en ejecución.

Mientras el proceso tenga CPU, se dice que está en ejecución. Para prevenir que cualquier proceso monopolice el sistema, ya sea de manera accidental o maliciosamente el sistema operativo ajusta un reloj de interrupción del hardware para permitir al usuario ejecutar su proceso durante un intervalo de tiempo especifico o cuánto. Si el proceso no abandona voluntariamente el CPU, antes de que expire el intervalo, el reloj genera una interrupción, haciendo que el sistema operativo recupere el control. El sistema operativo hace que el proceso que anteriormente se hallaba en estado de ejecución pase al de listo, y hace que el primer proceso de la lista de listos pase al estado de ejecución.

Estas transiciones de estado se indican como:

- tiempo excedido (nombre del proceso): en ejecución Listo

- bloqueado (nombre del proceso): en ejecución bloqueado

El proceso cambia del estado bloqueado al estado listo:

- despertar (nombre del proceso): bloqueado Listo.

Con esto tenemos definidas 4 transacciones de estado.

- despacho (nombre del proceso): Listo en ejecución

- tiempo excedido (nombre del proceso): en ejecución Listo

- bloqueado (nombre del proceso): en ejecución bloqueado

- despertar (nombre del proceso): bloqueado Listo.

2.4 CONCEPTO DE SEMÁFORO, EXCLUSIÓN MUTUA Y SECCIÓN CRÍTICA

SEMAFOROUn 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):

Page 5: UNIDAD II ADMINISTRADOR DE PROCESADOR

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 ();

}

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 ();

}

Estas instrucciones pueden modificarse para evitar la espera activa, haciendo que la operación P duerma al mismo proceso que la ejecuta si no puede decrementar el valor, mientras que la operación V despierta a un proceso que no es quien la ejecuta. En un pseudolenguaje más entendible, la operación P suele denominarse "wait" o "espera" y la operación V "signal" o "señal".

El porqué de los nombres de estas funciones, V y P, tiene su origen en el idioma holandés. "Verhogen" significa incrementar y "Proberen" probar, aunque Dijkstra usó la palabra inventada prolaag [1], que es una combinación de proveer te verlagen (intentar decrementar). El valor del

Page 6: UNIDAD II ADMINISTRADOR DE PROCESADOR

semáforo es el número de unidades del recurso que están disponibles (si sólo hay un recurso, se utiliza un "semáforo binario" cuyo valor inicial es 1). La verificación y modificación del valor, así como la posibilidad de irse a dormir se realiza en conjunto, como una sola e indivisible acción atómica. El sistema operativo garantiza que al iniciar una operación con un semáforo, ningún otro proceso puede tener acceso al semáforo hasta que la operación termine o se bloquee. Esta atomicidad es absolutamente esencial para resolver los problemas de sincronización y evitar condiciones de competencia. Si hay n recursos, se inicializará el semáforo al número n. Así, cada proceso, al ir solicitando un recurso, verificará que el valor del semáforo sea mayor de 0; si es así es que existen recursos libres, seguidamente acaparará el recurso y decrementará el valor del semáforo. Cuando el semáforo alcance el valor 0, significará que todos los recursos están siendo utilizados, y los procesos que quieran solicitar un recurso deberán esperar a que el semáforo sea positivo, esto es: alguno de los procesos que están usando los recursos habrá terminado con él e incrementará el semáforo con un signal o V(s).

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. Los algoritmos de exclusión mutua se usan en programación concurrente para evitar el uso simultáneo de recursos comunes, como variables globales, por fragmentos de código conocidos como secciones críticas. La mayor parte de estos recursos son las señales, contadores, colas y otros datos que se emplean en la comunicación entre el código que se ejecuta cuando se da servicio a una interrupción y el código que se ejecuta el resto del tiempo. Se trata de un problema de vital importancia porque, si no se toman las precauciones debidas, una interrupción puede ocurrir entre dos instrucciones cualesquiera del código normal y esto puede provocar graves fallos. La técnica que se emplea por lo común para conseguir la exclusión mutua es inhabilitar las interrupciones durante el conjunto de instrucciones más pequeño que impedirá la corrupción de la estructura compartida (la sección crítica). Esto impide que el código de la interrupción se ejecute en mitad de la sección crítica.

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

Page 7: UNIDAD II ADMINISTRADOR DE PROCESADOR

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

2.5 planificación del procesador, niveles objetivos yu criterio de planificación.

· Planificación a largo plazo (planificador de trabajos). Decide cuál será el próximo trabajo que se va a ejecutar. Este nivel sólo existe en los sistemas de proceso por lotes, donde la decisión se basa en las necesidades de recursos y su disponibilidad. En los sistemas de tiempo compartido tiene como única misión cargar los programas que se desean ejecutar en memoria. Este nivel es, por tanto, el encargado de crear los procesos.

· Planificación a medio plazo (planificador de swapping). Decide si un proceso que está en ejecución en estado bloqueado o suspendido debe ser extraído de la memoria temporalmente. Posteriormente, cuando el sistema se encuentre más descargado, devolverá dicho proceso a la memoria y al estado de ejecución. Este nivel, por tanto, gestiona los procesos suspendidos en espera de algún recurso no disponible en el momento de la suspensión.

· Planificación a corto plazo (planificador del procesador). Es el encargado de decidir cómo y cuándo tendrá acceso al procesador un proceso que está preparado para utilizarlo. Por tanto, lleva a cabo las funciones de la multiprogramación, estando siempre residente en memoria y ejecutándose con mucha frecuencia; por ello, debe ser de ejecución muy rápida. En este nivel es donde se debe dar un buen servicio a los procesos interactivos para que el usuario no perciba, o lo haga en pequeño grado, que está compitiendo por el procesador junto con otros usuarios.

NIVELES OBJETIVOS

Las políticas de planificación intentan cubrir los siguientes objetivos:

Page 8: UNIDAD II ADMINISTRADOR DE PROCESADOR

· Justicia. La política debe ser lo más justa posible con todo tipo de procesos, sin favorecer a unos y perjudicar a otros.

· Máxima capacidad de ejecución. Debe dar un servicio aceptable para que todos los trabajos se realicen lo más rápidamente posible. Esto se logra disminuyendo el número de cambios de proceso.

· Máximo número de usuarios interactivos. En los sistemas de tiempo compartido se tratará de que puedan estar trabajando el mayor número de usuarios simultáneamente.

· Predecibilidad. La política de planificación debe concebirse de tal forma que en todo momento pueda saberse cómo será su ejecución.

· Minimización de la sobrecarga. La computadora debe tener poca sobrecarga ya que ésta incide directamente sobre el rendimiento final del sistema: a menor sobrecarga, mayor velocidad de proceso. Por ello, los cambios de contexto deben minimizarse.

· Equilibrio en el uso de recursos. Para obtener un buen rendimiento en el uso de los recursos y que éstos estén ocupados equitativamente el mayor tiempo posible.

· Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, éste debe ejecutarse más rápidamente.

Los objetivos enunciados pueden entrar en ocasiones en contradicción; por ello es necesario llegar a una situación de compromiso entre todos los objetivos para conseguir del sistema operativo un buen rendimiento y un buen servicio.

. CRITERIOS DE PLANIFICACION

Para realizar los objetivos de la planificación, un mecanismo de planificación debe considerar lo siguiente:

La limitación de un proceso a las operaciones de Entrada / Salida: cuando un proceso consigue la CPU, ?la utiliza solo brevemente antes de generar una petición de Entrada / Salida? La limitación de un proceso a la CPU: cuando un proceso obtiene la CPU, ?tiende a usarla hasta que expira su tiempo?

Si un proceso es por lote o interactivo: los usuarios interactivos deben recibir inmediato servicio para garantizar buenos tiempos de respuesta.

¿Que urgencia tiene una respuesta rápida?: por ejemplo, un proceso de tiempo real de un sistema de control que supervise una refinería de combustible requiere una respuesta rápida, mas rápida que la respuesta requerida por un proceso en lotes que deberá entregarse al día siguiente.

La prioridad de un proceso: a mayor prioridad mejor tratamiento.

Frecuentemente un proceso genera fallos (carencias) de página:

Probablemente los procesos que generan pocos fallos de pagina hayan acumulado sus “conjuntos de trabajo” en el almacenamiento principal.

Page 9: UNIDAD II ADMINISTRADOR DE PROCESADOR

Los procesos que experimentan gran cantidad de fallos de página aun no han establecido sus conjuntos de trabajo.

Un criterio indica favorecer a los procesos que han establecido sus conjuntos de trabajo.

Otro criterio indica favorecer a los procesos con una tasa alta de fallos de pagina ya que rápidamente generaran una petición de Entrada / Salida.

Frecuentemente un proceso ha sido apropiado por otro de más alta prioridad, lo cual significa lo siguiente:

A menudo los procesos apropiados deben recibir un tratamiento menos favorable. Cada vez que el Sistema Operativo asume la sobrecarga para hacer ejecutar este proceso, el corto tiempo de ejecución antes de la apropiación no justifica la sobrecarga de hacer ejecutar al proceso en primer lugar. Cuanto tiempo de ejecución real ha recibido el proceso?: un criterio considera que debe ser favorecido un proceso que ha recibido muy poco tiempo de CPU.

2.6 METODOS DE PLANIFICACIÓN

Algoritmo de planificación F.C.F.S

Los procesos son ejecutados en el orden que llegan a la cola de procesos listos. La implementación es fácil a través de una cola FIFO. Es adecuado para sistemas por lotes (batch). Es un algoritmo no expropiativo: una vez que el procesador le es asignado a un proceso este lo

mantiene hasta que termina o se bloquea (por ejemplo al generar un pedido de E/S). El tiempo de espera promedio por lo general es alto.

Algoritmo de planificación S.J.F El algoritmo asocia a los procesos el largo de su próximo CPU-burst. Cuando el procesador queda disponible se le asigna al proceso que tenga el menor CPU-

burst. Si dos procesos tiene el mismo CPU-burst se desempata de alguna forma. Su funcionamiento depende de conocer los tiempos de ejecución lo cual en la mayoría de

los casos no sucede. Es adecuado para sistemas por lotes (batch)

ALGORITMO DE PLANIFICACION R.R Round-robín es un método para seleccionar todos los elementos en un grupo de manera equitativa y en un orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al último y empezando de nuevo desde el primer elemento. El nombre del algoritmo viene del principio de Round-Robín conocido de otros campos, donde cada persona toma una parte de un algo compartido en cantidades parejas.

Una forma sencilla de entender el Round-robín es imaginar una secuencia para "tomar turnos". En operaciones computacionales, un método para ejecutar diferentes procesos de manera concurrente, para la utilización equitativa de los recursos del equipo, es limitando cada proceso a un pequeño período (quantum), y

Page 10: UNIDAD II ADMINISTRADOR DE PROCESADOR

luego suspendiendo este proceso para dar oportunidad a otro proceso y así sucesivamente. A esto se le denomina comúnmente como Planificación Round-Robín.