planificacion de recursos(procesos y memoria)

Post on 08-Apr-2017

371 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PLANIFICACION DE RECURSOS (PROCESOS Y

MEMORIA)GRUPO Nº1

INTRODUCCIÓN

EL SISTEMA

OPERATIVO

DEFINICION - OBJETIVOS - TIPOS

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

DEFINICIÓN

OBJETIVOS

INTERFAZ DE USUARIO

¿EN QUÉ AYUDA EL SISTEMA OPERATIVO?

CREACIÓN DE PROGRAMAS

EJECUCIÓN DE PROGRAMAS

ACCESO A LOS

DISPOSITIVOS DE E/S

ACCESO CONTROLADO A FICHEROS O ARCHIVOS

ACCESO AL SISTEMA

DETECCIÓN DE ERRORES Y RESPUESTA

GESTIÓN DE CUENTAS

ADMINISTRADOR DE RECURSOS

TIPOS DE SISTEMAS OPERATIVOS

LOS PRIMEROS SISTEMAS

SISTEMAS DE COLAS SIMPLES

MONITOR RESIDENTE

MONOPROGRAMACION

SISTEMA DE COLAS MULTIPROGRAMADAS

DISPOSITIVOS DE E/S

PROCESADOR

SISTEMA DE TIEMPO COMPARTIDO

PROCESOS

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:

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.

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:

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

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

frecuentemente debe interactuar con otros procesos.

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.

Son posibles cuatro transiciones entre estos estados

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.

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

•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

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

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.

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

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.

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.

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

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

TIPOS DE PLANIFICACIÓN

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.

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.

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.

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.

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

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.

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:

GESTIÓN DE MEMORIA

REQUISITOS REUBICACION

PROTECCION

COMPARTICION

ORGANIZACION LOGICA

ORGANIZACION FISICA

REUBICACIÓN

PROTECCIÓN

COMPARTICIÓN

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.

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

INTERCAMBIOPERMITE CORRER mayor cantidad de programas

Su problema es el THRASHING

CARGA DE PROGRAMAS EN MEMORIA PRINCIPAL

PARTICION FIJA

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

Fragmentación INTERNA

EL PROGRAMADOR DEBE DISEÑAR UN PROGRAMA

COLA DE PLANIFICACION PARA LOS PROCESOS

EL N° DE PARTICONES LIMITA

EN N° DE PROCESOS ACTIVOS

PARTICION DINÁMICA

Fragmentación EXTERNA

Técnica de COMPACTACIÓN

OS/MVT

ALGORITMO DE UBICACION

ALGORITMO DE REEMPLAZO

MEMORIA VIRTUAL

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

TAMAÑO =POTENCIA DE 2

SEGMENTACION SIMPLE

PROCESOS

VARIOS SEGMENTOS

MEMORIA VIRTUAL

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.

SEGMENTACIÓN PAGINADA

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.

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.

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.

PAGINACIÓN BAJO DEMANDA

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.

SUSTITUCIÓN DE PAGINA

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.

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.

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.

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.

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.

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.

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.

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.

HIPERPAGINACIÓN

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.

PREGUNTAS

top related