trabajo sistemas op asignacion y liberacion espacio disco

27
ASIGNACION Y LIBERACION ESPACIO DISCO METODOS DE ASIGNACION DE ESPACIO LIBRE Un método de asignación de espacio libre determina la manera en que un Sistema Operativo controla los lugares del disco que no están siendo ocupados. Para el control del espacio libre se puede utilizar como base alguno de los métodos teóricos: Vector de Bits, Lista Ligada, Por Agrupación y por Contador. VECTOR DE BITS Se tiene un arreglo de bits, el número de bits que tiene, representa cada sector del disco, o sea que si los sectores 10 y 11 están ocupados su representación será: LISTA LIGADA Existe una cabecera en la que se tiene la dirección del primer sector vacio, ese sector a su vez, tiene un apuntador

Upload: david-sega

Post on 03-Jan-2016

125 views

Category:

Documents


1 download

TRANSCRIPT

ASIGNACION Y LIBERACION ESPACIO DISCO

METODOS DE ASIGNACION DE ESPACIO LIBRE

Un método de asignación de espacio libre determina la manera en que un

Sistema Operativo controla los lugares del disco que no están siendo ocupados.

Para el control del espacio libre se puede utilizar como base alguno de los

métodos teóricos: Vector de Bits, Lista Ligada, Por Agrupación y por Contador.

VECTOR DE BITS

Se tiene un arreglo de bits, el número de bits que tiene, representa cada

sector del disco, o sea que si los sectores 10 y 11 están ocupados su

representación será:

LISTA LIGADA

Existe una cabecera en la que se tiene la dirección del primer sector vacio,

ese sector a su vez, tiene un apuntador al siguiente bloque, y así sucesivamente

hasta que se encuentre una marca indicando que ya no hay espacio libre.

POR AGRUPACION

Es similar a la lista ligada, solo que en este se tiene por cada sector, un

grupo de apuntadores a varios espacios vacios, al final de cada bloque se tiene un

apuntador a otro grupo de apuntadores, observe la figura.

POR CONTADOR

Aquí, por cada conjunto de bloques contiguos que estén vacios, se tiene por

cada apuntador, un número de inicio y el tamaño del grupo de sectores vacios.

MÉTODOS DE ASIGNACIÓN DE ESPACIO EN DISCO

Un método de asignación de espacio en disco determina la manera en que

un Sistema Operativo controla los lugares del disco ocupados por cada archivo de

datos. Se debe controlar básicamente la identificación del archivo, sector de inicio

y sector final.

Para el control del espacio ocupado en disco se puede utilizar como base

alguno de los métodos teóricos: Asignación Contigua, Asignación Ligada,

Asignación Indexada.

ASIGNACIÓN CONTIGUA

Este método consiste en asignar el espacio en disco de tal manera que las

direcciones de todos los bloques correspondientes a un archivo definen un orden

lineal. Por ejemplo:

VENTAJAS

• La cabeza de lectura no se mueve demasiado en la lectura de un archivo.

DESVENTAJAS

• Produce fragmentación externa.

ASIGNACIÓN LIGADA

En este método, cada archivo es una lista ligada de bloques de disco. En el

directorio hay un apuntador al bloque de inicio y un apuntador al bloque final para

cada archivo. En cada uno de los bloques donde se encuentra un archivo hay un

apuntador al siguiente bloque de la lista. Por ejemplo:

VENTAJAS

• No produce fragmentación externa.

DESVENTAJAS

• La cabeza de lectura se puede mover demasiado en la lectura de un

archivo.

• Si una liga se pierde, se perderá el archivo completo.

• Es ineficiente para la implementación de archivos directos.

• Se necesita un campo extra para el apuntador.

ASIGNACIÓN INDEXADA

La asignación ligada resuelve problemas de fragmentación externa, sin

embargo, la asignación ligada no soporta eficientemente el acceso directo a los

archivos. La asignación indexada resuelve este problema poniendo todos los

