• No se han encontrado resultados

Recuperación de datos para Word y Excel de las unidades de almacenamiento secundario

N/A
N/A
Protected

Academic year: 2017

Share "Recuperación de datos para Word y Excel de las unidades de almacenamiento secundario"

Copied!
138
0
0

Texto completo

(1)

geoloode el O$ $'

J/•P.

f jft

oV,3

-,

-_--C

-L2 Z) S SL O'

i-.+iY1 '7

yeQ

(2)

IS

UNIVERSIDAD TECNICA PARTICULAR BE LOJA

Escuela de Ciencis de la Computación

Recuperación de Datos para Word

y Excel de las Unidades de

Almacenamiento Secundario

AUIOR:

iléclor F. Gómez A.

DIRECTOR:

Ing. Jorge Jaramfihi

(3)

CERTIFICA:

Que el presente trabajo de investigación ha sido minuciosamente revisado, por Ic que queda autorizada su presentacián.

Loja, abril del 2003

sJarmilIo P DIRECTOR DE TESIS

(4)
(5)

en elplesente informeson plasmados bajo responsabilidad exclusiva de su autor.

El Autor

(6)

/

C ?

j, //

Portada Certificación Dedicatoria Autorla

Delimitación del tema

CAPITULO 1

SEGURIDAD Y UNIDADES DE ALMACENAMIENTO SECUNDARIO

1. 1. Introduccián

1.2. Conceptos básicos sobre seguridad y unidades de almacenamiento secundario

1.2.1. Seguridad de datos 1.2.2. Medics de almacenamiento

1.2.2.1. Discos Duros 1.2.2.2. Discos 3 ½ 1.2.2.3. Cintas 1.2.2.4. CDROM

1.2.3. COmo se aimacenan los datos en el disco duro? 1.2.4. Respaldo de Información

1.2.4.1. , Qué debemos proteger? 1.2.4.2. Copias de seguridad y respaldo

(7)

1.3.2. Borrado y Formatea Accidental

23

25

1.3.3. Dana de pistas

CAPITULO 2

ORGANIZACION DEL ALMACENAMIENTO EN DISCO

27

2.1. IntroducciOn

27

2.2. Cilindros, Pistas y Sectores.

2.3. Area del Sistema y Area de Datos.

29

2.4.Uso de la FAT

33

CAPITULO 3

ESCRITURA Y LECTURA DE ARCHIVOS

'1

3

3.1. Introducción

3.2. Operaciones básicas sabre el disco

38

3.2.1. Escritura y Lectura de archivos

39

3.2.2. Borrado de archivos

41

3.2.3. Formateo de disco

41

(8)

:'

A 0

CAPITULO

4

DESARROLLO DE LA APLICACION

4.1.

lntroducción

48

4.2.

MetodologIa

48

4.3.

Fase de Análisis

49

4.4. Programación del mOdulo Assembler.

50

4.5. Modulo de Lectura y Escritura.

53

4.5.1. Modulo de Lectura

53

4.5.2. Modulo de Escritura

57

4.6. Modulo de Recuperación archivos.

60

CAPITULO 5

Manuales

5.1. Manual del Sistema

66

5.2.

Manual del Usuarlo

68

5.3. Manual de Programador

74

CAPITULO 6

CONCLUSIONES Y RECOMENDACIONES

6.1. Conclusiones y recomendaciones referentes a seguridad y

85

unidades de almacenamiento secundario

6.2. Conclusiones y recomendaciones referentes a organización del

86

almacenamiento en disco

(9)

6.4. Conclusiones y recomendaciones referentes a desarroUo de la

aplicación M.

(10)

Delimitación del Tema ...- •\

• - ,• 7

Titulo

CreaciOn de una herramienta para la recuperación de datos perdidos de las unidades de almacenamiento secundario, para archivos Word y Excel en PC.

Planteamiento del problema

c, Por qué se borran los datos de las unidades de almacenamiento secundario?

Debido a virus, fallas de disco duro o disquetes, etc. ,Qué es 10 que se debe hacer? 6C6mo se debe proceder?

,Cómo hacen las herramientas de recuperación o las empresas dedicadas a esta difIcil. tarea para obtener los datos perdidos? Ese es el problema que resolverá Ia presente tesis, colaborando con el mejoramiento o creación de_un nuevo aigoritmo de recuperación de datos, partiendo del hecho que ningUn dato esta perdido sino que solamente el disco duro niega el acceso a los mis m Os.

lmpacto

(11)

o7 :A

c-Hipótesis

Los clusters almacenan datos recuperables aun después de sobrescrita la información.

Métodos y Técnicas

Inductivo. Los algoritmos aplicados para recuperar la información en el disco duro sirve también para las unidades de disco flexible.

(12)

CAPITULO1

SEGURIDAD Y UNIDADES DE ALMACENAMIENTO SECUNDARIO

1 1 Introduccion

1.2. Conceptos básicos sobre seguridad y unidades de almacenamiento secundarlo 1.2.1. Seguridad de datos

1.2.2. Medics de almacenamiento 1.2.2.1. Discos Duros 1.2.2.2. Discos 3 ½ 1.2.2.3. Cintas 1.2.2.4. CDROM

1.2.3. Cómo se almacenan los datos en el disco duro? 1.2.4. Respaldo de lnformación

1.2.4.1. , Qué debemos proteger? 1.2.4.2. Copias de seguridad y respaldo

1.3. Algunos conceptos sabre los problemas que afectan la seguridad de los datos 1.3.1. Virus

(13)

1. 1. lntroducción

La seguridad de datos consiste en protegerlos contra cuaiquier am .enaza que

haga que se borren o cambien. En este capitulo vamos a enfrentar los

conceptos de seguridad referida a datos.

Los datos se encuentran almacenados en una unidad, ya sea disco duro,

disquete, cinta magnetica, o quizá algün otro medlo del almacenamiento. Su

disposición, o sea como se encuentran los datos en estas unidades, también

forma parte de este capitulo. Pero no solo es necesario que se encuentren

almacenados para que estén seguros, también existe la técnica de los

respaldos o copias de seguridad, las cuales son una tabla de salvaciOn cuando

ha ocurrido algin inconveniente con los datos originales.

La integridad de los datos se ye amenazada por virus, borrados y formateo

accidentales, daño de pistas etc.. Estos inconvenientes hacen que los

archivos se dañen o que no los podamos recuperar.

1.2. Conceptos básicos sobre seguridad y unidades de almacenamiento

secundario

1.2.1. Seguridad

de datos

Para mi concepto, asegurar significa proteger, es en esencia vigilar que

los datos que tenemos no se pierdan, borren, etc.; es decir, que estemos

seguros en que si los datos quedaron grabados, Ia prOxima vez que los

vamos a recuperar están igual como los dejamos.

(14)

Proximidad a posibilidad de un daño, peligro, etc. Cada uno de los imprevistos, hechos desafortunados, etc., que puede cubrir un seguro. Sinónimos: amenaza, contingencia, emergencia, urgencia, apuro.

Seguridad

Cualidad a estado de seguro. Garantia o conjurito de garantlas que se da a alguien sobre el cumplimiento de alga. Se dice también de todos aquellos objetos, dispositivos, medidas, etc., que contribuyen a hacer más seguro el funcionamiento-o el USC de una- cosa:cierrede seguridad, cinturón de seguridad. 1

Cuando compramos un computador, generalmente estamos seguros de

que la informaciôn contenida en este no se va a perder, ya que la grabamos magnéticamente en un dispositivo Uamado

disco duro.

Luego,

con el aparecimiento de los virus informáticos o errónea manipulación de los dispositivos de computadores, nos damos cuenta de Ic riesgoso que

resulta el no tener protegida adecuadamente Ia informaciOn, es necesaria entonces garantizar Ia seguridad de la misma.

1.2.2. Medios de almacenamiento de datos

1.2.2.1. Discos Duros

Un disco duro es un dispositivo que permite el almacenamiento y recuperación de grandes cantidades de información. Los discos duros forman el principal elemento de la

memoria secundaria

de un

computador, llamada as( en oposición a la

memoria principal

o

memoria

RAM (Random Access Memory, memoria de acceso aleatorio).

En Ia

figura No. 1 se presenta una imagen de un disco duro generico.

(15)
[image:15.562.94.518.50.325.2]

Fig.No. 1. Disco duro genérico

Tanto los discos duros, coma la memoria principal son categorlas de memorias de trabajo, es decir varIan su contenido en una sesión con el computador. Sin embargo, presentan entre ellas importantes diferencias.

La memoria principal es volátil, su contenido se borra al apagar el computador, es muy rápida ya que trabaja con componentes electrOnicos, pero de capacidad red ucida.

La memoria secundaria, en cambio, es no volátil, menos rápida por su trabajo con componentes mecánicos, y es de gran capacidad.

La memoria principal contiene los datos utilizados en cada momenta par el computador, pero debe recurrir a la memoria secundaria cuando necesita recuperar nuevos datos a almacenar de forma permanente los que hayan variado.

Un disco dura, tal coma se muestra en la figura No.1, tiene la forma de una caja herméticamente cerrada que contiene dos elementos no intercambiables: la

unidad de lectura y escritura

y el

disco

coma tal.

(16)

El disco es en realidad, una pila de discos, llamado$7

plates,

que

almacenan información magnéticamente. Cada uno de los°platos tiene dos superficies magnéticas: la superior y la inferior. Estas superficies magnéticas están formadas por millones de pequeños elementos capaces de ser magnetizados 1 o 0. De esta manera, se representan los dos posibles valores que forman un

BIT

de información (un cero o un uno). Ocho bits contiguos constituyen un

byte

(un carácter).

Proceso de acceso a la información guardada en el disco duro

Los elementos que conforman la estructura de un disco duro se presentan esquematicamente en Ia figura No.2

En primer lugar, cada superficie magnética tieno asignado uno de los

cabezales de lectura/escritura

de la unidad. Por tanto, habrá tantos

cabezales como caras tenga el disco duro y, como cada plato tiene dos caras, este nümero equivale al doble de platos de la pila.

El conjunto de cabezales se puede desplazar linealmente desde el exterior hasta el interior de la pila de platos mediante un

brazo mecánico

que los transporta.

(17)

L

[image:17.562.37.524.84.728.2]

esquemáticamente en la figura No-2

Fig No. 2. Elementos del disco duro

Cada vez que se realiza una

operación de lectura

en el disco duro, éste tiene que realizar [as siguientes tareas:

desplazar los cabezales de lectura/escritura hasta el lugar donde empiezan los datos;

• esperar a que el primer dato, que gira con los platos, Ilegue al lugar donde están los cabezales; y,

finalmente, leer el dato con el cabezal correspondiente.

La

operacián de escritura

se ejecuta con una rutina similar a la

anteriormente descrita. 2

(18)

U

Ya hemos visto que cada una de las dos superficies magnéticas de cada plato se denomina

cara.

El nümero total de caras de un disco duro

coincide con su nümero de

cabezas.

Cada una de estas caras se divide

en anillos concéntricos Ilamados

pistas.

En los discos duros se suele

utiUzar el término

cilindro

para referirse a Ia misma pista de todos los

discos de la pila. Finalmente, cada pista se divide en

sectores.

. .

Cara (cahe:a)

Pisias (ci/in(Irns)

Sectows

Los sectores son ]as unidades mInimas de informaciOn que puede leer a escribir un disco duro. Generalmente, cada sector almacena 512 bytes de información.

El nümero total de sectores de un disco duro se puede calcular:

n'

sectores

= flQ

caras

*

fl 2 pistas/cara

*

n 2 sectores/pista.

For tanto, cada

sector queda univocamente determinado si conocemos los siguientes valores: cabeza, cilindro y sector. For ejemplo, el disco duro

ST33221A

de

Seagate

tiene las siguientes especificaciofles:

cilindros

= 6.253,

cabezas

16 y

sectores

= 63. El nümero total de sectores direccionables

(19)

sectores desde el uno. En consecuencia, el primer sector.de Un: disco duro será el correspondiente a la cabeza 0, cilindro 0 y sector 1.

PiSa. =

-in

'\ 4

/

Estructura Iógica de un disco duro

La estructura Iogica de un disco duro está formada por:

El

sector de arranque (Master Boot Record)

Espaclo particionado Espacio sin particionar

El sector de arrangue es el primer sector de todo disco duro (cabeza 0, cilindro 0, sector 1). En él se almacena la

tab/a de particiones y

un

pequeño programa

master

de inicialización, Ilamado tamblén

Master

Boot.

Este programa es el encargado de leer la tabla de particiones y

ceder el control al sector de arranque de la

partición act/va.

Si no

existiese partición activa, mostrarla un mensaje de error.

(20)

Partición

prmiaral

(activa)

I) -4-. 0 C) ci)

disco ya que todavIa no ha sido asignado a ninguna partición. A continuación se muestra un ejemplo de un disco duro con espacio particionado (2 particiones primarias y 2 logicas) y espacio todavia sin particionar.

sector

Ultirno

Particióii extendida

Partición

primaria 2

Particiôn Partición

Iógica I 16gica2

[image:20.562.58.540.177.298.2]

-El caso más sencillo consiste en un sector de arranque que contenga una tabla de particiones con una sol .a partición, y que esta partición ocupe Ia totalidad del espacio restante del disco. En este caso, no existirla espacio sin particionar.

sector

Ultimo

Particióri prirnana I

(activa)

Las particiones

Cada disco duro constituye una

unidad fIsica

distinta. Sin embargo, los sistemas operativos no trabajan con unidades fIsicas directamente sino con

unidades Iógicas.

Dentro de una misma unidad fIsica de disco duro

puede haber varias unidades Iogicas. Cada una de estas uniciacies lógicas constituye una

partición

del disco duro. Esto quiere decir que podemos dividir un disco duro en, por ejemplo, dos particiones (dos unidades logicas dentro de una misma unidad fIsica) y trabajar de la

(21)

para cada unidad fIsica).

Particiones

y

directorios.—

Ambas estructuras permiten

organizar datos dentro de un disco duro. Sin embargo, presentan

importantes diferencias: 1) Las part/c/ones son divisiones de

tamaño fijo del disco duro; los directorios son divisiones de tamaño

variable de la partición; 2) Las particiones ocupan un grupo de

cilindros con tiguos del disco duro (mayor seguridad); los

directorios sue/en tener su información desperdigada por toda la

partición; 3) Cada partici6n4el. disco duro puede tener un sisterna

de archivos (sistema opera tivo) distinto; todos los director/os de la

part/don tienen e/ s/sterna de archivos de la partic/On.

Como mInimo, es necesario crear una particiOn para cada disco duro. Esta particiOn puede contener Ia totalidad del espacio del disco duro o solo una parte. Las razones que nos pueden Ilevar a crear más de una particion por disco se suelen red ucir a tres.

1. Razones organizativas. Considérese el caso de un computador que es compartido por dos usuarios y, con objeto de lograr una mejor organización y seguridad de sus datos deciden utilizar particiones separadas.

2. lnstalación de más de un sistema operativo. Debido a que cada sistema operativo requiere (como norma general) una partición propia para trabajar, si queremos instalar dos sistemas operativos a Ia vez en el mismo disco duro (par ejemplo, Windows 98 y Linux), será necesario particionar el disco.

(22)

espacio de la particián. Más adelante, explicaremos esto con mayor detalle.

Las particiones pueden ser de dos tipos:

pr/mar/as o Iógicas.

Las particiones logicas se definen dentro de una partición primaria especial

denominada part/don extend/da.

En un disco duro solo pueden existir 4

particiones primarias

(incluida la

particiOn extendida, si existe). Las particiorles existentes deben inscribirse en una tabla de particiones de 4 eritradas situada en el primer sector de todo disco duro. De estas 4 entradas de la tabla puede que no esté utilizada niriguna (disco duro sin particionar, tal y como viene de fábrica) o que estén utilizadas una, dos, tres o las cuatro entradas. En cualquiera de estos ültimos casos (incluso cuando solo hay una partición), es necesario que en la tabla de particiones figure una de ellas como particiOn activa. La

part/don act/va

es aquella a la que el programa de inicializaciOn

(Master Boot)

cede el control al arrancar. El sistema

operativo de la particion activa será el que se cargue al arrancar desde el disco duro. Más adelante veremos distintas formas de elegir el sistema operativo que queremos arrancar, en caso de tener varios instalados, sin variar la partición activa en cada momento.

De todo lo anterior se pueden deducir varias conclusiones: Para que un disco duro sea utilizable debe tener al menos una particiOn primaria. Además para que un disco duro sea arrancable debe tener activada una de las particiones y un sistema operativo instalado en ella. Más adelante, se explicará en detalle la secuencia de arranque de un computador. Esto

quiere decir que el proceso de instalaciOn de un s/sterna operat/vo

en un

(23)

partición no es arrancable (no contiene un sistema operativo).

Hemos visto antes que no es posible crear más de cuatro particiones primarias. Este lImite, ciertamente pequeño, se logra subsanar mediante la creación de una

partición extendida

(como máximo una). Esta

particiOn ocupa, al igual que el resto de las particiones primarias, una de las cuatro entradas posibles de Ia tabla de particiones. Dentro de una partición extendida se pueden definir

particiones lógicas

sin Ilmite. El

espacio de la partición extendida puede estar ocupado en su totalidad por particiones lógicas o bien, tener espacio libre sin particionar.

Veamos el mecanismo que se utiliza para crear Ia

lista de part/clones

lógicas.

En Ia tabla de particiones del

Master Boot Record

debe existir

una entrada con una particiOn extendida (la cual no tiene sentido activar). Esta entrada apunta a una nueva tabla de particiones similar a la ya estudiada, de la que solo se utilizan sus dos primeras entradas. La primera entrada corresponde a la primera partición lógica; Ia segunda, apuntará a una nueva labIa de particiones. Esta nueva tabla contendrá en su primera entrada Ia segunda partición lógica y en su segunda, una nueva referencia a otra tabla. De esta manera, se va creando una cadena de tablas de particiones hasta Ilegar a la Ultima, identificada por tener su segunda entrada en blanco.

Particiones primarias y particiones lógicas

(24)

La anterior nos da una idea de qué tipo de partición utilizar para cada necesidad. Los sistemas operativos deben instalarse en particiones primarias, ya que de otra manera no podrIan arrancar. El resto de particiones que no contengan un sistema operativo, es más conveniente crearlas como particiones lOgicas. For dos razones:

primera,

no se malgastan entradas de la tabla de particiones del disco duro y,

segunda,

se evitan problemas para acceder a estos datos desde los sistemas operativos instalados. Las particiones Iogicas son los lugares ideales para contener las unidades que deben ser visibles desde todos los sistemas operativos.

Algunos sistemas bperati pesumen de poder ser instalados en -particiones IOgicas (Windows NT), sin embargo, esto no es del todo cierto: necesitan instalar un pequeño programa en una partición primaria que sea capaz de cederles el control.

Estructura Iógica de las particiones

Dependiendo del

sistema de archivos

utilizado en cada partición, su

estructura log/ca

será distinta. En los casos de MS-DOS y Windows 95,

está formada par sector de arranque, FAT, copia de Ia FAT, directorio raIz y area de datos. De todas formas, el sector de arranque es un elemento comün a todos los tipos de particiones.

sector

Ultimo sector,

N

F-lJ

C

Area de datos

-a c/ c L

(25)

particián) con información relativa a la partición. Si la partición tiene instalado un sistema operativo, este sector se encargará de arrancarlo. Si no hubiese ningün sistema operativo (como es el caso de una partición para datos) y se intentara arrancar, mostrarla un mensaje de error.

1.2.2.2. Discos 3 ½

Es un soporte magnetico para almacenar información y trasladar informaciôn de una PCotra,o puedenser utilizados también para -realizar copias de seguridad. Se los denomina discos flexibles y su capacidad de almacenamiento de mide en Kilobytes y Megabytes.

En la actualidad se maneja el disquete de 3 ½ pulgadas, existiendo dos formatos: alta densidad (HD) y baja densidad (DD). Los disquetes de 3 1/2" de baja densidad tienen una capacidad de 720 KB (720.000 bytes) y los de alta densidad tienen una capacidad de 1.44 MB (1.440.000 bytes).

1.2.2.3. Cintas

Es un medio de almacenamiento secundario para el almacenamiento de datos secuenciales. Esta cinta se puede encontrar como carrete

0

cartucho.

(26)

El disco compacto de memoria de solo lectura (CDROM) utiliza la misma tecnologIa que los discos compactos de mCisica. Se comporta como un periférico más del computador. Es un disco de 5 1/4 pulgadas, con 12 cm de diámetro, y una capacidad de 650 MB o más. Se utilizan para almaceriar datos, diccionarios, enciclopedias, IegislaciOn, distribuciOn de software, manuales técnicos, etc.5

1.2.3. Z, Cómo se almacenan los datos en el disco duro?

Cuando ejecutamos la operaciOn de grabar un archivo o un conjunto de datos, estos proceden a "baja' desde Ia memoria RAM hasta el disco o medio de almacenamiento. Antes de proceder a grabarse (almacenarse), se crea una entrada en una tabla la cual se conoce como FAT (File Allocate Table), o tabla de asignación de archivos. Esta tabla es una lista encadenada que contiene el primer sector en el que se almacena el archivo, y un apuntador hacia el siguiente sector de almacenamiento, hasta culminar en un apuntador hacia el sector final en donde culmina el archivo. FIsicamente la FAT se ubica en el medlo magnético de almacenamiento.

Las PCs almacenan dabs en discos duros en forma de series de bits. Un BIT se almacena como una carga magnética en el revestimiento de Oxido de hierro del plato de un disco. Cuando la PC guarda datos, los envIa al disco duro en forma de una serie de bits. A medida que el disco duro recibe los bits, utiliza los cabezales de lecturalescritura para registrar o "escribir" magnéticamente los bits en uno de los platos.

(27)

y los cabezales de lecturalescritura se mueven hacia adelante y hacia atrás sabre ellos. Esto permite el acceso aleatoric, a los datos (en lugar de requerir un acceso secuencial, como ocurre con una cinta magnetica). Los cabezales de tecturalescritura teen los datos determinando el campo magnético de cada BIT, 1 o 0. Coma los discos duros pueden efectuar el acceso aleatoric, normalmente pueden acceder a cualquier data en millonésimas de segundo.

En el caso de los discos de 3 ½ poseen dos caras utilizables, por Ia que se emplea dos cabezas, una para cada cara. Cada cara es dividida en pistas (tracks). Las pistas son cIrculos concéntricos donde se escribe la infarmación. Las pistas están divididas en

sectores.

En cada sector se

graba una cierta cantidad de bytes. Los accesas at disco se realizan par sectares, de manera que siempre se lee a graba un sector.

1.2.4. Respaldo de Informacióri

1.2.4.1. Z, Qué debemos Proteger?

Toda Ia información relevante-importante que tenemas. AsI par ejemplo, deberlamos proteger:

Los drives e instaladores.

Suele suceder que al reinstatar algUn

componente del PC este puede ocasionar problemas. Puede darse que no funcione correctamente Ia tarjeta de red, el sonida ni otros dispositivos, debido a que les falta el controlador, a sea, el driver correspond iente. Par to tanto es necesaria buscar los mecanismos adecuadas con el fin de proteger el software correspondiente.

Direcciones IP y configuraciones.

Cuando se formatea un equipo se

(28)

hardware y software. Es necesario entonces, que el técnico recuerde

antes de proceder al formateo del disco duro o unidad de

almacenamiento, que se debe guardar ]as configuraciones para luego

valve rlas a ubicar y dejar a punto el corn putador.

Datos verdaderamente importantes.

Cuando los datos que estarnos

manipulando son de gran importancia, coma por ejemplo datos de

inventarios o asientos bancarios, estos deben estar protegidos de todo,

contra virus, contra borrados accidentales, formateos, etc. Para ello se

debe programar a tiempo polIticas que permitan obtener respaldos

adecuados y claves de seguridad que aseguren el acceso de la persona

correcta a los dabs.

AsI mismo es importante definir contra que protegernos:

Accesos no permitidos.

En ocasiones al navegar par internet se nos ha

presentado lugares en los que se presenta una visualizaciOn de nuestras

carpetas en una pagina web; esto es debido a que tenemos un puerto

abierto, a través del cual un simple script ingresa, verifica Ia unidad de

almacenamiento, y, presenta todas nuestras carpetas las cuales quedan a

disposiciôn no solamente del usuario sino de algün Hacker o virus que

quiera romper con nuestra información.

Programas gue manipulen las unidades de almacenamiento de forma

indebida.

Existen programas como juegos, peilculas almacenadas en

disco, y otros, que necesitan para su ejecución o proyecciOn accesos

constantes a la unidad. Esto hace que el motor y las cabezas se estén

desplazando continuamente debido a que los archivos no se graban de

forma secuencial sino que en distintos sectores y a veces hasta distintos

lados de los platos, Ia que conlleva al desgaste en el proceso de

lectura/escritu ra.

Malos mantenimientos técnicos.

No es necesario formatear el disco

(29)

vez que le entregue sus datos.

1.2.4.2. Copias de seguridad y respaldo

No olvide que un PC no es más que un amasijo de cables, plástico y

metal. For mucho que nos cuestereconocerlo -esuna máquina, y,como

tal no es especialmente interesante en sí misma, sino que lo es sobre

todo por los datos que contiene.

Los datos son lo verdaderamente importante en un PC, pero parece que

nos olvidamos de ello muy a menudo; confiamos en que como nunca se

han borrado, nunca se borrarán, olvidándonos de las lecciones de la Ley

de Murphy en

su version orientada

a la Informática:

Si un archivo puede borrarse, se borrará.

Si dos archivos pueden borrarse, se borrará el más importante.

Si tenemos una copia de seguridad, no estará

/0

suficientemente

actualizada.

(30)

Es imporlante al momento de obtener respaldos de la inforrnación,

recordar las enseñanzas de los

Diez Mandamientos a los Backups:

Haga copias de seguridad de todos los datos importantes.

. Haga una copia de seguridad de los discos de instalación de los

--

programas.

Actual/ce las copias de seguridad tan a menudo como pueda.

. Revise el estado de sus copias de seguridad de vez en cuando.

• Si le da pereza copiar todo el disco, al menos copie sus archivos

de datos.

• Si le da pereza copiar todos sus archivos de datos, al menos copie

los más recientes

0

importantes.

• No con lie en los disquetes como dispositivo de backup, su

fiabilidad es Infima.

Si no dispone de otra cosa, al menos haga copias en disquete.

• Sobre todo si utiliza disquetes o cintas magnéticas, tenga más de

un juego de copias, intercámbielos de forma rota toria y renuévelos

de vez en cuando.

• Guarde las cop/as en lugar seguro, si no serán copias de seguridad

inseguras.6

(31)

Es indispensable hacer

copias de seguridad.

La experienCia demuestra

que inclusive cuando se cree que los datos ya se encuentran listos, o sea

respaldados, aün queda algn archivo par respaldar. Se debe tomar en

cuenta que siempre es mejor prevenir que lamentar.

1.3. Algunos conceptos sobre los problemas que afectan la seguridad de

los datos

1.3.1. Virus informático

El virus inforrnático es un programa elaborado accidental a

intencionadamente, que se introduce y se transmite a través de disquetes

o de la red de corn unicación entre PCs, causando diversos tipos de daños

a los sistemas cornputarizados.

Los virus inforrnáticos fueron descubiertos por la prensa el 12 de octubre

de 1985, con una publicación del New York Times que hablaba de un

virus que se distribuyó desde un programa que aparentemente era para

optimizar los sisternas IBM basados en tarjeta gráfica EGA, pero al

ejecutarlo borraba todos los archivos del disco duro, con un mensaje al

finalizar que decIa "CaIste".

(32)

proteger su famoso procesador de textos Decmate II, que ems te caso el 1 de abril de 1983 borraba todos los archivos de su unidad de disco.

Como ejempo de virus, y de los "crImenes informáticos" más famosos cometidos con eUos, podemos citar:

• El Ilamado viernes trece o Jerusalén, que apareció para el mundo desactivando el conjunto de PCs de la defensa de Israel.

• El virus <<I love you'>, el mensaje que infectó a 45 millones de computadores, con dos billones en perdidas.

1.3.2. Borrado y Formateo Accidental

En nuestra Universidad se han presentado casos que merecen recordarse, par ejemplo el borrado de los datos de contabilidad de Ia Asociación de Profesores justo un dIa antes de posesionarse la nueva directiva; el Fl 1 (recuperación automática del sistema IBM) ejecutado por un empleado de la Universidad en un computador IBM, que formateá el equipo y par Ia tanto "borró" todos los datos, entre otros.

Luego de estas experiencias, creo que es necesario explicar que significa borrar y formatear.

Borrar en términos normales significa que el archivo o documento que existla en el PC ya no esta a la vista, es decir ya se puede recuperarlo ni modificarlo. En sistemas operativos coma Windows, los usuarios conocen que estos archivos se van a un directorio conocido coma papelera de reciclaje.

For otro [ado, el proceso de formatear, significa dejar en cero toda la

(33)

nadie sabrá en donde están ubicados los archivos y que por lo tanto todo esta "vaclo".

El recuperar los datos perdidos por borrado o formateo accidental, en el marco de la presente tesis, se sustenta en asumir que los datos se encuentran en "perfecto estado" hasta que no hayan sido sobrescritos, en cuyo caso en los lugares en los que se sobrescribió la información es irrecuperable.

Para mostrar como aparecen los datos "perdidos" , voy a utilizar el programa que forma parte de esta tesis para verificar el borrado. El archivo que nos va a servir de conejillo de indias es ega.cpi ubicado en un disquete de inicio. Este se encuentra ubicado en Ia cara 1, pista 0 y sector 3 para el disquete en mención, tal coma lo muestra el directorio ra Iz:

FDISK EXE n:)D.D. +-N&- []+2 DRVSPACEBIN eA)D.D. +_N&ZLL

B COMMAND COM UA)

D.D. +_N&OL2xD HIMEM SYS ä)D.D. + N&fGé OAKCDROMSYS )D.D. +N&I3DVI EBD CAB 3+)D.D. +_N&2L51J DISPLAY SYS G-)D.D. + . N&M WC COUNTRY s's A-)D .D.+_N&o Lx EGA CPI -+)D.D. +_N&¼ -0 MODE COM LA)D.D.

At KEYBOARDSYS P+)D.D. ±_N&Z ç KEYB COM c+)D.D. +_N&x IN MSDOS S'S -)D.D. -)D.ã

EBD SYS&-)D.D. :)D. PRUEBA20BJ L ' âE.E. -AEA PRUEBA2 EXE _aE.E. E.

FDISK EXE

Ahora procedemos a borrar el archivo y observamos la lectura en la misma cara, pista y sector. For lo general el DOS, le asigna a un archivo borrado un carácter especial que es el Alt+229, que reemplaza al primer carácter del nombre del archivo, tal como lo muestra ahora el directorio raIz:

FDISK EXE []:)D.E. +-N&-[]+2 DRVSPACEBIN éA)D.D. +_N&ZB

B COMMAND COM UA)

-0.D. +_N&OI. 2xJ HIMEM SYS a:)D.D. +_N&fLGe OAKCDROMSYS :)D.D. +_N&I3LVI EBD CAB 3+)D.D. +_&2:511 DISPLAY SYS E-)D.D. +j&M WO COUNTRY SYS A-)D

.D.+_N&o Lx OGA CPI -+)D.D. +_N&Y -0 MODE COM LA)D.D.

(34)

i.

-1.3.3. Daño de Pistas

Como sabemos una unidad de almacenamiento se encuentra dividida por tados o caras y también en pista y sectores. Bien en los lugares donde regularmente se almacena la información es en Ia pista 0.

Más adelante observaremos que la primera copia de la FAT comienza en el sector 2, pista 0, cara 0 y termina en el sector 10, pista 0, cara 0. Mientras que Ia segunda copia de la FAT comienza en el sector 11, pista 0, cara 0 y termina en el sector 1, pista 0 cara 1. For lo tanto si la pista 0 se encuentra dañada, es como si Ia FAT o Ia tabla de asignación de archivos, en donde se encuentran los apuntadores a cada uno de los sectores que almacenan su info rmaciOn se encuentra dañada tam bién.

For lo general las controladoras de los discos, verifican primero que la pista 0 se encuentre bien, en el caso de que lo este proceden a recuperar los archivos. For otro lado cuando se encuentra dañada el sistema emite un error diciendo que es imposible acceder a Ia unidad.

(35)

CAPITULO 2

ORGANIZACION DEL ALMACENAMIENTO EN DISCO

2.1. IntroducciOn

2.2. Cilindros, Pistas y Sectores.

(36)

2.1. lntroducción

Para entender la organización y almacenamiento en el disco duro, vamos a

detenernos en su estructura. Se hablará de pistas (tracks), sectores y cilindros.

Estos son como las unidades de datos, es decir, sftven para identificar el lugar en

donde se encuentran ubicados los datos de los arch ivos.

En las unidades de almacenamiento, existe el

area del sistema,

en la que se

proporciona el sector de arranque, una o más copias de la FAT y el directorio raIz.

Luego del area del sistema se encuentra el

area de datos,

la que es el verdadero

lugar en donde se encuentran los datos de los archivos.

Ya se han introducido algunos conceptos sobre la FAT, pero en este caso vamos

proponer algunos ejemplos de Iocalización de archivos. a través del seguimiento que

se hace de los apuntadores que contiene.

2.2. Cilindros, Pistas y Sectores

Al inicio de éste trabajo, no entendIa realmente la geometrIa del disco, con una

mezcla de conceptos raros, los mismos que se fueron aclarando con el desarrollo de

la aplicación propuesta. En éste apartado intentaré clarificar estos términos.

Una

pista

es un circulo concéntrico, es decir, es una circunferencia sabre un plato.

Un

sector,

en cambio, es una parte de una pista o lo que comünmente dirlamos es

un arco; y, un cilindro es en conjunto de pistas superpuestas unas a otras.

El concepto de

cilindro

en un inicio es confuso. Tómese en cuenta que en ambas

caras de un plato existen pistas concéntricas. Aquellas pistas que coinciden

superpuestas se conocen con el nombre de cilindro.

(37)

Cilindros (cylinders)

;J

El par de pistas en lados opuestos del disco se llama cilindro. Si el disco duro contiene multiples discos (sean n), un cilindro incluye todos los pares de pistas directamente uno encima de otra (2n pistas).

Actuador

Es un motor que mueve la estructura que contiene las cabezas de lectura entre el centro y el borde externo de los discos. Un actuador usa la fuerza de Un electromagneto empujado contra magnetos fijos para mover las Head Stack Assembly HSA a través del disco. La controladora manda más corriente a través del electromagneto para mover las cabezas cerca del borde del disco. En caso de una perdida de poder, un resorte mueve la cabeza nuevamente hacia el centro del disco sobre una zona donde no se guardan datos. Dado que todas las cabezas están unidas al mismo HSA ellas se mueven al unIsono.

(38)

:2

Pistas (tracks) • •; /

Un disco esta dividido en delgados circulos concéntricos Ilamados pistas. Las cabezas se mueven entre la pista más externa O pista cero a la más interna.

Sectores (sectors)

Los HD almacenan los datos en uriidades Ilamadas sectores. La mayorIa de los HD

usan sectores de 512 bytes. -

-2.3. Area del Sistema y Area de Datos

Bill Gates propuso una divisiOn lógica del disco duro, en partes especificas que permiten estructurar adecuadamente la información. Esta divisiOn logica se muestra en la figura No.3.

(39)
[image:39.561.35.538.72.323.2]

Estructura Lógica de un Disco

Fig No. 3. Estructura LOgica del Disco Duro

Para evitar los problemas inherentes al almacenamiento secuencial, el DOS utiliza

los clusters o unidades de asignación (Allocation Unit). Un cluster es un conjunto de

1 o más sectores contiguos. El sector es la unidad minima de informaciôn para el

disco; pero el cluster es Ia unidad minima de información para el DOS. El DOS no

entiende de pistas y sectores: solo de clusters. Cuando el DOS copia un fichero en

un disco determinado no to copia en el sector x de la pista x, sino que lo copia en el

cluster x. El nmero de sectores que ocupa cada cluster ha de ser potencia de 2, y

su valor aparece en un parámetro del sector de arranque (offset D). Los clusters se

componen de sectores contiguos, pero los ficheros se almacenan en clusters que no

necesitan ser contiguos, esto es a lo que se conoce como el

area de datos

El area de datos es Ia parte del disco duro en la que se almacena los datos de un

archivo. Esta zona depende casi en su totalidad de las interrelaciones entre ]as

estructuras de datos que forman el sistema de archivos del

DOS,

y del camino que

(40)

Si utilizamos la aplicación desarrollada en éste trabajo para presentar el sector de arranque en la ubicación cara 0 - pista 0 - sector 1, obtendremos como resultado lo siguiente:

Empezando a leer el disco: Disco leido.

U<E*}06IIHC iib

- )á)D. FAT12 3+Af)+'(Cox+v-VII

U+Dë-/4ñDØ IãE_OSN$}

El resultado muestra que no se ha asignado ningün nombre al disco durante el formateo, que el FAT es de 12 bites, y que se puede encontrar otros elementos que podrIamos considerar "basura".

Sector de Arranaue

Al formatear un volumen, en el primer sector del volumen se crea un sector do arranque

(BOOT),

para que sea fácil do localizar par el

DOS.

En él se encuentra información acerca deD tamaño, de la estructura del volumen y sabre todo del

BOOTSTRAP-LOADER,

med iante el cual se puede arrancar el

PC

desde el

DOS.

La Tabla de Asignación de Ficheros (File Allocation Table)

(FAT)

(41)

direccionamiento de un máximo de 65.535 Clusters. Actualmente se está creando FAT's de hasta 32 bits, para discos duros capaces de almacenar

Gigas

de información.

Copias de la FAT

El DOS

permite a un programa de formateo crear no solo una, sino varias copias

idénticas de la

FAT. Si

el

DOS

encuentra urio de estos medics, cuida todas las

copias de la

FAT

simultánéamente, asI que guarda aill los nuevos clusters ocupados

o liberados al crear o borrar archivos. Esto of rece Ia ventaja de que se puede sustituir la

FAT

primaria en caso de defecto por una de sus copias, para evitar la

pérdida de datos.

La primera copia de Ia FAT comieriza en el sector 2, pista 0, cara 0 y termina en el sector 10, pista 0, cara 0. Mientras que la segunda copia de la FAT comienza en el sector 11, pista 0, cara 0 y termina en el sector 1, pista 0 cara 1.

El directoric RaIz

(42)

La FAT es una tabla formada por elementos de 12 o 16 bits que se corresponden con cada uno de los clusters del disco. Si un disco tiene más de 4095 clusters, entonces los elementos de Ia FAT son de 16 bits (para poder direccionar cada cluster; 2 12=4096) . En caso contrario la FAT tiene elementos de 12 bits. En el sector de arranque (offset 36H) aparece la cadena "FAT12 o "FAT1 6 segün el nümero de bits de la FAT. Cada elemento de 12

0

16 bits (3 o 4 dIgitos hexadecimales) puede asumir uno de los valores mostrados en la tabla No.1.

Tabla No.1

Constantes hexadecimales en la FAT valor* (HEX)

significado

(0)000 (F)FF7

(F)FFF ... (F)FF8 (X)XXX

Cluster libre Cluster defectuoso

Ultimo cluster de un fichero

Cualquier otro valor que indica el cluster siguiente del fichero.

(43)

struct directory // Nombres cortos 8.3

unsigned char name[8];

II

nombre del fichero unsigned char ext[3];

II

extensián

unsigned char attr;

II

byte de atributo

unsigned char [case;

II

tipo de caracteres (may/miniisculas) unsigned char ctime_ms;

II

Hora de creacián, milisegundos unsigned char ctime[2];

II

Hora de creación

unsigned char cdate[2]; 7/Fecha de creación unsigned char adate[2];

II

Fecha de ültimo acceso

unsigned char reserved[2];

II

valores reservados (ignorado) unsigned char time[2];

II

Hora (time stamp)

unsigned char date[2];

II

Fecha (date stamp)

unsigned char start[2];

II

nimero de cluster de inicio unsigned char size[4];

II

tamaño del fichero

Si aplicamos el programa desarrollado, podemos presentar un ejemplo de cómo luce la estructura de una FAT:

Disco:

sectores por cluster: 64 FAT ID byte: FFF8 bytes por sector 512

(44)

La figura No.4. muestra la orgariización Iogica de Ia entrada del directorio raIz.

NOMBRE

08H

EXTENSION

-0 BH

1ct..o4o flchem lich. d

ecfl.sa ociJt ata etPta d

OCH

bw de

RESERVADO

HORA

FECHA

CLUSTER DE INICIO

TAMANO del FICHERO (BYTES)

lóH

[image:44.561.42.528.192.509.2]

18H

1 A

1CH

1FH

(45)

CAPITULO3

ESCRITURA V LECTURA DE ARCHIVOS

3.1. Introducción

3.2. Operaciones básicas sobre el disco

3.2.1. Escritura y Lectura de archivo

3.2.2. Borrado de archivos

3.2.3. Formateo de disco

(46)

/f

3.1. Introducción

-CS--'

En este capitulo vamos a analizar la manera en que se escriben y se teen los archivos; interpretando estos procesos coma la manera en que el sistema operativo utiliza las unidades de almacenamiento secundario (disco) para. hacerlo.

Es conocido que cuando enviamos a grabar un archivo, el sistema operativo nos pide el nombre con el cual va a ser grabado, la extension y algunos otros datos más. - - Estos datos se envIan a la memoria principal, y desde alIl se envIan a la memoria secundaria, añadiendo información adicional coma la fecha de creación, su autor, fecha de ültimo acceso, etc. Todos estos datos se guardan en la unidad de almacenamiento secundario.

Para leer el archivo se nos pide, en cambio, el nombre con el cual lo grabamos. Con este data vamos a la unidad de almacenamiento secundaria y buscamos el nombre pedido. Si to encontramos, entonces se recuperan todos los datos correspondiente al archivo, caso contrario se dice que no se encuentra, par to tanta ha sido eliminado del directorio principal.

El que un archivo no este presente puede ser par varios casos: fue elimiriado, fue dañado a la unidad de almacenamiento secundario fue dañada a formateada. En este ültimo caso, regularmente, es imposible recuperar el archivo de forma normal. For to tanta, complementamos este capItu!o tratando de resolver el problema anterior, planteando la manera de recuperar los archivos que no se pueden observar directamente en el directoria del explorador de Windows o que fueron eliminados, basados en que los datos se encuentran en el disco hasta que sean sobrescritos a totalmente eliminados.

(47)

formateada la unidad de almacenamiento secundarlo.

3.2. Operaciones Básicas sobre el disco

Empezaremos definiendo las operaciones que se reahzan sabre un disco duro, en

esencia, aquellas que más nos interesan para realizar la aplicación, Ia escritura y

lectura de datos (arch ivos).

Si una aplicación a el usuario envIa a grabar un archivo, el sistema operativo

determina el espacio en el disco duro, consiguiendo un conjunto de bytes libres

equivalentes a la capacidad del arch ivo a guardar.

Una vez que se ha comprobado que el espacio en disco es suficiente, se graba el

archivo cuyo nombre, fecha de creación, tamaño, etc, se almacenan en el sector de

directorio raIz, informaciOn a la que se añade la dirección del primer sector utilizado

par el archivo en el disco. Todas las direcciones de los clusters se almacenan coma

listas enlazadas FAT, es decir empezando desde el primer sector hasta el ültimo

sector se encuentra encadenado.

Cuando se ha borrado un archivo, la primera letra del nombre del archivo es

sustituida por un carácter especial de borrado y se desencadena en la FAT el

archivo eliminando la cabeza, par lo tanto se pierden los punteros, pero los datos

todavIa están en el disco.

(48)

'N 3.2.1. Escritura y Lectura de archivos

Para entender como se realiza la escritura de un archivo enl disco duro, recordemos lo que significa un cluster (grupo). Cluster no es más que la agrupación de sectores, cuyo nümero depende de la información contenida en la FAT durante el formateo de la unidad.

For otro lado, también observamos que la unidad fundamental para el sistema es cluster y para el disco es sector.

Los pasos que se siguen en la escritura de un archivo en disco son los siguientes:

Primer paso

El sistema operativo calcula cuantos

clusters

va a ocupar. Para ello, divide el tamaño

del archivo entre el tamaño del

cluster,

y al dato obtenido le redondea a la unidad

superior. For ejemplo, si tenemos un archivo de 20.000 bytes, el cátculo realizado es 20000

I

8192 = 2,4414. Redondeado a la unidad superior es 3. For to tanto nuestro

archivo va a ocupar tres

clusters

en el disco. El valor 8192 de igual manera se Ic

ubica desde el sector de arranque del disco.

Segundo paso

Una vez calculado el ntimero de

clusters

a ocupar, el sistema operativo lee Ia FAT,

buscando un

cluster

libre, es decir, lee cada elemento de Ia FAT hasta que

encuentra Ia marca xFFFFFFFF, la que significa que el cluster está libre. Imaginemos que lo encuentra en el elemento 537 de la FAT. Esto le indica que el

cluster

537 del disco está libre.

Tercer paso

En el

cluster libre

se graban los primeros 8192 bytes del archivo, y se marca el

(49)

Como todavIa faltan datos por grabar, el SO vuelve a leer la FAT para localizar otro elemento con la marca xFFFFFFFF. Imaginemos que es el elemento numero 612. Ahora va a ese

cluster,

y graba los siguiente 8192 bytes del fichero, mientras que en

la FAT marca al cluster 612 con un cero.

Hasta aquI, todo es igual que cuando ha grabado el primer

cluster del

archivo. Pero en este caso, además el sistema recuerda cual es el elemento de la FAT ultimo grabado (el 537), y en ese elemento, le pane ahora el nümero 612 (del

cluster

actual).

Quinto paso

Queda todavIa por grabar un

cluster.

Se vuelve a leer la FAT para localizar otro

cluster

libre. Imaginemos que es el elemento 1020. En ese

cluster

graba los 61timos 8192 bytes del fichero, y marca el elemento 1020 de la FAT con un cero (en binario). Ahora el SO va al elemento anterior (el 612) y alil graba el nümero 1020. For Ultimo, guarda en el directorlo raIz del disco el nombre de archivo, y además alil se guarda la fecha, el tamaño, y lo que es más importante: el nUmero del primer elemento de la FAT que apunta al arch ivo guardado, es decir 537.

Al final, a nivel del directorio principal, del archivo se ha registrado su nombre y un nUmero magico 537. Esto indica que el archivo empieza en el

cluster

537. Igualmente, el elemento de la FAT 537, contiene el segundo n(imero mágico 612: el siguiente

cluster

del archivo es el nümero 612. El elemento de Ia FAT 612, contiene

el siguiente nümero mágico 1020. Y asi sucesivamente hasta que el elemento 1020 de Ia FAT, contiene un cero, lo que indica que acabamos de leer los tres

clusters

del disco que contienen los datos de nuestro archivo.1

(50)

/ '

-S

3.2.2. Borrado de Archivos

Conocemos que en el directorio raIz se almacenan el nombre del archivo, su tamaño, la fecha ültima de acceso, el primer sector de datos, entre otros. Bien, cuando borramos un archivo, un carácter especial es ubicado en el inicio del nombre del archivo, lo que indica que este está "borrado", conservándose el resto del nombre del archivo, el tamaño, la fecha de Ultimo acceso y el primer sector en el cual se almacena.

Al parecer todo sugerirIa que ubicando y reemplazandoel carácter de borrado por Ia primera letra que le corresponde al nombre del archivo, éste podrIa recuperarse. Esto no es real, pues al borrarse el archivo, en la FAT también se borra el encadenamiento desde el primer sector en el cual se almacena, es decir desde el segundo sector en adelante es imposible recuperar, ya que en vez de ubicar la dirección del siguiente sector, se ubica un carácter de borrado y desaparece el encadenamiento, por lo que este proceso de la lista queda deshabilitado.

AquI hay que tomar en cuenta que no se ha borrado los datos, solamente se ha modificado el nombre del archivo y borrado el puntero de encadenamiento en la FAT.

3.2.3. Formateo del disco

Lógicamente hablando, se puede decir que cuando se formatea un disco, se eminan todas ]as entradas de la FAT, asI como las entradas en el directorio raIz, quedando solamente las entradas necesarias para el manejo del sistema o para acceder a Ia unidad de almacenamiento. Pero el area de datos en si no se manipula ni se elimina, por lo tanto los datos todavIa permanecen alil.

(51)

const ru Id os.

Para cada una de ]as operaciones anteriores los clusters se marcan como

Jib res (xF F FF F F F F)

3.3. Recuperación de Arch ivos-Algoritmo de Recuperación de archivos

En el marco del tema propuesto, enfatizamos en Ia recuperación de datos (archivos)

para Word y Excel de [as unidadesd almacenamiento secundario (discos y

disquetes) . Sin embargo los procedimientos para recuperar información son los

mismos para cualquier tipo de archivo correspondiente a la FAT32 o menor. For Jo

tanto a la aplicación construida Ia programé para que recupere cualquier tipo de

arch ivo.

Para leer un disco es necesario saber cuantos sectores por cluster tiene, cuantos

bytes por sector, los sectores reservados y ocultos, los sectores por FAT, el inicio del

directorio y el iniclo del area de datos.

Cuando un archivo ha sido borrado o elimiriado, el sistema operativo coloca al inicio

del nombre del mismo un carácter especial de borrado, por lo tanto, cuando el

sistema operativo trata de listarlo observa que contiene este carácter y no Jo ubica

en el resultado, asI mismo conocemos que se rompe el encadenamiento en la FAT.

Si los sectores en los cuales ha sido aimacenado el archivo no fueron "ocupados"

recordamos que cuando se borra el archivo estos se marcan como libres ), entonces

es posible recuperar toda la información. Caso contrarlo solamente hay como

recuperar aquellos en Jo que no se ha sobrescrito nada.

(52)

• Entrar en el Directorio de Datos

• Listar los archivos cuyo carácter de inicio contienen el carácter de borrado.

• Leer hasta el üitimo sector que indicado en la lectura del directorio y calcular el siguiente sector que ocupa el archivo.

• Si el nümero de grupo es par entonces

.Multiplicar el nümero de grupo por el nümero de entradas de la FAT, almacenamos en resultado.

•Accedemos el contenido en resultado y resultado +1.

•lnvertimos lo que da como resultado [resultado+1][resultado] •Utilizamos los tres ültimos digitos para trasladarnos a Ia

siguiente posición del archivo.

• Si el nUmero de grupo es impar, entonces

•Utilizamos los primeros tres dIgitos para trasladarnos a la siguiente posición del archivo.

• Si Ia siguiente posición contiene FFF significa que fue la Ultima entrada.

For ejemplo supongamos que tenemos un archivo Ilamado CUSTOMER.FIL almacenado en una FAT12 para un disquete. La FAT se presenta como:

FOF FFF 034 000 FF0 Fxxx...

0 1 2 3 4 5

Para procesar Ia lectura de la FAT es necesario utilizar el byte relativo y no el nUmero de grupo:

FO FF 03 40 00 FF

0 1 2 3 4 5

(53)

directorio raIz) por 1.5 (a longitud de las entradas de la FA) para obtener 3. (Para programación multiplique por 3 y recorra un bit a la derecha.). Accese la palabra de Ia FAT en los bytes 3 y 4. Estos contienen 0340, bs cuales se convierten en orden inverso en 4003. Ya que el cluster 2 fue un nUmero par, utilice los ültimos tres dIgitos, de modo que 003 sea el segundo cluster para el archivo.

• Para el tercer cluster, muitiplique el nimero de cluster(3) por 1.5 para obtener 4. Accese los bytes 4 y 5 de la FAT. Estos contienen 40 00, que se convierten en 00 40. Como el cluster 3 fue un nümero impar, utilice los primeros tres dIgitos, asI que 004 es el tercer cluster para el archivo.

• Para el cuarto cluster, multiplique 4 por 1.5 para obtener 6. Accese los bytes 6 y 7 de la FAT. Estos contienen FF OF, que se convierten, en orden inverso, en OFFF. Como el grupo 4 fue un nUmero par utilice los Ultimos tres dIgitos, FFF, lo cual significa que ésta es la ültima entrada.2

Cálculo del sector de iniclo del directorlo raIz

La ubicaciOn del directorio raiz varIa en dependencia del tamaño del disco. For Ia general para discos menores de 20GB empieza en el cluster 2, pero de allI en adelante varla y es necesario emplear una formula para su cálculo. Esta fOrmula es:

a. Substraer 2 al cluster actual.

b. Multiplicar el resultado por el nümero de sectores por cluster.

c. Sumar el resultado anterior al byte que denota el iniclo del area de datos.3

lniciodelDirectorio = ((ClusterinicioDirectorio - 2) * SectoresPorCiuster) + lnicioAreadeDatos

8

(54)

(

Discos Formateados

-'I l\

Veamos un disco formateado con la aplicación Primero \rerifiquénios lo que contiene la FAT para un archivo prueba ubicado en un disco.

000IFOFF FF03 400005600007800009A00000 oyyES. 6 0!OIC0000DE0000F000I 11200113400! 1560 AA 02010117000! !9A001 IBCSOI 1D0001 1F00021.€.. ..A.a 03012120022340022560 0227800229 AS 02 2B II . #@ %.E) •

040 C0022DE0022F0003 31 20 03 33 40 03 35 60 A-a.! I 3@ 5 0500337800339 4003 3B1003 300003 300004]7€9 ,A.a' 060 41200443400445600447000449 AS 04 4B A C E 0€! K 070 CO 04 4D ES 04 4F00 05 51 20 05 53 40 05 55 60 IA.MA,O Q S U 0800557 8005 59A005 5BC005 5DE005 5F CIO 061W€.Y [Ala 090161 200663 40 06 65 60 06 67 80 06 69 AS 0660 a c g€ I SAD CS 0660 ES 06 OF 00 07 71 20 07 73 40 07 75 60 A,sao OBO 0777800779AS 07 7B Co 5770 ES 07 7F 0008 l,vf,y (A )i OCS 181 200863 4008 85 6008 8780 08 89 AS 08 OB I- € %

500ICO08 80 E0088F000991 20099340095601003 -@.. SES 0997 80 09 99 AS S9 9B CO 09 9D 05099F050A .—€ .,j SfO4l 205AA3 400A k 60OAA780OAA 450A AB£ @ €.O 150 jCOOAADEOOAAF0000BI 255B B3 4050B5 60

1

A-a 110I0007 800BB9 ASOB BB C008 BD ESSBBFS0SCJ€ >,A31a0 I20lcI250cc3450cC5655cC7800cc9AooccBlAA@AcEEE 130 CS SC CD ES SC CF OS SD DI 20 SD 0340 SD D5 60 A Ii! N 00 O

140!000FOF505555005050500550050500051Y ...

1301000000000000000000000000000000001... 160 100 00 00 00 00 00 00 00 00 00

0000 0000 0000 170 100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 180 loo 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 190 00000000000000000000000000000000 lAS OS00555505S005555500050555055000I IBO so 0000 00 05 0000 00 05 00 OS 00 00 00 00 00 1 ... ICS 00000000000000000000000000000000 100000000000000000000000000000000001 IES105500005000505055500000500550000I IFS JOO0000000000 00 00 00 00 00 00 00 00 00 00

Ahora formateamos el disco utilizando el comando de DOS C:\format a: . Ahora la FAT luce como:

000 FS FF FO OS OS 55 55 05 0000 00 05 00 00 OS SO Syy 010 00000 00 00 00 00 00 00 00 00 00 00 00 00 00 020 0000 00 00 0000 OS OS 0000 OS 00 0000 05 00 ... 030 05550550000505005550055500550505 040100000 S 00 00 00 00 00 00 SO 00 00 00 50 00 OS ... 550 05050050S00505005550005000500505 060

10000000000 55 OS 00 OS OS SO OS SO 00 0000 OS ... 0701000000 00 55 00 0000 OS SO 00 00 00 00 0000 0801000000 00 00 00 00 00 00 00 00 00 00 00 00 00 090100000500000000000500050005000505 OAS IOU 00 US 0000 00 00 SO OS 0000 00 00 00 00 05 0130 00

OCS 0000 00 0000 00 0000 US 0000 00 OS 00 00 00 ... SD055000500000000050050500500055050 SF0 0000 05 00

00 SO 0000 000000 00 00000000

...

OFO 000000 SO 0000 05 00 00 00 SO 00 50 US OS OS I 100 50050055055555050000500000555055I 1,010000 00 00000 00 00 00 00 00 00 00 00 00 00 1 ...

12010000 0000 0000 So SO 00 SO SO OS SO SO 0000! 1301000000 00 00 00 00 00 00 00 00 00 00 00 00 001...

1401000000 00 00 00 00 Co 00 0000 00 00 00 00 00 1501000000 00 00 00 00 00 00 0000 00 OC no 00 00 1 160 0000000000000000000000 000000000O[ 1701000000 00 05 00 00 00 S 0000 00 00 000000 180 000000000000000000000000000000001 190 10000 00 0000 00 00 00 00 0000 00 00 00 05 00 I AS 0000 00 0000 00 0000 00 00 00 OS 00 00 00 00

(55)
(56)

tq\

/'(ç

f . _)

\

o

CAPITULO4

DESARROLLO DE LA APLICACION

4.1.

lntroducción

4.2. MetodologIa

4.3.

Fase de Análisis

4.4. Programación del módulo Assembler.

4.5. Modulo de Lectura y Escritura.

4.5.1. Modulo de Lectura

4.5.2. Modulo de Escrtura

(57)

En este capitulo analizaremos como se construyo la aplicacion re1cionada con el algoritmo de recuperaciOn de archivos propuesto en el capItuIb Ill.. Se hará referencia a las funciones o procedimientos utilizados en el código fuente, desde que se lee el archivo borrado hasta que se logra su recuperacián. Tarnbién explicarernos el uso del API de Windows para determinar el tamaño del disco, nombre con el cual fue formateado, etc.

La aplicación desarrollada en el marco del proyecto de tesis se ha denominado Genesis. Ha sido concebida como un sistema para Windows y funciona hasta -FAT32, y, es aplicable a las unidades de disco duro y disquete.

4.2. MetodologIa

Entre los tipos de metodologIa existentes para el desarrollo de la aplicación he tornado en cuenta la metodologIa modular por las siguientes razones:

- La programación a bajo nivel se referencia mejor y se puede convertir luego los módulos a dil's, parecido al modelo del API de windows.

- La prograrnación se refiere a cualquier tipo de unidades de almacenamiento(discos o disquetes) que estéri formateadas hasta la FAT32 por lo que no existe presencia de herencia en los mOdulos(métodos)

0

variables.

(58)

4.3. Fase de Anàlisis

Anãlisis Preliminar A o

7

En el anteproyecto de tesis se plantea la necesidad de la construcciOn de una herramienta de recuperación de datos para word y excel. En el mismo, se plantean el marco teOrico y las justificaciones para la elaboración del trabajo investigativo, el mismo que fue presentado el tribunal asignado.

AiátisisDetaIládo

-Con el fin de estructurar el desarrollo de la aplicaciOn se procedió a revisar los algoritmos de recuperación de archivos partiendo del hecho que Ia informaciOn está presente sino ha sido sobrescrita o formateada. Para ello partimos del siguiente algoritmo:

- Si el archivo ha sido borrado

o Verificar el area del directorio raIz: tomar en cuenta que sucedIa con el nombre del archivo y su tamaño.

Corrido el algoritmo se verificó que al primer carácter del nombre del archivo ha sido asignado el carácter especial de borrado y por lo tanto era sencillo aplicar:

- Cambiar el carácter de borrado por el carácter que le corresponde al nombre del archivo

(59)

encuentra almacenado el archivo, esto en el area de datos.

Se trata de tomar en cuenta entonces que, los archivo no se almacenan

secuencialmente sino en sectores separados y en pistas diferentes.

Módulos de la Aplicación

-

GENESIS

Mbytes MdirectRW Mdrivelnfo MFAT MSaveDIg Sistema

4.4. Programacion del módulo Assembler

La programaciOn en Assembler fue utilizada en la aplicaciOn, ya que es necesario

acceder directamente al disco duro con elfin de facilitar los procesos. Estos accesos

se realizan a través de interrupciones, con el fin de aprovechar ]as lecturas y

escrituras directas a disco que traen de por media.

lnterrupción 21h

Maneja operaciones coma entrada desde teclado, salida a la pantalla, salida a la

impresora, restablece el disco, abrir/cerrar archivos, borrar archivo, leer/escribir

registras secuenciales, leer escribir registros directos, terminar y permanecer

residente, crear subdirectorios y terminar un programa.

1

(60)

En la aphcacon se esta utilizando esta interrupcion en comandos tipo

H"

Private Const VWIN32_DIOC_DOS_DRIVEINFO = 6& mt 21 h funcion 7305h

Cuyo objetivo es entregar la informacián del drive de acuerdo al formateo bajo DOS. Cabe indicar que se ha referencia a 6& debido a que Ia informaciôn general se encuentra en 6 bytes.

nterrupción 7305h

Es una extensián relacionado con la 21h. Esta extension nos facilita el acceso a disco incrementando la velocidad de lectura. Se obtienen datos aplicando esta extension, con comandos tipo:

With reg

reg_EAX = &H7305 ap!icación de la función .reg_ECX = -1&

.reg_EBX = VarPtr(abDio Buff (0))

.reg_EDX = Asc(U Case (sDrive)) - Asc(A) + 1 End With

(61)

lnterrupción 13h

Reahza una rein jciafización del controlador do disco flexible o del disco duro. Esto es, la siguiente vez que la unidad es accesada, primero se coloca en el cilindro 0.2

En la aplicación so utiliza en:

Private Const VWIN32_DIOC_DOS_IOCTL = 1&,

Se referenda 1& como desplazamiento ya que el primer sector donde se me va a ubicar el controlador es en el cilindro 0.

Interrupción 25h

Lectura absoluta de disco. Lee el contenido de uno o más sectores de disco, puede ser sustituida por la funciôn 4400H, do la INT 21 h.3

En la aplicacián se utiliza en:

Private Const VWIN32_DIOC_DOS_INT25 = 2& 1nt25

Se señala 2& debido a quo queremos que se empiece el acceso desde el cluster 2, que es el lugar en que generalmente empieza el directorio raIz.

Interrupción 26h

Escritura absoluta de disco. Escribe jnformación desde Ia memoria a uno 0 más sectores de disco.4

ABEL, Peter:Lenguaje Ensamblador y ProgramaciOn para PC!BM y Compatibles, Mexico, 1996, 486 p

(62)

Private Const VWIN32_DIOC_DOS_1NT26 3&,

Se ubica 3& con elfin de utilizar el desplazamiento 3 como sector lógico.

4.5 Módulo de Lectura y Escritura

La programación se ha dividido diversos módulos los cuales destacaréiosmás

importantes.

4.5.1. MóduIo de Lectura

El flujograma de la operaciOn de lectura de los datos almacenados en el disco se

presenta en la figura No. 5. Primero debemos verificar el tipo de FAT que se está

utilizando, con elfin de determinar correctamente la posición del area del directorio

raIz. Luego, ubicamos el primer cluster en el que se encuentra almacenado el

archivo, y empezamos a recuperar la informaciOn. Los clusteres que contienen una

archivo dado se extraen uno a uno de la FAT, hasta localizar el Ultimo marcado con

el carácter xFFFFF.

(63)
[image:63.559.35.516.64.367.2]

Fig. No. 5. Flujograma de la operaciOn de lectura de datos

El mOdulo GetRootDir, contiene el codigo de programación que ejecuta los procesos p!anteados en el flujograma para la operación de lectura. Este módulo entrega todas las entradas al directorio: nombre del archivo, su extension, su tamaño, etc.

(64)

Dim lTemp As Long, i As Long Dim sTemp As String

Select Case FSName Case "FAT32"

RootDirectoryLength = SearchDirEntries(sDrive, RootDirStartCluster) ReDim aRootDirEntries(UBound(aDirEntries))

CopyMemory aRootDirEntries(0), aDirEntries(0), (UBound(aDirEntries) + 1) * DIR ENTRY LENGTH

Case "FATI2", "FAT16"

ITemp = (RootDirectoryLength + I) * BytesPerSector / DIR_ENTRY_LENGTH ReDim aRootDirEntries(ITemp - 1)

abTemp = DirectReadDrive(sDrive, RootDirectoryStart, 0, ITemp * DIR ENTRY LENGTH)

- CopyMemory aRootDirEntries(0), abTemp(0), ITemp * DIR ENTRY LENGTH For I = 0 To UBound(aRootDirEntries)

sTemp = StrConv(aRootDirEntries(i).abDirEntrY, vbUnicode) If sTemp = String(32, Chr(0)) Then Exit For

Next i

If 0 Then i

ReDim Preserve aRootDirEntries(i - I) ReDim aDirEntries(i - 1)

CopyMemoty aDirEntries(0), aRootDirEntries(0), i * DIR_ENTRY_LENGTH Case Else

End Select End Sub

La IInea RootDirectoryLength obtiene la longitud de entradas para el directorlo, la misma que es relativa en dependencia de Ia FAT que se esté usando, pudiendo adoptar los valores de 16, 32, etc.

En el módulo realizado se utHizan diferentes funciones.

Copymemory

Figure

Fig.No. 1. Disco duro genérico
Fig No. 2. Elementos del disco duro
tabla de particiones con una sol .a partición, y que esta partición ocupe Ia
Fig No. 3. Estructura LOgica del Disco Duro
+7

Referencias

Documento similar

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

[r]

SVP, EXECUTIVE CREATIVE DIRECTOR JACK MORTON

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

La combinación, de acuerdo con el SEG, de ambos estudios, validez y fiabilidad (esto es, el estudio de los criterios de realidad en la declaración), verificada la

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés