Professional Documents
Culture Documents
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 AttributionNoncommercialShare Alike 2.5 Mexico License. To view a copy of
this license, visit http://creativecommons.org/licenses/byncsa/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
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
Introducción
Archivos
Nombrar Archivos - Ejemplos
MS-DOS
UNIX
Archivo
Archivo
ARCHIVO
ARCHIVO
ArChiVo
ArChiVo
Se refieren al mismo
documento o
Se refieren a 3
programa diferentes
documentos o
programas
Nombrar Archivos
Ejemplos
Extensión Descripción
file.bak Archivo de respaldo
file.c Programa fuente de C
file.gif Graphical Interchange Format image
file.html HyperText Markup Language
file.iso Imagen ISO de un CD-ROM
file.jpg Foto codificada con estandard JPEG
file.mp3 Musica codificada con estandard MPEG capa 3
file.mpg Película codificada con estandar MPEG
file.o Archivo objeto compilado
file.pdf Archivo tipo Portable Document Format
file.ps Archivo tipo PostScript
file.tex Input for the TEX formatting program
file.txt Archivo de texto
file.zip Archivo comprimido
Nombrar Archivos
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
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
/* 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
Directorios de Archivos
Ejemplo de una Tabla de Directorio
Directorios de Archivos
Ejemplo de Tabla de Directorio divida en dos
Diseño de Directorios
Directorio de Nivel Único
Tres diseños de administradores de archivos
Directorio de Nivel Único
Directorio de Nivel Único
Directorio de Nivel Único
Directorio de Nivel Unico
Directorio de Nivel Unico
Nombre del Path (camino)
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)
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)
Nombre del Path (camino)
Nombre del Path (camino)
Nombre del Path (camino)
Nombre del Path (camino)
Operaciones con Directorios
Operaciones con Directorios
MAKEDIR (crear 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, “..”
REMOVEDIR (borrar directorio)
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
Operaciones con Directorios
Operaciones con Directorios
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)
Entrada/Salida (I/O)
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)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Entrada/Salida (I/O)
Dispositivo Velocidad
Teclado 10 bytes/seg
raton 100 bytes/seg
modem 56K 7 Kb/seg
Scanner 400 Kb/seg
Camara Video Digital 4 Mb/Seg
52x CDRom 8 Mb/seg
FireWire (IEEE 1394) 50 Mb/seg
USB 2.0 60 Mb/seg
Monitor XGA 60 Mb/seg
Red SONET OC12 78 Mb/seg
Ethernet Gigabit 125 Mb/seg
Disco Serial ATA 200 Mb/seg
Disco SCSI UltraWide 320 Mb/seg
Bus PCI 528 Mb/seg
Entrada/Salida (I/O)
E/S controlada por programa
E/S controlada por programa
Leer registro de datos RE
Este loop mantiene
ocupado al CPU sin
que pueda hacer otra No
cosa lo que provoca el
bajo rendimiento de
este estado de Dato preparado
transferencia en periferico?
Si
Transferir dato del
registro de datos RD
al CPU
Recibir mas
Fin No
datos?
Almacenar dato
en memoria
E/S controlada por programa
E/S controlada por programa
E/S por interrupciones
E/S por interrupciones
E/S por interrupciones
E/S por interrupciones
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
El CPU no siempre esta en disposicion de
aceptar peticiones de interrupcion por parte
de los perifericos, como por ejemplo:
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)
DMA
DMA
Procesador E/S (PE/S)
Procesador E/S (PE/S)
Sistemas Operativos II
Tema
Seguridad y proteccion
Seguridad y Proteccion
Seguridad y Proteccion
Seguridad y Proteccion
Metas de Seguridad
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
Metas de Seguridad
Meta Amenaza
Confidencialidad de datos Datos expuestos
Integridad de Datos Manipulacion de datos
Disponibilidad Del Sistema Deny of Service
Intrusos
Intrusos Famosos
Jonathan James
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
Adrian Lamo
Acceso no autorizado en el NY Times y Microsoft
Sus actividades las hacias desde un Cyber-Cafe
Intrusos Famosos
Penetracion en un Sistema
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
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
El estado predefinido es el de no acceso
Los derechos de acceso deben ser adquiridos solo
con permiso previo
Principios de Diseño de
Sistemas Seguros
Verificar la autorizacion actual
Cada peticion de acceso a un objeto debe conllevar
la comprobacion de la autorizacion
Minimos privilegios
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
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
Psicologicamente aceptable
El mecanismo debe ser facil de usar de forma
que sea aplicado correctamente y no sea
rechazado por los
usuarios
Mecanismos de Proteccion
Dominios de Proteccion
D3
<archivo3, (leer,escribir)>
<programa1,(leer, escribir)>
<archivo2, (escribir)> impresora,(escribir)>
D1
<programa1,(ejecutar)>
D2
Dominios de Proteccion
En cada momento
se ejecuta un proceso en
algun dominio de proteccion
Matriz de Acceso
Matriz de Acceso
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
Matriz de Acceso
Lista de Acceso (ACL)
Lista de Acceso (ACL)
Lista de Acceso (ACL)
Lista de Capacidades (C-List)
Lista de Capacidades (C-List)
Lista de Capacidades (C-List)
Sistemas Operativos II
Tema
Administracion de Memoria
Introduccion
Introduccion
Introduccion
Introduccion
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
Asignacion de Memoria
Asignacion de Memoria
Asignacion de Memoria
Asignacion de Memoria
Asignacion de Memoria
Asignacion de Memoria
El Siguiente 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
Peor Ajuste
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
Memoria Virtual-Paginacion
Memoria Virtual-Paginacion
Memoria Virtual-Paginacion
Memoria Virtual-Paginacion
Memoria Virtual-Paginacion
Memoria Virtual-Paginacion
Memoria Virtual-Paginacion
Memoria Virtual-Paginacion
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
Tipos de Topologias
Red en Malla
Completo
Parcial
Hibrido
Punto-Punto
Ejemplos de estos:
Tipos de Topologias
Clasificacion de Topologias
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
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
Topologia Logica
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
Red en Bus - Ventajas
Red en Bus - Desventajas
Red en Estrella
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
Red en Estrella - Ventajas
Red en Estrella - Ventajas
Red en Estrella - Desventajas
Red en Anillo
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
Red en Malla
Redes Hibridas
Redes Hibridas
Topologia
Sistemas Distribuidos
Sistemas Distribuidos
Bibliografia