miércoles, 27 de enero de 2010
6.4.4 SEGURIDAD EN ARCHIVOS
Los sistemas de archivos generalmente contienen información muy valiosa para sus usuarios, razón por la que los sistemas de archivos deben protegerla.
El Ambiente de Seguridad
Se entenderá por seguridad a los problemas generales relativos a la garantía de que los archivos no sean leídos o modificados por personal no autorizado; esto incluye aspectos técnicos, de administración, legales y políticos.
Se consideraran mecanismos de protección a los mecanismos específicos del sistema operativo utilizados para resguardar la información de la computadora.
La frontera entre seguridad y mecanismos de protección no está bien definida.
Dos de las más importantes facetas de la seguridad son:
La pérdida de datos.
Los intrusos.
Algunas de las causas más comunes de la pérdida de datos son:
Actos y hechos diversos, como incendios, inundaciones, terremotos, guerras, revoluciones, roedores, etc.
Errores de hardware o de software, como fallas en la cpu, discos o cintas ilegibles, errores de telecomunicación, errores en los programas, etc.
Errores humanos, por ej., entrada incorrecta de datos, mal montaje de cintas o discos, ejecución incorrecta de programas, pérdida de cintas o discos, etc.
La mayoría de estas causas se pueden enfrentar con el mantenimiento de los respaldos (back-ups) adecuados; debería haber copias en un lugar alejado de los datos originales.
Respecto del problema de los intrusos, se los puede clasificar como:
Pasivos: solo desean leer archivos que no están autorizados a leer.
Activos: desean hacer cambios no autorizados a los datos.
Para diseñar un sistema seguro contra intrusos:
Hay que tener en cuenta el tipo de intrusos contra los que se desea tener protección.
Hay que ser consciente de que la cantidad de esfuerzo que se pone en la seguridad y la protección depende claramente de quién se piensa sea el enemigo.
Algunos tipos de intrusos son los siguientes:
6.4.5 MECANISMOS DE PROTECCIÓN DE ARCHIVOS
Muchos objetos del sistema necesitan protección, tales como la cpu, segmentos de memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de datos, etc.
Cada objeto se referencia por un nombre y tiene habilitadas un conjunto de operaciones sobre él.
Un dominio es un conjunto de parejas (objeto, derechos):
· Cada pareja determina:
o Un objeto.
o Un subconjunto de las operaciones que se pueden llevar a cabo en él.
Un derecho es el permiso para realizar alguna de las operaciones.
Es posible que un objeto se encuentre en varios dominios con “distintos” derechos en cada dominio.
Un proceso se ejecuta en alguno de los dominios de protección:
· Existe una colección de objetos a los que puede tener acceso.
· Cada objeto tiene cierto conjunto de derechos.
Los procesos pueden alternar entre los dominios durante la ejecución.
Una llamada al S. O. provoca una alternancia de dominio.
En algunos S. O. los dominios se llaman anillos.
Una forma en la que el S. O. lleva un registro de los objetos que pertenecen a cada dominio es mediante una matriz :
· Los renglones son los dominios.
· Las columnas son los objetos.
· Cada elemento de la matriz contiene los derechos correspondientes al objeto en ese dominio, por ej.: leer, escribir, ejecutar.
6.4.6 IMPLEMENTACIÓN SISTEMAS DE ARCHIVOS
El aspecto clave de la implantación del almacenamiento de archivos es el registro de los bloques asociados a cada archivo.
Algunos de los métodos utilizados son los siguientes:
· Asignación contigua o adyacente:
o Los archivos son asignados a áreas contiguas de almacenamiento secundario.
o Las principales ventajas son:
§ Facilidad de implantación, ya que solo se precisa el número del bloque de inicio para localizar un archivo.
§ Rendimiento excelente respecto de la e / s.
o Los principales defectos son:
§ Se debe conocer el tamaño máximo del archivo al crearlo.
§ Produce una gran fragmentación de los discos.
· Asignación no contigua:
o Son esquemas de almacenamiento más dinámicos, destacándose los siguientes:
o Asignación encadenada orientada hacia el sector:
§ El disco se considera compuesto de sectores individuales.
§ Los archivos constan de varios sectores que pueden estar dispersos por todo el disco.
§ Los sectores que pertenecen a un archivo común contienen apuntadores de uno a otro formando una “lista encadenada”.
§ Una “lista de espacio libre” contiene entradas para todos los sectores libres del disco.
§ Las ampliaciones o reducciones en el tamaño de los archivos se resuelven actualizando la “lista de espacio libre” y no hay necesidad de condensación.
§ Las principales desventajas son:
§ Debido a la posible dispersión en el disco, la recuperación de registros lógicamente contiguos puede significar largas búsquedas.
§ El mantenimiento de la estructura de “listas encadenadas” significa una sobrecarga en tiempo de ejecución.
§ Los apuntadores de la estructura de lista consumen espacio en disco.
o Asignación por bloques:
§ Es más eficiente y reduce la sobrecarga en ejecución.
§ Es una mezcla de los métodos de asignación contigua y no contigua.
§ Se asignan bloques de sectores contiguos en vez de sectores individuales.
§ El sistema trata de asignar nuevos bloques a un archivo eligiendo bloques libres lo más próximos posible a los bloques del archivo existentes.
§ Las formas más comunes de implementar la asignación por bloques son:
§ Encadenamiento de bloques.
§ Encadenamiento de bloques de índice.
§ Transformación de archivos orientada hacia bloques.
o Encadenamiento de bloques o lista ligada:
§ Las entradas en el directorio de usuarios apuntan al primer bloque de cada archivo.
§ Cada uno de los bloques de longitud fija que forman un archivo contiene dos partes:
§ Un bloque de datos.
§ Un apuntador al bloque siguiente.
§ Cada bloque contiene varios sectores.
§ Frecuentemente el tamaño de un bloque se corresponde con el de una pista completa del disco.
§ Localizar un registro determinado requiere:
§ Buscar en la cadena de bloques hasta encontrar el bloque apropiado.
§ Buscar en el bloque hasta encontrar el registro.
§ El examen de la cadena desde el principio puede ser lento ya que debe realizarse de bloque en bloque, y pueden estar dispersos por todo el disco.
§ La inserción y el retiro son inmediatos, dado que se deben modificar los apuntadores del bloque precedente.
6.5 LLAMADAS AL SISTEMA SYSTEM CALLS
Las llamadas al sistema proveen una interfaz entre los procesos y el Sistema de Operación. Por lo general estas llamadas se encuentran disponibles como instrucciones en lenguaje ensamblable. En algunos sistemas podemos realizar llamadas al sistema desde programas en lenguajes de alto nivel, en cuyo caso se asemejan a llamadas a funciones o procedimientos. Es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.
Las llamadas al sistema comúnmente usan una instrucción especial de la CPU que causa que el procesador transfiera el control a un código privilegiado, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde va a ser conectado así como el estado del procesador.
Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB, para poder continuar ejecutándose luego. El procesador entonces comienza a ejecutar las instrucciones de código de alto nivel de privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso original, y continúa su ejecución. El retorno al proceso demandante no obligatoriamente es inmediato, depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación de CPU.
6.6 TIPOS DE INTERFAZ
· Control de las funciones manipulables del equipo.
· Puesta en marcha y apagado.
· Herramientas de desarrollo de aplicaciones
· Manipulación de archivos y directorios.
· Comunicación con otros sistemas.
· Information de estado.
· Configuración de la propia interfaz y entorno.
· Intercambio de datos entre aplicaciones.
· Control de acceso.
6.7 LENGUAJE DE COMUNICACIÓN (COMANDOS DE CONTROL) Y PIPELINES O CONDUCTOS
Secuencia de comandos de control
- o Comprobar si alguien está utilizando activamente el producto y, si es así, impedir la reinstalación, la actualización o la eliminación.
- o Asegurarse de que el sistema host local es compatible con el software (las secuencias de comandos pueden realizar comprobaciones de compatibilidad más a fondo que las aplicadas por los atributos úname del producto).
- o Eliminar archivos anticuados o versiones del producto instaladas con anterioridad.
- o Crear enlaces con los archivos o copias adicionales de los mismos después de instalarlos.
- o Copiar los archivos configurables en su lugar durante la primera instalación.

