Planificacion de Recursos Procesos y Memoria
-
Upload
viviana-rivera -
Category
Documents
-
view
221 -
download
0
description
Transcript of Planificacion de Recursos Procesos y Memoria
ARQUITECTURA DE COMPUTADORASPLANIFICACIÓN DE
RECURSOS PROCESOS Y MEMORIA
¿ QUÉ ES UN PROCESO ?
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Para entender mejor el concepto de proceso:
Los procesos tienen un carácter secuencial:
Un proceso en su ejecución puede generar más de un proceso (llamada fork).
Dos procesos pueden asociarse al mismo programa.
En definitiva se puede definir que un PROCESO: es básicamente un entorno formado por todos los recursos necesarios para ejecutar programas. Desde el punto de vista del SO, un proceso es un objeto más que hay que gestionar y al cual hay que dar servicio.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
La ejecución de un proceso es secuencial porque sus operaciones son ejecutadas por la CPU una tras otra,
en el orden que dicte el programa
SECUENCIAL
Es concurrente porque estos se pueden ejecutar en paralelo.
Concurrencia real. Si cada proceso se ejecuta sobre una CPU.Concurrencia virtual. La CPU reparte su tiempo entre los procesos para simular su ejecución paralela.
CONCURRENTE
1.EJECUCIÓN DE UN PROCESOExisten dos tipos de ejecuciones que veremos a continuación:
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
2. ESTRUCTURA DE UN PROCESO
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
3. MULTIPROGRAMACIÓNLa multiprogramación en general se refiere a la idea general de poder cargar múltiples programas dentro de un mismo computador para que sean ejecutados en un determinado momento.
Propósito
Tener a varias tareas en la memoria principal, de manera que cada uno está usando el procesador, o un procesador distinto, es decir, involucra maquinas con más de una UCP.
UNIXWindows 95 Windows 98 Windows NTMAC-OS OS/2
Soportan la multitarea:
Características de la multiprogramación:
Mejora productividad del sistema y utilización de recursos.
Generalmente soportan múltiples usuarios (multiusuarios).
Proporcionan facilidades para mantener el entorno de usuarios individuales.
Requieren validación de usuario para seguridad y protección.
Proporcionan contabilidad del uso de los recursos por parte de los usuarios.
En general, los sistemas de multiprogramación se caracterizan por tener múltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos periféricos.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
4. ESTADOS DEL PROCESOA medida que un proceso se ejecuta va cambiando de estado dependiendo de las preferencias que cada uno tengan asignadas, por lo que será el procesador el que se encargue de ejecutar unos u otros.
1. PREPARADO (READY O LISTO)
2. EJECUCIÓN (RUN)
3. BLOQUEADO (WAIT, EN ESPERA).
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
PLANIFICACIÓN DE
PROCESOS
Una política de planificación debe conseguir que los procesos obtengan adecuadamente sus turnos de ejecución por lo que son tratados de la misma forma, que no se produzca sobrecarga, es decir, el planificador debe responder rápidamente ante cargas de trabajo ligera y responder de la misma forma ante cargas de trabajo similares. Y obtener un buen rendimiento, por lo se debe lograr finalizar el mayor número de procesos y maximizar el tiempo de respuesta.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
• Selecciona un proceso de la cola de procesos preparados para ejecución y le asigna la CPU.
Planificador a Corto Plazo
1. TIPOS.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Tipos...
Planificador a Corto Plazo
Se ejecuta cuando ocurre un evento que conduce a la interrupción del proceso actual, expulsando el proceso a favor de otro Ejemplos de eventos:
Interrupciones de reloj. Interrupciones de E/S. Llamadas al sistema operativo. Señales.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Planificador a Mediano Plazo
Tipos...El planificador a medio plazo se encarga de sacar el proceso y volverlo a introducir más tarde. El proceso continuará su ejecución a partir del punto donde se había quedado.
Se ejecuta cuando hay escasez de recursos
Se encarga de controlar qué procesos, de entre todos los iniciados deben estar en memoria (preparados) y qué otros deben estar en el espacio de intercambio.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Tipos...
Planificador a Largo Plazo
EL PLANIFICADOR A LARGO PLAZO CREARÁ PROCESOS A PARTIR DE LA COLA CUANDO SEA POSIBLE (CARGA EN MEMORIA LOS PROCESOS DE NUEVA CREACIÓN).
Cuando crear un nuevo proceso
Cuál va ser el siguiente proceso a admitir DECISIONES QUE
TOMA EL PLANIFIC
ADOR
Orientado a CPU: Es aquel que invierte la mayor parte de su tiempo en efectuar cálculos
Genera solicitudes de E/S con poca frecuencia.
PROCESOS
ORIENTADOS A
CPU U/O ORIENTA
DOS A E/S
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
2. BLOQUE DE CONTROL. (PBC PROCESS CONTROL BLOCK) Es un conjunto de registros que almacena información sobre el proceso:
Estado del proceso
Contador del Programa
Registros de la CPU
Información, planificación
CPU
Información contable y de identificación
Información estado E/S
Se utiliza para poder ejecutar procesos concurrentes: hay un cambio de contexto (se produce una interrupción que debe atender el sistema operativo).
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
3. ALGORITMOS DE PLANIFICACIÓN.Decidir a cuál de los procesos que están en la cola de procesos listos se le asignará la CPU.
Clasificación de algoritmos de planificación:
POR ORDEN DE LLEGADA (FCFS):
La CPU es asignada a todos los procesos en el mismo orden que lo solicitan. Es fácil de implementar.
Sin expulsión: Cuando un proceso tiene asignada la CPU, la conserva hasta que desee liberarla, bien sea porque finaliza o por solicitud de una E/S.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Algoritmos de planificación…
CIRCULAR (RR -ROUND-ROBÍN)
A cada proceso se le asigna una pequeña cantidad de tiempo de CPU, llamada “quantum” de tiempo, normalmente 10-100 m/seg.Si el proceso tiene un intervalo de CPU mayor que el “quantum”, entonces es expulsado de la CPU y añadido a la cola de procesos listos.Si hay n procesos, cada uno obtiene 1/n del tiempo de la CPU en intervalos de q unidades como máximo (en un ciclo).
Equitativo. El tiempo de espera máximo está
limitado por (n -1) q, antes de recibir su siguiente cuanto de tiempo (en un ciclo).
El tiempo de retorno medio varía con el cuanto de tiempo.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Por Prioridades
Algoritmos de planificación…
Sin expulsión (“Non preemptive”) / Con expulsión (“Preemptive”)
Estáticos• La prioridad se asigna
antes de la ejecución y no cambia.
• La prioridad cambia con el tiempo.
Dinámicos
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Algoritmos de planificación…
Combinación de Algoritmo:
Prioridades
El algoritmo de prioridades se selecciona para ejecutar el proceso en estado de listo que tenga la máxima
prioridad.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
PLANIFICACIÓN DE
MEMORIA
La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado.
La Planificación de Memoria. Es el acto de gestionar la memoria de un dispositivo informático.
Se trata de proveer mecanismos para asignar secciones de memoria a los programas que las solicitan, y a la vez, liberar las secciones de memoria que ya no se utilizan para que estén disponibles para otros programas.
Es una tarea de suma importancia para el funcionamiento del mismo.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
1. INTERCAMBIO (SWAPPING)Es un mecanismo o modo de interrelacionar la memoria principal (RAM) con la secundaria (DISCO) de tal modo que se produce un intercambio de programas entre ambas cuyo resultado es la simulación de un sistema multitareas.El intercambio es de hecho una operación de E/S, y por consiguiente existe la posibilidad de empeorar el problema más que de solucionarlo. No obstante, puesto que la E/S es disco o generalmente la operación de E/S más rápido (comparada con la E/S en cinta o mediante la impresora), usualmente el intercambio mejora las prestaciones.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
2. PARTICIONES
CLASES
FIJA
DINÁMICA
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Particiones…
Consiste en dividir la memoria libre en varias partes de igual tamaño o de diferentes tamaños
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Particiones…Partición Fija…Fija de partes iguales
Un programa puede ser demasiado grande para caber en la partición.
El uso de memoria principal es extremadamente ineficiente
Fija de distintos tamaños
Asignar cada proceso a la partición más pequeña en que quepa (sin importar si la partición está
cargada o no), lo que necesitará de una cola de expulsados para cada partición.
Asignar el proceso a la partición más pequeña entre aquellas que están libres (usando una única
cola para todos los procesos); y si todas las particiones están ocupadas, se debe tomar una
decisión de intercambio.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Consiste en particiones de memoria de tamaños variable, o sea, a cada proceso se le asigna la cantidad de memoria que
necesita (la cantidad exacta y ni un poco más).
Particiones…
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Las dificultades que presenta la compactación son:
Es un procedimiento que consume tiempo de trabajo del procesador.
A pesar de la compactación, deben utilizarse algunos algoritmos para la ubicación de procesos en las particiones. Estos algoritmos son:
*Mejor ajuste (Best-fit): se elige el bloque con el tamaño más parecido al del proceso entrante.*Peor ajuste (Worst-fit): elige el bloque más grande posible.
Particiones…Partición Dinámica…
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Particiones fijas de una memoria
Participación dinámica de una memoria
Particiones…Ejemplos
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
3. PAGINACIÓN
Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de igual tamaño, denominadas marcos de página.
Se puede cargar una página de información en cualquier marco de página.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Paginación…Ejemplo
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Paginación…Tabla de Paginas
La finalidad de la tabla de páginas es asociar las páginas virtuales con los marcos. En términos matemáticos, la tabla de páginas es una función, cuyo argumento es el número del marco físico. Mediante el resultado de esta función, se puede reemplazar el campo de la página virtual de una dirección virtual por un campo de marco, lo que produce una dirección en la memoria física.
Sin embargo hay que enfrentar dos aspectos fundamentales:
La tabla de páginas puede ser demasiado grande.
La asociación debe de ser rápida.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Paginación…Características, Ventajas y Desventajas
Características
•El espacio de direcciones lógico de un proceso puede ser no contiguo.•Se mantiene información en los marcos libres.•Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas.•Se produce fragmentación interna.
Ventajas
•Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud.•Todo el mecanismo es transparente al usuario.•Se puede programar en función de una memoria mucho más grande a la existente.•Se elimina el problema de fragmentación externa.
Desventajas
•El costo de hardware y software se incrementa•Se consume mucho más recursos de memoria, tiempo en el CPU para su implantación.•Aparece el problema de fragmentación interna
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
4. SEGMENTACIÓNEs un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos. Cada uno de ellos tienen información lógica del programa, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa.
Es usualmente visible para el programador
Proporciona una forma conveniente de organizar los programas y los datos
Asocia los privilegios y los atributos de protección con las instrucciones y los datos
Comparación
Enlace dinámico entre segmentosProtección
Estructuras de datos de largo variable
Modularidad de programas
Objetivos
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Segmentación…Ventajas y Desventajas
Ventajas
•El programador puede conocer las unidades lógicas de su programa.•Es posible compilar módulos separados como segmentos.•Cambios dentro de un módulo no afecta al resto de los módulos.•Es fácil el compartir segmentos.•Es posible que los segmentos crezcan dinámicamente según las necesidades del programa en ejecución.•Posibilidad de definir segmentos que aún no existan.
Desventajas
•Hay un incremento en los costos de hardware y de software.•Un mayor consumo de recursos: memoria, tiempo de CPU, etc.•Segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas.•Se complica el manejo de memoria virtual.•No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído fácilmente de nuevo.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
SISTEMAS COMBINADOS
Para evitar el problema de la fragmentación externa en segmentación pura, y para evitar el tener cargada una tabla de páginas demasiado grande en paginación, aparecen:
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
• La segmentación proporciona soporte directo a las regiones del proceso.
• La paginación permite un mejor aprovechamiento de la memoria y una base para construir un esquema de memoria virtual.
• El objetivo del método es tener segmentos grandes, sin que se produzca fragmentación externa, al estar estos segmentos paginados.
• Una dirección lógica está construida por un número de segmento S y una dirección dentro del segmento a.
SEGMENTACIÓN PAGINADA
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
• La idea de este método es tener muchas páginas sin que por ello la tabla de páginas sea demasiado grande ya que ésta se halla segmentada.
• La segmentación es utilizada para que la tabla de páginas pueda tener un tamaño variable.
• segmentar la tabla de página,
PAGINACIÓN SEGMENTADA
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Acceso a un sistema de memoria Segmentado Paginado
Paginación segmentada.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Permite
que
un si
mple
pr
ogra
ma ex
pa
nda s
u es
paci
o
de
direcci
ones
más allá
de l
os lí
mites
de la
me
moria
pri
nci
pal.
GESTIÓN DE MEMORIA VIRTUAL
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Esta forma de trabajar aporta ventajas importantes:
Puesto que cada programa ocupa
menos memoria real, se puede elevar el
índice de multiprogramación y, por tanto, la eficiencia
del sistema.
Al cargar menos cantidad de cada
programa se necesitan menos
operaciones de E/S para las
operaciones de carga e intercambio
de los mismos.
Si los programas se pueden
ejecutar “por partes”, la
memoria lógica puede ser mayor
que la real disponible.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
Los bloques
La correspondencia entre direcciones virtuales y direcciones físicas que realiza con la tabla de páginas
El sistema operativo usa técnicas, como LRU y el bit de referencia, para escoger las páginas candidatas a ser reemplazadas.
Gestionar la jerarquía de memorias entre la memoria principal y disco es un reto debido al alto coste de los fallos de página. Para reducir la tasa de fallos se usan diferentes técnicas:
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS
CONCLUSIÓN…
En una primera fase teórica, se ha podido profundizar en cómo gestionan los procesos y la memoria los sistemas que utilizamos a diario, y comprender por qué unos sistemas realizan la misma labor de forma diferente. Por ejemplo, algunos sistemas Windows no reconocen 4 GB de memoria RAM, y es que al ser sistemas de 32 bits, su espacio de direcciones está limitado a 4 GB. Además que existen bloques de control y algoritmos de planificación de procesos para poder así almacenar información y ver cuál será el siguiente proceso sé que ejecutará en la UPC.
A nivel personal, nos dio la satisfacción de haber realizado un trabajo que está relacionado con nuestro aprendizaje actual, es decir sobre todo a la planificación de la memoria y los procesos que se dan (corto, mediano y largo plazo) para obtener el máximo rendimiento de una UPC y tener un mayor conocimiento sobre el tema.
INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS