Какая модель памяти в совр ос win32

Обновлено: 07.07.2024

Класс WMI _ фисикалмемори для Win32 представляет физическое устройство памяти, расположенное в компьютерной системе и доступное операционной системе.

Следующий пример синтаксиса — упрощенный MOF-код, который включает все наследуемые свойства. Свойства перечислены в алфавитном порядке, а не в MOF.

Синтаксис

Члены

Класс Win32 _ фисикалмемори имеет следующие типы членов:

Элемент Property

Класс Win32 _ фисикалмемори имеет следующие свойства.

Атрибуты

Тип данных: UInt32

Тип доступа: только для чтения

SMBIOS-Type 17 — атрибуты. Представляет ранг.

Это значение берется из элемента Attributes структуры Memory Device в сведениях SMBIOS.

Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows server 2008 R2, Windows 7, Windows server 2008 и Windows Vista: это свойство не поддерживается до Windows Server 2016 и Windows 10.

банклабел

Тип данных: строка

Тип доступа: только для чтения

Физически помеченный банк, в котором находится память.

Это значение берется из элемента локатора банка в структуре устройств памяти в сведениях SMBIOS.

Производительность

Тип данных: UInt64

Тип доступа: только для чтения

Общая емкость физической памяти — в байтах.

Это значение берется из структуры памяти устройства в сведениях о версии SMBIOS. Для SMBIOS версии 2,1 по 2,6 значение берется из элемента size . Для SMBIOS версии 2.7 + значение берется из элемента Расширенный размер .

Дополнительные сведения об использовании значений UInt64 в скриптах см. в разделе Создание сценариев в WMI.

Caption

Тип данных: строка

Тип доступа: только для чтения

Краткое описание объекта — однострочная строка.

конфигуредклоккспид

Тип данных: UInt32

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (" | тип SMBIOS 17 | настроенная тактовая частота памяти")

Настроенная тактовая частота устройства памяти в мегагерцах (МГц) или 0, если скорость неизвестна.

Это значение берется из настроенной скорости тактовой частоты памяти в структуре устройства памяти в сведениях SMBIOS.

Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows server 2008 R2, Windows 7, Windows server 2008 и Windows Vista: это свойство не поддерживается до Windows Server 2016 и Windows 10.

конфигуредволтаже

Тип данных: UInt32

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (" | тип SMBIOS 17 | настроенное напряжение")

Настроенное напряжение для этого устройства, в милливольтах или 0, если напряжение неизвестно.

Это значение берется из настроенного элемента питания структуры устройства памяти в сведениях SMBIOS.

Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows server 2008 R2, Windows 7, Windows server 2008 и Windows Vista: это свойство не поддерживается до Windows Server 2016 и Windows 10.

CreationClassName

Тип данных: строка

Тип доступа: только для чтения

Имя первого конкретного класса, который отображается в цепочке наследования, используемой при создании экземпляра. При использовании с другими ключевыми свойствами класса свойство позволяет уникально идентифицировать все экземпляры этого класса и его подклассов.

DataWidth

Тип данных: UInt16

Тип доступа: только для чтения

Ширина данных физической памяти — в битах. Ширина данных 0 (ноль) и общая ширина 8 (восемь) означает, что память используется только для обеспечения битов исправления ошибок.

Это значение берется из элемента ширина данных структуры устройства памяти в сведениях SMBIOS.

Описание

Тип данных: строка

Тип доступа: только для чтения

DeviceLocator

Тип данных: строка

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (" | тип SMBIOS 17 | Локатор устройств")

Метка сокета или платы, в которой находится память.

Это значение берется из элемента локатора устройства в структуре памяти в сведениях SMBIOS.

формфактор

Тип данных: UInt16

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (MIF. Память DMTF, | устройство | 002,6 ")

Конструктивный фактор для микросхемы.

Это значение берется из конструктивного элемента структуры устройства памяти в сведениях SMBIOS.

хотсваппабле

Тип данных: логический

Тип доступа: только для чтения

Если значение — true, этот компонент физического носителя можно заменить физически отличающимся, но эквивалентным, пока содержащий его пакет применялся к питанию. Например, компонент вентилятора может быть рассчитан на горячую замену. Все компоненты, доступные для горячей замены, по сути являются съемными и заменяемыми.

InstallDate

Тип данных: DateTime

Тип доступа: только для чтения

Дата и время установки объекта. Для этого свойства не требуется значение, указывающее, что объект установлен.

интерлеаведатадепс

Тип данных: UInt16

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (" | глубина данных SMBIOS типа 20 с | чередованием")

16-разрядное целое число без знака, максимальное количество последовательных строк данных, доступ к которым осуществляется при одном перемещении с устройства памяти с чередованием. Если значение равно 0 (нулю), память не является чередованием.

интерлеавепоситион

Тип данных: UInt32

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (MIF. |Сопоставленные адреса памяти в формате DMTF | 001,7 ")

Расположение физической памяти в чередовании. Например, в 2:1 чередование значение "1" указывает, что память находится в "четном" положении.

Производителя

Тип данных: строка

Тип доступа: только для чтения

Имя Организации, ответственной за создание физического элемента.

Это значение берется из члена структуры памяти , предоставленной производителем , в сведениях SMBIOS.

максволтаже

Тип данных: UInt32

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (" | тип SMBIOS 17: | Максимальное напряжение")

Максимальное рабочее напряжение для этого устройства в милливольтах или 0, если напряжение неизвестно.

Это значение берется из параметра максимального напряжения в структуре устройства памяти в сведениях SMBIOS.

Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows server 2008 R2, Windows 7, Windows server 2008 и Windows Vista: это свойство не поддерживается до Windows Server 2016 и Windows 10.

меморитипе

Тип данных: UInt16

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (MIF. Память DMTF, | устройство | 002,9 ")

Тип физической памяти. Это значение CIM, сопоставленное со значением SMBIOS. Свойство смбиосмеморитипе содержит необработанный тип памяти SMBIOS.

Это значение берется из элемента типа памяти структуры устройства памяти в сведениях SMBIOS.

Неизвестно (0)

Другое (1)

DRAM (2)

Синхронная DRAM (3)

Кэш DRAM (4)

Эдо (5)

Едрам (6)

Видеопамять (7)

SRAM (8)

ОЗУ (9)

ПЗУ (10)

Flash (11)

EEPROM (12)

Фепром (13)

Епром (14)

Кдрам (15)

3DRAM (16)

SDRAM (17)

Сграм (18)

RDRAM (19)

DDR (20)

DDR2 (21)

DDR2 — может быть недоступна.

DDR2 FB-DIMM (22)

Память DDR2 (FB-DIMM) может быть недоступна.

DDR3 — может быть недоступна.

DDR4 (26)

минволтаже

Тип данных: UInt32

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (" | тип SMBIOS 20 | минимальное напряжение")

Минимальное рабочее напряжение для этого устройства в милливольтах или 0, если напряжение неизвестно.

Это значение берется из минимального напряжения , входящего в структуру устройства памяти в сведениях SMBIOS.

Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows server 2008 R2, Windows 7, Windows server 2008 и Windows Vista: это свойство не поддерживается до Windows Server 2016 и Windows 10.

Модель

Тип данных: строка

Тип доступа: только для чтения

Имя физического элемента.

Имя

Тип данных: строка

Тип доступа: только для чтения

Метка для объекта. При создании подклассов свойство может быть переопределено как ключевое свойство.

OtherIdentifyingInfo

Тип данных: строка

Тип доступа: только для чтения

Дополнительные данные, помимо сведений о тегах актива, которые можно использовать для поиска физического элемента. Одним из примеров являются данные штрих-кода, связанные с элементом, который также имеет тег актива. Если только данные штрих-кода доступны и уникальны или могут использоваться в качестве ключа элемента, это свойство имеет значение NULL , а данные штрих-кода используются в качестве ключа класса в свойстве Tag.

партнумбер

Тип данных: строка

Тип доступа: только для чтения

Номер детали, назначенный Организацией, ответственной за производство или производство физического элемента.

Это значение берется из номера части в структуре устройства памяти в сведениях SMBIOS.

поситионинров

Тип данных: UInt32

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (MIF. |Сопоставленные адреса памяти в формате DMTF | 001,6 ")

повередон

Тип данных: логический

Тип доступа: только для чтения

Значение true показывает, что физический элемент включен.

Службе

Тип данных: логический

Тип доступа: только для чтения

Если значение равно true, физический компонент является съемным (если он предназначен для извлечения и выхода из физического контейнера, в котором он обычно обнаруживается, без нарушения функции общей упаковки). Компонент по-прежнему может быть съемным, если для его удаления необходимо выключить питание. Если мощность может быть "on" и компонент удален, то элемент является съемным и может быть горячей заменой. Например, обновляемая Микросхема процессора является съемной.

Заменяемый

Тип данных: логический

Тип доступа: только для чтения

Если значение — true, этот компонент физического носителя можно заменить физически отличающимся. Например, некоторые компьютерные системы позволяют обновить основную микросхему процессора до одной из более высоких оценок. В этом случае процессор считается заменяемым. Все съемные компоненты по сути являются заменяемыми.

Номер

Тип данных: строка

Тип доступа: только для чтения

Номер, выделенный изготовителем для обнаружения физического элемента.

Это значение берется из серийного номера в структуре устройств памяти в сведениях SMBIOS.

SKU

Тип данных: строка

Тип доступа: только для чтения

Номер единицы хранения для физического элемента.

смбиосмеморитипе

Тип данных: UInt32

Тип доступа: только для чтения

Необработанный тип памяти SMBIOS. Значение свойства меморитипе является значением CIM, сопоставленным со значением SMBIOS.

Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows server 2008 R2, Windows 7, Windows server 2008 и Windows Vista: это свойство не поддерживается до Windows Server 2016 и Windows 10.

Скорость

Тип данных: UInt32

Тип доступа: только для чтения

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

Это значение берется из элемента Speed структуры памяти устройства в сведениях SMBIOS.

Состояние

Тип данных: строка

Тип доступа: только для чтения

Текущее состояние объекта. Можно определить различные операционные и неоперационные состояния. Рабочие состояния включают: "ОК", "деградация" и "пред-ошибка" (элемент, например жесткий диск с поддержкой SMART, может работать правильно, но прогнозировать сбой в ближайшем будущем). Неработающие состояния включают: "ошибка", "Запуск", "остановка" и "служба". Последняя, «служба», может применяться во время зеркального копирования диска, перезагрузки списка разрешений пользователя или другой административной работы. Не вся такая работа находится в оперативном режиме, но управляемый элемент не является ни "ОК", ни одним из других состояний.

Ошибка ("ошибка")

Пониженная работоспособность (пониженная работоспособность)

Неизвестно ("неизвестно")

Пред-ошибка ("пред Fail")

Запуск ("Запуск")

Остановка ("остановка")

Служба ("служба")

Пренапряжению ("напряжению")

Невосстановление ("невосстановление")

Нет контакта ("нет контакта")

Потеря связи ("потеря связи")

Тег

Тип данных: строка

Тип доступа: только для чтения

Уникальный идентификатор устройства физической памяти, представленный экземпляром Win32 _ фисикалмемори. Это свойство наследуется от CIM _ фисикалелемент.

Пример: "физическая память 1"

TotalWidth

Тип данных: UInt16

Тип доступа: только для чтения

Общая ширина физической памяти в битах, включая биты проверки или исправления ошибок. Если биты исправления ошибок отсутствуют, значение в этом свойстве должно соответствовать значению свойства « Ширина данных».

Это значение берется из общей ширины элемента структуры устройства памяти в сведениях SMBIOS.

типедетаил

Тип данных: UInt16

Тип доступа: только для чтения

Квалификаторы: маппингстрингс (" | тип SMBIOS 17 | сведения о типе")

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

Это значение берется из элемента сведения о типе в структуре устройства памяти в сведениях SMBIOS.

Зарезервировано (1)

Другое (2)

Неизвестно (4)

С быстрой накачки (8)

Статический столбец (16)

Псевдо-static (32)

Rambus (64)

Синхронный (128)

CMOS (256)

Эдо (512)

Окно DRAM (1024)

Кэш DRAM (2048)

Без постоянного (4096)

Version

Тип данных: строка

Тип доступа: только для чтения

Версия физического элемента.

Remarks

Класс Win32 _ фисикалмемори является производным от CIM _ фисикалмемори.

Примеры

Пример " Get-компутеринфо-запрос компьютера с локального/удаленного компьютера" (WMI) PowerShell в коллекции TechNet использует несколько вызовов оборудования и программного обеспечения, включая Win32 _ фисикалмемори, для вывода сведений о локальной или удаленной системе.

Пример серверного отчета PowerShell в коллекции TechNet использует ряд вызовов к оборудованию и программному обеспечению, включая Win32 _ фисикалмемори, для сбора сведений о сервере и публикации в документе Word.

Следующий пример кода PowerShell извлекает сведения о физической памяти локального компьютера.

Память – способность объекта обеспечивать хранение данных.
Все объекты, над которыми выполняются команды, как и сами команды, хранятся в памяти компьютера.

Расположение битов в байте

Память состоит из ячеек, в каждой из которых содержится 1 бит информации, принимающий одно из двух значений: 0 или 1. Биты обрабатывают группами фиксированного размера. Для этого группы бит могут записываться и считываться за одну базовую операцию. Группа из 8 бит называется .

Байты последовательно располагаются в памяти компьютера.

  • 1 килобайт (Кбайт) = 2 10 = 1 024 байт
  • 1 мегабайт (Мбайт) = 2 10 Кбайт = 2 20 байт = 1 048 576 байт
  • 1 гигабайт (Гбайт) = 2 10 Мбайт = 2 30 байт = 1 073 741 824 байт


Для доступа к памяти с целью записи или чтения отдельных элементов информации используются идентификаторы , определяющие их расположение в памяти. Каждому идентификатору в соответствие ставится адрес . В качестве адресов используются числа из диапазона от 0 до 2 k -1 со значением k, достаточным для адресации всей памяти компьютера.Все 2 k адресов составляют адресное пространство компьютера .

Способы адресации байтов

Обратная адресация

Существует прямой и обратный способы адресации байтов.
При обратном способе адресации байты адресуются слева направо, так что самый старший (левый) байт слова имеет наименьший адрес.

Прямая адресация


Прямым способом называется противоположная система адресации. Компиляторы высокоуровневых языков поддерживают прямой способ адресации.

Объект занимает целое слово. Поэтому для того, чтобы обратиться к нему в памяти, нужно указать адрес, по которому этот объект хранится.

Организация памяти

  • сегментированную модель
  • страничную модель
  • плоскую модель

В сегментированной модели память для программы делится на непрерывные области памяти, называемые сегментами . Программа может обращаться только к данным, которые находятся в этих сегментах.
Сегмент представляет собой независимый, поддерживаемый на аппаратном уровне блок памяти.

Каждая программа в общем случае может состоять из любого количества сегментов, но непосредственный доступ она имеет только к 3 основным сегментам и к 3 дополнительным сегментам, обслуживаемых 6 сегментными регистрами. К основным сегментам относятся:

  • Сегмент кодов ( .CODE ) – содержит машинные команды для выполнения. Обычно первая выполняемая команда находится в начале этого сегмента, и операционная система передает управление по адресу данного сегмента для выполнения программы. Регистр сегмента кодов ( CS ) адресует данный сегмент.
  • Сегмент данных ( .DATA ) – содержит определенные данные, константы и рабочие области, необходимые программе. Регистр сегмента данных ( DS ) адресует данный сегмент.
  • Сегмент стека ( .STACK ). Стек содержит адреса возврата как для программы (для возврата в операционную систему), так и для вызовов подпрограмм (для возврата в главную программу). Регистр сегмента стека ( SS ) адресует данный сегмент. Адрес текущей вершины стека задается регистрами SS:ESP .

Регистры дополнительных сегментов ( ES, FS, GS ), предназначены для специального использования.

Таким образом, для обращения к конкретному физическому адресу ОЗУ необходимо определить адрес начала сегмента и смещение внутри сегмента.
Физический адрес принято записывать парой этих значений, разделенных двоеточием

сегмент : смещение

Плоская модель памяти предполагает, что задача состоит из одного сегмента, который, в свою очередь, разбит на страницы.
Достоинства:

  • при использовании плоской модели памяти упрощается создание и операционной системы, и систем программирования;
  • уменьшаются расходы памяти на поддержку системных информационных структур.

В абсолютном большинстве современных 32(64)-разрядных операционных систем (для микропроцессоров Intel) используется плоская модель памяти.

Модели памяти

Директива .MODEL определяет модель памяти, используемую программой. После этой директивы в программе находятся директивы объявления сегментов ( .DATA, .STACK, .CODE, SEGMENT ). Синтаксис задания модели памяти

.MODEL модификатор МодельПамяти СоглашениеОВызовах

Параметр МодельПамяти является обязательным.

Основные модели памяти:

Модель памяти Адресация кода Адресация данных Операци-
онная система
Чередование кода и данных
TINY NEAR NEAR MS-DOS Допустимо
SMALL NEAR NEAR MS-DOS, Windows Нет
MEDIUM FAR NEAR MS-DOS, Windows Нет
COMPACT NEAR FAR MS-DOS, Windows Нет
LARGE FAR FAR MS-DOS, Windows Нет
HUGE FAR FAR MS-DOS, Windows Нет
FLAT NEAR NEAR Windows NT, Windows 2000, Windows XP, Windows Vista Допустимо

Модель tiny работает только в 16-разрядных приложениях MS-DOS. В этой модели все данные и код располагаются в одном физическом сегменте. Размер программного файла в этом случае не превышает 64 Кбайт.
Модель small поддерживает один сегмент кода и один сегмент данных. Данные и код при использовании этой модели адресуются как near (ближние).
Модель medium поддерживает несколько сегментов программного кода и один сегмент данных, при этом все ссылки в сегментах программного кода по умолчанию считаются дальними (far), а ссылки в сегменте данных — ближними (near).
Модель compact поддерживает несколько сегментов данных, в которых используется дальняя адресация данных (far), и один сегмент кода с ближней адресацией (near).
Модель large поддерживает несколько сегментов кода и несколько сегментов данных. По умолчанию все ссылки на код и данные считаются дальними (far).
Модель huge практически эквивалентна модели памяти large.

Особого внимания заслуживает модель памяти flat , которая используется только в 32-разрядных операционных системах. В ней данные и код размещены в одном 32-разрядном сегменте. Для использования в программе модели flat перед директивой .model flat следует разместить одну из директив:

Желательно указывать тот тип процессора, который используется в машине, хотя это не является обязательным требованием. Операционная система автоматически инициализирует сегментные регистры при загрузке программы, поэтому модифицировать их нужно только в случае если требуется смешивать в одной программе 16-разрядный и 32-разрядный код. Адресация данных и кода является ближней ( near ), при этом все адреса и указатели являются 32-разрядными.

Параметр модификатор используется для определения типов сегментов и может принимать значения use16 (сегменты выбранной модели используются как 16-битные) или use32 (сегменты выбранной модели используются как 32-битные).

Параметр СоглашениеОВызовах используется для определения способа передачи параметров при вызове процедуры из других языков, в том числе и языков высокого уровня (C++, Pascal). Параметр может принимать следующие значения:

При разработке модулей на ассемблере, которые будут применяться в программах, написанных на языках высокого уровня, обращайте внимание на то, какие соглашения о вызовах поддерживает тот или иной язык. Используются при анализе интерфейса программ на ассемблере с программами на языках высокого уровня.

Физические ограничения на объем памяти для 32-битных платформ также зависят от поддержки технологии Physical Address Extension (PAE), которая позволяет 32-битным версиям Windows использовать более 4 ГБ физической памяти.

Максимальные объемы памяти и адресного пространства

В таблице ниже приведены значения максимальных объемов памяти и адресного пространства для поддерживаемых версий Windows. Если не оговорено иное, указанные значения распространяются на все поддерживаемые версии.

  • x64 – 8 ТБ;
  • ОС на базе Intel Itanium – 7 ТБ;
  • Windows 8.1 и Windows Server 2012 R2 – 128 TB.

Windows 8.1 и Windows Server 2012 R2 – 15,5 ТБ или назначенный лимит системы, который в любом случае меньше.

Windows Server 2008 R2, Windows 7, Windows Server 2008 и Windows Vista – лимитируется объемом доступного виртуального адресного пространства для системных приложений. Начиная с Windows Vista с пакетом Service Pack 1 (SP1), объем выгружаемого стека также может лимитироваться значением ключа реестра PagedPoolLimit.

Windows Home Server и Windows Server 2003 – 530 МБ.

Windows 8.1 и Windows Server 2012 R2 – 15,5 ТБ или назначенный лимит системы, который в любом случае меньше.

Windows Server 2008 R2, Windows 7, Windows Server 2008 и Windows Vista – 128 ГБ или назначенный лимит системы, который в любом случае меньше.

Windows 8.1 и Windows Server 2012 R2 – объем RAM или 16 ТБ (заведомо меньше); объем адресного пространства лимитирован двойным объемом RAM.

Windows Vista – лимитируется только объемами виртуального адресного пространства для системных приложений и физической памяти. Начиная с Windows Vista с пакетом SP1, объем невыгружаемого стека также может лимитироваться значением ключа реестра NonPagedPoolLimit.

Windows 8.1 и Windows Server 2012 R2 – объем RAM или 16 ТБ (заведомо меньше); объем адресного пространства лимитирован двойным объемом RAM.

Windows Server 2008 R2, Windows 7 и Windows Server 2008 – 75% RAM (не более 128 ГБ).

Windows Vista – 40% RAM (не более 128 ГБ).

Windows 8.1 и Windows Server 2012 R2 – 16 ТБ.

Windows Vista – лимитируется только доступным объемом виртуального адресного пространства для системных приложений. Начиная с Windows Vista с пакетом SP1, объем виртуального адресного пространства системного кэша может также лимитироваться значением ключа реестра SystemCacheLimit.

Windows 8.1 и Windows Server 2012 R2 – 16 ТБ.

Максимальные объемы оперативной памяти для версий ОС Windows

Влияние ограничений памяти на использование видеокарт и других устройств

Для обеспечения совместимости устройств с версиями Windows, не оснащенными PAE, используемая память устройств не должна превышать 4 ГБ. То есть, если система имеет 4 ГБ RAM, избыточная память некоторых устройств или не будет использоваться, или будет переформатирована BIOS’ом. С переформатированной памятью устройств могут работать 64-битные версии Windows. 32-битные пользовательские версии Windows не поддерживают физическую память свыше 4 ГБ, поэтому они не могут обращаться к переформатированным разделам, в отличие от 32-битных серверных версий или любых 64-битных версий.

Типы файловых систем

Рядовому пользователю компьютерных электронных устройств редко, но приходится сталкиваться с таким понятием, как «выбор файловой системы». Чаще всего это происходит при необходимости форматирования внешних накопителей (флешек, microSD), установке операционных систем, восстановлении данных на проблемных носителях, в том числе жестких дисках. Пользователям Windows предлагается выбрать тип файловой системы, FAT32 или NTFS, и способ форматирования (быстрое/глубокое). Дополнительно можно установить размер кластера. При использовании ОС Linux и macOS названия файловых систем могут отличаться.

Возникает логичный вопрос: что такое файловая система и в чем ее предназначение? В данной статье дадим ответы на основные вопросы касательно наиболее распространенных ФС.

Что такое файловая система

Обычно вся информация записывается, хранится и обрабатывается на различных цифровых носителях в виде файлов. Далее, в зависимости от типа файла, кодируется в виде знакомых расширений – *exe, *doc, *pdf и т.д., происходит их открытие и обработка в соответствующем программном обеспечении. Мало кто задумывается, каким образом происходит хранение и обработка цифрового массива в целом на соответствующем носителе.

Операционная система воспринимает физический диск хранения информации как набор кластеров размером 512 байт и больше. Драйверы файловой системы организуют кластеры в файлы и каталоги, которые также являются файлами, содержащими список других файлов в этом каталоге. Эти же драйверы отслеживают, какие из кластеров в настоящее время используются, какие свободны, какие помечены как неисправные.

Запись файлов большого объема приводит к необходимости фрагментации, когда файлы не сохраняются как целые единицы, а делятся на фрагменты. Каждый фрагмент записывается в отдельные кластеры, состоящие из ячеек (размер ячейки составляет один байт). Информация о всех фрагментах, как части одного файла, хранится в файловой системе.

Файловая система связывает носитель информации (хранилище) с прикладным программным обеспечением, организуя доступ к конкретным файлам при помощи функционала взаимодействия программ A PI. Программа, при обращении к файлу, располагает данными только о его имени, размере и атрибутах. Всю остальную информацию, касающуюся типа носителя, на котором записан файл, и структуры хранения данных, она получает от драйвера файловой системы.

На физическом уровне драйверы ФС оптимизируют запись и считывание отдельных частей файлов для ускоренной обработки запросов, фрагментации и «склеивания» хранящейся в ячейках информации. Данный алгоритм получил распространение в большинстве популярных файловых систем на концептуальном уровне в виде иерархической структуры представления метаданных (B-trees). Технология снижает количество самых длительных дисковых операций – позиционирования головок при чтении произвольных блоков. Это позволяет не только ускорить обработку запросов, но и продлить срок службы HDD. В случае с твердотельными накопителями, где принцип записи, хранения и считывания информации отличается от применяемого в жестких дисках, ситуация с выбором оптимальной файловой системы имеет свои нюансы.

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

Файловая система отвечает за оптимальное логическое распределение информационных данных на конкретном физическом носителе. Драйвер ФС организует взаимодействие между хранилищем, операционной системой и прикладным программным обеспечением. Правильный выбор файловой системы для конкретных пользовательских задач влияет на скорость обработки данных, принципы распределения и другие функциональные возможности, необходимые для стабильной работы любых компьютерных систем. Иными словами, это совокупность условий и правил, определяющих способ организации файлов на носителях информации.

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

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

VDS Timeweb арендовать

Задачи файловой системы

Функционал файловой системы нацелен на решение следующих задач:

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

В многопользовательских системах реализуется задача защиты файлов от несанкционированного доступа, обеспечение совместной работы. При открытии файла одним из пользователей для других этот же файл временно будет доступен в режиме «только чтение».

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

Операционные системы и типы файловых систем

Существует три основных вида операционных систем, используемых для управления любыми информационными устройствами: Windows компании Microsoft, macOS разработки Apple и операционные системы с открытым исходным кодом на базе Linux. Все они, для взаимодействия с физическими носителями, используют различные типы файловых систем, многие из которых дружат только со «своей» операционкой. В большинстве случаев они являются предустановленными, рядовые пользователи редко создают новые дисковые разделы и еще реже задумываются об их настройках.

В случае с Windows все выглядит достаточно просто: NTFS на всех дисковых разделах и FAT32 (или NTFS) на флешках. Если установлен NAS (сервер для хранения данных на файловом уровне), и в нем используется какая-то другая файловая система, то практически никто не обращает на это внимания. К нему просто подключаются по сети и качают файлы.

На мобильных гаджетах с ОС Android чаще всего установлена ФС версии ext4 во внутренней памяти и FAT32 на карточках microSD. Владельцы продукции Apple зачастую вообще не имеют представления, какая файловая система используется на их устройствах – HFS+, HFSX, APFS, WTFS или другая. Для них существуют лишь красивые значки папок и файлов в графическом интерфейсе.

Более богатый выбор у линуксоидов. Но здесь настройка и использование определенного типа файловой системы требует хотя бы минимальных навыков программирования. Тем более, мало кто задумывается, можно ли использовать в определенной ОС «неродную» файловую систему. И зачем вообще это нужно.

Рассмотрим более подробно виды файловых систем в зависимости от их предпочтительного использования с определенной операционной системой.

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

Исходный код файловой системы, получившей название FAT, был разработан по личной договоренности владельца Microsoft Билла Гейтса с первым наемным сотрудником компании Марком Макдональдом в 1977 году. Основной задачей FAT была работа с данными в операционной системе Microsoft 8080/Z80 на базе платформы MDOS/MIDAS. Файловая система FAT претерпела несколько модификаций – FAT12, FAT16 и, наконец, FAT32, которая используется сейчас в большинстве внешних накопителей. Основным отличием каждой версии является преодоление ограниченного объема доступной для хранения информации. В дальнейшем были разработаны еще две более совершенные системы обработки и хранения данных – NTFS и ReFS.

FAT (таблица распределения файлов)

Числа в FAT12, FAT16 и FAT32 обозначают количество бит, используемых для перечисления блока файловой системы. FAT32 является фактическим стандартом и устанавливается на большинстве видов сменных носителей по умолчанию. Одной из особенностей этой версии ФС является возможность применения не только на современных моделях компьютеров, но и в устаревших устройствах и консолях, снабженных разъемом USB.

Пространство FAT32 логически разделено на три сопредельные области:

  • зарезервированный сектор для служебных структур;
  • табличная форма указателей;
  • непосредственная зона записи содержимого файлов.

К недостатком стандарта FAT32 относится ограничение размера файлов на диске до 4 Гб и всего раздела в пределах 8 Тб. По этой причине данная файловая система чаще всего используется в USB-накопителях и других внешних носителях информации. Для установки последней версии ОС Microsoft Windows 10 на внутреннем носителе потребуется более продвинутая файловая система.

С целью устранения ограничений, присущих FAT32, корпорация Microsoft разработала обновленную версию файловой системы exFAT (расширенная таблица размещения файлов). Новая ФС очень схожа со своим предшественником, но позволяет пользователям хранить файлы намного большего размера, чем четыре гигабайта. В exFAT значительно снижено число перезаписей секторов, ответственных за непосредственное хранение информации. Функция очень важна для твердотельных накопителей ввиду необратимого изнашивания ячеек после определенного количества операций записи. Продукт exFAT совместим с операционными системами Mac, Android и Windows. Для Linux понадобится вспомогательное программное обеспечение.

NTFS (файловая система новой технологии)

Стандарт NTFS разработан с целью устранения недостатков, присущих более ранним версиям ФС. Впервые он был реализован в Windows NT в 1995 году, и в настоящее время является основной файловой системой для Windows. Система NTFS расширила допустимый предел размера файлов до шестнадцати гигабайт, поддерживает разделы диска до 16 Эб (эксабайт, 10 18 байт ). Использование системы шифрования Encryption File System (метод «прозрачного шифрования») осуществляет разграничение доступа к данным для различных пользователей, предотвращает несанкционированный доступ к содержимому файла. Файловая система позволяет использовать расширенные имена файлов, включая поддержку многоязычности в стандарте юникода UTF, в том числе в формате кириллицы. Встроенное приложение проверки жесткого диска или внешнего накопителя на ошибки файловой системы chkdsk повышает надежность работы харда, но отрицательно влияет на производительность.

ReFS (Resilient File System)

Последняя разработка Microsoft, доступная для серверов Windows 8 и 10. Архитектура файловой системы в основном организована в виде B + -tree. Файловая система ReFS обладает высокой отказоустойчивостью благодаря реализации новых функций:

  • Copy-on-Write (CoW) – никакие метаданные не изменяются без копирования;
  • данные записываются на новое дисковое пространство, а не поверх существующих файлов;
  • при модификации метаданных новая копия хранится в свободном дисковом пространстве, затем система создает ссылку из старых метаданных на новую версию.

Все это позволяет повысить надежность хранения файлов, обеспечивает быстрое и легкое восстановление данных.

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

Для операционной системы macOS компания Apple использует собственные разработки файловых систем:

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

  1. HFS+, которая является усовершенствованной версией HFS, ранее применяемой на компьютерах Macintosh, и ее более соверешенный аналог APFS. Стандарт HFS+ используется во всех устройствах под управлением продуктов Apple, включая компьютеры Mac, iPod, а также Apple X Server.
  2. Кластерная файловая система Apple Xsan, созданная из файловых систем StorNext и CentraVision, используется в расширенных серверных продуктах. Эта файловая система хранит файлы и папки, информацию Finder о просмотре каталогов, положениях окна и т.д.

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

В отличие от ОС Windows и macOS, ограничивающих выбор файловой системы предустановленными вариантами, Linux предоставляет возможность использования нескольких ФС, каждая из которых оптимизирована для решения определенных задач. Файловые системы в Linux используются не только для работы с файлами на диске, но и для хранения данных в оперативной памяти или доступа к конфигурации ядра во время работы системы. Все они включены в ядро и могут использоваться в качестве корневой файловой системы.

Файловая система Линукс

Основные файловые системы, используемые в дистрибутивах Linux:

Ext2, Ext3, Ext4 или Extended Filesystem – стандартная файловая система, первоначально разработанная еще для Minix. Содержит максимальное количество функций и является наиболее стабильной в связи с редкими изменениями кодовой базы. Начиная с ext3 в системе используется функция журналирования. Сегодня версия ext4 присутствует во всех дистрибутивах Linux.

JFS или Journaled File System разработана в IBM в качестве альтернативы для файловых систем ext. Сейчас она используется там, где необходима высокая стабильность и минимальное потребление ресурсов (в первую очередь в многопроцессорных компьютерах). В журнале хранятся только метаданные, что позволяет восстанавливать старые версии файлов после сбоев.

ReiserFS также разработана в качестве альтернативы ext3, поддерживает только Linux. Динамический размер блока позволяет упаковывать несколько небольших файлов в один блок, что предотвращает фрагментацию и улучшает работу с небольшими файлами. Недостатком является риск потери данных при отключении энергии.

XFS рассчитана на файлы большого размера, поддерживает диски до 2 терабайт. Преимуществом системы является высокая скорость работы с большими файлами, отложенное выделение места, увеличение разделов на лету, незначительный размер служебной информации. К недостаткам относится невозможность уменьшения размера, сложность восстановления данных и риск потери файлов при аварийном отключении питания.

Btrfs или B-Tree File System легко администрируется, обладает высокой отказоустойчивостью и производительностью. Используется как файловая система по умолчанию в OpenSUSE и SUSE Linux.

Другие ФС, такие как NTFS, FAT, HFS, могут использоваться в Linux, но корневая файловая система на них не устанавливается, поскольку они для этого не предназначены.

Дополнительные файловые системы

В операционных системах семейства Unix BSD (созданы на базе Linux) и Sun Solaris чаще всего используются различные версии ФС UFS (Unix File System), известной также под названием FFS (Fast File System). В современных компьютерных технологиях данные файловые системы могут быть заменены на альтернативные: ZFS для Solaris, JFS и ее производные для Unix.

Кластерные файловые системы включают поддержку распределенных хранилищ, расширяемость и модульность. К ним относятся:

  • ZFS – «Zettabyte File System» разработана для распределенных хранилищ Sun Solaris OS;
  • Apple Xsan – эволюция компании Apple в CentraVision и более поздних разработках StorNext;
  • VMFS (Файловая система виртуальных машин) разработана компанией VMware для VMware ESX Server;
  • GFS – Red Hat Linux именуется как «глобальная файловая система» для Linux;
  • JFS1 – оригинальный (устаревший) дизайн файловой системы IBM JFS, используемой в старых системах хранения AIX.

Практический пример использования файловых систем

Владельцы мобильных гаджетов для хранения большого объема информации используют дополнительные твердотельные накопители microSD (HC), по умолчанию отформатированные в стандарте FAT32. Это является основным препятствием для установки на них приложений и переноса данных из внутренней памяти. Чтобы решить эту проблему, необходимо создать на карточке раздел с ext3 или ext4. На него можно перенести все файловые атрибуты (включая владельца и права доступа), чтобы любое приложение могло работать так, словно запустилось из внутренней памяти.

Операционная система Windows не умеет делать на флешках больше одного раздела. С этой задачей легко справится Linux, который можно запустить, например, в виртуальной среде. Второй вариант - использование специальной утилиты для работы с логической разметкой, такой как MiniTool Partition Wizard Free . Обнаружив на карточке дополнительный первичный раздел с ext3/ext4, приложение Андроид Link2SD и аналогичные ему предложат куда больше вариантов.

Файловая система для microSD

Флешки и карты памяти быстро умирают как раз из-за того, что любое изменение в FAT32 вызывает перезапись одних и тех же секторов. Гораздо лучше использовать на флеш-картах NTFS с ее устойчивой к сбоям таблицей $MFT. Небольшие файлы могут храниться прямо в главной файловой таблице, а расширения и копии записываются в разные области флеш-памяти. Благодаря индексации на NTFS поиск выполняется быстрее. Аналогичных примеров оптимизации работы с различными накопителями за счет правильного использования возможностей файловых систем существует множество.

Надеюсь, краткий обзор основных ФС поможет решить практические задачи в части правильного выбора и настройки ваших компьютерных устройств в повседневной практике.

Читайте также: