
- •39. Адресний простір процесу.
- •40. Керування віртуальною пам'ятю. Vmm.
- •41. Архітектура інтерфейсів (api) управління пам'ятю.
- •42. Работа програм з віртуальною пам'ятью.
- •43.Файли, що відображаються в пам'ять
- •45. Визначення вікна. Компоненти та параметри вікон.
- •46. Ієрархія вікон.
- •47. Стилі вікон.
- •48. Повідомлення та черги повідомлень.
- •49. Обмін даними між процесами.
- •50. Синхронізація потоків.
- •51 Общий план обработки исключений.
- •52 Обработчики завершения. Локальная и глобальная раскрутка.
- •53 Фильтры и обработчики исключений.
- •54 Общая структура системного реестра.
- •55 Системный реестр Windows’95 имеет следующую структуру:
- •56 Работа приложений с системным реестром.
- •57. Файлові структури.
- •58. Робота з томами та каталогами.
- •59. Синхронна робота з файлами.
- •60. Асинхронна робота з файлами.
- •61. Файлова структура ntfs
- •62Система безопасности windows nt
57. Файлові структури.
Windows 95 поддерживает работу с файловыми структурами FAT и CDFS. При этом Windows 95 работает с расширенным вариантом FAT, поддерживающим имена длиной до 255 символов. CDFS - файловая структура предназначенная для компакт-дисков.
В дополнение к этому Windows NT поддерживает работу еще с двумя файловыми структурами NTFS и HPFS.
NTFS (New Technology File System) - структура предназначенная для организации данных на жестком диске. NTFS предоставляет все возможности FAT, значительно расширяя их. Доступ к файлам в NTFS, как правило, более быстрый чем в FAT. NTFS самовосстанавливающаяся файловая система. Она устойчива к крахам приложений, системы, операций ввода-вывода и разработана таким образом, чтобы восстанавливать корректность данных без использования специальных сервисных программ проверки дисков. NTFS поддерживает разграничение доступа к файлам, имена файлов в произвольном алфавите. Подробно изучается в разделе 9.5.
HPFS (High-Performance File System) - так же организует данные на жестком диске. По сравнению с FAT она повышает производительность системы за счет использования кэширования. Поддерживается Windows в целях совместимости. По возможности рекомендуется заменять HPFS на NTFS.
58. Робота з томами та каталогами.
Для выяснения того, какие логические диски существуют в системе, используется функция
DWORD GetLogicalDrives( void )
Каждый установленный бит возвращаемого значения соответствует существующему в системе логическому устройству. Например, если в системе существуют диски A:, C: и D:, то возвращаемое функцией значение равно 13(10).
Функция
DWORD GetLogicalDrivesStrings( DWORD cchBuffer, LPTSTR lpszBuffer)
заполняет lpszBuffer информацией о корневом каталоге каждого логического диска в системе. В приведенном выше примере буфер будет заполнен символами
A:\<null>C:\<null>D:\<null><null>
параметр cchBuffer определяет длину буфера. Функция возвращает реальную длину буфера, необходимую для размещения всей информации. Если необходимая длина буфера заранее неизвестна (а она никогда заранее неизвестна), то можно воспользоваться следующим классическим приемом:
Для определения типа диска предназначена функция
UINT GetDriveType( LPTSTR lpszRootPathName )
В качестве параметра ей передается символическое имя корневого каталога (напр. A:\), а возвращаемое значение может быть одно из следующих:
Идентификатор |
Описание |
0 |
Тип устройства определить нельзя |
1 |
Корневой каталог не существует |
DRIVE_REMOVABLE |
Гибкий диск |
DRIVE_FIXED |
Жесткий диск |
DRIVE_REMOTE |
Сетевой диск |
DRIVE_CDROM |
Компакт диск |
DRIVE_RAMDISK |
RAM диск (эмулируемый в оперативной памяти) |
Для получения подробной информации о носителе используется функция GetVolumeInformation. Она заполняет параметры информацией об имени тома, названии файловой структуры, максимальной длине имени файла, дополнительных атрибутах тома, специфических для файловой структуры.
Функция GetDiskFreeSpace сообщает информацию о размерах сектора и кластера и о наличии свободных кластеров.
Функция DeviceIoControl позволяет прикладной программе обращаться напрямую к драйверу устройства и выполнять большое количество действий, среди которых: форматирование дорожек или раздела, выталкивание носителя из привода, разбивка диска на разделы и многие другие.
Для работы с каталогами и файлами, как с объектами, предназначены следующие функции:
Функция |
Выполняемое действие |
GetCurrentDirectory |
Получение текущего каталога |
SetCurrentDirectory |
Смена текущего каталога |
GetSystemtDirectory |
Получение системного каталога |
GetWindowstDirectory |
Получение основного каталога системы |
CreateDirectory |
Создание каталога |
RemoveDirectory |
Удаление каталога |
CopyFile |
Копирование файла |
MoveFile MoveFileEx |
Перемещение или переименование файла |
DeleteFile |
Удаление файла |