SlideShare una empresa de Scribd logo
1 de 117
SISTEMAS OPERATIVOS
CIENCIAS DE LA COMPUTACIÓN
Liliana Enciso
SEGUNDO BIMESTRE
Abril Agosto 2011
CAPÍTULO 8 :
MEMORIA VIRTUAL
CAPÍTULO 8 :
MEMORIA VIRTUAL
Fundamentos• La técnica de Memoria Virtual es un mecanismo que permite la ejecución de
procesos que no se encuentran completamente en la memoria.
• Una ventaja es que los programas pueden tener un tamaño mayor que la propia
memoria física
• La memoria virtual no resulta fácil de implementar y puede reducir
sustancialmente el rendimiento del sistema si se la utiliza sin el cuidado.
Requisitos
Colocar el espacio completo de direcciones lógicas dentro de la memoria física
• Limita el tamaño de los programas, de manera que éstos no puedan exceder del
tamaño de la propia memoria física.
Fundamentos• Se ha comprobado que en muchos casos no es necesario tener el programa
completo para poder ejecutar:
• Los programas incluyen código para tratar las condiciones de error poco
usuales (éstos errores ocurren rara vez).
• A las matrices, a las listas y a las tablas se les suele asignar más memoria de la
que realmente necesitan.
• Ciertas opciones y características de un programa se utilicen raramente.
• Y en aquellos casos en que se necesite el programa completo, puede suceder que
no todo el programa sea necesario al mismo tiempo.
Fundamentos
• La posibilidad de ejecutar un programa que sólo se encontrará parcialmente en la
memoria proporciona muchas ventajas:
• Los programas ya no estarán restringidos por la cantidad de memoria física
disponible, se podrán escribir programas para un espacio de direcciones virtual
extremadamente grande.
• Cada programa de usuario podría ocupar menos memoria física, se podrán
ejecutar más programas al mismo tiempo.
• La posibilidad de ejecutar un programa que sólo se encontrará parcialmente en la
memoria proporciona muchas ventajas:
Fundamentos• La memoria virtual incluye la separación de la memoria lógica tal como la
percibe el usuario con respecto a la memoria física.
• La memoria virtual facilita la tarea de programación por que el programador ya
no tiene por que preocuparse de la cantidad de memoria física disponible sino en
el problema que deba resolver con su programa.
• La MMU (Unidad de manejo de memoria) tiene la responsabilidad de establecer
la correspondencia entre las páginas lógicas y los marcos de página física de la
memoria.
Sustitución de Páginas
• Cuando se está ejecutando un proceso de usuario, se produce un fallo de página, el SO determina
donde reside la página deseada dentro del disco y entonces se encuentra con que no haya ningún
marco libre en la lista de marcos libres, toda la memoria esta siendo utilizada, parano hay ningún
marco libre, localizamos uno que no este siendo actualmente utilizado y lo liberamos.
• El mecanismo de sustitución de páginas es:
• Hallar la ubicación de la página deseada dentro del disco.
• Localizar un marco libre.
• Si hay un marco libre utilizarlo
• Si no hay seleccionar una víctima (algoritmo de sustitución)
• Escribir el marco de víctima en el disco.
• Leer la página deseada y cargarla en el marco
• Reiniciar el proceso de usuario. esto se utiliza la técnica de sustitución de páginas
• Si
Sustitución de Páginas
• A la hora de implementar páginas bajo demanda hay que resolver dos problemas:
 Algoritmos de asignación de marcos
 Algoritmos de sustitución de páginas.
• Si tenemos multiples procesos en memoria se debe decidir cuantos marcos se va a
asignar a cada proceso.
• Los algoritmos de sustitución son muy importantes debido a que las operaciones de E/S
son muy costosas en términos de rendimiento.
• Una de los aspecto a tomar en cuenta para la implementación d eun algoritmo de
sustitución es la tasa de fallos de página más baja.
Sustitución de Páginas FIFO
• Asocia cada página el instante en que dicha página fue cargada en memoria.
• Cuando hace falta sustituir una página se elige la páginas mas antigua.
• Se crear un cola FIFO para almacenar todas las páginas en memoria y sustituir la página
situada al principio de la cola.
• Es fácil de entender y de programar, sin embargo su rendimiento no siempre es bueno.
• Anomalía de Belady la tasa de fallos de página puede incrementarse a medida que se
incrementa el número de marco asignados.
Sustitución de Páginas FIFO
Anomalía de Beladey
Sustitución de Óptima de Páginas
• Un algoritmo óptimo de sustitución es aquel que tenga la tasa de más baja de fallos entre todos
los algoritmos y que nunca este sujeto a la anomalía de Belady.
• Sustituir la página que no vaya a ser utilizada durante el período de tiempo más largo.
• Difícil de implementar por que requiera un conocimiento futuro de la cadena de referencia.
Sustitución de Páginas LRU
• Sustituir la página que no haya sido utilizada durante el período más largo de tiempo.
• Menos recientemente utilizada.
• LRU asocia con cada página el instante correspondiente al último uso de dicha página.
• El problema es como implementar este algoritmo
Sustitución de Páginas LRU
• Contadores: asociamos con cada entada en la tabla de páginas un campo de tiempo uso y
añadimos a la CPU un reloj lógico o contador.
•El reloj se incrementa con cada referencia a memoria .
• Así tenemos el tiempo de la última referencia a cada página
• Podremos sustituir la página que tenga el valor temporal menor
• Pila: mantener una pila de números de página, cada vez que se hace referencia a una página,
se extrae esa página de la pila y se la coloca en la parte superior.
•La página mas recientemente utilizada se encontrará siempre en la parte superior de la pila.
Sobrepaginación
 Si un proceso no dispone de suficientes marcos generará rápidamente fallos
de página.
Deberá sustituir alguna página sin embargo como todas sus páginas se están
usando activamente se verá forzado a sustituir una página que volverá a ser
utilizada enseguida.
Volverá a generar otro fallo de página
Esta alta tasa de paginación se conoce como sobrepaginación
Un proceso entrará en sobrepaginación cuando invierte más tiempo generando fallos de
página que en la ejecución propia del proceso
Provoca problemas de rendimiento
Sobrepaginación
Las causas de la Sobrepaginación
El SO monitoriza la utilización de la CPU. Si la tasa de utilización es
demasiado baja, se incrementa el grado de multiprogramación.
Si entra un proceso nuevo y necesita más marcos de memoria. El proceso
comenzará a generar fallos de páginas y a quitar marcos a otros procesos.
Dichos procesos también necesitaran los marcos y comenzarán agenerar fallos
de páginas. Como cada proceso está esperando por el dispositivo de
paginación, la tasa de utilización de CPU disminuye.
Sobrepaginación
 Para evitar los efectos de sobrepaginación se puede utilizar las asignación
local.
Para prevenir la sobrepaginación se debe asignar a los procesos los marcos
necesarios. Una técnica para definir esto es el modelo de localidad.
Sobrepaginación
 Otra forma de controlar la sobrepaginación es con la frecuencia de fallos de
páginas. Sabemos que cuando la tasa de fallos de página es alta el procesos
requiere más marcos y a la inversa si es baja pueda que el proceso tenga
demasiados marcos.
CAPÍTULO 9:
Interfaz del Sistema de Archivos
ARCHIVO
• Un archivo desde la perspectiva del usuario es la unidad más
pequeña de almacenamiento secundario lógico; en otras
palabras no se puede escribir datos en almacenamiento
secundario a menos que se encuentre en un archivo.
•Los archivos de datos pueden ser: numéricos, alfabéticos,
alfanuméricos o binarios.
•Puede haber archivos de formato libre o rígido
•Es una secuencia de bits, bytes, líneas o registros cuyo
significado es definido por el creador y el usuario del mismo.
•Un archivo tendrá una estructura definida dependiendo de su
tipo (text, ejecutables,código fuente, etc)
Atributos de un archivoLos atributos de un archivo varían de un sistema a otro
•Nombre: Es única información que se mantiene en formato legible para las
personas
•Identificados: Es una etiqueta unívoca dentro del sistema de archivos (versión
de nombre no legible por las personas)
•Tipo: Esta información es necesaria para aquellos sistemas que se soportan
diferentes tipos.
•Ubicación: Es un puntero a un dispositivo y la ubicación dentro del
dispositivo.
•Tamaño: Expresa el tamaño actual del archivo (bytes, palabras o bloques).
•Protección: Información de control de acceso. Quién puede leer, escribir
ejecutar el archivo.
•Fecha, hora e identificador del usuario: Esta información puede
mantenerse para los sucesos de creación, última modificación y último uso del
archivo.
Operaciones con los archivos
Creación de un archivo: Para crear un archivo hace falta ejecutar dos pasos. 1º encontrar
espacio para el archivo dentro del sistema de archivos y 2º incluir en el directorio la entrada del
nuevo archivo.
Escritura en un archivo: Se debe realizar una llamada a un sistemas que especifique tanto el
nombre como la información que hay que escribir en el archivo.
Lectura de un archivo: Se debe realizar una llamada al sistema que especifique el nombre del
archivo y dónde debe colocarse (dentro de la memoria) el siguiente bloque del archivo.
Reposicionamiento del archivo: Se explora el directorio para hallar la correspondiente entrada
y se reposiciona el puntero de posición actual dentro de un archivo, asignándole un nuevo valor.
Borrado de un archivo: Exploramos el directorio en busca del archivo indicado y liberamos
todo el espacio del archivo.
Truncado de un archivo: EL usuario puede querer borrar el contenido de un archivo, pero
mantener sus atributos.
Tipos de archivos
•Una técnica común para
implementar los tipos de
archivos es incluir el tipo como
parte del nombre. (Nombre y
una extensión separados
generalmente por un punto)
MÉTODOS DE ACCEOS
• Se puede acceder a la información de un archivo de varias formas. Algunos sistemas
soportan un forma de acceso mientras que otros varias como es el caso de IBM.
•Acceso Secuencial: La información se lee en orden, un registro después de otro, es el más
común. Es soportado por dispositivos de acceso secuencial como aleatorio.
Estructura de Almacenamiento
•Acceso Directo: El proceso puede leer el registro en cualquier orden,
permitiendo leer o escribir bloques arbitrariamente.
• Estos son útiles para un acceso inmediato en grandes cantidades de
información. Ejm: BD
•En el método de acceso director las operaciones de archivos deben
modificarse para incluir el número de bloque como parámetro.
•Para realizar la operación leer n, ejecutamos primero posicionar en n y luego
leer siguiente
ESTRUCTURA DE DIRECTORIOS
• En ocasiones es deseable colocar múltiples sistemas de archivos en un mismo disco o utilizar
partes de un disco para un sistema de archivos y otra para otra cosa, como por ejemplo: espacio de
intercambio. Estas partes se conocen con diversos nombres como particiones, franjas o
minidiscos.
•De la misma manera podemos querer unir varios discos o partes para tener un estructura de mayor
tamaño a esto se lo conoce como volúmenes y también crear sistemas de archivos en dichos
volúmenes.
•Cada volumen que contenga un sistema de archivos debe también contener información acerca de
los archivos almacenados en el sistema. Esta información se almacena como entradas en un
directorio de dispositivo o tabla de contenidos del volumen. Este directorio almacena información
de todos los archivos: nombre, ubicación, tamaño y tipo.
ESTRUCTURA DE DIRECTORIOS
ESTRUCTURA DE DIRECTORIOS
Operaciones sobre un directorio
• Búsquedas de un archivo.
• Crear un archivo
• Borrar un archivo
• Listar un directorio
• Renombrar un archivo
• Recorrer el sistema de archivos
ESTRUCTURA DE DIRECTORIOS
Directorios de un único nivel
• Todos los archivos están contenidos en un mismo directorio y resulta fácil de mantener y
comprender.
• Tiene limitaciones significativos cuando el número de archivos se incrementa o cuando el
sistema tiene más de un usuario. Puestos que todos los archivos se encuentran en un mismo
directorios deberán tener nombres distintos.
ESTRUCTURA DE DIRECTORIOS
Directorios de dos nivel
• Una solución al problema de los directorios de un solo nivel es crear un directorio por cada
usuario (directorio de archivos de usuario, UFD)
• Si un usuario quiere acceder a un archivo de otro usuario deberá especificar toda la ruta del
archivo.
• Se puede tener archivos con nombres similares pero que pertenezcan a diferentes usuarios.
ESTRUCTURA DE DIRECTORIOS
Directorios con estructuras de árboles
• Permite a los usuarios crear sus propios subdirectorios y organizar sus archivos.
• Cada directorio tiene un conjunto de archivos o subdirectorios. Un subdirectorios es simplemente un
archivo
• Las rutas pueden ser absolutas o relativas
ESTRUCTURA DE DIRECTORIOS
Directorios en un grafo acíclico
• Compartición de subdirectorios. Cada directorio o archivo compartido existirá en el sistema de
archivos en dos lugares simultáneamente.
• Compartición mediante enlaces (link) o duplicando la información
• Es una estructura más compleja por que se va a tener varios nombre de un mismo archivo.
ESTRUCTURA DE DIRECTORIOS
Directorios en formato de grafo general
• Uno de los problema del grafo acíclico es garantizar que no existan ciclos ya que el sistema entraría
en un bucle infinito
• Una solución a esto consiste en limitar arbitrariamente el número de directorio a la se accederá
durante una búsqueda.
• Otra solución son algoritmos que detecten la existencia de un ciclo, pero estos tiene un costo muy
alto desde el punto de vista computacional
MONTAJE DE SISTEMAS DE ARCHIVOS
• De la misma forma en que un archivo debe abrirse antes de
utilizarlos, un sistema de archivos debe montarse antes de estar
disponible para los procesos del sistema.
• Para el montaje, al sistema operativo se le especifica el nombre del
dispositivo y un punto de montaje Por lo general este punto de
montaje será un directorio vacío.
• Luego el sistema verifica si el dispositivo tiene un sistema de archivos
válido.
• Finalmente el sistema operativo registra en su estructura de
directorios que hay un sistema de directorios montado en el punto de
montaje especificado.
COMPARTICIÓN DE ARCHIVOS
Múltiples Usuarios
• Un sistema con múltiples usuarios requiere compartir los archivos. Una
forma para ellos es estableciendo:
•Propietario: quien podrá realizar cualquier operación sobre dicho
archivo.
•Grupo de usuarios: quienes podrán realizar un conjunto de
operaciones definidas por el propietario
•Otros usuarios: quieres podrán realizar operaciones definidas por el
propietario.
• El identificador del propietario y del grupo de un archivo se almacenan
junto con los otros atributos del archivo.
COMPARTICIÓN DE ARCHIVOS
Sistemas de archivos remotos
• Con la interconexión por red la compartición de una serie de recursos que son son
distribuidos por un campus o por todo el mundo. Uno de los primeros sistemas de este tipo
fue el FTP.
• Modelo Clientes-Servidor
•Los sistemas de archivos remotos permiten a una computadora montar uno o más
sistemas de archivos desde una o varias máquinas remotas. En este caso la maquina
que contiene los archivos se denomina servidor y la que trata de acceder a los archivos
es el cliente.
•La identidad del clientes puede estar dada por el segmento de red o la dirección ip, las
cuales pueden ser suplantadas o imitadas.
•Otra solución es la autentifican del cliente mediante claves cifradas.
•Ejemplo NFS (Sistemas de Archivos en Red).
COMPARTICIÓN DE ARCHIVOS
Sistemas de archivos remotos
• Sistemas de información distribuidas
•Proporcionan un acceso unificado a la información necesaria para la información
remota.
•Ejemplo: Ldap, Active Directory.
•Modos de fallo:
•En los sistemas de archivos remotos se tiene una más modos de fallo, debido a
su complejidad de los sistemas de red y a las interacciones requeridas entre las
máquinas remotas, puede existir el caso las redes pueden verse interrumpidas por
algún fallo en la configuración de la red. Aunque algunas redes implementan
mecanismos de protección como la existencia de múltiples rutas, otras muchas no
disponen de un mecanismo de protección.
•Para implementar un recuperación de fallos, puede mantenerse información de
estado tanto en el cliente como en el servidor. Si los dos mantienen información
de sus actividades actuales, podrá recuperar transparentemente de un fallo
PROTECCIÓN
Sistemas de archivos remotos
• Cuando se almacena información en un sistema, necesitamos protegerla frente a los daños
físicos y a los accesos incorrectos.
• Tipos de Accesos
•Lectura
•Escritura
•Ejecución
•Adición
•Borrado
•Listado
PROTECCIÓN
Sistemas de archivos remotos
• Control de Acceso
•El acceso depende de la identidad del usuario. Consiste en asociar con cada archivo y
directorio un lista de control de acceso (acl) que especifique el nombre del usuario y los
tipos de acceso que se permiten para cada uno.
•Propietario
•Grupo
•Universo
•Ejemplo
19 -rw-r--r-- jim staff 130 May 25 22:13 file1
CAPÍTULO 10:
SISTEMA DE ENTRADA Y
SALIDA
SISTEMAS DE ENTRADA/SALIDA
Generalidades de los Sistemas de E/S
Hardware de E/S
Subsistema de E/S
Técnicas de E/S
SISTEMAS DE ENTRADA/SALIDA
• Analizar la estructura del subsistema de E/S de un sistema
operativo.
•Explorar los principios en que se basa el hardware de E/S
y los aspectos relativos a su complejidad.
GENERALIDADES DE LOS SISTEMAS DE E/S
Para los diseñadores de SO, el control de los dispositivos conectados a la
computadora es de primordial interés, debido a que cada dispositivo
cambia sus funciones y velocidad por lo cual se requiere variedad de métodos
para controlarlos.
Estos métodos de E/S forman el subsistema de E/S del kernel, el cual
aisla al resto del kernel de la complejidad de la administración de los
dispositivos de E/S.
La tecnología de E/S exhibe dos tendencias que están en conflicto:
* Creciente estandarización de las interfases de SW y HW con los cual se
ayuda a incorporar en las computadoras y SO generaciones mejoradas de
dispositivos.
GENERALIDADES DE LOS SISTEMAS DE E/S
•Nuevos dispositivos que son tan diferentes los anteriores que se son
difíciles de incorporar en las computadoras y SO; por lo que se convierte
en un reto esta incorporación a través de combinación de técnicas de
HW y SW.
Los detalles y peculiaridades de los diferentes dispositivos se encapsulan
en módulos de manejadores de dispositivos (interfaz uniforme de
acceso a dispositivos con el subsistema de E/S). Para lo cual se estructura
al kernel del sistema operativo para que use estos módulos.
OBJETIVOS DEL SISTEMA DE E/S
•Proporcionar una interfaz uniforme para el acceso a los dispositivos (independencia del
dispositivo).
•Proporcionar manejadores (drivers) para los dispositivos concretos
•Tratar automáticamente los errores más típicos.
•Para los dispositivos de almacenamiento, utilizar cachés.
•Para los discos, planificar de forma óptima las peticiones.
HARDWARE DE E/S
Un dispositivo se comunica con un sistema de cómputo enviando señales
a través de un cable o incluso a través de aire.
El dispositivo se comunica:
•Con la máquina mediante un punto de conexión llamado puerto.
•Si uno o más dispositivos utilizan un conjunto de cables, la conexión se
denomina bus.
HARDWARE DE E/S
Un controlador es un conjunto de componentes electrónicos que
pueden operar un puerto, un bus o un dispositivo.
Los controladores pueden ser sencillos (controlador de puerto serial) o
complejos (controlador de bus SCSI).
Los dispositivos de E/S que se conectan al ordenador se clasifican en:
BLOQUE: La información se almacena en bloques, esos bloques son de
tamaño fijo. Donde cada bloque tiene una dirección que lo identifica. Se
puede leer o escribir en un bloque independiente de los demás.
Por ejemplo: disquete, CD, DVD, disco duro.
HARDWARE DE E/S
CARÁCTER: La información que se generan o reciben son flujos de caracteres
(no bloques). Accede a los datos en secuencia: o sea, para acceder a determinados
datos, la lectura y escritura se debe hacer seguido de los datos anteriores. Por
ejemplo: teclado, pantalla, cinta, ratones.
A continuación un cuadro comparativo de diferentes dispositivos:
HARDWARE DE E/S
¿Cómo puede el procesador entregar comandos y datos a un controlador para
realizar una transferencia de E/S?
• El controlador tienen uno o más registros para datos y señales de control.
• El procesador se comunica con el controlador leyendo y escribiendo patrones de bits
en estos registros.
Hay dos formas de comunicación:
1) Mediante el uso de interrupciones especiales de E/S que especifican la transferencia de un
byte o palabra a la dirección de un puerto de E/S.
2) El controlador de dispositivo puede soportar E/S con mapeo en memoria; en este caso
los registros de control del dispositivo se mapean en el espacio de direcciones del
procesador.
HARDWARE DE E/S
Ubicación de puertos de E/S para dispositivos en computadoras
compatibles con PC
INTERRUPCIONES
• Una interrupción es el mecanismo
que le permite al controlador de
hardware notificar a la CPU
cuando un dispositivo esta listo
para servicio.
• El mecanismo básico de
interrupción habilita a la CPU
para responder a un evento
asíncrono, el cual puede ser que el
controlador de dispositivo quede
listo para dar servicio
 Características para el manejo de interrupciones:
 - Capacidad para diferir el manejo de interrupciones durante
un procesamiento crítico.
 - Eficiente manejo de interrupciones para un buen
desempeño del sistema (evitar hacer escrutinio).
 - Basado en prioridad.

 Líneas de solicitud de interrupción CPU:
 * Interrupción no mascarable: eventos como errores de
memoria no recuperables.
 * Inerrupción Mascarable: pueder ser apagada por la CPU
antes de la ejecución de secuencias críticas que no deben ser
interrumpidas.
Tabla de vectores del procesador Pentium de
Intel
ACCESO DIRECTO A MEMORIA
• Evitar usar el proceso de E/S programada cuando se
transfieren datos grandes para no sobrecargar la CPU.
• Transferir parte del trabajo a un procesador de propósito
especial denominado controlador de acceso directo a memoria (DMA).
• Cuando la CPU escribe la dirección del bloque de comandos en
el controlador de DMA, luego sigue con otro trabajo y el
controlador de DMA opera directamente el bus de la memoria
colocando direcciones para realizar transferencias sin ayuda de
la CPU principal.
• Algunas arquitecturas utilizan direcciones de memoria física
para DMA, pero otras efectúan un acceso directo a memoria
virtual, utilizando direcciones virtuales que se traduciran a
direcciones de memoria fisica.
Pasos en una transferencia DMA
INTERFAZ DE E/S DE LAS APLICACIONES
 Compartible o dedicado: Un dispositivo compartible puede ser usado de
forma concurrente por varios procesos o hebras; un dispositivo dedicado no
puede ser compartido de esta forma.
 Velocidad de operación: Las velocidades de los dispositivos van desde
unos pocos bytes por segundo a unos cuantos gigabytes por segundo.
 Lectura-escritura; sólo lectura o sólo escritura: Algunos dispositivos
