jueves, 23 de abril de 2015

Paginación y Segmentación Combinados

Tanto la paginación como la segmentación tienen sus ventajas:

La paginación elimina la fragmentación externa y de este modo, aprovecha la memoria principal de forma eficiente. Además, puesto que los fragmentos que se cargan y descargan de la memoria principal son de tamaño fijo e iguales, es posible construir algoritmos se gestión de memoria sofisticados que aprovechen mejor el comportamiento de los programas.

La segmentación tiene las ventajas antes citadas, incluida la capacitación de gestionar estructuras de datos que puedan crecer, la modularidad y el soporte de la compartición y la protección. Para combinar las ventajas de ambas, algunos sistemas están equipados con hardware del procesador y software del S.O.

En un sistema con paginación y segmentación combinadas, el espacio de direcciones de un usuario se divide en varios segmentos según el criterio del programador. Cada segmento se vuelve a dividir en varias páginas de tamaño fijo, que tienen la misma longitud que un marco de memoria principal. Si el segmento tiene menor longitud que la página, el segmento ocupará sólo una página. Desde el punto de vista del programador, una dirección lógica todavía está formada por un número de segmento y un desplazamiento en el segmento. Desde el punto de vista de sistema, el desplazamiento del segmento se ve como un número de página dentro del segmento y un desplazamiento dentro de la página.




La entrada de la tabla de segmentos contiene la longitud del segmento. Los bits de presencia y modificación no son necesarios, puesto que estos elementos se gestionan en la página. Pueden usarse otros bits de control para compartición y protección. La entrada de la tabla de páginas es, la misma que se usa en un sistema de paginación pura. Cada número de página se convierte en el número de marco correspondiente si la página está presente en la memoria. El bit de modificación indica si se necesita escribir la página en el disco cuando se asigna el marco a otra página.

Segmentación en los Sistemas Operativos

La segmentación permite al programador contemplar  la memoria como si constara de varios espacios de direcciones o segmentos. Los segmentos pueden ser de distintos tamaños, incluso de forma dinámica. Las referencias a la memoria constan de una dirección de la forma (número de segmento, desplazamiento).

Definición: La segmentación es un esquema de administración de la memoria que soporta la visión que el usuario tiene de la misma.

Un espacio de direcciones lógicas es una colección de segmentos.
Cada segmento tiene un nombre y una longitud.
Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del segmento.

Por lo tanto, el usuario especifica cada dirección mediante dos cantidades: un nombre de segmento un desplazamiento.


Esta organización ofrece al programador varias ventajas sobre un espacio de direcciones no segmentado:

1.   Simplifica la gestión de estructuras de datos crecientes. 
2.   Permite modificar y recopilar los programas independientemente.
3.   Se presta a la compartición entre procesos. 
4.   Se presta a la protección. 

Organización

En el estudio de la segmentación, se llegó a la conclusión de que cada proceso tiene su propia tabla de segmento y que, cuando todos los segmentos se encuentran en la memoria principal, la tabla de segmentos del proceso se crea y se carga en la memoria. Cada entrada de la tabla contiene la dirección de comienzo del segmento correspondiente de la memoria principal, así como su longitud.

La misma estructura se necesitará al hablar de un esquema de memoria virtual basado en la segmentación donde las entradas de la tabla de segmentos pasan a ser más complejas. Puesto que sólo algunos de los segmentos de un proceso estarán en la memoria principal, se necesita un bit en cada entrada de la tabla de segmentos para indicar si el segmento correspondiente está presente en la memoria principal. Si el bit indica que el segmento está en la memoria, la entrada incluye también la dirección de comienzo y la longitud del segmento.


Otro bit de control necesario en la entrada de la tabla de segmentos es un bit de modificación que indique si el contenido del segmento correspondiente ha sido modificado desde que se cargó por última vez en la memoria principal. Si no ha habido cambios, no será necesario escribir en el disco el segmento cuando llegue el momento de reemplazarlo en el espacio que ocupa actualmente.

Paginación en los Sistemas Operativos

El término 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.

DefiniciónLa paginación es uno de los esquemas de manejo de memoria en donde un computador puede almacenar y recuperar datos de un dispositivo de almacenamiento secundario para su uso en la memoria principal. En el esquema de manejo de memoria de paginación, el sistema operativo recupera datos desde un dispositivo de almacenamiento secundario en bloques de un mismo tamaño llamados páginas.
La paginación consiste en considerar el espacio de direcciones lógicas de cada proceso como un conjunto de bloques de tamaño consistente llamados páginas. Cada dirección lógica manejada para un proceso estará conformada por un par de valores [página: desplazamiento].

Método básico:

La memoria física se compone en bloques de tamaño fijo denominados marcos.
La memoria lógica también se compone en bloques del mismo tamaño denominados páginas  



Cada proceso tiene su propia tabla de páginas y cuando carga todas sus páginas en la memoria principal, se crea y carga en la memoria principal una tabla de páginas. Cada entrada de la tabla de páginas contiene el número de marco de la página correspondiente en la memoria principal. Puesto que sólo 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 página correspondiente está presente (P) en la memoria principal o no. Si el bit indica que la página está en la memoria, la entrada incluye también el número de marco para esa página.

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 cargó 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.

lunes, 20 de abril de 2015

Memoria Virtual en los Sistemas Operativos

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 máquina. 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.

Memoria virtual= memoria física + área de swapping en disco

Evaluación de las Organizaciones de Almacenamiento

Almacenamiento virtual "significa la capacidad de direccionar 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.

Memoria Real en los Sistemas Operativos

La memoria real o principal es donde son ejecutados los programas y procesos de una computadora. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la información contenida en ella es de más rápido acceso. Solo la memoria cache es más rápida que la principal, pero su costo es a su vez mayor.

La organización y administración de la “memoria principal”, “memoria primaria” o “memoria real” de un sistema ha sido y es uno de los factores más importantes en el diseño de los S. O.

Los términos “memoria” y “almacenamiento” se consideran equivalentes.

Los programas y datos deben estar en el almacenamiento principal para:
•Poderlos ejecutar.
•Referenciarlos directamente

Estrategias de Administración de Memoria

Están dirigidas a la obtención del mejor uso posible del recurso del almacenamiento principal.
Se dividen en las siguientes categorías:

•Estrategias de búsqueda:
◦     Estrategias de búsqueda por demanda.
◦     Estrategias de búsqueda anticipada.
•Estrategias de colocación.
•Estrategias de reposición.

Las “estrategias de búsqueda” están relacionadas con el hecho de cuando obtener el siguiente fragmento de programa o de datos para su inserción en la memoria principal.
En la “búsqueda por demanda” el siguiente fragmento de programa o de datos se carga al almacenamiento principal cuando algún programa en ejecución lo referencia; en caso contrario, en la “búsqueda anticipada”, ningún programa referencia y por esto se considera que puede producir un mejor rendimiento del sistema.

Las “estrategias de colocación” están relacionadas con la determinación del lugar de la memoria donde se colocara (cargara) un programa nuevo.

Las “estrategias de reposición” están relacionadas con la determinación de que fragmento de programa o de datos desplazar para dar lugar a los programas nuevos.

Atributos de un Archivo en Windows

Un archivo informático o fichero es un conjunto de bits almacenado en un dispositivo periférico (disco duro, disco flexible, etc.). Un archivo es identificado por un nombre (en Windows nombre más extensión, en GNU Linux sólo nombre) y la descripción de la unidad y carpeta o directorio que lo contiene. Los archivos informáticos se llaman así porque son los equivalentes digitales de los archivos en papel del entorno de oficina tradicional. Los archivos informáticos facilitan una manera de organizar los recursos usados para almacenar permanentemente datos en un sistema informático.

Los posibles atributos de un fichero son:

Sólo lectura: impide que se pueda sobrescribir (modificar) o eliminar un fichero. 

Oculto: impide que se visualice al listar, por lo tanto no se pude copiar ni suprimir, a no ser que se conozca su nombre o que tengamos activa la opción de mostrar archivos ocultos. 

Archivo listo para archivar históricamente: indica si el archivo o carpeta se debe guardar cuando se realice una copia de seguridad.

Permitir al servicio de Index Server: indica que el archivo o carpeta se indexará para realizar una búsqueda rápida de texto en su contenido, propiedades o atributos. 

Comprimir contenido para ahorrar espacio en disco: indica que el archivo o carpeta se comprimirá automáticamente para ahorrar espacio en disco. 

Cifrar contenido para proteger datos: indica que el archivo o carpeta se cifrará para evitar que su contenido pueda ser visto por otro usuario. 

Sistema: indica que el archivo es para uso del sistema operativo, uso interno.

Directorio: indica que es una carpeta.

Normal: un archivo que no tiene otros atributos establecidos. El Sistema Operativo puede optar por almacenar datos de archivos con este atributo en la memoria en lugar de un almacenamiento masivo.

Fuera de línea: este atributo indica que los datos del fichero no están disponibles de inmediato, indica que el archivo ha sido movido a una conexión de datos de almacenamiento. 

Temporal: archivo utilizado para almacenamiento temporal.

Uso del comando attrib en Windows
Línea de Comandos Windows

Sistemas de Archivos

Un sistema de archivos son los métodos y estructuras de datos que un sistema operativo utiliza para seguir la pista de los archivos de un disco o partición; es decir, es la manera en la que se organizan los archivos en el disco.

Sistema operativo
Tipos de sistemas de archivos admitidos
Dos
FAT16
Windows 95
FAT16
Windows 95 OSR2
FAT16, FAT32
Windows 98
FAT16, FAT32
Windows NT4
FAT, NTFS (versión 4)
Windows 2000/XP/Vista/2003/2008/7/8
FAT, FAT16, FAT32, NTFS (Sistema de Archivos en Red, versiones 4 y 5)
Linux
Ext2, Ext3, Ext4
MacOS
HFS (Sistema de Archivos Jerárquico), MFS (Sistemas de Archivos Macintosh)
OS/2
HPFS (Sistema de Archivos de Alto Rendimiento)
SGI IRIX
XFS (sistema de Archivos Extendido)
FreeBSD, OpenBSD
UFS (Sistema de Archivos Unix)
Sun Solaris
UFS (Sistema de Archivos Unix)
IBM AIX
JFS (Sistema Diario de Archivos)


Las operaciones básicas que la mayoría de los sistemas de archivos soportan son:

  • Crear ( create ) : Permite crear un archivo sin datos, con el propósito de indicar que ese nombre ya está usado y se deben crear las estructuras básicas para soportarlo.
  • Borrar ( delete ): Eliminar el archivo y liberar los bloques para su uso posterior.
  • Abrir ( open ): Antes de usar un archivo se debe abrir para que el sistema conozca sus atributos, tales como el dueño, la fecha de modificación, etc. _ Cerrar ( close ): Después de realizar todas las operaciones deseadas, el archivo debe cerrarse para asegurar su integridad y para liberar recursos de su control en la memoria.
  • Leer o Escribir ( read, write ): Añadir información al archivo o leer el caracter o una cadena de caracteres a partir de la posición actual. _ Concatenar ( append ): llamada 'write', en la cual sólo se permite añadir información al archivo.
  • Leer atributos: Permite obtener una estructura con todos los atributos del archivo especificado, tales como permisos de escritura, de borrado, ejecución, etc.
  • Poner atributos: Permite cambiar los atributos de un archivo.

Emisora de Radio