PDF de programación - ENtornos Operativos para la Gestión de Recursos de Aplicaciones Paralelas

Imágen de pdf ENtornos Operativos para la Gestión de Recursos de Aplicaciones Paralelas

ENtornos Operativos para la Gestión de Recursos de Aplicaciones Paralelasgráfica de visualizaciones

Publicado el 2 de Agosto del 2019
513 visualizaciones desde el 2 de Agosto del 2019
167,0 KB
39 paginas
Creado hace 31a (05/10/1992)
ENtornos Operativos para la Gestión de

Recursos de Aplicaciones Paralelas

Marisa Gil, Xavier Martorell {marisa,xavim}@ac.upc.es

Curso de Doctorado 2.002/03

Departamento de Arquitectura de Computadores

UPC

UPC/DAC Tardor 2.002

INTRODUCCIÓN

¿Qué es un sistema operativo?

(dibujo sacado de “Operating Systems. Communicating with and Controlling the Computer” Laurie S. Keller, Prentice Hall, 1988, p.7)

Almacenamiento

secundario

Gestión de
almacenamiento
secundario

Gestión de
almacenamiento/
almacenamiento
virtual

Gestión de
almacenamiento
real

Output

Output

Almacenamiento

primario

Input

Procesador

Gestión del
procesador

Entornos Operativos para la Gestión de Recursos ...

2

UPC/DAC Tardor 2.002

INTRODUCCIÓN

¿Qué es un sistema operativo?

Sistema Operativo: conjunto de software (rutinas y “programas”) que hacen de

intermediario entre el hardware y las aplicaciones.

Ap

Ap

Ap

Ap

SO

Hw

Entornos Operativos para la Gestión de Recursos ...

3

UPC/DAC Tardor 2.002

INTRODUCCIÓN

¿Qué es un sistema operativo?

• GESTOR DE RECURSOS:

- Varias aplicaciones y usuarios coexisten:

• Mejor utilización de la máquina, compartiendo todos los recursos.

- Cualquier parte de la máquina se ve como un recurso y todos los recursos

pertenecen al sistema operativo.

- Recursos tradicionales

• Discos, memoria, impresora

- Recursos en auge en la actualidad

• Procesadores: gestión del paralelismo
• Red: protocolos, coordinación en tiempo real
• Consumo de energía: sistemas embedded

• MÁQUINA VIRTUAL:

• modelo más comprensivo para el usuario
• instrucciones más simples de utilizar

Entornos Operativos para la Gestión de Recursos ...

4

UPC/DAC Tardor 2.002

INTRODUCCIÓN

El sistema operativo como gestor de recursos

• Recursos hardware de la máquina en la que está corriendo
• Recursos software (dispositivos lógicos):

buzones
ficheros
terminales virtuales

• Gestión que lleva a cabo:

- Tratar y dirigir los acontecimientos que llegan al sistema.
- Decidir a quién asigna un recurso, cómo y durante cuánto tiempo.
- Permitir la compartición y que sea “la más justa”.

• Además,

- Garantizar la protección de los programas y suya.

Entornos Operativos para la Gestión de Recursos ...

5

UPC/DAC Tardor 2.002

INTRODUCCIÓN

El sistema operativo como máquina virtual

• Ofrecer una visión simplificada -o diferente- de la arquitectura hardware

- Cómo interaccionan los componentes de un sistema, desde la visión del

usuario

- La descripción puede ser muy compleja y se divide en módulos

• división vertical, en base a la funcionalidad y su implementación
• división horizontal, en interficies, sin entrar en la implementación

:

S.O.

Gestión de
Procesos

Gestión

de Ficheros

Gestión

de Memoria

Gestión de
Dispositivos

Hardware

CPUs

Dispositivos

Memoria

Entornos Operativos para la Gestión de Recursos ...

6

UPC/DAC Tardor 2.002

INTRODUCCIÓN

El sistema operativo como máquina virtual

Las abstracciones y modelos, que pueden simplificar la visión y el estudio,
pueden sin embargo dificultar modificaciones de diseño o de nuevas
funcionalidades.

Por ejemplo, mejorar la gestión de memoria a partir de una visión de la

memoria virtual, en lugar de trabajar sobre el recurso “memoria física”

Entornos Operativos para la Gestión de Recursos ...

7

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Estructura de un sistema operativo clásico

Programa de

usuario

Programa de

sistema

Llamadas al
sistema

Llamadas al
sistema

Sistema Operativo

La manera de acceder a los servicios del sistema operativo es a través de las lla-

madas al sistema.

Todo programa, de usuario o especial, acaba realizando una llamada al sistema si

quiere acceder a los recursos del sistema.

Entornos Operativos para la Gestión de Recursos ...

8

UPC/DAC Tardor 2.002

INTRODUCCIÓN

LLamadas al sistema: Librería de sistema

programa

printf
scanf.....

factorial
potencia...

librería de C

librería matemática

read,exec...

librería del sistema

Sistema Operativo

En la librería de sistema están todas las llamadas al sistema
La apariencia de externa de una llamada al sistema es exacta-

mente igual a la de la llamada a una función o procedi-
miento del programa de usuario, o bien de una librería del
lenguaje.

Entornos Operativos para la Gestión de Recursos ...

9

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Cómo el SO realiza un servicio

Petición de un servicio

Información de que el servicio ha
finalizado y de cómo ha finalizado

USUARIO
SISTEMA

Realización del
servicio

Qué estructuras ha necesitado
Qué algoritmos ha utilizado
Cuánto tiempo ha tardado
A qué dispositivos ha accedido

Entornos Operativos para la Gestión de Recursos ...

10

UPC/DAC Tardor 2.002

INTRODUCCIÓN

