planificacion de recursos(procesos y memoria)
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