Системне програмування
Файлові системи
Приклад роботи з ФС
Завдання файлової системи
Приклад файлової таблиці (MFT)
Приклад перегляду кластерів (утиліта nfi.exe)
Різниця між файловими системами
Різниця між файловими системами
Журнальні та нежурнальні ФС
Журнальні файлові системи
Класифікація файлових систем
Історія ФС
Історія ФС
Історія ФС
Приклад порівняння ФС (на прикладі NTFS vs FAT 32)
Домашнє завдання 3.1
Домашнє завдання 3.2
Використані матеріали
Дякую за увагу!!! Зустрінемось на лекції через 2 тижні
382.00K
Category: programmingprogramming

Використання файлової системи і функцій символьного введення/виведення у сучасних операційних середовищах (Лекція № 3)

1. Системне програмування

Лекція № 3
Використання файлової системи і функцій символьного
введення/виведення у сучасних операційних
середовищах. Реєстр операційної системи Windows.
Лектор Артамонов Є.Б.

2. Файлові системи

Файлова система — спосіб організації
даних, який використовуються
операційною системою для збереження
інформації у вигляді файлів на носіях
інформації. Також цим поняттям
позначають сукупність файлів та
директорій, які розміщуються на
логічному або фізичному пристрої.

3. Приклад роботи з ФС

4. Завдання файлової системи

іменування файлів;
програмний інтерфейс роботи з файлами для
додатків;
відображення логічної моделі файлової
системи на фізичну організацію сховища
даних;
організація стійкості файлової системи до
збоїв живлення, помилкам апаратних і
програмних засобів;
зміст параметрів файлу, необхідних для
правильного його взаємодії з іншими
об'єктами системи (ядро, додатки та ін.).

5. Приклад файлової таблиці (MFT)

6. Приклад перегляду кластерів (утиліта nfi.exe)

\TMP\Nfi\exp.h
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$DATA (nonresident)
logical sectors 471790-471794 (0x732ee-0x732f2)
File 33\TMP\Nfi\h.h
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$DATA (nonresident)
logical sectors 471798-471809 (0x732f6-0x73301)

7. Різниця між файловими системами

символи-розділювачі:
- Юнікс-подібні ОС (BSD, Лінукс, MacOS X) та
AmigaOS - символ похилої риски (/), але DOS
(та його нащадок Windows) використовують
«/» для завдавання додаткових опцій у
командному рядку
- DOS (та його нащадок Windows, за винятком
китайської та корейської версій, де
розділювачем є знак запитання (?))
використовує знак зворотної похилої риски (\).
- Версії МакОС до Х використовували у якості
розділювача двокрапку;
- RISC OS — дефіс.

8. Різниця між файловими системами

чутливість до регістру:
- у Юнікс-подібних ОС у назві файлу
може використовуватись будь-який
символ за винятком похилої риски і
вони чутливі до регістру.
- назви файлів у Microsoft Windows не є
чутливими до регістру.

9. Журнальні та нежурнальні ФС

Журнальні файлові системи пишуть
інформацію двічі: спершу до журналу дій
файлової системи, потім до її належного
місця в звичайній файловій системі.
Нежурнальним файловим системам для
відновлення потрібно зробити перевірку усієї
файлової системи спеціальними програмами,
такими як fsck або scandisk.

10. Журнальні файлові системи

Mac OS X - HFS +.
FreeBSD запис транзакцій файлової системи UFS
може здійснюватися на рівні GEOM модулем gjournal.
У Linux існує декілька доступних ФС з
журналюванням:
XFS - журнальована ФС, розроблена Silicon Graphics, але зараз
випущена з відкритим вихідним кодом;
ReiserFS (Reiser4) - журнальована файлова система розроблена
спеціально для Linux;
JFS (JFS1 і JFS2) (Smart File System) - журнальована файлова
система, спочатку розроблена IBM, але зараз випущена з
відкритим вихідним кодом;
ext3fs (extended file system) - журнальоване розширення (можна
підключати та відключати (tune2fs), а також вибирати режим
журналювання) ФС ext2;
ext4fs - продовження ext3 …

11. Класифікація файлових систем

Для носіїв з довільним доступом (наприклад,
твердий диск): FAT32, HPFS, ext2 і ін.
Останнім часом поширилися журнальовані
файлові системи, такі як ext3, Reiserfs, JFS,
NTFS, XFS.
Для носіїв з послідовним доступом
(наприклад, магнітні стрічки): QIC.
Для оптичних носіїв — CD і DVD: ISO 9660,
HFS, UDF.
Віртуальні файлові системи: AEFS і ін.
Мережні файлові системи: NFS, SMBFS,
SSHFS, Gmailfs.

12. Історія ФС

DEC
DEC
ICT (later ICL)
DEC
Bell Labs
Bell Labs
Дата
представлення
1964
1968
1968
1970
1972
1979
Рідна ОС або
платформа
PDP-6 Monitor
TOPS-10
George 2
RT-11
Version 6 Unix
Version 7 Unix
GEC
1973
Core Operating System
Gary Kildall
GEC
Microsoft
Microsoft
Apple
Apple
Metacomco для
Commodore
Microsoft
IBM & Microsoft
1974
1977
1977
1983
1984
1985
CP/M
OS4000
Microsoft Disk BASIC
MS-DOS 2.0
Mac OS
Mac OS
1985
Amiga OS
1996
1988
Windows 95b
OS/2
Файлова система
Розробник
DECtape
Level-D
George 2
RT-11
V6FS
V7FS
Disk Operating System (GEC
DOS)
CP/M file system
GEC DOS extended
FAT12
FAT16
MFS
HFS
OFS[1]
FAT32
HPFS

13. Історія ФС

Файлова система
NTFS
HFS+
FFS
Amiga FFS
UFS1
UFS2
NILFS
LFS
ext2
ext3
ext4
ReiserFS
Reiser4
XFS
JFS
JFS2
Розробник
Microsoft, Gary Kimura, Tom
Miller
Apple
Kirk McKusick
Commodore
Kirk McKusick
Kirk McKusick
NTT
Margo Seltzer
Rémy Card
Stephen Tweedie
Andrew Morton
Namesys
Namesys
SGI
IBM
IBM
Дата
представлення
Рідна ОС або
платформа
1993
Windows NT
1998
1983
1987
1994
2002
2005
1993
1993
1999
2006
2001
2004
1994
1990
1999
Mac OS
4.2BSD
Amiga OS 1.3
4.4BSD
FreeBSD 5.0
GNU/Linux
Berkeley Sprite
GNU/Linux
GNU/Linux
GNU/Linux
GNU/Linux
GNU/Linux
IRIX
AIX[3]
OS/2 WSeB

14. Історія ФС

Файлова система
Be File System
AdvFS
NSS
NWFS
ODS-2
ODS-5
UDF
VxFS
Fossil
ZFS
btrfs
Розробник
Be Inc., D. Giampaolo, C.
Meurillon
DEC
Novell
Novell
DEC
DEC
ISO/ECMA/OSTA
VERITAS
Bell Labs
Sun Microsystems
Chris Mason
Дата
представлення
Рідна ОС або
платформа
1996
BeOS
1993
1998
1985
1979
2003
1995
1991
2003
2004
2007
Digital Unix
NetWare 5
NetWare 286
OpenVMS
OpenVMS 8.0
SVR4.0
Plan9 4
Solaris
GNU/Linux

15. Приклад порівняння ФС (на прикладі NTFS vs FAT 32)

NTFS.
Переваги:
Швидка швидкість доступу до
файлів малого розміру;
Розмір дискового простору на
сьогоднішній день практично не
обмежений;
Фрагментація файлів не впливає
на саму файлову систему;
Висока надійність збереження
даних і власне самої файлової
структури;
Висока продуктивність при роботі
з файлами великого розміру;
Недоліки:
Більш високі вимоги до обсягу
оперативної пам'яті в порівнянні з
FAT 32;
Робота з каталогами середніх
розмірів утруднена через їх
фрагментації;
Більш низька швидкість роботи в
порівнянні з FAT 32
FAT 32
Переваги:
Висока швидкість роботи;
Низьке вимога до обсягу оперативної
пам'яті;
Ефективна робота з файлами середніх
і малих розмірів;
Більш низький знос дисків, внаслідок
меншої кількості пересувань головок
читання / запису.
Недоліки:
Низька захист від збоїв системи;
Не ефективна робота з файлами
великих розмірів;
Обмеження за максимальним
обсягом розділу і файлу;
Зниження швидкодії при
фрагментації;
Зниження швидкодії при роботі з
каталогами, що містять велику
кількість файлів;

16. Домашнє завдання 3.1

Провести аналіз 5 сучасних ФС (перелік
систем затвердити у лектора)

17. Домашнє завдання 3.2

Провести аналіз принципів роботи з
реєстром між Windows XP, Windows 7,
Windows 10 (можливості, обмеження,
приклади)

18. Використані матеріали

http://www.ixbt.com/storage/extstorfs.shtml - загальні підходи
https://ru.wiki2.org/wiki/Список_файловы
х_систем - непоганий аналіз

19. Дякую за увагу!!! Зустрінемось на лекції через 2 тижні

Знайти лектора можна в аудиторії 5-214
або
за e-mail-ом: [email protected]
або
ICQ: 271578579
або
http://eart.ho.ua/CD_SP
English     Русский Rules