SO-mod 0-1-Introducci?n- 2010

Anuncio
Sistemas Operativos
Mg. Jorge Raúl Ardenghi
jra@cs.uns.edu.ar
Departamento de Informática
Facultad de Ingeniería
Objetivos del Curso de Sistemas Operativos
El curso desarrolla los conocimientos de Sistemas Operativos
desde una visión conceptual y estructural. Se presentan todos
los mecanismos de interacción entre sus partes sin
particularizar en algún sistema operativo en especial.
Se discuten tópicos como: servicios de sistemas operativos,
sistemas de archivos, planificación de CPU, manejo de
memoria
memoria
virtual,
planificación
de
discos,
interbloqueos, procesos y programación concurrente,
protección, sistemas distribuidos, etc.
Se presentan algunos ejemplos de estos conceptos en las
familias UNIX, Windows XP, Solaris, etc a lo largo del
desarrollo de los módulos, mostrando los matices de
implementación entre estos sistemas.
El curso requiere conocimientos de arquitectura y
organización de computadores y estructura de datos.
JRA © 2008
Sistemas Operativos – Introducción
Programa Sintético
1.0 Introducción.
2.0 Estructuras de Sistemas de Cómputo.
3.0 Estructuras de Sistemas Operativos.
4.0 Procesos.
5.0 Planificación de Procesos.
6.0 Sincronización de Procesos.
7.0 Interbloqueos.
8.0 Manejo de Memoria.
9.0 Memoria Virtual.
10.0 Sistema de Archivos: Interfaces e mplementación.
11.0. Manejo de Almacenamiento Secundario.
12.0 Seguridad y Protección.
JRA © 2008
Sistemas Operativos – Introducción
Bibliografía de Sistemas Operativos
Silberschatz, A., Gagne G., y Galvin, P.B.; "Operating System
Concepts", Addison-Wesley, 1998, 5ta Edición; 2001, 6ta
Edición. 2005, 7ma Edición.
Silberschatz, A., Galvin, P.B. y Gagne, G.; "Applied Operating
System Concepts", 1st Edition, Addison-Wesley, 2000.
Brinch Hansen, "Operating System Principles", Prentice Hall,
1973
Shaw,A. y Bic,L; "The Logical Design of Operating Systems",
Prentice Hall, 1988, 2da Edición
Krakowiak,S.; "Principles of Operating Systemas", The MIT
Press,1988
Deitel,H.M.; "Sistemas Operativos", Addison-Wesley, 1993, 2da.
Edición. (o su versión en inglés)
Tanenbaum, A., Woodhull, A. S.; "Operating Systemas: Design
and Implementation", Prentice Hall, 1st edition.,1987 (o su
version en español); 2nd edition.Prentice Hall, 1997; 3rd edition,
2006.
JRA © 2008
Sistemas Operativos – Introducción
Bibliografía de Sistemas Operativos
(Cont.)
Tanenbaum, A.; "Modern Operating Systems", Addison-Wesley,
1992.(1ra Parte). 2nd Edition, Prentice Hall, 2001.
Maekawa, M. y otros; "Operating Systems: Advanced Concepts",
The Benjamin /Cummings Pub. 1987.
Nutt, G.; "Centralized and Distributed Operating Systems",
Prentice Hall, 1992.
Nutt, G.; "Operating Systems: A Modern Perspective", AddisonWesley, 1997.
Milenkovic,M. "Sistemas Operativos: Conceptos y Diseño", Mc
Graw Hill, 1994. (o su versión en inglés)
Stallings, W. "Operating Systems: Internals and Design
Principles", Prentice Hall, 3rd Edition, 1998; 4th Edition, 2001; 5th
Edition, 2005.
JRA © 2008
Sistemas Operativos – Introducción
Bibliografía de Sistemas Operativos
(Cont.)
Presentación mas descriptiva orientada a aspectos técnicos:
Madnick y Donovan, "Sistemas Operativos", 1974
Tanenbaum,A.; "Operating Systemas: Design and
Implementation", Prentice Hall, 1997 (o su versión en español)
Tanenbaum, A., Woodhull, A. S.; "Operating Systemas: Design
and Implementation", 2nd edition.Prentice Hall, 1997.
Bach,M.J.; "The Design of the UNIX Operating System", Prentice
Hall, 1987
McKusick et ál; "The Design and Implementation of the 4.4BSD
Operating System",Addison-Wesley,1996.
Vahalia, U.; "UNIX Internals: The New Frontiers", Prentice Hall,
1996.
Pate, S.D.; "UNIX Internals: A Practical Approach", AddisonWesley, 1996
JRA © 2008
Sistemas Operativos – Introducción
Bibliografía de Sistemas Operativos
(Cont.)
Revistas Técnicas
“Operating System Review" SIG del ACM.
"Computing Surveys" de ACM.
"Transaction on Computer Systems" de ACM.
"Transaction on Software Engineering" del IEEE.
"Transaction on Computers" del IEEE.
"Computer Magazine" del IEEE.
"Software Magazine" del IEEE.
JRA © 2008
Sistemas Operativos – Introducción
Sistemas Operativos
Módulo 1:
Introducción
JRA © 2008
Sistemas Operativos – Introducción
Introducción
¿Qué hace un Sistema Operativo?
Organización del Sistema de Cómputo
Arquitectura del Sistema de Cómputo
Estructura del Sistema Operativo
Operaciones del Sistema Operativo
Administración de Procesos
Administración de Memoria
Administración del Almacenamiento
Protección y Seguridad
Sistemas Distribuidos
Sistemas de Propósito Especial
Ambientes de Computación
Sistemas Operativos – Introducción
JRA © 2008
Introducción
¿Qué es un sistema operativo?
Un programa que actúa como un intermediario
entre un usuario de una computadora y el
hardware de la computadora.
Objetivos de Sistema Operativo:
Ejecutar los programas de usuario y permitir la
solución de problemas del usuario mas
facilmente.
Conveniencia de uso del sistema de la
computadora.
Uso del hardware de la computadora de
manera eficiente.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Componentes del Sistema de Cómputo
1.Hardware – provee los recursos básicos de
computación (CPU, memoria, dispositivos de E/S).
2. Sistema Operativo – controla y coordina el uso del
hardware entre varios programas de aplicación para
varios usuarios.
3. Programas de Aplicación – define el modo en el cual
los recursos del sistema son usados para resolver los
problemas de computación de los usuarios
(compiladores, sistemas de bases de datos,
videojuegos, web, programas administrativos, etc).
4.Usuarios (gente, máquinas, otras computadoras).
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Usuario
1
Compilador
Usuario
2
Usuario
3
Ensamblador
Editor
Programas de Sistema y de
Aplicación
Sistema Operativo
Hardware
JRA © 2008
Sistemas Operativos – Introducción
Usuario
n
Sistema de
Base de Datos
Introducción
Vista Abstracta de los Componentes del Sistema
Hardware
Sistema Operativo
Utilitarios
Librerías
Interfaz
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Definiciones de Sistemas Operativos
Alocador de recursos
administra todos los recursos.
decide sobre requerimientos conflictivos para
asegurar eficiencia y uso imparcial de recursos
Programa de Control
controla ejecución de los programas para
prevenir errores y el uso impropio de la
computadora.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Definiciones de Sistemas Operativos (cont)
No existe una definición universalmente
aceptada.
“La cosa que un vendedor entrega cuando uno
ordena un sistema operativo” resulta una buena
aproximación
“El programa que ejecuta todo el tiempo en la
computadora” es el kernel o núcleo. Todo lo
demás es un programa de sistema (viene junto
con el sistema operativo) o un programa de
aplicación.
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Inicio de la Computadora
El programa de bootstrap es cargado en el encendido
o reboot
JRA © 2008
Tipicamente almacenado en ROM o EEPROM,
generalmente conocido como firmware
Inicializa todos los aspectos del sistema
Carga el kernel del sistema operativo y comienza la
ejecución
Sistemas Operativos – Introducción
Introducción
Organización del Sistema de Cómputo
Operación del Sistema de Cómputo
Una o más CPUs, se provee acceso a la memoria
compartida por dispositivos de control conectados a
un canal común.
La ejecución concurrente de CPUs y dispositivos
compiten por ciclos de memoria.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Organización del Sistema de Cómputo
teclado
impresora
discos
Controlador
Controlador
Adaptador
disco
USB
gráfico
memoria
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Operación del Sistema de Cómputo
Los dispositivos de E/S y la CPU pueden ejecutar
JRA © 2008
concurrentemente.
Cada controlador de dispositivos está encargado de un
tipo particular de dispositivo.
Cada controlador de dispositivos tiene un buffer local.
La CPU mueve datos desde/hacia la memoria principal
a/desde los buffers locales.
La E/S es desde el dispositivo al buffer local del controlador.
El controlador de dispositivo informa a la CPU que ha
finalizado su operación por medio de una interrupción.
Sistemas Operativos – Introducción
Introducción
Funcionamiento de las Interrupciones
Una interrupción transfiere el control a la rutina de servicio
de la misma, generalmente por medio del vector de
interrupción, que contiene las direcciones de todas las rutinas
de servicio.
La arquitectura de la interrupción debe salvar la dirección de
la instrucción interrumpida.
Las interrupciones entrantes son deshabilitadas mientras
otra interrupción está siendo procesada para prevenir una
pérdida de interrupción.
Un trap es una interrupción generada por el software causada
por un error o por un requerimiento de usuario.
Un sistema operativo es manejado por las interrupciones.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Manejo de Interrupciones
El sistema operativo preserva el estado de la CPU
almacenando los registros y el contador de programa.
Determina que tipo de interrupción ha occurrido:
polling
Sistema de interrupción vectoreado
Segmentos de código separados determinan que tipo
de acción deberían llevarse a cabo para cada tipo de
interrupción.
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Línea de tiempo de Interrupción para un proceso simple
realizando una salida
proc ejec
proc de int de E/S
CPU
Ocioso
Dispositivo
transfiriendo
Req E/S
JRA © 2008
E/S
transferencia
hecha
Req E/S
Sistemas Operativos – Introducción
transferencia
hecha
Introducción
Estructura de E/S
Forma Sincrónica
Luego que la E/S comienza, el control retorna al
programa del usuario solo cuando la E/S se haya
completado.
JRA © 2008
una instrucción de espera mantiene ociosa la CPU
hasta la próxima interrupción.
lazo de espera (contención para el acceso a
memoria).
A lo sumo una E/S requerida es atendida a la vez,
no hay procesamiento simultáneo de E/S.
Sistemas Operativos – Introducción
Inroducción
Estructura de E/S (Cont.)
Forma Asincrónica
Luego que la E/S comienza, el control retorna al
programa del usuario sin esperar que la E/S se haya
completado.
Llamada al Sistema – requiere al SO que permita al
usuario esperar por la terminación de la E/S.
Tabla de estado de los dispositivos: contiene una
entrada por cada dispositivo de E/S indicando su tipo,
dirección, y estado.
El SO pone un índice en la tabla de dispositivos de
E/S para determinar el estado del dispositivo y
modificar la entrada a la tabla para incluir la
interrupción.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Dos Métodos de E/S
Sincrónico
⌠
usuario 

