Sistemas Operativos II MC. Daniel Fajardo Delgado INSTITUTO TECNOLÓGICO DE CD. GUZMÁN 24 de Abril de 2004.

Slides:



Advertisements
Presentaciones similares
VI Unidad. Sistema Operativo
Advertisements

Hardware y Software de servidor
MAC OS.... CONCEPTOS GENERALES
COLEGIO UNIVERSITARIO DE ADMINISTRACION Y MERCADEO
Tipos de sistemas operativos
SISTEMAS OPERATIVOS Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas de usuario.
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Virtual PC.
Estructura de un Sistema Operativo
TEMA 2: «CONFIGURACIÓN DE MÁQUINAS VIRTUALES»
Término que se le da al conjunto de equipos de cómputo que se encuentran conectados entre si por medio de dispositivos físicos que envían y reciben -
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Estructuras en Sistemas Operativos
 Una red de computadoras es un conjunto de conexiones físicas y programas de protocolo, empleados para conectar dos o más computadoras.  Aunque hace.
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS (SO)
HERRAMIENTAS INFORMATICAS
Mejoras a las Máquinas Von Neumann
SISTEMAS OPERATIVOS.
ELEMENTOS DE UNA RED ( Parte I)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
CLASIFICACIÓN DEL SISTEMA OPERATIVO POR APLICACIÓN
Tema 10: Gestión de Memoria
Hilos - Lightweight process - Procesos ligeros
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
Unidad 6 (1ª parte) TEORÍA DE SSOO MANTENIMIENTO.
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
SISTEMAS OPERATIVOS →¿Qué es un sistema operativo?
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
EL SISTEMA OPERATIVO.
Hilos En La Computación. (THREADS).
Características de un sistema operativo
Introducción a los Sistemas Operativos
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Una computadora MIMD intrínseca implica interacciones entre n procesadores debido a que todos los flujos de memoria se derivan del mismo espacio de datos.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Telecomunicaciones y Trabajo Distribuido. Sistema Distribuido Recursos Servidor Red Servidor Nodo ANodo C Nodo B.
Introducción a los Sistemas Operativos
COLEGIO DE CIENCIAS Y HUMANIDADES PLANTEL NAUCALPAN
SISTEMAS OPERATIVOS 1.4 CLASIFICACIÓN DE LOS S.O
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.
Sistemas Distribuidos
1.1 Silberschatz, Galvin y Gagne ©2002 Sistems Operativos – 6ta. Edición Capítulo 1: Introducción ¿Qué es un sistema operativo? Sistemas Operativos por.
1 Ana Mercedes Cáceres Instructor: Raúl Aguilar Año 2006 [Parte I ]
Estructura de los Sistemas Operativos
Sistemas Operativos.
INTRODUCCION A SISTEMAS OPERATIVOS
María José Freire Mayra Coello Juan Francisco Pérez
FLOR ALBA ACEVEDO COD JENNIFFER TATIANA TORRES COD
Unidad 2 – Gestión de Procesos
Sistemas Operativos.
Hilos Capítulo 5 Silberschatz Galvin. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered.
S.o de red. Introducción a los Sistemas Operativos de Red Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede.
Sistemas Operativos De Red
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
Cliente-Servidor La arquitectura cliente-servidor permite al usuario en una máquina, llamada el cliente, requerir algún tipo de servicio de una máquina.
Elementos y tipos de sistemas operativos
SISTEMAS OPERATIVOS Son un conjunto de programas destinados a permitir la comunicación entre el usuario y en computador y gestionar sus recursos.
Funciones principales!
INTRODUCCIÓN A LAS REDES DE COMPUTADORAS. ·
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
TECNICO EN SISTEMAS NUMERO DE FICHA:
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads.
CAPITULO III El Sistema Operativo (OS)
Threads Introducción Modelos Multi-Threading Problemas con Threads Pthreads Threads en Solaris 2 Threads en Windows 2000 Threads en Linux Threads en Java.
Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO.
Transcripción de la presentación:

Sistemas Operativos II MC. Daniel Fajardo Delgado INSTITUTO TECNOLÓGICO DE CD. GUZMÁN 24 de Abril de 2004

Los SO optan por maximizar la comodidad y grado de respuesta para el usuario, en lugar de maximizar la utilización de la CPU y dispositivos periféricos... Las características de UNIX se convirtieron en la base para los SO parecidos a UNIX para microcomputadoras, y están siendo incluidos en SO más recientes como Windows NT, OS/2 de IBM, y el SO Macintosh.

SISTEMAS PARALELOS La mayoría de los sistemas de hoy en día son sistemas de un sólo procesador. Sin embargo, Existen una tendencia hacia los sistemas multiprocesadores. Tales sistemas tienen más de un procesador en estrecha comunicación, compartiendo el bus de la computadora, el reloj y en ocasiones la memoria y dispositivos periféricos. Estos sistemas se conocen como sistemas fuertemente acoplados. Una ventaja de este tipo de sistemas, es un mayor rendimiento. Al incrementar el número de procesadores, se busca realizar más trabajo en menos tiempo.

Otra razón para los sistemas multiprocesadores es que incrementan la confiabilidad. Si las funciones se pueden distribuir adecuadamente entre varios procesadores, entonces la falla de un procesador no detendrá al sistema, sólo lo hará más lento. Esta capacidad de continuar proporcionando servicio de manera proporcional al nivel de hardware que sigue activo se conoce como degradación suave. Los sistemas que se diseñan para esta degradación también se conocen como tolerantes a fallas. Los sistemas de procesadores múltiples más comunes utilizan el multiprocesamiento simétrico, en el que cada procesador ejecuta una copia idéntica del SO, y estas se comunican entre ellas según sea necesario.

El multiprocesamiento asimétrico es en el que a cada procesador se le asigna una tarea específica. Un procesador maestro controla el sistema; el otro procesador solicita instrucciones al maestro para recibir instrucciones o tiene tareas definidas previamente -> Esquema de maestro-esclavo. En el multiprocesamiento simétrico (symmetric multiprocessing, SMP) todos los procesadores están al mismo nivel; no existe una relación maestro-esclavo entre ellos. SMP ~> Encore de UNIX para la computadora Multimax Virtualmente todos los SO modernos -incluyendo Windows NT, Solaris, Digital UNIX, OS/2 y Linux- ofrecen soporte para el SMP SunOS Versión 4 de Sun proportciona multiprocesamiento asimétrico, en tanto que la versión 5 (Solaris 2) es simétrica en el mismo hardware.

SISTEMA OPERATIVO EN RED Es un SO que proporciona características como la compartición de archivos en la red, y que incluye un esquema de comunicación que permite que procesos diferentes en computadoras diferentes intercambien mensajes. Una computadora ejecutando un SO de red actúa de manera autónoma con respecto a todas las demás computadoras de la red, aunque tiene presente su participación en dicha red y es capaz de comunicarse con otras computadoras conectadas. ~> Novell Netware

SISTEMAS DISTRIBUIDOS En contraste con los sistemas fuertemente acoplados, las redes de computadoras usadas en este tipo de aplicaciones está compuesta de un conjunto de procesadores que no comparten memoria o un reloj. En un sistema distribuido cada procesador tiene su propia memoria local. Los procesadores se comunican entre ellos mediante varias líneas de comunicación, como buses de alta velocidad o líneas telefónicas. Estos sistemas generalmente se conocen como débilmente acoplados. Un SO distribuido es un ambiente no tan autónomo (no tanto como un SO de red); los diferentes SO se comunican de manera suficientemente estrecha para dar la ilusión de que hay un sólo SO controlando a la red.

Desde un punto de vista de procesador específico en un sistema distribuido el resto de los procesadores y sus respectivos recursos son remotos, en tanto que sus propios recursos son locales. La designación sitio se utiliza principalmente para indicar la ubicación de una máquina, y anfitrión para referirse a un sistema específico en un sitio. En general, un anfitrión en un sitio, denominado el servidor, tiene un recurso que desea usar otro anfitrión en otro sitio, el cliente (o usuario). El propósito del sistema distribuido es proporcionar un ambiente eficiente y conveniente para el compartimiento de los recursos.

