Системное программирование в среде Windows - [220]
5. Тот факт, что последовательная обработка файлов приводит на однопроцессорных системам к аналогичным результатам, говорит о том, что простейшее решение нередко оказывается и самым лучшим.
Таблица В.З. Показатели производительности программ поисказаданных комбинаций символов
ЦП | Pentium LT | Celeron LT | Xeon | 4×Xeon | |
---|---|---|---|---|---|
ОС | W2000 | XP | W2000 | W2000 | |
Файловая система | NTFS | NTFS | NTFS | NTFS | |
grepMP | Реальное время | 14,72 | 3,95 | 10,58 | 0,63 |
Пользовательское время | - | - | - | - | |
Системное время | - | - | - | - | |
grepMT | Реальное время | 7,08 | 3,61 | 8,09 | 0,73 |
Пользовательское время | 0,30 | 0,41 | 0,27 | 2,23 | |
Системное время | 0,09 | 0,47 | 0,13 | 0,28 | |
grepSQ | Реальное время | 6,71 | 3,86 | 6,71 | 0,97 |
Пользовательское время | - | - | - | - | |
Системное время | - | - | - | - |
Сортировка файлов
Для тестирования четырех вариантов реализации программ сортировки из главы 5 использовался целевой файл, состоящий из 100 000 записей размером 64 байта каждая (всего 6,4 Мбайт). Вывод отсортированного файла во всех случаях подавлялся, чтобы можно было оценивать только время, необходимое для выполнения собственно сортировки. После этого тестировалась многопоточная сортировка (программа 7.2) файла размером 25 Мбайт, состоящего из 400 000 записей размером 64 байта каждая, с использованием одной, двух и четырех потоков. В каждом отдельном запуске использовался отдельный файл, генерируемый программой RandFile, которая находится в каталоге главы 5. Результаты для разных запусков заметно различались между собой.
1. Программа sortBT (программа 5.1) создает бинарное дерево поиска, требующее выделения минимального объема памяти под каждую запись. Эта программа интенсивно использует процессор.
2. Программа sortFL (программа 5.4) создает отображение файла перед тем, как использовать программу qsort. Тестировалась также программа sortFLSR (доступ к куче подвергался сериализации), однако существенных отличий от предыдущего варианта замечено не было.
3. Текст программы sortHP в книге не приводился. Эта программа предварительно распределяет буфер для файла, а затем сортирует файл, считанный в этот буфер, а не его отображение, как программа sortFL.
4. Программа sortMM (программа 5.5) создает постоянно существующий индексный файл.
5. Программа sortMT (программа 7.2) реализует многопоточную сортировку слиянием. Результаты представлены в строках sortMT1, sortMT2 и sortMT4 в соответствии с количеством параллельных потоков. Результаты могут значительно меняться в зависимости от характера сортируемых данных, хотя размер и случайный характер распределения значений данных сглаживают эти различия, что, как правило, характерно для базового алгоритма быстрой сортировки, который использован для реализации функции qsort библиотеки С.
1. Реализация, использующая алгоритм бинарного дерева (программа sortBT), интенсивно использует процессор; кроме того, память в ней распределяется отдельно для каждой записи.
2. Применение отображения файлов и чтение файла в предварительно выделенный буфер обеспечивают примерно одинаковую производительность, но в этих тестах отображение файлов ничем особенным себя не проявило, а в некоторых случаях даже значительно ухудшало результаты. Вместе с тем, в ряде случаев как sortFL, так и sortHP обеспечивали превосходные результаты.
3. Суммарное пользовательское и системное время иногда превышает истекшее время, даже если используется только один поток.
4. Программа sortMT демонстрирует возможности SMP-систем. В некоторых случаях использование дополнительных потоков приводило к повышению производительности и на однопроцессорных системах.
Таблица В.4. Показатели производительности программ сортировки файлов
ЦП | Pentium LT | Celeron LT | Xeon | 4×Xeon | |
---|---|---|---|---|---|
ОС | W2000 | XP | W2000 | W2000 | |
Файловая система | NTFS | NTFS | NTFS | NTFS | |
sortBT | Реальное время | - | 9,61 | - | - |
Пользовательское время | - | 1,84 | - | - | |
Системное время | - | 7,44 | - | - | |
sortFL | Реальное время | 11,15 | 0,78 | 1,74 | 5,38 |
Пользовательское время | 4,81 | 0,41 | 0,26 | 5,19 | |
Системное время | 0,15 | 0,09 | 0,09 | 0,02 | |
sortHP | Реальное время | 1,76 | 0,34 | 1,52 | 1,30 |
Пользовательское время | 1,62 | 0,22 | 0,15 | 1,28 | |
Системное время | 0,11 | 0,05 | 0,03 | 0,04 | |
sortMM | Реальное время | 0,99 | 1,44 | 1,92 | 1,39 |
Пользовательское время | 0,31 | 0,18 | 0,15 | 0,38 | |
Системное время | 0,68 | 0,47 | 0,36 | 1,03 | |
sortMT1 | Реальное время | 3,18 | 3,58 | 6,80 | 0,14 |
Пользовательское время | 0,01 | 0,95 | 0,01 | 0,05 | |
Системное время | 0,46 | 0,16 | 0,16 | 0,11 | |
sortMT2 | Реальное время | 2,10 | 1,22 | 6,70 | 0,13 |
Пользовательское время | 0,01 | 1,05 | 0,01 | 0,02 | |
Системное время | 0,40 | 0,16 | 0,16 | 0,13 | |
sortMT4 | Реальное время | 2,20 | 1,49 | 6,22 | 0,13 |
Пользовательское время | 0,01 | 1,18 | 0,01 | 0,12 | |
Системное время | 0,16 | 0,15 | 0,16 | 0,09 |
Множество потоков, соревнующихся между собой за обладание единственным ресурсом
Целью этой серии тестов являлось сравнение эффективности различных стратегий реализации функций управления очередями программы 10.4 с использованием программы 10.5 (трехступенчатый конвейер) в качестве тестового приложения. Тесты выполнялись на четырехпроцессорной (Intel Xeon, 1 ГГц) системе Windows 2000 Server с организацией 1, 2, 4, 8, 16, 32 и 64 потоков, но во всех семи случаях каждого потока поручалось выполнение 1000 единиц работы. В идеальном случае можно было бы ожидать линейного увеличения реального времени с увеличением количества потоков, но соревновательность между потоками за право владения единственным мьютексом (или объектом CS) может приводить к нелинейному снижению этого показателя). Обратите внимание, что эти тесты не затрагивают файловую систему.
Сценарии командной оболочки помогают системным администраторам и программистам автоматизировать рутинные задачи с тех самых пор, как появились первые компьютеры. С момента выхода первого издания этой книги в 2004 году многое изменилось, однако командная оболочка bash только упрочила свои лидирующие позиции. Поэтому умение использовать все ее возможности становится насущной необходимостью для системных администраторов, инженеров и энтузиастов. В этой книге описываются типичные проблемы, с которыми можно столкнуться, например, при сборке программного обеспечения или координации действий других программ.
В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.
Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.
Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.
Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.