Tema 10a
description
Transcript of Tema 10a
![Page 1: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/1.jpg)
Tema 10a
Manejo de archivos
![Page 2: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/2.jpg)
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.
![Page 3: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/3.jpg)
Introducción
CPUA+B=C
Memoria secundaria(persistente)
Memoria primaria(volátil)
A BC
Datos.txt
![Page 4: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/4.jpg)
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.
![Page 5: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/5.jpg)
Memoria RAM
• Es necesario– Evitar la volatilidad de la memoria RAM.– Aumentar su capacidad a costos razonables.– Realizar respaldos de información.
![Page 6: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/6.jpg)
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.
![Page 7: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/7.jpg)
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).
![Page 8: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/8.jpg)
Otros
• Otros discos magnéticos– Discos de 3.5’’ y 5.25’’– Discos Zip– SuperDisk
• Discos ópticos– CD– DVD
• Memoria ROM
![Page 9: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/9.jpg)
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.
![Page 10: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/10.jpg)
Archivos
Unidad de discoDirectorios
Archivos
![Page 11: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/11.jpg)
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...
![Page 12: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/12.jpg)
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.
![Page 13: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/13.jpg)
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)
![Page 14: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/14.jpg)
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.
![Page 15: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/15.jpg)
“hola”
Flujos“hola”
“chao”
“chao”
![Page 16: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/16.jpg)
Flujos“1”
![Page 17: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/17.jpg)
“hola”
FlujosVAR
Abrir
Leer
Escribir
Cerrar
![Page 18: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/18.jpg)
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
![Page 19: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/19.jpg)
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.
![Page 20: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/20.jpg)
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.
![Page 21: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/21.jpg)
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.
![Page 22: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/22.jpg)
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.
![Page 23: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/23.jpg)
Leer desde un flujo binario
• Pueden contener cualquier cosa.
• Por lo general se leen de manera aleatoria.
• Pueden contener estructuras de datos.
![Page 24: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/24.jpg)
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.
![Page 25: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/25.jpg)
Escribir en un flujo2 datos
5 datos
1 datos
[Llenando buffer]
[Llenando buffer]
[buffer lleno]
[Vaciando buffer]
![Page 26: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/26.jpg)
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.
![Page 27: Tema 10a](https://reader036.fdocuments.es/reader036/viewer/2022062423/56814aee550346895db7fd6e/html5/thumbnails/27.jpg)
Fin tema 10a
Manejo de archivos