87
PLANIFICACION DE RECURSOS (PROCESOS Y MEMORIA) GRUPO Nº1

PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Embed Size (px)

Citation preview

Page 1: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PLANIFICACION DE RECURSOS (PROCESOS Y

MEMORIA)GRUPO Nº1

Page 2: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

INTRODUCCIÓN

Page 3: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

EL SISTEMA

OPERATIVO

DEFINICION - OBJETIVOS - TIPOS

Page 4: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

¿LA MÁQUINA DESNUDA?NO TIENE SISTEMA OPERATIVO EJECUTA CICLOS DE INSTRUCCION

Page 5: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

DEFINICIÓN

Page 6: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

OBJETIVOS

Page 7: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

INTERFAZ DE USUARIO

Page 8: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

¿EN QUÉ AYUDA EL SISTEMA OPERATIVO?

Page 9: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

CREACIÓN DE PROGRAMAS

Page 10: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

EJECUCIÓN DE PROGRAMAS

Page 11: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ACCESO A LOS

DISPOSITIVOS DE E/S

Page 12: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ACCESO CONTROLADO A FICHEROS O ARCHIVOS

Page 13: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ACCESO AL SISTEMA

Page 14: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

DETECCIÓN DE ERRORES Y RESPUESTA

Page 15: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

GESTIÓN DE CUENTAS

Page 16: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ADMINISTRADOR DE RECURSOS

Page 17: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

TIPOS DE SISTEMAS OPERATIVOS

Page 18: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

LOS PRIMEROS SISTEMAS

Page 19: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

SISTEMAS DE COLAS SIMPLES

MONITOR RESIDENTE

MONOPROGRAMACION

Page 20: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

SISTEMA DE COLAS MULTIPROGRAMADAS

DISPOSITIVOS DE E/S

PROCESADOR

Page 21: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

SISTEMA DE TIEMPO COMPARTIDO

Page 22: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PROCESOS

Page 23: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Un programa que se está ejecutando.

Una actividad asincrónica.El emplazamiento del

control de un procedimiento que

está siendo ejecutado.Aquello que se

manifiesta por la existencia en el

sistema operativo de un bloque de control

de proceso.Aquella entidad a la

cual son asignados los procesadores.

No hay un acuerdo universal sobre una definición de proceso, pero si algunas definiciones aceptadas:

Page 24: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

En ejecución de instrucciones de programa con más de un procesador de instrucciones

en uso simultáneamente.

Con la superposición de ejecución de instrucciones de programa con

la ejecución de una o más operaciones de entrada/salida.

El paralelismo real de hardware se da en las siguientes situaciones:

El objetivo es aumentar el paralelismo en la ejecución.

Page 25: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Todo el software ejecutable, inclusive el sistema operativo, se organiza en varios procesos secuenciales o procesos.

Un proceso incluye al programa en ejecución y a los valores activos del controlador, registros y variables del mismo.

Conceptualmente cada proceso tiene su propia CPU virtual.

Si la CPU alterna entre los procesos, la velocidad a la que ejecuta un proceso no será uniforme, por lo que es necesario aclarar lo siguiente.

El modelo de procesos posee las siguientes características:

Page 26: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

• Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida y estado.• Un solo procesador puede ser compartido entre varios

procesos con cierto “algoritmo de planificación”, el cual determina cuando detener el trabajo en un proceso y dar servicio a otro distinto.

Page 27: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Respecto de los estados del proceso deben efectuarse las siguientes consideraciones:•Cada proceso es una entidad independiente pero

frecuentemente debe interactuar con otros procesos.

Page 28: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Los procesos pueden bloquearse en su ejecución porque:• Desde el punto de vista lógico no puede continuar

porque espera datos que aún no están disponibles.• El sistema operativo asigno la CPU a otro proceso.

Los estados que pueden tener un proceso son:• En ejecución: utiliza la CPU en el instante dado.• Listo: ejecutable, se detiene en forma temporal para

que se ejecute otro proceso.• Bloqueado: no se puede ejecutar debido a la

ocurrencia de algún evento externo.

Page 29: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Son posibles cuatro transiciones entre estos estados

Page 30: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ESTADOS DE PROCESOSDurante su existencia un proceso pasa por una serie de estados discretos, siendo varias las circunstancias que pueden hacer que el mismo cambie de estado.Debido a ello se puede establecer una “lista de listos” para los procesos “listos” y una “lista de bloqueados” para los “bloqueados”.La “lista de listos” se mantiene en orden prioritario y la “lista de bloqueados” esta desordenada, ya que los procesos de desbloquean en el orden en que tienen lugar los eventos que están esperando.

Page 31: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

•Estado actual del proceso.• Identificación única del proceso.•Prioridad del proceso.•Apuntadores para localizar la memoria del proceso.•Apuntadores para asignar recursos.•Área para preservar registros.

La manifestación de un proceso en un sistema operativo es un “bloque de control de proceso” (PCB) con información que incluye:

Page 32: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

•Dar nombre al proceso.• Insertar un proceso en la lista del sistema de procesos conocidos.•Determinar la prioridad inicial de proceso.•Crear el bloque de control del proceso.•Asignar los recursos iniciales del proceso.

La CREACION DE UN PROCESO significa

Page 33: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

•Borrarlo del sistema •Devolver sus recursos al sistema•Purgarlo de todas las listas o tablas del sistema•Borrar su bloque de control de proceso.

La destrucción jerárquica de procesos implica:

Page 34: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PLANIFICACIÓN DE PROCESOSCuando más de un proceso es ejecutable desde el punto de vista lógico, el sistema operativo debe decidir cuál de ellos debe ejecutarse en primer término.El planificador es la porción del sistema operativo que decide y el algoritmo de planificación es el utilizado.Los principales “criterios” respecto de un buen algoritmo de planificación son la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.

Page 35: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

• Planificación APROPIATIVA: es la estrategia de permitir que procesos ejecutables (desde el punto de vista lógico) sean suspendidos temporalmente.• Planificación NO APROPIATIVA: es la estrategia de permitir

la ejecución de un proceso hasta terminar.• Planificación del procesador: determina cuando deben

asignarse los procesadores y a que procesos, lo cual es la responsabilidad del sistema operativo.

Los principales conceptos relacionados con planificación de procesador son los siguientes:

Page 36: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

NIVELES DE PLANIFICACIÓN DEL PROCESADOR

Se consideran tres niveles importantes de planificación, los que se detallan a continuación:• Planificación de alto nivel:• También se denomina planificación de trabajos.• Determina a que trabajos se les va a permitir competir activamente por

los recursos del sistema, lo cual se denomina planificación de admisión.• Planificación de nivel intermedio:• Determina a que procesos se les puede permitir competir por la CPU.• Responde a fluctuaciones a corto plazo en la carga del sistema y efectúa

suspensiones y activaciones de procesos.• Debe ayudar a alcanzar ciertas metas en el rendimiento total de sistema.

Page 37: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PLANIFICACIÓN DE BAJO NIVEL•Determina a que proceso listo de le asigna la CPU cuando esta queda disponible y asigna la CPU al mismo, es decir que despacha la CPU al proceso.•La efectúa el despachador del sistema operativo, en el que opera muchas veces por segundo y reside siempre en el almacenamiento primario.

Page 38: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)
Page 39: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

OBJETIVOS DE LA PLANIFICACIÓN• Ser justa•Maximizar la capacidad de ejecución•Maximizar el número de usuarios interactivos que reciban unos

tiempos de respuesta aceptables• Ser predecible• Equilibrar respuesta y utilización• Asegurar la prioridad• Dar preferencia a los procesos que mantienen recursos claves

Page 40: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

CRITERIOS DE PLANIFICACIÓNPara 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• La limitación de un proceso a la cpu• Si un proceso es por lote o interactivo• La prioridad de un proceso• Frecuentemente un proceso genera fallos de página• Frecuentemente un proceso ha sido apropiado por otro de más

alta prioridad

Page 41: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

TIPOS DE PLANIFICACIÓN

Page 42: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PLANIFICACIÓN A LARGO PLAZOEl planificador a largo plazo determina qué programas se admiten para ser procesados en el sistema. De esta manera, este planificador contrala el grado de multiplicación (número de procesos en memoria). Una vez admitido, un trabajo o programa de usuario pasa a ser un proceso y se añade a una cola asociada al planificador a corto plazo. El algunos sistemas, un proceso nuevo comienza a partir de una situación en el intercambio (SWAPPING), en cuyo caso se añade a la cola del planificador a medio plazo.

Page 43: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PLANIFICACIÓN A MEDIANO PLAZOLa planificación a medio plazo es parte de la función de intercambio. Usualmente, la decisión de intercambiar un proceso se toma en función del grado de multiplicación que se desea mantener. En un sistema que no utilice memoria virtual, la gestión de la memoria también debe considerarse por el planificador a medio plazo, y en las decisiones tomadas en el intercambio.

