русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Множественные потоки данных


Дата добавления: 2013-12-23; просмотров: 809; Нарушение авторских прав


Шифрование

Сжатие

Любой файл или каталог в индивидуальном порядке может хранится на диске в сжатом виде - этот процесс совершенно прозрачен для приложений. Сжатие файлов имеет очень высокую скорость и только одно большое отрицательное свойство - повышенная фрагментация сжатых файлов. Сжатие осуществляется блоками по 16 кластеров

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

С Windows Vista появилась технология BitLocker, которая позволяет защищать данные путём полного шифрования диска(ов) (в терминологии Microsoft — тома(ов)). По умолчанию для шифрования используется алгоритм AES с 128-битным ключом. Сам ключ может храниться в TPM или в USB-устройстве. Данная технология позицируется как панацея от кражи данных.

Примерно в течение полугода после официального релиза Windows Vista появилась информация о взломе BitLocker.

Любая информация о файле, начиная с его имени, разрешений и заканчивая собственно данными, хранящимися в файле, с точки зрения NTFS представляет собой атрибут, хранящийся в собственном потоке (stream). Разработчики NTFS посчитали, что можно не ограничиваться одним потоком для данных – безымянным, и добавили возможность создания нескольких, помимо основного, именованных потоков. Для создания множественных потоков можно применить функцию Win32 API, но можно поступить и проще, с помощью перенаправления ввода-вывода:

Можно написать в любом компиляторе C++ такую программу(консольное Win32 приложение):



#include <iostream.h>

void main () {

char ch;

while (cin.get(ch)) cout.put(ch);

}

(внимание – рабоспособность кода не проверена)

Windows NT не предоставляет стандартных средств для получения информации о множественных потоках данных. Можно воспользоваться программой streams Марка Руссиновича (Mark Russinovich), которую вместе с исходным кодом можно взять на www.sysinternals.com. В этой программе для получения информации о множественных потоках данных используются недокументированные функции Windows NT.

Второй пример – создание потока:

#include

int main()

{

DWORD dwRet;

HANDLE hStream = CreateFile( "file:fork", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, NULL, NULL );

WriteFile( hFile, "info in fork", 13, &dwRet, NULL );

CloseHandle(hStream);

return 0;

}

(внимание – рабоспособность кода не проверена)

На заре технологии OLE Microsoft предполагала использовать потоки данных для хранения информации о внедренных объектах, но видимо обеспечить потоки данных на FAT оказалось сложнее, чем создать длинные имена файлов и от этой идеи пришлось отказаться. Создание “файла ресурсов” для скрипта с хранением в нем всех надписей, выводимых на разных языках, также может быть интересной возможность применения потоков.



<== предыдущая лекция | следующая лекция ==>
Транзакции | Поддержка длинных имен в NTFS и FAT


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.161 сек.