Компютърна файлова система. Файлови системи

Рано или късно начинаещ компютърен потребител се сблъсква с такава концепция като файлова система (FS). По правило първото запознаване с този термин се случва при форматиране на носител за съхранение: логически устройства и свързани носители (флаш устройства, карти с памет, външен твърд диск).

Преди форматиране операционната система Windows ви подканва да изберете типа файлова система на носителя, размера на клъстера и метода на форматиране (бързо или пълно). Нека да разберем какво е файлова система и защо е необходима?

Цялата информация се записва на носителя във формуляра, който трябва да бъде разположен в определен ред, в противен случай операционната система и програмите няма да могат да работят с данните. Този ред се организира от файловата система, като се използват определени алгоритми и правила за поставяне на файлове на носителя.

Когато една програма се нуждае от файл, съхранен на диск, тя не трябва да знае как и къде се съхранява. Всичко, което се изисква от програмата, е да знае името на файла, неговия размер и атрибути, за да прехвърли тези данни във файловата система, която ще осигури достъп до желания файл. Същото се случва и при запис на данни на носител: програмата прехвърля информация за файла (име, размер, атрибути) към файловата система, която го записва според собствените си специфични правила.

За да разберете по-добре, представете си библиотекар, който дава книга на клиент въз основа на нейното заглавие. Или в обратен ред: клиентът връща прочетената книга на библиотекаря, който я прибира на склад. Не е необходимо клиентът да знае къде и как се съхранява книгата, това е задължение на служителя на заведението. Библиотекарят познава правилата на библиотечната каталогизация и според тези правила търси публикацията или я поставя обратно, т.е. изпълнява служебните си функции. В този пример библиотеката е носителят за съхранение, библиотекарят е файловата система, а клиентът е програмата.

Основни функции на файловата система

Основните функции на файловата система са:

  • поставяне и организиране на носител на данни под формата на файлове;
  • определяне на максимално поддържаното количество данни на носителя за съхранение;
  • създаване, четене и изтриване на файлове;
  • присвояване и промяна на файлови атрибути (размер, време за създаване и промяна, собственик и създател на файла, само за четене, скрит файл, временен файл, архивиран, изпълним, максимална дължина на името на файла и др.);
  • определяне на файловата структура;
  • организация на директории за логическа организация на файлове;
  • защита на файлове в случай на повреда на системата;
  • защита на файлове от неоторизиран достъп и промяна на тяхното съдържание.

Информацията, записана на твърд диск или друг носител, се поставя там на базата на клъстерна организация. Клъстерът е вид клетка с определен размер, в която се побира целият файл или част от него.

Ако файлът е с размер на клъстер, той заема само един клъстер. Ако размерът на файла надвишава размера на клетката, той се поставя в няколко клъстерни клетки. Освен това свободните клъстери може да не са разположени един до друг, а да са разпръснати по физическата повърхност на диска. Тази система ви позволява да използвате най-ефективно пространството, когато съхранявате файлове. Задачата на файловата система е да разпредели файла при запис в свободни клъстери по оптимален начин, както и да го сглоби при четене и да го даде на програмата или операционната система.

Видове файлови системи

По време на еволюцията на компютрите, носителите за съхранение и операционните системи голям брой файлови системи са идвали и изчезвали. В процеса на такъв еволюционен подбор днес се използват главно следните типове файлови системи за работа с твърди дискове и външни устройства за съхранение (флаш памети, карти с памет, външни твърди дискове, CD):

  1. FAT32
  2. ISO9660

Последните две системи са предназначени за работа с компактдискове. Файловите системи Ext3 и Ext4 работят с операционни системи, базирани на Linux. NFS Plus е файлова система за операционни системи OS X, използвани на компютри на Apple.

Най-широко използваните файлови системи са NTFS и FAT32 и това не е изненадващо, защото... те са предназначени за операционни системи Windows, които работят с по-голямата част от компютрите в света.

Сега FAT32 се заменя активно от по-модерната система NTFS поради по-голямата си надеждност в безопасността и защитата на данните. В допълнение, най-новите версии на Windows OS просто няма да позволят да бъдат инсталирани, ако дялът на твърдия диск е форматиран във FAT32. Инсталаторът ще ви помоли да форматирате дяла в NTFS.

Файловата система NTFS поддържа дискове с капацитет от стотици терабайта и размер на един файл до 16 терабайта.

Файловата система FAT32 поддържа дискове до 8 терабайта и размер на един файл до 4 GB. Най-често този FS се използва на флаш устройства и карти с памет. Външните дискове са фабрично форматирани във FAT32.

Въпреки това, ограничението за размера на файла от 4 GB вече е голям недостатък днес, защото... Поради разпространението на висококачествено видео, размерът на файла на филма ще надхвърли това ограничение и няма да е възможно да го запишете на носителя.

Дял.

Материал за прегледна лекция №33

за студенти по специалности

"Софтуер за информационни технологии"

доцент от катедра „Компютърни науки“, д.ф.н. Ливак Е.Н.

СИСТЕМИ ЗА УПРАВЛЕНИЕ НА ФАЙЛОВЕ

Основни понятия, факти

Предназначение. Характеристики на файловите системиДЕБЕЛVFATFAT 32,HPFSNTFS. Файлови системи UNIX OS (s5, ufs), Linux OS Ext2FS Системни области на диска (дял, том). Принципи на разполагане на файлове и съхранение на информация за местоположението на файлове. Организация на каталози. Ограничаване на достъпа до файлове и директории.

Умения

Използване на знания за структурата на файловата система за защита и възстановяване на компютърна информация (файлове и директории). Организиране на контрол на достъпа до файлове.

Файлови системи. Структура на файловата система

Данните на диска се съхраняват под формата на файлове. Файлът е наименована част от диск.

Системите за управление на файлове са предназначени да управляват файлове.

Възможността за работа с данни, съхранявани във файлове на логическо ниво, се осигурява от файловата система. Файловата система е тази, която определя начина, по който данните са организирани на всеки носител за съхранение.

По този начин, файлова система е набор от спецификации и съответния им софтуер, който е отговорен за създаването, унищожаването, организирането, четенето, писането, модифицирането и преместването на файлова информация, както и за контролиране на достъпа до файлове и управление на ресурсите, които се използват от файловете.

Системата за управление на файлове е основната подсистема в по-голямата част от съвременните операционни системи.

Използване на система за управление на файлове

· всички програми за обработка на системата са свързани с помощта на данни;

· решават се проблемите на централизирано разпределение на дисковото пространство и управлението на данните;

· на потребителя се предоставят възможности за извършване на операции с файлове (създаване и др.), обмен на данни между файлове и различни устройства и защита на файлове от неоторизиран достъп.

Някои операционни системи може да имат множество системи за управление на файлове, което им дава възможност да работят с множество файлови системи.

Нека се опитаме да направим разлика между файлова система и система за управление на файлове.

Терминът "файлова система" определя принципите на достъп до данни, организирани във файлове.

Срок "система за управление на файлове"се отнася до конкретна реализация на файловата система, т.е. Това е набор от софтуерни модули, които осигуряват работа с файлове в конкретна ОС.

Така че, за да работите с файлове, организирани в съответствие с някаква файлова система, трябва да се разработи подходяща система за управление на файлове за всяка операционна система. Тази UV система ще работи само на операционната система, за която е предназначена.

За фамилията Windows OS, използваните главно файлови системи са: VFAT, FAT 32, NTFS.

Нека да разгледаме структурата на тези файлови системи.

На файловата система ДЕБЕЛ Дисковото пространство на всяко логическо устройство е разделено на две области:

системна област и

· област за данни.

Системна област създаден и инициализиран по време на форматиране и впоследствие актуализиран, когато файловата структура се манипулира.

Системната област се състои от следните компоненти:

· зареждащ сектор, съдържащ зареждащия запис (зареждащ запис);

· запазени сектори (може и да не съществуват);

· таблици за разпределение на файлове (FAT, Таблица за разпределение на файлове);

· главна директория (ROOT).

Тези компоненти са разположени на диска един след друг.

Област за данни съдържа файлове и директории, подчинени на основната.

Областта с данни е разделена на така наречените клъстери. Клъстерът е един или повече съседни сектора на област с данни. От друга страна, клъстерът е минималната адресируема единица дискова памет, разпределена за файл. Тези. файл или директория заема цял брой клъстери. За да създаде и запише нов файл на диска, операционната система разпределя няколко свободни дискови клъстера за него. Тези клъстери не трябва да следват един друг. За всеки файл се съхранява списък с всички номера на клъстери, които са присвоени на този файл.

Разделянето на областта с данни на клъстери вместо използване на сектори ви позволява да:

· намаляване на размера на FAT таблицата;

· намаляване на фрагментацията на файловете;

· дължината на файловите вериги е намалена Þ ускорява достъпа до файлове.

Твърде големият размер на клъстера обаче води до неефективно използване на областта с данни, особено в случай на голям брой малки файлове (в края на краищата средно половин клъстер се губи за всеки файл).

В съвременните файлови системи (FAT 32, HPFS, NTFS) този проблем се решава чрез ограничаване на размера на клъстера (максимум 4 KB)

Картата на областта с данни е T таблица за разпределение на файлове (Таблица за разпределение на файлове - FAT) Всеки елемент от таблицата FAT (12, 16 или 32 бита) съответства на един дисков клъстер и характеризира неговото състояние: свободен, зает или лош клъстер.

· Ако клъстер е разпределен към файл (т.е. зает), тогава съответният FAT елемент съдържа номера на следващия клъстер от файла;

· последният клъстер на файла е маркиран с число в диапазона FF8h - FFFh (FFF8h - FFFFh);

· ако клъстерът е свободен, той съдържа нулевата стойност 000h (0000h);

· клъстер, който е неизползваем (неуспешен) се маркира с числото FF7h (FFF7h).

По този начин в таблицата FAT клъстерите, принадлежащи към един и същи файл, са свързани във вериги.

Таблицата за разпределение на файлове се съхранява веднага след записа за зареждане на логическия диск, точното му местоположение е описано в специално поле в сектора за зареждане.

Съхранява се в два еднообразни екземпляра, които следват един след друг. Ако първото копие на таблицата е унищожено, се използва второто.

Поради факта, че FAT се използва много интензивно по време на достъп до диска, той обикновено се зарежда в RAM (в I/O буфери или кеш) и остава там възможно най-дълго.

Основният недостатък на FAT е бавната обработка на файлове. Когато създавате файл, правилото е, че се заделя първият свободен клъстер. Това води до фрагментация на диска и сложни файлови вериги. Това води до по-бавна работа с файлове.

За да видите и редактирате FAT таблицата, можете да използвате полезностдискРедактор.

Подробна информация за самия файл се съхранява в друга структура, наречена основна директория. Всяко логическо устройство има своя собствена основна директория (ROOT).

Основна директория описва файлове и други директории. Елемент на директория е файлов дескриптор.

Всеки дескриптор на файл и директория го включва

· Име

· разширение

дата на създаване или последна модификация

· време на създаване или последна модификация

атрибути (архив, атрибут на директория, атрибут на обем, система, скрит, само за четене)

· дължина на файла (за директория - 0)

· запазено поле, което не се използва

· номер на първия клъстер във веригата от клъстери, разпределени към файл или директория; След като получи този номер, операционната система, позовавайки се на FAT таблицата, открива всички останали номера на клъстери на файла.

И така, потребителят стартира файла за изпълнение. Операционната система търси файл с желаното име, като разглежда описанията на файловете в текущата директория. Когато необходимият елемент бъде намерен в текущата директория, операционната система чете първия номер на клъстера на този файл и след това използва FAT таблицата, за да определи останалите номера на клъстерите. Данните от тези клъстери се четат в RAM, комбинирайки се в една непрекъсната секция. Операционната система прехвърля контрола върху файла и програмата започва да работи.

За да видите и редактирате главната директория ROOT, можете също да използвате полезностдискРедактор.

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

Файловата система VFAT (виртуална FAT) се появява за първи път в Windows за работни групи 3.11 и е проектирана за входно-изходни файлове в защитен режим.

Тази файлова система се използва в Windows 95.

Поддържа се и в Windows NT 4.

VFAT е родната 32-битова файлова система на Windows 95. Тя се управлява от драйвера VFAT .VXD.

VFAT използва 32-битов код за всички файлови операции и може да използва 32-битови драйвери за защитен режим.

НО записите в таблицата за разпределение на файлове остават 12- или 16-битови, така че дискът използва същата структура от данни (FAT). Тези. f формат на таблицаVFAT е същото, като FAT формат.

VFAT заедно с имената "8.3". поддържа дълги имена на файлове. (VFAT често се казва, че е FAT с поддръжка за дълги имена).

Основният недостатък на VFAT са големите загуби при клъстериране с големи размери на логическия диск и ограниченията върху размера на самия логически диск.

Файлова система ДЕБЕЛ 32

Това е нова реализация на идеята за използване на FAT таблицата.

FAT 32 е напълно самостоятелна 32-битова файлова система.

Използва се за първи път в Windows OSR 2 (OEM Service Release 2).

В момента FAT 32 се използва в Windows 98 и Windows ME.

Той съдържа многобройни подобрения и допълнения спрямо предишни реализации на FAT.

1. Използва дисковото пространство много по-ефективно поради факта, че използва по-малки клъстери (4 KB) - смята се, че спестява до 15%.

2. Има разширен запис за зареждане, който ви позволява да създавате копия на критични структури от данни Þ повишава устойчивостта на диска срещу увреждане на дисковите структури

3. Може да използва FAT резервно копие вместо стандартно.

4. Може да премества основната директория, с други думи, основната директория може да бъде на всяко място Þ премахва ограничението за размера на главната директория (512 елемента, тъй като ROOT трябваше да заема един клъстер).

5. Подобрена структура на основната директория

Появиха се допълнителни полета, например час на създаване, дата на създаване, дата на последен достъп, контролна сума

Все още има множество манипулатори за дълго име на файл.

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

HPFS (високопроизводителна файлова система) е високопроизводителна файлова система.

HPFS се появи за първи път в OS/2 1.2 и LAN Manager.

Нека изброим основните характеристики на HPFS.

· Основната разлика е основните принципи за поставяне на файлове на диск и принципите за съхраняване на информация за местоположението на файловете. Благодарение на тези принципи HPFS има висока производителност и устойчивост на грешки, е надежденфайлова система.

· Дисковото пространство в HPFS се разпределя не в клъстери (както в FAT), а блокове.В съвременната реализация размерът на блока се приема равен на един сектор, но по принцип може да бъде с различен размер. (Всъщност блокът е клъстер, само клъстерът винаги е равен на един сектор). Поставянето на файлове в такива малки блокове позволява използвайте дисковото пространство по-ефективно, тъй като режийните разходи за свободно пространство са средно само (половин сектор) 256 байта на файл. Не забравяйте, че колкото по-голям е размерът на клъстера, толкова повече дисково пространство се губи.

· HPFS системата се стреми да подреди файла в съседни блокове или, ако това не е възможно, да го постави на диска по такъв начин, че екстенти(фрагменти) от файла бяха физически възможно най-близо един до друг. Този подход е от съществено значение намалява времето за позициониране на главата за запис/четенетвърд диск и време за изчакване (закъснение между инсталирането на главата за четене/запис на желаната песен). Нека припомним, че във FAT файл първият свободен клъстер просто се разпределя.

Екстенти(extent) - файлови фрагменти, разположени в съседни сектори на диска. Файлът има поне един екстент, ако не е фрагментиран, и множество екстенти в противен случай.

· Използвани методбалансирани двоични дървета за съхраняване и търсене на информация за местоположението на файловете (директориите се съхраняват в центъра на диска, освен това се осигурява автоматично сортиране на директории), което е от съществено значение повишава продуктивността HPFS (срещу FAT).

· HPFS предоставя специални разширени файлови атрибути, които позволяват контрол на достъпа до файлове и директории.

Разширени атрибути (разширени атрибути, EAs ) ви позволяват да съхранявате допълнителна информация за файла. Например, всеки файл може да бъде свързан със своята уникална графика (икона), описание на файла, коментар, информация за собственика на файла и т.н.

C HPFS структура на дялове


В началото на дяла с инсталиран HPFS има три блок контроли:

блок за зареждане

· допълнителен блок (супер блок) и

· резервен (резервен) блок (резервен блок).

Те заемат 18 сектора.

Цялото оставащо дисково пространство в HPFS е разделено на части от съседни сектори - ивици(лента - лента, лента). Всяка лента заема 8 MB дисково пространство.

Всяка лента има своя собствена bitmap за разпределение на сектораРастерната карта показва кои сектори от дадена лента са заети и кои са свободни. Всеки сектор от лента с данни съответства на един бит в своята растерна карта. Ако бит = 1, тогава секторът е зает, ако 0, тогава е свободен.

Растерните изображения на двете ленти са разположени една до друга на диска, както и самите ленти. Тоест последователността от ивици и карти изглежда като на фиг.

Сравнете сДЕБЕЛ. Има само една „битова карта“ за целия диск (FAT таблица). И за да работите с него, трябва да преместите главите за четене/запис средно през половината диск.

Именно за да се намали времето за позициониране на главите за четене/запис на твърдия диск, в HPFS дискът е разделен на ивици.

Нека помислим контролни блокове.

Блок за зареждане (обувкаблок)

Съдържа името на тома, неговия сериен номер, блок с параметри на BIOS и програма за зареждане.

Програмата за стартиране намира файла OS 2 LDR , го чете в паметта и прехвърля контрола на тази програма за зареждане на ОС, която от своя страна зарежда OS/2 ядрото от диска в паметта - OS 2 KRNL. И вече OS 2 KRIML използване на информация от файлаКОНФИГ. SYS зарежда всички други необходими програмни модули и блокове данни в паметта.

Блокът за зареждане се намира в сектори от 0 до 15.

СуперБлокирайте(супер блок)

Съдържа

· указател към списък с растерни изображения (списък с блокове на растерни изображения). Този списък изброява всички блокове на диска, които съдържат растерни изображения, използвани за откриване на свободни сектори;

· указател към списъка с дефектни блокове (bad block list). Когато системата открие повреден блок, той се добавя към този списък и повече не се използва за съхраняване на информация;

· указател към лентата на директорията

· указател към файловия възел (F -node) на основната директория,

· дата на последното сканиране на дяла от CHKDSK;

· информация за размера на лентата (в текущата HPFS реализация - 8 MB).

Супер блок се намира в сектор 16.

Резервенблок(резервен блок)

Съдържа

· показалец към картата за спешна подмяна (карта с актуални корекции или области с актуални корекции);

· указател към списъка със свободни резервни блокове (директория аварийен списък със свободни блокове);

· редица системни флагове и дескриптори.

Този блок се намира в сектор 17 на диска.

Блокът за архивиране осигурява висока устойчивост на грешки на файловата система HPFS и ви позволява да възстановите повредени данни на диска.

Принцип на поставяне на файлове

Екстенти(extent) - файлови фрагменти, разположени в съседни сектори на диска. Файлът има поне един екстент, ако не е фрагментиран, и множество екстенти в противен случай.

За да намали времето, необходимо за позициониране на главите за четене/запис на твърд диск, HPFS системата се стреми да

1) поставете файла в съседни блокове;

2) ако това не е възможно, тогава поставете екстентите на фрагментирания файл възможно най-близо един до друг,

За да направи това, HPFS използва статистика и също така се опитва условно да резервира поне 4 килобайта пространство в края на файловете, които нарастват.

Принципи за съхраняване на информация за местоположението на файла

Всеки файл и директория на диска има своя собствена файлов възел F-възел. Това е структура, която съдържа информация за местоположението на файл и неговите разширени атрибути.

Всеки F-възел заема един сектори винаги се намира близо до неговия файл или директория (обикновено непосредствено преди файла или директорията). Обектът F-Node съдържа

· дължина,

· първите 15 знака от името на файла,

· специална сервизна информация,

· статистика за достъп до файлове,

· разширени файлови атрибути,

· списък с права за достъп (или само част от този списък, ако е много голям); Ако разширените атрибути са твърде големи за файловия възел, тогава към него се записва указател към тях.

· асоциативна информация за местоположението и подчинеността на преписката и др.

Ако файлът е съседен, тогава местоположението му на диска се описва с две 32-битови числа. Първото число е указател към първия блок на файла, а второто е дължината на екстента (броя последователни блокове, които принадлежат на файла).

Ако даден файл е фрагментиран, тогава местоположението на неговите екстенти се описва във файловия възел чрез допълнителни двойки 32-битови числа.

Един файлов възел може да съдържа информация за до осем екстента на файл. Ако даден файл има повече екстенти, тогава указател към блок за разпределение се записва в неговия файлов възел, който може да съдържа до 40 указателя към екстенти или, подобно на блок на дърво на директория, към други блокове за разпределение.

Структура и разположение на директорията

Използва се за съхраняване на директории ивица, разположена в центъра на диска.

Тази лента се нарича указателбанда.

Ако е напълно пълен, HPFS започва да поставя файлови директории в други ленти.

Поставянето на тази информационна структура в средата на диска значително намалява средното време за позициониране на главата за четене/запис.

Въпреки това значително по-голям принос за производителността на HPFS (в сравнение с поставянето на лентата на директорията в средата на логическия диск) се прави чрез използване методбалансирани двоични дървета за съхраняване и извличане на информация за местоположението на файловете.

Спомнете си това във файловата системаДЕБЕЛ директорията има линейна структура, не е подредена по специален начин, така че когато търсите файл, трябва да го прегледате последователно от самото начало.

В HPFS структурата на директорията е балансирано дърво със записи, подредени по азбучен ред.

Всеки запис, включен в дървото, съдържа

· файлови атрибути,

· указател към съответния файлов възел,

информация за часа и датата на създаване на файла, час и дата на последната актуализация и достъп,

дължина на данните, съдържащи разширени атрибути,

· брояч за достъп до файлове,

дължина на името на файла

· самото име,

· и друга информация.

Файловата система HPFS разглежда само необходимите клонове на двоичното дърво, когато търси файл в директория. Този метод е в пъти по-ефективен от последователното четене на всички записи в директория, какъвто е случаят с FAT системата.

Размерът на всеки блок по отношение на това кои директории са разпределени в текущата реализация на HPFS е 2 KB. Размерът на записа, описващ файла, зависи от размера на името на файла. Ако името е 13 байта (за формат 8.3), тогава блок от 2 KB може да съдържа до 40 файлови дескриптора. Блоковете са свързани помежду си чрез списък.

проблеми

Когато преименувате файлове, може да възникне така нареченото повторно балансиране на дървото. Създаването на файл, преименуването или изтриването му може да доведе до каскадни блокове от директории. Всъщност преименуването може да се провали поради липса на дисково пространство, дори ако самият файл не е нараснал по размер. За да избегне това бедствие, HPFS поддържа малък набор от безплатни блокове, които могат да бъдат използвани в случай на бедствие. Тази операция може да изисква разпределяне на допълнителни блокове на пълен диск. Указател към този набор от безплатни блокове се съхранява в SpareBlock.

Принципи за поставяне на файлове и директории на диска вHPFS:

· информацията за местоположението на файловете е разпръсната из целия диск, като записите за всеки конкретен файл се намират (ако е възможно) в съседни сектори и близо до данните за местоположението им;

· директориите са разположени в средата на дисковото пространство;

· Директориите се съхраняват като двоично балансирано дърво със записи, подредени по азбучен ред.

Надеждност на съхранението на данни в HPFS

Всяка файлова система трябва да има средство за коригиране на грешки, които възникват при запис на информация на диск. HPFS системата използва за това механизъм за спешна подмяна ( актуална корекция).

Ако файловата система HPFS срещне проблем при запис на данни на диска, тя показва съобщение за грешка. След това HPFS съхранява информацията, която е трябвало да бъде записана в дефектния сектор, в един от резервните сектори, запазен предварително за този случай. Списъкът със свободни резервни блокове се съхранява в HPFS резервния блок. Ако бъде открита грешка при запис на данни в нормален блок, HPFS избира един от свободните резервни блокове и съхранява данните там. След това файловата система се актуализира карта за спешна подмяна в резервното звено.

Тази карта е просто двойка двойни думи, всяка от които е 32-битов номер на сектор.

Първото число показва дефектния сектор, а второто показва сектора сред наличните резервни сектори, който е избран да го замени.

След замяната на дефектния сектор с резервен, картата за аварийна подмяна се записва на диска и на екрана се появява изскачащ прозорец, който информира потребителя, че е възникнала грешка при запис на диск. Всеки път, когато системата записва или чете дисков сектор, тя разглежда картата за възстановяване и заменя всички номера на лоши сектори с номера на резервни сектори със съответните данни.

Трябва да се отбележи, че това числово преобразуване не влияе значително върху производителността на системата, тъй като се извършва само при физически достъп до диска, а не при четене на данни от дисковия кеш.

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

Файловата система NTFS (New Technology File System) съдържа редица значителни подобрения и промени, които значително я отличават от другите файлови системи.

Имайте предвид, че с редки изключения, с С NTFS дялове може да се работи само директноWindowsН.Т.въпреки че има съответните реализации на системи за управление на файлове за четене на файлове от NTFS томове за редица операционни системи.

Въпреки това, няма пълноценни реализации за работа с NTFS извън Windows NT.

NTFS не се поддържа от широко използваните операционни системи Windows 98 и Windows Millennium Edition.

Основни функцииNT FS

· работата на големи дискове се извършва ефективно (много по-ефективно, отколкото във FAT);

· има инструменти за ограничаване на достъпа до файлове и директории Þ NTFS дяловете осигуряват локална сигурност както за файлове, така и за директории;

· въведен е механизъм за транзакции, при който дърводобивфайлови операции Þ значително повишаване на надеждността;

· премахнати са много ограничения за максималния брой дискови сектори и/или клъстери;

· името на файл в NTFS, за разлика от файловите системи FAT и HPFS, може да съдържа всякакви символи, включително пълния набор от национални азбуки, тъй като данните са представени в Unicode - 16-битово представяне, което дава 65 535 различни знака. Максималната дължина на име на файл в NTFS е 255 знака.

· NTFS също има вградени възможности за компресиране, които можете да приложите към отделни файлове, цели директории и дори томове (и впоследствие да ги отмените или присвоите, както желаете).

Структура на тома с файлова система NTFS

NTFS дял се нарича обем (том). Максималният възможен размер на тома (и размера на файла) е 16 EB (екзабайт 2**64).

Подобно на други системи, NTFS разделя дисковото пространство на тома на клъстери - блокове от данни, които се адресират като единици данни. NTFS поддържа размери на клъстери от 512 байта до 64 KB; стандартът е клъстер с размер 2 или 4 KB.

Цялото дисково пространство в NTFS е разделено на две неравни части.


Първите 12% от диска се разпределят в така наречената MFT зона - пространство, което може да бъде заето от основната услуга метафайл MFT.

Не е възможно да се записват никакви данни в тази област. MFT зоната винаги се поддържа празна - това се прави така, че MFT файлът, ако е възможно, да не се фрагментира, докато расте.

Останалите 88% от обема са обикновено пространство за съхранение на файлове.

MFT(майсторфайлмаса -обща файлова таблица) е по същество директория на всички други файлове на диска, включително самия него. Той е предназначен да определя местоположението на файловете.

MFT се състои от записи с фиксиран размер. Размерът на MFT записа (минимум 1 KB и максимум 4 KB) се определя, когато томът е форматиран.

Всеки запис съответства на файл.

Първите 16 записа са със сервизен характер и не са достъпни за операционната система - извикват се метафайлове,и първият метафайл е самият MFT.

Тези първи 16 MFT елемента са единствената част от диска, която има строго фиксирана позиция. Копие от същите тези 16 записа се съхранява в средата на тома за надеждност.

Останалите части от MFT файла могат да бъдат разположени, както всеки друг файл, на произволни места на диска.

Метафайловете имат сервизен характер – всеки от тях отговаря за някакъв аспект от работата на системата. Метафайловете се намират в основната директория на NTFS тома. Всички те започват с името символ "$", въпреки че е трудно да се получи каквато и да е информация за тях чрез стандартни средства. В табл Дадени са основните метафайлове и тяхното предназначение.

Име на метафайл

Предназначение на метафайла

$MFT

Самата главна файлова таблица

$MFTmirr

Копие на първите 16 MFT записа, поставени в средата на тома

$LogFile

Файл за поддръжка на регистриране

$ Обем

Сервизна информация - етикет на том, версия на файловата система и др.

$AttrDef

Списък на стандартните файлови атрибути на тома

Основна директория

$Bitmap

Обемна карта на свободното пространство

$Boot

Сектор за зареждане (ако дялът е стартиращ)

$квота

Файл, който записва потребителските права за използване на дисково пространство (този файл започна да работи едва в Windows 2000 с NTFS 5.0)

$ Upcase

Файл - таблица на съответствие между главни и малки букви в имената на файловете. В NTFS имената на файловете се записват Unicode (което възлиза на 65 хиляди различни символа) и търсенето на големи и малки еквиваленти в този случай е нетривиална задача

Съответният MFT запис съхранява цялата информация за файла:

· име на файл,

· размер;

· файлови атрибути;

· позиция върху диска на отделни фрагменти и др.

Ако един MFT запис не е достатъчен за информацията, тогава се използват няколко записа, а не непременно последователни.

Ако файлът не е много голям, тогава данните за файла се съхраняват директно в MFT, в пространството, оставащо от основните данни в рамките на един MFT запис.

Файл на NTFS том се идентифицира с т.нар връзка към файла(Референтен файл), който е представен като 64-битово число.

· номер на файл, който съответства на номера на записа в MFT,

· и поредни номера. Този номер се увеличава всеки път, когато дадено число в MFT се използва повторно, което позволява на файловата система NTFS да извършва вътрешни проверки на целостта.

Всеки файл в NTFS е представен от потоци(потоци), тоест няма „просто данни“ като такива, но има потоци.

Един от потоците са файловите данни.

Повечето файлови атрибути също са потоци.

Така се оказва, че файлът има само един основен обект - номерът в MFT, а всичко останало, включително потоците му, е по избор.

Този подход може да се използва ефективно - например можете да „прикачите“ друг поток към файл, като напишете всякакви данни в него.

Стандартните атрибути за файлове и директории на NTFS том имат фиксирани имена и типови кодове.

Каталогв NTFS е специален файл, който съхранява връзки към други файлове и директории.

Каталожният файл е разделен на блокове, всеки от които съдържа

· име на файл,

основни атрибути и

Основната директория на диска не се различава от обикновените директории, с изключение на специалната връзка към нея от началото на MFT метафайла.

Структурата на вътрешната директория е двоично дърво, подобно на HPFS.

Броят на файловете в главната и не-root директориите не е ограничен.

Файловата система NTFS поддържа обектния модел за защита на NT: NTFS третира директориите и файловете като отделни типове обекти и поддържа отделни (макар и припокриващи се) списъци с разрешения за всеки тип.

NTFS осигурява сигурност на ниво файл; това означава, че правата за достъп до томове, директории и файлове може да зависят от потребителския акаунт и групите, към които потребителят принадлежи. Всеки път, когато потребител осъществи достъп до обект на файлова система, неговите права за достъп се проверяват спрямо списъка с разрешения на този обект. Ако потребителят има достатъчно права, искането му се удовлетворява; в противен случай заявката се отхвърля. Този модел на сигурност се прилага както за локална потребителска регистрация на NT компютри, така и за отдалечени мрежови заявки.

Системата NTFS също има определени възможности за самовъзстановяване. NTFS поддържа различни механизми за проверка на целостта на системата, включително регистриране на транзакции, което позволява операциите за запис на файлове да бъдат възпроизвеждани срещу специален системен журнал.

При дърводобивфайлови операции, системата за управление на файлове записва промените, които се случват в специален служебен файл. В началото на операция, свързана с промяна на файловата структура, се прави съответна бележка. Ако възникне някаква грешка по време на файлови операции, споменатата маркировка за начало на операцията остава посочена като незавършена. Когато извършите проверка на целостта на файловата система след рестартиране на машината, тези чакащи операции ще бъдат отменени и файловете ще бъдат възстановени в първоначалното им състояние. Ако операцията по промяна на данните във файловете е завършена нормално, тогава в този файл за поддръжка на регистриране на услугата операцията се маркира като завършена.

Основният недостатък на файловата системаNTFS- служебните данни заемат много място (например всеки елемент от директорията заема 2 KB) - за малки дялове служебните данни могат да заемат до 25% от обема на носителя.

Þ NTFS не може да се използва за форматиране на дискети. Не трябва да го използвате за форматиране на дялове, по-малки от 100 MB.

OS файлова система UNIX

В света на UNIX има няколко различни типа файлови системи със собствена структура на външна памет. Най-известните са традиционната файлова система UNIX System V (s5) и фамилията файлова система UNIX BSD (ufs).

Помислете за s 5.

Файлът в UNIX система е колекция от символи с произволен достъп.

Файлът има структура, която му е наложена от потребителя.

Файловата система Unix е йерархична, многопотребителска файлова система.

Файловата система има дървовидна структура. Върховете (междинните възли) на дървото са директории с връзки към други директории или файлове. Листата на дървото съответстват на файлове или празни директории.

Коментирайте.Всъщност файловата система на Unix не е дървовидна. Факт е, че системата има възможност да наруши йерархията под формата на дърво, тъй като е възможно да се асоциират множество имена с едно и също файлово съдържание.

Дискова структура

Дискът е разделен на блокове. Размерът на блока с данни се определя при форматиране на файловата система с командата mkfs и може да бъде зададен на 512, 1024, 2048, 4096 или 8192 байта.

Ние броим 512 байта (размер на сектора).

Дисковото пространство е разделено на следните области (вижте фигурата):

· товарен блок;

· контролен суперблок;

· масив от i-възли;

· зона за съхранение на съдържанието (данните) на файлове;

· набор от безплатни блокове (свързани в списък);

Блок за зареждане

Суперблок

i - възел

. . .

i - възел

Коментирайте.За файловата система UFS - всичко това се повтаря за група цилиндри (с изключение на Boot блока) + отделя се специална област за описание на групата цилиндри

Блок за зареждане

Блокът се намира в блок No0. (Припомнете си, че разположението на този блок в нулев блок на системно устройство се определя от хардуера, тъй като хардуерният зареждащ механизъм винаги има достъп до нулев блок на системно устройство. Това е последният компонент на файловата система, който зависи от хардуера.)

Блокът за зареждане съдържа програма за насърчаване, която се използва за първоначално стартиране на UNIX OS. Във файловите системи S 5 всъщност се използва само блокът за стартиране на основната файлова система. В допълнителни файлови системи тази област присъства, но не се използва.

Суперблок

Той съдържа оперативна информация за състоянието на файловата система, както и данни за настройките на файловата система.

По-специално, суперблокът съдържа следната информация

· брой i-възли (индексни дескриптори);

· размер на дял???;

· списък със свободни блокове;

· списък на свободните i-възли;

· и други.

Да обърнем внимание! Свободното място на диска е свързан списък с безплатни блокове. Този списък се съхранява в суперблок.

Елементите на списъка са масиви от 50 елемента (ако блок = 512 байта, тогава елемент = 16 бита):

· елементите на масива № 1-48 съдържат номерата на свободните блокове от файловото блоково пространство от 2 до 49.

· елемент #0 съдържа указател към продължението на списъка и

· последният елемент (№ 49) съдържа указател към свободен елемент в масива.

Ако някой процес се нуждае от свободен блок, за да разшири файл, тогава системата избира елемент от масив с помощта на указател (към свободен елемент) и блокът с номер, съхранен в този елемент, се предоставя на файла. Ако файлът е намален, освободените числа се добавят към масива от свободни блокове и указателят към свободния елемент се коригира.

Тъй като размерът на масива е 50 елемента, са възможни две критични ситуации:

1. Когато освободим блокове от файлове, но те не могат да се поберат в този масив. В този случай се избира един свободен блок от файловата система и напълно попълненият масив от свободни блокове се копира в този блок, след което стойността на указателя към свободния елемент се нулира и нулевият елемент на масива, който се намира в суперблока, съдържа номера на блока, който системата е избрала за копиране на съдържанието на масива. В този момент се създава нов елемент от списъка със свободни блокове (всеки с 50 елемента).

2. Когато съдържанието на елементите на масива от свободни блокове е изчерпано (в случая нулевият елемент на масива е нула), ако този елемент не е равен на нула, това означава, че има продължение на масива. Това продължение се чете в копие на суперблока в RAM.

Безплатен списъкi-възли. Това е буфер, състоящ се от 100 елемента. Съдържа информация за 100 номера i-nodes, които са безплатни в момента.

Суперблокът винаги е в RAM

Þ всички операции (освобождаване и заемане на блокове и i-възли се извършват в RAM Þ минимизиране на обмена на дискове.

Но!Ако съдържанието на суперблока не се запише на диска и захранването е изключено, ще възникнат проблеми (несъответствие между реалното състояние на файловата система и съдържанието на суперблока). Но това вече е изискване за надеждността на системното оборудване.

Коментирайте. UFS файловите системи поддържат множество копия на суперблока (по едно копие на група цилиндри) за подобряване на стабилността.

Област на Inode

Това е масив от описания на файлове, наречени i -възли (аз-възел).(64 байта?)

Всеки индексен дескриптор (i-node) на файл съдържа:

· Тип файл (файл/директория/специален файл/fifo/сокет)

· Атрибути (права за достъп) - 10

ID на собственика на файла

· Групов идентификатор на собственика на файла

· Време за създаване на файл

Време за промяна на файла

· Час на последен достъп до файла

· Дължина на файла

· Брой връзки към даден i-node от различни директории

Файлови блок адреси

!Забележка. Тук няма име на файл

Нека да разгледаме по-отблизо как е организирано блоково адресиране, в който се намира файлът. И така, в адресното поле има номера на първите 10 блока на файла.

Ако файлът надвишава десет блока, тогава започва да работи следният механизъм: 11-ият елемент на полето съдържа номера на блока, който съдържа 128 (256) връзки към блокове от този файл. Ако файлът е още по-голям, тогава се използва 12-ият елемент от полето - той съдържа номера на блока, който съдържа 128(256) номера на блокове, където всеки блок съдържа 128(256) номера на блокове на файловата система. И ако файлът е още по-голям, тогава се използва 13-ти елемент - където дълбочината на влагане на списъка се увеличава с още един.

По този начин можем да получим файл с размер (10+128+128 2 +128 3)*512.

Това може да бъде представено по следния начин:

Адрес на 1-ви блок на файла

Адресът на втория блок на файла

Адрес на 10-ия блок на файла

Адрес на блок за индиректно адресиране (блок с 256 блокови адреса)

Адрес на втория блок за индиректно адресиране (блок с 256 адресни блока с адреси)

Адрес на 3-ти блок за индиректно адресиране (блок с адреси на блокове с адреси на блокове с адреси)

Защита на файлове

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

В Unix OS се използва потребителска йерархия на три нива:

Първото ниво са всички потребители.

Второто ниво са потребителски групи. (Всички потребители са разделени на групи.

Третото ниво е конкретен потребител (Групите се състоят от реални потребители). Поради тази тристепенна организация на потребителите, всеки файл има три атрибута:

1) Собственик на файла. Този атрибут е свързан с един конкретен потребител, който автоматично се определя от системата като собственик на файла. Можете да станете собственик по подразбиране, като създадете файл, а има и команда, която ви позволява да промените собственика на файл.

2) Защита на достъпа до файлове. Достъпът до всеки файл е ограничен до три категории:

· права на собственик (какво собственикът може да прави с този файл, в общия случай - не е задължително всичко);

· права на групата, към която принадлежи собственикът на файла. Собственикът не е включен тук (например файл може да бъде затворен за четене от собственика, но всички останали членове на групата могат свободно да четат от файла;

· всички останали потребители на системата;

За тези три категории са регламентирани три действия: четене от файл, запис във файл и изпълнение на файл (съответно в мнемониката на системата R, W, X). Всеки файл в тези три категории определя кой потребител може да чете, кой може да пише и кой може да го изпълнява като процес.

Организация на справочника

От гледна точка на ОС, директорията е обикновен файл, който съдържа данни за всички файлове, които принадлежат към директорията.

Елементът на директорията се състои от две полета:

1) номер на i-възела (пореден номер в масива от i-възли) и

2) име на файл:

Всяка директория съдържа две специални имена: ‘.’ - самата директория; ‘..’ - родителска директория.

(За основната директория родителят се отнася до същата директория.)

По принцип една директория може да съдържа множество записи, които препращат към един и същ i-възел, но директорията не може да съдържа записи с еднакви имена. Това означава, че произволен брой имена могат да бъдат свързани със съдържанието на файла. Нарича се връзване. Извиква се запис в директория, който се отнася до един файл комуникация.

Файловете съществуват независимо от записите в директория, а връзките към директория всъщност сочат към физически файлове. Файлът "изчезва", когато последната връзка, сочеща към него, бъде изтрита.

И така, за достъп до файл по име,операционна система

1. намира това име в директорията, съдържаща файла,

2. получава номера на i-възела на файла,

3. по номер намира i-node в областта на i-nodes,

4. от i-node получава адресите на блоковете, в които се намират данните на файла,

5. чете блокове от областта с данни, използвайки адреси на блокове.

Структура на дяла на диска в ВЪНШ2 FS

Цялото пространство на дяла е разделено на блокове. Един блок може да бъде с размер 1, 2 или 4 килобайта. Блокът е адресируема единица дисково пространство.

Блоковете в техния район са обединени в групи от блокове. Групи от блокове във файлова система и блокове в група са номерирани последователно, започвайки с 1. Първият блок на диска е номериран с 1 и принадлежи към група номер 1. Общият брой блокове на диск (в дисков дял) е делител на капацитета на диска, изразен в сектори. И броят на групите блокове не трябва да разделя броя на блоковете, защото последната група блокове може да не е пълна. Началото на всяка група блокове има адрес, който може да се получи като ((номер на група - 1)* (брой блокове в групата)).

Всяка група блокове има еднаква структура. Структурата му е представена в таблицата.

Първият елемент от тази структура (суперблок) е еднакъв за всички групи, а всички останали са индивидуални за всяка група. Суперблокът се съхранява в първия блок на всяка група блокове (с изключение на група 1, която има запис за зареждане в първия блок). Суперблоке началната точка на файловата система. Той е с размер 1024 байта и винаги се намира на отместване 1024 байта от началото на файловата система. Наличието на множество копия на суперблок се обяснява с изключителното значение на този елемент от файловата система. Дубликатите на Superblock се използват при възстановяване на файлова система след повреди.

Съхранената в суперблока информация се използва за организиране на достъпа до останалите данни на диска. Суперблокът определя размера на файловата система, максималния брой файлове в дяла, количеството свободно пространство и съдържа информация къде да търсите неразпределени области. Когато ОС стартира, суперблокът се чете в паметта и всички промени във файловата система първо се отразяват в копие на суперблока, намиращо се в ОС, и се записват на диска само периодично. Това подобрява производителността на системата, тъй като много потребители и процеси непрекъснато актуализират файлове. От друга страна, когато системата е изключена, суперблокът трябва да бъде записан на диск, което не позволява изключване на компютъра чрез просто изключване на захранването. В противен случай при следващото зареждане информацията, записана в суперблока, няма да съответства на реалното състояние на файловата система.

След суперблока е описание на групата от блокове (Групови дескриптори). Това описание съдържа:

Адрес на блока, съдържащ растерното изображение на блока на тази група;

Адрес на блока, съдържащ растерното изображение на inode на тази група;

Адрес на блока, съдържащ inode таблицата на тази група;

Брояч на броя на свободните блокове в тази група;

Броят на свободните inode в тази група;

Броят на inodes в дадена група, които са директории

и други данни.

Информацията, съхранена в описанието на групата, се използва за намиране на растерните карти на блока и inode, както и таблицата на inode.

Файлова системаВътр 2 се характеризира с:

  • йерархична структура,
  • координирана обработка на масиви от данни,
  • динамично файлово разширение,
  • защита на информацията във файлове,
  • третиране на периферни устройства (като терминали и лентови устройства) като файлове.

Представяне на вътрешни файлове

Всеки файл в системата Ext 2 има уникален индекс. Индексът съдържа информацията, необходима на всеки процес за достъп до файла. Процесите осъществяват достъп до файлове, като използват добре дефиниран набор от системни извиквания и идентифицират файла с низ от знаци, който действа като квалифицирано име на файл. Всяко съставно име уникално идентифицира файл, така че системното ядро ​​преобразува това име във файлов индекс.Индексът включва таблица с адреси, където се намира информацията за файла на диска. Тъй като всеки блок на диска се адресира със собствен номер, тази таблица съхранява колекция от номера на дискови блокове. За да увеличи гъвкавостта, ядрото добавя файл един блок наведнъж, позволявайки информацията за файла да бъде разпръсната из цялата файлова система. Но това оформление усложнява задачата за търсене на данни. Адресната таблица съдържа списък с номера на блокове, съдържащи информация, принадлежаща на файла.

Файлови inodes

Всеки файл на диска има съответен файлов inode, който се идентифицира по неговия сериен номер - файловия индекс. Това означава, че броят на файловете, които могат да бъдат създадени във файлова система, е ограничен от броя на inodes, който или е изрично посочен при създаването на файловата система, или се изчислява въз основа на физическия размер на дяла на диска. Inodes съществуват на диска в статична форма и ядрото ги чете в паметта, преди да работи с тях.

Inode на файла съдържа следната информация:

- Типът и правата за достъп до този файл.

Идентификатор на собственика на файла (Owner Uid).

Размер на файла в байтове.

Час на последния достъп до файла (Access time).

Време за създаване на файл.

Час на последната модификация на файла.

Време за изтриване на файл.

ID на групата (GID).

Връзките се броят.

Броят на блоковете, заети от файла.

Файлови флагове

Запазено за OS

Указатели към блокове, в които се записват файлови данни (пример за директно и непряко адресиране на фиг. 1)

Версия на файла (за NFS)

ACL файл

ACL на директория

Адрес на фрагмент

Номер на фрагмента

Размер на фрагмента

Каталози

Директориите са файлове.

Ядрото съхранява данни в директория точно както в обикновен тип файл, използвайки индексна структура и блокове с нива на пряко и индиректно адресиране. Процесите могат да четат данни от директории по същия начин, по който четат обикновени файлове, но изключителният достъп за запис до директорията е запазен от ядрото, което гарантира, че структурата на директорията е правилна.)

Когато даден процес използва файлов път, ядрото търси в директориите съответния номер на inode. След като името на файла е преобразувано в номер на inode, inode се поставя в паметта и след това се използва в следващите заявки.

Допълнителни функции на EXT2 FS

В допълнение към стандартните функции на Unix, EXT2fs предоставя някои допълнителни функции, които обикновено не се поддържат от файловите системи на Unix.

Атрибутите на файла ви позволяват да промените начина, по който ядрото реагира при работа с набори от файлове. Можете да зададете атрибути на файл или директория. Във втория случай файловете, създадени в тази директория, наследяват тези атрибути.

По време на монтирането на системата може да бъдат зададени някои функции, свързани с файловите атрибути. Опцията за монтиране позволява на администратора да избира как да се създават файловете. В специфична за BSD файлова система файловете се създават със същия групов идентификатор като родителската директория. Характеристиките на System V са малко по-сложни. Ако дадена директория има зададен бит setgid, тогава създадените файлове наследяват груповия идентификатор на тази директория, а поддиректориите наследяват груповия идентификатор и setgid бита. В противен случай файловете и директориите се създават с ID на основната група на извикващия процес.

Системата EXT2fs може да използва синхронна модификация на данни, подобна на системата BSD. Опцията за монтиране позволява на администратора да укаже, че всички данни (inodes, битови блокове, индиректни блокове и блокове на директория) се записват на диска синхронно, когато се променят. Това може да се използва за постигане на висок капацитет за запис на данни, но също така води до лоша производителност. В действителност тази функция обикновено не се използва, тъй като освен влошаване на производителността, може да доведе до загуба на потребителски данни, които не са маркирани при проверка на файловата система.

EXT2fs ви позволява да изберете размера на логическия блок, когато създавате файлова система. Може да бъде с размер 1024, 2048 или 4096 байта. Използването на по-големи блокове води до по-бързи I/O операции (тъй като се правят по-малко заявки за диск) и следователно по-малко движение на главата. От друга страна, използването на големи блокове води до загуба на дисково пространство. Обикновено последният блок на файл не се използва напълно за съхраняване на информация, така че с увеличаването на размера на блока количеството загубено дисково пространство се увеличава.

EXT2fs ви позволява да използвате ускорени символни връзки. При използване на такива връзки не се използват блокове с данни на файловата система. Името на целевия файл не се съхранява в блока с данни, а в самия inode. Тази структура ви позволява да спестите дисково пространство и да ускорите обработката на символни връзки. Разбира се, мястото, запазено за манипулатор, е ограничено, така че не всяка връзка може да бъде представена като ускорена връзка. Максималната дължина на име на файл в ускорена връзка е 60 знака. В близко бъдеще се планира да се разшири тази схема за малки файлове.

EXT2fs следи състоянието на файловата система. Ядрото използва отделно поле в суперблока, за да посочи състоянието на файловата система. Ако файловата система е монтирана в режим на четене/запис, тогава нейното състояние е зададено на „Нечисто“. Ако бъде демонтиран или монтиран отново в режим само за четене, тогава състоянието му е зададено на „Чист“. По време на зареждане на системата и проверки на състоянието на файловата система, тази информация се използва, за да се определи дали е необходима проверка на файловата система. Ядрото също поставя някои грешки в това поле. Когато ядрото открие несъответствие, файловата система се маркира като "Грешна". Инструментът за проверка на файловата система тества тази информация, за да провери системата, дори ако състоянието й действително е Чиста.

Пренебрегването на тестването на файловата система за дълго време понякога може да доведе до някои трудности, така че EXT2fs включва два метода за редовна проверка на системата. Суперблокът съдържа брояча за монтиране на системата. Този брояч се увеличава всеки път, когато системата се монтира в режим на четене/запис. Ако стойността му достигне максимума (също се съхранява в суперблока), тогава програмата за тестване на файловата система започва да го проверява, дори ако състоянието му е "Чисто". Последното време за проверка и максималния интервал между проверките също се съхраняват в суперблока. Когато се достигне максималния интервал между сканиранията, състоянието на файловата система се игнорира и сканирането започва.

Оптимизация на производителността

Системата EXT2fs съдържа много функции, които оптимизират нейната производителност, което води до повишена скорост на обмен на информация при четене и писане на файлове.

EXT2fs активно използва дисковия буфер. Когато един блок трябва да бъде прочетен, ядрото изпраща заявка за I/O операция към няколко съседни блока. По този начин ядрото се опитва да се увери, че следващият блок за четене вече е зареден в дисковия буфер. Такива операции обикновено се извършват при последователно четене на файлове.

Системата EXT2fs съдържа и голям брой оптимизации за разполагане на информация. Групите блокове се използват за групиране заедно на съответните inode и блокове с данни. Ядрото винаги се опитва да постави блоковете с данни на един файл в една и съща група, както и неговия дескриптор. Това има за цел да намали движението на главите на устройството при четене на дескриптора и съответните му блокове данни.

Когато записва данни във файл, EXT2fs предварително разпределя до 8 последователни блока, когато разпределя нов блок. Този метод ви позволява да постигнете висока производителност при голямо натоварване на системата. Това също позволява файловете да се поставят в съседни блокове, което ускорява последващото им четене.

PC файлова система

Една от основните задачи на ОС е да осигури обмен на данни между приложенията и компютърните периферни устройства. В съвременните операционни системи функциите за обмен на данни с периферни устройства се изпълняват от входно-изходни подсистеми. Подсистемата за вход/изход включва драйвери за управление на външни устройства и файлова система.

За да осигури удобство на потребителите с данни, съхранявани на дискове, операционната система заменя физическата организация на данните с логическия си модел. Логическа структура - дърво на директории, което се показва на екрана от програмата Explorer и др.

Файл– наименована област от външната памет, в която могат да се записват и четат данни. Файловете се съхраняват в енергонезависима памет, обикновено на магнитни дискове. Данните се организират във файлове с цел дългосрочно и надеждно съхранение на информация и с цел споделяне на информация. Могат да се задават атрибути за файл; в компютърните мрежи могат да се задават права за достъп.

Файловата система включва:

Колекцията от всички файлове на логически диск;

Структури от данни, които се използват за управление на файлове - таблици на свободното и използваното дисково пространство, таблици на местоположенията на файловете и др.

Системни софтуерни инструменти, които ви позволяват да извършвате операции с файлове, като създаване, изтриване, копиране, преместване, преименуване, търсене.

Всяка ОС има собствена файлова система.

Функции на файловата система:

Разпределение на дискова памет;

Наименуване на файла;

Съпоставяне на името на файла със съответния физически адрес във външна памет;

Предоставяне на достъп до данни;

Защита и възстановяване на данни;

Типове файлове

Файловите системи поддържат няколко функционално различни типове файлове, които обикновено включват:

Редовни файлове, или просто файлове, които съдържат произволна информация, която потребителят въвежда в тях или която е създадена в резултат на работа на системни или потребителски програми. Съдържанието на обикновен файл се определя от приложението, което работи с него. Обикновените файлове са разделени на два широки класа: изпълними и неизпълними. ОС трябва да може да разпознава собствения си изпълним файл.

Каталози– специален тип файлове, които съдържат системна помощна информация за набор от файлове, които се намират в тази директория (съдържа имена и информация за файловете). От гледна точка на потребителя, директориите ви позволяват да организирате съхранението на данни на диск. От гледна точка на ОС директориите се използват за управление на файлове.

Специални файловеса фиктивни файлове, които съответстват на I/O устройства и са проектирани да изпълняват I/O команди.

По правило файловата система има йерархична структура, в горната част на която има една основна директория, чието име е същото като името на логическото устройство, а нивата се създават от факта, че по-нисък ниво директория е включена в директория от по-високо ниво.

Всеки файл от всякакъв тип има свое собствено символно име, правилата за формиране на символни имена са различни във всяка операционна система. Йерархично организираните файлови системи използват три типа имена: прости или символни, пълно име или съставно име и относително.

Просто имедефинира файл в същата директория. Файловете могат да имат еднакви символни имена, ако се намират в различни директории. "Много файлове - едно просто име."

Пълно имее поредица от прости символни имена на всички директории, през които минава пътя от корена до даден файл, и самото име на файла. Напълно квалифицираното име на файл уникално идентифицира файла във файловата система. „Един файл – едно пълно име“

Родствено имефайл се дефинира чрез концепцията за текущата директория, тоест директорията, в която потребителят се намира в момента. Файловата система улавя името на текущата директория, така че след това да може да го използва като допълнение към относителното име, за да формира пълното име. Потребителят записва името на файла, започвайки от текущата директория.

Ако операционната система поддържа няколко външни устройства с памет (твърд диск, флопи устройство, CD ROM), тогава съхранението на файлове може да се организира по два начина:

1. Всяко устройство хоства автономна (собствена) файлова система, тоест файловете, разположени на това устройство, се описват от дървото на техните директории като несвързани с дървото на директориите на друго устройство;

2. Монтиране на файлови системи (UNIX OS). Потребителят има възможност да комбинира файлови системи, разположени на различни устройства, в една файлова система, която ще има едно дърво на директории.

Атрибути на файла– свойства, присвоени на файла. Основни атрибути – Само за четене, Системен, Скрит, Архив.

Файловата система на OS трябва да предостави на потребителя набор от операции за работа с файлове във формуляра системни повиквания.Този набор включва системни извиквания: създаване (създаване на файл), четене (четене), писане (запис), затваряне (затваряне) и някои други. При работа с един файл по правило не се извършва една операция, а последователност. Например, когато работите в текстов редактор. Каквато и операция да се извърши върху файл, ОС трябва да извърши редица действия, които са универсални за всички операции:

1. Използвайки символното име на файла, намерете неговите характеристики, които се съхраняват във файловата система на диска;

2. Копирайте характеристиките на файла в OP;

3. Въз основа на характеристиките на файла проверете правата за достъп за извършване на заявената операция (четене, запис, изтриване);

4. След извършване на операция с файл, изчистете областта на паметта, предназначена за временно съхранение на характеристиките на файла.

Работата с файл започва със системно извикване ОТВОРЕНО, който копира характеристиките на файла и проверява разрешенията и завършва със системно извикване БЛИЗОкоето освобождава буфера с характеристики и прави невъзможно продължаването на работата с файла без повторното му отваряне.

Файлова организация на даннитенаречено разпределение на файлове в директории, директории в логически устройства. Логическо устройство – Директория – Файл. Потребителят има възможност да получи информация за файловата организация на данните.

Наричат ​​се принципите за поставяне на файлове, директории и системна информация на конкретно устройство с външна памет Физическа организация на файловата система.

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

Всички програми и данни се съхраняват в дългосрочната (външна) памет на компютъра под формата на файлове.

Файл- това е определено количество информация (програма или данни), която има име и се съхранява в дългосрочна (външна) памет.

Име на файл.Името на файла се състои от две части, разделени с точка: действителното име на файла и разширението, което определя неговия тип (програма, данни и т.н.). Действителното име на файла се дава от потребителя, а типът на файла обикновено се задава автоматично от програмата, когато се създава (Таблица 4.2).

Различните операционни системи имат различни формати на имена на файлове. В операционната система MS-DOS самото име на файла трябва да съдържа не повече от 8 букви от латинската азбука, цифри и някои специални символи, а разширението се състои от три латински букви, например: proba.txt

В операционната система Windows името на файла може да бъде с дължина до 255 знака и можете да използвате руската азбука, например: Информационни единици.doc


Файлова система.Всеки носител за съхранение (флопи, твърд или лазерен диск) може да съхранява голям брой файлове. Редът, в който файловете се съхраняват на диска, се определя от използваната файлова система.

Всеки диск е разделен на две области: област за съхранение на файлове и директория. Директорията съдържа името на файла и указание къде започва на диска. Ако направим аналогия между диск и книга, областта за съхранение на файлове съответства на нейното съдържание, а директорията съответства на съдържанието. Освен това книгата се състои от страници, а дискът се състои от сектори.

За дискове с малък брой файлове (до няколко десетки) могат да се използват файлова система на едно ниво, когато директорията (съдържанието на диска) е линейна последователност от имена на файлове (Таблица 4.3). Такъв каталог може да се сравни със съдържанието на детска книга, което съдържа само заглавията на отделните истории.

Ако на диска се съхраняват стотици и хиляди файлове, тогава за по-лесно търсене използвайте многостепенна йерархична файлова система, който има дървовидна структура. Такава йерархична система може да се сравни например със съдържанието на даден учебник, което е йерархична система от раздели, глави, параграфи и точки.

Първоначалната главна директория съдържа поддиректории от 1-во ниво, всяка от последните може да съдържа поддиректории от 2-ро ниво и т.н. Трябва да се отбележи, че файловете могат да се съхраняват в директории на всички нива.

Например главната директория може да съдържа две поддиректории от първо ниво (Директория_1, Директория_2) и един файл (Файл_1). От своя страна в директория от 1-во ниво (Directory_1) има две поддиректории от второ ниво (Directory_1.1 и Directory_1.2) и един файл (File_1.1) - фиг. 4.21.

Файлова системае система за съхранение на файлове и организация на директории.

Нека да разгледаме йерархична файлова система, използвайки конкретен пример. Всеки диск има логическо име (A:, B: - флопи дискове, C:, D:, E: и т.н. - твърди и лазерни дискове).

Нека основната директория на устройство C: има две директории от първо ниво (ИГРИ, ТЕКСТ), а директорията ИГРИ има една директория от второ ниво (ШАХ). В същото време в директорията TEXT има файл proba.txt, а в директорията CHESS има файл chess.exe (фиг. 4.22).

Пътят до файла.Как да намеря съществуващи файлове (chess.exe, proba.txt) в дадена йерархична файлова система? За да направите това, трябва да посочите пътя до файла. Пътят до файла включва логическото име на диска, записано чрез разделителя "\", и последователност от имена на вложени директории, последната от които съдържа желания файл. Пътищата до горните файлове могат да бъдат записани по следния начин:

Понякога се извиква пътят до файла заедно с името на файла пълно име на файла.

Пример за пълно име на файл:

С \GAMES\CHESS\chess.exe

Представяне на файловата система с помощта на графичен интерфейс.Йерархичната файлова система MS-DOS, съдържаща директории и файлове, е представена в операционната система Windows чрез графичен интерфейс под формата на йерархична система от папки и документи. Папка в Windows е аналогична на директория на MS-DOS

Йерархичната структура на тези системи обаче е малко по-различна. В йерархичната файлова система MS-DOS горната част на обектната йерархия е главната директория на диска, която може да се сравни със ствола на дърво, върху което растат клони (поддиректории), а върху клоните има листа (файлове) .

В Windows в горната част на йерархията на папките е папката работен плот. Следващото ниво е представено от папки Моят компютър, КошчеИ мрежа(ако компютърът е свързан към локална мрежа) - фиг. 4.23.

2. Като изберете един от елементите на менюто Изглед (големи икони, малки икони, списък, таблица), можете да персонализирате формата за представяне на съдържанието на папката.

Папка мрежасъдържа папките на всички компютри, свързани в момента към локалната мрежа.

Папка Кошницавременно съдържа всички изтрити папки и файлове. При необходимост се отстранява и съхранява в Количкапапки и документи могат да бъдат възстановени.

3. За да изтриете файлове за постоянно, трябва да въведете командата [File-Empty Trash].

Операции с файлове.По време на работа на компютър най-често се извършват следните операции с файлове:

  • копиране (копие на файла се поставя в друга директория);
  • преместване (самият файл се премества в друга директория);
  • изтриване (записът във файла се изтрива от директорията);
  • преименуване (промяна на името на файла).

Графичният интерфейс на Windows ви позволява да извършвате операции с файлове с мишката, като използвате метода Drag&Drop (плъзгане и пускане). Има и специализирани приложения за работа с файлове, т.нар файлови мениджъри: Norton Commander, Windows Commander, Explorer и др.

В някои случаи става необходимо да се работи с интерфейса на командния ред. Windows предоставя режим за работа с интерфейса на командния ред на MS-DOS.

Интерфейс на командния ред

1. Въведете командата [Програми-MS-DOS сесия]. Ще се появи прозорецът на приложението MS-DOS сесия.

Когато бъдете подканени от системата, можете да въвеждате команди на MS-DOS от клавиатурата, включително:

  • команди за работа с файлове (copy, del, rename и др.);
  • команди за работа с директории (dir, mkdir, chdir и др.);
  • команди за работа с дискове (форматиране, дефрагментиране и др.).

2. Има десетки команди на MS-DOS и всяка команда има свой собствен формат и параметри, които са доста трудни за запомняне. За да получите помощна информация за команда, трябва да въведете клавиша /? след името на командата.

Например, за да получите помощ с командата format, в системния ред ще въведете: C:\WINDOWS>format/?


Въпроси за разглеждане

1. Кой елемент е на върха на йерархията във файловата система MS-DOS? В Windows GUI?

Практически задачи

4.11. Копирайте файлове с помощта на интерфейса на командния ред и файловия мениджър.

4.12. Вижте капацитета на дисковете на вашия компютър, както и количеството използвано и свободно пространство.

4.13. Запознайте се с формата на командата dir. Вижте основната директория на устройство C.

Файлова системае част от операционната система, чиято цел е да организира ефективна работа с данни, съхранявани във външна памет, и да предостави на потребителя удобен интерфейс при работа с такива данни. Организирането на съхранение на информация на магнитен диск не е лесно. Това изисква например добро познаване на дизайна на дисковия контролер и характеристиките на работа с неговите регистри. Директното взаимодействие с диска е прерогатив на компонент на входно-изходната система на ОС, наречен дисков драйвер. За да се освободи компютърният потребител от сложността на взаимодействието с хардуера, беше изобретен ясен, абстрактен модел на файловата система. Операциите за запис или четене на файлове са концептуално по-прости от операциите на устройства на ниско ниво.

Нека изброим основни функциифайлова система.

1. Идентификация на файла. Свързване на име на файл с пространството на външната памет, разпределено за него.

2. Разпределение на външната памет между файловете. За да работи с конкретен файл, потребителят не трябва да има информация за местоположението на този файл на външен носител за съхранение. Например, за да заредим документ в редактора от твърд диск, не е нужно да знаем от коя страна на кой магнитен диск, на кой цилиндър и в кой сектор се намира документът.

3. Осигуряване на надеждност и отказоустойчивост. Цената на информацията може да бъде в пъти по-висока от цената на един компютър.

4. Осигуряване на защита от неоторизиран достъп.

5. Осигуряване на споделен достъп до файловете, така че потребителят да не полага специални усилия за осигуряване на синхронизация на достъпа.

6. Осигуряване на висока производителност.

Понякога се казва, че файлът е наименована колекция от свързана информация, записана във вторичната памет. За повечето потребители файловата система е най-видимата част от операционната система. Той предоставя механизъм за онлайн съхранение и достъп до данни и програми за всички потребители на системата. От гледна точка на потребителя файлът е единица външна памет, т.е. данните, записани на диска, трябва да са част от някакъв файл.

37. Най-простото обемно съдържание и неговите елементи

Файловата система включва съдържаниеИ област с данни –колекция от блокове на диск, идентифицирани чрез техните номера/адреси. Пример за най-просто (абстрактно) съдържание, съдържание на том (диск, пакет от дискове), който има различни имена в различните операционни системи - VTOC - Volume Table of Content, FAT - File Allocation Table, FDT - Таблица с дефиниции на файлове и т.н. е показана на фиг. 1.

Ориз. 1. Най-простият том на съдържанието

Състои се от три зони:

· файлова област.Това е таблица, която обикновено има ограничен (в примера н=6) брой редове н(в MS-DOS, например, н=500, т.е. брой файлове не повече от 500). Брой колони М(в примера М= 5) обикновено се избира така, че 85 -95% от файловете, създадени от потребителя, да съдържат не повече от Мблокове, което зависи както от размера на блока и вида на потребителя, така и от общото ниво на развитие на информацията и софтуера. Първата колона на таблицата във всеки ред (заглавие)съдържа данни за файла, в този пример – името на файла;

· зона на преливане- допълнителна таблица с подобна структура, в която се записват номерата на блоковете на особено дълги файлове (в примера - File_l). Организирането на таблицата за разпределение под формата на файлова област и област на препълване очевидно позволява спестяване на размера на таблицата като цяло, без в същото време да ограничава вероятната дължина на файла;

· списък с безплатни блокове- необходима информация за поставяне на създадени или разширени файлове. Списъкът се създава по време на инициализацията и включва всички блокове с изключение на повредените и след това се коригира, когато файловете се създават, изтриват или модифицират;

· списък с лоши блокове.Това е таблица, създадена по време на инициализация (разделяне) на том (диск), попълвана от диагностични програми (пример за които е NDD - Norton Disk Doctor, добре познат на потребителите) и предотвратява разпространението на повредени области върху магнитен носител към файлове с данни.

Нека изброим характеристиките на ситуацията, записана на фиг. 1. в най-простата (изкуствена) файлова система.

File_l заема 6 блока, този брой е по-голям от максимума, така че адресът на блок № 6 (23) се поставя в таблицата за препълване;

File_2 заема 2 блока, което е по-малко от ограничението, така че цялата информация е концентрирана в областта на файла.

Има следните конфликтни ситуации:

· File_3 не съдържа нито един блок (следователно файлът е изтрит, но заглавният запис е запазен);

· File_4 и File_l се отнасят за блок # 3. Това е грешка, защото всеки блок трябва да бъде присвоен на един файл;

· списъкът със свободни блокове съдържа номера на блокове № 12 (маркирани като лоши) и № 13 (разпределени във File_1).

38. Логическа структура на дискови дялове на примера на IBM- и MS-съвместими файлови системи


Логически устройства D и E

Максималният брой първични дялове е 4. Активният дял е мястото, където се намира системата за зареждане на системата.

MBR- код и данни, необходими за последващото зареждане на операционната система и разположени в първите физически сектори (най-често в първия) на твърд диск или друго устройство за съхранение на информация.

Извиква се запис в разширен раздел SMBR (вторичен главен зареждащ запис)). Разликата с този запис е, че той няма буутлоудър и таблицата на дяловете се състои от два записа: първичен дял и разширен дял.

39. FAT файлова система. FAT обемна структура

40. Файлова система NTFS. NTFS структура на тома

41. Регистър на ОС Windows

42. Операционни системи от фамилията Windows NT

43. Някои архитектурни модули на Windows NT

44. Управление на твърди дискове в Windows NT

45. Проективни операционни системи, техните принципи, предимства, недостатъци

46. ​​​​Процедурни операционни системи, техните принципи, предимства, недостатъци

47. История на развитието и идеологията на изграждане на Unix OS

48. Структура на Unix OS

49. Unix потребителски интерфейси

50. Диспечериране на процеси (задачи) в Unix

51. Linux OS и нейните основни предимства

52. Внедряване на графичен режим в Linux OS

53. Основни принципи на работа в ОС Linux

54. Основни конфигурационни файлове на Linux OS

55. Работа с дискови устройства в Linux OS

56. Приложения за Linux OS