1 / 27

Tema 10a

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.

alagan
Download Presentation

Tema 10a

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tema 10a Manejo de archivos

  2. 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.

  3. Introducción Memoria primaria (volátil) Memoria secundaria (persistente) CPU A+B=C B A C Datos.txt

  4. 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.

  5. Memoria RAM • Es necesario • Evitar la volatilidad de la memoria RAM. • Aumentar su capacidad a costos razonables. • Realizar respaldos de información.

  6. 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.

  7. 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).

  8. Otros • Otros discos magnéticos • Discos de 3.5’’ y 5.25’’ • Discos Zip • SuperDisk • Discos ópticos • CD • DVD • Memoria ROM

  9. 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.

  10. Archivos Archivos Unidad de disco Directorios

  11. 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...

  12. 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.

  13. 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)

  14. 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.

  15. Flujos “hola” “chao” “hola” “chao”

  16. Flujos “1”

  17. Flujos VAR Abrir Leer Escribir Cerrar “hola”

  18. 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

  19. 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.

  20. 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.

  21. 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.

  22. 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.

  23. Leer desde un flujo binario • Pueden contener cualquier cosa. • Por lo general se leen de manera aleatoria. • Pueden contener estructuras de datos.

  24. 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.

  25. Escribir en un flujo 2 datos [Llenando buffer] 5 datos [Llenando buffer] 1 datos [buffer lleno] [Vaciando buffer]

  26. 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.

  27. Fin tema 10a Manejo de archivos

More Related