Sc-345 Sistemas Operativos Ii

  • Uploaded by: Dan
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sc-345 Sistemas Operativos Ii as PDF for free.

More details

  • Words: 13,424
  • Pages: 258
Sistemas Operativos II

Ing. Daniel De Santiago M.

 

 

Eres Libre de: Copiar, distribuir, y comunicar  públicamente la obra

Hacer obras derivadas

Bajo las Condiciones Siguientes: Atribución. Debes reconocer la autoría de la obra en los términos especificados por el propio autor o licenciante. No comercial. No puedes utilizar esta obra para fines comerciales. Licenciamiento Recíproco. Si alteras, transformas o creas una obra a partir de  esta obra, solo podrás distribuir la obra resultante bajo una licencia igual a ésta.

This work is licensed under the Creative Commons Attribution­Noncommercial­Share Alike 2.5 Mexico License. To view a copy of 

  this license, visit http://creativecommons.org/licenses/by­nc­sa/2.5/mx/ or send a letter to Creative Commons, 171 Second Street,    Suite 300, San Francisco, California, 94105, USA.

Sistemas Operativos II

Tema Administración de Archivos

 

 

Introducción 

Cuando se desea almacenar información para su posterior tratamiento el usuario se encuentra cons dos problemas básicos: 

La memoria principal es volátil  



Compartir información 

 

La información se pierde al apagar la computadora Almacenamiento es poco La información que esta en memoria por un proceso solo puede ser accesada por ese proceso. Para que puede ser accesible a otros procesos la información debe ser independiente a cualquier proceso  

Introducción 

Se necesitan tres condiciones para el almacenamiento de la información a largo plazo: 





 

La información debe de permanecer cuando el proceso termina Se debe de poder almacenar una cantidad grande de información Debe ser posible que varios procesos tengan acceso concurrente a la información

 

Introducción 

La solución es el almacenamiento en un sistema auxiliar (principalmente en discos), en una estructura de archivos. 





 

Los archivos son persistentes, no desaparecen cuando el proceso termina. Solo se borran cuando el usuario explícitamente los elimina emitiendo una orden Para muchos usuarios el sistema de archivos es el aspecto mas visible de un sistema operativo  

Introducción 



 

Los archivos son administrados por el sistema operativo. 

Como son estructurados



Nombrados



Accesados



Usados



Protegidos



Implementados

La parte del sistema operativo que trata con archivos se llama Administrador de Archivos (File System)  

Introducción 

 

Desde el punto de vista del usuario, este le concierne: 

La forma de nombrar los archivos



Las operaciones permitidas en ellos



La apariencia del árbol de directorios



Y otros aspectos de la interface

 

Introducción 

 

En este tema se verán primero las interfaces del usuario con directorios y archivos, y posteriormente las diferentes maneras de administrar los archivos y mecanismos de seguridad y protección

 

Archivos 



El concepto de Archivos es abstracto. Se considera como archivo a un conjunto de información definida por su creador. Proveen un mecanismo para guardar informacion en disco para despues ser leida. 

 

Esto se tiene que hacer de tal manera que el usuario no entre en detalle de como y donde se almacena la informacion, ni como trabajan los discos  

Nombrar Archivos 





 

Probablemente la característica mas importante de un archivo es como son nombrados y referenciados por su nombre. La forma de nombrar un archivo cambia de un sistema operativo a otro. Por regla general son cadena de caracteres alfanumericos, aunque tambien es normal usar algunos caracteres especiales como puntos, guiones o incluso blancos.  

Nombrar Archivos 



 

Todos los sistemas operativos actuales permiten cadenas de caracteres de 1 a 8 letras como nombres autorizados. Algunos administradores de archivos permiten: 

Nombres de hasta 255 caracteres



Permiten distinguir entre mayúsculas y minúsculas

 

Nombrar Archivos - Ejemplos 

MS-DOS   



 



Archivo ARCHIVO ArChiVo

Se refieren al mismo documento o programa



 

UNIX 

Archivo



ARCHIVO



ArChiVo

Se refieren a 3 diferentes documentos o programas

Nombrar Archivos 



 

Muchos sistemas operativos soportan el uso de la extension (usualmente tres caracteres después de un punto) al nombrar el archivo, y se utiliza para describir el tipo del archivo. En algunos sistemas operativos (e.i UNIX) las extensiones no son requeridas y se usan mas por el usuario para saber que tipo de archivo son.

 

Ejemplos Extensión

 

file.bak file.c file.gif file.html file.iso file.jpg file.mp3 file.mpg file.o file.pdf file.ps file.tex file.txt file.zip

Descripción Archivo de respaldo Programa fuente de C Graphical Interchange Format image HyperText Markup Language Imagen ISO de un CD-ROM Foto codificada con estandard JPEG Musica codificada con estandard MPEG capa 3 Película codificada con estandar MPEG Archivo objeto compilado Archivo tipo Portable Document Format Archivo tipo PostScript Input for the TEX formatting program Archivo de texto   Archivo comprimido

Nombrar Archivos 



 

La implementación de las extensiones son usadas mas por programas el cual puede manipular mas de un tipo de archivo El compilador de C, por ejemplo, se le puede dar una lista de archivos para compilar y ensamblar juntos. Pueden ser programa fuentes (foo.c), programa en ensamblador (foo.s), o programas objetos (foo.o). En este caso la extensiones son importante para decirle al compilador que hacer

 

Tipos y Estructuras de Archivos 



 

Dependiendo del uso, los archivos tendrá una determinada estructura Tres posibilidades comunes se pueden ver en la siguientes figuras:

 

Tipos y Estructuras de Archivos

 

 

Tipos y Estructuras de Archivos 







 

En la figura (a) es una secuencia de bytes no estructuradas. El sistema operativo no sabe ni le importa cual es el contenido del archivo. Todo lo que ve son bytes. Cualquier significado es impuesto al nivel usuario-programa Tanto UNIX como Win98 usan esta estructura  

Tipos y Estructuras de Archivos 



 

En la figura (b) se muestra el primer modelo estructurado. El archivo es una secuencia de registros lógicos de un tamaño especifico, cada uno con su propia estructura interna. La idea de este modelo es que al usar la operacion “leer” se leeria un registro y al momento de “escribir” se escribiria un registro o se sobre escribia  

Tipos y Estructuras de Archivos 



 

Esta estructura se utilizo en los sistemas con tarjetas perforadas, en los que los registro lógicos eran de 80 caracteres, para coincidir con la longitud de las tarjetas perforadas. Tambien se utilizaban registros de 132 caracteres para usarlos directamente sobre impresoras. Ningun sistema usa este metodo en la actualidad  

Tipos y Estructuras de Archivos 



 

El otro tipo de estructura, figura (c), cuya utilización es también muy restringida, prácticamente a grandes computadoras corporativas para procesamiento de datos, esta basada a estructuras arborescentes. Los registro tiene una clave y la operacion basica no es obtener el siguiente registro, sino obtener el registro con la clave especificada  

Tipos y Estructuras de Archivos 



 

La estructura del árbol se ordena de acuerdo a la clave la cual hace la búsqueda de un archivo muy eficiente Nuevos registros se pueden añadir al archivo, el cual el sistema operativo decide donde localizarlos y no el usuario

 

Tipos y Estructuras de Archivos 

Muchos sistemas operativos soportan varios tipos de archivos. Por ejemplo: 





 

UNIX y Windows soportan archivos regulares y directorios. UNIX también tiene archivos especiales de caracteres y bloques Windows XP usa archivos llamados Metadata

 

Tipos y Estructuras de Archivos 







 

Los Archivos Regulares son los que contienen la información del usuario Los Directorios son tablas simbolicas de archivos y son usadas por el administrador de archivos del sistema operativo Archivos de Caracteres Especiales estan relacionados con los procesos I/O y modelados a equipos como impresoras, terminales y redes Archivos Especiales de Bloques son usados en los discos  

Tipos y Estructuras de Archivos 

Archivos Regulares pueden ser: 



 

Archivos ASCII.- son lineas de texto el cual el contenido se puede leer, imprimir y editar con cualquier editor de texto Archivos Binarios.- simplemente son archivos NO ASCII. Al tratar de leer o imprimir el contenido dará una lista incomprensible de caracteres aleatorios. Tiene una estructura internal conocida por el programa que los utiliza  

Tipos y Estructuras de Archivos

 

(a) Archivo ejecutable

 

(b) Archivo compilado

Tipos y Estructuras de Archivos 

El archivo ejecutable tiene 5 secciones: 

Encabezado (header) 

 

Numero Mágico: identifica al archivo como ejecutable



Texto (text)



Datos (data)



Bits de relocalizacion (relocation bits)



Tabla de simbolos (symbol table)  

Tipos y Estructuras de Archivos 

El archivo compilado contiene 2 secciones: 

Encabezado     



 

Nombre Día que fue creado Dueño Código de Protección Tamaño

Modulo Objeto o Libreria de Procedimientos

 

Acceso a Archivos 







 

Durante los primeros sistemas operativos había solo una forma de accesar archivos, era el acceso secuencial Una operacion de lectura leia el registro actual y automaticamente avanzaba al siguiente registro del archivo De forma similar, la operacion de escritura añadia el registro al final y avanzaba al nuevo final del archivo Tales archivos se podian rebobinar para situarse de nuevo al principio  

Acceso a Archivos 





 

Con la aparición de los discos se pudo accesar directamente a cualquier registro del archivo, dando lugar a los denominados archivos de acceso arbitrario. En ellos las operaciones de lectura y escritura deben de incluir el numero de registro como parametro. Ahora no se lee proximo registro, sino que se especifica leer el registro n  

Acceso a Archivos 



 

Archivos de acceso arbitrario son esenciales para varias aplicaciones, como por ejemplo, sistema de base de datos. En los sistemas operativos actuales esta clasificación de archivos de acceso secuencial o de acceso arbitrario ha desaparecido. En la actualidad todos los archivos se consideran de acceso arbitrario  

Operaciones con Archivos 



 

Los archivos existen para guardar y recuperar información Diferente sistemas proveen diferente operaciones para almacenar y recuperar archivos. A continuacion se exponen las principales operaciones que suelen tener la mayoria de los sistemas operativos

 

Operaciones con Archivos 

CREATE (crear) 



 

El archivo es creado sin datos. El propósito de esta operación es de avisar que un archivo va hacer creado y asignar algunos atributos. La especificacion funcional de como desarollar la funcion CREATE en un sistema operativo es la siguiente:

 

Operación CREATE Llamada CREATE(nombre_archivo, atributos) /* buscar nombre del archivo en el directorio */ /* si se localiza, enviar un mensaje de duplicado, o crear nueva  version y sobre grabar */ /* localizar una entrada libre del directorio */ /* si no hay ninguna asignarla */ /* asignar espacio para el archivo */ /* registrar bloques asignados en el directorio */  

 

/* registrar los atributos del archivo en el directorio */

Operaciones con Archivos 

OPEN (abrir) 

 

El propósito de OPEN es establecer un enlace entre el programa y el archivo, para ello se trasladan los atributos y la lista de direcciones del archivo, que están en el disco, a la memoria principal, para permitir un rápido acceso a futuras llamadas

 

Operación OPEN Llamada: ID_conexión = OPEN(nombre_archivo, modo_acceso) /* buscar el nombre del archivo en el directorio */ /* si no se localiza, enviar mensaje de error y volver */ /* verificar permiso de acceso al archivo, si no hay permiso,  indicar error */ /* crear un bloque de control de archivo copiando a la memoria  principal la lista de atributos y direcciones */ /* crear identificador ID_conexion */ /* inicializar el indice del archivo */  

 

/* devolver el identificador de conexion ID_conexion */

Operaciones con Archivos 

SEEK (buscar) 

 

Con esta función se cambia la posición del apuntador para señalar el byte o registro cuya dirección lógica se suministra en la llamada

 

Operación Seek Llamada: SEEK (ID_conexión, posición_lógica) /* verificar identificador de conexion ID_conexion */ /* calcular posicion adecuada */ /* actualizar el marcador del archivo */

 

 

Operaciones con Archivos 

READ (leer) 



 

La lectura se hace en la posición actual (si no fuera así, previamente se debería hacer una llamada a la función SEEK especificándole el lugar en el que se quiere hacer dicha operación de lectura), y en la llamada se tiene que especificar la cantidad de datos necesarios y proporcionar un buffer para su transmisión Como se pueden producir diferentes tipos de errores en la lectura, la funcion READ indica el resultado de la operacion mediante el resultado que devuelve en  estatus

Operación Seek Llamada: estatus = READ(ID_conexión, num_byte, in_buffer /* verificar ID_conexion */ /* verificar archivo abierto para lectura: autorizacion de acceso */ /* sincronizar con otros usuarios activos, si hace falta: compartimiento */ /* calcular numero y direcciones de los sectores a leer: correlacion */ /* emitir orden de lectura al contralador del dispositivo */ /* verificar resultado de lectura del dispositivo */ /* copiar num_byte de datos desde el almacenamiento intermedio al in_buffer */ /* actualizar marcador del archivo */  

/* devolver estatus */

 

Operaciones con Archivos 

WRITE (escribir) 





 

La única diferencia importante con READ (aparte de que READ lee información y WRITE la registra), es que sirve también para ampliar el archivo. Si la posicion actual esta la final del archivo, el tamaño del archivo se incrementa. Si la posicion esta en medio del archivo, los datos se sobre escriben y se pierden  

Operación Write 



 

Algunos sistema tiene una forma restringida de WRITE, con la que solo se puede añadir datos al final del archivo (APPEND) Los sistemas con la funciones OPEN y CLOSE generalmente requieren que los archivos sean abiertos antes de poderlos leer o escribir. Pero muchos sistemas, abren implícitamente el archivo cuando se realiza cualquier referencia a ellos. En estos casos, las propias funciones de escritura y lectura llevan incluida una llamada a OPEN  

Operación Write Llamada: estatus = WRITE(ID_conexión, num_byte, in_buffer) /* verificar ID_conexion */ /* verificar archivo abierto para escritura: autorizacion de acceso */ /* sincronizar con otros usuarios activos, si hace falta: compartimiento */ /* si se amplia el archivo, asignar los bloques requeridos: asignacion de espacio */ /* actualizar directorio si se añaden nuevos bloques */ /* calcular numero y direcciones de los sectores a escribir: correlacion */ /* copiar num_byte de datos desde out_buffer al almacenamiento intermedio */ /* emitir orden de escritura al controlador del dispositivo */ /* verificar resultado de escritura del dispositivo */ /* actualizar marcador del archivo */  

/* devolver estatus */

 

Operaciones con Archivos 

CLOSE (cerrar) 



 

Cuando un archivo no se va a usar mas es necesario cerrarlo, de forma que se libere la tabla con la lista de atributos y direcciones que se mantenía en la memoria principal y ya no es necesaria En muchos sistemas, la terminacion obligada o voluntaria de procesos incluye el cierre de todos los archivos abiertos

 

Operación Close Llamada: CLOSE(ID_conexión) /* verificar ID_conexion */ /* si no se localiza, enviar mensaje de error y volver */ /* verificar permiso de acceso al archivo, si no hay permiso,  indicar error */ /* si la copia de la entrada del directorio guardada en el bloque  de control del archivo ha sido actualizada, entonces reescribirla  en el disco */ /* liberar el bloque de control de archivos */  

/* borrar identificador */

 

Operaciones con Archivos 

DELETE (borrar) 





 

Cuando se quiere eliminar un archivo y liberar el espacio que ocupa se hace una llamada a borrar Seria el proceso contrario al de CREATE, borrando del directorio la entrada al archivo y liberando el espacio del disco asignado al mismo Hay sistema operativos que como medida de seguridad guardan una copia hasta que reciben la orden de liberar el espacio  

Operación Delete Llamada: DELETE(nombre_archivo) /* buscar nombre del archivo en el directorio */ /* si no se localiza, enviar mensaje de archivo no encontrado */ /* verificar permisos, si no hay permiso de acceso,indicar error */ /* verificar si se esta utilizando, si esta abierto enviar mensaje de  archivo abierto */ /* liberar la entrada en el directorio */  

/* liberar espacio asignado al archivo */  

Operaciones con Archivos 

COPYFILE (copiar) 



 

La función de copiar lleva implícita la creación de un nuevo archivo, aunque en algunas versiones se permite copiar en un archivo ya existente grabando sobre la información del mismo En la siguiente diapositiva se muestra el esquema de esta operacion

 

Operación Copyfile Llamada: COPYFILE(nombre_archivo_origen, nombre_archivo_destino) /* abrir el archivo origen nombre_archivo_origen */ /* si no se localiza, enviar mensaje de archivo no existente */ /* crear archivo destino nombre_archivo_destino, con permiso de escritura */ /* si no se puede crear, ya existe, enviar mensaje de archivo ya existente */ /* abrir archivo destino */ /* realizar la copia. Leer bloques del archivo origen nombre_archivo_origen y  copiarlos en el archivo destino nombre_archivo_destino */ /* cerrar el archivo origen nombre_archivo_origen */  

/* cerrar el archivo destino nombre_archivo_destino */  

Directorios de Archivos 



Los directorios son básicamente tablas simbólicas de archivos Una entrada tipica del directorio puede contener la siguiente informacion:  



 

Nombre, tipo y numero de version del archivo Puntero de acceso al archivo, direccion de comienzo en el disco Lista de atributos

 

Directorios de Archivos

Nombre libro ordena ordena lista libmat

Tipo txt obj exe txt lib

Version 3 1 1 2 4

Puntero 30125 25432 10125 65390 192

Tamaño 50 120 30 40 90

Permisos ­rw­r­­r­­ ­rw­rw­rw­ ­rwxrw­rw­ ­rw­r­­r­­ ­rw­rw­rw­

Ejemplo de una Tabla de Directorio

 

 

Fechas 12/12/94 10/01/95 05/11/94 22/01/95 01/01/95 01/10/95 10/10/94 05/12/94 01/03/94 05/08/94

Directorios de Archivos 

En muchos sistemas, la tabla esta divida en dos 





 

En una sola se mantienen los nombres de los archivos con un numero de identificación Y en la otra se tiene el puntero de acceso al archivo y la lista de atributos

La separacion de la tabla de nombres de los archivos de la descripcion agiliza la gestion de los enlaces, la generacion de alias y los homonimos  

Directorios de Archivos Nombre libro ordena ordena lista libmat

ID 1 2 3 4 5

ID 1 2 3 4 5

Tipo txt obj exe txt lib

Version 3 1 1 2 4

Puntero 30125 25432 10125 65390 192

Tamaño 50 120 30 40 90

Ejemplo de Tabla de Directorio divida en dos

 

 

Permisos ­rw­r­­r­­ ­rw­rw­rw­ ­rwxrw­rw­ ­rw­r­­r­­ ­rw­rw­rw­

Fechas 12/12/94 10/01/95 05/11/94 22/01/95 01/01/95 01/10/95 10/10/94 05/12/94 01/03/94 05/08/94

Diseño de Directorios 

Uno de los diseños mas sencillos es el directorio de nivel único 



 

Un unico directorio contiene todos los archivos del sistema o volumen Esta estructura eran muy comun en las primeras computadoras personales, por tener a un solo usuario

 

Directorio de Nivel Único

 

Tres diseños de administradores de archivos  

Directorio de Nivel Único 

La figura (a) es un directorio único compartido por todos los usuarios 

El problema en tener un solo directorio en un sistema con usuarios multiples es que diferentes usuarios pueden duplicar los nombres de los archivos 



 

Por ejemplo: Si el usuarios “A” crea un archivo llamado mailbox, y despues el usuario “B” tambien crea un archivo llamado mailbox, el archivo de “B” sobre escribe al archivo de “A”

Ademas se presentan problemas para asignar proteccion a los archivos  

Directorio de Nivel Único 

La figura (b) es un directorio por usuario 

 

De esta forma se elimina el conflicto entre los usuarios. Los nombres de los archivos asignados por un usuario no interfieren con los nombres asignados por otro usuario, aun cuando el nombre del archivo sea igual, ya que los archivos se encuentran en diferentes directorios

 

Directorio de Nivel Único 



 

Este diseño se puede usar por ejemplo, en una computadora multiusuarios, o una red simple de computadoras personales la cuales comparten un servidor de archivos en común Implicito en este diseño, el sistema operativo requiere saber que usuario manipula el archivo, lo cual hace necesario una forma de identificar al usuario. En directorio de nivel unico no es necesario identificar al usuario

 

Directorio de Nivel Único 





 

En su implementación mas básica, los usuarios solo pueden accesar archivos dentro de su directorio Ademas los usuarios que tienen muchos archivos siguen teniendo el problema organizacion de los mismos.

La solucion para esto es una jerarquizacion total, como se muestra en la fig (c)

 

Directorio de Nivel Unico 



 

El arbol de directorios, fig(c), cada usuario dispone de su propia estructura jerarquica con tantos subdirectorios como necesite Aqui los directorios A,B, y C contenidos en la raiz del directorio pertencen a diferentes usuarios, los cuales dos de ellos crearon subdirectorios para sus proyectos

 

Directorio de Nivel Unico 



 

La abilidad de poder crear un numero arbitrario de directorios provee una poderosa herramienta estructural para que los usuarios puedan organizar su informacion Por esta razon todas las PC y Servidores de Archivos modernos estan organizadas de este modo

 

Nombre del Path (camino) 



 

Cuando el sistema de archivos esta organizado en arbol de directorios (directory tree) de alguna manera hay especificar los nombres de los archivos Dos metodos son usados comunmente 

Path Completo



Path Relativo

 

Nombre del Path (camino) 

Path Completo 



Por este metodo se comienza por el directorio raiz y sigue hacia abajo en el arbol de directorio hasta el archivo indicado Por ejemplo un path completo es 



 

/aplic/mail/seb/lista

Que indica que partiendo del directorio raiz, hay un directorio aplic, el cual tiene un subdirectorio mail y este a su vez un subdirectorio seb que es en el que se encuentra el archivo lista  

Nombre del Path (camino) 





 

Los path completos siempre comienzan en el directorio raiz y son unicos En UNIX los componentes del path estan separados por / Windows utiliza el \ 

Windows -> \usr\ast\mailbox



UNIX -> usr/ast/mailbox

 

Nombre del Path (camino) 

Path Relativo 



 

Este metodo se usa en conjunto con el concepto de directorio actual o directorio de trabajo. El usuario puede designar un directorio como su directorio actual, de tal manera que los nombres de los path que no empiezan en la raiz directorio son relativos al directorio actual

 

Nombre del Path (camino) 

Por ejemplo si el directorio actual es /usr/ast, entonces el archivo el cual su path completo es /usr/ast/mailbox se puede referenciar simplimente como mailbox. En otras palabras, el comando UNIX cp /usr/ast/mailbox /usr/ast/mailbox.bak y el comando cp mailbox mailbox.bak Hacen exactamente lo mismo

 

 

Nombre del Path (camino) 

En windows los comandos serian de esta forma:

copy c:\usr\ast\mailbox c:\usr\ast\mailbox.bak copy mailbox mailbox.bak

 

 

Nombre del Path (camino) 

Casi todos los sistemas operativos que usan un directorio jerarquico tiene dos simbolos dos entradas especiales para cada directorio: 





 

“.” (punto): es una entrada para el propio directorio (con un puntero a si mismo) “..” (punto-punto): es una entrada para el directorio padre (el que esta por encima de la jerarquia)

Para ver como esto se utiliza ver la siguiente figura  

Nombre del Path (camino)

 

 

Nombre del Path (camino) 

 

Cierto proceso en UNIX tiene a /usr/ast como su directorio de trabajo o actual y quiere copiar el archivo dictionary a su directorio. El proceso puede usar los siguientes comandos: 

cp ../lib/dictionary .



cp /usr/lib/dictionary .

 

Nombre del Path (camino) 



 

Tambien se podrian usar los siguientes comandos: 

cp /usr/lib/dictionary dictionary



cp /usr/lib/dictionary /usr/ast/dictionary

Todos los comandos hacen exactamente los mismo

 

Nombre del Path (camino)

 

 

Operaciones con Directorios 



 

Las operaciones con directorios varian grandemente entre sistemas operativos, que las operaciones con archivos. Como ejemplos se listan las siguientes llamadas usando UNIX (hay que tener en cuenta que UNIX considera a los directorios como archivos que, en todo caso, presentan unas caracteristicas especiales):

 

Operaciones con Directorios 

MAKEDIR (crear directorio) 



REMOVEDIR (borrar directorio) 

 

En el directorio actual se crea una entrada para un nuevo subdirectorio. Este nuevo subdirectorio estara vacio salvo las entradas relativas a el mismo, “,”, y al directoio padre, “..” En el principio eliminar un directorio supone que esta vacio, es decir que las unicas entradas que tiene son “.” y son “..”. Si el directorio no esta vacio, contiene entradas de archivos o subdirectorios, se pueden hacer 2 cosas:  

Operaciones con Directorios 



 

La primera es no permitir borrar el directorio que no este vacio, por lo cual hay que borrar previamente todos los archivos. Si existen subdirectorio hay que hacer los mismo Permitir que eliminar el directorio, borrando todos los archivos que se encuentren en el, incluyendo los subdirectorio y su contenido

 

Operaciones con Directorios 

OPENDIR (abrir directorio) y CLOSEDIR (cerrar directorio) 

 

Al igual que como se produce con los archivos, cuando se quiere operar con los directorios hay que abrirlos. Cuando se termina de utilizar el directorio se cierra, actualizando en el disco las tablas del mismo

 

Operaciones con Directorios 

READDIR (leer directorio) 

 

En un principio esta llamada era igual que para los archivos (READ), pero se suponia que el programador o usuario debia de conocer la estructura de los archivos. Por eso se hace una llamada diferente que devuelve en un formato estandar la entrada actual del directorio

 

Operaciones con Directorios 

RENAMEDIR (cambiar de nombre) 



LINK (enlazar) 



 

Al igual que como ocurre con los archivos, los directorios se pueden cambiar de nombre con una llamada al sistema Es un forma de hacer que un archivo o subdirectorio aparezca en varios directorios En la llamada a esta funcion se especifica el nombre del archivo y el camino de acceso (path), creando un enlace entre este camino y el archivo  

Operaciones con Directorios 

UNLINK (desenlazar) 



 

Corresponde a las operaciones contrarias al LINK, por lo que la funcion es la eliminacion del enlace y borrado de las correspondiente entrada en el directorio. En UNIX la llamada al sistema REMOVEDIR es de hecho un UNLINK

 

Implementacion del Sistema de Archivos 



En los proximos temas dejamos la perspectiva del usuario, y en en su lugar veremos la perspectiva del diseñador Para el usuario lo que le concierne es: 

Como nombrar a los archivos



Que tipo de operaciones se pueden realizar



Como es la estructura de un directorio



 

Y operaciones que se pueden hacer en el directorio  

Implementacion del Sistema de Archivos 

Para el diseñador, lo que le concierne es: 

 



 

Como los archivos y directorios son almacenados Como se administra el espacio del disco Y como hacerle para que todo funciones trabajen eficientemente y confiable

Esto supone eligir un metodo de asignacion de espacio a los archivos y de gestion de espacio libre del disco  

Implementacion del Sistema de Archivos 

 

En la asignacion del espacio del disco hay 3 metodos mas usados son: 

Asignacion continua



Asignacion ligadas



Asignacion indexada

 

Implementacion del Sistema de Archivos 

Metodo de asignacion continua 





 

Este metodo requiere que cada archivo ocupe un conjunto de direcciones contiguas en el disco. Por ejemplo, en un disco con bloques de 1Kb, un archivo de 100Kb ocupara 100 bloques consecutivos. Este metodo tiene dos ventajas:

 

Implementacion del Sistema de Archivos 

Este metodo tiene dos ventajas: 



 

Es facil de implementar, ya que el registro de donde se localizan los bloques del archivo son reducidos en solo saber 2 numeros: la direccion del disco duro en el cual se localiza el primer bloque, y el numero de bloques en el archivo Ejemplo: Si un archivo ocupa n bloques y comienza en el bloque b, ocupara los bloques b, b+1, b+2, b+3...b+n-1. Si se quiere accesar al bloque i de un archivo que comienza en el bloque b, se accesa directamente al bloque b+i

 

Implementacion del Sistema de Archivos 

 

La segunda ventaja es que la lectura de un archivo es muy rapida ya que se hace en una sola operacion. Solo se necesita hacer un SEEK (al primer bloque). Despues de esto no es necesario hacer otro SEEK o esperar al que el disco haga rotaciones adicionales para posicionarse en otro sector del disco

 

Implementacion del Sistema de Archivos 

 

Cuales serian las desventajas del metodo de asignacion continua????

 

Implementacion del Sistema de Archivos 

Metodo de asignacion ligada 



 

Una solucion a los problemas con el metodo de asignacion continua es mantener los archivos como una lista de bloques en el disco En la siguiente figura muestra este esquema

 

Implementacion del Sistema de Archivos

 

 

Implementacion del Sistema de Archivos 







 

Unos pocos bytes del comienzo de los bloques se usan como puntero al siguiente bloque, el resto del bloque contiene los datos del archivo Con este metodo, las entradas en el directorio solo tiene que guardar un puntero al primer bloque del disco asignado al archivo Escribir en el archivo supone coger uno de los bloques libres y añadirlo al final de la lista. Para leer un archivo solo hay que seguir los punteros de bloque a bloque  

Implementacion del Sistema de Archivos 





 

Esta tecnica no causa fragmentacion externa ya que se puede utilizar todos los bloques del disco. Tampoco se tiene que declarar el tamaño del archivo cuando se crea Los archivos pueden crecer sin ningun problema mientras haya bloques libres

 

Implementacion del Sistema de Archivos 



 

El principal problema es el acceso aleatorio a un archivo que es extremadamente lento Para encontrar el bloque i de un archivo hay que empezar por el primer e ir siguiente los punteros hasta llegar al i-esimo bloque

 

Implementacion del Sistema de Archivos 

Metodo de asignacion indexada 



 

La asignacion mediante listas ligadas evita la fragmentacion externa y la declracion del tamaño que presentaba la asignacion continua. Pero es una mala solucion para el acceso aleatorio a los archivos Una alternativa es colocar los indices a los bloques de los archivos en una tabla de indices, es decir, usar un metodo de asignacion mediante indexacion, tal como se indica en la siguiente figura  

Implementacion del Sistema de Archivos

 

 

Implementacion del Sistema de Archivos 



 

En este caso, el directorio contiene la direccion del bloque (el numero 11 es el ejemplo) donde estan los indices a los bloques de datos del archivo Con esta organizacion, todo bloque esta disponible para los datos. Ademas se soporta con la misma eficacia el acceso aleatorio como el secuencial, sin sufrir de fragmentacion externa

 

Sistemas Operativos II

Tema Administracion de Dispositivos Perifericos

 

 

Entrada/Salida (I/O) 





 

Una computadora basa gran parte de su utilidad en la capacidad de recibir y transmitir informacion desde o hacia el exterior Se puede ver la Entrada/Salida (E/S) como un conjunto de controladores de E/S Cada controlador se conecta al bus del sistema o a un conmutador centralizado y supervisa uno o mas dispositivos perifericos  

Entrada/Salida (I/O) 

 

Un contralador de E/S no es simplemente una conexion fisica entre un dispositivo externo o el bus del sistema, sino que contiene cierta “inteligencia”, es decir dispone de la logica necesaria para realizar una funcion de comunicacion entre los perifericos de la computadora y el bus

 

Entrada/Salida (I/O) 

Los motivos porque los perifericos no se conectan directamente al bus son los sig: 





 

Existe una gran variedad de perifericos con diversos metodos de operacion La velocidad de transferencia de datos de los perifericos suele ser mucho menor que la de la memoria con el CPU Los perifericos a menudo utilizan formatos de datos y longitudes de palabras distintas a la de la computadora al que estan conectados  

Entrada/Salida (I/O) 

Estas razones justifican la existencia de los controladores de E/S, que tienen dos grandes funciones: 



 

Comunicarse con el CPU y la memoria a travez del bus del sistema Comunicarse con uno o varios dispositivos perifericos mediante enlaces de datos adaptados a cada periferico

 

Entrada/Salida (I/O) Linea de Direccion Linea de Datos Linea de Control

Controlador de E/S

Enlaces a  dispositivos  perifericos

 

 

Entrada/Salida (I/O) 

En un sentido amplio los perifericos se pueden clasificar en 4 categorias: 

Adaptados al Usuario: son dispositivos apropiados para comunicar informacion al usuario   

 

Las consolas Las terminales de video Las impresoras

 

Entrada/Salida (I/O) 

Adaptados a la maquina: permite comunicarse con el sistema  



 

Unidades de Discos Unidades de Respaldo

Comunicacion: son los que permiten transmitir informacion a dispositivos remotos. Estos dispositivos remotos pueden ser adaptados al usuario, a la maquina o incluso ser otra computadora

 

Entrada/Salida (I/O) 

De Interaccion con el medio externo: se utilizan en general para transmitir informacion a elementos actuadores y recibir informacion de elementos sensores en un sistema de control en que la computadora actua como controlador  

 

Termo-Par Sensores HVAC

 

Entrada/Salida (I/O) 

Existen grandes diferencia entre los diversos dispositivos E/S. Entre estas diferencia se pueden citar las sig: 



 

Velocidad de Transferencia:Puede haber diferencia de ordenes de magnitud en la velocidad de transferencia de datos entre los diferentes dispositivos Aplicaciones: La utilizacion a la que se destina el periferico tiene una gran influencia sobre los programas y las estrategias correspondientes utilizadas por el sistema operativo  

Entrada/Salida (I/O) 



Unidad de Transferencia: segun en metodo que se utilice para transferir datos los perifericos se clasifican en dos categorias:  

 

Por ejemplo, si se destina un disco para el almacenamiento de los archivos se va a necesitar un modulo en el sistema operativo para la administracion de los mismo

Orientado a Bloques Orientado a Caracteres

 

Entrada/Salida (I/O) 

En los dispositivos orientados a objetos (por ejemplo los discos), los datos son transferidos en bloques de informacion cuyas caracteristicas basicas son:  



 

Los bloques normalmente son de tamaño fijo Es posible leer o escribir en un bloque de forma independiente de los demas Los datos se referencian o direccionan dando el numero de bloque que se desea transferir

 

Entrada/Salida (I/O) 

En los dispositivos orientados a caracteres (por ejemplo las terminales, las impresoras, los puertos de comunicacion, los ratones, etc), los datos se transfieren como una cadena de caracteres con las caracteristicas basicas sig:   

 

No estan sujetos a una estructura de bloques No se pueden utilizar direcciones No es posible realizar operaciones de buscada

 

Entrada/Salida (I/O) 





 

Complejidad del controlador del dispositivo: La estructura del contolador de E/S de los dispositivos presentan grados de dificultad muy variados Asi una interfaz alfanumerico requiere una interface de control mucho mas sencillo que de un disco Una de las funciones del SO, es uniformizar estas diferencias mediante los modulos de E/S que gobierna  a los distintos dispositivos

Entrada/Salida (I/O) 



 

Condiciones de error: Para cada dispositivo hay un tratamiento especifico de las condicones de error, sus consecuencias y la respuesta que se suministra al usuario En la siguiente figura se muestra en terminos generales la naturaleza de un dispositivo externo

 

Entrada/Salida (I/O)

 

 

Entrada/Salida (I/O) 



 

La comunicacion con el controlador E/S se efectua mediante señales de datos, de control, y de estado del dispositivo Los datos estan constituidos por un conjunto de bits que se envian o reciben desde el controlador de E/S

 

Entrada/Salida (I/O) 

Las señales de control determinan la funcion que realiza el dispositivo 

Enviar el dato al controlador de E/S (leer)



Aceptar el dato del controlador E/S (escribir)



 

Realizar una funcion de control particular para ese dispositivo

 

Entrada/Salida (I/O) 

Las señales de estado indica el estado en el que se encuentra el dispositivo 

Preparado / No Preparado  



 

Hay papel o no en la impresora Si un lector de CD tiene un disco insertado o no

La logica de control asociada con el periferico gobierna su funcionamiento en respuesta a las ordenes enviadas por el controlador E/S  

Entrada/Salida (I/O) 



 

El traductor convierte las señales electricas a otra forma de energia y a la inversa en una operacion de entrada En el registro se almacena temporalmente el dato que se transfiere entre el controlador de E/ S y el mundo exterior

 

Entrada/Salida (I/O) 



 

Una caracteristica que es comun a todos los dispositivos perifericos es que su velocidad de trabajo es muy inferior a la que posee una computadora Esta limitacion viene impuesta, en la mayoria de los casos, por la naturaleza mecanica de algunas partes de los mismos

 

Entrada/Salida (I/O)

 

Dispositivo

Velocidad

Teclado raton modem 56K Scanner Camara Video Digital 52x CD­Rom FireWire (IEEE 1394) USB 2.0 Monitor XGA Red SONET OC­12 Ethernet Gigabit Disco Serial ATA Disco SCSI UltraWide Bus PCI  

10 bytes/seg 100 bytes/seg 7 Kb/seg 400 Kb/seg 4 Mb/Seg 8 Mb/seg 50 Mb/seg 60 Mb/seg 60 Mb/seg 78 Mb/seg 125 Mb/seg 200 Mb/seg 320 Mb/seg 528 Mb/seg

Entrada/Salida (I/O) 

 

El nucleo central de este tema lo constituye el estudio de los mecanismos por los que un controlador de E/S interaccionan con el resto de la computadora. Se utilizan las siguientes tecnicas: 

E/S controlada por programa



E/S por interrupciones



Acceso directo a memoria (DMA)



Procesador de E/S  

E/S controlada por programa 

 

En la E/S controlada por programa el CPU ejecuta un programa que tiene el control directo de la operacion E/S e incluye la comprobacion del estado del dispositivo, el envio de una orden de lectura o escritura y la transferencia del dato

 

E/S controlada por programa 

Para ejecutar una de E/S, el CPU envia una orden de E/S y una direccion que especifica el controlador y el periferico en particular. El CPU puede enviar 4 tipos de ordenes: 



 

Ordenes de control.- se utilizan para activar un periferico y decirle que hacer Ordenes de comprobacion.- se utiliza para verificar diferentes tipo de condiciones de estado asociadas con un controlador E/S y sus perifericos  

E/S controlada por programa 



 

Ordenes de lectura.- originan que el controlador de E/S obtenga un dato del periferico y lo coloque en un registro interno (registro de datos RD). El CPU entonces puede conseguir el dato pidiendo al controlador E/S que lo coloque sobre el bus de datos Ordenes de escritura.- realiza el proceso inverso de las ordenes de lectura y hacen que el controlador de E/S tome un dato del bus de datos y a continuacion lo transmita al periferico

 

E/S controlada por programa Leer registro de datos RE Este loop mantiene  ocupado al CPU sin  que pueda hacer otra  cosa lo que provoca el  bajo rendimiento de  este estado de  transferencia

Fin

 

No Dato preparado en periferico? Si

No

Recibir mas datos?  

Transferir dato del registro de datos RD al CPU

Almacenar dato en memoria

E/S controlada por programa 



 

Despues de efectuar la transferencia de un dato, la computadora permanece en un loop de espera hasta que el periferico este preperado para realizar la siguiente transferencia. El periferico indica su disponibilidad mediante los bits de su registro de estado

 

E/S controlada por programa 

 

El diagrama pone de manifiesto la principal desventaja de esta tecnica: la computadora no realiza ningun trabajo util mientras permanezca en el loop de espera, y este hecho con perifericos lentos puede repetirse miles de veces

 

E/S por interrupciones 

El mecanismo de E/S controlada por programa presenta uan serie de inconvenientes que se puede resumir de la forma siguiente:  

 

Perdida de tiempo en el loop de espera Si existen programas que tienen que ejecutarse necesariamente de forma periodica, esto implica que no puede permanecer en el loop de espera por tiempo indefinido

 

E/S por interrupciones 



 

Hay problemas cuando se quiere atender a varios perifericos. Mientras la computadora espera a que un periferico este preparado para transmitir no puede estar atendiendo a otros Un planteamiento diferente que resuelve este problema lo constituye la E/S por interrupciones

 

E/S por interrupciones 



 

La idea basica consiste en eliminar el loop de espera. El CPU envia una orden de E/S al periferico y prosigue con la tarea que estaba ejecutando, en lugar de quedarse esperando a que se efectue la operacion de E/S Cuando el periferico esta listo para intercambiar informacion, fuerza una interrupcion en la tarea que realiza la CPU para que atienda la operacion de E/S  

E/S por interrupciones 



 

En ese momento el CPU realiza la transferencia de datos, de la misma manera que en el caso de E/S controlada por programa, y a continuacion sigue ejecutando el programa que habia interrumpido. El periferico advierte al CPU que esta preparado para la transmision, activando una linea especial del bus de control: La linea de peticion de interrupcion (IRQ)  

E/S por interrupciones 

El numero de IRQ puede estar limitada 



En PC clase pentium, tiene solo 15 disponibles para todos los perifericos de E/S Algunos controladores lo tiene preestablecidos en la tarjeta madre 



 

El teclado, video y disco duro

En PC antiguas, los IRQ eran establecidos por los usuarios a travez de un switch o jumper asociados al controlador  

E/S por interrupciones 



El CPU no siempre esta en disposicion de aceptar peticiones de interrupcion por parte de los perifericos, como por ejemplo: 



 

Poco usuarios sabian como configurar correctamente los IRQ, por la cual se invento el Plug 'n Play, el cual el BIOS automaticamente asigna algun IRQ a los perifericos al tiempo de arranca para evitar conflictos

Cuando el CPU no precisa ninguna transferencia de datos con el periferico Cuando el CPU esta atendiendo la interrupcion de un periferico de alta prioridad  

E/S por interrupciones

 

 

Acceso Directo a Memoria (DMA) 



 

La E/S por Interrupciones, aunque es mas eficaz que la E/S controlada por programa, requiere la intervencion activa del CPU para transferir datos entre la memoria y un periferico. En ambos casos, cualquier transferencia de datos debe recorrer un camino que pasa a travez del CPU  

DMA 

En ambos casos estas dos formas de E/S sufren de dos ventajas inherentes: 





 

La transferencia de datos esta limitada a la velocidad con que el CPU puede comprobar y atender a un periferico El CPU esta obligado a gestionar la transferencia de E/S

Lo cual tiene por efecto adverso en la actividad del CPU y la velocidad de transferencia de E/S  

DMA 



 

Cuando se mueven grandes cantidades de datos, se necesita una tecnica mas eficaz: esta tecnica es el acceso directo a memoria (Direct Memory Access) El DMA necesita un modulo adicional conectado al bus del sistema: controlador de DMA, que es capaz de hacer las funciones asigndas al CPU durante la transferencia de datos y asumir el control del sistema, especialmente de los buses de   datos y de direcciones, ver sig. fig

DMA

 

 

DMA 

La tecnica del DMA funciona de la siguiente manera: cuando el CPU desea leer o escribir un bloque de datos emite una orden al controlador de DMA enviandole la siguiente informacion: 

Si la operacion de E/S es de lectura o escritura



La direccion del periferico





 

La posicion de comienzo en memoria de donde hay que leer o donde hay que escribir El numero de palabras que se tiene que leer o   escribir

DMA 





 

El controlador de DMA transfiere directamente, palabra por palabra, el bloque completo de datos entre el periferico y la memoria, sin pasar por el CPU. Cuando la transferencia finaliza, el controlador de DMA envia una señal de interrupcion al CPU De esta forma el CPU unicamente interviene unicamente al principio y final de la transferencia, ver la sig. fig  

DMA

 

 

Procesador E/S (PE/S) 

A medida que que avance la tecnologia cada vez se realizan mas funciones de E/S sin la intervencion directa del CPU 



 

El procesador de E/S tiene una memoria local y se puede considerar como una computadora Con esta arquitectura se consigue controlar un gran numero de perifericos con una intervencion minima del CPU

 

Procesador E/S (PE/S)

 

 

Sistemas Operativos II

Tema Seguridad y proteccion

 

 

Seguridad y Proteccion 

 

Uno de los mayores problema que representa al almacenar la informacion en una computadora es la seguridad de la misma, teniendo que idear mecanismos que protejan esta informacion tanto de daños fisicos como de accesos inadecuados o mal intencionados

 

Seguridad y Proteccion 





 

A menudos, los conceptos de seguridad y proteccion se utilizan de forman indistinta y abarcan diferentes problemas. El termino seguridad se suele referir al problema general El termino mecanismo de proteccion a los procedimientos especificos utilizados por el sistema operativo para asegurar la informacion de la computadora  

Seguridad y Proteccion 

Los origenes de los problema de seguridad tienen diferente causas: 

Causas ajenas al sistema informatico   



Averias a la computadora o errores de programas  

 

Incendios Apagones Desastre naturales



Mal funcionamiento del CPU Errores en el SO o aplicaciones   Errores en el disco

Seguridad y Proteccion 

Errores humanos o actos mal intensionados   

 

Ejecucion incorrecta de un programa Borrar un archivo sin querer Intento de acceso indebidos

 

Metas de Seguridad 

 

Desde una perspectiva de seguridad, los sistemas computaciones tienen 3 metas generales: 

Confidencialidad de Datos



Integridad de Datos



Disponibilidad del Sistema

 

Metas de Seguridad 

Confidencialidad de Datos 



 

Al tener informacion secreta que se mantenga secreta. En especifico, si el dueño de cierta informacion decidio que solo ciertas personas pueden leer su contenido y otras no, el sistema operativo debe de poder garantizar que el acceso no autorizado a la informacion no ocurra Lo minimo es que el usuario especifique quien pueda ver la informacion, y el sistema operativo haga cumplir estas especificaciones  

Metas de Seguridad 

Integridad de Datos 





 

Significa que que usuarios no autorizados no tenga la abilidad de poder modificar datos sin el permiso del dueño del archivo Modificacion de datos no solo es alteracion de datos, sino tambien de poder borrar datos y añadir informacion falsa Usualmente la integridad de datos es mas importante que la confidencialidad de datos

 

Metas de Seguridad 

Disponibilidad del Sistema 



 

El sistema operativo debe de estar siempre listo, sin ninguna interrupcion externa que lo haga inaccesible DOS (Deny Of Service)

 

Metas de Seguridad

Meta Confidencialidad de datos Integridad de Datos Disponibilidad Del Sistema

 

 

Amenaza Datos expuestos Manipulacion de datos Deny of Service

Intrusos 





 

Los fallos y deterioros del sistema de archivos, causados por actos fortuitos, errores de maquinas o humano, son consideras amenazas internas Pero un problemas mas grave es el de intrusos que intentan accesar, de forma no autorizada, al sistema de archivos Estos intrusos pueden ser simples curiosos que sin alterar el sistema de archivos, quieren husmear  en el mismo, para ver que aplicaciones y/o documentos hay

Intrusos 



 

Tambien pueden ser personas altamente calificadas que como reto quieren romper la seguridad de algun sistema Y otros pueden tener un caracter lucrativo, y delictivo

 

Intrusos Famosos 

Jonathan James 

 



Adrian Lamo  

 

Primer menor de edad (16 años) que fue a prision por crimenes ciberneticos Acceso no autorizado a Departamento de Defensa US Robo de la NASA software de un valor de 1.7 millones de dolares Acceso no autorizado en el NY Times y Microsoft Sus actividades las hacias desde un Cyber-Cafe

 

Intrusos Famosos 

Robert Tappan Morris 





Conocido como el creador del “Morris Worm”, el primer gusano introducido al Internet Fue la primera persona que se le consigno bajo la ley de “1986 Computer Fraud and Abuse Act”

Kevin Mitnick 

Conocido por el Departamento de Justicia de los EU “Como el criminal informatico mas buscado”



 

 

Intrusos Famosos 



 

Durante 2 ½ años obtuvo acceso ilegal a computadoras, robo archivos secretos corporativos, paralizo lineas telefonicas y penetro al servidor de la Defensa Nacional de los EU Sus hazañas lo hicieron famoso las cuales se pueden ver en dos peliculas “Freedom Downtime” y “Takedown”

 

Penetracion en un Sistema 

La penetracion en un sistema informatico se puede hacer de diferente formas y por diversos medios. Entre lo mas conocidos estan: 

La utilizacion por parte del intruso de la cuenta de un usuario legitimo 



 

Para conseguirlo puede usar una terminal con una sesion abierta Obtener la contraseña de un usuario, para ello puede utilizar distintas tecnicas  

Penetracion en un Sistema 

La ejecucion de un “Caballo de Troya” 



Propagacion de Gusanos o Virus informaticos 



La diferencia entre un gusano y un virus esta en que el virus es parte del codigo de un programa, mientras que el gusano es un programa en si mismo

Inspeccion del Sistema de Archivos 

 

Programas los cuales ocultan parte de su funcionalidad, frecuentemente destinadas a obtener datos o derechos de acceso del usuario

Poder leer los archivos de la computadora, muy comun con conexiones P2P  

Principios de Diseño de Sistemas Seguros 

 

Saltzer y Schroeder identificaron varios principios generales que se pueden utilizar como guia para el diseño de sistemas seguros. Un resumen de sus ideas son las siguientes:

 

Principios de Diseño de Sistemas Seguros 

El diseño del sistema debe ser publico 



El estado predefinido es el de no acceso 

 

Los diseñadores se engañan a si mismos si confian en la seguridad del sistema en la ignorancia de los atacantes. Los algoritmos deben de ser conocidos pero las claves secretas Los derechos de acceso deben ser adquiridos solo con permiso previo

 

Principios de Diseño de Sistemas Seguros 

Verificar la autorizacion actual 



Minimos privilegios 

 

Cada peticion de acceso a un objeto debe conllevar la comprobacion de la autorizacion Cada proceso debe de utilizar el minimo grupo de privilegios para completar su tarea. Esto delimita los posibles daños causados por caballos de troya

 

Principios de Diseño de Sistemas Seguros 

Mecanismos simples e integrados 



Psicologicamente aceptable 

 

Mantener el diseño tan sencillo como sea posible facilita la verificacion y correccion de las implementaciones. Ademas, para que el sistema este realmente seguro, mecanismo debe de estar integrado hasta las capas mas bajas del sistema El mecanismo debe ser facil de usar de forma que sea aplicado correctamente y no sea rechazado por los usuarios  

Mecanismos de Proteccion 



 

Los mecanismo de proteccion surgieron con la multiprogramacion, con la intension que los programas de cada usuario estuvieran en la particion de memoria asignada e impidir asi que los programas traspasaran sus limites a otras particiones y las dañaran Pero la necesidad de compartir objetos tanto en memoria principal como en la memoria secundaria motivo que los mecanismos de control de acceso se   hicieran mas complejos

Mecanismos de Proteccion 



  

En algunos sistemas, la proteccion es responsabilidad por un programa llamado Monitor de Referencia (Reference Monitor) Cada vez que el acceso a un recurso protegido se realiza, el sistema primero pregunta al Monitor de Referencia si el proceso es valido o autorizado. El Monitor de Referencia revisa la tabla de politicas y toma una decision A continuacion se  describira el ambiente de trabajo del Monitor de Referencia

Dominios de Proteccion 



 

Un sistema computacional tiene varios “objetos” los cuales se tiene que proteger. Estos objetos pueden ser hardware (CPU, segmentos de memoria, disk drives o impresoras) o pueden ser software (procesos, archivos, base de datos, semaforos) Cada objeto tiene un nombre en particular para referenciarlo, y un numero finito de operaciones que los procesos pueden   ejercer

Dominios de Proteccion 





 

Los comandos read y write son apropiados para un archivo, mientras los comandos up y down son para los semaforos Un proceso solo debe poder accesar a aquellos recursos los cuales esta autorizado y que necesita en ese momento para completar Este requisito se llama “principio de la necesidad de saber”

 

Dominios de Proteccion 

Para analizar los mecanismos de proteccion hay que definir el concepto de dominio de proteccion. Un dominio es un conjunto de derechos de accesos, cada uno de los cuales esta formado por un par de la forma: <nombre del objeto, conjunto de derechos>



 

Generalmente un dominio corresponde a un solo usuario, especificando que puedo o no puede hacer el usuario, pero tambien el dominio puede ser mas general que un   solo usuario

Dominios de Proteccion 

En la siguiente figura se muestran los derechos de acceso para cada objeto en los tres dominio (D1, D2, D3) D3 <archivo3, (leer,escribir)>

<programa1,(leer, escribir)>

D1  

<archivo2, (escribir)> impresora,(escribir)>

D2

<programa1,(ejecutar)>  

Dominios de Proteccion 



  

Para poder leer y escribir el objeto programa1 es necesario que un proceso se este ejecutando en el dominio D1, pero para poderlo ejecutar es necesario que este en el dominio D3 Por otra parte los dominio D2 y D3 comparten el objeto impresora con derecho de solo escritura En cada momento se ejecuta un proceso en   algun dominio de proteccion

Matriz de Acceso 





 

Las relaciones entre dominios y objetos se pueden representar de forma abstracta mediante mediante una matriz denominada Matriz de Acceso. Las filas de la matriz de acceso representan dominios y las columnas objetos La siguiente tabla es un ejemplo de una matriz de acceso para el mismo caso que el de Dominio de Proteccion  

Matriz de Acceso 



 

Cada elemento de la matriz consiste en un conjunto de derechos de acceso En la tabla hay tres dominios y cinco objetos (un programa, tres archivos y una impresora)

 

Matriz de Acceso Objetos Dominios programa1 archivo1 archivo2 archivo3 impresora D1 leer/escribir leer D2 escribir escribir D3 ejecutar leer/escribir escribir Matriz de Acceso

 

 

Matriz de Acceso 



  

En el dominio D3 se puede ejecutar programa1 pero no se puede leer o escribir en el, sin embargo se puede leer y escribir en archivo3. En el dominio D2 solo se puede escribir en el archivo2 y en la impresora Con esta matriz y el numero del dominio, el sistema puede determinar que tipo de acceso se permite a un objeto en especifico El problema es como realizar de una forma eficaz esta matriz 

Matriz de Acceso 



 

En la practica, almacenar este tipo de matriz no es usual porque es demasiado grande y sparse La mayoria de los dominios no tienen acceso a casi todos los objetos, lo cual guardar una matriz que su contenido en la mayoria son espacios vacios es una perdida de espacio en el disco y no se puede conservar en la memoria principal

 

Matriz de Acceso 

Dos metodos practicas que se suelen utilizar son: 



 

Almacenar la matriz por columnas (lista de accesos) Almacenar la matriz por filas (lista de capacidades)

 

Lista de Acceso (ACL) 





 

En la primera tecnica, a cada objeto se le asocia una lista ordenada con todos los dominios que pueda tener acceso al objeto y la forma de dicho objeto Esta lista se le denomina lista de accesos para el objeto especificado Un ejemplo de la lista de accesos para los dominios y objetos del ejemplo anterior es la siguiente:  

Lista de Acceso (ACL) programa1: (D1, leer-escribir), (D3, ejecutar) archivo1: (D1, leer) archivo2: (D2, leer) archivo3: (D3, leer-escribir) impresora: (D2, escribir), (D3, escribir)

 

 

Lista de Acceso (ACL) 





 

El principal inconveniente es el retardo que se provoca con la busqueda para verificar la autoridad de un sujeto para accesar al objeto solicitado Para evitar esto y ahorrar espacio, algunos sistemas dividen a los usuarios en grupos y solo almacenan los derechos de acceso de los grupos Al usar grupos se introduce el concepto de roles  

Lista de Acceso (ACL) 

 

UNIX usa este tipo de esquema, las listas estan reducidas a tres entradas por archivos 

Propietario



Grupos



Usuarios

 

Lista de Capacidades (C-List) 





 

La otra tecnica comentada es almacenar la matriz de acceso por filas En este caso a cada dominio (o sujeto) se le asocia una lista de objetos a los cuales puede tener acceso, junto con una indicacion de las operaciones permitidas sobre cada objeto. Esta lista se le denomina lista de capacidades Un ejemplo de una lista de capacidades para el dominio D  1 es la siguiente:

Lista de Capacidades (C-List) Tipo Derechos Objeto 0 programa leer/escribir puntero a programa1 1 archivo leer/escribir puntero a archivo1 Listas de capacidades para el dominio D1

 

 

Lista de Capacidades (C-List) 



 

La proteccion mediante capacidades se basa en que nunca se permite una capacidad se mueva la espacio de direcciones accesibles por un proceso de un usuario Manteniendo las capacidades seguras, los objetos a los que protegen tambien estan seguro frente a un acceso no autorizados

 

Lista de Capacidades (C-List) 

La proteccion de esta lista de capacidades es impresindible, lo cual se idearon 3 metodos para su proteccion 

 

Arquitectura de Etiqueta: un diseño de hardware el cual cada “word” contiene un bit extra (etiqueta) la cual indica si el “word” contiene una capacidad o no. La etiqueta no puede ser manipulada por operacion aritmetica, comparacion, o instrucciones ordinarias similares, solo a travez del programas corriendo en modo kernel (sistema operativo)  

Lista de Capacidades (C-List) 



 

El segundo metodo es mantenar la lista de capacidades dentro del sistema operativo. Las capacidades son referenciadas por su posicion dentro de la lista El tercer metodo es mantenar la lista dentro del espacio del usuario, pero administrar la lista por medios criptograficos de tal manera que el usuario no pueda leerlos y/o modificarlos. Este metodo se aplica mas en sistemas distribuidos

 

Sistemas Operativos II

Tema Administracion de Memoria

 

 

Introduccion 

Hay dos razones principales por la cual un sistema operativo debe de poder administrar la memoria principal 



 

El principio de Von Neumann para el diseño y funcionamiento de un sistema operativo requiere que un programa resida en la memoria principal para poder ejecutarlo La necesidad de poder administrar varios programas la cuales estan residentes en memoria en un ambiente multiprogramas  

Introduccion 

Vamos a examinar algunos de los casos por lo cual es necesario un administrador de memoria 



 

Asignacion: Primero todos los procesos programados a ejecutarse tienen que estar residente en memoria. Estos procesos se les debe de asignar algun espacio en la memoria principal Intercambio, fragmentación y compactación: Si algun programa se mueve fuera de la memoria o termina, deja un hueco en esta. La memoria principal se fragmenta y se necesita compactar   para asignaciones organizadas

Introduccion 



 

Memoria virtual: La memoria virtual debe de tener un mecanismo de traduccion para mapear una direccion logica a una direccion fisica para poder accesar la informacion o instruccion desea Soporte a E/S: La mayoria de los dispositivos orientados a bloques son reconocidos como archivos especiales. Sus almacenadores intermediarios (buffers) necesitan ser administrados dentro la memoria principal junto con otros procesos

 

Introduccion 

 

Colector de Basura: Algunos programas usan estructura de datos dinamica. Estos programas usan y dejan de usar espacio en la memoria principal con frecuencia. En la practica el SO no utiliza de inmediato estos espacio vacios, tales areas se les conoce como basura. El SO tiene que compactar estos espacio, proceso conocido como colector de basura

 

Introduccion 

 

Proteccion: Revisar que no haya acceso ilegal de datos por otro proceso corriendo en otra seccion de la memoria principal. El SO de asegurar que todos los procesos solo tengan acceso a su asignada area de la memoria

 

Concepto de Realocacion en Memoria 



 

Una consideración importante al asignar un programa ejecutable es el poder relocalizarlo en cualquier parte de la memoria principal Consideremos que la alocacion de memoria principal solo se puede hacer a travez de direcciones absolutas, hay tener en cuenta lo siguiente:

 

Concepto de Realocacion en Memoria 





 



El contador del programas apunta a la direccion absoluta de la primera instruccion del programa Los datos se puede accesar conociendo la direccion absoluta Esto significa que solo se podran correr programas si la direccion absoluta esta disponible, aun cuando haya suficiente espacio libre en la memoria   Usando este concepto se pierde flexibilidad

Concepto de Realocacion en Memoria 



 

Para evitar este problema, los procesos son generados para poder ser relocalizados En la siguiente hay un proceso corriendo residente en memoria

 

Concepto de Realocacion en Memoria

 

 

Concepto de Realocacion en Memoria 





 

Inicialmente todas las direcciones del proceso son relativas a la direccion inicial Con esta flexibilidad podemos asignar cualquier segmento de la memoria al proceso para que corra Las instrucciones, data, control de bloque del proceso, etc, se puede accesar facilmente si la direcciones son relativas

 

Concepto de Realocacion en Memoria 

 

El concepto de realocacion es muy util cuando los procesos, “entran” y “salen” de la memoria principal (recuerden que los espacios vacios (basura) dejados por procesos que hayan terminado no esta disponibles al instante) ya que no siempre estara disponible el segmento de la memoria que utilizo

 

Concepto de Realocacion en Memoria 



 

Las ventajas de relocalizacion se puede mejor ver con la vinculacion de direcciones a una variable en un programa Para una variable x en un programa P, asignarle una direccion fija a x significa que el programa P solo podra corrar cuando x este asignada la misma direccion de memoria

 

Concepto de Realocacion en Memoria 



 

En cambio si la variable se le puede reasignar una direccion relativa al origen del programa (primera direccion del programa P) entonces al relocalizar el programa en cualquier parte de la memoria, todavia se podran generar direcciones relativas propias para x y ejecutar el programa En realidad los Compiladores generan codigo relocalizable  

Asignacion de Memoria 

Politica de Primer Ajuste 



En la siguiente figura se puede apreciar esta politica 

 

La politica suguiere de usar el primer espacio disponible suficientemente grande para que pueda alojarse en memoria

Nota: se esta utilizando la administracion de procesos (FIFO) junto con la administracion de memoria (PRIMER AJUSTE)  

Asignacion de Memoria

 

 

Asignacion de Memoria 



 

Esta politica es muy facil de implementar y muy rapida su ejecucion La desventaja es que deja muchos espacios vacios pequeño que no pueden ser utilizados por algun proceso, fragmentacion

 

Asignacion de Memoria 

Politica de Mejor Ajuste 





 

Esta primero recorre toda la memoria registrando los espacios vacios y su tamaño Luego escoje cual es el mas cercano al tamaño del proceso para poder alojarlo en memoria

En la siguiente figura se ve un ejemplo de esta politica, al igual que la de Primer Ajuste se considera el proceso FIFO para los procesos

 

Asignacion de Memoria

 

 

Asignacion de Memoria 



 

La politica de mejor ajuste es mas eficiente con respecto al uso del espacio en memoria Pero muy lenta en ejecutar, ya que tiene que revisar toda la memoria antes de asignarla a algun proceso

 

Asignacion de Memoria 

El Siguiente Ajuste 



Peor Ajuste 

 

El puntero de direcciones de memoria continua en donde se quedo la ultima vez, en lugar de comenzar desde la direccion inicial de la memoria. Al igual que el Primer Ajuste deja espacio vacios pero en una forma mas uniforme Asigna el espacio vacio más grande. Como su nombre lo dice es el peor metodo que existe, ya no se usa  

Asignacion de Memoria 

 

Los metodos de Primer Ajuste y Siguiente Ajuste son los mas rapido en ejecutar lo cual los hace los preferidos en implementarse

 

Memoria Virtual-Paginacion 



 

La paginacion de la memoria virtual se puede se comparar al leer un libro. Cuando leemos un libro solo leemos la pagina a la que esta abierto el libro. Todas las demas paginas estan no estan visibles De la misma manera cuando se tiene en memoria principal una gran cantidad de datos, el procesador solo necesita un set pequeño de instrucciones que necesita ejecutar en un determinado tiempo  

Memoria Virtual-Paginacion 



 

En realidad todas las instrucciones que el procesador necesita ejecutar estan en una pequeña area una instruccione cerca de la otra Esto es como la pagina del libro que se esta leyendo, claro esta que esto pasa mas frecuentemente en la computadora

 

Memoria Virtual-Paginacion 



 

La asignacion de la memoria principal es limitada y el espacio es muy pequeño comparada con el espacio de asignacion logica El tamaño real de la memoria principal se le conoce como memoria fisica. La asignacion logica se le conoce como memoria virtual

 

Memoria Virtual-Paginacion 



 

El concepto de almacenamiento virtual es poder dar la impresion de tener un almacenamiento bastente grande sin tener una memoria fisica principal realmente grande La idea principal es ofrecer una extension de la memoria principal dentro de algun espacio de la memoria secundaria

 

Memoria Virtual-Paginacion 





 

El registro de direcciones genera direcciones para un espacio mayor al de la memoria principal La nocion de la memoria virtual es una ilusion. El SO suporta y hace posible esta ilusion El SO crea esta ilusion copiando bloques de memoria del disco duro hacia la memoria principal como se ve en la figura de abajo.

 

Memoria Virtual-Paginacion

 

 

Memoria Virtual-Paginacion 



  

En otras palabras, el procesador es engañado para que piense que esta accesando una asignacion de espacio grande. De donde viene el nombre de almacenamiento virtual Para poder cargar estos bloques hacias la memoria principal, el tamaño se tiene que definir y estar monitoreados tanto por la memoria principal y secundaria Esto se hace a travez de Paginacion  

Memoria Virtual-Paginacion 





 

La Paginacion estipula que la memoria principal sea particionada en bloques de tamaño fijos llamados marco de paginas Tambien se requiere que el espacio virtual se divida paginas del mismo tamaño Esta igualdad facilita el movimiento de paginas de cualquier parte del espacio virtual (disco duro) hacia el marco de paginas de la memoria fisica  

Memoria Virtual-Paginacion 





 

La capacidad de mapear cualquier pagina a cualquier marco de paginas nos da mucha flexibilidad de operacion La division de la memoria fisica en marco de paginas es un particionamiento fijo. Lo cual teniendo marcos de pagina pequeños ayuda en tener fragmentacion chica La paginacion suporta multi-programacion. Por lo general puede haber varios procesos corriendo en memoria principal, cada una   con diferentes paginas.

Memoria Virtual-Paginacion 



 

La ventaja de esto es la posibilidad de poder compartir el mismo codigo, lo cual es interesante sobre todo en entornos de tiempo compartido Para ser compatible el codigo debe ser reentrante, es decir, no automodificable de forma de que no cambie nunca durante la ejecucion  

Memoria Virtual-Paginacion 

 

Por ejemplo dos procesos pueden compartir el codigo de un editor, pero el texto (datos) es diferente para cada uno de ellos, de forma que se tendra una copia de codigo para los dos procesos, pero distantas paginas de datos

 

Sistemas Operativos II

Tema Ambientes de Sistemas Operativos

 

 

Topologia de Red 



 

La topología de red o forma lógica de red se define como la cadena de comunicación que los nodos que conforman una red usan para comunicarse En algunos casos se puede usar la palabra arquitectura en un sentido relajado para hablar a la vez de la disposición física del cableado y de cómo el protocolo considera dicho cableado. Así, en un anillo con una MAU podemos decir que tenemos una topología en anillo, o de que se trata de un   anillo con topología en estrella

Topologia de Red 

 

La topología de red la determina únicamente la configuración de las conexiones entre nodos. La distancia entre los nodos, las interconexiones físicas, las tasas de transmisión y/o los tipos de señales no pertenecen a la topología de la red, aunque pueden verse afectados por la misma

 

Tipos de Topologias 



 

El arreglo o el trazado de los elementos de una red da lugar a ciertas topologías básicas que se puedan entonces combinar para formar topologías más complejas (topologías híbridas). Los tipos básicos de topologías son: 

Red en Bus



Red en Estrella



Red en Anillo



Red en Arbol

 

Tipos de Topologias 

Red en Malla  



 

Completo Parcial



Hibrido



Punto-Punto

Ejemplos de estos:

 

Tipos de Topologias

 

 

Clasificacion de Topologias 

 

Hay tres categorias basicas de tipologia de red: 

Topologia fisica



Topologia de señal



Topologia logica

 

Clasificacion de Topologias 

Topologia Fisica 

 

El trazado de los nodos de una red y de las conexiones físicas entre ellas - es decir, la disposición del cableado, de los cables, de las localizaciones de nodos, y de las interconexiones entre los nodos y el cableado o el sistema de conexión

 

Clasificacion de Topologias 

Topologia de Señal 



Topologia Logica 

 

El trazado de las conexiones reales entre los nodos de una red, según lo evidenciado por la trayectoria que las señales toman al propagarse entre los nodos El trazado de las conexiones evidentes entre los nodos de una red, según lo evidenciado por la trayectoria que los datos aparentan tomar al viajar entre los nodos  

Clasificacion de Topologias 

Ejemplo: 

 

En una red 802.4 Token Bus, la topología física puede ser un bus físico, una estrella física, o una topología física híbrida, mientras que la topología de la señal es un bus (es decir, la señal eléctrica se propaga a todos los nodos simultáneamente [no haciendo caso de retardos de propagación y de estado latente de red]), y la topología lógica es un anillo (es decir, los datos fluyen de un nodo al siguiente de una manera circular según el protocolo)  

Red en Bus o Lineal 



 

Una topología de red de bus es una arquitectura de red en la cual un sistema de clientes está conectado vía una línea de comunicación compartida, llamada bus Las redes de bus son la manera más simple de conectar a clientes múltiples, pero tienen a menudo problemas cuando dos clientes quieren transmitir al mismo tiempo en el mismo bus.  

Red en Bus - Ventajas  



 

 

Fácil ejecutar y extender Requiere menos longitud de cable que una topología de la estrella Bien adaptado para las redes temporales o pequeñas que no requieren altas velocidades (implementacion rápida) Más baratas que otras topologías Rentable ya que solamente se utiliza un solo cable  



Fácil de administrar

Red en Bus - Desventajas 







 

Longitud de cable y número limitados de estaciones Si hay un problema con el cable, la red entera va abajo Los costos de mantenimiento pueden ser más altos a largo plazo El funcionamiento se degrada al adicionar computadoras o el trafico es muy denso  

Red en Bus - Desventajas 

 

Se requiere la terminación apropiada (el lazo debe estar en trayectoria cerrada)



Trabaja mejor con el número limitado de nodos



Es más lento que las otras topologías.

 

Red en Estrella 



 

Las redes de estrella son una de las topologías mas comunes. En su forma más simple, una red de estrella consiste en una concentrador (switch), eje (hub) o computadora central, que actúan como conducto para transmitir mensajes La topología de estrella reduce la probabilidad de falla de la red conectando todos los sistemas con un nodo central  

Red en Estrella 



 

Cuando está aplicado a una red de bus, este hub central retransmite todas las transmisiones recibidas de cualquier nodo periférico a todos los nodos periféricos en la red, a veces incluyendo el nodo que origina la señal Todos los nodos periféricos pueden comunicar así con todos los otros, transmitiendo y recibiendo, del nodo central solamente  

Red en Estrella 

 

La falta de una línea de transmisión que liga cualquier nodo periférico al nodo central dará lugar al aislamiento de ese nodo periférico de todos los otras, pero el resto de los sistemas será inafectado

 

Red en Estrella - Ventajas 

 

Un mejor funcionamiento: El paso del paquete de datos con nodos innecesarios es prevenido por esta topología. A lo más 3 dispositivos y 2 acoplamientos están implicados en cualquier comunicación entre cualesquiera dos dispositivos que sean parte de esta topología. Esta topología induce trabajo extra enormes en el eje central (hub), sin embargo si el eje central tiene capacidad adecuada, después la utilización muy alta de la red por un dispositivo en la red no afecta a los otros   dispositivos en la red.

Red en Estrella - Ventajas 

 

Aislamiento de dispositivos: Cada dispositivo intrínsecamente es aislado con el acoplamiento que lo conecta con el eje. Esto hace el aislamiento de los dispositivos individuales bastante directo, y equivale a desconectar el dispositivo del eje. Esta naturaleza aislada también previene cualquier falta nocentralizada de afectar a la red.

 

Red en Estrella - Ventajas 

 

Ventajas de la centralización: Como el eje central es el embotellamiento, aumentando la capacidad del eje central o agregando los dispositivos adicionales a la estrella, puede ayudar a escalar la red muy fácilmente. La naturaleza central también permite el tráfico de la inspección a través de la red. Esto puede ayudar a analizar todo el tráfico en la red y a determinar comportamiento sospechoso.

 

Red en Estrella - Ventajas 

 

Simplicidad: La topología es fácil de entender, de establecer, y de navegar. La topología simple evita la necesidad de un encaminamiento complejo o el mensaje que pasa protocolos. Según lo observado anterior, el aislamiento y la centralización simplifica la detección de avería, pues cada acoplamiento o dispositivo se puede sondar individualmente.

 

Red en Estrella - Desventajas 



 

La principal desventaja de una topología de estrella es la alta dependencia del sistema al funcionamiento del eje central. Mientras que la falta de un acoplamiento individual da lugar solamente al aislamiento de un solo nodo, la falta del eje central hace la red inoperable, inmediatamente aislando todos los nodos Las interconexiones son complejas

 

Red en Anillo 



 

Una red de anillo es una topología de red en la cual cada nodo conecta con exactamente dos otros nodos, formando un camino circular para las señales - un anillo. Los datos viajan de nodo al nodo, con cada nodo manejando cada paquete Muchas redes de anillo agregan un anillo contrarrotatorio; para formar una topología redundante. Tales anillo duales incluyen: Spatial Reuse Protocol, Fiber Distributed   Data Interface y Resilient Packet Ring

Red en Anillo - Ventajas 







 

Red muy ordenada donde cada dispositivo tiene acceso al símbolo (token) y a la oportunidad de transmitir Mas eficiente que una topología de la estrella bajo carga pesada de trafico de red Puede crear una red mucho más grande usando token ring No requiere un servidor de red para manejar la conectividad entre las computadoras  

Red en Anillo - Desventajas 





  

Una estacion de trabajo que funciona incorrectamente o un puerto malo en el MAU puede crear problemas para la red entera Movimientos, adiciones y/o cambios de dispositivos pueden afectar a la red Tarjetas de red y MAU' s son mucho más costoso que tarjetas y hubs de Ethernet Mucho más lenta que una red de Ethernet   bajo carga normal

Red en Malla 

 

La topología en malla es una topología de red en la que cada nodo está conectado a uno o más de los otros nodos. De esta manera es posible llevar los mensajes de un nodo a otro por diferentes caminos. Si la red de malla está completamente conectada, no puede existir absolutamente ninguna interrupción en las comunicaciones. Cada servidor tiene sus propias conexiones con todos los demás servidores.  

Red en Malla 

 

Las redes de malla son autorregenerables: la red puede funcionar incluso cuando un nodo desaparece o la conexión falla, ya que el resto de nodos evitan el paso por ese punto. Consecuentemente, se forma una red muy fiable. Es una opción aplicable a las redes inalambricas (Wireless), a las redes cableadas (Wired), y a la interacción del software.

 

Red en Malla 



 

Una red completamente conectada, una topología completa o una malla completa es una topología de red en la cual hay un enlace directo entre todos los pares de nodos Esta topología se se implementa mas en usos militares. Sin embargo, puede también ser visto en el protocolo BitTorrent de compartir archivos en el cual los usuarios se conectan con otros usuarios en el " swarm" permitiendo a cada usuario la distribución del archivo con otros usuarios   también conectados

Red en Malla 

 

A menudo en el uso real de BitTorrent cualquier nodo individual dado está conectado raramente con cada solo el otro nodo como en una red completamente conectada verdadera pero el protocolo permite la posibilidad de cualquier un nodo conectar con cualquier otro nodo al compartir archivos.

 

Red en Malla 

 

Son las más caras que cualquier otra topologia, pero a su vez son las más flexibles. Vienen caracterizadas por encontrar caminos entre estaciones muy rápidamente, pero hay que tener en cuenta que para N nodos, necesitamos N-1 enlaces, teniendo pues en total (N(N-1))/2 enlaces

 

Redes Hibridas 

 

Las redes híbridas utilizan una combinación de cualesquiera dos o más topologías de una manera tal que la red resultante no exhiba una de las topologías estándar (e.g., bus, estrella, anillo, etc.). Por ejemplo, una red de árbol conectada con una red de árbol sigue siendo una red de árbol, pero dos redes de estrella conectadas juntas exhiben una topología de red híbrida.

 

Redes Hibridas 



 

Una topología híbrida se produce siempre cuando dos diversas topologías de red básicas están conectadas. Dos ejemplos comunes para la red híbrida son: 

red de anillo de estrella



red de bus de estrella

 

Topologia 

Las redes también se pueden clasificar en base a su ámbito de influencia. Según este criterio se pueden clasificar en tres grandes grupos: 





 

LAN (Local Area Network): Redes de área local. La longitud entre los nodos más distantes no debe exceder los 5 Km. MAN (Metropolitan Area Network): Redes de área metropolitana. WAN (Wide Area Network): redes de área   extensa o amplia.

Modelo ISO 

El diseño (e implementación) de una red es especificado por ISO (International Standards Organization). En el modelo OSI, la red esta organizada en 7 capas. Cada capa se comunica con la capa equivalente en un sitio remoto 

 

Capa física: Transmite bits de una computadora a otra, y regula la transmisión de cadenas de bits sobre el medio físico. En esta capa se define cómo se une el cable al adaptador de red, y qué técnica de transmisión   se emplea para enviar datos por el cable

Modelo ISO 



 

Capa de enlace: Aquí se empaquetan en bruto los bits de la capa física en tramas (paquetes de datos estructurados y lógicos) Es la responsable de transferir tramas de una computadora a otra sin errores. Después de enviar una trama se espera una expresión de reconocimiento de la computadora receptor Capa de red: Dirige mensajes y traduce traducciones lógicas, y nombres de direcciones físicas. También determina la ruta desde el origen al destino, y gestiona problemas de tráfico como conmutar, encaminar y controlar la   congestión de paquetes de datos

Modelo ISO 



 

Capa de transporte: Maneja los errores de reconocimiento y la recuperación. También empaqueta grandes mensajes cuando es necesario transmitirlos en pequeños paquetes o reconstruye los originales en el lado de la recepción. También envía reconocimiento de la recepción Capa de sesión: permite a dos aplicaciones de diferentes computadoras establecer, usar y terminar una comunicación. A este nivel se establece el diálogo de control entre dos computadoras regulando cuál transmite,   cuándo y cuánto

Modelo ISO 



 

Capa de presentación: en este nivel el sistema operativo traduce la información que el usuario generó en el nivel anterior. Se encripta la información (si fuese necesario) o se comprime, con el objetivo de disminuir el tráfico de la red y de la forma más fiable Capa de aplicación: representa el nivel en el que se encuentran las aplicaciones que acceden a los servicios de red. El usuario maneja estas aplicaciones en esta capa cuando trabaja con programas clientes de correo electrónico, acceso a datos de otros   equipos, etc

Modelo ISO

 

 

Sistemas Distribuidos 

 

Un sistema distribuido proporciona a los usuarios acceso a los distintos recursos hardware y software que ofrece el sistema. El acceso a estos recursos lo controla el software del sistema operativo, que es en realidad quien proporciona la imagen final que ven los usuarios. Hay dos esquemas para proporcionar estos servicios: 

Sistemas Operativos de Red



Sistemas Operativos Distribuidos  

Sistemas Distribuidos 

Sistemas Operativos de Red 

 

Los usuarios estan enterados de la multiplicidad de maquinas y para accesar a sus recursos necesitan conectarse a la computadora remota apropiada. En esta situacion se habla de sistemas debilmente acoplados tanto en software como en hardware

 

Sistemas Distribuidos 

Sistemas Operativos Distribuidos 

 

Los usuarios no necesitan saber que existe una multiplicidad de maquinas y pueden accesar a los recursos remotos de la misma forma que lo hacen a los recursos locales. Son sistemas de hardware debilmente acoplados, pero de software fuertemente acoplado

 

Bibliografia 







 

DISEÑO Y SIMULACIÓN DE SISTEMAS OPERATIVOS, EUGENIO JACOBO HERNÁNDEZ VALDELAMAR INTRODUCTION TO OPERATING SYSTEMS, PROF P.C.P BHATT OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, THIRD EDITION, ANDREW S. TANENBAUM SISTEMAS OPERATIVOS TEORIA Y PROBLEMAS, JOAQUIN ARANDA   ALAMANSA

Related Documents

Sistemas Operativos Ii
November 2019 16
Sistemas Operativos
May 2020 9
Sistemas Operativos
July 2020 5
Sistemas Operativos
November 2019 17
Sistemas Operativos
June 2020 4
Sistemas Operativos
May 2020 20

More Documents from "Filipe Rocha"