You are on page 1of 18

Tema 1: Introduccin

Repaso: conceptos previos muy bsicos


Tema 1: Introduccin
Sara Romn Curso 20042004-2005 Ingeniera Tcnica en Informtica de Gestin Ingeniera Tcnica en Informtica de Sistemas

El ordenador como sistema informtico Esquema general de un ordenador y su funcionamiento general El sistema operativo: clasificacin y funciones Algunos otros conceptos de repaso Algunas preguntas y definiciones ndices de rendimiento Magnitudes que caracterizan la carga Magnitudes para controlar el comportamiento Sistemas de referencia Tcnicas de evaluacin Ley de Amdahl
2

General

http://www.fdi.ucm.es/profesor/sroman

El ordenador como sistema informtico (I)


Un ordenador es un conjunto de componentes funcionales que contribuyen a la realizacin de un objetivo especfico: la ejecucin de programas

El ordenador como sistema informtico (II)



De los apuntes del prof. F. Sanchs
3

Especializacin funcional de componentes (fsica y lgica) Cada componente realiza una parte especfica de la ejecucin de instrucciones a travs de unas funciones concretas y especficas Reunin coordinada de componentes
4

Esquema general de un ordenador

Niveles de descripcin de un ordenador

De los apuntes del prof. J J Ruz

De los apuntes del prof. J J Ruz

El sistema operativo

Sistema operativo: dominios de utilizacin


Objetivos:
Manejar el HW de forma cmoda y transparente al usuario respecto a detalles de implementacin del ordenador Hacer un uso ptimo de los recursos HW del ordenador Organizar y controlar el acceso a los recursos del sistema

Modelo de capas de programas que se llaman unos a otros para ejecutar una funcin
7

demanda de un sistema externo en un tiempo muy corto (ej: sistema de control automtico de una refinera) Explotacin de sala: realiza trabajos que no tienen restricciones de tiempo especiales (excepto las propias de ser un sistema eficaz)

Tiempo real: sistema de dar respuesta a una

Sistemas operativos de tiempo real


Sistemas operativos de explotacin en sala (I)


Control de procesos

Control por ordenador de un proceso industrial (refinera, seguimiento nave espacial ...) El sistema de control debe dar una respuesta adecuada (salidas) al estado del sistema, que conoce a travs de unas seales que provienen del sistema controlado (entradas) Trabajan sobre bases de datos; deben proporcionar informacin y permitir modificar sus contenidos de forma rpida Tambin sobre bases de datos pero con necesidades de actualizaciones muy frecuentes (sistemas bancarios)

Consulta de ficheros

Sistemas transaccionales

Concebidos para soportar flujo continuo de trabajos agrupados en unidades de ejecucin secuencial Capaces de ejecutar un gran nmero de programas de diversa ndole Tambin debe trabajar con una gran cantidad y variedad de perifricos Clasificados en dos grupos:
Sistemas batch Sistemas multi-acceso

10

Sistemas operativos de explotacin en sala (II): Sistemas


batch

Sistemas operativos de explotacin en sala (III):


Sistemas multi-acceso

Al usuario le resulta imposible actuar sobre el desarrollo de un trabajo una vez enviado a ejecutar El trabajo es enviado a ejecutar va perifricos de entrada Se pueden ejecutar trabajos locales y tambin trabajos remotos (enviados desde otra mquina)
11

Son sistemas de trabajo por bacth pero con mltiples usuarios envindolos Cada usuario tiene la impresin de tener la mquina para l solo A caballo entre tiempo real y de explotacin en sala debido a la prontitud con que debe reaccionar ante las peticiones d elos diversos usuarios En una nica mquina o en varias interconectadas entre s
12

Funciones generales del sistema operativo


Funciones especficas del sistema operativo (I)


Reducir y dominar la complejidad de las mquinas actuales


Para el usuario Para el programador

Garantizar las inversiones realizadas tanto en hardware como en software (compatibilidad)


Mquina y programas

Hacer de los sistemas informticos algo fcil de manejar para cualquier usuario
User-friendly interface
13

Gestin de la memoria principal (reglas de direccionamiento y asignacin de memoria) y de la memoria secundaria Ejecucin de los comandos de entrada/salida Gestin del uso de la CPU por parte de todos los programas del sistema Lanza a ejecutar las aplicaciones seleccionadas por el usuario
14

