Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Размещение компонентов системы: Стандарт FHS

Попробуем более подробно разобраться, как устроено дерево каталогов Linux и где что в нём можно найти. Фрагмент дерева каталогов типичной файловой системы Linux (Some Linux, которую использует Мефодий) приведён на рис. dir-tree. Мефодий решил обследовать свою файловую систему, начиная с корневого каталога: Гуревич посоветовал использовать для этого команду ls каталог, где каталог — это полный путь к каталогу: утилита ls выведет список всего, что в этом каталоге содержится.

Утилита ls вывела список подкаталогов корневого каталога. Этот список будет таким же или почти таким же в любом дистрибутиве Linux. В корневом каталоге Linux-системы обычно находятся только подкаталоги со стандартными именами. Более того, не только имена, но и тип данных, которые могут попасть в тот или иной каталог, также регламентированы этим стандартом. Этот стандарт называется Filesystem Hierarchy Standard («стандартная структура файловых систем»).

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

/bin

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

/boot

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

/dev

В этом каталоге находятся все имеющиеся в системе файлы-дырки: файлы особого типа, предназначенные для обращения к различным системным ресурсам и устройствам (англ. «devices» — «устройство», отсюда и сокращённое название каталога). Например, файлы /dev/ttyN соответствуют виртуальным консолям, где N — номер виртуальной консоли. Данные, введённые пользователем на первой виртуальной консоли, система считывает из файла /dev/tty1, в этот же файл записываются данные, которые нужно вывести пользователю на эту консоль. В файлах-дырках в действительности не хранятся никакие данные, при их помощи данные передаются. Подробнее о принципе работы с файлами-дырками речь пойдёт в лекции Работа с внешними устройствами.

/etc

Каталог для системных конфигурационных файлов. Здесь хранится информация о специфических настройках данной системы: информация о зарегистрированных пользователях, доступных ресурсах, настройках различных программ. Подробно системные конфигурационные файлы будут рассмотрены в лекции Конфигурационные файлы.

/home

Здесь расположены каталоги, принадлежащие пользователям системы — домашние каталоги, отсюда и название «home». Отделение всех файлов, создаваемых пользователями, от прочих системных файлов даёт очевидное преимущество: серьёзное повреждение системы или необходимость обновления не затронет наиболее ценной информации — пользовательских файлов.

/lib

Название этого каталога — сокращение от «libraries» (англ. «библиотеки»). Библиотеки — это собрания наиболее стандартных функций, необходимых многим программам: операций ввода/вывода, рисования элементов графического интерфейса и проч. Чтобы не включать эти функции в текст каждой программы, используются стандартные функции библиотек — это значительно экономит место на диске и упрощает написание программ. В этом каталоге содержатся библиотеки, необходимые для работы наиболее важных системных утилит (размещённых в /bin и /sbin).

/mnt

Каталог для монтирования (от англ. «mount») — временного подключения файловых систем, например, на съёмных носителях (CD-ROM и др.). Подробно о монтировании файловых систем речь пойдёт в лекции Работа с внешними устройствами.

/proc

В этом каталоге все файлы «виртуальные» — они располагаются не на диске, а в оперативной памяти. В этих файлах содержится информация о программах (процессах), выполняемых в данный момент в системе.

/root

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

/sbin

Каталог для важнейших системных утилит (название каталога — сокращение от «system binaries»): в дополнение к утилитам /bin здесь находятся программы, необходимые для загрузки, резервного копирования, восстановления системы. Полномочия на исполнение этих программ есть только у системного администратора.

/tmp

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

/usr

Каталог /usr — это «государство в государстве». Здесь можно найти такие же подкаталоги bin, etc, lib, sbin, как и в корневом каталоге. Однако в корневой каталог попадают только утилиты, необходимые для загрузки и восстановления системы в аварийной ситуации,все остальные программы и данные располагаются в подкаталогах /usr. Прикладных программ в современных системах обычно установлено очень много, поэтому этот раздел файловой системы может быть очень большим.

/var

Название этого каталога — сокращение от «variable» («переменные» данные). Здесь размещаются те данные, которые создаются в процессе работы разными программами и предназначены для передачи другим программам и системам (очереди печати и электронной почты и др.) или для сведения системного администратора (системные журналы, содержащие протоколы работы системы). В отличие от каталога /tmp сюда попадают те данные, которые могут понадобиться после того, как создавшая их программа завершила работу.

Стандарт FHS регламентирует не только перечисленные каталоги, но и их подкаталоги, а иногда даже приводит список конкретных файлов, которые должны присутствовать в определённых каталогах8. Этот стандарт последовательно соблюдается во всех Linux-системах, хотя и не без горячих споров между разработчиками при выходе каждой новой его версии.

 

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

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

Файловая система связывает носитель информации с одной стороны и API для доступа к файлам — с другой.

Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, блоке флеш-памяти или другом) он записан. Всё, что знает программа - это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы.

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

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

ЗАДАЧИ:

v именование файлов;

v программный интерфейс работы с файлами для приложений;

v отображения логической модели файловой системы на физическую организацию хранилища данных;

v организация устойчивости файловой системы к сбоям питания, ошибкам аппаратных и программных средств;

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

В многопользовательских системах появляется ещё 1 задача:

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

17 Индексная файловая система. Виртуальная файловая система.

Виртуальная файловая система (virtual file system - VFS) или виртуальный коммутатор файловой системы (virtual filesystem switch) - уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентских приложений к различным типам файловых систем. VFS может быть использована, например, для прозрачного доступа к локальным и сетевым устройствам хранения данных без использования специального клиентского приложения (независимо от типа файловой системы). VFS определяет интерфейс между ядром и конкретной файловой системой, таким образом, можно легко добавлять поддержку новых типов файловых систем, внося изменения только в ядро операционной системы.

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

Одна из первых виртуальных файловых систем в Unix-подобных ОС была реализована Sun Microsystems в SunOS 2.0 в 1985 году.

Это позволило системным вызовам Unix получить прозрачный доступ к локальной UFS и удалённой NFS.

По этой причине вендоры Unix-систем, получившие лицензию на код NFS, часто копировали дизайн VFS от Sun.

Другие файловые системы могут быть подключены так же: появилась реализация файловой системы MS-DOS FAT, разработанная в Sun, использовавшая SunOS VFS, хотя она не поставлялась в качестве продукта до SunOS 4.1.

 

Индексные дескрипторы файлов

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

Индексный дескриптор файла имеет следующее строение.

Название поля Тип Описание  
1.2emi_mode USHORT Тип и права доступа к данному файлу  
i_uid USHORT Идентификатор владельца файла (Owner UID)  
i_size ULONG Размер файла в байтах  
i_atime ULONG Время последнего обращения к файлу (Access time)  
i_ctime ULONG Время создания файла  
i_mtime ULONG Время последней модификации файла  
i_dtime ULONG Время удаления файла  
i_gid USHORT Идентификатор группы (GID)  
i_links_count USHORT Счетчик числа связей (Links count)  
i_blocks ULONG Число блоков, занимаемых файлом  
i_flags ULONG Флаги файла (File flags)  
i_reserved1 ULONG Зарезервировано для ОС  
i_block ULONG[15] Указатели на блоки, в которых записаны данные файла  

 

i_version ULONG Версия файла (для NFS)  
i_file_acl ULONG ACL файла  
i_dir_acl ULONG ACL каталога  
i_faddr ULONG Адрес фрагмента (Fragment address)  
i_frag UCHAR Номер фрагмента (Fragment number)  
i_fsize UCHAR Размер фрагмента (Fragment size)  
i_pad1 USHORT Заполнение  
i_reserved2 ULONG[2] Зарезервировано  

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

Идентификатор Значение Назначение флага (поля)  
1.2emS_IFMT F000 Маска для типа файла  
S_IFSOCK A000 Доменное гнездо (socket)  
S_IFLNK C000 Символическая ссылка  
S_IFREG Обычный (regular) файл  
S_IFBLK Блок-ориентированное устройство  
S_IFDIR Каталог  
S_IFCHR Байт-ориентированное (символьное) устройство  
S_IFIFO Именованный канал (fifo)  
       
S_ISUID SUID - бит смены владельцаS_ISGID 0400 SGID - бит смены группы  
S_ISVTX Бит сохранения задачи (sticky bit)  
       
S_IRWXU 01C0 Маска прав владельца файла  
S_IRUSR Право на чтение  
S_IWUSR Право на запись  
S_IXUSR Право на выполнение  
       
S_IRWXG Маска прав группы  
S_IRGRP Право на чтение  
S_IWGRP Право на запись  
S_IXGRP Право на выполнение  
       
S_IRWXO Маска прав остальных пользователей  
S_IROTH Право на чтение  
S_IWOTH Право на запись  
S_IXOTH Право на выполнение  

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

