Title: X13UIT- Pamet a souborov
1X13UIT- Pamet a souborový systém
- Ing. Martin Molhanec, CSc.
2Pamet
- Je rychlá
- Vykonávají se v ní programy
- Cím je vetší, tím více programu so do ní vejde
soucasne! - Pokud je málo pameti je možné
- Využívat programové prekrývání (overlay)
- Virtuální pamet (swap soubor)
- To ovšem cinnost pocítace zpomaluje!
- Je lepší mít více pameti, než rychlejší
procesor!!!!
3Pamet pod MS DOSem
- MS DOS pracuje v reálném módu procesoru 8086
- Proto je k dispozici pouze 1MB RAM
- Z toho je pro OS a programy dostupných pouze
640kB! - Slavná veta Billa Gatese Nikdo nebude preci
potrebovat více než 640kB RAM! - Velice brzy se zjistilo, že je to velice málo!!!
4MS DOS memory map
Zde je MS DOS, jeho promenné a promenné BIOSu
5MS DOS memory map
Zde mohou bežet naše aplikace
Zde je MS DOS, jeho promenné a promenné BIOSu
6MS DOS memory map
Pametove mapovaná VIDEO RAM
Zde mohou bežet naše aplikace
Zde je MS DOS, jeho promenné a promenné BIOSu
7MS DOS memory map
Od karet typu EGA je zde také jejich BIOS
Pametove mapovaná VIDEO RAM
Zde mohou bežet naše aplikace
Zde je MS DOS, jeho promenné a promenné BIOSu
8MS DOS memory map
PC XT zde meli HDD BIOS
Od karet typu EGA je zde také jejich BIOS
Pametove mapovaná VIDEO RAM
Zde mohou bežet naše aplikace
Zde je MS DOS, jeho promenné a promenné BIOSu
9MS DOS memory map
Zde je PC BIOS
PC XT zde meli HDD BIOS
Od karet typu EGA je zde také jejich BIOS
Pametove mapovaná VIDEO RAM
Zde mohou bežet naše aplikace
Zde je MS DOS, jeho promenné a promenné BIOSu
10MS DOS low memory
Vektory prerušení
11MS DOS low memory
IO.SYSnižší vrstva OS
Vektory prerušení
12MS DOS low memory
MSDOS.SYSvyšší vrstva OS
IO.SYSnižší vrstva OS
Vektory prerušení
13MS DOS low memory
COMMANDCOMpríkazový interpreter
MSDOS.SYSvyšší vrstva OS
IO.SYSnižší vrstva OS
Vektory prerušení
14MS DOS low memory
COMMAND.COMpríkazový interpreterdocasná overlay
COMMANDCOMpríkazový interpreter
MSDOS.SYSvyšší vrstva OS
IO.SYSnižší vrstva OS
Vektory prerušení
15MS DOS low memory
COMMAND.COMpríkazový interpreterdocasná overlay
Místo pro programyTPATransient Program Area
COMMANDCOMpríkazový interpreter
MSDOS.SYSvyšší vrstva OS
IO.SYSnižší vrstva OS
Vektory prerušení
16MS DOS low memory
DEVICE DRIVERS
Device drivers se natahují pri zpracování souboru
CONFIG.SYS. Umožnují zejména pripojení ruzných
nestandardních periferií k MS DOS. Napríklad CD
ROM, SCSI, atp.
17MS DOS low memory
TSR (Terminate State Resident)Jsou prográmky,
které zustávají v pameti (vetšinou se natahují
pri zpracování souboru AUTOEXEC.BAT) a rozširují
možnosti MSDOS. Napríklad podpora ceštiny, atp.
TSR
DEVICE DRIVERS
Device drivers se natahují pri zpracování souboru
CONFIG.SYS. Umožnují zejména pripojení ruzných
nestandardních periferií k MS DOS. Napríklad CD
ROM, SCSI, atp.
18MS DOS low memory
Cím dál méne pameti pro naše aplikace!!!!
TSR (Terminate State Resident)Jsou prográmky,
které zustávají v pameti (vetšinou se natahují
pri zpracování souboru AUTOEXEC.BAT) a rozširují
možnosti MSDOS. Napríklad podpora ceštiny, atp.
TSR
DEVICE DRIVERS
Device drivers se natahují pri zpracování souboru
CONFIG.SYS. Umožnují zejména pripojení ruzných
nestandardních periferií k MS DOS. Napríklad CD
ROM, SCSI, atp.
19MS DOS low memory
- Problém s pametí vznikal zejména
- V sítovém prostredí
- Bylo nutné zavést ovladace sítové karty a OS
Novell Netware - Pri použití nestandardních periferií
- CD-ROM, SCSI,
- V ceském prostredí
- Ceská klávesnice, ceské fonty do videokarty,
ceské ovladace do tiskárny, atp.
20MS DOS low memory
- Problém s pametí vznikal zejména
- V sítovém prostredí
- Bylo nutné zavést ovladace sítové karty a OS
Novell Netware - Pri použití nestandardních periferií
- CD-ROM, SCSI,
- V ceském prostredí
- Ceská klávesnice, ceské fonty do videokarty,
ceské ovladace do tiskárny, atp.
Použití procesoru 80286, 80386, toto nereší,
protože MS DOS pracuje pouze v reálném módu, cili
módu procesoru 8086!!!
21Expanded Memory - EMS
Pamet expanded, cili rozšírená, také EMS
(Expanded Memory Specifikation) se stránkuje do
volného pametového prostoru PC mezi 640kB až 1MB.
22Expanded Memory - EMS
Pamet expanded, cili rozšírená, také EMS
(Expanded Memory Specifikation) se stránkuje do
volného pametového prostoru PC mezi 640kB až 1MB.
Stránkují se vždy 4 stránky o 16kB do rámce
(frame) o velikosti 64kB. Vetšinou od 0xE000.
23Expanded Memory - EMS
Specifikace ve verzi 3.2 byla navržena firmami
Lotus, Intel a Microsoft, proto se mluví také o
specifikaci EMS LIM.
24Expanded Memory - EMS
Specifikace ve verzi 3.2 byla navržena firmami
Lotus, Intel a Microsoft, proto se mluví také o
specifikaci EMS LIM.
Je zrejmé, že pamet EMS bylo možné užívat už u
pocítacu typu IBM PC s procesorem 8086, protože
se jednalo HW kartu!!!
25Expanded Memory - EMS
Nevýhoda složité programování!
26Expanded Memory - EMS
Nevýhoda složité programování!
Poznámkapamet se nazývá expanded (rozšírená).
EMS je oznacení specifikace jejího rozhraní!!!
27Expanded Memory - EMS
EEMS (Enhanced Expanded Memory Specifikation) Je
vylepšená specifikace firmami AST, Quadram and
Ashton-Tate.
Umožnuje mapovat až 64 stránek soucasne do
prostoru 0 až 1MB. První ctyri stránky se ovšem
musejí z duvodu kompatibility mapovat do 64kB
okna.
28Expanded Memory - EMS
EEMS (Enhanced Expanded Memory Specifikation) Je
vylepšená specifikace firmami AST, Quadram and
Ashton-Tate.
Umožnuje mapovat až 64 stránek soucasne do
prostoru 0 až 1MB. První ctyri stránky se ovšem
musejí z duvodu kompatibility mapovat do 64kB
okna.
EMS 4.0 je specifikace od LIM, která zahrnuje a
rozširuje EEMS a EMS.
29Pamet EMS
- Je v MS DOS zprístupnena pomocí ovladace
zavádeného pri zpracování souboru CONFIG.SYS! - Nemohou v ní bežet programy!
- Mohou se v ní ukládat pouze data.
- Od procesoru 80286 a výše se emuluje softwarove z
pameti prodloužené (extended) dle specifikace
XMS!!! - Pri užití procesoru 80286 se bud
- Kopírovala pamet nad 1MB dolu pod 640kB. Bylo
nutné však prepínat do chráneného módu. - Nebo se využíval cipset pro stránkování, podobne
jako to umí 80386. - Pri užití procesoru 80386 a vyšším se využívala
jeho schopnost stránkování pameti. - Dala se také emulovat softwarove z diskové
pameti. Toto bylo pouze nouzové rešení, protože
pamet na disku je velice pomalá!
30Pamet EMS
31Extended Memory - XMS
Extended (prodloužená) pamet existuje u procesoru
80286 a výše. Je to pamet nad 1MB!
32Extended Memory - XMS
Extended (prodloužená) pamet existuje u procesoru
80286 a výše. Je to pamet nad 1MB!
V MS DOS však není prímo prístupná! Protože ten
pracuje pouze v reálném módu!
33Extended Memory - XMS
Extended (prodloužená) pamet existuje u procesoru
80286 a výše. Je to pamet nad 1MB!
V MS DOS však není prímo prístupná! Protože ten
pracuje pouze v reálném módu!
Prístup k pameti je definován pomocí XMS
(Extended Memory Specification), která byla
vytvorena firmou Microsoft.
34Pamet XMS
- Je v MS DOS zprístupnena pomocí ovladace
zavádeného pri zpracování souboru CONFIG.SYS! - Nemohou v ní bežet programy!
- Mohou se v ní ukládat pouze data.
- Pri užití procesoru 80286 se bud
- Kopírovala pamet nad 1MB dolu pod 640kB. Bylo
nutné však prepínat do chráneného módu. - Nebo se využíval cipset pro stránkování, podobne
jako to umí 80386. - Pri užití procesoru 80386 a vyšším se využívala
jeho schopnost stránkování pameti. - Cástí pameti XMS je pamet HMA.
- Z pameti XMS se dá emulovat pamet EMS!
- Pak se dá využít na vytvárení UMB!
35HMA High Memory Area
HMA pamet je první 64kB blok pameti nad 1MB! Je
dostupný v reálném módu díky chybe procesoru
(pretecení adresy).
36HMA High Memory Area
HMA pamet je první 64kB blok pameti nad 1MB! Je
dostupný v reálném módu díky chybe procesoru
(pretecení adresy).
Aktivace bitu A20 adresové sbernice se deje pres
cip klávesnice!!!
37UMB Upper Memory Blocks
UMB (Upper Memory Blocks) nebo také UMA (Upper
Memory Area) je pamet mezi 640kB a 1MB, která se
dá v MS DOS využít pro beh programu.
38UMB Upper Memory Blocks
UMB (Upper Memory Blocks) nebo také UMA (Upper
Memory Area) je pamet mezi 640kB a 1MB, která se
dá v MS DOS využít pro beh programu.
Dá se získat na mapováním pameti dle specifikace
EMS 4.0 nebo EEMS do prázdných míst mezi 640kB až
1MB!
39UMB Upper Memory Blocks
UMB (Upper Memory Blocks) nebo také UMA (Upper
Memory Area) je pamet mezi 640kB a 1MB, která se
dá v MS DOS využít pro beh programu.
Dá se získat na mapováním pameti dle specifikace
EMS 4.0 nebo EEMS do prázdných míst mezi 640kB až
1MB!
- 8086 je nutná HW EEMS karta.
- 80286 je nutný mapovací cipset.
- 80386 využívá stránkování CPU.
40 16MB and beyond
EXTENDEDMEMORY Addressable in protected mode, not real mode
1MB 64kb (-16 bytes if you're picky)
EXTENDED MEMORYHMA First 64kb of exTENded memoryused by MS-DOS DOSHIGH or XMSNETX shell
1MB
UPPER MEMORYPC BIOSExpanded Memory Page FrameNetwork Cardsand other RAM/ROMVideo Buffer LOADHIGH into unused blocks usually F000h-FFFFh, sometimes E000h-FFFFhusually D000h-DFFFhVariesA000h-BFFFh
640kb segment A000h
CONVENTIONALMEMORYApplicationsTSR'sDOSBIOS data area
0kb (bottom of memory
41EMS a XMS poskytovatelé
- Microsoft
- HIMEM.SYS XMS, HMA
- EMM386.EXE EMS, UMB
- Quarterdeck (Stealthing)
- QRAM EMS, XMS, HMA, UMB pro 80286
- QEMM EMS, XMS, HMA, UMB pro 80386
- Qualitas (VGAswap)
- 386MAX EMS, XMS, HMA, UMB pro 80386
- Helix (Cloaking)
- Netroom EMS, XMS, HMA, UMB pro 80386
42EMS a XMS poskytovatelé
- Microsoft
- HIMEM.SYS XMS, HMA
- EMM386.EXE EMS, UMB
- Quarterdeck (Stealthing)
- QRAM EMS, XMS, HMA, UMB pro 80286
- QEMM EMS, XMS, HMA, UMB pro 80386
- Qualitas (VGAswap)
- 386MAX EMS, XMS, HMA, UMB pro 80386
- Helix (Cloaking)
- Netroom EMS, XMS, HMA, UMB pro 80386
VIDRAM V textovém režimu se dá jako pamet pro
programy využít pamet grafického adapteru! Místo
640kB je pak 720kB!
43MS DOS pamet v OS MS Windows
- W9x
- Velikost pameti v DOS okénku je závislá na
velikosti pameti, která byla k dispozici pri
spouštení Windows!!! - Je tedy stále duvod pro optimalizaci!
- Na strane druhé, vetšinu speciálních driveru
mužeme zavést až ve Windows (sít, ceština, atp.). - NT, W2K, XP,
- DOS okénko je pouze emulované, všechny drivery
jsou mimo, jsou ve Windowsech.
44MS DOS pamet v OS MS Windows
- W9x
- Velikost pameti v DOS okénku je závislá na
velikosti pameti, která byla k dispozici pri
spouštení Windows!!! - Je tedy stále duvod pro optimalizaci!
- Na strane druhé, vetšinu speciálních driveru
mužeme zavést až ve Windows (sít, ceština, atp.). - NT, W2K, XP,
- DOS okénko je pouze emulované, všechny drivery
jsou mimo, jsou ve Windowsech.
45Windows 95
Díky virtualizaci jsou problémy s málem pameti
odstraneny?
46Windows 95
Díky virtualizaci jsou problémy s málem pameti
odstraneny?
- Není bohužel pravda.
- Existují nekterá fixní omezení.
- Neuvolnování pameti.
- Špatná práce pridelování pameti pro programy a
cache.
47Windows 95, NT, W2K,
Díky virtualizaci jsou problémy s málem pameti
odstraneny?
Tento základní model zachovávají i OS typu
NT. Soucasný uživatel do pridelování pameti
nevidí a nemuže je príliš snadno ovlivnit.
- Není bohužel pravda.
- Existují nekterá fixní omezení.
- Neuvolnování pameti.
- Špatná práce pridelování pameti pro programy a
cache.
48KONEC pameti
49Souborový systém IBM PC
- Ing. Martin Molhanec, CSc.
50Co je to souborový systém?
- Je to zpusob organizace dat na hromadných
mediích. - Základními pojmy jsou
- Soubor oznacuje jménem urcitá data (textová,
binární, obrázky, programy,) - Adresár oznacuje jménem množinu souboru a
adresáru. - Existuje velké množství souborových systému
budeme se venovat prednostne souborovým systémum
FAT a NTFS od firmy Microsoft, které jsou užívány
na osobních pocítacích typu IBM PC.
51FAT souborový systém(file system FS)
- FAT souborový systém vznikl pro OS MS DOS 1.0
firmy Microsoft. Má nekteré vlastnosti podobné
svému predchudci FS OS CP/M-80, ale je odlišný! - Postupne vzniklo nekolik verzí
- FAT12
- FAT16 (VFAT)
- FAT32 (VFAT)
52FS FAT12, FAT16, FAT32
53FS FAT12, FAT16, FAT32
Lineární adresování sektoru
Sektor 0
Sektor N
Boot Sektor Je první sektor disku, který se cte
BIOSem po nabootování. Obsahuje zavádecí kód
(program) a popis disku (data).
54FS FAT12, FAT16, FAT32
Lineární adresování sektoru
Sektor 0
Sektor N
FAT Je cást disku, která obsahuje obsazení disku
soubory a adresári. Její formát je tabulka (pole)
položek o 12, 16 nebo 32 bitech.
55FS FAT12, FAT16, FAT32
Lineární adresování sektoru
Sektor 0
Sektor N
FAT 2 Je záloha FAT 1. mela by obsahovat totožná
data!
56FS FAT12, FAT16, FAT32
Lineární adresování sektoru
Sektor 0
Sektor N
Root adresár. Je první adresár na disku. Obsahuje
(odkazuje na) soubory a další adresáre. Má pevnou
velikost (FAT12 a FAT16)
57FS FAT12, FAT16, FAT32
Lineární adresování sektoru
Sektor 0
Sektor N
Zde jsou data soubory a adresáre!!!
58FAT16 - podrobneji
Jedná se o zretezené seznamy. Obsah bunky je
ukazatel na další prvek seznamu! V poslední bunce
je hodnota FFFF. Volné bunky mají hodnotu 0000.
Na první bunku ukazuje položka adresáre! První
dve bunky (0 a 1) tabulky mají speciální význam!
59FAT16 - podrobneji
Jedná se o zretezené seznamy. Obsah bunky je
ukazatel na další prvek seznamu! V poslední bunce
je hodnota FFFF. Volné bunky mají hodnotu 0000.
Na první bunku ukazuje položka adresáre! První
dve bunky (0 a 1) tabulky mají speciální význam!
60FAT16 - podrobneji
Pozor alokace místa na disku se nedeje po
sektorech ale clusterech!!!
61FS FAT
- Cluster
- Aby nebyla tabulka FAT príliš veliká, alokuje se
místo na disku nikoliv po sektorech a po tzv.
clusterech. Cluster je souvislá skupina sektoru
(1 až 64 (128 pri instalaci NT)). - Výhoda menší FAT
- Nevýhoda nevyužité místo na disku
Pocet sektoru Velikost clusteru
1 512B
2 1kB
4 2kB
8 4kB
16 8kB
32 16kB
64 32kB
(128) (64kB)
62FS FAT
- Cluster
- Aby nebyla tabulka FAT príliš veliká, alokuje se
místo na disku nikoliv po sektorech a po tzv.
clusterech. Cluster je souvislá skupina sektoru
(1 až 64 (128 pri instalaci NT)). - Výhoda menší FAT
- Nevýhoda nevyužité místo na disku
63FS FAT
- Cluster
- Aby nebyla tabulka FAT príliš veliká, alokuje se
místo na disku nikoliv po sektorech a po tzv.
clusterech. Cluster je souvislá skupina sektoru
(1 až 64 (128 pri instalaci NT)). - Výhoda menší FAT
- Nevýhoda nevyužité místo na disku
64FS FAT
- Cluster
- Aby nebyla tabulka FAT príliš veliká, alokuje se
místo na disku nikoliv po sektorech a po tzv.
clusterech. Cluster je souvislá skupina sektoru
(1 až 64 (128 pri instalaci NT)). - Výhoda menší FAT
- Nevýhoda nevyužité místo na disku
65FS FATxx
- Výhody
- Jednoduchá implementace
- Dá se v nem vyznat
- Velké množství ruzných nástroju
- Nevýhody
- Problémy s obnovou souboru
- Snadno se poškodí
- Není efektivní
- Nepodporuje advanced možnosti, napríklad kompresi
a kryptování!
66Fragmentace souboru!
Pri smazání souboru je sice ve smazané položce
adresáre docasne uchována informace o tom, kde
soubor zacíná (napríklad cluster 5), ale samotná
FAT je vynulována, a proto nevíme, že soubor
pokracuje na clusterech 3, 9 a 10!!!
Toto znemožnuje normálne obnovu fragmentovaného
souboru pri jeho smazání!Týká se MS DOS bez
doplnku!!!
67Adresár
- Položka adresáre obsahuje
- Jméno souboru nebo adresáre (83 znaky)
- Atributy
- R-pouze ke ctení
- A-Archiv bit
- S-Systémový
- H-neviditelný
- Název disku
- Adresár
- Datum a cas vytvorení
- Délku souboru v bytech
- Císlo prvního obsazeného clusteru!
68Adresár VFAT (Virtual FAT)(LFN - Windows 95, MS
DOS 7.x)
- Pro možnost dlouhých jmen souboru a adresáru
zvolil Microsoft ponekud hackerské rešení!!! - Oficiální název je VFAT (Virtual FAT)
- První položka je kompatibilní se starou
strukturou a obsahuje krátký název. - Druhá a další položka obsahují pouze dlouhý název
v UNICODE (1 znak2 bajty)
69Prehled FAT
70Boot sektor
- Je to první sektor na disku
- Respektive první sektor na partition!!!
- Obsahuje tzv. zavádecí kód loader.
- Je to program, který nacte do pameti pocítace OS
a spustí ho. - Obsahuje také data, která popisují parametry
disku BPB (Boot Parameter Block) - Osahuje napríklad pocet bajtu na sektor, pocet
sektoru na cluster, pocet tabulek FAT, pocet
položek root adresáre, velikost FAT, atd.
71(MBR) Master Boot Record and Disk Partitions
Disk je rozdelen na cásti, které se chovají jako
samostatný disk. Jejich interní struktura je
stejná jako by se jednalo o skutecný disk. Mají
tedy vlastní boot sektor, FAT atd. (pochopitelne
pokud se jedná o FAT FS). Je tedy možné jeden
fyzický disk rozdelit na nekolik logických disku,
každý z nich muže obsahovat jiný
filesystém. Rozdelení fyzického disku je uloženo
v MBR (Master Boot Record), který je fyzicky
prvním sektorem na fyzickém disku.
72Master Boot Record(MBR)
- Je to první sektor na fyzickém disku.
- Obsahuje tzv. zavádecí kód loader.
- Je to program, který nacte do pameti pocítace
boot sektor aktivní partition!!! - Obsahuje také data, která popisují rozdelení
fyzického disku na partitions - Jedná se o tabulku o 4 rádcích,
- která obsahuje
- Typ partition
- Jestli je partition aktivní
- Umístení partition na disku
73MBR
74Partition table
75Disk s jednou primární partition
76Disk s jednou primární a jednou extended partition
77Disk se dvema primárními a dvema logickými
partition
78Microsoft partition types(MS DOS)
79Microsoft partition typesWindows 95
80Microsoft partition typesWindows 95 OSR2
81Nekteré další typy partitions
Celá tabulka má 0 až 255 hodnot.Není jednotná
správa cili ruzné méne známe systémy sdílejí
stejná císla!!!
82Souborový systém NTFS
- NTFS Windows NT file system
- Souborový systém používaný ve Windows NT, 2000,
XP - Podporuje kompresi dat
- Podpora velkých svazku
- Využití velkokapacitních zarízení typu RAID
- Kryptování souboru a adresáru
- Není kompatabilní s FAT systémem
- Podpora diskových kvót
- Navržen pro rychlý prístup k souborum
83Souborový systém NTFS
Criteria NTFS5 NTFS FAT32 FAT16
Operting System Windows 2000Windows XP Windows NTWindows 2000Windows XP Windows 98Windows MEWindows 2000Windows XP DOSAll versions of Microsoft Windows
Limitations Limitations Limitations Limitations Limitations
Max Volume Size 2 TB 2 TB 2 TB 2 GB
Max Files on Volume Nearly Unlimited Nearly Unlimited Nearly Unlimited 65000
Max File Size Limit Only by Volume Size Limit Only by Volume Size 4 GB 2 GB
Max Clusters Number Nearly Unlimited Nearly Unlimited 268 435 456 65 535
Max File Name Length Up to 255 Up to 255 Up to 255 Standard - 8.3Extended - up to 255
84Souborový systém NTFS
Criteria NTFS5 NTFS FAT32 FAT16
Operting System W2k, WXP WNT, W2kWXP W98, ME, W2k, WXP DOS
File System Features File System Features File System Features File System Features File System Features
Unicode File Names Unicode Character Set Unicode Character Set System Character Set System Character Set
System Records Mirror MFT Mirror File MFT Mirror File Second Copy of FAT Second Copy of FAT
Boot Sector Location First and Last Sectors First and Last Sectors First Sector First Sector
File Attributes Standard and Custom Standard and Custom Standard Set Standard Set
Alternate Streams Yes Yes No No
Compression Yes Yes No No
Encryption Yes No No No
Object Permissions Yes Yes No No
Disk Quotas Yes No No No
Sparse Files Yes No No No
Reparse Points Yes No No No
Volume Mount Points Yes No No No
85Souborový systém NTFS
Criteria NTFS5 NTFS FAT32 FAT16
Operting System Windows 2000Windows XP Windows NTWindows 2000Windows XP Windows 98Windows MEWindows 2000Windows XP DOSAll versions of Microsoft Windows
Overall Performance Overall Performance Overall Performance Overall Performance Overall Performance
Built-In Security Yes Yes No No
Recoverability Yes Yes No No
Performance Low on small volumesHigh on Large Low on small volumes High on Large High on small volumesLow on large Highest on small volumesLow on large
Disk Space Economy Max Max Average Minimal on large volumes
Fault Tolerance Max Max Minimal Average
86KONEC