jueves, 28 de noviembre de 2013

U6: 6.8. Cifrado



El cifrado es un método que permite aumentar la seguridad de un mensaje o de un archivo mediante la codificación del contenido, de manera que sólo pueda leerlo la persona que cuente con la clave de cifrado adecuada para descodificarlo. Por ejemplo, si realiza una compra a través de Internet, la información de la transacción (como su dirección, número de teléfono y número de tarjeta de crédito) suele cifrarse a fin de mantenerla a salvo. Use el cifrado cuando desee un alto nivel de protección de la información.
Métodos y Técnicas de Cifrado:
Cifrado de sustitución
El cifrado de sustitución consiste en reemplazar una o más entidades (generalmente letras) de un mensaje por una o más entidades diferentes.
Existen varios tipos de criptosistemas de sustitución:

    La sustitución monoalfabética consiste en reemplazar cada una de las letras del mensaje por otra letra del alfabeto.

    La sustitución polialfabética consiste en utilizar una serie de cifrados monoalfabéticos que son re-utilizados periódicamente.

    La sustitución homófona hace posible que cada una de las letras del mensaje del texto plano se corresponda con un posible grupo de caracteres distintos.

    La sustitución poligráfica consiste en reemplazar un grupo de caracteres en un mensaje por otro grupo de caracteres.

Cifrado César
Este código de cifrado es uno de los más antiguos ya que su uso se remonta a Julio César. El principio de cifrado se basa en la adición de un valor constante a todos los caracteres de un mensaje o, más precisamente, a su código ASCII.
Cifrado ROT 13
El caso específico del cifrado César donde la clave de cifrado es N (la 13º letra del alfabeto) se denomina ROT 13? (se eligió el número 13, la mitad de 26, para que sea posible cifrar y descifrar fácilmente mensajes textuales).
Cifrado de Transposición
El método de cifrado por transposición consiste en reordenar datos para cifrarlos a fin de hacerlos ininteligibles. Esto puede significar, por ejemplo, reordenar los datos geométricamente para hacerlos visualmente inutilizables.
El Cifrado Simétrico.
El cifrado simétrico (también conocido como cifrado de clave privada o cifrado de clave secreta) consiste en utilizar la misma clave para el cifrado y el descifrado.
El cifrado consiste en aplicar una operación (un algoritmo) a los datos que se desea cifrar utilizando la clave privada para hacerlos ininteligibles. El algoritmo más simple (como un OR exclusivo) puede lograr que un sistema prácticamente a prueba de falsificaciones (asumiendo que la seguridad absoluta no existe).
El Cifrado Asimétrico.
El cifrado asimétrico (también conocido como cifrado con clave pública). En un criptosistema asimétrico (o criptosistema de clave pública), las claves se dan en pares:

    Una clave pública para el cifrado.
    Una clave secreta para el descifrado.

En un sistema de cifrado con clave pública, los usuarios eligen una clave aleatoria que sólo ellos conocen (ésta es la clave privada). A partir de esta clave, automáticamente se deduce un algoritmo (la clave pública). Los usuarios intercambian esta clave pública mediante un canal no seguro.


U6: 6.7 Validación y Amenazas al Sistema.

 Amenazas a la seguridad en el acceso al sistema:

    Intrusos.
    Programas malignos.


Intrusos:

    Piratas o hackers: individuos que acceden al sistema sin autorización.
    Los sistemas presentan agujeros por donde los hackers consiguen colarse.

Técnicas de intrusión:

    Averiguar contraseñas (más del 80% de las contraseñas son simples).
    Probar exhaustivamente.
    Descifrar archivo de contraseñas.
    Intervenir líneas.
    Usar caballos de Troya. 

Técnicas de prevención de intrusos:
Establecer una buena estrategia de elección de contraseñas:

    Contraseñas generadas por ordenador (difícil memorización).
    Inspección activa (proceso periódico de averiguación).
    Inspección proactiva (decidir si es buena en su creació

Técnicas de detección de intrusos:
Investigar actividades inusuales:

    Detección de anomalías estadísticas.
    Uso de registros de auditoría que recogen información del comportamiento de cada usuario.
    Detección basada en reglas.
    Conjunto de reglas empleadas para decidir si una actividad es inusual. 

Tipos de amenazas:
Amenazas pasivas:

    Revelación del contenido del mensaje.

Amenazas activas:

    Alteración del flujo de mensajes.

Privación del servicio:

     Impide el uso normal de los servicios de comunicaciones.

  Suplantación:

      Cuando una entidad finge ser otra diferente. 

  Análisis del tráfico:

    En caso de que los mensajes vayan encriptados.
    Determinar las máquinas que se comunican y la frecuencia y longitud de los mensajes.
    Alteración del flujo de mensajes.



Clasificación de programas malignos:
Programas malignos que necesitan anfitrión:
Forman parte de un programa. 
Trampillas:

    Punto de entrada secreto a un programa.
    Se usan para depuración y prueba.
    Pueden usarse para acceso no autorizado. 

Bomba lógica:

    Se ejecutan cuando se cumplen ciertas condiciones.
    Ej: se borra el disco duro si programador no estáen nómina. 

Caballo de Troya:

    Código dañino incrustado en programa que se ejecuta cuando se ejecuta el programa. 


Programas malignos que no necesitan anfitrión:
Gusanos:

    Programas independientes.
    Se reproducen a través de la red.
    Además de propagarse pueden causar daños. 

Bacterias:

    No dañan explícitamente.
    Su único objetivo es reproducirse.
    Se reproducen exponencialmente agotando la capacidad del procesador. 

Virus:

    Código incrustado en un programa.
    Se reproducen e insertan en otros programas.
    Pueden causar daños.


Algoritmo de virus muy simple (tan sólo se reproduce):

    Encontrar 1ª instrucción de un ejecutable del disco.
    Sustituirla por salto a posición siguiente a la última instrucción.
    Insertar copia del código de virus (este algoritmo) en dicha posición.
    Hacer que el virus simule la instrucción sustituida por el salto.
    Saltar a la segunda posición.



U6: 6.6. Clasificaciones de La Seguridad.

 Es decir que la clasificación de los sistemas de computación según sus requerimientos de la seguridad ha sido ampliamente discutida de la seguridad del sistema.
En esta clasificación especifica, hay cuatro niveles de seguridad: a, b, c y d… a continuación, se describen estos niveles de seguridad y las características de cada uno.

    Nivel D es el Sistemas con protección mínima o nula no pasan las pruebas de seguridad mínima. MS-DOS y Windows 3. 1 son sistemas de nivel d. Puesto que están pensados para un sistema mono proceso y mono usuario, no proporcionan ningún tipo de control de acceso ni de separación de recursos.

    Nivel C a la Capacidad discrecional para proteger recursos, La aplicación de los mecanismos de protección depende del usuario, o usuarios, que tienen privilegios sobre los mismos. Entonces esto significa que un objeto puede estar disponible para lectura, escritura o cualquier otra operación. Y entonces casi todos los sistemas operativos comerciales de propósito general, como Unix, Linux o Windows NT se clasifican en este nivel.es decir dos son:

                Control de acceso por dominios.
                Control de acceso individualizado.

    Nivel B es el Control de acceso obligatorio en este nivel, los controles de acceso no son discrecionales de los usuarios o los dueños de los recursos, que deben existir obligatoriamente. Esto significa que todo objeto controlado debe tener protección sea del tipo que sea. Es decir que son tres y son:

                Etiqueta de seguridad obligatoria.
                Protección estructurada.
                Y el dominio de seguridad.

    Nivel A es el Sistemas de seguridad certificados para acceder a este nivel, la política de seguridad y los mecanismos de protección del sistema deben ser verificados y certificados por un organismo autorizado para ello.es decir dos tipos:

                Diseño verificado.
                Desarrollo controlado.



U6: 6.5.Concepto de Seguridad.

 La seguridad está definida en el diccionario como el conjunto de medidas tomadas para protegerse contra robos, ataques, crímenes y espionajes o sabotajes. La seguridad implica la cualidad o estado de estar seguro, es decir, la evitación de exposiciones a situaciones de peligro y la actuación para quedar a cubierto frente a contingencias adversas.

El uso creciente y la confianza en los computadores en todo el mundo ha hecho surgir una preocupación legítima con respecto a la seguridad informática. El uso de los computadores ha extendido en ambientes comerciales, gubernamentales, militares e incluso en los hogares. Grandes cantidades de datos vitales sensibles se están confiando y almacenado cada vez más en computadores. Entre ellos se incluyen registros sobre individuos, negocios y diferentes registros públicos y secretos gubernamentales y militares. Grandes transacciones monetarias tienen lugar diariamente en forma de transferencia electrónicas de fondos. Más recientemente, informaciones tales como notificaciones de propiedad intelectual y datos comerciales estratégicos son también almacenados, procesados y diseminados mediante computadores. Entre ellos se incluyen diseños de ventas, contratos legales y muchos otros.

La seguridad, no solo requiere un sistema de protección apropiado, sino también considerar el entorno externo en el que el sistema opera. La protección interna no es útil si la consola del operador está al alcance de personal no autorizado, o si los archivos se pueden sacar simplemente del sistema de computación y llevarse a un sistema sin protección. Estos problemas de seguridad son esencialmente de administración, no problemas del sistema operativo.

La información almacenada en el sistema, así como los recursos físicos del sistema de computación, tienen que protegerse contra acceso no autorizado, destrucción o alteración mal intencionada, y la introducción accidental de inconsistencia.

U6: 6.4 Protección Basada en el lenguaje

A medida que ha aumentado la complejidad de los sistemas operativos, sobre todo al tratar de ofrecer interfaces de más alto nivel con el usuario, lo objetivos de la protección se han vuelto mucho más refinados. En esta refinación observamos que los diseñadores de los sistemas de protección se han apoyado mucho en ideas que se originaron en los lenguajes de programación y especialmente en los conceptos de tipos de datos abstractos y objetos. 

Los sistemas de protección ahora se ocupan no sólo de la identidad de un recurso al cual se intenta acceder, sino también de la naturaleza funcional de ese acceso. En los sistemas de protección más nuevos, el interés en la función que se invocará se extiende más allá de un conjunto de funciones definidas por el sistema, como los métodos de acceso a archivos estándar, para incluir funciones que también podrían ser definidas por el usuario.


U6: 6.3 Implantación de Matrices de Acceso

 Los derechos de acceso definen que acceso tienen varios sujetos sobre varios objetos. Los sujetos acceden a los objetos. Los objetos son entidades que contienen información. Los objetos pueden ser:
•         Concretos:


Ej.: discos, cintas, procesadores, almacenamiento, etc.
•         Abstractos:
Ej.: estructuras de datos, de procesos, etc.
Los objetos están protegidos contra los sujetos. Las autorizaciones a un sistema se conceden a los sujetos.
Los sujetos pueden ser varios tipos de entidades:
•         Ej: usuarios, procesos, programas, otras entidades, etc.
Los derechos de acceso más comunes son:
•         Acceso de lectura.
•         Acceso de escritura.
Acceso de ejecución.



U6: 6.2 Funciones del Sistema de Protección

 Control de acceso que hace referencia a las características de seguridad que controlan quien puede obtener acceso a los recursos de un sistema operativo.
•          tener la flexibilidad suficiente para poder imponer una diversidad de políticas y mecanismos.
•          Protección de los procesos del sistema contra los procesos de usuario.
•          Protección de los procesos de usuario contra los de otros procesos de usuario.
•          Protección de Memoria.
•          Protección de los dispositivos.

U6: 6.1 Concepto y Objetivos de Protección






 La mayoría de estas causas se pueden enfrentar con el mantenimiento de los respaldos adecuados; de preferencia, en un lugar alejado de los datos originales.
Un problema más interesante es que hacer con los intrusos. Estos tienen dos variedades. Los intrusos pasivos solo desean leer archivos que no están autorizados a leer. Los intrusos activos son más crueles: Desean hacer cambios no autorizados a los datos. Si se desea diseñar un sistema seguro contra los intrusos, es importante tener en cuenta el tipo de intruso con el que se desea tener protección. Algunas de las categorías comunes son:
•  Curiosidad casual de usuarios no técnicos  Muchas personas tienen en sus escritorios terminales para sistemas con tiempo compartido y, por la naturaleza humana, algunos de ellos leerán el correo electrónico de los demás u otros archivos, si no existen barreras en frente de ellos. Por ejemplo la mayoría de los sistemas UNIS tienen pre definido que todos los archivos se pueden leer de manera pública.
•  Conocidos husmeando. Algunos estudiantes, programadores de sistemas, operadores y demás personal técnico consideran como un reto personal romper la seguridad del sistema de cómputo local. A menudo son muy calificados y están dispuestos a invertir una cantidad sustancial de su tiempo en este esfuerzo.
•  Un intento deliberado de hacer dinero. Algunos programadores en banco han intentado penetrar un sistema bancario con el fin de robarle al banco. Los esquemas han variado desde cambiar el software para truncar y no redondear el interés  para quedarse con una pequeña fracción de dinero, hasta sacar dinero de las cuentas que no se han utilizado en anos o el "correo negro”.
•  Espionaje comercias o militar. El espionaje indica un intento serio y fundamentado por parte de un competidor u otro país para robar programas, secretos comerciales, patentes, tecnología, diseño de circuitos, planes de comercialización  etc. A menudo, este intento implica la cobertura de cables o el levantamiento de antenas hacia la computadora con el fin de recoger su radiación electromagnética.
Debe quedar claro que el intento por mantener la KGB lejos de los secretos militares es un poco distinto del intento por evitar que los estudiantes inserten un mensaje gracioso en el sistema. La cantidad de esfuerzo que alguien pone en la seguridad y la protección depende claramente de quien se piensa sea el enemigo.
Otro aspecto del problema de la seguridad es la privacidad: la protección de las personas respecto del mal uso de la información en contra de uno mismo. Esto implica en forma casi inmediata muchos aspectos morales y legales.
Para proteger un sistema, debemos optar las necesarias medidas de seguridad en cuatro niveles distintos:

1.   Físico. El nodo o nodos que contengan los sistemas informáticos deben dotarse de medidas de seguridad físicas frente a posibles intrusiones armadas o subrepticias por parte de potenciales intrusos. Hay que dotar de seguridad tanto a las habitaciones donde las maquinas residan como a los terminales o estaciones de trabajo que tengan acceso a dichas maquinas.
2.  Humano. La autorización de los usuarios debe llevarse a cabo con cuidado, para garantizar que solo los usuarios apropiados tengan acceso al sistema. Sin embargo, incluso los usuarios autorizados pueden verse “motivados” para permitir que otros usen su acceso (por ejemplo, a cambio de un soborno). También pueden ser enganados para permitir el acceso de otros, mediante técnicas de ingenieria social . Uno de los tipos de ataque basado en las técnicas de ingeniería social es el denominado phishing ; con este tipo de ataque, un correo electrónico o pagina web de aspecto autentico llevan a engano a un usuario para que introduzca información confidencial. Otra técnica comúnmente utilizada es el analisis de desperdicios , un termino autorizado a la computadora (por ejemplo, examinando el contenido de las papeleras, localizando listines de teléfonos encontrando notas con contraseñas . Estos problemas de seguridad son cuestiones relacionadas con la gestión y con el personal, más que problemas relativos a los sistemas operativos.
3.  Sistema operativo. El sistema debe auto protegerse frente a los diversos fallos de seguridad accidentales o premeditados. Un problema que este fuera de control puede llegar a constituir un ataque accidental de denegación de servicio. Asimismo, una cierta consulta a un servicio podría conducir a la revelación de contraseñas o un desbordamiento de la pila podría permitir que se iniciara un proceso no autorizado. La lista de posibles fallos es casi infinita.

4.  Red. Son muchos los datos en los modernos sistemas informáticos que viajen a través de lineas arrendadas privadas, de lineas compartidas como Internet, de conexiones inalambricas o de lineas de acceso telefónico  La interceptacion de estos datos podría ser tan danina como el acceso a un computador, y la interrupción en la comunicación podría constituir un ataque remoto de denegación de servicio, disminuyendo la capacidad de uso del sistema y la confianza en el mismo por parte de los usuarios.
Si queremos poder garantizar la seguridad del sistema operativo, es necesario garantizar la seguridad en los primeros dos niveles. Cualquier debilidad en uno de los niveles altos de seguridad (físico o humano) podría puentear las medidas de seguridad que son estrictamente de bajo nivel (del nivel del sistema operativo). Así  la frase que afirma que una cadena es tan fuerte como el mas débil de sus eslabones es especialmente cierta cuando hablamos de seguridad de los sistemas. Para poder mantener la seguridad, debemos contemplar todos estos aspectos.
Ademas, el sistema debe proporcionar mecanismos de protección para permitir la implementación de las características de seguridad. Sin la capacidad de autorizar a los usuarios y procesos, de controlar su acceso y de registrar sus actividades, seria imposible que un sistema operativo implementara medidas de seguridad o se ejecutara de forma segura. Para soportar un esquema global de protección hacen falta mecanismos de protección hardware. Por ejemplo, un sistema donde la memoria no está protegida no puede nunca estar seguro.

   

U6. Protección y Seguridad

lunes, 25 de noviembre de 2013

U5: 5.8 Mecanismos de Recuperación en caso de falla.

Existen muchas herramientas que contiene el mismo sistema operativo pararecuperar información. De igual manera existen innumerable programas eninternet que son de mucha ayuda y muy fáciles de usar y que su ejecución tieneque ser atreves de un sistema operativo, pero el problema persiste en muchasocasiones, porque no conocemos más allá de las posible soluciones que lepodemos dar, tratando el error más a fondo. 


Eh aquí cuando entran los programasque trabajan independiente del sistema operativo.A continuación daremos a conocer la primera herramienta que podemos encontraren Windows XP.CHKDSK: Con esto podemos verificar la integridad del disco duro y su sistema dearchivos si son legibles o si están dañados Esto lo efectuamos ingresando al menúInicio -> Todos Los Programas -> Accesorios -> Símbolo de SistemaComo en la imagen de arriba dice “chkdsk /f /r” Pues primero es el comando queestamos utilizando que es CHKDSK, Después sigue /f, que es para desmontar elvolumen. Si el volumen está siendo ocupado por un proceso, rompe ese enlace yel disco duro lo ocupa solo para la terminal de símbolo de sistema y así poderanalizarlo, también viene /r esto es para reparar los sectores dañados del sistema.

U5: 5.7 Modelo Jerárquico

 Los ficheros representan la unidad lógica de almacenamiento de información en memoria secundaria.

Los sistemas de ficheros cuentan con dos estructuras, una de ellas es para el Sistema Operativo, el cual asimila a estos como una secuencia de bytes sin interpretar; sin embargo para el usuario los ficheros son considerados como una secuencia de bytes ya interpretada y un ejemplo de ello son los registros.

Ahora bien, ademas de contar con una estructura los sistemas de ficheros cuentan con características muy importantes que son sus atributos y susoperaciones.

Dentro de los atributos encontramos:

    Nombre

    Metadatos

        Tipo

        Tamaño

        Información de protección

        Intantes de creación

        Lista de bloques
    Datos


Dentro de las operaciones encontramos:

    Crear

    Abrir

    Cerrar

    Leer

    Escribir

    Posicionar

    Borrar


La estructura jerárquica de los ficheros se da por directorios, los cuales son un conjunto de referecnias a otros directorios o incluso a otros ficheros.
Esta estructura jerárquica está basada en la estructura de un árbol, la cual se divide en:

    Directorio único

    Directorio de dos niveles

    Un árbol de directorio por usuario



DIRECTORIO ÚNICO

Se caracteriza por tener un sólo directorio con todos los archivos de todos los usuarios.

DIRECTORIO DE DOS NIVELES

En esta estructura el sistema habilita un sólo directorio por cada usuario.

UN ÁRBOL DE DIRECTORIOS POR USUARIO

En esta última estructura el sistema permite que cada usuario tenga tantos directorios como necesite, respetando una jerarqía general. 

U5: 5.6 Manejo de Espacio en Memoria

 La diferencia de la MEMORIA principal de la memoria secundaria , auxiliar, masiva, externa no es tan veloz pero tiene gran capacidad para almacenar información en DISPOSITIVOS tales como discos, cintas magnéticas, discos ópticos. frecuentemente los datos y programas se graban en la memoria secundaria , de esta forma, cuando se ejecuta varias veces un programa o se utilicen repetidamente unos datos, no es necesario darlos de nuevo a través del DISPOSITIVO de ENTRADA.

En la memoria secundaria un ARCHIVO consta de un conjunto de bloques (correspondiente a la cantidad de información que se transfiere físicamente en cada operación de ACCeso (lectura o escritura).
el sistema operativo o sistema de gestión de archivos es el encargado de la asignación de bloques a archivos, de lo que surgen dos cuestiones, en primer lugar, debe asignarle el espacio de memoria secundaria a los archivos y, en segundo lugar, es necesario guardar constancia del espacio disponible para asignar.

El sistema de archivos se ocupa primordialmente de administrar el espacio de almacenamiento secundario, sobre todo el espacio en disco. el manejo del espacio libre en disco se lleva a cabo de la siguiente manera:

*vector de bists
*lista ligada (lista libre)
*por conteo(agrupacion)
vector de bits. el espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada block es representado por un bit y si el bloc es libre el bit es cero de lo contrario está asignado.11000111
lista ligada. una lista ligada de todos los blocks libres. otra implantación se consigue guardando la dirección del primer block libre y el número de los blocks libres contiguos que le siguen. cada entrada de la lista de espacio libre consiste de una dirección de disco y un contador (por conteo).
ejemplo de una lista de espacio libre enlazada en el disco.

Por agrupación. se almacena la dirección en n blocks libres en el primer block libre y el último contiene la dirección de otro block que contiene la dirección de otros blocks libres.
para manejar los espacios en disco existen los siguientes métodos:
  -contiguos
-ligados
-indexados
contiguos. esta asignación requiere que cada archivo ocupe un conjunto de direcciones contiguas en el disco, su asignación es definida por la dirección del primer bloc y la longitud del archivo.

Cuando se crea un archivo se le asigna un único conjunto contiguo de bloques, esta es un estrategia de asignación previa que emplea secciones de tamaño variable. la tabla de asignación de archivos necesita solo una entrada por cada archivo y que muestre el bloque de comienzo y la longitud del archivo. la asignación contigua es la mejor para un archivo secuencial.

La asignación contigua presenta algunos problemas, como la fragmentación externa. lo que hace difícil encontrar bloques contiguos de espacio de tamaño suficiente., lo que lleva a ejecutar un algoritmo de compactación para libera el espacio adicional en el disco.

Asignación ligada o encadenada. cada archivo es una lista ligada de blocks y el directorio contiene un apuntador al primer bloc y al último.
la asignación se hace con bloques individuales, cada bloque contendrá un puntero al siguiente bloque de la cadena. la tabla de asignación de archivos necesita una sola entrada por cada archivo que muestre el bloque de comienzo y la longitud del mismo, cualquier bloque puede añadirse a la cadena. no hay que preocuparse por la fragmentación externa porque solo se necesita un bloque cada vez.

Una consecuencia del encadenamiento es que no hay cabida para el principio de cercanía, si es necesario traer varios bloques de un archivo al mismo tiempo, se necesita una serie de accesos a partes diferentes del disco por lo que se debe ejecutar un algoritmo de compactación para liberar el espacio adicional en el disco.
 asignación indexada. cada archivo tiene su propio bloc de índice el cual es un arreglo de direcciones de bloc.

En esta asignación la tabla de asignación de archivos contiene un índice separado de un nivel para cada archivo: el índice posee una entrada para cada sección asignada al archivo. normalmente, los índices no están almacenados físicamente como parte de la tabla de asignación de archivos. mas exactamente el índice de archivo se guardara en un bloque aparte y la entrada del archivo en la entrada de asignación apuntara a dicho bloque.

La asignación puede hacerse por bloques de tamaño fijo, o en secciones de tamaño variable. la asignación por bloques elimina la fragmentación externa, mientras que la asignación por secciones de tamaño variable mejora la cercanía. en cualquier caso, los archivos pueden concentrarse en zonas cercanas de cuando en cuando. la concentración reduce el tamaño del índice en el caso de secciones de tamaño variable, pero no en el caso de asignación por bloques.

La asignación indexada soporta tanto el acceso secuencial como el acceso directo a los archivos y por ello se ha convertido en la forma más popular de asignación de archivos.

U5: 5.5 Mecanismos de Acceso a los archivos

Para acceder a los archivos existen varios mecanismos, Directorios, Descriptoresde archivos, mecanismos de control de acceso y procedimientos para abrir ycerrar archivos.

El descriptor de archivos o bloque de control, contiene información que el sistemanecesita para administrar un archivo, Estructura muy dependiente del sistema.Puede incluir la siguiente información: Nombre simbólico del archivo. Localización del archivo en el almacenamiento secundario. 

Organización del archivo (método de organización y acceso). Tipo de dispositivo. Datos de control de acceso. Tipo (archivo de datos, programa objeto, programa fuente, etc.). Disposición (permanente contra temporal). Fecha y tiempo de creación. Fecha de destrucción. Fecha de la última modificación. Suma de las actividades de acceso (número de lecturas, por ejemplo).

El descriptor de archivos es controlado por el sistema de archivos; el usuario nopuede hacer referencia directa a él.Identificación del archivo. Consiste de dos partes que es el nombre simbólico quees el que le da el usuario y un identificador interno que es asignado por el sistemaoperativo (número). 

Lugar de almacenamiento así como el tamaño del archivo.Modo de acceso. Se debe indicar en forma explícita quien puede acceder elarchivo y conque derecho.

U5: 5.4 Organización Lógica y Física

 Se refiere a las diferentes maneras en las que puede ser organizada la información de los archivos, así como las diferentes maneras en que ésta puede ser accesada. Dado que hay 2 niveles de visión de los archivos (físico y lógico), se puede hablar también de 2 aspectos de organización de archivos: Organización de archivos lógicos y de archivos físicos.

Organización lógica.
La mayoría de las computadoras organizan los archivos en jerarquías llamadas carpetas, directorios o catálogos . (El concepto es el mismo independientemente de la terminología usada.) Cada carpeta puede contener un número arbitrario de archivos, y también puede contener otras carpetas. Las otras carpetas pueden contener todavía más archivos y carpetas, y así sucesivamente, construyéndose un estructura en árbol en la que una «carpeta raíz» (el nombre varía de una computadora a otra) puede contener cualquier número de niveles de otras carpetas y archivos.



Organización física.
Los datos son arreglados por su adyacencia física, es decir, de acuerdo con el dispositivo de almacenamiento secundario. Los registros son de tamaño fijo o de tamaño variable y pueden organizarse de varias formas para constituir archivos físicos.

Cinta magnética.
-Etiqueta de volumen.- Contiene información que permite identificar la cinta, el nombre del propietario y cualquier información general requerida.
-
-Etiqueta de archivo.- Se utilizan por pares para indicar el inicio y fin del archivo, contiene información acerca del nombre del archivo, fecha de creación.


- Etiqueta de usuario.- Sirven para guardar información adicional de importancia para el usuario; no son procesados por el sistema operativo.

U5: 5.3 Componentes de un sistema de archivos.

Lo conforman todas aquellas rutinas encargadas de administrar todos los aspectos relacionados con el manejo de Archivos. En general, un Sistema de Archivos está compuesto por: Métodos De Acceso, Administración De Archivos, Administración De Almacenamiento Secundario, Mecanismos De Integridad.Métodos De Acceso. Se ocupan de la manera en que se tendrá acceso a la información almacenada en el archivo. Ejemplo: Secuencial, Directo, indexado. Administración De Archivos. Se ocupa de ofrecer los mecanismos para almacenar, compartir y asegurar archivos, así como para hacer referencia a ellos. Administración De Almacenamiento Secundario. Se ocupa de asignar espacio para los archivos en los dispositivos de almacenamiento secundario. En la siguiente figura se muestra un ejemplo de la administración de espacio en un disco duro.

Mecanismos De Integridad. Se ocupan de garantizar que no se corrompa la información de un archivo, de tal manera que solo la información que deba estar en el, se encuentre ahí.
Mecanismos de Organización Lógica. Contiene las diferentes rutinas y comandos a través de los cuales el usuario podrá estructurar sus archivos virtuales.
Directorio de Identificadores. Convierte los identificadores simbólicos de los archivos en identificadores internos, los cuales apuntarán a su descriptor o a una estructura que permite encontrar el archivo.
Sistemas Teóricos de Archivos. Su objetivo es el de activar y desactivar a través de las rutinas de abrir y cerrar archivos y verifica el modo de acceso.

Mecanismos de Organización Física. Traslada las direcciones lógicas en direcciones físicas correspondientes a las estructuras de memoria secundaria y los buffers en memoria principal necesarios para la transferencia de datos. 

U5: 5.2 Noción de Archivo Real y Virtual

 La mayoría de usuarios de computadoras comprenderán con mucha facilidad el término archivo relacionándolo directamente con ejemplos tales como los archivos de texto que se pueden generar con cualquier procesador de texto. Una característica de este tipo de archivos es que a mayor texto que almacena el archivo, mayor es el espacio en disco que consume dicho archivo. Por ejemplo, una línea corta de texto ocupa menos espacio en disco que esa misma línea copiada cien veces. Sin embargo al hablar de “archivos virtuales” las cosas son diferentes, pues este tipo de archivos no consumen espacio en el disco duro, sino que se almacenan en la memoria volátil, es decir la aquel tipo de memoria cuya información se pierde al interrumpirse el flujo de corriente eléctrica, esto es, la memoria RAM.
Archivo Real: Es un objeto que contiene programas, datos o cualquier otro elemento.


Un archivo virtual de uso temporal que es utilizado por los procesos del sistemamientras se están ejecutando dichos procesos. 

Estos archivos se crean durante laejecución de un sistema y los utiliza para el almacenamiento de información,intercambio y organización mientras se ejecuta el sistema, Se le conoce comoarchivo virtual, aquel que contiene los datos generados por el usuario.Veremos un ejemplo muy claro de tareas comunes en nuestro sistema y quenosotros en simple vista no vemos, Cuando nosotros estamos trabajando enWord y el nombre de nuestro archivo se llama “Sistemas Operativos - ReporteUnidad 5”, se crea un archivo Virtual llamado “~$stemas Operativos - ReporteUnidad 5” y su tamaño varia.Este es un claro ejemplo de archivo virtual, un archivo real, se muestra de manerareal, en la información del espacio que ocupa en un disco duro o sistema dealmacenamiento, en otras palabras su tamaño en bytes.


U5. Sistema de Archivos (5.1 Concepto)


 Un Archivo es un conjunto de elementos de información relacionados entre si y que fueron definidos por su creador. Por lo general, los archivos representan datos y programas. Un archivo de datos puede ser numérico, alfabético o binario. Los archivos pueden ser de formato libre, como los archivos de texto, o pueden estar rigurosamente formateados. En general, un archivo es una secuencia de bits, bytes, líneas o registros cuyo significado es definido por el creador del archivo y por el usuario.

Un archivo se puede manipular como una unidad mediante operaciones tales como abrir, cerrar, crear, destruir, copiar, renombrar y listar. Los elementos de información individuales que conforman un archivo se pueden manipular con acciones tales como leer, escribir, modificar y eliminar.

De acuerdo a las características y tipo de trabajo que se realicen sobre los archivos, estos pueden caracterizarse por su: Volatilidad, Actividad y Tamaño. 


U4: 4.4 Operaciones de Entrada y Salida

Es el conjunto de acciones necesarias para la transferencia de un conjunto de datos, es decir, una transferencia completa de datos.

Funciones que realiza:

Direccionamiento o selección del dispositivo que debe llevar a cabo la operacion de entrada / salida.
Transferencia de los datos entre el procesador y el dispositivo.
Sincronización y coordinación de las operaciones.
Esta ultima función es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo, suelen tener relojes diferentes). 

Se define una transferencia elemental de información como la transmisión de una sola unidad de información (normalmente un byte) entre el procesador y el periférico o viceversa.

Para efectuar una transferencia elemental de información son precisas las siguientes funciones: 

Establecimiento de una comunicación física entre el procesador y el periférico para la transmisión de la unidad de información. 
Control de los periféricos, en que se incluyen operaciones como prueba y modificación del estado del periférico.

U4: 4.3 Estructura de Datos para manejar desde Dispositivos

¿Qué es una estructura?

Los sistemas operativos actuales son grandes y complejos, estos deben poseer una ingeniería correcta para su fácil actualización y para que puedan cumplir su función correctamente.

La estructura es generalmente modular, cada modulo cumple una función determinada e interactúa con los demás módulos.

Existen dos tipos de estructura:
  1. Estructura simple.
  2. Estructura por capas.
Estructura simple:

El sistema MS-DOS es, sin duda, el mejor sistema operativo para hablar de estructuras simples, otra estructura simple es la utilizada por la versión original de Unix, esta consiste de dos partes separadas, el kernel y los programas de sistemas.

El kernel fue posteriormente separado en manejadores (drivers) de dispositivos y una serie de intercaces.

El kernel provee el sistema de archivos, la programación de CPU, el administrador de memoria y otras funciones del sistema operativo que responden a las llamadas del sistema enunciadas anteriormente.

Estructura por capas:

La modularización de un sistema se puede presentar de varias formas, la mas utilizada es la de por capas, la cual consiste en dividir al sistema operativo en un número de capas.

La capa de menor nivel es el hardware y la de mayor nivel es la interfáz con el usuario.

U4: 4.2 Mecanismos y Funciones de los manejadores de Dispositivos de Drivers

Funciones generalmente realizadas por el software independiente del dispositivo:

  1. Interfaz uniforme para los manejadores de dispositivos.
  2. Nombres para los dispositivos.
  3. Protección del dispositivo.
  4. Proporcionar un tamaño de bloque independiente.
  5. Uso de buffer.
  6. Asignación de espacio en los dispositivos por bloque.
  7. Asignación y liberación de los dispositivos exclusivos.
  8. Informe de errores.
Las funciones básicas del software independiente del dispositivo son:

  • Efectuar las funciones entrada/salida comunes a todos los dispositivos.
  • Proporcionar una interfaz uniforme del software a nivel usuario.



U4: 4.1 Dispositivos y Manejadores de Dispositivos "Device Drivers"

El sistema de entrada y salida es la parte del S.O. encargada de la administración de los dispositivos de E/S.
Comprende tanto la transferencia entre diversos niveles de la memoria como la comunicación con los periféricos.
Dispositivos y manejadores de dispositivos: device drivers.

DISPOSITIVOS DE E/S
Todos los dispositivos de E/S se pueden agrupar en tres grandes grupos:
  • Dispositivos de interfaz de usuario.
  • Dispositivos de almacenamiento.
  • Dispositivos de comunicaciones.


DISPOSITIVOS DE INTERFAZ DE USUARIO
  • Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.).

DISPOSITIVOS DE ALMACENAMIENTO
  • Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la CPU. 
DISPOSITIVOS DE COMUNICACIONES
  • Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más importantes de esta clase son los módem, para comunicación vía red telefónica, y las tarjetas de interfaz a la red, para conectar la computadora a una red de área local.






U4. Administración de Entrada y Salida

El sistema de entrada y salida es la parte del S.O. encargada de la administración de los dispositivos de E/S.
Comprende tanto la transferencia entre diversos niveles de la memoria como la comunicación con los periféricos.
Este sistema proporciona un medio para tratar los archivos y dispositivos de manera uniforme, actuando como interfaz entre los usuarios y los dispositivos de e/s que pueden ser manipulados por órdenes de alto nivel.
El SO debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos:
Facilitar el manejo de los dispositivos periféricos. Para ello debe ofrecer una interfaz entre los dispositivos y el resto del sistema que sea sencilla y fácil de utilizar.
Optimizar la E/S del sistema, proporcionando mecanismos de incremento de prestaciones donde sea necesario.
Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de dispositivos físicos sin que sea necesario remodelar el sistema de E/S del SO
Permitir la conexión de dispositivos nuevos de E/S, solventando de forma automática  su instalación usando mecanismos del tipo plug & play.


U3: 3.4 Administración de Memoria Virtual


La clave del concepto de memoria (almacenamiento) virtual esta en la disociación:
·         De las direcciones a las que hace referencia un programa.
·         De las direcciones disponibles en la memoria real (almacenamiento primario).

Mientras el proceso se ejecuta con sus páginas actuales, el sistema carga las demás páginas que estarán disponibles cuando las requiera el proceso.

El S. O. intenta predecir las páginas que un proceso va a necesitar y a continuación precarga estas páginas cuando hay espacio disponible Mientras el proceso ejecuta sus páginas actuales, el sistema carga páginas nuevas que estarán disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecución de un proceso se puede reducir.

Es un método mediante el cual, un sistema operativo simula tener másmemoria principal que la que existe físicamente. Para implementar la memoriavirtual se utiliza un medio de almacenamiento secundario de alta velocidad deacceso, generalmente en disco duro de la maquina. Un sistema de memoriavirtual se implementa utilizando paginación como método de administración dememoria básica y algún mecanismo de intercambio (para descargar paginas dela memoria principal hacia el disco duro y para cargar esas paginas de nuevo ala memoria).La memoria virtual es una técnica para proporcionar la simulación de unespacio de memoria mucho mayor que la memoria física de una maquina. 

Esta “ilusión” permite que los programas se hagan sin tener en cuenta el tamaño exacto de la memoria física. La ilusión de la memoria virtual esta soportada porel mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro.


Así en cualquier momento el espacio de direcciones virtual hace unseguimiento de tal forma que una pequeña parte de el, esta en memoria real yel resto almacenado en el disco, y puede ser referenciado fácilmente.

ESTRATEGIAS DE COLOCACIÓN EN ALMACENAMIENTO

Estrategias del mejor ajuste:

Un trabajo que entre en el sistema se colocaráen el espacio vació del almacenamiento principal en el que quepa mejor y quedeje la menor cantidad posible de espacio sin utilizar.
Estrategias del primer ajuste:

Un trabajo que entre en el sistema se colocaraen el almacenamiento principal en el primer vació disponibles lo bastantegrande para contenerlo.

Estrategias del peor ajuste:

Consiste en colocar un programa en el almacenamiento primario en el espacio vació donde peor se ajusta es decir en el espacio más grande posible.

U3: 3.3 Organización de Memoria Virtual


La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una maquina. Esta ilusión permite que los programas se hagan sin tener en cuenta el tamaño exacto de la memoria física.
La memoria virtual ha llegado a ser un componente esencial de la mayoría de los S.O actuales. Y como en un instante dado, en la memoria solo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener más procesos en la memoria.


La memoria virtual también simplifica la carga del programa para su ejecución llamado reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física. 

Evaluación de las Organizaciones de Almacenamiento

Almacenamiento virtual "significa la capacidad de direccional un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario de determinado sistema de computación”.
Esta tecnología apareció en 1960 en la Universidad de Manchester (Inglaterra), en el sistema “Atlas”.
Los métodos más comunes de implementación son mediante:

    Técnicas de “paginación”.
    Técnicas de “segmentación”.
    Una combinación de ambas técnicas.

Las direcciones generadas por los programas en su ejecución no son, necesariamente, aquellas contenidas en el almacenamiento primario (memoria real), ya que las direcciones virtuales suelen seleccionarse dentro de un numero mucho mayor de direcciones que las disponibles dentro del almacenamiento primario.
La evolución en las organizaciones de almacenamiento puede resumirse como sigue:

    Real:
Sistemas dedicados a un solo usuario.
Real:
Sistemas de multiprogramación en memoria real:
Multiprogramación en partición fija:
Absoluta.
Relocalizable (reubicadle).
Multiprogramación en partición variable.
    Virtual:
Multiprogramación en almacenamiento virtual:
Paginación pura.
Segmentación pura.
Combinación paginación / segmentación.


3.3.2 Paginación

¿Qué es la paginación? 
El termino memoria virtual se asocia normalmente con sistemas que emplean paginación, aunque también se puede usar memoria virtual basada en la segmentación. El uso de la paginación en la memoria virtual fue presentado por primera vez en el computador Atlas.

Cada proceso tiene su propia tabla de paginas y cuando carga todas sus paginas en la o memoria principal. Puesto que solo algunas de las páginas de un proceso pueden estar en la memoria principal, se necesita un bit en cada entrada de la tabla para indicar si la pagina perteneciente esta presente en la memoria principal o no. Si el bit indica que la pagina esta en la memoria, la entrada incluye también el número de marco para esa pagina.

Otro bit de control necesario en la entrada de la tabla de páginas es el bit de modificación (M), para indicar si el contenido de la página correspondiente se ha alterado desde que la página se cargo en la memoria principal. Si no ha habido cambios, no es necesario escribir la página cuando sea sustituida en el marco que ocupa actualmente.

Estructura de la tabla de páginas
El mecanismo básico de lectura de una palabra de la memoria supone la traducción por medio de la tabla de páginas de una dirección virtual o lógica (ver figura 3.3.2.1 y 3.3.2.2), formada por un número de página y un desplazamiento, a una dirección física que esta formada por un número de marco y un desplazamiento.

Con la memoria virtual, la CPU produce direcciones virtuales que son traducidas por una combinación de hardware y software a direcciones físicas, pues pueden ser utilizadas para acceder a memoria principal. Este proceso se denomina correspondencia de memoria o traducción de direcciones. Actualmente los dos niveles de la jerarquía de memoria controlados por la memoria virtual son las DRAM y los Discos magnéticos.

Puesto que la tabla de páginas es de longitud variable, en función del tamaño del proceso, no es posible suponer que quepa en los registros.

3.3.4 Sistema de paginación / segmentación

La paginación y la segmentación puras son métodos de manejo de memoria bastante efectivos, aunque la mayoría de los sistemas operativos modernos implantan esquemas combinados, es decir, combinan la paginación y la segmentación.

La idea de combinar estos esquemas se debe a que de esta forma se aprovechan los conceptos de la división lógica de los programas (segmentos) con la granularidad de las páginas. De esta forma, un proceso estará repartido en la memoria real en pequeñas unidades (paginas) cuya liga son los segmentos. También es factible así el compartir segmentos a medida que las partes necesitadas de los mismos se van reverenciando (paginas).    

Para comprender este esquema, nuevamente se vera como se traduce una dirección virtual en una localidad de memoria real. Para la paginación y segmentación puras se puede decir que el direccionamiento es `bidimensional' porque se necesitan dos valores para hallar la dirección real.
Para el caso combinado, se puede decir que se tiene un direccionamiento `tridimensional'.      

El sistema debe contar con una tabla de procesos (TP) (Ver figura 3.3.4.1). Por cada renglón de esa tabla se tiene un número de proceso y una dirección a una tabla de segmentos. Es decir, cada proceso tiene una tabla de segmentos. Cuando un proceso hace alguna referencia a memoria, se consulta TP para encontrar la tabla de segmentos de ese proceso. En cada tabla de segmentos de proceso (TSP) se tienen los números de los segmentos que componen a ese proceso.

Por cada segmento se tiene una dirección a una tabla de páginas. Cada tabla de páginas tiene las direcciones de las páginas que componen a un solo segmento. Por ejemplo, el segmento `A' puede estar formado por las paginas reales `a','b','c','p' y `x'. El segmento `B' puede estar compuesto de las paginas `f','g','j','w' y `z'.      Otro aspecto importante es la estrategia para cargar páginas (o segmentos) a la memoria RAM.

Se usan más comúnmente dos estrategias: cargado de páginas por demanda y cargado de páginas anticipada. La estrategia de cargado por demanda consiste en que las páginas solamente son llevadas a RAM si fueron solicitadas, es decir, si se hizo referencia a una dirección que cae dentro de ellas.

La carga anticipada consiste en tratar de adivinar que paginas serán solicitadas en el futuro inmediato y cargarlas de antemano, para que cuando se pidan ya no ocurran fallos de pagina.
Ese `adivinar' puede ser que se aproveche el fenómeno de localidad y que las paginas que se cargan por anticipado sean aquellas que contienen direcciones contiguas a la dirección que se acaba de refenciar. De hecho, el sistema operativo VMS usa un esquema combinado para cargar páginas: cuando se hace referencia a una dirección cuya página no esta en RAM, se provoca un fallo de página y se carga esa página junto con algunas páginas adyacentes. En este caso la página solicitada se cargo por demanda y las adyacentes se cargaron por anticipación.