8. storage - profs.info.uaic.rovcosmin/pagini/resurse_arduino/cursuri... · ordine o serie de...
TRANSCRIPT
8. Storage
Ce este un mediu de stocare?
• La baza, un suport pe care putem stoca date
• Putem stoca date in pereti, pietre, pomi….?
– Teoretic DA, pentru ca sunt un suport fizic
• Practic inca nu stim cum
Datele?
• Ce sunt datele?
– O serie de informatii
• Stocarea datelor nu este mai departe de modularea
semnalelor
Ce este un mediu de stocare?
• Modulare AM / FM
http://mri-q.com/signal-squiggles.html
Realm 1
Realm 2
AM: Realm 1 + Realm 2
FM: Realm 1 + Realm 2
Ce este un mediu de stocare?
• Echivalentul unui pamant in/pe care exista informatii
• Informatia este diferita in spatiul mediului de stocare (nu
se suprapune) si poate fi redata in timp
http://www.alamy.com/stock-photo-young-green-sprouts-plants-on-soil-earth-patch-close-up-horizontal-56375509.html
http://www.dreamstime.com/stock-photo-people-planet-earth-image8390810 http://debj150.blogspot.ro/2012/02/defining-your-radio-stations.html
Ce este un mediu de stocare?
http://www.eassos.com/blog/wp-content/uploads/2014/07/SDcard-format-recovery01.jpg
http://www.explainthatstuff.com/harddrive.htmlhttp://scorea-ict.blogspot.ro/p/lesson-34-input-devices-input-input-is_13.html
http://www.michaelleehill.net/the-anunnaki-are-communicating-with-us-anunnaki-frequencies-binary-encoded-messages/
http://churchm.ag/best-ram-hard-drive-computer-case-study/
https://en.wikipedia.org/wiki/Capacitor
Disk – low level data
• Organizarea datelor pe un disk cu platane
http://www.kepzesevolucioja.hu/dmdocuments/4ap/7_1173_005_101215.pdf
Ce este un fisier?
• Cea mai mica unitate dintr-un sistem de organizare a
informatiei (filesystem)
– memorie fizica (HDD)
• fisier (cea mai mica unitate de memorie construita
cu unitati mai mici structurate - sectoare)
– memorie volatila (RAM)
• spatiu alocat (cea mai mica unitate de memorie
construita cu unitati mai mici structurate - pagini)
• Revenire la sectiunea – sisteme de fisiere
MBR
• Master Boot Record
– Calculatoare care au BIOS folosesc primul sector de
pe un disk solid pentru a initializa secventa de bOOt
– Primul sector este incarcat in memoria RAM la
0x7C00 si se executa efectiv codul de acolo
– Un sector pe diskul solid ocupa 512 Bytes – 0x200
– In cei 512 bytes, 64 de bytes descriu tabela de partitii
a discului, deci nu toti contin cod
MBR
GPT
• GUID Partition Table (folosit de EFI/UEFI – Extensible
firmware interface)
https://en.wikipedia.org/wiki/GUID_Partition_Table
MBR / GPT
• MBR – dimensiune partitie (in sectoare de 512 bytes) pe
32 biti => 512 * 4G = 2T
• GPT – dimensiune partitie (in sectoare de 512 bytes) pe
64 biti => 512 * 2^64 = 9,444,732,965,739,290,427,392
bytes = 9,444,732,965 TB (9 mld TB)
Sistemul de fisiere FAT
• Cunoscute si ca
– Fat12 (old Floppy disks)
– Fat16 (small drives - MB)
– Fat32 (up to 4-8GB)
• Cea mai mica unitate de
fisier este clusterul
multiplu de sectoare
http://havefunwhileulearn.blogspot.ro/2010/05/dissecting-fat-16-file-system.html
Sistemul de fisiere FAT
• BPB – Bios Parameter block / Boot sector
http://wiki.osdev.org/FAT
Sistemul de fisiere FAT
http://dorumugs.blogspot.ro/2013_01_01_archive.html
Sistemul de fisiere FAT
• Directory Entry
https://commons.wikimedia.org/wiki/File:Fat32_structure.svg
Sistemul de fisiere FAT
Sistemul de fisiere NTFS
• Implementat incepand cu sistemele de operare Windows
NT
• NTFS = New Technology Filesystem
• Journaling (pastreaza informatii despre schimbarile care
au loc)
• Suporta streamuri (ADS)
• EFS (encrypted filesystems)
• ACLs (access control lists)
• Fisierele sunt accesibile plecand de la o serie de
metadate care descriu datele de pe disk (MFTs)
Sistemul de fisiere NTFS
• Bios Parameter Block
Sistemul de fisiere NTFS
• BPB – Cu explicatia campurilor
http://thestarman.pcministry.com/asm/mbr/NTFSBR.htm
Sistemul de fisiere NTFS
https://commons.wikimedia.org/wiki/File:Ntfs_mft.svg
Bootloadere
• Un bootloader (pentru CISC) incarca intr-o anumita
ordine o serie de sectoare / fisiere pentru a porni un
sistem de operare sau un nucleu
• Un bootloader (pentru RISC) incarca o secventa de cod de
pe un mediu de stocare extern pentru a-l executa ca si
aplicatie
• Au sens in cadrul sistemelor de operare sau atunci cand
dorim sa mutam mecanismul de resoftare pe o linie de
comunicare mai comoda (USART)
Bootloader pentru PC
Bootloader pentru PC
Bootloadere pentru SoC
• Fuse calculator (selectie spatiu bootloader)
http://www.engbedded.com/fusecalc/
Bootloadere pentru SoC
http://www.pcworld.com/article/2886260/raspberry-pi-2-review-the-revolutionary-35-micro-pc-supercharged.html
Bootloadere pentru SoC
• BitBox Console (cu STM32F4 – 32 bit ARM CPU)
https://hackaday.io/project/1733-bitbox-console
Bootloadere pentru SoC
• Arduino bootloader (incarca programul de pe un
MMC/SD)
https://spaces.atmel.com/gf/project/sdbootloader/
Sisteme de fisiere custom
Demo – FAT32 / custom
• Recuperarea manuala a partitiilor
• Recuperarea manuala a fisierelor sterse
• Sistem de fisiere personalizat
Arduino si fisiere BMP
• Bitmap file header
Arduino si fisiere BMP
• Bitmap file header - continuare
Arduino si fisiere BMP
• Localizarea campurilor in header pe un fisier
http://stackoverflow.com/questions/7466349/understanding-tbitmap-scanline-in-delphi-c-builder
Arduino si fisiere BMP
• Idee de proiect:
– Afisati o poza de pe un SDCARD conectat la Arduino,
in format ASCII-ART (fisier sau terminal)
• Exemplu:
Arduino si fisiere BMP
• Folosire LCD-uri
http://www.cafelogic.com/wp-content/uploads/2011/01/bitmap_logo_arduino.jpg
Arduino si fisiere WAV
• Formatul fisierelor WAV
Arduino si fisiere WAV
• Mini proiect
http://www.instructables.com/id/Playing-Wave-file-using-arduino/
Manager de fisiere cu Arduino
• Consola – terminal pentru fisiere
http://blog.biicode.com/arduino-file-manager-editor-project/
TCP client/server
http://www.valky.eu/?data/research/elitech2013.txthttp://myarduinotoy.blogspot.ro/