Upload
david-sega
View
125
Download
1
Embed Size (px)
Citation preview
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.