El Sistema Operativo como máquina virtual

• Modelo más “comprensivo”del sistema operativo.
• La máquina real, es vista y utilizada por las aplicaciones

según la ofrezca el SO:

• modelo proceso/thread

M M M

CPU

K

M M M

CPU

CPU

CPU

K

MODELO PROCESO

MODELO THREAD

• modelo de memoria compartida/paso de mensajes

M M M

CPU

K

MEMORIA COMPARTIDA

M

CPU

K

M M

CPU

PASO DE MENSAJES

Entornos Operativos para la Gestión de Recursos ...

11

UPC/DAC Tardor 2.002

INTRODUCCIÓN

¿Cómo ven las aplicaciones los recursos?

• El SO simplifica el trabajo de las aplicaciones:

directamente dan una “orden” a su máquina virtual

“ejecutar-programa”

crear-proceso

cargar en memoria
fichero ejecutable

inicializar estructuras
en los diferentes
niveles/módulos/rutinas

• El SO las independiza de las cuestiones de política y asignación de los recursos

• compartición de recursos
• esperas de servicios.

Entornos Operativos para la Gestión de Recursos ...

12

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Estructura interna del sistema operativo

• Organización del código que forma el sistema operativo
• Depende de la metodología de diseño utilizada
• Depende de los objetivos funcionales del producto final

• fácil de comprender
• fácil de distribuir (sistemas distribuidos o en red)
• fácil de replicar y/o diversificar servicios
• fácil de modificar y/o ampliar

• Clasificación (una posible, la más tradicional)

• Monolítico
• Por capas o niveles
• Cliente/servidor

Entornos Operativos para la Gestión de Recursos ...

13

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Sistema operativo monolítico

Programa de
aplicación

.

.

.

Programa de
aplicación

Servicios del Sistema

Modo Usuario

Modo Kernel

Procedimientos
de S.O.

Hardware

• Las principales ventajas: simplicidad y eficiencia

• Buena integración de todos sus componentes

• Cuando el sistema crece, es difícil de ampliar.
• Son sistemas monolíticos: UNIX, DOS, Mach.

Entornos Operativos para la Gestión de Recursos ...

14

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Sistema Operativo por capas o niveles

Programa de
aplicación

.

.

.

Programa de
aplicación

Modo Usuario

Modo Kernel

Servicios del Sistema

Sistema de Ficheros

Administrador de dispositivos de E/S y memoria

Planificador del procesador

Hardware

• Potencia el desarrollo en grupos diferentes
• Fácil de entender y extender (añadir, modificar capas)
• Difícil definir “capas limpias”
• Ineficiencia de ver sólo el nivel inmediato
• Solución: capas porosas.

Entornos Operativos para la Gestión de Recursos ...

15

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Sistema operativo cliente/servidor

usuario

S. de
disco

S. de
ficheros

NÚCLEO

HW

Servidor
de proceso

• Todos los módulos son clientes y servidores del resto
• Permite modificar y ampliar los servicios
• Su principal problema es la sobrecarga de comunicación
• Punto de partida del diseño basado en el kernel

servidor

de

impresora

usuario

UNIX
server

usuario

microkernel

HW

Entornos Operativos para la Gestión de Recursos ...

16

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Estructura del sistema operativo

aplicación

interfaz de llamadas al sistema

vector de interrupciones

sincronización

planificación

memoria virtual

sistema de
ficheros

cola de peticiones de E/S

capa dependiente de la máquina (y dispositivos)

memoria
reloj

disco

TLB
CPU

pantalla

red

consola

Entornos Operativos para la Gestión de Recursos ...

17

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Abstracciones del sistema:

PARALELISMO/ASIGNACIÓN DE RECURSOS

Objeto al que el SO asigna los recursos

• Proceso
• Task-Thread
• Environment
• Realm
• Scheduler activation

Gestión de recursos asociada al objeto

• Espacio de direcciones
• Entornos de ejecución
• Políticas de asignación y compartición

Entornos Operativos para la Gestión de Recursos ...

18

UPC/DAC Tardor 2.002

INTRODUCCIÓN

El Proceso

• Process Control Block: contenedor donde guardar su estado

next
previous

process
state
process id
program counter
registers

memory structure
open file table

etc

Entornos Operativos para la Gestión de Recursos ...

19

UPC/DAC Tardor 2.002

INTRODUCCIÓN

La Task y el Thread en la Máquina Virtual que ofrece el S.O.

• Descomposición de la noción de proceso en dos abstracciones: Task y Thread
• Task

- Conjunto de recursos del sistema, agrupados en una entidad
- Dos Tasks no comparten nada si no se ha tomado una acción específica
- Contiene un cierto número de threads

• Thread

- Punto de un flujo de control dentro de una Task
- Pertenece a una única Task que define su espacio de direcciones
- Tiene acceso a todos los elementos de la Task
- Ejecuta potencialmente en paralelo con otros Threads
- Tiene un estado de ejecución “mínimo” (un PC y un SP)
- No hay relación de parentesco, todos son independientes
- Comunicación por memoria compartida, sincronización explícita
- Es planificado en procesador, posibles mapeos
- Es necesario para operaciones de SO, mantiene el estado

Entornos Operativos para la Gestión de Recursos ...

20

UPC/DAC Tardor 2.002

INTRODUCCIÓN

Tasks/Threads vs. Procesos

• Modelo de proceso (máquina virtual monoprocesador) y

modelo de Task/Thread (máquina virtual multiprocesador)

• Motivación de la multiprogramación: Utilización eficiente de los recursos de la

máqu
  • Links de descarga
http://lwp-l.com/pdf16413

Comentarios de: ENtornos Operativos para la Gestión de Recursos de Aplicaciones Paralelas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad