Sei sulla pagina 1di 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
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.


 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.
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();
}

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.
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.
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
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
El tiempo de espera es de 3 milisegundos para el proceso P 1, 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
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
LA EVALUACIÓN ANALÍTICA:

Sirve para evaluar el funcionamiento de los distintos algoritmos Existen dos formas
de desarrollo:
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

Potrebbero piacerti anche