Difference between revisions of "Файлови системи"

From Ilianko
Line 18: Line 18:
 
**преместване
 
**преместване
  
== FAT16 ==
+
== FAT ==
 
 
*1-8  Име на файл
 
*9-11 Разширение
 
*12 атрибути
 
*13-22 резервирани
 
*23-24 timestamp
 
*25-26 Начало (адрес на клъстер)
 
*29-32 Големина
 
  
 
В края на всеки клъстер се записва указател за следващия.
 
В края на всеки клъстер се записва указател за следващия.

Revision as of 14:39, 12 January 2013

Файлова система

Под „файлова система” се разбира начинът на организация, съхранение и именуване на данните във външна памет и структурата на метаданните (служебната информация) за тях. Различните операционни системи осигуряват и разпознават една или повече файлови системи, например FAT, NTFS, ext2. за твърди дискове, UDF за оптични дискове и т.н., освен това чрез файловата система може да се осигурява достъп до отдалечени файлови сървъри или до виртуални файлове за обмен на потоци от данни и комуникация с периферни устройства.

Файловите системи предоставят дисковото пространство за отделните файлове на порции (allocation units), наричани още „клъстери”. Размерът на един клъстер се определя при форматирането на диска и зависи от типа на диска, размера на диска и възможностите на конкретната файлова система (от 512 байта до > 64KiB...). Клъстерът обикновено съдържа няколко физически сектора от диска. Драйверите на файловата система организират клъстерите във файлове и директории (които реално са също файлове, съдържащи списъци с файлове). Драйверите следят също така кои от клъстерите се използват в момента, кои са свободни и кои са отбелязани като повредени.

Задача. Запишете какви файлови системи се поддържат от MS Windows XP и по-новите версии?

Задача. Запишете какви файлови системи се поддържат от Линукс?

Задача. Избройте какви други файлови системи познавате.

Изисквания

  • Ефективно управление на свободното пространство
  • Каталог включващ всички файлове с цел осигуряване на бърз достъп до тях
  • Осигуряване на основни функции
    • триене
    • преименуване
    • преместване

FAT

В края на всеки клъстер се записва указател за следващия.

ext2

структура на inode

Всеки файл се представя със структура inode съдържащ:

  • типа на файла
  • права за достъп
  • собственик
  • timestamp
  • размер
  • ...
  • 15 указателя към блоковете с данни на файла
    • 12 съдържат директни пойнтера
    • 1 индеректен
    • 1 двойно индеректен
    • 1 тройно индеректен

Ако данните на файла не се поберат в 12 блока за данни, то се използва индеректен блок, в който са записани адресите на блоковете с данни за останалата част от файла. Ако и това не е достатъчно ( 4Кib cluster size/ 4 = 1024 адреса * 4КiB = 4 MiB, т.е ако файла е по-голям от 4MiB), за адресиране се използва двойно индеректен пойнтер към блоковете с данни