Ventajas de los sistemas distribuidos. ~> Compartición de recursos. Un usuario es capáz de utilizar los recursos disponibles en otro. ~> Aceleración del cómputo. Una tarea de cómputo particular se puede dividir en varias subtareas de cómputo que pueden correrse concurrentemente. ~> Confiabilidad. Si un sitio falla en un sistema distribuido, los sitios restantes pueden continuar potencialmente operando, dando al sistema mejor confiabilidad. ~> Comunicación. Los usuarios de los diferentes sitios tiene la oportunidad de intercambiar información. Tales funciones incluyen la transferencia de archivos, conexión, correo, navegación por Red Mundial y llamadas a procedimientos remotos (RPC).

HILOS (THREADS)... Una vieja deuda Un proceso es un programa en ejecución... con un sólo hilo de control? Un hilo, denominado también proceso ligero, es una unidad básica de utilización de la CPU; comprende la ID (indentificación) de hilo, un contador de programa, un conjunto de registros y una pila. El hilo comparte con otros hilos que pertenecen al mismo proceso su sección de código, su sección de datos y otros recursos del SO, como los archivos abiertos y señales. Debido a que el proceso tiene varios hilos de control, el proceso puede ejecutar más de una tarea a la vez. Muchos de los paquetes de software que se ejecutan en las PC de escritorio modernas son multihilos. Una aplicación se implementa típicamente como un proceso separado con varios hilos de control.

Código Datos Archivos Un sólo hilo Multihilos

Un servidor de red con alta ocupación puede tener varios (quizá cientos) de clientes accediento a sus servicios de manera concurrente. Si el servidor se ejecutara como un proceso tradicional de un solo hilo, sólo sería capaz de dar servicio a un cliente a la vez con un proceso único ~> la cantidad de tiempo que un cliente tendría que esperar para que se atendiera su solicitud sería enorme. Una solución consiste en hacer que el servidor se ejecute como un solo proceso que acepte solicitudes. Cuando recibe una solicitud, el servidor crea un proceso separado para dar servicio a dicha solicitud. Sin embargo, en lugar de incurrir en el trabajo adicional de crear un nuevo proceso para atender cada solicitud, puede ser más eficiente que un proceso que contiene varios hilos sirva para el mismo propósito. Este enfoque convertiría en multihilos al proceso del servidor de red.

Beneficios de los threads ~> Grado de respuesta. Una operación multihilos en una aplicación interactiva puede permitir que un programa continúe en ejecución, incluso si una de sus partes está bloqueada o realizando una operación tardada, lo que incrementa el grado de respuesta de usuario. ~> Compartir recursos. Los hilos comparten la memoria y los recursos del proceso al que pertenecen. ~> Economía. Debido a que los hilos comparten recursos del proceso al que pertenecen, es más económico crear hilos y cambiar su contexto... En Solaris la creación de un proceso es aproximadamente 30 veces más lento que la creación un hilo !! y la conmutación de contexto tarda aproximadamente 5 veces más. ~> Utilización de arquitecturas de multiprocesadores. Cada hilo puede estar ejecutándose en paralelo en un procesador diferente.

Hilos de usuario y de kernel Los hilos de usuario tienen soporte por encima del kernel y son implementados por una biblioteca de hilos a nivel de usuario. La biblioteca proporciona apoyo para la creación, programación y administración de hilos sin soporte del kernel. Entre las bibliotecas de hilos de usuarios están POSIX Pthreads, Mach C-threads, y Solaris threads. Los hilos de kernel tienen soporte directo del SO: la creación, programación y administración de hilos los realiza el kernel en su propio espacio. Es más lenta la creación y administración de los hilos del kernel que la de los usuarios. Windows NT, Solaris y Digital UNIX manejan hilos de kernel.

K Hilo de kernel Hilo de usuario Modelo de varios a uno

K Hilo de kernel KKK Hilo de usuario Modelo de uno a uno Windows NT y OS/2 implementan el modelo de tipo uno a uno.

K Hilo de kernel Hilo de usuario KK Modelo de varios a varios Solaris, Irix y Digital UNIX soportan este modelo.

DISTRIBUTED AND PARALLEL SYSTEMS M. Tamer Özsu Patrick Valduriez