Para la CT Mover malloc, sbrk a la primera parte

Slides:



Advertisements
Presentaciones similares
Capitulo 7: Procesamiento batch y el Job Entry Subsystem (JES)
Advertisements

Introducción a NTFS.
Virtualización.
Sistema operativo Componentes de un sistema operativo
Planificador de Procesos
CLASE 3 SOFTWARE DEL MICROPROCESADOR
SISTEMAS OPERATIVOS.
Virtual PC.
INTRODUCCIÓN A JAVA.
Tema 1 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto
TEMA 2: «CONFIGURACIÓN DE MÁQUINAS VIRTUALES»
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
INICIALIZACION Y APAGADO
Introducción a los Sistemas Operativos Memoria Virtual
INTRODUCCIÓN A LA PROGRAMACIÓN
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
Es un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de.
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Teoría de Sistemas Operativos
Administración del Procesador
Direcciones físicas y direcciones virtuales (lógicas)
Introducción a los SSOO Sebastián Sánchez Prieto.
Tema 10: Gestión de Memoria
Administración de memoria
PARTICIÓN DE DISCOS - HERRAMIENTAS
Sebastián Sánchez Prieto
Administración de Memoria Memoria Virtual
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Definición “ Un Sistema Operativo es un programa que actúa como interfaz entre el usuario y el hardware de un computador. Su propósito es proporcionar.
EL SISTEMA OPERATIVO.
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Introducción a los Sistemas Operativos
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
COMPONENTES DEL SISTEMA OPERATIVO.
Memoria virtual.
Los Sistemas de Archivos
VI. Administración de Dispositivos (2)
Gestión de Memoria.
UNIVERSIDAD LATINA. I. TEORIA DE SISTEMAS OPERATIVOS.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
EVOLUCIÓN DE LOS PROGRAMAS DE MANTENIMIENTO DE MS-DOS A WINDOWS VISTA JUAN ESTEBAN SANCHEZ DE LA TORRE ADRIAN CASTELLO GIMENO.
S.O. WINDOWS SERVER 2003.
Disco duro (HDD).
Un ordenador no puede funcionar sin sistema operativo.
Gestión de Memoria.
INTRODUCCION A SISTEMAS OPERATIVOS
María José Freire Mayra Coello Juan Francisco Pérez
Teoría de Sistemas Operativos Sistemas distribuidos.
VIRTUALIZACIÓN.
Unidad 2 – Gestión de Procesos
Instituto Tecnológico de las Américas (ITLA)
Naime Cecilia del Toro Alvarez
Sistemas operativos Presentado por: Juan Carlos Loaiza UNIVERSIADAD CATOLICA DE MANIZALES.
Servidores. ¿Qué es un servidor? Servidor de Aplicación Servidor de impresión Servidor de base de datos Servidor de correo Servidor de Internet Servidor.
Elementos y tipos de sistemas operativos
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
ESTACIONES DE TRABAJO..
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
CAPITULO III El Sistema Operativo (OS)
Sistema de Gestión de Archivos FUNDAMENTOS TEORICOS Ing. Jorge Gutiérrez D Universidad Nacional de Colombia Catedrático - I Sem 2009
Gestión de Memoria – Parte 2
Módulo 4: Administrar el acceso a recursos
1.El softwareEl software 2.Licencias de softwareLicencias de software 3.Sistemas operativos actualesSistemas operativos actuales 4.VirtualizaciónVirtualización.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
Transcripción de la presentación:

Para la CT Mover malloc, sbrk a la primera parte Hacer dibujo de N procesos en memoria 1 en CPU

PLANIFICACIÓn DE PROCESOS

Diferentes sistemas/entornos Dependiendo de la arquitectura tenemos diferentes configuraciones, políticas, etc Ordenadores “personales” Clusters de SMP’s Supercomputadores Portátiles Sistemas multimedia Moviles (empotrados) Sistemas con políticas Real-time (incluidos multimedia) En el T5 yo menciono el cloud computing…pero veo que tú no lo mencionas…qué prefieres lo quito yo y me limito a los que tú indicas (yo ya comento real-time) o también lo incuyes tú como un entorno adicional? Como está de actualidad, creo que sería bueno mantenerlo, pero como prefieras

Supercomputadores Barcelona Supercomputing Center (MareNostrum) Cada Blade tiene: 2 procesadores a 2.3GHz, ejecutando Linux.

Supercomputadores Requerimientos: Es un sistema de High Performance Computing (HPC) Muchos usuarios Muchos trabajos enviados a ejecutar Ejecución interactiva : Para desarrollar código pero no es la misión principal de un Supercomputador Ejecución Batch (la mayoría) Aplicaciones paralelas (sinó para que 10K procesadores?). En estos entornos se llaman trabajos o jobs. Cada nodo es un SMP de 4 CPUS Mucha comunicación por red Altos requerimientos de red. El objetivo del sistema es: Maximizar el uso de la máquina Ejecutar las aplicaciones lo más rápido posible Como no son interactivas, el tiempo de respuesta no es lo importante

Configuración Varios niveles de planificación y software de gestión muy avanzado Se reservan algunos nodos para el trabajo interactivo. El resto de la máquina se gestiona con un gestor de colas: MOAB : Software de gestión de colas. Gestiona diferentes colas a las que se asignan recursos (máximo tiempo de ejecución, máximo número de procesos), etc. Implementa una política que es una variante de FCFS. Los jobs piden directamente lo que necesitan y se les asigna lo que piden. Es un software de sistema pero está por encima del sistema operativo. SLURM: Gestor de recursos. Crea los procesos y se encarga de monitorizarlos. Es un software de sistema pero está por encima del sistema operativo. Linux: en cada nodo hay una instancia de Linux normal. Se intenta minimizar los cambios de contexto para que las aplicaciones vayan lo más rápido posible

Sistemas Real Time ¿Que es Real Time? Un sistema Real –Time garantiza que los resultados se producen en un plazo determinado Que se cumplan o no los plazos puede ser más o menos grave dependiendo del sistema Real-Time críticos: Resultados catastróficos si no se cumplen los plazos. Entornos industriales. Entornos Hard/Softt real-time. El sistema garantiza los plazos o simplemente prioriza las tareas real-time Características de estos sistemas, típicamente son para sistemas dedicados, con requerimientos muy claros de tiempo, se suelen implementar en dispositivos pequeños, como embeded. Que ofrece un kernel real-time No suele servir para entornos típicos de PC de sobremesa Suelen ser muy específicos No requieren interacción con el usuario Requieren información detallada de tiempos de los procesos No están pensados para interactuar con los dispositivos que hay en los PC’s

Sistemas real-time Las tareas (procesos) están perfectamente descritas mediante: Un periodo: son repetitivas Un plazo(deadline): han de ejecutarse antes de … Un tiempo de ejecución Las diferentes políticas son más o menos seguras y intentan ( o garantizan) los plazos. El conjunto de tareas suele ser conocido “a priori” Los sistemas calculan si los plazos puede o no ser garantizados dados un conjunto de tareas El API de Pthreads ofrece funciones para gestionar threads real-time Ofrece dos clases de threads SCHED_FIFO: Se sigue una política FCFS. No hay cambios de contexto para threads con la misma prioridad SCHED_RR . Como la anterior pero con RoundRobin para threads de la misma prioridad

Entornos basados en virtualización GESTión de memoria

Entornos basados en virtualización(I) Técnica que permite ocultar los recursos físicos del software que los están usando Máquina virtual Contenedor software que puede correr su propio sistema operativo (guest OS) y aplicaciones como si fuera una máquina física Aísla el software que ejecuta del resto de software que se está ejecutándo en la misma máquina física Posibles operaciones sobre una máquina virtual: encender, parar, suspender, migrar, modificar recursos asignados… Virtual Machine Monitor (VMM) o Hypervisor gestiona el reparto de recursos entre máquinas virtuales

Entornos basados en virtualización(II) Apl.1 Apl. 2 Apl.3 Guest OS Guest OS Máquina Virtual Máquina Virtual CPU Mem CPU Mem VMM Máquina Física CPU Memoria Física

Entornos basados en virtualización (III) Facilita Compartición de máquina física garantizando seguridad y fiabilidad Consolidación de recursos: ahorro energético y maximización de la utilización de la máquina Administración del entorno de ejecución de cada aplicación Adaptado a las necesidades de la aplicación Uniformiza la visión de los recursos físicos Facilita reproducir el entorno de ejecución en cualquier plataforma física Cloud computing

Entornos basados en virtualización (IV) Algunos tipos de virtualización Emulación Hardware Interpreta cada instrucción de lenguaje máquina Se utiliza en el desarrollo de sistemas Ejecución lenta Ejemplo: Bochs Paravirtualization guest OS modificado para interactuar con el VMM Mejora rendimiento Ejemplo: xen Full virtualization o virtualización nativa guest OS no necesita ninguna modificación VMM intercepta código cuando es necesario Ejemplo: vmware

Entornos basados en virtualización (V) Traducción de direcciones Nuevo nivel de direcciones Dirección de máquina: dirección física real Dirección física: abstracción que representa las direcciones físicas de la máquina virtual Dirección lógica: direcciones referenciadas por los programas Guest OS mantiene relación entre direcciones físicas y direcciones lógicas y VMM mantiene en la MMU la relación entre direcciones de máquina y direcciones físicas VMM gestiona las modificaciones de la MMU Interceptando el código del guest OS (full virtualization) o cooperando con él (paravirtualization)

Entornos basados en virtualización (VI) Protección de acceso entre máquinas virtuales VMM la garantiza Asigna marcos (direcciones de máquina) a cada máquina virtual Sólo él puede modificar la MMU Reemplazo de memoria VMM puede necesitar reclamar memoria de las VM si se ha sobredimensionado la memoria física asignada a cada una Guest OS es el que realmente sabe la memoria usada por cada aplicación Técnica de ballooning Cargar un módulo en el guest OS que consuma memoria forzando a que se ejecute el algoritmo de reemplazo del guest Direcciones de máquina asociadas a las direcciones físicas liberadas son las que el VMM reclamará

Gestión entrada/salida

Gestió de l’energia (1) Un PC actual consumeix uns 200 watts d’energia Amb una eficiència del 85%: el 15% es perd en calor Es calcula que hi ha constantment uns 100 milions d’ordinadors funcionant 20.000 megawatts (equivalent a unes 20 centrals nuclears) Els principals consumidors d’energia són: pantalla, disc dur i CPU Aprox: 60%, 15-20% i 10-15% respectivament Aspectes hardware Bateries dels portàtils: tipus, consum, duració, contaminació CPU, memòria i perifèrics amb diferents modes de treball: en marxa, inactius i apagats La primera computadora, l’ENIAC, tenia 18.000 tubs de buit i consumia 140.000 watts de potència. Amb l’aparició dels transistors, el consum va baixar dràsticament (200 watts un PC actual) i, per tant, el consum energètic va deixar de ser prioritari. Però el nombre de computadores que constantment hi ha en funcionament és enorme. Es calcula que uns 100 milions simultàniament: això representa un consum d’uns 20.000 megawatts! (equival a unes 20 centrals nuclears de tamany mitjà). La reducció del consum es pot fer des de dos perspectives: hardware i software, i sovint amb la cooperació dels dos nivells: el hardware proporciona diferents modes de treball per a què el software en tregui profit. En referència al hardware, es treballa en millorar les prestacions de les bateries en aspectes com: tecnologia de fabricació, cost i temps de càrrega, si cal que estigui descarregada abans de fer una nova càrrega, temps de vida de la bateria, i contaminació un cop es deixa de fer servir. Per altra banda, es treballa en proporcionar components i dispositius amb diferents modes de treball: en funcionament, inactius (per poc temps), en hibernació (per més temps) o apagats. En aquest cas hi ha un compromís entre reduir el consum i temps que es tarda en restablir el funcionament del dispositiu. És responsabilitat del sistema operatiu fer-ne un bon ús d’aquestes característiques.

Gestió de l’energia (2) El principal responsable d’implementar polítiques de reducció del consum energètic és el sistema operatiu Tot i que les aplicacions també es poden programar segons models d’execució de menor consum Dues estratègies, a nivell de sistema operatiu: Apagar components del sistema: principalment perifèrics Degradar la qualitat del servei que rep un procés Addicionalment, es pot dissenyar una interfície que permeti la cooperació entre el sistema operatiu i les aplicacions d’usuari El sistema informa sobre l’estat dels dispositius i l’aplicació utilitza aquesta informació per realitzar unes tasques o unes altres Tot i que les aplicacions també es poden escriure de manera que minimitzi el consum energètic (no és objectiu d’aquesta assignatura revisar els models), el sistema operatiu té més capacitat d’influència, ja que aquest administra els recursos i els serveis per a TOTES les aplicacions. En aquest cas, el repte és implementar polítiques que detectin a temps que es deixa d’usar un cert component del sistema i desactivar-lo: cal balancejar l’estalvi en apagar un component i el cost de tornar a posar-lo en marxa. En qualsevol cas, les estratègies d’estalvi energètic són, sovint, a cost de perdre qualitat de servei: temps d’espera per reactivar un dispositiu, baixa velocitat, pèrdua de qualitat d’imatge, … Finalment, es pot dissenyar una interfície que permeti coordinar el sistema operatiu i l’aplicació d’usuari: el sistema operatiu proporciona informació sobre l’estat dels dispositius i les aplicacions utilitzen aquesta informació per realitzar certes tasques en un moment o altre.

Gestió de l’energia. Exemples (3) Pantalla Apagat automàtic, que habitualment es deixa que ho configuri l’usuari; el reactivat és quasi instantani Il·luminat de zona parcial de la pantalla, la que ocupi la finestra activa Disc dur Cal mantenir-lo constantment girant a alta velocitat: cost energètic! Es pot parar, però el cost de reactivar-lo és elevat en quant a temps i consum energètic Cal implementar una molt bona política de predicció d’ús Es pot complementar l’optimització mitjançant una bona cache de disc i mitjançant les escriptures retardades Cooperació sistema-aplicació: En programes tipus processador de texts es pot configurar que es salvi el document periòdicament però preferiblement en moments en els quals el disc estigui en estat actiu

Gestió de l’energia. Exemples (4) CPU La CPU dels portàtils es pot posar en estat inactiu mitjançant software, i es torna a activar mitjançant una interrupció La CPU pot reduir la velocitat a la meitat, reduint el consum en ¾ parts Cal implementar polítiques de predicció de manera que el sistema configuri adequadament el mode de treball de al CPU Altres components Memòria: Buidar la cache i desactivar-la temporalment, o copiar-la completament a disc en estat d’hibernació La comunicació inalàmbrica consumeix molta energia, però si es desconnecta es perdria la informació: modificar el router per a què guardi la informació en un buffer i s’esperi a que es connecti la WiFI Quan puja la temperatura, valorar si posar en marxa el ventilador o posar els components en mode de baix consum

NTFS – New Technology File System Sistema de Ficheros creado por Microsoft (Windows NT) Basado en: HPFS (High Performance File System)  IBM/Microsoft OS/2 HFS (Hierarchical File System)  Mac OS Disco dividido en CLUSTERS Un cluster contiene varios sectores Disco de más de 4GB: 1 cluster = 16 sectores En NTFS todo son ficheros Formato:

NTFS: Partition Boot Sector 16 sectores reservados al principio de la partición

NTFS: Master File Table Master File Table (MFT) Una parte de los metadatos (system files) de una partición NTFS Almacena una lista de RECORDS que contienen ATRIBUTOS Espacio reservado: MTF-zone 12% del espacio del disco duro Se incrementa y se reduce de forma dinámica Crecer: doblar el espacio actual Reducir: mitad del espacio actual

NTFS: Records & Atributos Estructura que guarda información de un fichero agrupando atributos Normalmente relación 1 record por fichero A veces se necesitan más records por fichero Atributos Información relacionada a un fichero Desde bits (ej: permisos de lectura/escritura) hasta exabytes (ej: video) No hay distinción entre los datos de un fichero y los atributos que lo describen

NTFS: Records & Atributos 2 clases de records: Dependen del tamaño del fichero a que referencia: Si el fichero < 1500 bytes Record con atributos residentes Incluyen los datos del fichero Optimizan el acceso a disco Si el fichero > 1500 bytes Record con atributos de datos NO residentes Record con índices índices que apuntan a bloques de información Si hay tantos índices que no caben en un record de la MFT, se utiliza un puntero a otro record de la MFT que contendrá índices

NTFS: System Files (metadatos) Los 16 primeros RECORDS de la MFT están reservados para metadatos Del 0 al 10: $MFT: puntero a MFT $MFTmirr: copia del MFT $LogFile: fichero de journaling $Volume: Información sobre el volumen $AttrDef: listado de atributos del volumen $.: Directorio raiz $Bitmap: Bitmap del espacio libre $Boot: Sector de boot $BadClus: lista de clusters con errores $Secure: base de datos de ACLs $Upcase: Relación entre ficheros con nombre en mayúsculas y minúsculas $Extend: Extensión de la información Del 11 al 15 para futuros metadatos

NTFS: Visión de una Partición Ejemplo de una partición Ejemplo de una MFT

NTFS: Ficheros Dispersos Ahorra espacio en disco No se almacenan en el disco las largas cadenas de ceros Existe un atributo en el record que indica si el fichero es disperso NTFS detecta si el acceso al fichero coincide con una cadena de ceros

NTFS: Journaling Transacciones almacenadas en $LogFile Tamaño de 2 MB a 4 MB Una vez la transacción se ha finalizado, se elimina del $LogFile Cada 5 segundos se estudia el $LogFile para llevar a disco y eliminar transacciones

NTFS: Encriptación A nivel de fichero y transparente al usuario Servicio de W2K – Encrypted File System (EFS) API: EncryptFile DecryptFile Algoritmo: RSA

NTFS: Compresión El usuario puede activar la compresión de ficheros/directorios/disco A partir de ese momento se comprime (modificar) descomprime (acceder) automáticamente Transparente al usuario Cada fichero es comprimido en grupos de 16 clusters Cada grupo se comprime/descomprime de forma aislada de los demás (son independentes) Limitado a clusters de hasta 4KB

NTFS: Alternate Data Streams Alternate Data Streams (ADS) Conjuntos de datos alternativos que se organizan en streams adicionales al conjunto de datos que componen un fichero Ej: Resumen de propiedades de un fichero mp3 (autor, nombre, etc) Destinado para… Actuar como servidor de ficheros para clientes Mac Resumen de propiedades/características del fichero Rastreo de volúmenes Originalmente implementado para compatibilidad con Mac OS Peligro de uso incorrecto para atacar sistemas Se pueden insertar datos sin que sean visibles en el fichero de forma directa Ej: un fichero de texto (.txt) que sólo contiene 10 bytes de texto, pero además tiene un ADS que contiene un ejecutable de 20 Megas El SO sólo mostraría los 10 bytes de texto, pero podría llegar a ejecutar el contenido del ADS Solucionado en la versión de NTFS de Windows 7

SF Distribuidos Network File System Orientado hacia… Implementación y especificación de un sistema software para acceder a sistemas de ficheros remotos mediante LAN/WAN Desarrollado inicialmente por Sun (Solaris & SunOS) Permite compartir sistemas de ficheros independientes entre distintas máquinas de forma transparente Un directorio remoto se monta en un directorio del SF local Se tiene que proporcionar el nombre del host de la máquina remota para poder montar el SF Aparte de limitaciones por protección, cualquier SF (o directorio de ese SF) de una máquina remota puede ser montado en una máquina local Orientado hacia… Cloud Computing & large scale distributed systems (Ej: Google, Yahoo, Facebook) Google File System Hadoop Distributed File System

SF en máquinas de tiempo real Limitación de tiempo para transferencias a “disco” El uso de otros dispositivos (memorias flash) que se manejan como “discos” pueden influir en la limitación temporal