realizan tanto entrada como salida, pero otros sólo soportan una única
dirección de transferencia de los datos..
RELOJES Y TEMPORIZADORES
• Proporciona: la hora, tiempo transcurrido y el valor de un
temporizador para activar la operación X a la hora T (cronómetro).
• El hardware para medir el tiempo transcurrido y activar operaciones
se denomina temporizador de intervalos programable y se lo
usa para fijar una cantidad de tiempo y genere una interrupción,
realice operaciones periódicas.
E/S CON BLOQUEO Y SIN BLOQUEO
• Con Bloqueo: se suspende la ejecución de dicha aplicación. La
mayoría de SO la utilizan, puesto que es más fácil de entender
y aplicar.
• Implementación multihilos.
• Algunos procesos a nivel de usuario necesitan E/S sin bloqueo,
ya que no detiene la ejecución de la aplicación por mucho
tiempo, regresando rápidamente con un valor de retorno que
indica cuántos bytes fueron transferidos.
• Asíncrono: llamada que regresa inmediatamente, sin esperar a
SUBSISTEMA DE E/S DEL KERNEL
• * El subsistema de E/S kernel ofrece varios servicios y se apoya en el
hardware y se apoya en la infraestructura de manejadores de dispositivo.
• * Los servicios son la planificación de E/S, la Asignación de buffers, la
asignación de caché, el spooling, la reservación de dispositivos y el manejo
de errores.
SUBSISTEMA DE E/S DEL KERNEL
PLANIFICACIÓN DE E/S
- Se debe determinar un orden adecuado para la ejecución de las
solicitudes.
- Mejora el desempeño global del sistema, así como compartir
equitativamente el acceso a dispositivos entre los procesos y reducir
el tiempo de espera promedio para la terminación de E/S.
- Los diseñadores de SO implementan la planificación manteniendo
una cola de solicitudes para cada dispositivo, puede darle prioridad
a las solicitudes sensibles a demoras (memeria virtual).
Empleo de buffers
 º buffer: área de memoria que
almacena datos mientras éstos
se transfieren entre dos
dispositivos o un dispositivo y
una aplicación.
 º Razones para el empleo de
buffers:
 1. Hacer frente a la falta de
correspondencia en velocidad
entre el productor y el
consumidor de un flujo de
datos.
 2. Lograr una adaptación entre dispositivos que
tienen diferentes tamaños de transferencia de datos
(fragmentación y reensamblaje de paquetes en la
red).
 3. Soportar semántica de copiado para E/S de
aplicaciones.
Empleo de Cachés
- Caché: Región de memoria rápida que contiene copias de datos. El
acceso a la caché es más eficiente que el acceso a la original.
- Diferencia entre buffer y caché es que el primero puede contener la
única copia existente de un elemento de datos y una caché sólo
contiene en almacenamiento más rápido una copia de un elemento
que reside en alguna otra parte.
- El empleo de cachés y de buffers son dos funciones distintas, aunque
en ocasiones se puede utilizar una región de memoria para ambos
propósitos.
Spooling y reservación de dispositivos
• Spool: es un buffer que contien la salida para un dispositivo, como una
impresora, que no puede aceptar flujos de datos entercalados.
• El spooling es una forma en que los SO pueden coordinar la salida
concurrente.
• Reservación de un dispositivo.- proporciona acceso exclusivo a un dispositivo.
Manejo de Errores
 Los dispositivos y las transferencias de E/S pueden fallar en
muchas formas, ya sea por razones transitorias o permanente.
 Los SO pueden a menudo compensar eficazmente las fallas
transitorias.
 Una llamada al sistema de E/S devolverá 1 bit de información
acerca del estado de la llamada, indicando ya sea un éxito o
fracaso.
 El hardware puede proporcionar una información de error con
gran detalle, aunque los SO actuales no lo hacen tan detallado.
ESTRUCTURA DE DATOS DEL
KERNEL
 El Kernel necesita mantener información de estado acerca del uso de
los componentes de E/S lo que realiza mediante tabla de archivos
abiertos, conexiones de red, estado de dispositivos de carácter,
etc…
 Algunos SO utilizan métodos orientados a objetos y el paso de
mensajes para llevar a cabo la E/S.
 El subsistema de E/S coordina una extensa colección de servicios,
que están disponibles para las aplicaciones y para otras partes del
kernel.
Estructura del Kernel de E/S de UNIX
MANEJO DE LAS SOLICITUDES DE
E/S
 Considere que se esta leyendo un archivo desde el disco para
un proceso:
 Determine el dispositivo que pertenece a ese archivo.
 Descifrar el nombre que representa a ese archivo.
 Si los datos no están en el buffer, realizar una E/S física.
 Asignar espacio para recibir datos y planificar E/S.
 Realizar transferencia de datos
 Determinar estado de solicitud
 Retornar el control al proceso.
Ciclo de vida de una solicitud de E/S
CAPÍTULO 11:
PROTECCIÓN
Objetivos de la Protección…….
 Necesidad de impedir una violación maliciosa e
intencionada de una restricción de acceso por parte de
un usuario.
 Garantizar que cada componente de programa activo
en un sistema utilice los recursos del sistema solo en
ciertas formas que sean coherentes con las políticas
establecidas.
Tomar en cuenta………
 Los mecanismos de protección pueden mejorar la
fiabilidad detectando los errores latentes en las interfaces
definidas entre los distintos subsistemas componentes.
 Un recurso no protegido puede no puede defenderse
frente al uso (o mal uso) por parte de un usuario no
autorizado o incompetente.
 El papel de la protección en un sistema informático es proporcionar
un mecanismo para la imposición de las políticas que gobiernen el
uso de los recursos.
 Los mecanismos son distintos de las políticas. Los
mecanismos determinan como sé llevará a algo a cabo,
las políticas deciden qué es lo que hay que hacer.
PRINCIPIOS DE LA PROTECCIÓN
• Principio del Mínimo Privilegio.- los programas los usuarios incluso a los
sistemas se les concedan únicamente los suficientes privilegios para llevar a cabo
sus tareas.
• Un SO que se ajuste al principio del mínimo privilegio implementará sus
características, programas, llamadas al sistema y estructuras de datos de
modo que el fallo o el compromiso de un componente provoquen un daño
mínimo.
• Los usuarios deberán crearse con una cuenta separada y con solo los
privilegios que ese usuario necesite.
• Ayuda a obtener un entorno informático más seguro.
DOMINIO DE LA PROTECCIÓN
• Un Sistema informático es una colección de procesos y objetos.
• Objetos Hardware (CPU, los segmentos de memoria, impresoras,
discos y unidades de cinta) y Objetos Software (archivos, programas y
procesos)
• A un proceso sólo se le debe permitir acceder a aquellos recursos
para los que tenga autorización .
• En un instante determinado, un proceso sólo puede acceder a
aquellos recursos que necesite actualmente para completar su tarea
(necesidad de conocer)
MATRIZ DE ACCESO
• El modelo de protección se puede contemplar de forma abstracta
como una matriz denominada matriz de acceso.
• Las filas de la matriz de acceso representan dominios y las columnas
representan objetos
REVOCACIÓN DE DERECHOS DE ACCESO
En ocasiones es necesario revocar derechos de acceso a los objetos
compartidos por diferentes usuarios. Diversas cuestiones acerca de la
revocación:
• Inmediata o Diferida: la revocación tiene lugar ahora o se produce
de forma diferida
• Selectiva o General: cuando se revoca un derecho de acceso a un
objeto afecta a todos los usuarios o se puede especificar un grupo.
• Parcial o Total: revocamos un subconjunto de los derechos o todos
los derechos.
• Temporal o Permanente: revocar el acceso de manera permanente
o revocar el acceso y obtenerlo de nuevo
Imposición de reglas basadas en el compilador
• Especificar el control de acceso deseado a un recurso compartido no
es otra cosa que realizar un enunciado declarativo acerca del recurso.
• Cuando se declara la protección junto con la definición de tipos, el
diseñador de cada subsistema puede especificar sus requisitos de
protección:
• Las necesidades de protección se declaran en lugar de
programarlas.
• Los requisitos de protección pueden enunciarse
independientemente de la funcionalidad proporcionada por el SO
concreto.
Imposición de reglas basadas en el compilador
¿ Cuáles son las ventajas relativas de imponer un mecanismo de
protección basándose en un Kernel en lugar del compilador?
Seguridad
Proporciona mayor grado de
seguridad del propio sistema de
protección
Menor grado de
seguridad
Flexibilidad
Existen límites en lo que
respecta al kernel a la hora de
implementar una política
definida por el usuario
Puede declararse la
política de protección e
imponerse según sea
necesario
Eficiencia
Mayor cuando esta soportada
por hardware
Menor
Kernel
Lenguaje de
Programación
Resumen
• Los sistemas informáticos contienen muchos objetos y éstos necesitan
protegerse frente a posibles malos usos.
• Un derecho de acceso es el permiso para realizar una operación sobre un
objeto.
• Un dominio es un conjunto de derechos de acceso.
• Los procesos se ejecutan en dominios y pueden usar cualquiera de los
derechos de acceso del dominio para acceder a los objetos y manipularlos.
• Durante su ciclo de vida un proceso puede estar limitado a un dominio de
protección o se le puede permitir que conmute de un dominio de protección a
otro.
• La matriz de acceso es un modelo de protección que proporciona un
mecanismo que no impone ninguna política concreta.
• UNIX proporciona protección de lectura, escritura y ejecución de manera
separada para el propietario, grupo y el público en general.
SEGURIDAD
“La seguridad no sólo significa tener un
sistema de protección adecuado sino
considerar el ambiente externo”
PROBLEMA DE LA SEGURIDAD
 Las violaciones a la seguridad (o mal uso) del
sistema pueden clasificarse en: maliciosas
(intencionales) o accidentales.
 Acceso mal intencionado:
 Lectura no autorizada de datos (robo de
información).
 Modificación no autorizada de datos.
 Destrucción no autorizada de Datos.
PROBLEMA DE LA SEGURIDAD
 Para proteger al Sistema, debemos tomar
medidas de seguridad en dos niveles:
 Nivel Físico: los sitios que contienen los
sistemas de cómputo, protegerse físicamente.
 Nivel Humano: los usuarios debe ser
investigados cuidadosamente a fin de reducir la
posibilidad de intrusos.
AUTENTICACIÓN
 ¿Cómo determinamos si la identidad de un
usuario es auténtica?
Contraseñas
 Cuando el Usuario se identifica a sí mismo
mediante un id de usuario o un nombre de
cuenta, se le pide una contraseña.
 Si la contraseña que proporciona corresponde
a la contraseña que tiene almacenad, el
sistema supone que el usuario es legítimo.
Vulnerabilidades de las
Contraseñas Dificultad de Mantenerlas Secretas
 La seguridad se compromete si se adivinan, se
divulgan accidentalmente o se transfieren de un
usuario autorizado a un no autorizado.
 El intruso conozca al usuario y tenga información
sobre él.
 Fuerza Bruta.
 Quedan expuestas como resultado de una vigilancia
visual o electrónica (ver o monitor de red).
 Las contraseñas pueden ser generadas por el
sistemas (difíciles de recordar, usuarios la anotan en
Contraseñas Cifradas
 Mantener la Contraseña Secreta algunos
sistemas como Linux, Cifran las contraseñas.
 Un problema es que muchos Sistemas UNIX
sólo tratan los primeros 8 caracteres de la
contraseña como significativos.
 Para evitar el método de cifrado de diccionario
algunos sistemas no permiten el uso de
palabras de diccionario como contraseñas.
 Una técnica consiste en generar una contraseña
utilizando la primera letra de cada palabra de
AMENAZAS A PROGRAMAS
 En un ambiente en el que un programa escrito
por un usuario puede ser usado por otro,
existe la posibilidad de un uso incorrecto, y dar
por resultado un comportamiento inesperado
Caballo de Troya
 Mitología Griega
 Un segmento de código que utilice
incorrectamente su ambiente se denomina
Caballo de Troya.
 Programa que emula un programa de conexión
Puerta Trasera
 El diseñador de un Programa o Sistema podría dejar
una agujero o una puerta secreta en el software que
sólo el diseño y sólo él es capaz de utilizar.
 Pélicula War Games
 Malversación de Fondos de Bancos
 Para evitar hay que analizar todo el código fuente de
los componentes del sistema.
 Los Sistemas de Sw pueden consistir de millones de
líneas de código este análisis no se realiza.
AMENAZAS AL SISTEMA
 Gusanos: es un proceso que utiliza el
mecanismo de engendrar para atacar
violentamente el desempeño del sistema.
 El gusano engendra copias de sí mismo,
consumiendo recursos del sistema y quizás
impidiendo su uso a los demás procesos.
 En redes de Computadoras los gusanos son
capaces de autorreproducirse entre los
sistemas y así paralizar la red
CAPÍTULO 12:
SISTEMAS DISTRIBUIDOS
MOTIVACIÓN Un sistemas distribuido es una colección de procesadores débilmente
acoplados interconectados a través de una red de comunicación.
 Estos procesadores se denominan: sitios, nodos, máquinas,
computadores, host.
MOTIVACIÓN Hay cuatro razones para construir un sistema distribuido:
 Compartición de recursos: Si hay varios nodos conectados entre
sí, un usuario en uno de los nodos puede utilizr los recursos
disponibles en otro.
 Aceleracenión de cálculos: Si un deterimnado cálculo puede
dividirse en una serie de calculos menor envergadura que pueden
ejecutarse de forma concurrente, un sistema distribuido permitira
distribuir esos subcálculos entre los diversos nodo.
 Fiabilidad: Si falla uno de los nodos, nodos restantes pueden
continuar operando.
 Comunicación: Cuando hay varios sitios conectados entre sí
mediante una red de comunicación, los usuarios de los diferentes
nodos tienen la oportunidad de intercambiar información.
TIPOS DE SO DISTRIBUIDOS
 Sistemas Operativos en red.
 Sistemas Operativos distribuidos.
Sistemas Operativos en Red Proporciona un entorno en la que los usuarios pueden acceder a
recuros remotos iniciando una sesión en una máquina remota.
Inicio de Sesión:
Una función importante que permitir a los usuarios iniciar una
sesión remota. Internet proporciona el protocolo telnet para este
proposito.
telnet cs.yale.edu
Este comando permiti iniciar una sesión remota.
El proceso en la maquina remota solicitara un usuario y clave.
Una vez recibidad la información correcta el procesos actuara como
proxy para el usuario, que podrá realizar sus cálculos en la máquina
remota exactamente igual que cualquier usuario local.
Sistemas Operativos en RedTransferencia remota de archivos:
El protocolo ftp permite acceder a un sistema de archivos remotos
ftp cs.yale.edu
El programa pedira un usuario y clave para iniciar sesión
Tambien se puede especificar un usuario anónimo (usuario
anonymous y clave arbitrarea)
 Comandos de ftp:
put: transfiere una archivos desde la máquina local a la máquina
remota.
get: transfiere un archivo desde la máquina remota a la máquina
local
ls / dir: enumerar los archivos situados en el directorio actual
cd: cambiar de directorio
Sistemas Operativos Distribuidos
Los usuarios acceden a recuros remotos de la misma forma que si lo
hicieran localmente.
Migración de datos
Una técnica de migración es transferir todos los datos remotos al
equipo local, una vez que ya no se necesiten, se devuelve una copia
del archivo al sitio remoto, aún si se ha hecho un pequeño cambio.
Otra técnica consiste en transferir la porción de datos que son
necesarios en ese momento y posteriormente se devolvera una copia de
esa porción.
Sistemas Operativos Distribuidos
Migración de Cálculos.
Supongamos que el proceso P quiere acceder a una archivo
situado en el nodo A y sacar un resumen de ese archivo.
Una técnica para ello es por medio de RPC, El proceso P invoca a
un procedimiento predefinido en el sitio A, ese procedimiento se
ejecutara de manera apropiada y luego devolvera el resultado a P.
Otra técnica es el envio de mensajes al sitio remoto. El proceso P
envía un mensaje al sitio A. El SO en el sitio A crea entonces un
proceso Q cuya función consiste en llevar a caba la tarea asignada.
Cuando el proceso Q termina su ejecución, devuelve el resultado a
P a través del sistema de mensajes.
Sistemas Operativos Distribuidos
Migración de Procesos.
Es una extensión lógica de la migarción de cálculos.
Cuando se inicia un proceso no siempre se ejecuta localmente, el
proceso completo o partes del mismo, pueden ejecutarce en
diferentes sitios.
Este sistema se puede emplear por diferentes razones:
Equilibrio de carga
Aceleración de cálculos
Preferencias de hardware
Preferencias de software
Acceso a datos
ESTRUCTURA DE UNA RED
Redes de área local Redes de área extensa
c
TOPOLOGÍA DE LA RED Se puede compara las distintas configuraciones son los siguientes
criterio.
Coste de instalación: Coste de enlazar fisicamente los nodos del
sistema
 Coste de comunicación: Coste de tiempo y en dinero para enviar
un mensaje.
Disponibiliad: El gardo hasta ek que puede accederse a los datos
a pesar del fallo de algún enlace o nodo.
TOPOLOGÍA DE LA RED
ESTRUCTURA DE COMUNICACIÓN
Estrategias de encaminamiento:
Encaminamiento fijo: Se especifica de antemano una ruta desde A
a B
Encaminamiento virutal: Se fija una ruta desde A hasta B mientras
dura una sesión
Encaminamiento dinámico: La ruta utilizada para enviar un mensaje
desde el sitio A a B se selecciona en el momento de seleccionar el
mensaje.
Estrategias de paquetes:
Generalmente los mensajes son de longitud variables. Para
simplificar el diseño se implementa las comunicicaciones mediante
mensajes de longiud fija denominados paquetes, tramas o
datagramas. Todo mensaje implementado en un único paquete
puede enviarse a su destino como un mensaje sin conexión.
ESTRUCTURA DE COMUNICACIÓN Estrategias de conexión
Una vez que los mensajes son capaces de alcanzar su destino, los
procesos pueden establecer sesiones de comunicación para
intercambiar información.
Comunicación de circuitos: Si dos procesos quieren comunicarce
establecen dos enlaces físicos permanentes.
Comunicación de mensajes: Si dos procesos quieren comunicarse
establecen un enlace temporal mientras dure la transferencia.
Comunicación de paquetes: Cada mensaje lógico puede dividirse
en una serie de paquetes. Cada paquete puede ser enviado a su
destino por separado y debe por tanto incluir una dirección origen y
destino a través de la red.
ESTRUCTURA DE COMUNICACIÓN Contienda
Esposible que varios sitios quieran transmitir información
simultameamente a través de un mismo enlace. Esta situación se
produce principalmente en redes anillo y de bus multiacceso. Por lo
que hay que establecer técnicas para evitar las colisiones repentinas.
CSMA/CD: Antes de transmitir un mensaje por el enlace el nodo
debe ponerse a la escucha para determinara si se esta transmitiendo
otro mesnaje, estas técnica se denomina detección de portadora con
acceso múltiple. Si el enlace esta libre puede transmitir caso
contrario debe esperar hasta que este libre.
Paso de testigo: Un testigo circula por el sistema. El sistio que
necesite transmitir información deberá esperar hasta que le llege el
testigo. Entonces, el nodo elimina el testigo y empieza a transmitir
sus mensajes.
PROTOCOLOS DE COMUNICACIÓN
 Nivel físico
Nivel de enlace de datos
Nivel de red
Nivel de transporte
Nivel de sesión
Nivel de presentación
Nivel de Aplicación
ROBUSTEZ En un sistema distribuido puede haber fallas en un enlace, en un sitio
y la perdida de mensajes. Para garantizar la robustez del sistema,
podemos detectar todos esos fallos, reconfigurando el sisetma de forma
que el procesamiento pueda continuar y efectuar la correspondiente
recuperación conado se repare un sitio o enlace.
Detección de fallos
En un entorno sin memoria compartida no podemos diferenciar
entre fallos de enlace, de sitio o permidida de mensajes. Usualmente
lo único que se puede detectar es que se ha producido un fallo.
Para detectar que se ha producido un fallo de enlace y de sitio
podemos utilizar un procedimiento de contacto.
ROBUSTEZDetección de fallos
Supongamos que el sitio A y B tiene un enlace físico directo entre
ellos, Ambos envia un mensaje Estoy Funcionando. Si el sitio A no
recibe ese mensaje dentro de un periodo de tiempo predeterminado,
se puede sumir que el sitio B ha fallado, que el enlace entre A y B ha
fallado o que el mensaje se ha perdido.
Para diferenciar entre un fallo del enlace y el de sitio. Se puede
enviar otro mensaje ¿Estas funcionando? A través de otra ruta.
Cuando B reciba el mensaje respondera inmediatamente. Esta
respuesta le dice a A que el enlace directo entre A y B esta fallando.
Caso contrario puede darse la siguintes situaciones:
El sitio a fallado.
El enlace directo entre A y B a fallado.
La ruta alternativa a fallado.
El mensaje se ha perdido.
ROBUSTEZReconfiguración
En caso que se haya deteminado que se ha producido un fallo,
deberá iniciar un procedimiento que permita al sistema
reconfigurarse y continuar con su modo normal de operación.
Si ha fallado un enlace entre A y B, debe difindirse a todos los sitios
del sistema, para poder actualizar correspondientemente las
diversas tablas de encaminamiento.
Si el sistema cree que el sitio a fallado debe notofocar a todos los
sistemas, para que no intenten utilizar los servicios del sitio que ha
fallado.
Recuperación de fallos
Supongamis que el enlace ha fallado. Cuando se repare el enlace
entre A y B debe notificarse tanto a A como a B.
Supongamso que el sitio B ha fallado. Cuando se recupere deberá
notificarse a todos los sitios que ya está en funcionamiento de nuevo.
Sistemas Operativos - Memoria Virtual y Sustitución de Páginas

Más contenido relacionado

La actualidad más candente

La actualidad más candente (14)

Darcy v. florez
Darcy v. florezDarcy v. florez
Darcy v. florez
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
Trabajo de tic
Trabajo de ticTrabajo de tic
Trabajo de tic
 
Componentes del ordenador
Componentes del ordenadorComponentes del ordenador
Componentes del ordenador
 
Tics 1
Tics 1Tics 1
Tics 1
 
Alfabetización informática
Alfabetización informáticaAlfabetización informática
Alfabetización informática
 
Basic cumputer hardware and software
Basic cumputer hardware and softwareBasic cumputer hardware and software
Basic cumputer hardware and software
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Estructura de un computador moderno mapa mental
Estructura de un computador moderno   mapa mentalEstructura de un computador moderno   mapa mental
Estructura de un computador moderno mapa mental
 
Trabajo practico n° 1
Trabajo practico n° 1Trabajo practico n° 1
Trabajo practico n° 1
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
4.5
4.54.5
4.5
 
Exposicion jueves-p.-u
Exposicion jueves-p.-uExposicion jueves-p.-u
Exposicion jueves-p.-u
 
Hardware
HardwareHardware
Hardware
 

Destacado

Sistemas Operativos.Ppt Aat
Sistemas Operativos.Ppt AatSistemas Operativos.Ppt Aat
Sistemas Operativos.Ppt Aatalvaro976
 
Hardware Periféricos - Accesorios de la PC
Hardware Periféricos - Accesorios de la PCHardware Periféricos - Accesorios de la PC
Hardware Periféricos - Accesorios de la PCCarlos Daviran
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptualrulfur
 
Definición de software
Definición de softwareDefinición de software
Definición de softwarevalentina20000
 
Practicas: "MICROSOFT WORD"
Practicas: "MICROSOFT WORD"Practicas: "MICROSOFT WORD"
Practicas: "MICROSOFT WORD"'Aroo Juárez
 
Los sistemas operativos (diapositivas).
Los sistemas operativos (diapositivas).Los sistemas operativos (diapositivas).
Los sistemas operativos (diapositivas).SebastianDelM
 
Presentacion sistemas operativos diapositivas
Presentacion sistemas operativos diapositivasPresentacion sistemas operativos diapositivas
Presentacion sistemas operativos diapositivasmortiz780
 
Cuaderno de prácticas de microsoft word
Cuaderno de prácticas de microsoft wordCuaderno de prácticas de microsoft word
Cuaderno de prácticas de microsoft wordRurus9
 
Presentación power point sistemas operativos
Presentación power point sistemas operativosPresentación power point sistemas operativos
Presentación power point sistemas operativosspursua
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativospaesor
 
Sistemas operativos presentacion diapositivas
Sistemas operativos presentacion diapositivasSistemas operativos presentacion diapositivas
Sistemas operativos presentacion diapositivasdavidfede
 

Destacado (20)

Sistema Operativo ppt
Sistema Operativo pptSistema Operativo ppt
Sistema Operativo ppt
 
Sistemas Operativos.Ppt Aat
Sistemas Operativos.Ppt AatSistemas Operativos.Ppt Aat
Sistemas Operativos.Ppt Aat
 
Seguridad informática
Seguridad informáticaSeguridad informática
Seguridad informática
 
Unidad 2. sistemas operativos
Unidad 2. sistemas operativosUnidad 2. sistemas operativos
Unidad 2. sistemas operativos
 
Hardware Periféricos - Accesorios de la PC
Hardware Periféricos - Accesorios de la PCHardware Periféricos - Accesorios de la PC
Hardware Periféricos - Accesorios de la PC
 
Sistemas operativos.pptx modulo 1
Sistemas operativos.pptx modulo 1Sistemas operativos.pptx modulo 1
Sistemas operativos.pptx modulo 1
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
Definición de software
Definición de softwareDefinición de software
Definición de software
 
Practicas: "MICROSOFT WORD"
Practicas: "MICROSOFT WORD"Practicas: "MICROSOFT WORD"
Practicas: "MICROSOFT WORD"
 
Mapa conceptual de microsoft word
Mapa conceptual de microsoft wordMapa conceptual de microsoft word
Mapa conceptual de microsoft word
 
Entorno de windows
Entorno de windowsEntorno de windows
Entorno de windows
 
Los sistemas operativos (diapositivas).
Los sistemas operativos (diapositivas).Los sistemas operativos (diapositivas).
Los sistemas operativos (diapositivas).
 
Presentacion sistemas operativos diapositivas
Presentacion sistemas operativos diapositivasPresentacion sistemas operativos diapositivas
Presentacion sistemas operativos diapositivas
 
Entorno de Windows
Entorno de WindowsEntorno de Windows
Entorno de Windows
 
Cuaderno de prácticas de microsoft word
Cuaderno de prácticas de microsoft wordCuaderno de prácticas de microsoft word
Cuaderno de prácticas de microsoft word
 
Presentación power point sistemas operativos
Presentación power point sistemas operativosPresentación power point sistemas operativos
Presentación power point sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos y sus funciones
Sistemas operativos y sus funcionesSistemas operativos y sus funciones
Sistemas operativos y sus funciones
 
Sistemas operativos presentacion diapositivas
Sistemas operativos presentacion diapositivasSistemas operativos presentacion diapositivas
Sistemas operativos presentacion diapositivas
 
Secuencias did 2015 bloque 1
Secuencias did 2015 bloque 1Secuencias did 2015 bloque 1
Secuencias did 2015 bloque 1
 

Similar a Sistemas Operativos - Memoria Virtual y Sustitución de Páginas

SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtualjolhaln
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtualjolhaln
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativosfresjunior
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtualakany
 
Memorias (Sistemas Operativos)
Memorias (Sistemas Operativos)Memorias (Sistemas Operativos)
Memorias (Sistemas Operativos)JaderValdivia
 
Memoria virtual formato a
Memoria virtual formato aMemoria virtual formato a
Memoria virtual formato aEdison_Pillajo
 
Paginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtualPaginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtualGloria Salamanca
 
Paginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtualPaginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtualelmunera
 
Gestión de memoria virtual
Gestión de memoria virtualGestión de memoria virtual
Gestión de memoria virtualUTPL UTPL
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoriaguestaff6d2
 
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSMEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSAnnimoLatinoamerica
 

Similar a Sistemas Operativos - Memoria Virtual y Sustitución de Páginas (20)

SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
memoria_virtual
memoria_virtualmemoria_virtual
memoria_virtual
 
memoria_virtual
memoria_virtualmemoria_virtual
memoria_virtual
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativos
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memorias (Sistemas Operativos)
Memorias (Sistemas Operativos)Memorias (Sistemas Operativos)
Memorias (Sistemas Operativos)
 
Memoria virtual formato a
Memoria virtual formato aMemoria virtual formato a
Memoria virtual formato a
 
Paginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtualPaginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtual
 
Paginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtualPaginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtual
 
Gestión de memoria virtual
Gestión de memoria virtualGestión de memoria virtual
Gestión de memoria virtual
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSMEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
 
Cuentionario
CuentionarioCuentionario
Cuentionario
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 

Último

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 

Último (7)

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 

Sistemas Operativos - Memoria Virtual y Sustitución de Páginas

  • 1. SISTEMAS OPERATIVOS CIENCIAS DE LA COMPUTACIÓN Liliana Enciso SEGUNDO BIMESTRE Abril Agosto 2011
  • 2. CAPÍTULO 8 : MEMORIA VIRTUAL CAPÍTULO 8 : MEMORIA VIRTUAL
  • 3. Fundamentos• La técnica de Memoria Virtual es un mecanismo que permite la ejecución de procesos que no se encuentran completamente en la memoria. • Una ventaja es que los programas pueden tener un tamaño mayor que la propia memoria física • La memoria virtual no resulta fácil de implementar y puede reducir sustancialmente el rendimiento del sistema si se la utiliza sin el cuidado. Requisitos Colocar el espacio completo de direcciones lógicas dentro de la memoria física • Limita el tamaño de los programas, de manera que éstos no puedan exceder del tamaño de la propia memoria física.
  • 4. Fundamentos• Se ha comprobado que en muchos casos no es necesario tener el programa completo para poder ejecutar: • Los programas incluyen código para tratar las condiciones de error poco usuales (éstos errores ocurren rara vez). • A las matrices, a las listas y a las tablas se les suele asignar más memoria de la que realmente necesitan. • Ciertas opciones y características de un programa se utilicen raramente. • Y en aquellos casos en que se necesite el programa completo, puede suceder que no todo el programa sea necesario al mismo tiempo.
  • 5. Fundamentos • La posibilidad de ejecutar un programa que sólo se encontrará parcialmente en la memoria proporciona muchas ventajas: • Los programas ya no estarán restringidos por la cantidad de memoria física disponible, se podrán escribir programas para un espacio de direcciones virtual extremadamente grande. • Cada programa de usuario podría ocupar menos memoria física, se podrán ejecutar más programas al mismo tiempo. • La posibilidad de ejecutar un programa que sólo se encontrará parcialmente en la memoria proporciona muchas ventajas:
  • 6. Fundamentos• La memoria virtual incluye la separación de la memoria lógica tal como la percibe el usuario con respecto a la memoria física. • La memoria virtual facilita la tarea de programación por que el programador ya no tiene por que preocuparse de la cantidad de memoria física disponible sino en el problema que deba resolver con su programa. • La MMU (Unidad de manejo de memoria) tiene la responsabilidad de establecer la correspondencia entre las páginas lógicas y los marcos de página física de la memoria.
  • 7.
  • 8.
  • 9. Sustitución de Páginas • Cuando se está ejecutando un proceso de usuario, se produce un fallo de página, el SO determina donde reside la página deseada dentro del disco y entonces se encuentra con que no haya ningún marco libre en la lista de marcos libres, toda la memoria esta siendo utilizada, parano hay ningún marco libre, localizamos uno que no este siendo actualmente utilizado y lo liberamos. • El mecanismo de sustitución de páginas es: • Hallar la ubicación de la página deseada dentro del disco. • Localizar un marco libre. • Si hay un marco libre utilizarlo • Si no hay seleccionar una víctima (algoritmo de sustitución) • Escribir el marco de víctima en el disco. • Leer la página deseada y cargarla en el marco • Reiniciar el proceso de usuario. esto se utiliza la técnica de sustitución de páginas • Si
  • 10.
  • 11. Sustitución de Páginas • A la hora de implementar páginas bajo demanda hay que resolver dos problemas:  Algoritmos de asignación de marcos  Algoritmos de sustitución de páginas. • Si tenemos multiples procesos en memoria se debe decidir cuantos marcos se va a asignar a cada proceso. • Los algoritmos de sustitución son muy importantes debido a que las operaciones de E/S son muy costosas en términos de rendimiento. • Una de los aspecto a tomar en cuenta para la implementación d eun algoritmo de sustitución es la tasa de fallos de página más baja.
  • 12. Sustitución de Páginas FIFO • Asocia cada página el instante en que dicha página fue cargada en memoria. • Cuando hace falta sustituir una página se elige la páginas mas antigua. • Se crear un cola FIFO para almacenar todas las páginas en memoria y sustituir la página situada al principio de la cola. • Es fácil de entender y de programar, sin embargo su rendimiento no siempre es bueno. • Anomalía de Belady la tasa de fallos de página puede incrementarse a medida que se incrementa el número de marco asignados.
  • 15. Sustitución de Óptima de Páginas • Un algoritmo óptimo de sustitución es aquel que tenga la tasa de más baja de fallos entre todos los algoritmos y que nunca este sujeto a la anomalía de Belady. • Sustituir la página que no vaya a ser utilizada durante el período de tiempo más largo. • Difícil de implementar por que requiera un conocimiento futuro de la cadena de referencia.
  • 16. Sustitución de Páginas LRU • Sustituir la página que no haya sido utilizada durante el período más largo de tiempo. • Menos recientemente utilizada. • LRU asocia con cada página el instante correspondiente al último uso de dicha página. • El problema es como implementar este algoritmo
  • 17. Sustitución de Páginas LRU • Contadores: asociamos con cada entada en la tabla de páginas un campo de tiempo uso y añadimos a la CPU un reloj lógico o contador. •El reloj se incrementa con cada referencia a memoria . • Así tenemos el tiempo de la última referencia a cada página • Podremos sustituir la página que tenga el valor temporal menor • Pila: mantener una pila de números de página, cada vez que se hace referencia a una página, se extrae esa página de la pila y se la coloca en la parte superior. •La página mas recientemente utilizada se encontrará siempre en la parte superior de la pila.
  • 18.
  • 19. Sobrepaginación  Si un proceso no dispone de suficientes marcos generará rápidamente fallos de página. Deberá sustituir alguna página sin embargo como todas sus páginas se están usando activamente se verá forzado a sustituir una página que volverá a ser utilizada enseguida. Volverá a generar otro fallo de página Esta alta tasa de paginación se conoce como sobrepaginación Un proceso entrará en sobrepaginación cuando invierte más tiempo generando fallos de página que en la ejecución propia del proceso Provoca problemas de rendimiento
  • 20. Sobrepaginación Las causas de la Sobrepaginación El SO monitoriza la utilización de la CPU. Si la tasa de utilización es demasiado baja, se incrementa el grado de multiprogramación. Si entra un proceso nuevo y necesita más marcos de memoria. El proceso comenzará a generar fallos de páginas y a quitar marcos a otros procesos. Dichos procesos también necesitaran los marcos y comenzarán agenerar fallos de páginas. Como cada proceso está esperando por el dispositivo de paginación, la tasa de utilización de CPU disminuye.
  • 21. Sobrepaginación  Para evitar los efectos de sobrepaginación se puede utilizar las asignación local. Para prevenir la sobrepaginación se debe asignar a los procesos los marcos necesarios. Una técnica para definir esto es el modelo de localidad.
  • 22. Sobrepaginación  Otra forma de controlar la sobrepaginación es con la frecuencia de fallos de páginas. Sabemos que cuando la tasa de fallos de página es alta el procesos requiere más marcos y a la inversa si es baja pueda que el proceso tenga demasiados marcos.
  • 23. CAPÍTULO 9: Interfaz del Sistema de Archivos
  • 24. ARCHIVO • Un archivo desde la perspectiva del usuario es la unidad más pequeña de almacenamiento secundario lógico; en otras palabras no se puede escribir datos en almacenamiento secundario a menos que se encuentre en un archivo. •Los archivos de datos pueden ser: numéricos, alfabéticos, alfanuméricos o binarios. •Puede haber archivos de formato libre o rígido •Es una secuencia de bits, bytes, líneas o registros cuyo significado es definido por el creador y el usuario del mismo. •Un archivo tendrá una estructura definida dependiendo de su tipo (text, ejecutables,código fuente, etc)
  • 25. Atributos de un archivoLos atributos de un archivo varían de un sistema a otro •Nombre: Es única información que se mantiene en formato legible para las personas •Identificados: Es una etiqueta unívoca dentro del sistema de archivos (versión de nombre no legible por las personas) •Tipo: Esta información es necesaria para aquellos sistemas que se soportan diferentes tipos. •Ubicación: Es un puntero a un dispositivo y la ubicación dentro del dispositivo. •Tamaño: Expresa el tamaño actual del archivo (bytes, palabras o bloques). •Protección: Información de control de acceso. Quién puede leer, escribir ejecutar el archivo. •Fecha, hora e identificador del usuario: Esta información puede mantenerse para los sucesos de creación, última modificación y último uso del archivo.
  • 26. Operaciones con los archivos Creación de un archivo: Para crear un archivo hace falta ejecutar dos pasos. 1º encontrar espacio para el archivo dentro del sistema de archivos y 2º incluir en el directorio la entrada del nuevo archivo. Escritura en un archivo: Se debe realizar una llamada a un sistemas que especifique tanto el nombre como la información que hay que escribir en el archivo. Lectura de un archivo: Se debe realizar una llamada al sistema que especifique el nombre del archivo y dónde debe colocarse (dentro de la memoria) el siguiente bloque del archivo. Reposicionamiento del archivo: Se explora el directorio para hallar la correspondiente entrada y se reposiciona el puntero de posición actual dentro de un archivo, asignándole un nuevo valor. Borrado de un archivo: Exploramos el directorio en busca del archivo indicado y liberamos todo el espacio del archivo. Truncado de un archivo: EL usuario puede querer borrar el contenido de un archivo, pero mantener sus atributos.
  • 27. Tipos de archivos •Una técnica común para implementar los tipos de archivos es incluir el tipo como parte del nombre. (Nombre y una extensión separados generalmente por un punto)
  • 28. MÉTODOS DE ACCEOS • Se puede acceder a la información de un archivo de varias formas. Algunos sistemas soportan un forma de acceso mientras que otros varias como es el caso de IBM. •Acceso Secuencial: La información se lee en orden, un registro después de otro, es el más común. Es soportado por dispositivos de acceso secuencial como aleatorio.
  • 29. Estructura de Almacenamiento •Acceso Directo: El proceso puede leer el registro en cualquier orden, permitiendo leer o escribir bloques arbitrariamente. • Estos son útiles para un acceso inmediato en grandes cantidades de información. Ejm: BD •En el método de acceso director las operaciones de archivos deben modificarse para incluir el número de bloque como parámetro. •Para realizar la operación leer n, ejecutamos primero posicionar en n y luego leer siguiente
  • 30. ESTRUCTURA DE DIRECTORIOS • En ocasiones es deseable colocar múltiples sistemas de archivos en un mismo disco o utilizar partes de un disco para un sistema de archivos y otra para otra cosa, como por ejemplo: espacio de intercambio. Estas partes se conocen con diversos nombres como particiones, franjas o minidiscos. •De la misma manera podemos querer unir varios discos o partes para tener un estructura de mayor tamaño a esto se lo conoce como volúmenes y también crear sistemas de archivos en dichos volúmenes. •Cada volumen que contenga un sistema de archivos debe también contener información acerca de los archivos almacenados en el sistema. Esta información se almacena como entradas en un directorio de dispositivo o tabla de contenidos del volumen. Este directorio almacena información de todos los archivos: nombre, ubicación, tamaño y tipo.
  • 32. ESTRUCTURA DE DIRECTORIOS Operaciones sobre un directorio • Búsquedas de un archivo. • Crear un archivo • Borrar un archivo • Listar un directorio • Renombrar un archivo • Recorrer el sistema de archivos
  • 33. ESTRUCTURA DE DIRECTORIOS Directorios de un único nivel • Todos los archivos están contenidos en un mismo directorio y resulta fácil de mantener y comprender. • Tiene limitaciones significativos cuando el número de archivos se incrementa o cuando el sistema tiene más de un usuario. Puestos que todos los archivos se encuentran en un mismo directorios deberán tener nombres distintos.
  • 34. ESTRUCTURA DE DIRECTORIOS Directorios de dos nivel • Una solución al problema de los directorios de un solo nivel es crear un directorio por cada usuario (directorio de archivos de usuario, UFD) • Si un usuario quiere acceder a un archivo de otro usuario deberá especificar toda la ruta del archivo. • Se puede tener archivos con nombres similares pero que pertenezcan a diferentes usuarios.
  • 35. ESTRUCTURA DE DIRECTORIOS Directorios con estructuras de árboles • Permite a los usuarios crear sus propios subdirectorios y organizar sus archivos. • Cada directorio tiene un conjunto de archivos o subdirectorios. Un subdirectorios es simplemente un archivo • Las rutas pueden ser absolutas o relativas
  • 36. ESTRUCTURA DE DIRECTORIOS Directorios en un grafo acíclico • Compartición de subdirectorios. Cada directorio o archivo compartido existirá en el sistema de archivos en dos lugares simultáneamente. • Compartición mediante enlaces (link) o duplicando la información • Es una estructura más compleja por que se va a tener varios nombre de un mismo archivo.
  • 37. ESTRUCTURA DE DIRECTORIOS Directorios en formato de grafo general • Uno de los problema del grafo acíclico es garantizar que no existan ciclos ya que el sistema entraría en un bucle infinito • Una solución a esto consiste en limitar arbitrariamente el número de directorio a la se accederá durante una búsqueda. • Otra solución son algoritmos que detecten la existencia de un ciclo, pero estos tiene un costo muy alto desde el punto de vista computacional
  • 38. MONTAJE DE SISTEMAS DE ARCHIVOS • De la misma forma en que un archivo debe abrirse antes de utilizarlos, un sistema de archivos debe montarse antes de estar disponible para los procesos del sistema. • Para el montaje, al sistema operativo se le especifica el nombre del dispositivo y un punto de montaje Por lo general este punto de montaje será un directorio vacío. • Luego el sistema verifica si el dispositivo tiene un sistema de archivos válido. • Finalmente el sistema operativo registra en su estructura de directorios que hay un sistema de directorios montado en el punto de montaje especificado.
  • 39.
  • 40.
  • 41. COMPARTICIÓN DE ARCHIVOS Múltiples Usuarios • Un sistema con múltiples usuarios requiere compartir los archivos. Una forma para ellos es estableciendo: •Propietario: quien podrá realizar cualquier operación sobre dicho archivo. •Grupo de usuarios: quienes podrán realizar un conjunto de operaciones definidas por el propietario •Otros usuarios: quieres podrán realizar operaciones definidas por el propietario. • El identificador del propietario y del grupo de un archivo se almacenan junto con los otros atributos del archivo.
  • 42. COMPARTICIÓN DE ARCHIVOS Sistemas de archivos remotos • Con la interconexión por red la compartición de una serie de recursos que son son distribuidos por un campus o por todo el mundo. Uno de los primeros sistemas de este tipo fue el FTP. • Modelo Clientes-Servidor •Los sistemas de archivos remotos permiten a una computadora montar uno o más sistemas de archivos desde una o varias máquinas remotas. En este caso la maquina que contiene los archivos se denomina servidor y la que trata de acceder a los archivos es el cliente. •La identidad del clientes puede estar dada por el segmento de red o la dirección ip, las cuales pueden ser suplantadas o imitadas. •Otra solución es la autentifican del cliente mediante claves cifradas. •Ejemplo NFS (Sistemas de Archivos en Red).
  • 43. COMPARTICIÓN DE ARCHIVOS Sistemas de archivos remotos • Sistemas de información distribuidas •Proporcionan un acceso unificado a la información necesaria para la información remota. •Ejemplo: Ldap, Active Directory. •Modos de fallo: •En los sistemas de archivos remotos se tiene una más modos de fallo, debido a su complejidad de los sistemas de red y a las interacciones requeridas entre las máquinas remotas, puede existir el caso las redes pueden verse interrumpidas por algún fallo en la configuración de la red. Aunque algunas redes implementan mecanismos de protección como la existencia de múltiples rutas, otras muchas no disponen de un mecanismo de protección. •Para implementar un recuperación de fallos, puede mantenerse información de estado tanto en el cliente como en el servidor. Si los dos mantienen información de sus actividades actuales, podrá recuperar transparentemente de un fallo
  • 44. PROTECCIÓN Sistemas de archivos remotos • Cuando se almacena información en un sistema, necesitamos protegerla frente a los daños físicos y a los accesos incorrectos. • Tipos de Accesos •Lectura •Escritura •Ejecución •Adición •Borrado •Listado
  • 45. PROTECCIÓN Sistemas de archivos remotos • Control de Acceso •El acceso depende de la identidad del usuario. Consiste en asociar con cada archivo y directorio un lista de control de acceso (acl) que especifique el nombre del usuario y los tipos de acceso que se permiten para cada uno. •Propietario •Grupo •Universo •Ejemplo 19 -rw-r--r-- jim staff 130 May 25 22:13 file1
  • 46. CAPÍTULO 10: SISTEMA DE ENTRADA Y SALIDA
  • 47. SISTEMAS DE ENTRADA/SALIDA Generalidades de los Sistemas de E/S Hardware de E/S Subsistema de E/S Técnicas de E/S
  • 48. SISTEMAS DE ENTRADA/SALIDA • Analizar la estructura del subsistema de E/S de un sistema operativo. •Explorar los principios en que se basa el hardware de E/S y los aspectos relativos a su complejidad.
  • 49. GENERALIDADES DE LOS SISTEMAS DE E/S Para los diseñadores de SO, el control de los dispositivos conectados a la computadora es de primordial interés, debido a que cada dispositivo cambia sus funciones y velocidad por lo cual se requiere variedad de métodos para controlarlos. Estos métodos de E/S forman el subsistema de E/S del kernel, el cual aisla al resto del kernel de la complejidad de la administración de los dispositivos de E/S. La tecnología de E/S exhibe dos tendencias que están en conflicto: * Creciente estandarización de las interfases de SW y HW con los cual se ayuda a incorporar en las computadoras y SO generaciones mejoradas de dispositivos.
  • 50. GENERALIDADES DE LOS SISTEMAS DE E/S •Nuevos dispositivos que son tan diferentes los anteriores que se son difíciles de incorporar en las computadoras y SO; por lo que se convierte en un reto esta incorporación a través de combinación de técnicas de HW y SW. Los detalles y peculiaridades de los diferentes dispositivos se encapsulan en módulos de manejadores de dispositivos (interfaz uniforme de acceso a dispositivos con el subsistema de E/S). Para lo cual se estructura al kernel del sistema operativo para que use estos módulos.
  • 51. OBJETIVOS DEL SISTEMA DE E/S •Proporcionar una interfaz uniforme para el acceso a los dispositivos (independencia del dispositivo). •Proporcionar manejadores (drivers) para los dispositivos concretos •Tratar automáticamente los errores más típicos. •Para los dispositivos de almacenamiento, utilizar cachés. •Para los discos, planificar de forma óptima las peticiones.
  • 52. HARDWARE DE E/S Un dispositivo se comunica con un sistema de cómputo enviando señales a través de un cable o incluso a través de aire. El dispositivo se comunica: •Con la máquina mediante un punto de conexión llamado puerto. •Si uno o más dispositivos utilizan un conjunto de cables, la conexión se denomina bus.
  • 53. HARDWARE DE E/S Un controlador es un conjunto de componentes electrónicos que pueden operar un puerto, un bus o un dispositivo. Los controladores pueden ser sencillos (controlador de puerto serial) o complejos (controlador de bus SCSI). Los dispositivos de E/S que se conectan al ordenador se clasifican en: BLOQUE: La información se almacena en bloques, esos bloques son de tamaño fijo. Donde cada bloque tiene una dirección que lo identifica. Se puede leer o escribir en un bloque independiente de los demás. Por ejemplo: disquete, CD, DVD, disco duro.
  • 54. HARDWARE DE E/S CARÁCTER: La información que se generan o reciben son flujos de caracteres (no bloques). Accede a los datos en secuencia: o sea, para acceder a determinados datos, la lectura y escritura se debe hacer seguido de los datos anteriores. Por ejemplo: teclado, pantalla, cinta, ratones. A continuación un cuadro comparativo de diferentes dispositivos:
  • 55. HARDWARE DE E/S ¿Cómo puede el procesador entregar comandos y datos a un controlador para realizar una transferencia de E/S? • El controlador tienen uno o más registros para datos y señales de control. • El procesador se comunica con el controlador leyendo y escribiendo patrones de bits en estos registros. Hay dos formas de comunicación: 1) Mediante el uso de interrupciones especiales de E/S que especifican la transferencia de un byte o palabra a la dirección de un puerto de E/S. 2) El controlador de dispositivo puede soportar E/S con mapeo en memoria; en este caso los registros de control del dispositivo se mapean en el espacio de direcciones del procesador.
  • 56. HARDWARE DE E/S Ubicación de puertos de E/S para dispositivos en computadoras compatibles con PC
  • 57. INTERRUPCIONES • Una interrupción es el mecanismo que le permite al controlador de hardware notificar a la CPU cuando un dispositivo esta listo para servicio. • El mecanismo básico de interrupción habilita a la CPU para responder a un evento asíncrono, el cual puede ser que el controlador de dispositivo quede listo para dar servicio
  • 58.  Características para el manejo de interrupciones:  - Capacidad para diferir el manejo de interrupciones durante un procesamiento crítico.  - Eficiente manejo de interrupciones para un buen desempeño del sistema (evitar hacer escrutinio).  - Basado en prioridad.   Líneas de solicitud de interrupción CPU:  * Interrupción no mascarable: eventos como errores de memoria no recuperables.  * Inerrupción Mascarable: pueder ser apagada por la CPU antes de la ejecución de secuencias críticas que no deben ser interrumpidas.
  • 59. Tabla de vectores del procesador Pentium de Intel
  • 60. ACCESO DIRECTO A MEMORIA • Evitar usar el proceso de E/S programada cuando se transfieren datos grandes para no sobrecargar la CPU. • Transferir parte del trabajo a un procesador de propósito especial denominado controlador de acceso directo a memoria (DMA). • Cuando la CPU escribe la dirección del bloque de comandos en el controlador de DMA, luego sigue con otro trabajo y el controlador de DMA opera directamente el bus de la memoria colocando direcciones para realizar transferencias sin ayuda de la CPU principal. • Algunas arquitecturas utilizan direcciones de memoria física para DMA, pero otras efectúan un acceso directo a memoria virtual, utilizando direcciones virtuales que se traduciran a direcciones de memoria fisica.
  • 61. Pasos en una transferencia DMA
  • 62. INTERFAZ DE E/S DE LAS APLICACIONES  Compartible o dedicado: Un dispositivo compartible puede ser usado de forma concurrente por varios procesos o hebras; un dispositivo dedicado no puede ser compartido de esta forma.  Velocidad de operación: Las velocidades de los dispositivos van desde unos pocos bytes por segundo a unos cuantos gigabytes por segundo.  Lectura-escritura; sólo lectura o sólo escritura: Algunos dispositivos realizan tanto entrada como salida, pero otros sólo soportan una única dirección de transferencia de los datos..
  • 63. RELOJES Y TEMPORIZADORES • Proporciona: la hora, tiempo transcurrido y el valor de un temporizador para activar la operación X a la hora T (cronómetro). • El hardware para medir el tiempo transcurrido y activar operaciones se denomina temporizador de intervalos programable y se lo usa para fijar una cantidad de tiempo y genere una interrupción, realice operaciones periódicas.
  • 64. E/S CON BLOQUEO Y SIN BLOQUEO • Con Bloqueo: se suspende la ejecución de dicha aplicación. La mayoría de SO la utilizan, puesto que es más fácil de entender y aplicar. • Implementación multihilos. • Algunos procesos a nivel de usuario necesitan E/S sin bloqueo, ya que no detiene la ejecución de la aplicación por mucho tiempo, regresando rápidamente con un valor de retorno que indica cuántos bytes fueron transferidos. • Asíncrono: llamada que regresa inmediatamente, sin esperar a
  • 65. SUBSISTEMA DE E/S DEL KERNEL • * El subsistema de E/S kernel ofrece varios servicios y se apoya en el hardware y se apoya en la infraestructura de manejadores de dispositivo. • * Los servicios son la planificación de E/S, la Asignación de buffers, la asignación de caché, el spooling, la reservación de dispositivos y el manejo de errores.
  • 66. SUBSISTEMA DE E/S DEL KERNEL
  • 67. PLANIFICACIÓN DE E/S - Se debe determinar un orden adecuado para la ejecución de las solicitudes. - Mejora el desempeño global del sistema, así como compartir equitativamente el acceso a dispositivos entre los procesos y reducir el tiempo de espera promedio para la terminación de E/S. - Los diseñadores de SO implementan la planificación manteniendo una cola de solicitudes para cada dispositivo, puede darle prioridad a las solicitudes sensibles a demoras (memeria virtual).
  • 68. Empleo de buffers  º buffer: área de memoria que almacena datos mientras éstos se transfieren entre dos dispositivos o un dispositivo y una aplicación.  º Razones para el empleo de buffers:  1. Hacer frente a la falta de correspondencia en velocidad entre el productor y el consumidor de un flujo de datos.
  • 69.  2. Lograr una adaptación entre dispositivos que tienen diferentes tamaños de transferencia de datos (fragmentación y reensamblaje de paquetes en la red).  3. Soportar semántica de copiado para E/S de aplicaciones.
  • 70. Empleo de Cachés - Caché: Región de memoria rápida que contiene copias de datos. El acceso a la caché es más eficiente que el acceso a la original. - Diferencia entre buffer y caché es que el primero puede contener la única copia existente de un elemento de datos y una caché sólo contiene en almacenamiento más rápido una copia de un elemento que reside en alguna otra parte. - El empleo de cachés y de buffers son dos funciones distintas, aunque en ocasiones se puede utilizar una región de memoria para ambos propósitos.
  • 71. Spooling y reservación de dispositivos • Spool: es un buffer que contien la salida para un dispositivo, como una impresora, que no puede aceptar flujos de datos entercalados. • El spooling es una forma en que los SO pueden coordinar la salida concurrente. • Reservación de un dispositivo.- proporciona acceso exclusivo a un dispositivo.
  • 72. Manejo de Errores  Los dispositivos y las transferencias de E/S pueden fallar en muchas formas, ya sea por razones transitorias o permanente.  Los SO pueden a menudo compensar eficazmente las fallas transitorias.  Una llamada al sistema de E/S devolverá 1 bit de información acerca del estado de la llamada, indicando ya sea un éxito o fracaso.  El hardware puede proporcionar una información de error con gran detalle, aunque los SO actuales no lo hacen tan detallado.
  • 73. ESTRUCTURA DE DATOS DEL KERNEL  El Kernel necesita mantener información de estado acerca del uso de los componentes de E/S lo que realiza mediante tabla de archivos abiertos, conexiones de red, estado de dispositivos de carácter, etc…  Algunos SO utilizan métodos orientados a objetos y el paso de mensajes para llevar a cabo la E/S.  El subsistema de E/S coordina una extensa colección de servicios, que están disponibles para las aplicaciones y para otras partes del kernel.
  • 74. Estructura del Kernel de E/S de UNIX
  • 75. MANEJO DE LAS SOLICITUDES DE E/S  Considere que se esta leyendo un archivo desde el disco para un proceso:  Determine el dispositivo que pertenece a ese archivo.  Descifrar el nombre que representa a ese archivo.  Si los datos no están en el buffer, realizar una E/S física.  Asignar espacio para recibir datos y planificar E/S.  Realizar transferencia de datos  Determinar estado de solicitud  Retornar el control al proceso.
  • 76. Ciclo de vida de una solicitud de E/S
  • 78. Objetivos de la Protección…….  Necesidad de impedir una violación maliciosa e intencionada de una restricción de acceso por parte de un usuario.  Garantizar que cada componente de programa activo en un sistema utilice los recursos del sistema solo en ciertas formas que sean coherentes con las políticas establecidas.
  • 79. Tomar en cuenta………  Los mecanismos de protección pueden mejorar la fiabilidad detectando los errores latentes en las interfaces definidas entre los distintos subsistemas componentes.  Un recurso no protegido puede no puede defenderse frente al uso (o mal uso) por parte de un usuario no autorizado o incompetente.  El papel de la protección en un sistema informático es proporcionar un mecanismo para la imposición de las políticas que gobiernen el uso de los recursos.  Los mecanismos son distintos de las políticas. Los mecanismos determinan como sé llevará a algo a cabo, las políticas deciden qué es lo que hay que hacer.
  • 80. PRINCIPIOS DE LA PROTECCIÓN • Principio del Mínimo Privilegio.- los programas los usuarios incluso a los sistemas se les concedan únicamente los suficientes privilegios para llevar a cabo sus tareas. • Un SO que se ajuste al principio del mínimo privilegio implementará sus características, programas, llamadas al sistema y estructuras de datos de modo que el fallo o el compromiso de un componente provoquen un daño mínimo. • Los usuarios deberán crearse con una cuenta separada y con solo los privilegios que ese usuario necesite. • Ayuda a obtener un entorno informático más seguro.
  • 81. DOMINIO DE LA PROTECCIÓN • Un Sistema informático es una colección de procesos y objetos. • Objetos Hardware (CPU, los segmentos de memoria, impresoras, discos y unidades de cinta) y Objetos Software (archivos, programas y procesos) • A un proceso sólo se le debe permitir acceder a aquellos recursos para los que tenga autorización . • En un instante determinado, un proceso sólo puede acceder a aquellos recursos que necesite actualmente para completar su tarea (necesidad de conocer)
  • 82. MATRIZ DE ACCESO • El modelo de protección se puede contemplar de forma abstracta como una matriz denominada matriz de acceso. • Las filas de la matriz de acceso representan dominios y las columnas representan objetos
  • 83. REVOCACIÓN DE DERECHOS DE ACCESO En ocasiones es necesario revocar derechos de acceso a los objetos compartidos por diferentes usuarios. Diversas cuestiones acerca de la revocación: • Inmediata o Diferida: la revocación tiene lugar ahora o se produce de forma diferida • Selectiva o General: cuando se revoca un derecho de acceso a un objeto afecta a todos los usuarios o se puede especificar un grupo. • Parcial o Total: revocamos un subconjunto de los derechos o todos los derechos. • Temporal o Permanente: revocar el acceso de manera permanente o revocar el acceso y obtenerlo de nuevo
  • 84. Imposición de reglas basadas en el compilador • Especificar el control de acceso deseado a un recurso compartido no es otra cosa que realizar un enunciado declarativo acerca del recurso. • Cuando se declara la protección junto con la definición de tipos, el diseñador de cada subsistema puede especificar sus requisitos de protección: • Las necesidades de protección se declaran en lugar de programarlas. • Los requisitos de protección pueden enunciarse independientemente de la funcionalidad proporcionada por el SO concreto.
  • 85. Imposición de reglas basadas en el compilador ¿ Cuáles son las ventajas relativas de imponer un mecanismo de protección basándose en un Kernel en lugar del compilador? Seguridad Proporciona mayor grado de seguridad del propio sistema de protección Menor grado de seguridad Flexibilidad Existen límites en lo que respecta al kernel a la hora de implementar una política definida por el usuario Puede declararse la política de protección e imponerse según sea necesario Eficiencia Mayor cuando esta soportada por hardware Menor Kernel Lenguaje de Programación
  • 86. Resumen • Los sistemas informáticos contienen muchos objetos y éstos necesitan protegerse frente a posibles malos usos. • Un derecho de acceso es el permiso para realizar una operación sobre un objeto. • Un dominio es un conjunto de derechos de acceso. • Los procesos se ejecutan en dominios y pueden usar cualquiera de los derechos de acceso del dominio para acceder a los objetos y manipularlos. • Durante su ciclo de vida un proceso puede estar limitado a un dominio de protección o se le puede permitir que conmute de un dominio de protección a otro. • La matriz de acceso es un modelo de protección que proporciona un mecanismo que no impone ninguna política concreta. • UNIX proporciona protección de lectura, escritura y ejecución de manera separada para el propietario, grupo y el público en general.
  • 87. SEGURIDAD “La seguridad no sólo significa tener un sistema de protección adecuado sino considerar el ambiente externo”
  • 88. PROBLEMA DE LA SEGURIDAD  Las violaciones a la seguridad (o mal uso) del sistema pueden clasificarse en: maliciosas (intencionales) o accidentales.  Acceso mal intencionado:  Lectura no autorizada de datos (robo de información).  Modificación no autorizada de datos.  Destrucción no autorizada de Datos.
  • 89. PROBLEMA DE LA SEGURIDAD  Para proteger al Sistema, debemos tomar medidas de seguridad en dos niveles:  Nivel Físico: los sitios que contienen los sistemas de cómputo, protegerse físicamente.  Nivel Humano: los usuarios debe ser investigados cuidadosamente a fin de reducir la posibilidad de intrusos.
  • 90. AUTENTICACIÓN  ¿Cómo determinamos si la identidad de un usuario es auténtica?
  • 91. Contraseñas  Cuando el Usuario se identifica a sí mismo mediante un id de usuario o un nombre de cuenta, se le pide una contraseña.  Si la contraseña que proporciona corresponde a la contraseña que tiene almacenad, el sistema supone que el usuario es legítimo.
  • 92. Vulnerabilidades de las Contraseñas Dificultad de Mantenerlas Secretas  La seguridad se compromete si se adivinan, se divulgan accidentalmente o se transfieren de un usuario autorizado a un no autorizado.  El intruso conozca al usuario y tenga información sobre él.  Fuerza Bruta.  Quedan expuestas como resultado de una vigilancia visual o electrónica (ver o monitor de red).  Las contraseñas pueden ser generadas por el sistemas (difíciles de recordar, usuarios la anotan en
  • 93. Contraseñas Cifradas  Mantener la Contraseña Secreta algunos sistemas como Linux, Cifran las contraseñas.  Un problema es que muchos Sistemas UNIX sólo tratan los primeros 8 caracteres de la contraseña como significativos.  Para evitar el método de cifrado de diccionario algunos sistemas no permiten el uso de palabras de diccionario como contraseñas.  Una técnica consiste en generar una contraseña utilizando la primera letra de cada palabra de
  • 94. AMENAZAS A PROGRAMAS  En un ambiente en el que un programa escrito por un usuario puede ser usado por otro, existe la posibilidad de un uso incorrecto, y dar por resultado un comportamiento inesperado
  • 95. Caballo de Troya  Mitología Griega  Un segmento de código que utilice incorrectamente su ambiente se denomina Caballo de Troya.  Programa que emula un programa de conexión
  • 96. Puerta Trasera  El diseñador de un Programa o Sistema podría dejar una agujero o una puerta secreta en el software que sólo el diseño y sólo él es capaz de utilizar.  Pélicula War Games  Malversación de Fondos de Bancos  Para evitar hay que analizar todo el código fuente de los componentes del sistema.  Los Sistemas de Sw pueden consistir de millones de líneas de código este análisis no se realiza.
  • 97. AMENAZAS AL SISTEMA  Gusanos: es un proceso que utiliza el mecanismo de engendrar para atacar violentamente el desempeño del sistema.  El gusano engendra copias de sí mismo, consumiendo recursos del sistema y quizás impidiendo su uso a los demás procesos.  En redes de Computadoras los gusanos son capaces de autorreproducirse entre los sistemas y así paralizar la red
  • 99. MOTIVACIÓN Un sistemas distribuido es una colección de procesadores débilmente acoplados interconectados a través de una red de comunicación.  Estos procesadores se denominan: sitios, nodos, máquinas, computadores, host.
  • 100. MOTIVACIÓN Hay cuatro razones para construir un sistema distribuido:  Compartición de recursos: Si hay varios nodos conectados entre sí, un usuario en uno de los nodos puede utilizr los recursos disponibles en otro.  Aceleracenión de cálculos: Si un deterimnado cálculo puede dividirse en una serie de calculos menor envergadura que pueden ejecutarse de forma concurrente, un sistema distribuido permitira distribuir esos subcálculos entre los diversos nodo.  Fiabilidad: Si falla uno de los nodos, nodos restantes pueden continuar operando.  Comunicación: Cuando hay varios sitios conectados entre sí mediante una red de comunicación, los usuarios de los diferentes nodos tienen la oportunidad de intercambiar información.
  • 101. TIPOS DE SO DISTRIBUIDOS  Sistemas Operativos en red.  Sistemas Operativos distribuidos.
  • 102. Sistemas Operativos en Red Proporciona un entorno en la que los usuarios pueden acceder a recuros remotos iniciando una sesión en una máquina remota. Inicio de Sesión: Una función importante que permitir a los usuarios iniciar una sesión remota. Internet proporciona el protocolo telnet para este proposito. telnet cs.yale.edu Este comando permiti iniciar una sesión remota. El proceso en la maquina remota solicitara un usuario y clave. Una vez recibidad la información correcta el procesos actuara como proxy para el usuario, que podrá realizar sus cálculos en la máquina remota exactamente igual que cualquier usuario local.
  • 103. Sistemas Operativos en RedTransferencia remota de archivos: El protocolo ftp permite acceder a un sistema de archivos remotos ftp cs.yale.edu El programa pedira un usuario y clave para iniciar sesión Tambien se puede especificar un usuario anónimo (usuario anonymous y clave arbitrarea)  Comandos de ftp: put: transfiere una archivos desde la máquina local a la máquina remota. get: transfiere un archivo desde la máquina remota a la máquina local ls / dir: enumerar los archivos situados en el directorio actual cd: cambiar de directorio
  • 104. Sistemas Operativos Distribuidos Los usuarios acceden a recuros remotos de la misma forma que si lo hicieran localmente. Migración de datos Una técnica de migración es transferir todos los datos remotos al equipo local, una vez que ya no se necesiten, se devuelve una copia del archivo al sitio remoto, aún si se ha hecho un pequeño cambio. Otra técnica consiste en transferir la porción de datos que son necesarios en ese momento y posteriormente se devolvera una copia de esa porción.
  • 105. Sistemas Operativos Distribuidos Migración de Cálculos. Supongamos que el proceso P quiere acceder a una archivo situado en el nodo A y sacar un resumen de ese archivo. Una técnica para ello es por medio de RPC, El proceso P invoca a un procedimiento predefinido en el sitio A, ese procedimiento se ejecutara de manera apropiada y luego devolvera el resultado a P. Otra técnica es el envio de mensajes al sitio remoto. El proceso P envía un mensaje al sitio A. El SO en el sitio A crea entonces un proceso Q cuya función consiste en llevar a caba la tarea asignada. Cuando el proceso Q termina su ejecución, devuelve el resultado a P a través del sistema de mensajes.
  • 106. Sistemas Operativos Distribuidos Migración de Procesos. Es una extensión lógica de la migarción de cálculos. Cuando se inicia un proceso no siempre se ejecuta localmente, el proceso completo o partes del mismo, pueden ejecutarce en diferentes sitios. Este sistema se puede emplear por diferentes razones: Equilibrio de carga Aceleración de cálculos Preferencias de hardware Preferencias de software Acceso a datos
  • 107. ESTRUCTURA DE UNA RED Redes de área local Redes de área extensa c
  • 108. TOPOLOGÍA DE LA RED Se puede compara las distintas configuraciones son los siguientes criterio. Coste de instalación: Coste de enlazar fisicamente los nodos del sistema  Coste de comunicación: Coste de tiempo y en dinero para enviar un mensaje. Disponibiliad: El gardo hasta ek que puede accederse a los datos a pesar del fallo de algún enlace o nodo.
  • 110. ESTRUCTURA DE COMUNICACIÓN Estrategias de encaminamiento: Encaminamiento fijo: Se especifica de antemano una ruta desde A a B Encaminamiento virutal: Se fija una ruta desde A hasta B mientras dura una sesión Encaminamiento dinámico: La ruta utilizada para enviar un mensaje desde el sitio A a B se selecciona en el momento de seleccionar el mensaje. Estrategias de paquetes: Generalmente los mensajes son de longitud variables. Para simplificar el diseño se implementa las comunicicaciones mediante mensajes de longiud fija denominados paquetes, tramas o datagramas. Todo mensaje implementado en un único paquete puede enviarse a su destino como un mensaje sin conexión.
  • 111. ESTRUCTURA DE COMUNICACIÓN Estrategias de conexión Una vez que los mensajes son capaces de alcanzar su destino, los procesos pueden establecer sesiones de comunicación para intercambiar información. Comunicación de circuitos: Si dos procesos quieren comunicarce establecen dos enlaces físicos permanentes. Comunicación de mensajes: Si dos procesos quieren comunicarse establecen un enlace temporal mientras dure la transferencia. Comunicación de paquetes: Cada mensaje lógico puede dividirse en una serie de paquetes. Cada paquete puede ser enviado a su destino por separado y debe por tanto incluir una dirección origen y destino a través de la red.
  • 112. ESTRUCTURA DE COMUNICACIÓN Contienda Esposible que varios sitios quieran transmitir información simultameamente a través de un mismo enlace. Esta situación se produce principalmente en redes anillo y de bus multiacceso. Por lo que hay que establecer técnicas para evitar las colisiones repentinas. CSMA/CD: Antes de transmitir un mensaje por el enlace el nodo debe ponerse a la escucha para determinara si se esta transmitiendo otro mesnaje, estas técnica se denomina detección de portadora con acceso múltiple. Si el enlace esta libre puede transmitir caso contrario debe esperar hasta que este libre. Paso de testigo: Un testigo circula por el sistema. El sistio que necesite transmitir información deberá esperar hasta que le llege el testigo. Entonces, el nodo elimina el testigo y empieza a transmitir sus mensajes.
  • 113. PROTOCOLOS DE COMUNICACIÓN  Nivel físico Nivel de enlace de datos Nivel de red Nivel de transporte Nivel de sesión Nivel de presentación Nivel de Aplicación
  • 114. ROBUSTEZ En un sistema distribuido puede haber fallas en un enlace, en un sitio y la perdida de mensajes. Para garantizar la robustez del sistema, podemos detectar todos esos fallos, reconfigurando el sisetma de forma que el procesamiento pueda continuar y efectuar la correspondiente recuperación conado se repare un sitio o enlace. Detección de fallos En un entorno sin memoria compartida no podemos diferenciar entre fallos de enlace, de sitio o permidida de mensajes. Usualmente lo único que se puede detectar es que se ha producido un fallo. Para detectar que se ha producido un fallo de enlace y de sitio podemos utilizar un procedimiento de contacto.
  • 115. ROBUSTEZDetección de fallos Supongamos que el sitio A y B tiene un enlace físico directo entre ellos, Ambos envia un mensaje Estoy Funcionando. Si el sitio A no recibe ese mensaje dentro de un periodo de tiempo predeterminado, se puede sumir que el sitio B ha fallado, que el enlace entre A y B ha fallado o que el mensaje se ha perdido. Para diferenciar entre un fallo del enlace y el de sitio. Se puede enviar otro mensaje ¿Estas funcionando? A través de otra ruta. Cuando B reciba el mensaje respondera inmediatamente. Esta respuesta le dice a A que el enlace directo entre A y B esta fallando. Caso contrario puede darse la siguintes situaciones: El sitio a fallado. El enlace directo entre A y B a fallado. La ruta alternativa a fallado. El mensaje se ha perdido.
  • 116. ROBUSTEZReconfiguración En caso que se haya deteminado que se ha producido un fallo, deberá iniciar un procedimiento que permita al sistema reconfigurarse y continuar con su modo normal de operación. Si ha fallado un enlace entre A y B, debe difindirse a todos los sitios del sistema, para poder actualizar correspondientemente las diversas tablas de encaminamiento. Si el sistema cree que el sitio a fallado debe notofocar a todos los sistemas, para que no intenten utilizar los servicios del sitio que ha fallado. Recuperación de fallos Supongamis que el enlace ha fallado. Cuando se repare el enlace entre A y B debe notificarse tanto a A como a B. Supongamso que el sitio B ha fallado. Cuando se recupere deberá notificarse a todos los sitios que ya está en funcionamiento de nuevo.