Идентификатор Значение Описание  
1.2emEXT2_BAD_INO Индексный дескриптор, в котором перечислены адреса дефектных блоков на диске (Bad blocks inode)  
EXT2_ROOT_INO Индексный дескриптор корневого каталога файловой системы (Root inode)  
EXT2_ACL_IDX_INO ACL inode  
EXT2_ACL_DATA_INO ACL inode  
EXT2_BOOT_LOADER_INO Индексный дескриптор загрузчика (Boot loader inode)  
EXT2_UNDEL_DIR_INO Undelete directory inode  
EXT2_FIRST_INO Первый незарезервированный индексный дескриптор  

Самый важный дескриптор в этом списке - дескриптор корневого каталога. Этот дескриптор указывает на корневой каталог, который, подобно всем каталогам, состоит из записей следущей структуры:

Название поля Тип Описание  
1.2eminode ULONG номер индексного дескриптора (индекс) файла  
rec_len USHORT Длина этой записи  
name_len USHORT Длина имени файла  
name CHAR[0] Имя файла  

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

 

 

18 Стандартные каталоги в файловой системе. Сохранность и защита файлов.

Стандартные каталоги UNIX

Корневой каталог:

/bin - исполняемые файлы самых необходимых утилит, которые требуются для корректной работы ОС.

/boot - ядро ОС и карты загрузки, а также конфигурационные файлы загрузчиков.

/cdrom - сюда монтируется диск, вставленный в CD-ROM.

/dev - файлы особого типа, предназначенные для обращения к системным ресурсам и устройствам.

/etc - информация о пользователях, доступных ресурсах, настройках программ.

/home«домашние каталоги»(/home/<имя пользователя>/) пользователей, личные настройки всех приложений

/initrdinitial ram disk, стартовый виртуальный диск.

/libБиблиотеки, используемые для работы важных системных утилит.

/media - монтируются файловые системы.

/mnt -временное подключение ФС на съемных носителях (CD-диски, USB-флэшки, внешние винчестеры).

/opt -дополнительное программное обеспечение.

/proc -файлы в этом каталоге “виртуальные”. Информация о программах (процессах), выполняемых в данный момент в системе.

/rootДомашний каталог администратора.

/sbinКаталог системных утилит. Программы нужные для загрузки, восстановления системы, резервного копирования. Права на исполнение этих программ только у суперпользователя.

/srvДанные для сервисов.

/sysСредства для изменения конфигурации системы.

/tmpВременные файлы, созданные запущенными программами или процессам, очистка при загрузке системы.

/usrВсе программы.

/var - информация, созданная в процессе работы программами и необходимая для передачи другим программам и системам.

Сохранность и защита данных

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

В последнем случае ОС защищает данные от ошибочного или злонамеренного поведения пользователей системы.

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

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

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

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

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

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

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

19 Сравнение файловых систем.

Windows

NTFS

NTFS является предпочтительной файловой системой для этой версии Windows. Она имеет множество преимуществ перед более ранней системой FAT32; ниже перечислены некоторые из них.

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

FAT32

Файловая система FAT32 и редко применяемая система FAT использовались в предыдущих версиях Windows, в том числе в Windows 95, Windows 98 и Windows Millenium Edition. Файловая система FAT32 не обеспечивает уровня безопасности, предоставляемого NTFS, поэтому если на компьютере имеется раздел или том, отформатированный под FAT32, файлы на этом разделе видны любому пользователю, имеющему доступ к компьютеру. Файловая система FAT32 также имеет ограничения по размеру файлов. В этой версии Windows невозможно создать раздел FAT32 размером более 32Гб. Кроме того, раздел FAT32 не может содержать файл размером более 4Гб.

Основной причиной использования системы FAT32 может служить то, что на компьютере можно будет запустить как Windows 95, Windows 98 или Windows Millenium Edition, так и эту версию Windows (конфигурация с несколькими операционными системами). Для создания такой конфигурации необходимо установить предыдущую версию операционной системы на раздел, отформатированный под FAT32 или FAT, сделав его основным (основной раздел может содержать операционную систему).

UNIX

Ext2

Second Extended Filesystem (сокращенно звучит как ext2 или просто ext2) много лет была файловой системой GNU/Linux по умолчанию. Она заменила Extended File System (вот откуда в названии появилось «Second»). ext2 устраняет определенные проблемы и ограничения своей предшественницы.

ext2 соблюдает обычные стандарты для файловых систем UNIX®-типа. С самого начала она была предназначена для дальнейшего развития, сохраняя при этом высокую отказоустойчивость и хорошую производительность.

Ext3

Как видно из названия, Third Extended File System является наследником ext2. Она совместима с последней, но была улучшена засчет добавления журналирования.

Одним из главных недостатков «традиционных» файловых систем типа ext2 является их низкая устойчивость к внезапным падениям системы (отключение электричества или сбой программного обеспечения). Вообще говоря, при дальнейшей перезагрузке системы такие виды событий приводят к очень долгой проверке структуры файловой системы и попыткам исправить ошибки, что иногда вызывает более обширные разрушения. Это разрушение могло бы привести к частичной или полной потере данных.

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

Таким образом, ext3 предлагает технологию журналирования файловой системы, сохраняя при этом структуру ext2, обеспечивая при этом отличную совместимость. Это значительно облегчает переход с ext2 на ext3 и обратно.

ReiserFS

В отличие от ext3 reiserfs была написана с нуля. Это журналируемая файловая система типа ext3, но ее внутренняя структура радикально отличается, т.к. в ней используются идеи двоичного дерева, навеянные программным обеспеченем для баз данных.

JFS

JFS - это журналируемая файловая система, разработанная и используемая в IBM. Изначально она была собственнической и закрытой, но потом в IBM решили открыть к ней доступ для движения за свободное программное обеспечение. Ее внутренняя структура близка к структуре reiserfs.

XFS

XFS - это журналируемая файловая система, разаработанная в SGI, и также используемая в операционной системе Irix. Изначально она была собственнической и закрытой, но потом в SGI также решили открыть к ней доступ для движения за свободное программное обеспечение. Ее внутренняя структура имеет много разнообразных возможностей, таких как поддержка пропускной способности реального времени, экстенты (непрерывные области с прямым доступом, резервируемые для определенного набора данных) и кластерные файловые системы (но не в свободной версии).

 

Mac

HFS (англ. Hierarchical File System, иерархическая ФС) — файловая система, разработанная Apple Computer для компьютеров с ОС Mac OS.

HFS делит том на логические блоки по 512 байт, один или более которых составляют allocation block. HFS - файловая система с 16-битной адресацией, поэтому размер тома ограничен 65535 allocation block.

HFS использует древовидную структуру, называемую B*-дерево для хранения большей части метаданных. То есть каждый файл состоит из двух частей, так называемых, ветви ресурсов и ветви данных. Ветвь данных (data fork) - это собственно содержание файла, например, текст, изображение, видео или звук. В ветви ресурсов (resource fork) содержится различная служебная информация о файле: даты создания и редактирования, информация о программе создателе, иконка файла, а если этот файл - программа, то и используемый код.

HFS+ или Mac OS Extended - файловая система для замены ранее использующейся HFS, основной ФС на компьютерах Macintosh. С этой ФС может работать плеер iPod.

HFS+ является улучшенной версией HFS, с поддержкой файлов большого размера (32-битная адресация вместо старой 16-битной) и использует кодировку UTF-16 для имён файлов и папок. HFS+ поддерживает имена длиной до 255 символов формата UTF-16 и многопоточные файлы подобно NTFS (однако почти все программы используют только поток данных (англ. data fork) и поток с ресурсами (англ. resource fork)). HFS+ также использует 32-битную таблицу привязки файла к месту на диске (англ. allocation mapping table) вместо 16-битной в HFS. Старая адресация являлась серьёзным ограничением HFS, не позволявшим работать с томами объёмом более 65 536 блоков (по аналогии: FAT16 и FAT-32). При объёме диска в 1 ГБ размер кластера (блока) составлял 16 КБ - даже файл из 1 байта занимал все 16 КБ.

20 Модели распределения памяти. Статистические и динамические разделы. Свопинг.

Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную, физическую) и вторичную (внешнюю) память.

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

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

Алгоритмы распределения памяти

Подкачка страниц (paging; swap) - механизм виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из ОЗУ во вторичное хранилище (жёсткий диск или другой внешний накопитель, такой как флеш-память), освобождая ОЗУ для загрузки других активных фрагментов памяти.

Временно выгруженные из памяти страницы могут сохраняться на внешних запоминающих устройствах как в файле, так и в специальном разделе на жёстком диске (partition), называемые соответственно swap-файл и swap-раздел. В случае откачки страниц, соответствующих содержимому какого-либо файла (например, memory-mapped files), они могут удаляться. При запросе такой страницы она может быть считана из оригинального файла.

Когда приложение обратится к откачанной странице, произойдет исключительная ситуация PageFault. Обработчик этого события должен проверить, была ли ранее откачана запрошенная страница, и, если она есть в swap-файле, загрузить ее обратно в память.

 

Последнее изменение этой страницы: 2016-06-09

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...