apuntadores en una sola localidad: El bloque índice.

Cada archivo tiene su bloque índice, El cual es un arreglo de direcciones de

bloques de disco.

La i-ésima entrada en el bloque índice apunta al i-ésimo bloque que

conforma el archivo. En el directorio se controla la dirección del bloque índice de

cada archivo, por ejemplo:

VENTAJAS

• No produce fragmentación externa.

• Eficiente para la implementación de archivos directos.

DESVENTAJAS

• Existe desperdicio cuando hay archivos muy chicos.

• Desbordamiento de bloque índice. (Solución: creación de un esquema

ligado; el último bloque índice apunta a otro índice).

ORGANIZACIÓN JERARQUICA DEL DIRECTORIO

Una estructura jerárquica de directorios nos permite organizar la

información de una manera conveniente.

La estructura de directorios suele ser jerárquica, ramificada o "en árbol",

aunque en algún caso podría ser plana. Ya que esta permite tener una buena

organización de una manera conveniente. En algunos sistemas de archivos los

nombres de archivos son estructurados, con sintaxis especiales para extensiones

de archivos y números de versión.

• DIRECTORIO DE RAÍZ: Es el directorio del primer nivel de la estructura

jerárquica de directorios.

• DIRECTORIO DE ORIGEN: Es el directorio que tiene subdirectorios.

• DIRECTORIO DE TRABAJO: Es el directorio donde se encuentra trabajando.

• RUTA DE ACCESO: Conjunto de nombres de directorios separados por

diagonales. Es la trayectoria que se debe seguir para llegar a un lugar en

particular.

• CARACTERES COMODINES: Permiten trabajar con los archivos de una

manera general. Sustituye la posición donde se encuentra por cualquier

carácter.

Ejemplo: del informe?? .xls

* Sustituye uno o más caracteres.

Ejemplo: del *txt del uno*

Operaciones sobre Archivos, Directorios y Discos.

Operaciones con Archivos

Las operaciones básicas a realizar con archivos son: copiar, mover, eliminar y

cambiar nombre.

Copiar: es la acción de hacer un duplicado de un archivo en una carpeta

diferente de la de origen. Para ello, una vez hemos seleccionado el o los

archivos, hacer clic sobre el menú EDICIÓN / COPIAR; en el panel

izquierdo o derecho, abrir la carpeta destino donde queremos copiar los

archivos y pinchar sobre EDICIÓN / PEGAR.

Mover: es parecido a copiar, pero se diferencia en que, al terminar la

operación, no tenemos un duplicado del archivo, sino que éste ha cambiado

de sitio. Los pasos a seguir son: seleccionar los archivos, pinchar sobre

EDICIÓN / CORTAR, abrir la carpeta destino donde vamos a colocar el

fichero y pinchar sobre EDICIÓN / PEGAR.

Eliminar: para enviar un fichero a la papelera, basta con seleccionarlo y

pulsar la tecla SUPR (suprimir). El fichero desaparece de la carpeta donde

estaba y pasa a la papelera.

Cambiar Nombre: para cambiar el nombre a un archivo, hacer clic sobre

su nombre con el botón derecho del ratón y pinchar, con el botón izquierdo,

sobre CAMBIAR NOMBRE. Teclear el nuevo nombre cuidando de no

cambiar la extensión. Nunca se deben cambiar los caracteres situados a la

derecha del punto.

Operaciones con Directorios

Crear una carpeta nueva: abrir la carpeta que contendrá la nueva y hacer

clic sobre ARCHIVO / NUEVO / CARPETA. Escribir el nombre de la carpeta

nueva y pulsar ENTER. El resto de las operaciones (eliminar, copiar, mover

y cambiar de nombre) se realizan de forma similar a los ficheros.

Accesos directos: Los accesos directos son atajos que sirven para iniciar

las diferentes aplicaciones instaladas en nuestro ordenador. Las

