40
ARQUITECTURA DE COMPUTADORAS PLANIFICACIÓN DE RECURSOS PROCESOS Y MEMORIA

Planificacion de Recursos Procesos y Memoria

Embed Size (px)

DESCRIPTION

Planificación

Citation preview

Page 1: Planificacion de Recursos Procesos y Memoria

ARQUITECTURA DE COMPUTADORASPLANIFICACIÓN DE

RECURSOS PROCESOS Y MEMORIA

Page 2: Planificacion 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.

Page 3: Planificacion de Recursos Procesos y Memoria

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:

Page 4: Planificacion de Recursos Procesos y Memoria

INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS

2. ESTRUCTURA DE UN PROCESO

Page 5: Planificacion de Recursos Procesos y Memoria

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.

Page 6: Planificacion de Recursos Procesos y Memoria

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

Page 7: Planificacion de Recursos Procesos y Memoria

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.

Page 8: Planificacion de Recursos Procesos y Memoria

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.

Page 9: Planificacion de Recursos Procesos y Memoria

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.

Page 10: Planificacion de Recursos Procesos y Memoria

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.

Page 11: Planificacion de Recursos Procesos y Memoria

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

Page 12: Planificacion de Recursos Procesos y Memoria

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

Page 13: Planificacion de Recursos Procesos y Memoria

INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS

Page 14: Planificacion de Recursos Procesos y Memoria

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.

Page 15: Planificacion de Recursos Procesos y Memoria

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.

Page 16: Planificacion de Recursos Procesos y Memoria

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

Page 17: Planificacion de Recursos Procesos y Memoria

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.

Page 18: Planificacion de Recursos Procesos y Memoria

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.

Page 19: Planificacion de Recursos Procesos y Memoria

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.

Page 20: Planificacion de Recursos Procesos y Memoria

INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS

2. PARTICIONES

CLASES

FIJA

DINÁMICA

Page 21: Planificacion de Recursos Procesos y Memoria

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

Page 22: Planificacion de Recursos Procesos y Memoria

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.

Page 23: Planificacion de Recursos Procesos y Memoria

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…

Page 24: Planificacion de Recursos Procesos y Memoria

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…

Page 25: Planificacion de Recursos Procesos y Memoria

INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS

Particiones fijas de una memoria

Participación dinámica de una memoria

Particiones…Ejemplos

Page 26: Planificacion de Recursos Procesos y Memoria

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.

Page 27: Planificacion de Recursos Procesos y Memoria

INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS

Paginación…Ejemplo

Page 28: Planificacion de Recursos Procesos y Memoria

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.

Page 29: Planificacion de Recursos Procesos y Memoria

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

Page 30: Planificacion de Recursos Procesos y Memoria

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

Page 31: Planificacion de Recursos Procesos y Memoria

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.

Page 32: Planificacion de Recursos Procesos y Memoria

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:

Page 33: Planificacion de Recursos Procesos y Memoria

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

Page 34: Planificacion de Recursos Procesos y Memoria

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

Page 35: Planificacion de Recursos Procesos y Memoria

INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS

Acceso a un sistema de memoria Segmentado Paginado

Paginación segmentada.

Page 36: Planificacion de Recursos Procesos y Memoria

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

Page 37: Planificacion de Recursos Procesos y Memoria

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.

Page 38: Planificacion de Recursos Procesos y Memoria

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:

Page 39: Planificacion de Recursos Procesos y Memoria

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.

Page 40: Planificacion de Recursos Procesos y Memoria

INGENIERIA DE SISTEMAS - ARQUITECTURA DE COMPUTADORAS