SISTEMAS OPERATIVOS - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

SISTEMAS OPERATIVOS

Description:

Un programa en ejecuci n Una actividad as ncrona El ' ... Es una copia exacta del padre excepto el PID. Tiene las mismas variables y ficheros abiertos. ... – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 50
Provided by: Paty69
Category:

less

Transcript and Presenter's Notes

Title: SISTEMAS OPERATIVOS


1
CAPÍTULO II PROCESOS
Realizado por Ing. Samanta
CuevaDocentes Ing. Carlos Córdova Ing.
Alexander López Ing. Julia Pineda
Abril-Agosto 2008
2
CAPÍTULO II PROCESOS
2.1 Procesos 2.2 Planificación de Procesos 2.3
Sincronización de Procesos 2.4 Interbloqueos
3
2.1 Procesos
Un programa en ejecución         Una actividad
asíncrona         El "espíritu animado" de un
procedimiento         El "centro de control" de
un procedimiento en ejecución       Lo que se
manifiesta por la existencia de un "bloque de
control del proceso" en el sistema
operativo         La entidad a la que se asignan
los procesadores         La unidad "despachable"
4
Proceso
  • Un proceso es una abstracción de un programa en
    ejecución y es la unidad de trabajo del sistema.
  • Aunque se han dado muchas otras definiciones, no
    hay una definición universalmente aceptada, pero
    el concepto de "Programa en ejecución" parece ser
    el que se utiliza con mas frecuencia. Un programa
    es una entidad inanimada sólo cuando un
    procesador le "infunde vida" se convierte en la
    entidad "activa" que se denomina proceso.

5
DIVISIÓN IMPLÍCITA DE TAREAS
División Implícita de Tareas Significa que los
procesos son definidos por el sistema y se aplica
en sistemas operativos multitarea de tal manera
que permita explotar los beneficios de la
concurrencia entre aplicaciones.
6
DIVISIÓN EXPLÍCITA DE TAREAS
  • División Explícita de Tareas Significa que las
    tareas y algunos de sus atributos son definidos
    por el programador y permiten elevar el
    rendimiento y controlar explícitamente las
    actividades del sistema a explotar la
    concurrencia incluida dentro de una aplicación o
    programa.
  • Ventajas de aplicar división explícita
  • Ganancia de velocidad.
  • Uso de dispositivos de E/S que tienen latencia.
  • Conveniencia del usuario,
  • Multiprocesamiento.
  • Computación Distribuida.

7
ESTADOS DE UN PROCESO
Los estados por los que transita un proceso son
cuatro, aunque algunos autores consideran solo
tres 1.-Inactivo 2.-Preparado o listo 3.-En
ejecución 4.-Suspendido o bloqueado
8
ESTADOS DE UN PROCESO
1.-Inactivo El estado inactivo no es considerado
un estado válido de proceso por algunos autores,
principalmente porque implica la inexistencia del
proceso. Efectivamente, llamamos proceso inactivo
a aquel que no ha sido creado y por lo tanto no
existen estructuras de control asociadas a él.
9
ESTADOS DE UN PROCESO
2.-Preparado o listo El estado preparado o
listo involucra ya la creación del proceso, y
suele ser el primer estado a adoptar por él. En
este estado el Sistema Operativo ya reconoce al
proceso como tal, pues existen una serie de
estructuras con datos relevantes del proceso que
el Sistema Operativo constantemente monitorea. La
característica principal del estado listo es que
el proceso posee todos los recursos para su
ejecución menos la CPU. Esta preparado para
ejecutarse, pero no se está ejecutando. Cuando la
CPU sea liberada, todos los procesos en estado
listo competirán por ella. Quien gana la
competencia será dictado por los criterios en los
que los programadores del sistema se basaron para
cumplir sus objetivos, implementados a través de
los Algoritmos de Planificación.
10
ESTADOS DE UN PROCESO
3.-En ejecución En este estado el proceso ya
posee todos los recursos, incluso el procesador.
De hecho, un proceso en ejecución está "pasando"
por la CPU, y aquí es cuando el proceso puede
realizar todas las operaciones que implementa.
11
ESTADOS DE UN PROCESO
4.-Suspendido o bloqueado En este estado el
proceso carece de procesador y además de algún
otro recurso, por lo que no solo no está siendo
ejecutado, sino tampoco compite por ser
ejecutado. Normalmente un proceso es bloqueado
cuando, para proseguir, necesita de algún dato
enviado por un canal E/S, como teclado. Debido a
que el tiempo que se toma el usuario para teclear
es impredecible y extraordinariamente largo, si
hablamos en términos de procesamiento
computacional, el Sistema Operativo prefiere
bloquear el proceso y planificar otro, hasta que
la entrada del dato despierta al proceso y éste
continua su ciclo normal.
12
ESTADOS DE UN PROCESO
13
(No Transcript)
14
TABLA DE PROCESOS
  • Para manejar la información de todos los
    procesos, el sistema operativo maneja una tabla
    de procesos, la que contiene una entrada por la
    información de cada proceso. A cada una de estas
    entradas a la tabla de procesos se le conoce con
    el nombre de PCB (Process Control Block). Por lo
    general esta estructura posee diversa información
    asociada al proceso que incluye
  • Estado del proceso El estado puede ser en
    ejecución, listo o bloqueado.
  • Contador de programas Contiene la dirección de
    la siguiente instrucción a ejecutar por el
    proceso.
  • Información de planificación Esta información
    incluye prioridad del proceso, apuntadores a
    colas de planificación, etc.

15
TABLA DE PROCESOS
16
TABLA DE PROCESOS
  • Información del Sistema de archivos Esta
    información incluye protecciones, identificación
    de usuario, grupo, etc.
  • Información del estado de E/S Esta información
    incluye, solicitudes pendientes de E/S,
    dispositivos de E/S asignados al proceso,etc.
  • El Sistema Operativo forma colas de BCP de
    procesos, de acuerdo a su condición, gestionando
    normalmente una cola de procesos (BCP's de
    procesos) preparados, cola de procesos
    suspendidos y, en sistemas operativos
    multiprocesadores, colas de procesos en ejecución.

17
NÚCLEO DEL S.O.
  • El núcleo del Sistema Operativo controla todas
    las operaciones que implican procesos y
    representa solo una pequeña porción del código de
    todo el Sistema Operativo pero es de amplio uso.
  • Generalmente permanece en el almacenamiento
    primario.
  • Las interrupciones se incluye en el núcleo por la
    rapidez en la que se deben efectuar.
  • El núcleo inhabilita las interrupciones mientras
    responde a una interrupción. Las interrupciones
    son habilitadas de nuevo después de completar el
    proceso de una interrupción.
  • El núcleo del Sistema Operativo generalmente
    realiza las siguientes funciones  

18
NÚCLEO DEL S.O.
  • Manipulación de interrupciones.
  • Creación y destrucción de procesos.
  • Cambio de estados de procesos.
  • Despacho.
  • Suspensión y reanudación de procesos.
  • Sincronización de procesos.
  • Comunicación entre procesos.
  • Manipulación de bloques de control de proceso.
  • Soporte de las actividades de Entrada / Salida.
  • Soporte de la asignación y desasignación de
    almacenamiento.
  • Soporte del sistema de archivos.
  • Soporte de un mecanismo de llamada / regreso al
    procedimiento.
  • Soporte de ciertas funciones contables
    (estadísticas) del sistema.

19
PLANIFICACIÓN DE PROCESOS
La planificación de procesos es muy importante
pues, es a través de esta que se ha logrado
implementar el concepto de multiprogramación.
La Planificación hace referencia a un conjunto
políticas y mecanismos incorporados al sistema
operativo que gobiernan el orden en que deben ser
ejecutados los trabajos que deben cumplimentarse
por el sistema operativo. El Objetivo de la
planificación es optimizar el rendimiento del
sistema. Los Planificadores son módulos de
software encargados de determinar el orden en que
los procesos serán ejecutados. El sistema
operativo utiliza para la planificación de
procesos Colas de Planificación. Para explicar
como el sistema operativo opera con colas,
recordemos que los estados de los procesos
20
PLANIFICACION DE PROCESOS
21
OBJETIVOS DE LA PLANIFICACION
  • Equidad Este objetivo consiste en compartir la
    CPU equitativamente, sin priviligiar notoriamente
    algún tipo de proceso.
  • Maximizar la utilización de la CPU Las funciones
    que realice el planificador de procesos tienden a
    mantener la CPU utilizada la mayor parte del
    tiempo.
  • Maximizar la productividad La productividad es
    una medida del rendimiento, que se refleja con la
    cantidad de tareas que puede realizar la CPU en
    un intervalo de tiempo.
  • Minimizar el tiempo de espera Este tiempo
    corresponde al tiempo en que un proceso está en
    la cola de procesos listos, es un tiempo de
    espera por asignación de CPU.

22
OBJETIVOS DE LA PLANIFICACION
  • Minimizar el tiempo de retorno Este tiempo
    corresponde al tiempo total en que se utiliza
    para la ejecución completa del proceso. Este
    tiempo se asocia en general al tiempo de
    ejecución de los procesos por lotes (batch).
  • Minimizar el tiempo de respuesta Este tiempo
    está relacionado con los tiempos de respuesta
    parciales de los procesos interactivos. Puesto
    que estos procesos se caracterizan porque
    interactuan con el medio constantemente durante
    la ejecución completa del proceso

23
CRITERIOS DE PLANIFICACIÓN
  • Los criterios para comparar los algoritmos de
    planificación son
  • Utilización de CPU La CPU esté tan ocupada como
    se pueda
  • Rendimiento Número de procesos que se completan
    por unidad de tiempo.
  • Tiempo de retorno El tiempo que tarda la
    ejecución de ese proceso ? Suma de los periodos
    durante los cuales espera entrar en la memoria.
  • Tiempo de espera Es la suma de los periodos que
    el proceso pasa esperando en dicha cola.
  • Tiempo de respuesta Es el tiempo que transcurre
    entre la presentación de una solicitud y la
    producción de la primera respuesta.

24
TIPOS DE PLANIFICADORES
  • Planificador a largo plazo
  • Planificador a mediano plazo
  • Planificador a corto plazo

25
PLANIFICADOR A LARGO PLAZO
  • Planificador de trabajos
  • Selección de trabajos a cargar en memoria
    principal.
  • Invocado muy infrecuentemente (segundos o
    minutos).
  • Puede ser (más) lento.
  • Controla el grado de multiprogramación en el
    sistema.

26
PLANIFICADOR A MEDIANO PLAZO
  • Traslado de un proceso en memoria principal a
    disco (intercambio o swapping). Posteriormente
    volverá a memoria principal.
  • Reduce la contienda por el uso de la CPU.
  • En ocasiones necesario ante los requisitos de
    memoria principal.

27
PLANIFICADOR A CORTO PLAZO
  • Planificador de la CPU
  • Selección del proceso listo que será ejecutado a
    continuación.
  • Invocado muy frecuentemente (milisegundos).
  • Debe ser rápido.

28
PLANIFICADOR A CORTO PLAZO
29
LOS ALGORITMOS DE PLANIFICACIÓN
  • Las políticas de planificación, en general,
    persiguen varios objetivos, entre los que
    destacan
  • Ser justas, tratando a todas las cargas de
    procesos de igual modo.
  • Aumentar la productividad.
  • Aumentar la capacidad de atención de usuarios y
    programas concurrentes activos sin el peligro de
    saturación.
  • Ser predecibles.
  • Imponer una mínima carga extra al sistema.
  • Evitar tanto la saturación como la ociosidad de
    los recursos.
  • Proveer seguridad y evitar problemas clásicos
    como el del "aplazamiento indefinido".

30
LOS ALGORITMOS DE PLANIFICACIÓN
  • Los algoritmos de planificación más conocidos
  • ALGORITMOS MONOPROCESADOR
  • Algoritmo de planificación FIFO
  • Algoritmo de planificación SJF, primero el
    trabajo más corto.
  • Algoritmo de Planificación Basado en Prioridades
  • Algoritmo de Planificación por turno rotario
    (RR).
  • Algoritmo de Planificación MLQ, de múltiples
    colas multinivel

31
FIFO
  • Los procesos pasan a CPU en orden de llegada a
    cola de procesos listos.
  • Si el proceso en ejecución necesita E/S, se
    inserta al final de la cola de procesos listos al
    regresar a ésta.
  • Algoritmo no expulsivo.
  • Fácil implementación con cola FIFO.
  • Poco eficiente.
  • Sufre la Anomalía de Belady

32
FIFO
33
ALGORITMO SJF
  • Asociar a cada proceso el tiempo de ráfaga de
    CPU.
  • Seleccionar el proceso con menor ráfaga de CPU.
  • En caso de empate, aplicar FIFO.
  • Algoritmo no expulsivo.

34
BASADO EN PRIORIDADES
  • Asociar a cada proceso una prioridad (número
    entero).
  • Asignar la CPU al proceso más prioritario.
  • En caso de empate, aplicar FIFO.
  • Asumiremos mayor prioridad con menor número
    entero.
  • Algoritmo expulsivo o no expulsivo.

35
BASADO EN PRIORIDADES
36
ROUND ROBIN
  • Especialmente diseñado para sistemas de tiempo
    compartido.
  • Cola circular de procesos listos.
  • Asociar a cada proceso un tiempo de posesión de
    CPU (cuantum q).
  • Tras el cuantum q el proceso en ejecución se
    expulsa de la CPU y se pasa al final de la cola
    de procesos listos.
  • Algoritmo expulsivo cada cuantum q de tiempo.

37
ROUND ROBIN
38
ROUND ROBIN
39
ROUND ROBIN
  • El rendimiento del algoritmo depende de q
  • q grande FIFO.
  • q pequeño Muchos cambios de contexto y
    sobrecarga en la gestión de interrupciones de
    reloj.
  • q debe ser grande respecto al tiempo de realizar
    un cambio de contexto.
  • Generalmente, tiempo de retorno mayor que con
    SJF pero mejor tiempo de respuesta.

40
COLAS MULTINIVEL
  • Colas multinivel sin realimentación
  • Varias colas para los procesos listos.
  • Cada cola tiene su propio algoritmo de
    planificación.
  • Sistema de colas definido por
  • Número de colas.
  • Algoritmo de planificación de cada cola.
  • Planificación entre colas.
  • - Prioridad a cada cola.
  • - Cuantum de CPU a cada cola, que se
  • reparte entre los procesos de cada cola

41
COLAS MULTINIVEL
42
COLAS MULTINIVEL
  • Colas multinivel con realimentación
  • Varias colas para los procesos listos.
  • Un proceso se mueve de una cola a otra.
  • Sistema de colas definido por
  • Número de colas.
  • Algoritmo de planificación de cada cola.
  • Cola en la que entrará un proceso al llegar a
    preparado.
  • Planificación entre colas.
  • Método para determinar la realimentación
  • - Cuándo promover un proceso a una cola de
    mayor prioridad.
  • - Cuándo degradar un proceso a una cola de
  • menor prioridad.

43
COLAS MULTINIVEL
Colas multinivel con realimentación
44
PLANIFICACIÓN DE PROCESADORES MÚLTIPLES
  • Algoritmo de planificación complejo.
  • Sistema heterogéneo
  • - Cada procesador tiene su cola y algoritmo de
    planificación.
  • - Los procesos han de ejecutarse en un
    procesador determinado.
  • Sistema homogéneo
  • - Cola común de procesos listos.

45
OPERACIONES CON PROCESOS
Recordemos Un proceso es un programa en
ejecución! Por lo que Es necesario que el
Sistema Operativo tenga mecanismos para crear o
eliminar dichos procesos.
46
CREACIÓN DE PROCESOS
La creación de procesos se la realiza a travéz
de fork En el momento de la llamada a fork el
proceso hijo Es una copia exacta del padre
excepto el PID. Tiene las mismas variables y
ficheros abiertos. Las variables son
independientes (padre e hijo tienen distintas
pilas). Los ficheros son compartidos (heredan
el descriptor).
47
ELIMINACIÓN DE PROCESOS
  • En cualquier sistema informático, debe existir
    alguna forma de que un proceso pueda indicar que
    ha terminado.
  • Razones para la terminación de un proceso 
  • Normal
  • Por tiempo excedido
  • Violación de limites.
  • No memoria disponible.
  • Error de protección

48
RELACIONES ENTRE PROCESOS
  • Todos los procesos concurrentes compiten por la
    asignación de recursos del sistema que le
    permitan realizar las operaciones respectivas
    además durante la división explícita el
    programador divide una aplicación lógica en
    varios procesos con atributos propios surgiendo
    la necesidad de que estos cooperen entre sí,
    surgiendo las relaciones de
  • Competición Los procesos trabajan solos sin
    afectar mayormente a los demás, realizando
    asignación cuidadosa de recursos.
  • Cooperación Afectan a los demás procesos a
    través del intercambio de datos y señales de
    sincronización.

49
HILOS
Un Hilo es una unidad básica de utilización de
la CPU y tiene poco estado compartido. Un grupo
de hilos semejantes comparten código, espacio de
direcciones y recursos del SO. El entorno en el
cual se ejecuta un hilo se llama Tarea . Un
proceso tradicional equivale a una tarea con un
solo hilo. Una tarea no hace nada si no tiene
hilos. Un hilo posee un registro de estados y
generalmente su propia pila.
Write a Comment
User Comments (0)
About PowerShow.com