Almacenando Información en Java (Ficheiros): Diferenzas entre revisións
Liña 10: | Liña 10: | ||
* '''Soportes de Acceso Aleatorio''': Permiten acceder a posicións concretas do soporte de xeito directo para realizar operacións de lectura e escritura. De este tipo de soportes podemos destacar os Discos Magnéticos (HDD) ou as memorias de estado sólido (SDD). |
* '''Soportes de Acceso Aleatorio''': Permiten acceder a posicións concretas do soporte de xeito directo para realizar operacións de lectura e escritura. De este tipo de soportes podemos destacar os Discos Magnéticos (HDD) ou as memorias de estado sólido (SDD). |
||
Os dispositivos máis comúns de almacenamento utilizados polos programas son soportes de acceso aleatorio, principalmente HDD e SDD. O xeito de organizar a información en estes tipos de soporte é similar. Dende o punto de vista da programación o concepto máis importante é o de '''bloque físico'''. |
|||
{{boxinfo|Un bloque físico é a cantidade de información mínima que se lee ou escribe no soporte de información. Por exemplo, si utilizamos un bloque físico de 4K isto quere dicir que a información se intercambia entre o disco e a RAM en "anacos" de 4K}} |
|||
=== O Sistema de Arquivos === |
|||
Os soportes nos dan a posibilidade de almacenar información, pero para poder gardala e recuperala de un xeito eficiente necesitamos organizala dun xeito "comprensible". O xeito en que se organiza a información nun soporte para poder acceder á mesma con facilidade se coñece como ''sistema de arquivos''. |
|||
Sistemas de arquivos de uso común son FAT32, VFAT, NTFS, EXT4, ZFS, BTRFS ... etc, cada un de eles con diferentes características e limitacións. Sen embargo, teñen algo en común: Almacenan a información en '''Ficheiros''' (ou Arquivos) e a organizan en '''Directorios''' (ou "carpetas"), |
|||
{{boxinfo|O concepto de ''carpeta'' non é máis que unha metáfora para referirnos a un lugar no que agrupamos un conxunto de arquivos, e se coñece así porque nas contornas gráficas de usuario se representan coa icona dunha carpeta. O concepto se denomina realmente ''directorio''}} |
|||
concepto e bloque e tipos de soporte (secuencial / directo) |
concepto e bloque e tipos de soporte (secuencial / directo) |
Revisión como estaba o 14 de marzo de 2022 ás 16:57
Conceptos Básicos
Soporte, Organización e Acceso
Os Soportes
Un sistema informático xestiona a información almacenada na súa memoria RAM en formato binario, sendo procesada pola CPU para producir información nova que é almacenada de volta na memoria RAM do sistema. A memoria RAM é volátil, polo que si desconectamos o equipo a información almacenada se perde. Polo tanto é necesario almacenar a información binaria en algún tipo de soporte de información permanente.
Os soportes de almacenamento permanente máis utilizados son os soportes magnéticos, que nos últimos anos están sendo substituídos polas memorias SSD. En canto ao xeito en que permiten almacenar e recuperar a información, podemos clasificar os soportes de almacenamento en:
- Soportes Secuenciais: A información se almacena unha detrás de outra segundo vai chegando, non é posible retroceder nin avanzar a unha posición de escritura concreta sin pasar por enriba de información previa. Entre estes tipos de soporte podemos destacar as cintas magnéticas.
- Soportes de Acceso Aleatorio: Permiten acceder a posicións concretas do soporte de xeito directo para realizar operacións de lectura e escritura. De este tipo de soportes podemos destacar os Discos Magnéticos (HDD) ou as memorias de estado sólido (SDD).
Os dispositivos máis comúns de almacenamento utilizados polos programas son soportes de acceso aleatorio, principalmente HDD e SDD. O xeito de organizar a información en estes tipos de soporte é similar. Dende o punto de vista da programación o concepto máis importante é o de bloque físico.
O Sistema de Arquivos
Os soportes nos dan a posibilidade de almacenar información, pero para poder gardala e recuperala de un xeito eficiente necesitamos organizala dun xeito "comprensible". O xeito en que se organiza a información nun soporte para poder acceder á mesma con facilidade se coñece como sistema de arquivos.
Sistemas de arquivos de uso común son FAT32, VFAT, NTFS, EXT4, ZFS, BTRFS ... etc, cada un de eles con diferentes características e limitacións. Sen embargo, teñen algo en común: Almacenan a información en Ficheiros (ou Arquivos) e a organizan en Directorios (ou "carpetas"),
concepto e bloque e tipos de soporte (secuencial / directo) o sistema de arquivos
A clase File
A organización: Campos, Rexistros e Bloques
Rexistros de lonxitude fixa e rexistros de lonxitude variable Organización secuencial, directa e indexada
O acceso
Acceso secuencial, directo e indexado
Serialización, A interface Serializable
A clase RandomAccessFile
O "punteiro do ficheiro", operacións "seek" e "getFilePointer"
Exercicio =
A partir de unha clase, crear un ficheiro que garde os datos e un índice que os localice por chave primaria. No arranque do programa se carga o índice na memoria nun map.
class Index<K> {
K key; long positition;
}