Funciones especficas del sistema operativo (II)


Cualidades complementarias del sistema operativo (I)


Interpreta el lenguaje del usuario (interface) Gestiona la ejecucin de trabajos solicitados por el usuario Gestiona la seguridad del sistema Gestin de los recursos compartidos por el sistema
15

Seguridad
Proteger programas contra errores

Fiabilidad
Permanentemente disponible Posible modo de funcionamiento degradado

16

Cualidades complementarias de sistema operativo (II)


Estructura de capas de un sistema operativo


Ordenamiento trabajos y asignacin recursos Acceso a ficheros Entradas / salidas Gestin de memoria Gestin de procesos

Compatibilidad
Proteger los programas frente a cambios en las mquinas

Portabilidad
Hacer a los usuarios menos dependientes del hardware ya que pueden ejecutarse programas en mquinas diferentes siempre que estas soporten al mismo S.O.

Interoperabilidad
Permitir la comunicacin entre programas en la misma mquina o en diferentes mquinas
17

Kernel Ncleo

Hardware
18

De los apuntes del prof. F. Sanchs

Estructura bsica de UNIX


Conceptos de repaso (I)


Capa interactiva de usuarios; los comandos al SHELL SHELL intermediario entre usuarios y resto del S.O Los procesos comunican con el usuario y el ncleo y tienen su propio espacio de direcciones

El

ncleo resuelve las llamadas de los procesos al sistema, gestiona las interrupciones, controla discos y otros perifricos ...
Usuarios Comandos / SHELL /editores Procesos Ncleo Discos / periferia

Sistema operativo: conjunto de programas que operan sobre estructuras de datos con los objetivos antes mencionados Proceso: programa considerado como elemental; lo crea el S.O en un momento dado para cumplir una funcin muy determinada y desaparece despus. Un programa en ejecucin: programa+datos+regs+informacin para ejecuta,relanzar etc. Instruccin: unidad de accin bsica que se ejecuta sin
interrupcin posible


19

Programa:

conjunto ordenado de instrucciones


20

De los apuntes del prof. F. Sanchs

Conceptos de repaso (II)


Conceptos de repaso (III)


Llamada al sistema:

procedimiento por el cual un programa de usuario solicita un servicio al S.O

Procesador: entidad (cableada o microprogramada) capaz de ejecutar instrucciones Paralelismo: ejecucin simultnea de varios procesos (es
necesario que haya tantos procesadores como procesos)

Recurso: cualquier elemento con entidad propia necesario para la ejecucin de un proceso (tanto fsicos como lgicos); pueden ser locales o compartidos
Estados de un proceso:
Ejecucin Preparado Espera
Ejecucin Preparado

varios procesos (menos procesadores que procesos)

Concurrencia: ejecucin aparentemente simultnea de


21

Espera
22

De los apuntes del prof. F. Sanchs

Conceptos de repaso (IV)


Conceptos de repaso (V)


Trabajo (job): solicitud por parte del usuario que implica que
el S.O debe ejecutar una secuencia de acciones elementales o pasos (programas normalmente); JCL (job constructing language) sirve para definir programas+recurso necesarios para ejecutar un cierto trabajo

Suponemos que para cualquier proceso se realizan los siguientes pasos:


Lectura de datos Memoria Clculos ALU Escritura de resultados - Registros
M A C1 C2 R2 C3 R3
24

Administrador de recursos: conoce las disponibilidades de recursos en cada instante, decide qu recursos asignar a qu procesos y los recupera cuando algn proceso los libera; se sirve de una Tabla de Recursos del Sistema y de una estrategia

Proc1 L1 C1

Proc2 L2 C2 R2

Proc3 L3 C3 R3
De los apuntes del prof. F. Sanchs

L1 L2 L3 R1

23

R1

Conceptos de repaso (VI)


Entorno monoprogramacin

Conceptos de repaso (VII)


Entorno multiprogramacin

Todos los recursos para un solo proceso: memoria principal, CPU, ALU, buses etc. Tasa de uso de la CPU muy baja(tiempos de espera para e/s muy altos)

Varios procesos comparten los recursos Mientras un proceso est en estado de espera otro distinto se est ejecutando en la CPU Necesaria una buena gestin de recursos y una buena planificacin del trabajo Aprovechamiento de la CPU muy alto Aparece el overhead: tiempo de la CPU dedicado a tareas de gestin del multiprocesamiento
26