Page 44: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PLANIFICACIÓN A CORTO PLAZOEl planificador a largo plazo se ejecuta de manera relativamente poco frecuente, toma de decisiones más genéricas de si aceptar un nuevo proceso o no, y que proceso aceptar. El planificador a corto plazo, conocido también como distribuidor (dispatcher), se ejecuta frecuentemente y toma la decisión más específica de que trabajo se ejecuta a continuación.Para comprender el funcionamiento del planificador a corto plazo necesitamos considerar el concepto de estado de un proceso.

Page 45: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Se define cinco estados para un proceso:• Nuevo: el planificador de alto nivel admite un programa pero todavía no está

preparado para ejecutarse. El sistema operativo iniciará un proceso, pensándolo en el estado preparado.• Preparado: el proceso está preparado para ejecutarse y se encuentra

esperando acceso al procesador.• En ejecución: el proceso está siendo ejecutado por el procesador.• En espera: el procesador ha suspendido su ejecución al estar preparando

algún recurso del sistema, tal como una E/S.• Pardo: el proceso ha terminado y será eliminado por el sistema operativo.

Page 46: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Para eso, cada proceso se representa en el sistema operativo mediante un bloque de control de proceso:• Identificador• Estado• Prioridad• Contador de programa• Punteros a memoria• Datos de contexto• Información de estado de las E/S• Información para contabilidad

Page 47: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

TÉCNICAS DE PLANIFICACIÓNLa figura muestra cómo se divide la memoria principal en un instante de tiempo dado. El núcleo del sistema operativo, A y B, a cada uno de los cuales se les asigna una porción de memoria.

Page 48: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

1. El proceso A genera una llamada a un servicio (por ejemplo, una solicitud de E/S) del sistema operativo. La ejecución de A se suspende hasta que el sistema operativo ha completado el servicio solicitado.2. El proceso A origina una interrupción. Cuando se detecta la señal, el procesador deja de ejecutar A y pasa al gestor de interrupciones incluido el sistema operativo. Hay una diversidad de eventos de A que pueden ocasionar la interrupción.3. Algún hecho no relacionado con el proceso A que requiere atención origina una interrupción.

Esto puede suceder debido a una de estas tres razones:

Page 49: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

GESTIÓN DE MEMORIA

Page 50: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

REQUISITOS REUBICACION

PROTECCION

COMPARTICION

ORGANIZACION LOGICA

ORGANIZACION FISICA

Page 51: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

REUBICACIÓN

Page 52: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PROTECCIÓN

Page 53: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

COMPARTICIÓN

Page 54: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ORGANIZACION LOGICA

La mayoría de los programas se organizan en módulos.

• Los módulos pueden escribirse y compilarse independientemente.

• Pueden otorgarse varios grados de protección.• Es posible introducir mecanismos por medio de los

cuales se puedan Compartir módulos.

Page 55: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ORGANIZACION FISICALa memoria principal en algunos casos no puede ser suficiente para los programas y sus datos

La superposición permite que varios módulos sean asignados a la misma región de memoria

En un sistema multiprogramado, no se conoce el espacio disponible

Page 56: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

INTERCAMBIOPERMITE CORRER mayor cantidad de programas

Su problema es el THRASHING

Page 57: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

CARGA DE PROGRAMAS EN MEMORIA PRINCIPAL

Page 58: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PARTICION FIJA

Es casi nulo hoy en día (OS/MFT)

Fragmentación INTERNA

EL PROGRAMADOR DEBE DISEÑAR UN PROGRAMA

Page 59: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

COLA DE PLANIFICACION PARA LOS PROCESOS

EL N° DE PARTICONES LIMITA

EN N° DE PROCESOS ACTIVOS

Page 60: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PARTICION DINÁMICA

Fragmentación EXTERNA

Técnica de COMPACTACIÓN

OS/MVT

Page 61: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ALGORITMO DE UBICACION

ALGORITMO DE REEMPLAZO

MEMORIA VIRTUAL

Page 62: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PAGINACIÓN SIMPLE

Pequeños MARCOS

Y PAGINAS

PROBLEMAS DE PARTICION

LISTA DE MARCOS LIBRES Y TABLAS DE PAGINA + REGISTRO

BASE

DIRECCION LOGICA(N°

PAG Y DESPL)

PROCESADOR

Page 63: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

TAMAÑO =POTENCIA DE 2

Page 64: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

SEGMENTACION SIMPLE

PROCESOS

VARIOS SEGMENTOS

Page 65: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

MEMORIA VIRTUAL

Page 66: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

FUNDAMENTOS

Es considerada como MEMORIA SECUNDARIA.

Su principal función es INTERCAMBIAR PROCESOS CON MEMORIA PRINCIPAL.

Una ventaja es que los programas pueden tener un tamaño mayor al que la memoria física.

Page 67: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)
Page 68: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

SEGMENTACIÓN PAGINADA

Page 69: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

SEGMENTACIÓN PAGINADASegmentación = soporte directo a las regiones del proceso

Paginación = mejor aprovechamiento de la memoria

La MMU utiliza una tabla de segmentos, tal que cada entrada de la tabla apunta a una tabla de páginas.

Page 70: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

VALORACIONEspacios lógicos independientes.

Protección.

Compartir memoria.

Soporte de las regiones del proceso, gracias a la segmentación.

Maximizar el rendimiento.

Mapas de memoria grandes para los procesos.

Page 71: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

TENER EN CUENTA QUE…

En la segmentación paginada se requiere un hardware MAS COMPLEJO, la cual pocos OS lo tienen.

Por lo tanto la mayoría de los OS están construidos SUPONIENDO que el procesador proporciona un esquema de paginación.

Page 72: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PAGINACIÓN BAJO DEMANDA

Page 73: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PAGINACIÓN BAJO DEMANDACargar programas

únicamente cuando sean necesarias.

Exclusiva de memoria virtual.Sólo se cargan las páginas

cuando SOLICITAN durante la EJECUCIÓN DEL

PROGRAMA. Cuando ejecuta un proceso,

se realiza un intercambio para cargarlo en memoria,

se utiliza un INTERCAMBIADOR

PEREZOSO.

El intercambiador perezoso es el componente que solamente realiza un

cambio de página cuando es estrictamente necesario.

Un intercambiador manipula procesos enteros, mientras que un paginador

trata con las páginas individualmente de un

proceso.

Page 74: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

SUSTITUCIÓN DE PAGINA

Page 75: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

SUSTITUCIÓN DE PAGINA

Se usa cuando sucede un FALLO DE PÁGINA.

El OS determina donde reside la página dentro del disco y entonces se encuentra con que no haya ningún marco libre en la lista de marcos libres, toda la memoria está siendo utilizada.

Page 76: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

FIFO

Es más sencillas de implementar.

La lógica que hay detrás de esta selección, además de su sencillez, es reemplazar la página que ha estado más tiempo en memoria.

Page 77: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

OPTIMA

Reemplazar la página que tiene que esperar una mayor cantidad tiempo hasta que se produzca la

referencia siguiente.

Genera el menor número de fallos de página.

Sin duda, este algoritmo resulta IMPOSIBLE DE

IMPLEMENTAR.

Page 78: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

LRUReemplaza la página de memoria que no ha sido referenciada desde hace más tiempo.

De hecho, la política LRU afina casi tanto como la política óptima.

El problema de este método es su dificultad de implementación.

Page 79: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)
Page 80: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ASIGNACIÓN MARCO DE PAGINA• Nuestras estrategias para la asignación de marcos están restringidas de

varias maneras.• No podemos, por ejemplo, asignar un numero de marcos superior al

número total de marcos disponibles.• Debemos asignar un número mínimo de marcos (Rendimiento)• A medida que el número de marcos asignados a un proceso se reduzca, se

incrementará la tasa de fallos de páginas.• El número mínimo de marcos está definido por la arquitectura informática.• El número máximo está definido por la cantidad de memoria física

disponible.

Page 81: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ASIGNACIÓN FIJAConlleva a una estrategia de reemplazo Local.

El número de marcos asignados no varía.

El comportamiento del proceso es relativamente predecible.Desventaja: No se adapta a las diferentes necesidades de memoria de un proceso a lo largo de su ejecución.

Page 82: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

ASIGNACIÓN DINÁMICA

El número asignados a un proceso varía según las necesidades que tenga el proceso en diferentes instantes de tiempo.

Page 83: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

Reemplazo local: El proceso va aumentando o disminuyendo su conjunto residente dependiendo de sus necesidades en las distintas fases de ejecución del programa.

Reemplazo global: Los procesos compiten en el uso de la memoria quitándole entre si las páginas.

Page 84: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

HIPERPAGINACIÓN

Page 85: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

El número de páginas asignados a un proceso no es suficiente para almacenar las páginas referenciadas activamente por el mismo, la cual se producirá un número elevado de fallos de

página.

Por lo tanto la sobrepaginación provoca grandes problemas de rendimiento.

Page 86: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)

PREGUNTAS

Page 87: PLANIFICACION DE RECURSOS(PROCESOS Y MEMORIA)