» » » Джонсон Харт - Системное программирование в среде Windows


Авторские права

Джонсон Харт - Системное программирование в среде Windows

Здесь можно скачать бесплатно "Джонсон Харт - Системное программирование в среде Windows" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство Издательский дом "Вильямс", год 2005. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Джонсон Харт - Системное программирование в среде Windows
Рейтинг:
Название:
Системное программирование в среде Windows
Издательство:
Издательский дом "Вильямс"
Год:
2005
ISBN:
5-8459-0879-5
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Системное программирование в среде Windows"

Описание и краткое содержание "Системное программирование в среде Windows" читать бесплатно онлайн.



Эта книга посвящена вопросам разработки приложений с использованием интерфейса прикладного программирования операционных систем компании Microsoft (Windows 9х, Windows XP, Windows 2000 и Windows Server 2003). Основное внимание уделяется базовым системным службам, включая управление файловой системой, процессами и потоками, взаимодействие между процессами, сетевое программирование и синхронизацию. Рассматривается методика переноса приложений, написанных в среде Win32, в среду Win64. Подробно описываются все аспекты системы безопасности Windows и ее практического применения. Изобилие реальных примеров, доступных также и на Web-сайте книги, существенно упрощает усвоение материала.

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






Сортировка файлов

Для тестирования четырех вариантов реализации программ сортировки из главы 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) может приводить к нелинейному снижению этого показателя). Обратите внимание, что эти тесты не затрагивают файловую систему.

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


Таблица В.5. Производительность многопоточных реализаций на четырехпроцессорном сервере

К-во потоков Широковещат.модель Широковещат.модель Широковещат. модель Сигнальная модель Сигнальная модель Сигнальная модель Mtx, Evt CritSec, Evt Mtx, Evt Mtx, Evt CritSec, Evt Mtx, Evt Т/О 5мс Т/О 25мс SigObjWait Т/О неопределен Т/О неопределен SigObjWait 1 Реальное время 0,03 0,03 0,05 0,05 0,03 0,05 Пользовательское время 0,03 0,06 0,03 0,05 0,08 0,05 Системное время 0,06 0,02 0,09 0,08 0,02 0,06 2 Реальное время 0,14 0,27 0,09 0,08 0,06 0,08 Пользовательское время 0,13 0,05 0,14  0,17 0,11 0,08 Системное время 0,11 0,06 0,16 0,09 0,11 0,17 4 Реальное время 0,39 0,59 0,23 0,19 0,16 0,20 Пользовательское время 0,18 0,17 0,22 0,26 0,17 0,19 Системное время 0,30 0,22 0,41 0,31 0,22 0,31 8 Реальное время 0,83 0,92 0,73 0,36 0,34 0,36 Пользовательское время 0,34 0,36 0,55 0,52 0,45 0,45 Системное время 0,98 1,00 1,00 0,69 0,39 0,75 16 Реальное время 2,42 2,30 2,38 0,75 0,69 0,75 Пользовательское время 1,17 1,31 1,22 0,81 0,81 0,88 Системное время 3,69 3,05 3,39 1,45 1,08 1,33 32 Реальное время 7,56 7,50 7,98 1,50 1,50 1,50 Пользовательское время 3,33 3,73 2,56 1,75 1,69 1,78 Системное время 12,52 10,72 11,03 3,13 2,00 2,69 64 Реальное время 27,72 26,23 29,31 3,14 2,95 3,20 Пользовательское время 7,89 10,75 7,22 3,73 3,69 3,47 Системное время 46,70 40,33 36,67 6,28 3,89 5,47

В комментариях, помещенных вслед за программой 10.4, обсуждаются результаты и разъясняются преимущества различных реализаций, а здесь мы лишь отметим, что результаты для сигнальной модели изменяются пропорционально изменению количества потоков, тогда как в случае широковещательной модели, особенно для вариантов с 32 и 64 потоками, это не так. Можно также видеть, что в случае широковещательной модели система потребляет значительную долю процессорного времени, ибо выполняются, вычисляют предикат и осуществляют немедленный возврат в состояние ожидания множество потоков.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Системное программирование в среде Windows"

Книги похожие на "Системное программирование в среде Windows" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Джонсон Харт

Джонсон Харт - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Джонсон Харт - Системное программирование в среде Windows"

Отзывы читателей о книге "Системное программирование в среде Windows", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.