Джонсон Харт - Системное программирование в среде Windows
- Название:Системное программирование в среде Windows
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2005
- Город:Москва • Санкт-Петербург • Киев
- ISBN:5-8459-0879-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джонсон Харт - Системное программирование в среде Windows краткое содержание
Эта книга посвящена вопросам разработки приложений с использованием интерфейса прикладного программирования операционных систем компании Microsoft (Windows 9х, Windows XP, Windows 2000 и Windows Server 2003). Основное внимание уделяется базовым системным службам, включая управление файловой системой, процессами и потоками, взаимодействие между процессами, сетевое программирование и синхронизацию. Рассматривается методика переноса приложений, написанных в среде Win32, в среду Win64. Подробно описываются все аспекты системы безопасности Windows и ее практического применения. Изобилие реальных примеров, доступных также и на Web-сайте книги, существенно упрощает усвоение материала.
Книга ориентирована на разработчиков и программистов, как высокой квалификации, так и начинающих, а также будет полезна для студентов соответствующих специальностей.
Системное программирование в среде Windows - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
К-во потоков | Широковещат.модель | Широковещат.модель | Широковещат. модель | Сигнальная модель | Сигнальная модель | Сигнальная модель | |
---|---|---|---|---|---|---|---|
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 потоками, это не так. Можно также видеть, что в случае широковещательной модели система потребляет значительную долю процессорного времени, ибо выполняются, вычисляют предикат и осуществляют немедленный возврат в состояние ожидания множество потоков.
1. Широковещательная модель, мьютекс (Mtx), событие (Evt), раздельные вызовы функций освобождения и ожидания. Конечный период ожидания (Time-out, TO) устанавливался равным 5 миллисекундам, что являлось оптимальным значением для 16-поточного варианта.
2. Широковещательная модель, объект CRITICAL_SECTION (CritSec), событие, раздельные вызовы функций освобождения и ожидания. Настраиваемый период ожидания устанавливался равным 5 миллисекундам, что являлось оптимальным значением для 16-поточного варианта.
3. Широковещательная модель, мьютекс, событие, атомарный вызов SignalObjectAndWait (SigObjWait).
4. Сигнальная модель, мьютекс, событие, раздельные вызовы функций освобождения и ожидания.
5. Сигнальная модель, объект CRITICAL_SECTION, событие, раздельные вызовы функций освобождения и ожидания.
6. Сигнальная модель, мьютекс, событие, атомарный вызов SignalObjectAndWait.
Выполнение тестов
На Web-сайте книги в каталоге TimeTest находятся пакетные файлы, с помощью которых вы сможете запускать тесты как под управлением Windows 2000/NT, так и под управлением Windows 9x:
• cpTIME.bat
• cpTIME.bat
• atouTIME.bat
• grepTIME.bat
• sortTIME.bat
• threeST.bat
Для всех тестов, кроме тестов последней серии, текстовые ASCII-файлы большого размера создавались с помощью программы RandFile.
Библиография
1. Beveridge, Jim, and Wiener, Robert. Multithreading Applications in Win32: The Complete Guide to Threads, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-44234-5.
2. Bott, Ed, and Siechert, Carl. Microsoft Windows Security Inside Out for Windows XP and Windows 2000, Microsoft Press, Redmond, WA, 2002. ISBN: 0-735-61632-9.
3. Box, Don. Essential COM, Addison-Wesley, Reading, MA, 1998. ISBN: 0-201-63446-5.
4. Box, Don (editor), et al. Effective COM: 50 Ways to Improve Your COM and MTS Based Applications, Addison-Wesley, Reading, MA, 1999. ISBN: 0-20-1-37968-6.
5. Brain, Marshall, and Reeves, Ron. Win32 System Services: The Heart of Windows 98 and Windows 2000, Third Edition, Prentice Hall, Englewood Cliffs, NJ, 2000. ISBN: 0-13-022557-6.
6. Butenhof, David. Programming with POSIX Threads, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-63392-2.
7. Cohen, Aaron, Woodring, Mike, and Petrusha, Ronald. Win32 Multithreaded Programming, О'Reilley & Associates, Sebastopol, CA, 1998. ISBN: 1-565-92296-4.
8. Comer, Douglas E., and Stevens, David L. Internetworking with TCP/IP, Volume III: Client-Server Programming and Applications, Windows Sockets Version, Prentice Hall, Upper Saddle River, NJ, 1997. ISBN: 0-13-848714-6.
9. Custer, Helen. Inside Windows NT, Microsoft Press, Redmond, WA, 1993. ISBN: 155615-481-X. Second edition by David Solomon replaces this book, which in turn is replaced by Solomon and Russinovich (both in this bibliography).
10. Custer, Helen. Inside the Windows NT File System, Microsoft Press, Redmond, WA, 1994. ISBN: 155615-660-X.
11. Department of Defense. U.S. Department of Defense Trusted Computer System Evaluation Criteria, formerly known as DoD Trusted Computer System Evaluation Criteria , DoD 5200.28-STD, DoD Computer Security Center, 1985. Available at http://www.radium.ncsc.mil/tpep/library/rainbow.
12. Donahoo, Michael, and Calvert, Kenneth. TCP/IP Sockets in C: Practical Guide for Programmers, Morgan Kaufmann, San Francisco, CA, 2000. ISBN: 1-55860-826-5.
13. Eddon, G., and Eddon, D. Inside Distributed COM, Microsoft Press, Redmond, WA, 1998. ISBN: 1-57231-849-X.
14. Feuer, Alan. MFC Programming, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-63358-2.
15. Gilly, Daniel, and the staff of O'Reilly & Associates, Inc. UNIX in a Nutshell, O'Reilly & Associates, Inc., Sebastopol, CA, 1992. ISBN: 1-56592-001-5.
16. Hennessy, John L., and Patterson, David A. Computer Architecture: A Quantitative Approach, Third Edition, Morgan Kaufmann, San Francisco, CA, 2003. ISBN: 1-55860-596-7.
17. Hipson, Peter D. Expert Guide to Windows NT 4 Registry, Sybex, 1999. ISBN: 0-7821-1983-2.
18. Josutis, Nicolai M. The C++ Standard Library: A Tutorial and Reference, Addison-Wesley, Reading, MA, 1999. ISBN: 0-20-137926-0.
19. Kano, Nadine. Developing International Applications for Windows 95 and Windows NT, Microsoft Press, Redmond, WA, 1995. ISBN: 1-55615-840-8.
20. Kernighan, Brian W., and Ritchie, Dennis M. The С Programming Language, Second Edition , Prentice-Hall, Englewood Cliffs, NJ, 1988. ISBN: 0-13-110370-9.
21. Miller, Kevin. Professional NT Services, WROX, Indianapolis, IN, 1998. ISBN: 1-86100-130-4.
22. Naik, Dilip. Inside Windows Storage — Server Storage Technologies for Windows 2000, Windows Serve r2003, and Beyond, Addison-Wesley, Boston, MA, 2003. ISBN: 0-321-12698-X.
23. Nottingham, Jason P., Makofsky, Steven, and Tucker, Andrew. SAMS Teach Yourself Windows CE Programming in 24 Hours, SAMS, Indianapolis, IN, 1999. ISBN: 0-6723-1658-7.
24. Oney, Walter. Programming the Microsoft Windows Driver Model, Second Edition , Microsoft Press, Redmond, WA, 2002. ISBN: 0-735-61803-8.
25. Petzold, Charles. Programming Windows, Fifth Edition, Microsoft Press, Redmond, WA, 1998. ISBN: 1-572-31995-X.
26. Pham, Thuan, and Garg, Pankaj. Multithreaded Programming with Win32, Prentice-Hall, Englewood Cliffs, NJ, 1998. ISBN: 0-130-10912-6.
27. Plauger, P.J. The Standard С Library, Prentice-Hall, Englewood Cliffs, NJ, 1992. ISBN: 0-13-131509-9.
28. Quinn, Bob, and Shute, Dave. Windows Sockets Network Programming, Addison-Wesley, Reading, MA, 1996. ISBN: 0-201-63372-8.
29. Raymond, Eric S. The Art of UNIX Programming, Addison-Wesley, Boston, MA, 2003. ISBN: 0-131-42901-9.
30. Rector, Brent, and Newcomer, Joseph M. Win 32 Programming, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-63492-9.
31. Richter, Jeffrey. Programming Applications for Microsoft Windows (formerly Advanced Windows NT: The Developer's Guide to the Win32 Application Programming Interface in previous editions), Microsoft Press, Redmond, WA, 1999. ISBN: 1-57-231996-8.
32. Richter, Jeffrey, and Clark, Jason. Programming Server-Side Applications for Microsoft Windows 2000, Microsoft Press, Redmond, WA, 2000. ISBN: 0-73-560753-2.
Читать дальшеИнтервал:
Закладка: