tema 10a
DESCRIPTION
Tema 10a. Manejo de archivos. Introducción. Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida. Para hacer cualquier cosa es necesario tener MEMORIA disponible, para almacenar variables, recordar valores, etc. - PowerPoint PPT PresentationTRANSCRIPT
Tema 10a
Manejo de archivos
Introducción
• Un computador puede almacenar grandes cantidades de información.
• Puede acceder a ella de manera muy rápida.• Para hacer cualquier cosa es necesario tener
MEMORIA disponible, para almacenar variables, recordar valores, etc.
• Esta memoria puede ser volátil o persistente.
Introducción
CPUA+B=C
Memoria secundaria(persistente)
Memoria primaria(volátil)
A BC
Datos.txt
Memoria RAM
• RAM: Random Access Memory.• Acceso aleatorio.• Volátil, por tanto insegura.• Capacidades de cientos de MB.• Velocidad de acceso:
– Del orden de los nanosegundos (10-9 seg.)• 133 MHz 8 ns
– Implica que puede transmitir mas de 1 GB/seg.
Memoria RAM
• Es necesario– Evitar la volatilidad de la memoria RAM.– Aumentar su capacidad a costos razonables.– Realizar respaldos de información.
HDD
• HDD: Hard Drive Disk• Acceso aleatorio.• Persistente y confiable.• Capacidades de decenas de GB.• Velocidad de acceso
– Del orden de los milisegundos (10-3 seg)• 5 – 10 ms
– Transmiten en tasas de decenas de MB/seg.
Cintas magnéticas
• Acceso secuencial.• Cada cinta almacena cientos de GB.• Persistente y muy confiable.• Se crean “bibliotecas” de cintas, que alcanzan las
decenas o cientos de TB.• Velocidad de acceso
– Del orden de los milisegundos.– Transmiten en tasas de decenas de MB/seg. (menos que
un HDD y considerando acceso secuencial).
Otros
• Otros discos magnéticos– Discos de 3.5’’ y 5.25’’– Discos Zip– SuperDisk
• Discos ópticos– CD– DVD
• Memoria ROM
Archivos
• La memoria secundaria puede almacenar cantidades inmensas de información.
• Para organizar los datos en ella, se crean los conceptos de archivos.
• Además, se crea el concepto de directorio.
Archivos
Unidad de discoDirectorios
Archivos
Archivos
• Los archivos son entidades que define el sistema operativo para identificar un conjunto de datos
• Un archivo tiene un conjunto de atributos– Nombre y extensión.– Ubicación (muchas veces es solo parte del nombre).– Tamaño.– Tipo.– Permisos: Lectura , escritura y ejecución (puede estar
especificado por usuarios y grupos)– Fecha de creación y modificación.– Etc...
Archivos
• Debido a su facilidad de uso y compresión, muchos sistemas utilizan archivos especiales para manejar dispositivos– Teclado Entrada secuencial– Pantalla Salida secuencial– Impresora Salida secuencial– Red, Serial, paralela E/S secuencial– Etc...
• Todo se resume a saber manejar archivos• Si manejan archivos, manejarán al mundo.
Archivos
• Se pueden realizar un conjunto de operaciones a través del sistema operativo con los archivos:– Abrir– Cerrar– Leer– Escribir– Mover a una posición (solo acceso aleatorio)
Archivos
• Para abstraer la interacción entre los archivos y los programas que realicen operaciones sobre ellos, se define el concepto de flujo.
• Un flujo es como una manguera por donde fluyen datos en uno o ambos sentidos.
“hola”
Flujos“hola”
“chao”
“chao”
Flujos“1”
“hola”
FlujosVAR
Abrir
Leer
Escribir
Cerrar
Abrir un flujo
• Antes de poder utilizar un flujo, debemos abrirlo.• Al momento de abrirlo se especifica el “modo”
– Solo lectura (r)
– Solo escritura (w)
– Lectura/escritura (rw)
• Al abrir:– Se asigna un descriptor del archivo a nuestro programa
– Se modifica el estado del archivo
Abrir un flujo
• Estado de un archivo– Si esta abierto para lectura, otros programas
pueden también abrirlo para lectura, pero no para escritura.
– Si está abierto para escritura, nadie más puede abrirlo.
Cerrar un flujo
• Al terminar de usarlos, los flujos deben ser cerrados.
• Al cerrar los flujos, nuevamente se modifica el estado del archivo (para que otros puedan abrirlo).
• Al salir del programa de manera normal, los flujos se cierran en forma automática.
• Si el programa termina de manera anormal, los flujos pueden quedar abiertos.
Leer desde un flujo
• Los archivos contienen información binaria.• Esta información puede representar cualquier
cosa.• Los archivos se separan en dos grandes grupos
– Archivos de texto
– Archivos binarios
• Al momento de leer, hay que tener claro el tipo de archivo desde el cual se desea leer información.
Leer desde un flujo de texto
• Se pueden leer letras, palabras o frases completas.
• Por lo general se leen de manera secuencial, desde la primera letra hasta el fin de archivo.
Leer desde un flujo binario
• Pueden contener cualquier cosa.
• Por lo general se leen de manera aleatoria.
• Pueden contener estructuras de datos.
Escribir en un flujo
• También depende del tipo de archivo.• Por lo general, el escribir en un flujo no
significa que la información se guarde de manera inmediata en el archivo.
• La operación de escritura en memoria secundaria es muy costosa.
• Para mejorar el rendimiento se utiliza un buffer.
Escribir en un flujo2 datos
5 datos
1 datos
[Llenando buffer]
[Llenando buffer]
[buffer lleno]
[Vaciando buffer]
Mover a una posición
• Acción permitida solo para archivos de acceso directo.
• Al abrir un archivo, se define una posición al comienzo de este.
• Al leer o escribir de manera secuencial, esta posición se actualiza automáticamente al la posición siguiente.
• Se puede modificar de manera manual esta posición para leer o modificar un datos especifico o en un orden distinto al secuencial.
Fin tema 10a
Manejo de archivos