Capitulo 1: Introducción Sistemas Operativos Operating System Concepts – 9th Edit9on Silberschatz, Galvin and Gagne ©2013 ¿Qué es un Sistema Operativo? Un programa que funciona como intermediario entre el usuario de un sistema de computo y el Hardware del equipo. Objetivos de un Sistema Operativo: Ejecutar programas de usuario. Proporcionar soluciones fáciles a los usuarios. Hacer que el sistema de computo sea conveniente de usar. Utilizar el Hardware de la computadora de manera eficiente. Un Sistema Operativo se puede ver como un gobierno ya que por si mismo no realiza alguna función útil, pero proporciona un ambiente dentro del cual otros programas pueden realizar funciones útiles. Operating System Concepts – 9th Edition 1.2 Silberschatz, Galvin and Gagne ©2013 Estructura de un Sistema de Computo Un sistema de computo puede dividirse en cuatro componentes principales: Hardware – proporciona los recursos básicos de computo Sistema Operativo Controla y coordina el uso del Hardware entre varias aplicaciones y usuarios. Programas de Aplicación – Definen los métodos mediante los cuales los recursos del sistema son utilizados para resolver los problemas de computo de los usuarios. CPU, Memoria, Dispositivos de E/S Procesadores de texto, compiladores, navegadores web, sistemas de base de datos, video juegos. Usuarios Personas, computadoras. Operating System Concepts – 9th Edition 1.3 Silberschatz, Galvin and Gagne ©2013 Componentes de un Sistema de Computo Usuario 1 Compilador Usuario 2 Ensamblador Usuario 3 Editor de textos Usuario n Sistema de Base de datos Programas de Sistema y Aplicaciones Sistema Operativo Hardware del Sistema Operating System Concepts – 9th Edition 1.4 Silberschatz, Galvin and Gagne ©2013 Funciones de un Sistema Operativo Es más práctico definir un Sistema Operativo por lo que hace. El objetivo principal del Sistema Operativo debe ser la comodidad para el usuario y eficiencia en la ejecución Para el usuario no es importante la asignación de recursos El uso de recursos compartidos a través de un mainframe o servidor debe proporcionar suficientes recursos para todos los usuarios. Los usuarios de sistemas dedicados, tales como workstations tienen recursos dedicados pero frecuentemente utilizan recursos de servidores. Las computadoras personales son de recursos limitados, están diseñadas para optimizar el uso y la batería. Algunos equipos de computo tienen interfaces reducidas, o incluso no usan una interface, tales como computadoras integradas en dispositivos y/o automóviles. Operating System Concepts – 9th Edition 1.5 Silberschatz, Galvin and Gagne ©2013 Definición de un Sistema Operativo El SO es un asignador de recursos Administra todos los recursos Resuelve conflictos de requerimientos para dar un uso eficiente a los recursos El SO es un programa de control Controla la ejecución de los programas, para prevenir errores y uso incorrecto del sistema de computo. No hay una definición universal para un Sistema Operativo El programa que se ejecuta en todo momento en la computadora, es conocido como kernel. Cualquier otro programa es: Un programa de Sistema (nativo del Sistema operativo); o Un programa de Aplicación. Operating System Concepts – 9th Edition 1.6 Silberschatz, Galvin and Gagne ©2013 Arranque del Sistema El Programa “bootstrap” se carga al momento de encender o re-iniciar el equipo. Normalmente se almacena en una memoria ROM o EPROM, generalmente conocido como firmware. Inicializa todos los aspectos del sistema de computo. “Carga” el kernel del Sistema Operativo e inicia su ejecución. El sistema ejecuta el primer proceso, por ejemplo init, y queda en espera que suceda un evento (interrupción) El hardware puede activar una interrupción en cualquier momento a través del bus del sistema. El software puede activar una interrupción ejecutando una llamada a sistema Operating System Concepts – 9th Edition 1.7 Silberschatz, Galvin and Gagne ©2013 Organización de un Sistema de Computo Operación de un Sistema de computo. Uno o más CPUs y controladores de dispositivos conectados a través de un bus común que proporciona acceso a una memoria compartida. La ejecución concurrente para los CPUs y dispositivos compiten por ciclos de memoria. Operating System Concepts – 9th Edition 1.8 Silberschatz, Galvin and Gagne ©2013 Operación de un Sistema de Computo Los Dispositivos de E/S y el CPU se pueden ejecutar concurrentemente. Cada controlador de dispositivo esta a cargo de un tipo de dispositivo en particular. Cada controlador de dispositivo tiene un buffer local. El CPU transfiere los datos desde/hacia la memoria principal hacia/desde los buffers locales. La Entrada-Salida es desde el dispositivo al buffer local del controlador. El controlador del dispositivo informa al CPU que ha terminado sus operaciones causando una interrupción. Operating System Concepts – 9th Edition 1.9 Silberschatz, Galvin and Gagne ©2013 Funciones comunes de Interrupciones La interrupción transfiere el control a la rutina del servicio que hizo la interrupción, generalmente a través de un vector de interrupción, el cual contiene las direcciones de todos las rutinas de interrupción. La arquitectura de interrupciones debe guardar las direcciones de la instrucción que hizo la llamada. Una excepción es una interrupción generada por software causada por un error o una petición del usuario. Un Sistema Operativo es un manejador de interrupciones. Los sistemas operativos modernos son activados por interrupciones. Si no existen procesos por ejecutar, ni dispositivos de E/S que requieran servicio, ni usuarios a quienes responder, el Sistema estará en espera. Operating System Concepts – 9th Edition 1.10 Silberschatz, Galvin and Gagne ©2013 Línea de Tiempo para una Interrupción CPU Proceso de usuario ejecutándose Procesamiento de interrupciones de E/S Dispositivo de E/S Inactivo transfiriendo Solicitud de E/S Transferencia completada Solicitud de E/S Transferencia completada Diagrama de tiempo de interrupciones para un solo proceso que realiza operaciones de salida Operating System Concepts – 9th Edition 1.11 Silberschatz, Galvin and Gagne ©2013 Manejo de Interrupciones El sistema operativo “preserva” o guarda el estado del CPU guardando los registros y el contador del programa. Determina que tipo de interrupción ocurrió: Poleo “polling” Vector del sistema de interrupciones Separa segmentos de código que determinan cual acción debe ejecutarse para cada tipo de interrupción. Operating System Concepts – 9th Edition 1.12 Silberschatz, Galvin and Gagne ©2013 Estructura de E/S E/S Síncrona Después que se inicia la E/S, el control se regresa al programa del usuario, solo después de la terminación de una E/S. La instrucción wait pone en estado inactivo (idle) al CPU hasta la siguiente instrucción. El ciclo loop continua hasta que ocurre una interrupción, conteniendo el acceso a la memoria. Como máximo, una solicitud de E/S está pendiente a la vez, no hay procesamiento simultáneo de E/S E/S asíncrona Después que se inicia la E/S, el control se regresa al programa del usuario, sin esperar la terminación de la E/S. Llamada al sistema j-- Solicitud al sistema operativo para permitir al usuario esperar a que se complete la E/S. Tabla de estado de Dispositivos contiene una entrada de cada dispositivo de E/S indicando su tipo, dirección y estado. El Sistema Operativo indexa en la tabla de dispositivos de E/S para determinar el estado del dispositivo y modificar la entrada de la tabla para incluir la interrupción Operating System Concepts – 9th Edition 1.13 Silberschatz, Galvin and Gagne ©2013 Métodos de E/S Usuario Proceso solicitante en espera Usuario Proceso solicitante en espera Controlador de dispositivo Controlador de dispositivo Controlador de interrupciones Controlador de interrupciones Kernel Kernel Hardware Hardware Transferencia de datos Transferencia de datos Tiempo Tiempo E/S Síncrona Operating System Concepts – 9th Edition E/S asíncrona 1.14 Silberschatz, Galvin and Gagne ©2013 Sistemas por Lotes Operación desde una consola. Dispositivos de Entrada: Lectores de tarjetas, unidades de cinta. Dispositivos de Salida: Impresoras, unidades de cinta, perforadoras. No había interacción, el usuario preparaba el programa, datos (tarjetas) se entregaba al operador del equipo de computo. El procesamiento era variable, minutos, horas, días. El sistema operativo transfería el control de un trabajo al siguiente. El sistema operativo siempre estaba residente en memoria. Operating System Concepts – 9th Edition 1.15 Silberschatz, Galvin and Gagne ©2013 Sistemas por Lotes Los trabajos se agrupaban en grupos con requerimientos similares y se ejecutaban en Lotes. Diferencia de velocidad de transferencia entre dispositivos de E/S y CPU Planificación de trabajos. Acceso directo a varios trabajos en disco para usar los recursos y ejecutar más tareas eficientemente. La multiprogramación incrementa el uso de la CPU organizando los trabajos para que el CPU siempre este ocupado. En multiprogramación el sistema operativo debe tomar decisiones por el usuario. Operating System Concepts – 9th Edition 1.16 Silberschatz, Galvin and Gagne ©2013 Sistemas por Lotes Sistema Operativo Sistema Operativo Área de Programas del Usuario Área Trabajo de Programas 1 del Usuario Trabajo 2 Trabajo 3 Operating System Concepts – 9th Edition 1.17 Silberschatz, Galvin and Gagne ©2013 Sistemas de Tiempo Compartido El tiempo compartido (multitarea) se deriva de la multiprogramación. El CPU ejecuta múltiples trabajos conmutando entre ellos. El usuario puede interactuar en cada programa mientras esta en ejecución. Sistema de computo interactivo, a través de dispositivos de entrada el usuario da las instrucciones o comandos al sistema operativo. Tiempo de respuesta debe ser corto. Permite a varios usuarios compartir el sistema simultáneamente. Operating System Concepts – 9th Edition 1.18 Silberschatz, Galvin and Gagne ©2013 Sistemas de Tiempo Compartido Un Sistema Operativo de tiempo compartido hace uso de la planificación del CPU y la multiprogramación para proporcionar a cada usuario un pequeño tiempo de ejecución. Memoria Virtual. Los programas pueden ser mas grandes que la memoria física. Los sistemas de tiempo compartido proporcionan un mecanismo para la ejecución concurrente (planificación CPU). Comunicación entre procesos para evitar bloqueos mutuos. Complejos y costosos de construir. Operating System Concepts – 9th Edition 1.19 Silberschatz, Galvin and Gagne ©2013 Sistemas para computadoras personales No eran multiusuario, ni multitarea. Maximizar comodidad y grado de respuesta para el usuario. MS-DOS, Macintosh, Linux. Monousuario, el uso del CPU no es una preocupación principal. Protección de archivos. Incorporación de diseños para mainframes Operating System Concepts – 9th Edition 1.20 Silberschatz, Galvin and Gagne ©2013 Evolución de conceptos y características de los Sistemas Operativos 1950 mainframes 1960 MULTICS 1970 1980 Sistemas Distribuidos Tiempo compartido compiladores Sin software multiusuario Por lotes Multiprocesador Monitores residentes Tolerante a Fallas 1960 minicomputadoras Sin software 1970 Tiempo compartido 1980 1990 Multiprocesador Multiusuario Tolerante a Fallas 1970 microcomputadoras UNIX Compiladores Monitores residentes Operating System Concepts – 9th Edition 1990 1980 1990 Compiladores Sin Multiprocesador Interactivo software Monitores Multiusuario residentes 1.21 Silberschatz, Galvin and Gagne ©2013 Sistemas Paralelos Sistemas multiprocesador, compartir bus, reloj, memoria. Sistemas fuertemente acoplados. Mejorar el rendimiento. Confiabilidad, la falla de un procesador no compromete al sistema. Operating System Concepts – 9th Edition 1.22 Silberschatz, Galvin and Gagne ©2013 Sistemas Paralelos Degradación suave, los demás procesadores responden si uno de ellos falla (tolerantes a fallas) Los sistemas de procesadores múltiples usan el multiprocesamiento simétrico (SMP), cada procesador ejecuta una copia idéntica del sistema operativo. Encore (UNIIX) para Multimax. Emplea docenas de procesadores, ejecutando copias de UNIX Otros sistemas emplean el multiprocesamiento asimétrico, procesador tiene una tarea especifica, con un procesador maestro. cada Compartir dinámicamente procesos y recursos con la memoria entre diferentes procesadores. Operating System Concepts – 9th Edition 1.23 Silberschatz, Galvin and Gagne ©2013 TAREA Investigar características y ejemplos de : Sistemas Operativos de tiempo real Sistemas Operativos distribuidos. Escribir en Libreta de Apuntes. Operating System Concepts – 9th Edition 1.24 Silberschatz, Galvin and Gagne ©2013 Estructura de Almacenamiento Memoria Principal – medios de almacenamiento de gran tamaño que el CPU puede acceder directamente. Acceso aleatorio (RAM) Generalmente volátil Memoria Secundaria – es una extensión de la principal, que proporciona una capacidad de almacenamiento mas grande no volátil. Discos Duros – Discos rígidos de metal o de vidrio cubiertos con material de grabación magnético. La superficie de los discos esta dividida lógicamente en pistas, que a su vez están subdividos en sectores. El controlador de disco determina la interacción lógica entre el dispositivo y el CPU. Discos de estado-solido – Más rápidos que los discos duros, no volátiles. Fabricación a través de nuevas tecnologías En la actualidad son más usados. Operating System Concepts – 9th Edition 1.25 Silberschatz, Galvin and Gagne ©2013 Jerarquía de almacenamiento Los sistemas de almacenamiento están organizados por jerarquías: Velocidad Costo Volatilidad Almacenamiento en caché – Copiar información en un sistema de almacenamiento más rápido; la Memoria principal se puede ver como un caché para el almacenamiento secundario Controlador de dispositivo para administrar cada dispositivo de E/S Se obtiene una interface uniforme entre el controlador y el kernel del sistema. Operating System Concepts – 9th Edition 1.26 Silberschatz, Galvin and Gagne ©2013 Jerarquía de Dispositivos de almacenamiento Operating System Concepts – 9th Edition 1.27 Silberschatz, Galvin and Gagne ©2013 Almacenamiento en caché Es un importante principio, implementado en muchos niveles en un sistema de computo, (Hardware, Sistema Operativo, Software) La información en uso es copiada de un almacenamiento lento a un almacenamiento más rápido, en forma temporal. El almacenamiento rápido (cache) determina primero si tiene la información Si la tiene, la información se usa directamente del chache (más rápido) Si no, se copian los datos al cache, y se usan. El caché es más pequeño que el almacenamiento a ser guardado. El administrador del caché es un importante problema de diseño. Involucra Tamaño del caché y política de reemplazo. Operating System Concepts – 9th Edition 1.28 Silberschatz, Galvin and Gagne ©2013 Estructura de acceso directo a la memoria Se utiliza para dispositivos de E/S de alta velocidad capaces de transmitir información a velocidades cercanas a la memoria. El controlador de dispositivo transfiere los bloques de datos del almacenamiento de búfer directamente a la memoria principal sin intervención de la CPU. Sólo se genera una interrupción por bloque, en lugar de una interrupción por byte. Operating System Concepts – 9th Edition 1.29 Silberschatz, Galvin and Gagne ©2013 Arquitectura de una computadora moderna Una arquitectura de von Neumann Operating System Concepts – 9th Edition 1.30 Silberschatz, Galvin and Gagne ©2013 Arquitectura de Procesador La mayoría de los sistemas de computo utilizan un procesador de uso general. De igual forma varios sistemas tienen procesadores de uso especifico. Los sistemas de Multiprocesadores Han crecido en uso e importancia También conocidos como sistemas paralelos y/o Sistemas bien acoplados Sus ventajas incluyen: 1. Mayor rendimiento 2. Economía de escala 3. Mayor fiabilidad – La degradación es baja, y tiene mejor tolerancia a fallos. Existen dos tipos: – 1. Multiprocesamiento asimétrico asignado a una tarea especifica.. 2. Multiprocesamiento simétrico – Cada procesador realiza todas las tareas Operating System Concepts – 9th Edition 1.31 Cada procesador esta Silberschatz, Galvin and Gagne ©2013 Arquitectura de multiprocesamiento simétrico Registros Registros Registros Memoria Operating System Concepts – 9th Edition 1.32 Silberschatz, Galvin and Gagne ©2013 Diseño de doble núcleo Multi-chip y multicore Los sistemas contienen todo el chip El chasis contiene múltiples sistemas separados Registros Registros memoria Operating System Concepts – 9th Edition 1.33 Silberschatz, Galvin and Gagne ©2013 Sistemas agrupados (cluster) Mismo concepto que los sistemas de multiprocesadores. Varios sistemas trabajando juntos. Normalmente compartiendo almacenamiento a través de una red de área de almacenamiento (SAN) Proporciona un servicio de alta disponibilidad que sobrevive fallas. La agrupación asimétrica tiene una máquina en modo de espera activo ( hot-standby ) El agrupamiento simétrico tiene varios aplicaciones, supervisándose mutuamente. ejecutando Algunos clusters son para computación de alto rendimiento (HPC) nodos Las aplicaciones deben escribirse para usar la paralelización Algunos sistemas distribuyen un administrador de bloqueo (DLM) para evitar operaciones en conflicto Operating System Concepts – 9th Edition 1.34 Silberschatz, Galvin and Gagne ©2013 Sistemas agrupados (Clustered Systems) interconexión computadora interconexión computadora computadora Red de Área de Almacenamiento Operating System Concepts – 9th Edition 1.35 Silberschatz, Galvin and Gagne ©2013 Estructura de Sistema Operativo Multiprogramación (Sistema de Lotes). Requiere mucha eficiencia Un usuario no puede mantener al CPU y los dispositivos de E/S ocupados en todo momento. La Multiprogramación organiza trabajos (código y datos) para que el CPU siempre tenga algo que ejecutar. Un conjunto de trabajos, tareas, procesos del Sistema se mantienen en memoria. Un trabajo es seleccionada a través del Programador de tareas Cuando tiene que esperar (una E/S por ejemplo), el Sistema operativo cambia a otro trabajo, tarea, proceso. Tiempo compartido (Multitarea) es una extensión lógica en la cual el CPU cambia entre trabajos frecuentemente y así los usuarios pueden interactuar con cada trabajo/proceso cuando cada programa lo esta ejecutando, creando así el procesamiento interactivo Tiempo de respuesta < 1 seg. Cada usuario tiene por lo menos un programa en ejecución en la memoria proceso Si varios trabajos están listos para ejecutarse al mismo tiempo se usa programador de CPU, Si los procesos no caben en la memoria , se ejecuta el swapping. La memoria virtual permite la ejecución de procesos que no están en memoria por completo. Operating System Concepts – 9th Edition 1.36 Silberschatz, Galvin and Gagne ©2013 Operaciones del sistema operativo Manejador de Interrupciones (hardware y software) Interrupción de hardware por uno de los dispositivos Interrupción de software (excepción o interceptación) Error de Software (división por cero) Solicitud de servicio del sistema operativo Otros problemas de proceso incluyen bucle infinito, procesos que se modifican entre sí o del sistema operativo. Operating System Concepts – 9th Edition 1.37 Silberschatz, Galvin and Gagne ©2013 Administrador de Procesos Un proceso es un programa en ejecución. Es una unidad de trabajo dentro del sistema. El programa es una entidad pasiva El proceso es una entidad activa. El proceso necesita recursos para llevar a cabo su tarea CPU, memoria, E/S, archivos Información de Inicialización. La terminación del proceso significa la recuperación de cualquier recurso reutilizable. Operating System Concepts – 9th Edition 1.38 Silberschatz, Galvin and Gagne ©2013 Administrador de Procesos El proceso de un solo hilo tiene un contador de programa especificando la ubicación de la siguiente instrucción a ejecutar. El proceso ejecuta las instrucciones secuencialmente, una a la vez, hasta su finalización. Los procesos de múltiples hilos tiene un contador de programa por hilo. Normalmente, el sistema tiene muchos procesos, algunos de usuario, algunos del sistema operativo que se ejecutan simultáneamente en uno o varios CPUs La Concurrencia se logra multiplexando las CPU entre los procesos / subprocesos Operating System Concepts – 9th Edition 1.39 Silberschatz, Galvin and Gagne ©2013 Funciones del Administrador de Procesos El sistema operativo es responsable de las siguientes actividades relacionadas con la gestión de procesos: Crear y eliminar procesos de usuario y de sistema. Suspender y reanudar procesos. Proporcionar mecanismos (métodos y funciones) para sincronización de procesos. Proporcionar mecanismos (métodos y funciones) para comunicación de procesos. Proporcionar mecanismos (métodos y funciones) para administración de Interbloqueos de procesos. Operating System Concepts – 9th Edition 1.40 Silberschatz, Galvin and Gagne ©2013 Administrador de Memoria Para ejecutar un programa, todas (o parte) de las instrucciones deben estar en la memoria. Todos (o parte) de los datos que necesita el programa deben estar en la memoria. La gestión de la memoria determina qué hay en la memoria y cuándo. Optimización de la utilización de la CPU y respuesta de la computadora a los usuarios Operating System Concepts – 9th Edition 1.41 Silberschatz, Galvin and Gagne ©2013 Administrador de Memoria Funciones del Administrador de Memoria Seguimiento de las partes de la memoria que se están utilizando actualmente y por quién. Decidir qué procesos (o partes de los mismos) y los datos para moverse dentro y fuera de la memoria. Asignación y des-asignación de espacio de memoria según sea necesario Operating System Concepts – 9th Edition 1.42 Silberschatz, Galvin and Gagne ©2013 Administración de almacenamiento El SO proporciona una vista uniforme y lógica del almacenamiento de información Resume las propiedades físicas de la unidad de almacenamiento lógico (archivo) Cada medio es controlado por un dispositivo (unidad de disco, unidad USB) Las propiedades variables incluyen velocidad de acceso, capacidad, tasa de transferencia de datos, método de acceso (secuencial o aleatorio) Por lo general, los discos se utilizan para almacenar datos que no caben en la memoria principal o datos que deben mantenerse durante un período de tiempo "largo" Una gestión adecuada es de importancia central La velocidad del sistema de almacenamiento y sus algoritmos. Operating System Concepts – 9th Edition computo 1.43 depende del subsistema de Silberschatz, Galvin and Gagne ©2013 Administración de almacenamiento Administración del sistema de archivos Los Archivos normalmente están organizados en directorios Control de acceso en la mayoría de los sistemas para determinar quién puede acceder a qué. Las funciones del SO incluyen: Cear y eliminar archivos y directorios. Primitivas para manipular archivos y directorios. Asignación de archivos en el almacenamiento secundario. Archivos de copia de seguridad en medios de almacenamiento estables (no volátiles). Administrar espacio libre. Asignación de Almacenamiento. Programación de disco. Operating System Concepts – 9th Edition 1.44 Silberschatz, Galvin and Gagne ©2013 Gestión de almacenamiento masivo El almacenamiento no necesita ser rápido El almacenamiento terciario incluye almacenamiento óptico, cinta magnética Aún así, debe gestionarse - por sistema operativo o aplicaciones. Varía entre WORM (write-once, read-many-times) y RW (lectura-escritura) Rendimiento de varios niveles de almacenamiento Operating System Concepts – 9th Edition 1.45 Silberschatz, Galvin and Gagne ©2013 Subsistema de E / S Un propósito del SO es ocultar las peculiaridades de los dispositivos de hardware del usuario. El Subsistema de E/S es responsable de: Gestión de memoria de E/S incluyendo almacenamiento en memoria intermedia (almacenamiento de datos temporalmente mientras se está transfiriendo). Almacenamiento en caché (almacenamiento de partes de datos en un almacenamiento más rápido para el rendimiento), cola (la superposición de salida de un trabajo con la entrada de otros trabajos). Interfaz general del controlador del dispositivo Controladores para dispositivos de hardware específicos Operating System Concepts – 9th Edition 1.46 Silberschatz, Galvin and Gagne ©2013 Protección y Seguridad Protección - cualquier mecanismo para controlar el acceso de procesos o usuarios a recursos definidos por el sistema operativo. Seguridad - defensa del sistema contra ataques internos y externos. Amplia gama, incluyendo negación de servicio, gusanos, virus, robo de identidad, robo de servicio Los sistemas generalmente distinguen primero entre los usuarios, para determinar quién puede hacer qué. Las identidades de usuario (ID de usuario, ID de seguridad) incluyen nombre y número asociado, uno por usuario. ID de usuario asociado con todos los archivos, procesos de ese usuario para determinar el control de acceso. Identificador de grupo (ID de grupo) permite definir el conjunto de usuarios y controlar los accesos, también asociados con cada proceso, o archivo. La escalada de privilegios permite al usuario cambiar a un ID efectivo con más derechos. Operating System Concepts – 9th Edition 1.47 Silberschatz, Galvin and Gagne ©2013 Estructuras de Datos del Kernel Similares a las estructuras de datos de programación estándar Lista de enlaces individuales Lista doblemente enlazada Lista circular vinculada Operating System Concepts – 9th Edition 1.48 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Tradicionales Sistemas de computo individuales de uso general Los portales proporcionan acceso web a los sistemas internos Las computadoras de red (thin clients) son como terminales Web Interconexión de equipos móviles a través de redes inalámbricas Redes se vuelven omnipresentes - incluso los sistemas domésticos usan cortafuegos para proteger las computadoras domésticas de los ataques de Internet. Operating System Concepts – 9th Edition 1.49 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Móvil Smartphones portátiles, tabletas, etc. ¿Cuál es la diferencia funcional entre ellos y una computadora portátil "tradicional"? Función extra - más características del sistema operativo (GPS, giroscopio) Permite nuevos tipos de aplicaciones como la realidad aumentada Usa las redes de datos inalámbricas o celulares IEEE 802.11 para la conectividad. Los líderes son Apple iOS y Google Android Operating System Concepts – 9th Edition 1.50 Silberschatz, Galvin and Gagne ©2013 Ambientes de Computación - Distribuidos Computación distribuída. Colección de sistemas separados, posiblemente heterogéneos, conectados en red. La red es una vía de comunicaciones, TCP/IP es más común – Red de área local (LAN) – Red de área amplia (WAN) – Red de área metropolitana (MAN) – Área de trabajo personal (PAN) El sistema operativo de red proporciona funciones entre sistemas a través de la red Un Esquema de comunicación permite a los sistemas intercambiar mensajes. Ilusión de un sistema único Operating System Concepts – 9th Edition 1.51 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Cliente-Servidor Computación cliente-servidor. Terminales “tontas” intercambiadas por PCs inteligentes Muchos sistemas funcionando como servidores, responden las peticiones generadas por clientes El sistema Cliente-Servidor proporciona una interfaz con el cliente para solicitar servicios (base de datos) Sistema de servidor de archivos proporciona una interfaz para que los clientes almacenen y recuperen archivos Cliente de Cliente de Escritorio Escritorio Servidor RED Cliente de Portátil Cliente de Móvil Operating System Concepts – 9th Edition 1.52 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Peer-to-Peer Modelo de sistema distribuido. P2P no distingue clientes y servidores. Todos los nodos son considerados pares (puntos, nodos). Cada nodo actúa como cliente, servidor o ambos El nodo debe unirse a la red P2P Registra su servicio como servicio central de búsqueda en la red; o Transmite requerimientos de servicios y responde a otras peticiones de servicio mediante un protocolo Discovery. Los ejemplos incluyen Napster y Gnutella, voz sobre IP (VoIP) como Skype Operating System Concepts – 9th Edition 1.53 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Virtualización Permite que los sistemas operativos ejecuten aplicaciones dentro de otros sistemas operativos. Amplia y creciente industria La Emulación es utilizada cuando el tipo de CPU de origen es diferente del tipo de destino (PowerPC a Intel x86) Método generalmente más lento Cuando el lenguaje de la computadora no se compila a código nativo Interprete La Virtualización se usa en caso que el SO compilado nativamente para la CPU, este ejecutando sistemas operativos invitados también compilados nativamente. Considere VMware ejecutando invitados de WinXP, cada una de las aplicaciones en ejecución, todas en el sistema operativo WinXP nativo VMM (Virtual Machine Manager) proporciona servicios de virtualización Operating System Concepts – 9th Edition 1.54 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Virtualización procesos procesos procesos procesos Interface de Programa Manejador de Maquina Virtual Operating System Concepts – 9th Edition 1.55 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Virtualización Los casos de uso incluyen computadoras portátiles y equipos de escritorio que ejecutan múltiples sistemas operativos para exploración o compatibilidad. Ordenador portátil de Apple con Mac OS X como host, y Windows como invitado. Desarrollo de aplicaciones para sistemas operativos múltiples sin tener múltiples sistemas. Aplicaciones de control de calidad sin tener múltiples sistemas. Ejecutar y administrar entornos de computación en centros de datos. VMM puede ejecutarse de forma nativa, en cuyo caso también es el host No hay un host de uso general (VMware ESX y Citrix XenServer) Operating System Concepts – 9th Edition 1.56 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Cloud Computing Proporciona computación, almacenamiento e incluso aplicaciones como servicio a través de una red. Extensión lógica de la virtualización porque utiliza la virtualización como base para su funcionalidad. Amazon EC2 tiene miles de servidores, millones de máquinas virtuales, petabytes de almacenamiento disponibles a través de Internet, pago basado en el uso. Operating System Concepts – 9th Edition 1.57 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Cloud Computing Tipos de Cloud Nube pública - disponible a través de Internet a cualquier persona dispuesta a pagar.(Google Drive, OneDrive) Nube privada - administrada por una empresa para uso propio de la empresa. Nube híbrida - incluye componentes de nube públicos y privados. Operating System Concepts – 9th Edition 1.58 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Cloud Computing Servicios de Cloud Software de Servicio (SaaS) - una o más aplicaciones disponibles a través de Internet (p.ej., procesador de textos). Plataforma de Servicio (PaaS) - pila de software lista para el uso de la aplicación a través de Internet (servidor de base de datos) Infraestructura de Servicio (IaaS): servidores o almacenamiento disponibles a través de Internet (almacenamiento disponible para uso de copia de seguridad) Operating System Concepts – 9th Edition 1.59 Silberschatz, Galvin and Gagne ©2013 Entornos informáticos - Cloud Computing Los Entornos de cloud computing están compuestos de sistemas operativos tradicionales, además de VMM, y de herramientas de gestión de la nube. La conectividad a Internet requiere seguridad como firewalls Los equilibradores de carga distribuyen el tráfico entre múltiples aplicaciones Operating System Concepts – 9th Edition 1.60 Silberschatz, Galvin and Gagne ©2013 Cloud Computing Operating System Concepts – 9th Edition 1.61 Silberschatz, Galvin and Gagne ©2013 Sistemas operativos de código abierto Los sistemas operativos se ponen a disposición en formato de código fuente en lugar de sólo fuentes binarias cerradas Iniciado por Free Software Foundation (FSF), que tiene "copyleft" GNU Public License (GPL) Algunos ejemplos son GNU / Linux y BSD UNIX (incluido el núcleo de Mac OS X), y muchos más. Puede utilizar VMM como VMware Player (Libre en Windows), Virtualbox (de código abierto y libre en muchas plataformas - http://www.virtualbox.com) Se utiliza para ejecutar sistemas operativos invitados para exploración Operating System Concepts – 9th Edition 1.62 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edit9on Silberschatz, Galvin and Gagne ©2013