25

Conceptos de repaso (VIII)


Memoria virtual

D. Patterson, J.Hennesy Computer architecture - a Morgan Kaufman Pub. 2nd edition 1996

Conceptos de repaso (IX)


Memoria virtual

quantitative approach

En sistemas multiprogramados, cada proceso tiene su espacio de direcciones asignado Muchos procesos hacen uso de una parte muy pequea de su espacio de memoria Varios procesos pueden compartir la memoria fsica durante su ejecucin
27

La memoria fsica (memoria principal) se divide en bloques, que se reparten entre los distintos procesos en ejecucin simultnea Existe un mecanismo de proteccin que impide a un proceso acceder a posiciones de memoria fsica reservadas para otro proceso diferente
28

Conceptos de repaso (X)


Memoria virtual
A2 B2 C2 P2 D2 A1 B1 C1 D1 P1 E1 Traducir direcciones virtuales a fsicas B2 D2 C1
Fallo pgina/segmento MISS Dir. virtual Acierto pgina/segmento HIT Dir. fsica

Algunas preguntas y definiciones (I)


A2 A1 B1 C2 D1 E1

Memoria principal

Qu significa evaluar un sistema informtico?

Pginas Segmentos

Memoria secundaria / de almacenamiento masivo


29

Medir cmo un software determinado est utilizando el hardware con una determinada combinacin de programas , que constituye lo que se llama la carga del sistema

Memoria virtual

Del libro de Patterson & Hennesy

Memoria fsica

Del libro de R. Puigjaner y otros

30

Algunas preguntas y definiciones (II)


Algunas preguntas y definiciones (III)


Qu dificultades nos podemos encontrar a la hora de evaluar?


Continuo cambio carga real de un sis. => mediciones no repetibles (existe una tcnica para controlar esto) Las ndices significativos varan en funcin del tipo de sistema, configuracin, uso etc.

Evaluacin de prestaciones: Todas aqullas actividades que forman parte del estudio del comportamiento de un sistema

31

Del libro de R. Puigjaner y otros

32

Algunas preguntas y definiciones (IV)


Algunas preguntas y definiciones (V)


Quines estn interesados en evaluar las prestaciones de un sistema?


Los que venden y ganan dinero

La evaluacin de un sistema es necesaria en todas las etapas de su vida:


Para evaluar diferentes opciones de diseo Para comprobar que el sistema cumple con las especificaciones Para estimar qu equipo o configuracin es la mejor para ejecutar un determinado paquete software Para encontrar los factores que limitan su rendimiento y poder mejorarlo Para predecir el comportamiento del sistema con otras posibles nuevas cargas en el futuro

Diseadores (HW y SW) Fabricantes Marketing Empresas Particulares Programadores Instaladores/mantenimiento Administradores
33

Los que compran y exigen (amortizan)


34

Algunas preguntas y definiciones (VI)


ndices de rendimiento (I)


Los objetivos deben estar muy claros a la hora de evaluar, as como los datos de que se dispone Es muy importante caracterizar y predecir la carga del sistema El comportamiento de un sistema est ntimamente ligado al uso que se le va a dar Siempre buscamos optimizar la relacin prestaciones/coste
35

Cmo caracterizamos el comportamiento de un sistema?


A travs de una serie de magnitudes hardware y software que hacen referencia a:
Visin externa: cmo ve su comportamiento un usuario Visin interna: cmo ve el sistema su responsable

36

ndices de rendimiento (II)


ndices de rendimiento (III)


Variables externas

Estn relacionados con tres tipos de medidas:


1. Consumo de tiempos 2. Utilizacin de recursos y dispositivos 3. Trabajo realizado por el sistema o componentes del mismo

Productividad o : cantidad de trabajo til ejecutado por unidad de tiempo en un determinado entorno de carga (trabajos/hora o transacciones/segundo) Capacidad: mxima cantidad de trabajo til que se puede realizar por unidad de tiempo en un entorno de carga determinado Tiempo de respuesta: tiempo transcurrido entre la
entrega de un trabajo o transaccin al sistema y la recepcin del resultado o la respuesta

throughput

37

38

ndices de rendimiento (IV)


Variables internas

ndices de rendimiento (V)


Variables internas

cual un componente del sistema ha sido realmente utilizado (CPU, dispositivo de E/S etc.)

Factor de utilizacin de un componente: porcentaje de tiempo durante el Solapamiento de componentes:

Overhead: porcentaje de tiempo en que los distintos

dispositivos del sistema han sido utilizados para realizar tareas de sistema no directamente imputables a ninguno de los trabajos de usuarios en curso

Factor de carga de multiprogramacin:

porcentaje de tiempo durante el cual dos o ms componentes del sistema han sido utilizados simultneamente
39

relacin entre el tiempo de respuesta de un trabajo en un determinado entorno de multiprogramacin y su tiempo de respuesta en monoprogramacin

40

ndices de rendimiento (VI)


Variables internas

Otras magnitudes relativas al comportamiento pero no


directamente con las prestaciones (I)

Factor de ganancia de multiprogramacin:

relacin entre el tiempo total necesario para ejecutar un conjunto de programas secuencialmente en monoprogramamacin y en multiprogramacin

Fiabilidad: probabilidad de que el sistema trabaje

correctamente a lo largo de un intervalo de tiempo dado

Frecuencia de fallo de pgina: nmero de fallos de pgina que se producen por unidad de tiempo en un sistema de memoria virtual paginada Frecuencia del nmero de programas expulsados de memoria por unidad de tiempo bien por falta de espacio bien por reorganizacin para recuperar espacio bien para disminuir la paginacin
41

swapping:

Disponibilidad: probabilidad de que el sistema est trabajando correctamente y que est disponible para realizar sus funciones en el instante t considerado

42

Otras magnitudes relativas al comportamiento pero no


directamente con las prestaciones (II)

Magnitudes que caracterizan la carga (I)


Seguridad:

probabilidad de que el sistema est realizando correctamente sus funciones o parado de forma que no perturbe el funcionamiento de otros sistemas ni la seguridad sistema estn por encima de un cierto nivel en un instante dado (a veces el sistema puede seguir funcionando despus de un fallo pero con prestaciones disminuidas)

Carga de prueba: Real: la que se observa en un sistema durante su


funcionamiento normal; no permite repeticiones

Performabilidad: probabilidad de que las prestaciones del

Sinttica: conjunto de programas que reproduce


(o intenta reproducir) la carga real de un sistema

Mantenibilidad: medida de la facilidad con que un sistema puede ser reparada despus de un fallo. Probabilidad de que un sistema averiado pueda ser reparado y devuelto al estado operacional dentro de un perodo de tiempo determinado
43

Dependen del tipo y modo de trabajo del sistema

44

Magnitudes que caracterizan la carga (II)

Para cada componente de la carga Tiempo de CPU por trabajo: tiempo total de CPU
necesario para ejecutar un trabajo; funcin del nmero y tipo de instrucciones, volumen de datos y velocidad del procesador

Magnitudes que caracterizan la carga (III)


Para cada componente de la carga

Nmero de operaciones de E/S por trabajo: nmero total de operaciones de E/S que requiere la

ejecucin de un trabajo (conviene desglosarlo segn el dispositivo, archivo etc. Utilizados)

necesita para su ejecucin (depende tambin de la gestin que el S.O haga de la memoria); no tiene por qu ser constante

Prioridad: asignada por el usuario a sus trabajos Memoria: cantidad total de memoria que un trabajo

aqullas que tienen una influencia directa en el tiempo necesario para realizar una operacin de E/S

Caractersticas de las operaciones de E/S por trabajo: tipo de soporte, posicin del archivo...Todas
45

Localidad de las referencias:

el tiempo en el que todas las referencias a memoria hechas por un trabajo se refieren a la misma pgina o conjunto de pginas
46

Magnitudes que caracterizan la carga (IV)


Para el conjunto de la carga

Magnitudes que caracterizan la carga (V)


Para cargas conversacionales

Tiempo entre llegadas: tiempo entre dos


requerimientos sucesivos del sistema para el mismo trabajo

Tiempo de reflexin de usuario:

tiempo que un usuario necesita para generar una nueva peticin al sistema: leer respuesta+pensar+teclear, ratn etc.)

Frecuencia de llegada:nmero medio de llegadas


de nuevas peticiones de ejecucin por unidad de tiempo (inversa del tiempo medio entre llegadas)

Nmero de usuarios simultneos: nmero de Intensidad del usuario:

Distribucin de trabajos: proporcin existente entre las ejecuciones de los distintos trabajos que constituyen la carga
47

usuarios interactivos que trabajan simultneamente sobre el mismo sistema en un instante dado

relacin entre el tiempo de respuesta de una peticin y el tiempo de reflexin del usuario
48

Magnitudes para controlar el comportamiento (I)


Magnitudes para controlar el comportamiento (II)


Ajuste de parmetros del S.O

Qu hacer cuando el comportamiento del sistema no es satisfactorio? Las modificaciones se pueden introducir en todos aquellos niveles que influyen en el comportamiento:
Ajuste de parmetros del sistema operativo Modificacin de las polticas (estrategias) de gestin del S.O Equilibrado de la distribucin de carga Modificacin o sustitucin de componentes HW del sistema Modificacin de programas

Lista de parmetros que pueden modificarse con facilidad y que que influyen en su rendimiento a) Tamao del quantum:
cantidad de tiempo de uso de la CPU sin interrupciones (en algunos sistemas diferentes para diferentes prioridades). Si quantum grande se favorece trabajos con alto uso CPU y si pequeo produce mucho overhead de E/S
50

49

Magnitudes para controlar el comportamiento (III)


Ajuste de parmetros del S.O
b)

Magnitudes para controlar el comportamiento (IV)


Ajuste de parmetros del S.O
d)

Prioridad interna: nivel inicial de cada programa en funcin de la prioridad externa Factor de multiprogramacin: nmero mximo de programas que estn simultneamente en memoria principal (con opcin a uso de CPU y dems recursos)

Tamao de la particin de memoria:

c)

cantidad fija de memoria principal asignada a una cola de trabajos (adecuarla al tamao de los programas y su frecuencia de uso)
e)

Tamao de la ventana: intervalo de tiempo durante el cual el sistema toma medidas para determinar el conjunto de trabajo de un programa en un entorno de memoria virtual paginada
52

51

Magnitudes para controlar el comportamiento (V)


Ajuste de parmetros del S.O
f.

Magnitudes para controlar el comportamiento (VI)


Modificacin de las polticas de gestin

Mxima frecuencia de fallo de pgina: la frecuencia mxima permitida; cuando se alcanza se realiza el swapping ndice de supervivencia de las pginas:
perodo que se permite a un programa mantener una pgina en memoria principal sin que haya sido referenciada

g.

h.

Nmero de usuarios:

el mximo admitido
53

Polticas de gestin de recursos de fbrica seleccionadas para atender a un usuario medio => no eficientes para algunos usuarios => sustitucin de la rutina encargada de gestionar un determinado recurso Riesgo de problemas hasta la total depuracin y puesta a punto de la nueva poltica
54

Magnitudes para controlar el comportamiento (VII)


Equilibrado de la distribucin de carga

Magnitudes para controlar el comportamiento (VIII)


Sustitucin o ampliacin de componentes

Utilizar los recursos del sistema de la forma ms uniforme posible Redisear asignacin de dispositivos si est muy desequilibrada Suelen verse unas mejoras espectaculares (si est bien hecho !)
55

Estudiar los componentes que hacen al sistema ineficiente Si no hay ms remedio ...

56

Sistemas de referencia

Tcnicas de evaluacin (I)


Se clasifican los distintos tipos de sistemas para poder tener unas referencias a la hora de comparar y evaluar mquinas, por ejemplo, grupos de ndices de rendimiento Tres grupos:
1. Por lotes (batch) 2. Interactivo 3. Transaccional
57

Mtodos + herramientas que permiten obtener los ndices de rendimiento de un sistema que est ejecutando una carga dada y con unos determinados parmetros del sistema (configuracin, tecnologa ...)
58

Tcnicas de evaluacin (II)


Coste y rendimiento (I)


Tres tipos:
1. Monitorizacin: HW, SW o mixtos; hacen un
seguimiento de lo que sucede en el sistema desde dentro; perturban el sistema est instalado; mtodos analticos de la Teora de colas o simulacin

2. Modelado: se utiliza cuando algn elemetno no

3. Benchmarking: se prueban con un prototipo de


la carga caracterstica; se miden tiempos; uso muy frecuente
59

Rendimiento prestaciones desempeo Rendimiento inversamente proporcional a tiempo de ejecucin Optimizar relacin prestaciones/coste => cuantificar costes y cantidad de mejora

60

Coste y rendimiento (II)


Coste y rendimiento (III)


Un par de definiciones:
rendimiento con la mejora rendimiento sin la mejora

En trminos porcentuales:

(Speedup)

Aceleracin = Siempre >1 Aceleracin =

aceleraci n = 1 +

n 100

Ejemplo:

Tiempo de ejecucin sin la mejora Tiempo de ejecucin con la mejora


61

acel =

Tx 36s = = 1,11 11% Ty 40s

ms rpido
62

Coste y rendimiento (IV)


Ley de AMDAHL (I)

Lo mismo se puede aplicar al coste Cx n Incremento = = 1+ Cy 100 Se puede por tanto comparar la relacin rendimiento/coste entre dos mquinas distintas o de una cierta mejora a una mquina

FAVORECER EL CASO MS FRECUENTE


D. Patterson, J.Hennesy Computer architecture - a quantitative approach Morgan Kaufman Pub. 2nd edition 1996

1 Tx Cx

1 Ty Cy
63 64

Ley de AMDAHL (II)


Ley de AMDAHL (III)


Es ms eficiente una mejora pequea en un elemento muy utilizado a una mejora muy buena en un elemento poco utilizado Hasta qu punto? Cunto mejora?

La aceleracin conseguida por la mejora de alguna parte de un sistema depende de dos factores:
1. La fraccin del sistema original que hace uso del elemento mejorado 2. La cantidad de mejora del elemento (aceleracin)

65

66

Ley de AMDAHL (IV)


Aceleracin global = 1 (1- fracc mejorada)+ fracc mejorada acel mejorado

El tiempo de ejecucin de la mquina mejorada ser:


El tiempo de ejecucin de la mquina cuando no utiliza el elemento mejorado

Ley de AMDAHL (V)


+

El tiempo de ejecucin de la mquina cuando utiliza el elemento mejorado


+ Telcon + Telsin acel mejorado

Ttotcon = Ttotsin * (1-fracc mejorada) Telsin = Ttotsin*fracc mejorada Ttotcon = Ttotsin * (1-fracc mejorada) Ttotsin

fracc mejorada acel mejorado

Acel = Tsin Tcon

Aceleracin global de un sistema con una determinada mejora en un elemento

Fraccin de tiempo que se utiliza el elemento mejorado

Aceleracin conseguida para el elemento mejorado aislado


67

Aceleracin =

fracc mejorada Ttotsin*( (1-fracc mejorada)+ ) acel mejorado

68

Ley de AMDAHL (VI)


Ley de AMDAHL (VII)


Ejemplos
Cual ser la mejora total de un sistema al que se le ha cambiado un elemento por otro 100 veces ms rpido pero que solo se utiliza el 10% del tiempo? Cual ser la mejora total de un sistema al que se le ha cambiado un elemento por otro 2 veces ms rpido pero que se utiliza el 80% del tiempo?

Limitacin en la cantidad de mejora


El incremento global de prestaciones est limitado por las operaciones no afectadas por la mejora (k
es la aceleracin de la parte mejorada)

1 lim A = k->

1-fracc mejorada

Fracc mejorada: 0,1 Acel mejorado: 100

10%
= 1,10987

Fracc mejorada: 0,8 Acel mejorado: 2

66%
= 1,66666
70

1-fracc mejorada es la parte no mejorada


69

Acel =

1 (1-0,1)+ 0,1 100

Acel =

1 (1-0,8)+ 0,8 2

Ley de AMDAHL (VIII)


Ejemplos

Ley de AMDAHL (IX) generalizacin


Un programa utiliza el procesador durante el 95% del tiempo; el resto del tiempo realiza operaciones de e/s Cul es la mxima aceleracin que se puede obtener mejorando el procesador? Hay mucha diferencia entre sustituir el procesador por otro 2 veces ms rpido o sustituirlo por otro 50 veces ms rpido?
71

Aceleracin global obtenida por la mejora de n recursos del sistema utilizados (en exclusiva) durante las fracciones respectivas fi y con aceleraciones de ki

1 (1

i =1

fi ) +

i =1

fi ki
72

You might also like