aplicaciones se pueden iniciar, normalmente, haciendo doble clic sobre un

archivo con extensión .exe. Para llegar a dicho archivo, debemos navegar

por las carpetas de nuestro disco duro hasta localizarlo.Por ejemplo, para

iniciar la aplicación Microsoft Word, debemos hacer doble clic sobre:

MI PC

Disco Local (C:)

Archivos de Programa

Microsoft Office

Winword.exe

Crear un acceso directo

Localizar el archivo .exe y pinchar sobre él con el botón derecho del

ratón. En el menú contextual, clic sobre CREAR ACCESO DIRECTO.

Duplicar un acceso directo

Aunque la práctica totalidad de las aplicaciones que instalamos en

nuestro ordenador genera su acceso directo en el menú INICIO /

TODOS LOS PROGRAMAS, en ocasiones resulta de gran comodidad

disponer de dicho acceso sobre el Escritorio. Para ello, seguir estos

pasos:

Navegar por el menú Inicio hasta tener a la vista el acceso directo a

duplicar.

Pinchar con el botón derecho del ratón sobre el acceso y arrastrarlo

sobre el Escritorio.

Al soltar el botón del ratón aparecerá un menú contextual. Clic sobre

COPIAR AQUÍ.

Organización Jerárquica de Sistemas de Archivos

La mayoría de los sistemas operativos poseen su propio sistema de

archivos. Los sistemas de archivos son representados ya sea textual o

gráficamente utilizando gestores de archivos o “shells”. En modo grafico a menudo

son utilizadas las metáforas de carpetas (directorios) conteniendo documentos,

archivos y otras carpetas. Un sistema de archivos es parte integral de un sistema

operativo moderno.

Los sistemas de archivos más comunes utilizan dispositivos de

almacenamiento de datos que permiten el acceso a los datos como una cadena de

bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512

bytes de longitud. El software del sistema de archivos es responsable de la

organización de estos sectores en archivos y directorios y mantiene un registro de

que sectores pertenecen a que archivos y cuales no han sido utilizados, En la

realidad, un sistema de archivos no requiere necesariamente de un dispositivo de

almacenamiento de datos, sino que puede ser utilizado también para acceder a

datos generados dinámicamente, como los recibidos a través de una conexión de

red.

Generalmente un sistema de archivos tiene directorios que asocian

nombres de archivos con archivos, usualmente conectando el nombre de archivo a

un índice en una tabla de asignación de archivos de algún tipo, como FAT en

sistemas de archivos MS-DOS o los inodos de los sistemas Unix. La estructura de

directorios puede ser plana o jerárquica (ramificada o “ en árbol ”). En algunos

sistemas de archivos los nombres de archivos son estructurados, con sintaxis

especiales para extensiones de archivos y números de versión. En otros, los

nombres de archivos son simplemente cadenas de texto y los metadatos de cada

archivo son alojados separadamente.

En sistemas de archivos jerárquicos, en lo usual, se declara la ubicación

precisa de un archivo con una cadena de texto llamada “ruta”. La nomenclatura

para rutas varia ligeramente de sistema en sistema, pero mantienen por lo general

una misma estructura. Una ruta viene dada por una sucesión de nombres de

directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y

separados por algún carácter especial que suele ser una barra (‘/’) o barra

invertida (‘\’) y puede terminar en el nombre de un archivo presente en la última

rama de directorios especificada.

Así por ejemplo, en un sistema Unix la ruta a la canción preferida del

usuario “José” seria así:

/home/José/música/canción.wav

Un ejemplo análogo en un sistema de archivos Windows se vería así:

C:\Mis documentos\Mi música\cancion.wav

SISTEMA DE OPERADORES DE BASES DE DATOS

MySQL

MySQL es un sistema de gestión de bases de datos relacional, multihilo y

multiusuario con más de seis millones de instalaciones.1 MySQL AB —desde

enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle

Corporation desde abril de 2009— desarrolla MySQL como software libre en un

esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta

licencia, pero para aquellas empresas que quieran incorporarlo en productos

privativos deben comprar a la empresa una licencia específica que les permita

este uso. Está desarrollado en su mayor parte en ANSI C.

Plataformas

MySQL funciona sobre múltiples plataformas, incluyendo:

AIX

BSD

FreeBSD

HP-UX

Kurisu OS

GNU/Linux

Mac OS X

NetBSD

OpenBSD

OS/2 Warp

QNX

SGI IRIX

Solaris

SunOS

SCO OpenServer

SCO UnixWare

Tru64

eBD

Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP,

Windows Vista, Windows 7, Windows 8 y Windows Server (2000, 2003 y

2008).

Características

Inicialmente, MySQL carecía de elementos considerados esenciales en las

bases de datos relacionales, tales como integridad referencial y

transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web

con contenido dinámico, justamente por su simplicidad.

Poco a poco los elementos de los que carecía MySQL están siendo

incorporados tanto por desarrollos internos, como por desarrolladores de

software libre. Entre las características disponibles en las últimas versiones

se puede destacar:

Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas

igualmente.

Disponibilidad en gran cantidad de plataformas y sistemas.

Posibilidad de selección de mecanismos de almacenamiento que ofrecen

diferente velocidad de operación, soporte físico, capacidad, distribución

geográfica, transacciones...

Transacciones y claves foráneas.

Conectividad segura.

Replicación.

Búsqueda e indexación de campos de texto.

PostgreSQL

PostgreSQL es un SGBD (sistema gestor de bases de datos) relacional orientado

a objetos y libre, publicado bajo la licencia BSD.

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no

es manejado por una empresa y/o persona, sino que es dirigido por una

comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre

y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el

PGDG (PostgreSQL Global Development Group).

Amplia variedad de tipos nativos

PostgreSQL provee nativamente soporte para:

Números de precisión arbitraria.

Texto de largo ilimitado.

Figuras geométricas (con una variedad de funciones asociadas).

Direcciones IP (IPv4 e IPv6).

Bloques de direcciones estilo CIDR.

Direcciones MAC.

Arrays.

Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que

pueden ser por completo indexables gracias a la infraestructura GiST de

PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto

PostGIS.

Microsoft SQL Server

Microsoft SQL Server es un sistema para la gestión de bases de datos producido

por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-

SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a

otros potentes sistemas gestores de bases de datos como son Oracle,

PostgreSQL o MySQL.

Características de Microsoft SQL Server

Soporte de transacciones.

Soporta procedimientos almacenados.

Incluye también un entorno gráfico de administración, que permite el uso de

comandos DDL y DML gráficamente.

Permite trabajar en modo cliente-servidor, donde la información y datos se

alojan en el servidor y los terminales o clientes de la red sólo acceden a la

información.

Además permite administrar información de otros servidores de datos.

Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de

base de datos pero orientado a proyectos más pequeños, que en sus versiónes

2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma

gratuita.

Desventajas

MSSQL usa Address Windowing Extension (AWE) para hacer el direccionamiento

de 64-bit. Esto le impide usar la administración dinámica de memoria, y sólo le

permite alojar un máximo de 64 GB de memoria compartida.

MSSQL no maneja compresión de datos (excepto la versión 2008 Enterprise

Edition, que sí lo hace), por lo que las bases de datos pueden llegar a ocupar

mucho espacio en disco.

MSSQL requiere de un sistema operativo Microsoft Windows, por lo que no puede

instalarse, por ejemplo, en servidores Linux, por esta razon.

Oracle

Oracle es un sistema de gestión de base de datos objeto-relacional (o ORDBMS

por el acrónimo en inglés de Object-Relational Data Base Management System),

desarrollado por Oracle Corporation.

Se considera a Oracle como uno de los sistemas de bases de datos más

completos, destacando:

soporte de transacciones,

estabilidad,

escalabilidad y

Soporte multiplataforma.

Su dominio en el mercado de servidores empresariales ha sido casi total hasta

hace poco, recientemente sufre la competencia del Microsoft SQL Server de

Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL,

MySQL o Firebird. Las últimas versiones de Oracle han sido certificadas para

poder trabajar bajo GNU/Linux.

IBM DB2

DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un

sistema de gestión de base de datos.

DB2 versión 9 es un motor de base de datos relacional que integra XML de

manera nativa, lo que IBM ha llamado pureXML, que permite almacenar

documentos completos dentro del tipo de datos xml para realizar operaciones y

búsquedas de manera jerárquica dentro de éste, e integrarlo con búsquedas

relacionales.

La compatibilidad implementada en la última versión, hace posible la importación

de los datos a DB2 en una media de 1 o 2 semanas, ejecutando PL/SQL de forma

nativa en el gestor IBM DB2

La automatización es una de sus características más importantes, ya que permite

eliminar tareas rutinarias y permitiendo que el almacenamiento de datos sea más

ligero, utilizando menos hardware y reduciendo las necesidades de consumo de

alimentación y servidores.

La memoria se ajusta y se optimiza el rendimiento del sistema, con un interesante

sistema que permite resolver problemas de forma automática e incluso

adelantarse a su aparición, configurando automáticamente el sistema y gestión de

los valores.

SQLite

SQLite es un sistema de gestión de bases de datos relacional compatible con

ACID, contenida en una relativamente pequeña (~275 kiB)2 biblioteca escrita en

C. SQLite es un proyecto de dominio público1 creado por D. Richard Hipp.

A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor

de SQLite no es un proceso independiente con el que el programa principal se

comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa

pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de

SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la

latencia en el acceso a la base de datos, debido a que las llamadas a funciones

son más eficientes que la comunicación entre procesos

Características

La biblioteca implementa la mayor parte del estándar SQL-92, incluyendo

transacciones de base de datos atómicas, consistencia de base de datos,

aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas

complejas.

SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna

como en la mayor parte de los sistemas de bases de datos SQL, los tipos se

asignan a los valores individuales. Por ejemplo, se puede insertar un string en una

columna de tipo entero (a pesar de que SQLite tratará en primera instancia de

convertir la cadena en un entero). Algunos usuarios consideran esto como una

innovación que hace que la base de datos sea mucho más útil, sobre todo al ser

utilizada desde un lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven

como un gran inconveniente, ya que la técnica no es portable a otras bases de

datos SQL. SQLite no trataba de transformar los datos al tipo de la columna hasta

la versión 3.

Software que utiliza SQLite

SQLite es utilizado en un gran variedad de aplicaciones, destacando las

siguientes:

Adobe Photoshop Elements utiliza SQLite como motor de base de datos en

su última versión del producto (la 6.0) en sustitución del Microsoft Access,

utilizado en las versiones anteriores.

Clementine usa SQLite para guardar su colección de datos por defecto.

Kexi usa SQLite como un motor de base de datos interno por defecto.

Mozilla Firefox usa SQLite para almacenar, entre otros, las cookies, los

favoritos, el historial y las direcciones de red válidas.

El navegador web Opera usa SQLite para la gestión de bases de datos WebSQL.

Skype es otra aplicación de gran despliegue que utiliza SQLite.5 4

dBASE

dBASE fue el primer sistema de gestión de base de datos usado ampliamente

para microcomputadoras, publicado por Ashton-Tate para CP/M, y más tarde para

Apple II, Apple Macintosh, UNIX, VMS e IBM PC bajo DOS donde con su

legendaria versión III Plus se convirtió en uno de los títulos de software más

vendidos durante un buen número de años.

dBASE nunca pudo superar exitosamente la transición a Microsoft Windows y

terminó siendo desplazado por otros productos como Paradox, Clipper, y FoxPro.

Incorporaba un lenguaje propio interpretado y requería un LAN PACK para

funcionar sobre red local. En 1988 llegó finalmente la versión IV.

dBASE fue vendido a Borland en 1991. Al poco tiempo promovió una casi

intrascendente versión 5, de la que llegó a haber versión para Windows. Luego

vendió los derechos de la línea de productos en 1999 a dataBased Intelligence,

Inc. (dBI) que sigue comercializando nuevas versiones, llamadas dBASE Plus,

desde 1999.

Microsoft Visual FoxPro

Visual FoxPro es un lenguaje de programación procedural, orientado a objetos que

posee un Sistema Gestor de Bases de datos o Database Management System

(DBMS) y Sistema administrador de bases de datos relacionales, producido por

Microsoft.

Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear

aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet

PC o para la Web.

Entre sus características se pueden enumerar:

Capacidades para el manejar datos nativos y remotos.

Flexibilidad para crear soluciones de bases de datos.

Lenguaje de Programación Orientado a objetos.

Utilización de Sentencias SQL en forma nativa.

Manejo de vistas, cursores y control completo de estructuras relacionales.

Su propio gestor de base de datos incorporado. Sin embargo, también puede

conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL

Server o MySQL.

Cuenta con un motor de generación de informes renovado y flexible para

soluciones más robustas.}

COMPARACIÓN ENTRE LENGUAJES DE CONTROL DE DISTINTA

COMPLEJIDAD

Un Lenguaje de Control de Datos (DCL por sus siglas en inglés: Data Control

Language) es un lenguaje proporcionado por el Sistema de Gestión de Base de

Datos que incluye una serie de comandos SQL que permiten al administrador

controlar el acceso a los datos contenidos en la Base de Datos. Algunos ejemplos

de comandos incluidos en el DCL son los siguientes:

GRANT: Permite dar permisos a uno o varios usuarios o roles para realizar tareas

determinadas.

REVOKE: Permite eliminar permisos que previamente se han concedido con

GRANT.

Las tareas sobre las que se pueden conceder o denegar permisos son las

siguientes: CONNECT, SELECT, INSERT, UPDATE, DELETE, USAGE.

A diferencia de muchos lenguajes de descripción de datos, SQL utiliza una

colección de verbos imperativo cuyo efecto es modificar el esquema de la base de

datos, añadiendo, cambiando o eliminando las definiciones de tablas y otros

objetos. Estas declaraciones se pueden mezclar libremente con otras sentencias

SQL, por lo que el DDL no es realmente una lengua independiente. La declaración

más común es CREATE TABLE. El lenguaje de programación SQL, el más

difundido entre los gestores de bases de datos, admite las siguientes sentencias

de definición: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar

a las tablas, vistas, procedimientos almacenados y triggers de la base de datos.

CREATE

Para crear una nueva base de datos, tabla, índice, o consulta almacenada. Una

sentencia CREATE en SQL crea un objeto dentro de un sistema de gestión de

bases de datos relacionales (RDBMS). Los tipos de objetos que se pueden crear

depende del RDBMS que esté siendo utilizado, pero la mayoría soportan la

creación de tablas, índices, usuarios, sinónimos y bases de datos. Algunos

sistemas permiten CREATE, y otros comandos DDL, en el interior de una

transacción y por lo tanto puede ser revertido. Otras que se incluyen dentro del

DDL, pero que su existencia depende de la implementación del estándar SQL que

lleve a cabo el gestor de base de datos son GRANT y REVOKE, los cuales sirven

para otorgar permisos o quitarlos, ya sea a usuarios específicos o a un rol creado

dentro de la base de datos.

CREATE TABLE

Un comando CREATE muy común es el CREATE TABLE. El uso típico es:

CREATE [TEMPORARY] TABLE [nombre de la tabla] ( [definiciones de columna] )

[parámetros de la tabla].

ALTER

Se utiliza para hacer modificaciones en sentencias SQL.