⌠



kernel 




Asincrónico
proc que requiere
proc que requiere
espera
driver de disp
manejador de
int
Hardware
transf de datos
driver de disp
manejador de
int
Hardware
transf de datos

 usuario
⌡




 kernel



⌡
tiempo
tiempo
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Tabla de estado de dispositivos
disp: lect tarjetas 1
status: ociosa
disp: impresora 3
status: ocupada
req para imp
direc: 38769
long: 1245
disp: unidad disco 1
status: ociosa
disp: unidad disco 2
status: ociosa
disp: unidad disco 3
status: ocupada
JRA © 2008
req para
unidad
de disco 3
arch: xxx
oper: lect
dir:43098
Long: 20000
Sistemas Operativos – Introducción
req para
unidad
de disco 3
arch: yyy
oper: esc
dir: 05678
Long: 500
Introducción
Estructura de Acceso Directo a Memoria (DMA)
CPU
Memoria
Disp E/S
Instrucciones de
E/S
Usado por dispositivos de E/S de alta velocidad para
transmitir información a velocidades similares a la de la
memoria.
El controlador de dispositivos transfiere bloques de datos
desde el buffer de almacenamiento directamente a la
memoria principal sin la intervención de la CPU.
Solo una interrupción es generada por bloque, y no una por
byte.
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Estructura de almacenaje
Memoria principal– único medio de almacenaje que la
CPU puede acceder directamente.
Almacenaje Secundario – extensión de la memoria
principal que provee una gran capacidad de
almacenaje no volátil.
Discos Magnéticos –
JRA © 2008
La superficie del disco está logicamente dividida en
tracks (pistas), los cuales están subdivididas en
sectores.
El controlador de disco determina la interacción
lógica entre el dispositivo y la computadora.
Sistemas Operativos – Introducción
Introducción
Mecanismo del Movimiento de Cabezas en el
Disco
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Jerarquía de almacenaje
Los sistemas de almacenaje está organizado en
jerarquía.
Velocidad
Costo
Volatilidad
Caching – información copiada en un sistema de
almacenaje rápido; la memoria principal puede
verse como el último cache para el almacenaje
secundario.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Jerarquía de Dispositivos de Almacenaje
registros
cache
memoria principal
disco electrónico
disco magnético
disco óptico
cinta magnética
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Caching
Principio importante que es llevado a cabo por varios
niveles en una computadora (en hardware, sistema
operativo, software)
La información en uso copiada desde un almacenaje
lento a uno más rápido temporariamente.
El almacenaje más rápido (cache) es verificado primero
para determinar si la información está alli:
JRA © 2008
Si está, es usada directamente del cache (rápido)
Si no, el dato es copiado al cache y usado allí.
Sistemas Operativos – Introducción
Introducción
Caching (Cont.)
El caché es más pequeño que el almacenaje de
donde se ha traído la información:
JRA © 2008
La administración del cache es un problema
importante de diseño.
El tamaño del cache y la política de reemplazo.
Sistemas Operativos – Introducción
Introducción
Rendimiento de varios niveles de
almacenamiento
Movimiento entre niveles de la jerarquía de almacenaje
puede ser explícito o implícito.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Migración de un entero A de disco a registro
Ambientes multitarea deben ser cuidadosos en el
uso de los valores más recientes, no importa donde
está almacenado en la jerarquía de almacenaje
Disco
magnéti
co
Memori
a
principa
l
Caché
Registro
hardwar
e
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Migración de un entero A de disco a registro
(cont.)
Los ambientes multiprocesador deben ofrecer
coherencia de caché en hardware tal que todas las
CPUs tienen el más reciente valor en sus cachés.
En los ambientes distribuidos la situación es más
compleja:
JRA © 2008
Existen varias copias de datos.
Existen varias soluciones que no son motivo de este
curso.
Sistemas Operativos – Introducción
Introducción
Estructura del Sistema Operativo
La Multiprogramación es necesaria para lograr eficiencia:
JRA © 2008
Un simple usuario no puede mantener la CPU y los
dispositivos de E/S ocupados todas las veces.
La multiprogramación organiza las tareas (código y
datos) de tal manera que la CPU siempre tiene uno
ejecutando.
Un subconjunto del total de tareas en el sistema se
mantienen en memoria.
Una tarea es selecionada y ejecuta vía una
planificación de tareas.
Cuando tiene que esperar (p.e. E/S), el sistema
operativo conmuta a otra tarea.
Sistemas Operativos – Introducción
Introducción
Estructura del Sistema Operativo
El Tiempo Compartido (multitarea) es una extensión lógica
en la cual la CPU conmuta tareas tan frecuentemente que
los usuarios pueden interactuar con cada tarea mientras
está ejecutando, creando la computación interactiva.
El tiempo de respuesta debería ser < 1 second
Cada usuario tiene al menos un programa ejecutando en
memoria proceso
Si hay varias tareas listas para ejecutar al mismo tiempo
planificación de CPU.
Si un proceso no entra en memoria, el swapping lo
mueve fuera y hacia dentro de la memoriamoves para
ejecutar.
La Memoria Virtual permite la ejecución de procesos no
completos en la memoria.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Distribución de la memoria en un sistema
multiprogramado
0
Sistema Operativo
job 1
job 2
job 3
job 4
512 k
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Operaciones del Sistema Operativo
Las interrupciones son manejadas por el
hardware
El error o requerimiento de software crea una
excepción o trap
Division por cero, requiere por un servicio del sistema
operativo
Otros problemas de procesos incluyen lazos
infinitos, procesos que se modifican unos con
otros o el sistema operativo.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Operaciones del Sistema Operativo
La operación en modo dual permite al sistema
operativo protegerse a si mismo y otros compionentes
del sistema
Modo usuario y modo kernel
El bit de modo es provisto por el hardware
Provee
la habilidad para distinguir cuando el
sistema está ejecutando código de usuario o
código kernel.
Algunas
instrucciones son privilegiadas, sólo se
ejecutan en modo kernel.
La llamada a sistema cambia el modo a kernel, el
retorno de la llamada reinicia al modo usuario.
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Transición del modo usuario al modo kernel
Timer para prevenir lazos infinitos / alto
consumo de recursos por procesos
JRA © 2008
Produce un interrupción luego de un período
específico.
El SO decrementa un contador.
Cuando el contador llega a cero genera una
interrupción.
Se inicia antes que el proceso planificado gane el
control o termina el programa que excede el tiempo
fijado.
Sistemas Operativos – Introducción
Introducción
Transición del modo usuario al modo kernel
(cont)
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Administración de Procesos
Un proceso es un programa en ejecución. Es una
unidad de trabajo dentro del sistema. Un
programa es una entidad pasiva, el proceso es
una entidad activa.
El proceso necesita recursos para realizar su
tarea.
CPU, memoria, E/S, archivos
Initialización de datos
La terminación de procesos require reclamar los
recursos reusables.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Administración de Procesos (cont.)
Los procesos de hilo simple tienen un contador de
programa especificando la locación de la próxima
instrucción a ejecutar.
El proceso ejecuta instrucciones
secuencialmente, una por vez hasta terminar.
Procesos multihilados tienen un contador de
programa por hilo.
Tipicamente un sistema tiene muchos procesos,
algún usuario, algún SO ejecutando
concurrentemente en una o más CPUs.
Concurrencia por multiplexado de CPUs entre
procesos / hilos.
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Actividades de la Administración de
Procesos
El sistema operativo es responsable por las siguientes
actividades en conexión con la administración de
procesos.
Creación y eliminación de procesos.
Suspensión y reactivación de procesos.
Provisión de mecanismos para:
sincronización
de procesos
comunicación
de procesos
manejo
JRA © 2008
de interbloqueos
Sistemas Operativos – Introducción
Introducción
Administración de Memoria
Todos los datos antes y después del procesamiento.
Todas las instrucciones en memoria para ejecutar.
Determina que hay en memoria cuando es necesario
optimizar la utilización de CPU y el tiempo de
respuesta a los
Actividades de la administración de memoria:
Lleva control de que partes de la memoria están siendo
usadas y por quien.
Decide que procesos cargar cuando hay espacio de
memoria disponible.
Ocupa y desocupa espacio de memoria cuando
necesite.
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Administración del almacenaje
El SO provee una visión lógica y uniforme del
almacenaje de información
Hace abstracción de las propiedades físicas a
una unidad lógica de almacenaje – archivo.
Cada medio es controlado por un dispositivo
(p.e. disco, cinta, etc)
Propiedades
variables incluyen velocidad de
acceso, capacidad, método de acceso
(secuencial o al azar)
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Administración del almacenaje (cont.)
Administración del Sistema de Archivos
Los archivos, usualmente están organizados en
directorios
El control de acceso en la mayoría de los sistemas
determina quien puede acceder a que
Las actividades del SO incluyen:
Creación
y destrucción de archivos y directorios.
Soporte de primitivas para el manejo de archivos y
directorios.
Mapeo de archivos sobre el almacenaje secundario.
Respaldo
JRA © 2008
sobre medios de almacenajes estables .
Sistemas Operativos – Introducción
Introducción
Administración de Almacenaje Secundario
Los discos son usados para almacenar datos que no
entran en memoria principal o para datos que tienen que
ser guardados un largo período de tiempo.
Su administración es de vital importancia.
La velocidad de operación de la computadora dependen
del subsistema de discos y sus algoritmos.
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Administración de Almacenaje Secundario
Las actividades del SO:
Administración del espacio libre
Alocación del almacenaje
Planificación del disco (no hoy en día ….)
Algunos tipos de almacenajes no necesitan ser rápidos:
Almacenaje terciario como el óptico y las cintas magnéticas
Pero aún así deben ser administrados.
Varian entre WORM (write-once, read-many-times) y RW
(read-write)
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Subsistema de E/S
Uno de los propósitos del SO es esconder las
peculiaridades de los dispositivos de hardware de los
usuarios.
Los subsistemas de E/S son responsables de:
JRA © 2008
Administración de memoria de las E/S incluyendo el
buffering (almacena datos temporariamente mientras
están siendo transferidos), caching (almacena partes
de datos en almacenamiento rápido por rendimiento),
spooling (el solapado de la salida de un job con la
entrada a otros)
Interfaz general de drivers de dispositivos.
Drivers específicos para dispositivos de hardware
Sistemas Operativos – Introducción
Introducción
Protección y Seguridad
Protección – mecanismo para controlar el
acceso de procesos o usuarios a recursos
definido por el SO
Seguridad– defensa del sistema contra ataques
internos y externos
Amplio rango, incluyendo DoS, worms, virus, robo de
identidad, robo de servicios
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Protección y Seguridad (cont.)
Los Sistemas generalmente primero distinguen entre
usuarios para determinar quien puede que:
Identidad de usuarios (ID de usuarios, IDs de
seguridad) incluye nombre y número asociado, uno por
usuario
El ID de usuario se asocian con todos los archivos,
procesos de ese usuario para determinar el control de
acceso
Identificador de grupo (ID de grupo) permite definir a un
conjunto de usuarios controlar el manejo, también
asociado con cada proceso, archivo
Escalamiento de privilegios permite al usuario cambiar a
un ID efectivo con más derechos
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Ambientes de Computación
Computadora Tradicional
Borrosa en el tiempo
Ambiente de oficina
PCs
conectadas a una red, terminales conectados
mainframe o minicomputadoras proveyendo
procesamiento en lotes y tiempo compartido
Ahora
portales permitiendo conexión en red y sistemas
remotos acceder a los mismos recursos.
Redes hogareñas
Usados
Ahora
como sistemas simples, luego modems
firewalls y redes
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Ambientes de Computación (Cont.)
Computación Cliente-Servidor
Terminales “bobos” suplantados por PCs
Muchos sistemas, ahora servidores, respondesn a
requerimientos generados por los clientes
El
servidor provee una interfaz al cliente que requiere el
servicio (p.e. base de datos)
El
servidor de archivos provee una interfaz para que
clientes almacenen y recuperen archivos
cliente
cliente
cliente
cliente
red
servido
r
JRA © 2008
Sistemas Operativos – Introducción
Introducción
Computación Peer-to-Peer (P2P)
Otro modelo de sistema distribuido
P2P no distingue entre clientes y servidores
Todos los nodos son considerados peers
Cada uno puede actuar como cliente, servidor o
ambos
El Nodo debe agregarse a la red P2P
Registra
su servicio con un servicio central de
búsqueda sobre la red o
Requerir
por un broadcast un servicio y responder a
los requerimientos por servicio via protocolo de
descubrimiento.
Ejemplos incluyen Napster y Gnutella
Sistemas Operativos – Introducción
JRA © 2008
Introducción
Computación basada en la Web
La Web se ha convertido ubicua
Las PCs son los dispositivos que prevalecen
La mayoría de los dispositivos están en red para tener
acceso a la web
Nueva categoría de dispositivos para manejar el tráfico
de la web entre servidores similares: balanceadores de
carga.
El uso de SOs como Windows 95, lado del cliente, han
evolucionado hacia Linux y Windows XP, los cuales
pueden ser clientes y servidores
JRA © 2008
Sistemas Operativos – Introducción
Fin del Módulo 1
Descargar