Ta strona wykorzystuje pliki cookies. Korzystając ze strony, zgadzasz się na ich użycie. OK Polityka Prywatności Zaakceptuj i zamknij X

Programowanie w systemie Windows. Wydanie IV

19-01-2012, 14:40
Aukcja w czasie sprawdzania była zakończona.
Cena kup teraz: 81 zł     
Użytkownik Anna_Czerska
numer aukcji: 2027766781
Miejscowość Lublin
Wyświetleń: 17   
Koniec: 13-01-2012 13:08:42

Dodatkowe informacje:
Stan: Nowy
Okładka: miękka
Rok wydania (xxxx): 2010
Kondycja: bez śladów używania
Język: polski
Tematyka: Pozostałe
info Niektóre dane mogą być zasłonięte. Żeby je odsłonić przepisz token po prawej stronie. captcha

Programowanie w systemie Windows. Wydanie IV
Autor: Johnson M. Hart
Data wydania: 2010/10
Stron: 752
    Tytuł oryginału: Windows System Programming (4th Edition)
    Tłumaczenie: Tomasz Walczak
    ISBN: 978-83-[zasłonięte]-2780-6
    Format: 168x237
    Oprawa: miękka
    Numer z katalogu: 5720
ftp://ftp.helion.pl/przyklady/prowi4.zip
Wydawnictwo Helion

    Wykorzystaj paralelizm i maksymalizuj wydajność w systemach wielordzeniowych
    Zapewnij przenośność między środowiskami 64- i 32-bitowymi
    Popraw skalowalność za pomocą wątków, pul wątków i mechanizmu IOCP

Wybierając system Windows jako docelową platformę rozwijanych aplikacji, programiści na całym świecie sugerują się najczęściej jego dużą funkcjonalnością i wymogami biznesowymi. System ten jest bowiem zgodny z wieloma kluczowymi standardami. Obsługuje między innymi biblioteki standardowe języków C i C+ oraz uwzględnia wiele otwartych standardów współdziałania. Dlatego gniazda systemu Windows są standardowym interfejsem programowania rozwiązań sieciowych z dostępem do TCP/IP i innych protokołów sieciowych. W dodatku każda nowa wersja tego systemu jest coraz bardziej zintegrowana z dodatkowymi technologiami z obszaru multimediów, sieci bezprzewodowych, usług Web Service, platformy .NET i usługi plug-and-play. Niewątpliwym atutem Windows jest także zawsze uważany za stabilny, a jednak ciągle wzbogacany o ważne dodatki interfejs API.

Jeśli zatem szukasz kompletnego, rzetelnego i aktualnego podręcznika do nauki programowania za pomocą interfejsu Windows API, właśnie go znalazłeś! Książka ta w praktyczny sposób przedstawia wszystkie mechanizmy systemu Windows potrzebne programistom, pokazując, w jaki sposób działają funkcje tego systemu i jak wchodzą w interakcje z aplikacjami. Skoncentrowano się tu na podstawowych usługach systemu, w tym na systemie plików, zarządzaniu procesami i wątkami, komunikacji między procesami, programowaniu sieciowym i synchronizacji. Autor tej książki nie zamierza jednak obciążać Cię zbędną teorią i nieistotnymi szczegółami. Podaje Ci wiedzę opartą na prawdziwych przykładach, dzięki czemu szybko i sprawnie opanujesz poruszane tu zagadnienia. Wiadomości, które tu znajdziesz, pozwolą Ci zrozumieć interfejs Windows API w takim stopniu, byś zdobył solidne podstawy do rozwijania programów na platformę .NET Microsoftu.

W książce znajdziesz omówienie między innymi takich kwestii, jak:

    wprowadzenie do rodziny systemów operacyjnych Windows
    wykorzystanie paralelizmu i maksymalizowanie wydajności w systemach wielordzeniowych
    używanie 64-bitowej przestrzeni adresowej oraz zapewnianie przenośności między środowiskami 64- i 32-bitowymi
    zagadnienia związane z systemami plików, operacjami wejścia-wyjścia w konsoli, blokowaniem dostępu do plików i zarządzaniem katalogami
    wprowadzenie do obsługi wyjątków w systemie Windows, w tym do mechanizmu SEH
    zarządzanie i synchronizacja procesów systemu Windows
    zarządzanie pamięcią i biblioteki DLL
    szczegółowe omówienie synchronizacji wątków systemu Windows, pul wątków i wydajności
    przekształcanie aplikacji serwerowych na usługi systemu Windows
    zapewnianie przenośności kodu źródłowego oraz współdziałania aplikacji z systemów Windows, Linux i UNIX
    zabezpieczanie obiektów w systemie Windows
    poprawiające wydajność funkcje interfejsu Windows API — blokady SRW i zmienne warunkowe

Oto kompletny, aktualny przewodnik po programowaniu
przy użyciu interfejsu Windows API!

Spis treści:

Rysunki (13)
Tabele (15)
Listingi (17)
Przebiegi programów (21)
Wstęp (23)
O autorze (33)
Rozdział 1. Wprowadzenie do systemu Windows (35)

    Podstawy systemów operacyjnych (36)
    Ewolucja systemu Windows (37)
    Wersje systemu Windows (37)
    Pozycja systemu Windows na rynku (40)
    System Windows, standardy i systemy o otwartym dostępie do kodu źródłowego (41)
    Podstawy systemu Windows (43)
    Przenośność 32- i 64-bitowego kodu źródłowego (46)
    Biblioteka standardowa języka C - kiedy korzystać z niej do przetwarzania plików? (47)
    Co jest potrzebne do korzystania z tej książki? (48)
    Przykład - proste sekwencyjne kopiowanie pliku (50)
    Podsumowanie (58)
    Ćwiczenia (61)

Rozdział 2. Korzystanie z systemu plików i znakowych operacji wejścia-wyjścia w systemie Windows (63)

    Systemy plików w systemie Windows (64)
    Reguły tworzenia nazw plików (65)
    Otwieranie, wczytywanie, zapisywanie i zamykanie plików (66)
    Przerywnik - Unicode i znaki ogólne (74)
    Strategie związane z kodowaniem Unicode (77)
    Przykład - przetwarzanie błędów (78)
    Urządzenia standardowe (81)
    Przykład - kopiowanie wielu plików do standardowego wyjścia (82)
    Przykład - proste szyfrowanie pliku (85)
    Zarządzanie plikami i katalogami (88)
    Operacje wejścia-wyjścia konsoli (94)
    Przykład - wyświetlanie danych i instrukcji (96)
    Przykład - wyświetlanie bieżącego katalogu (99)
    Podsumowanie (100)
    Ćwiczenia (101)

Rozdział 3. Zaawansowane przetwarzanie plików i katalogów oraz rejestr (103)

    64-bitowy system plików (104)
    Wskaźniki do plików (104)
    Pobieranie rozmiaru plików (109)
    Przykład - bezpośrednie aktualizowanie rekordów (111)
    Atrybuty plików i przetwarzanie katalogów (115)
    Przykład - wyświetlanie atrybutów plików (121)
    Przykład - ustawianie znaczników czasu dla plików (125)
    Strategie przetwarzania plików (126)
    Blokowanie dostępu do plików (128)
    Rejestr (134)
    Zarządzanie rejestrem (137)
    Przykład - wyświetlanie kluczy i zawartości rejestru (141)
    Podsumowanie (145)
    Ćwiczenia (146)

Rozdział 4. Obsługa wyjątków (149)

    Wyjątki i procedury do ich obsługi (150)
    Wyjątki zmiennoprzecinkowe (157)
    Błędy i wyjątki (159)
    Przykład - traktowanie błędów jak wyjątków (161)
    Procedury obsługi zakończenia (163)
    Przykład - stosowanie procedur obsługi zakończenia do poprawy jakości programów (167)
    Przykład - stosowanie funkcji filtrującej (170)
    Procedury sterujące konsoli (175)
    Przykład - procedura sterująca konsoli (176)
    Wektorowa obsługa wyjątków (178)
    Podsumowanie (180)
    Ćwiczenia (181)

Rozdział 5. Zarządzanie pamięcią, pliki odwzorowane w pamięci i biblioteki DLL (183)

    Architektura zarządzania pamięcią w systemie Windows (184)
    Sterty (187)
    Zarządzanie pamięcią na stercie (191)
    Przykład - sortowanie plików za pomocą binarnego drzewa wyszukiwań (198)
    Pliki odwzorowane w pamięci (203)
    Przykład - sekwencyjne przetwarzanie pliku za pomocą plików odwzorowanych (212)
    Przykład - sortowanie pliku odwzorowanego w pamięci (215)
    Przykład - stosowanie wskaźników z bazą (218)
    Biblioteki DLL (224)
    Przykład - dołączanie w czasie wykonywania programu funkcji do konwersji plików (231)
    Punkt wejścia do biblioteki DLL (232)
    Zarządzanie wersjami bibliotek DLL (234)
    Podsumowanie (236)
    Ćwiczenia (237)

Rozdział 6. Zarządzanie procesem (241)

    Procesy i wątki w systemie Windows (241)
    Tworzenie procesu (244)
    Dane identyfikacyjne procesów (251)
    Powielanie uchwytów (252)
    Wychodzenie z procesu i kończenie jego działania (254)
    Oczekiwanie na zakończenie działania procesu (256)
    Bloki i łańcuchy znaków środowiska (258)
    Przykład - równoległe wyszukiwanie wzorca (260)
    Procesy w środowisku wieloprocesorowym (264)
    Czas wykonywania procesu (265)
    Przykład - czas wykonywania procesu (265)
    Generowanie zdarzeń sterujących konsoli (267)
    Przykład - proste zarządzanie zadaniem (268)
    Przykład - korzystanie z obiektów zadań (279)
    Podsumowanie (283)
    Ćwiczenia (284)

Rozdział 7. Wątki i szeregowanie (287)

    Wprowadzenie do wątków (287)
    Podstawowe informacje o wątkach (290)
    Zarządzanie wątkami (291)
    Stosowanie biblioteki języka C w wątkach (296)
    Przykład - wielowątkowe wyszukiwanie wzorca (298)
    Wpływ na wydajność (301)
    Wątki główne i robocze oraz inne modele działania wątków (303)
    Przykład - sortowanie przez scalanie z wykorzystaniem wielu procesorów (304)
    Wprowadzenie do paralelizmu w programach (311)
    Pamięć TLS (312)
    Priorytety oraz szeregowanie procesów i wątków (314)
    Stany wątków (317)
    Pułapki i często popełniane błędy (319)
    Oczekiwanie z pomiarem czasu (321)
    Włókna (322)
    Podsumowanie (325)
    Ćwiczenia (326)

Rozdział 8. Synchronizowanie wątków (329)

    Dlaczego trzeba synchronizować wątki? (330)
    Obiekty synchronizacji wątków (339)
    Obiekty CRITICAL_SECTION (340)
    Obiekty CRITICAL_SECTION do zabezpieczania współużytkowanych zmiennych (343)
    Przykład - prosty system z producentem i konsumentem (345)
    Muteksy (351)
    Semafory (358)
    Zdarzenia (361)
    Przykład - system z producentem i konsumentem (364)
    Więcej wskazówek na temat muteksów i obiektów CRITICAL_SECTION (369)
    Inne funkcje Interlocked (371)
    Wydajność przy zarządzaniu pamięcią (373)
    Podsumowanie (374)
    Ćwiczenia (375)

Rozdział 9. Blokowanie, wydajność i dodatki w systemach NT6 (377)

    Wpływ synchronizacji na wydajność (378)
    Program do badania wydajności (383)
    Dopracowywanie wydajności systemów wieloprocesorowych za pomocą liczby powtórzeń pętli obiektów CS (384)
    Blokady SRW w systemach NT6 (387)
    Zmniejszanie rywalizacji za pomocą puli wątków (390)
    Porty kończenia operacji wejścia-wyjścia (393)
    Pule wątków z systemów NT6 (394)
    Podsumowanie - wydajność blokowania (403)
    Paralelizm po raz wtóry (404)
    Koligacja procesora (409)
    Wskazówki i pułapki z obszaru wydajności (411)
    Podsumowanie (413)
    Ćwiczenia (414)

Rozdział 10. Zaawansowana synchronizacja wątków (417)

    Model zmiennej warunkowej i właściwości związane z bezpieczeństwem (418)
    Stosowanie funkcji SignalObjectAndWait (426)
    Przykład - obiekt bariery z progiem (428)
    Obiekt kolejki (432)
    Przykład - wykorzystanie kolejek w wieloetapowym potoku (436)
    Zmienne warunkowe z systemów Windows NT6 (446)
    Asynchroniczne wywołania procedur (451)
    Kolejkowanie asynchronicznych wywołań procedur (452)
    Oczekiwanie z obsługą alertów (454)
    Bezpieczne anulowanie wątków (456)
    Wątki Pthreads i przenośność aplikacji (457)
    Stosy wątków i liczba wątków (457)
    Wskazówki z obszaru projektowania, diagnozowania i testowania (458)
    Poza interfejs Windows API (461)
    Podsumowanie (462)
    Ćwiczenia (463)

Rozdział 11. Komunikacja między procesami (467)

    Potoki anonimowe (468)
    Przykład - przekierowywanie wejścia-wyjścia za pomocą potoku anonimowego (469)
    Potoki nazwane (472)
    Funkcje do obsługi transakcji z wykorzystaniem potoku nazwanego (479)
    Przykład - system klient-serwer do przetwarzania wiersza poleceń (483)
    Komentarze na temat programu klient-serwer do przetwarzania wiersza poleceń (489)
    Szczeliny pocztowe (491)
    Tworzenie i nazywanie potoków oraz szczelin pocztowych i nawiązywanie połączeń z nimi (496)
    Przykład - serwer możliwy do znalezienia przez klienty (496)
    Podsumowanie (499)
    Ćwiczenia (500)

Rozdział 12. Programowanie sieciowe z wykorzystaniem gniazd systemu Windows (503)

    Gniazda systemu Windows (504)
    Funkcje do obsługi gniazd serwera (507)
    Funkcje do obsługi gniazd klienta (513)
    Porównanie potoków nazwanych i gniazd (515)
    Przykład - funkcja do odbierania komunikatów w gnieździe (516)
    Przykład - klient oparty na gniazdach (517)
    Przykład - oparty na gniazdach serwer z nowymi mechanizmami (519)
    Serwery wewnątrzprocesowe (529)
    Komunikaty oparte na wierszach, punkty wejścia bibliotek DLL i pamięć TLS (531)
    Przykład - bezpieczna ze względu na wątki biblioteka DLL do obsługi komunikatów w gniazdach (533)
    Przykład - inna strategia tworzenia bibliotek DLL bezpiecznych ze względu na wątki (538)
    Datagramy (541)
    Gniazda Berkeley a gniazda systemu Windows (543)
    Operacje nakładanego wejścia-wyjścia oparte na gniazdach systemu Windows (544)
    Dodatkowe funkcje gniazd systemu Windows (544)
    Podsumowanie (545)
    Ćwiczenia (546)

Rozdział 13. Usługi systemu Windows (549)

    Tworzenie usług systemu Windows - przegląd (550)
    Funkcja main() (551)
    Funkcje ServiceMain() (552)
    Procedura sterująca usługi (557)
    Rejestrowanie zdarzeń (558)
    Przykład - nakładka na usługi (558)
    Zarządzanie usługami systemu Windows (565)
    Podsumowanie - działanie usług i zarządzanie nimi (569)
    Przykład - powłoka do sterowania usługą (569)
    Współużytkowanie obiektów jądra przy użyciu usługi (574)
    Uwagi na temat diagnozowania usług (575)
    Podsumowanie (576)
    Ćwiczenia (577)

Rozdział 14. Asynchroniczne operacje wejścia-wyjścia i IOCP (579)

    Przegląd asynchronicznych operacji wejścia-wyjścia w systemie Windows (580)
    Operacje nakładanego wejścia-wyjścia (581)
    Przykład - synchronizacja z wykorzystaniem uchwytu pliku (586)
    Przykład - przekształcanie pliku za pomocą operacji nakładanego wejścia-wyjścia i wielu buforów (587)
    Wzbogacone operacje wejścia-wyjścia z procedurami zakończenia (591)
    Przykład - przekształcanie plików za pomocą wzbogaconych operacji wejścia-wyjścia (597)
    Asynchroniczne operacje wejścia-wyjścia z wykorzystaniem wątków (600)
    Zegary oczekujące (602)
    Przykład - korzystanie z zegarów oczekujących (605)
    Mechanizm IOCP (607)
    Przykład - serwer oparty na mechanizmie IOCP (612)
    Podsumowanie (619)
    Ćwiczenia (620)

Rozdział 15. Zabezpieczanie obiektów systemu Windows (623)

    Atrybuty zabezpieczeń (623)
    Przegląd zabezpieczeń - deskryptor zabezpieczeń (624)
    Flagi kontrolne deskryptora zabezpieczeń (628)
    Identyfikatory zabezpieczeń (628)
    Zarządzanie listami ACL (630)
    Przykład - uprawnienia w stylu UNIX-a do plików NTFS (632)
    Przykład - inicjowanie atrybutów zabezpieczeń (636)
    Wczytywanie i modyfikowanie deskryptorów zabezpieczeń (641)
    Przykład - odczytywanie uprawnień do pliku (643)
    Przykład - modyfikowanie uprawnień do plików (645)
    Zabezpieczanie obiektów jądra i komunikacji (645)
    Przykład - zabezpieczanie procesu i jego wątków (648)
    Przegląd dodatkowych mechanizmów zabezpieczeń (648)
    Podsumowanie (650)
    Ćwiczenia (651)

Dodatek A: Używanie przykładowych programów (655)

    Układ plików w pakiecie Przykłady (656)

Dodatek B: Przenośność kodu źródłowego - Windows, UNIX i Linux (659)

    Strategie tworzenia przenośnego kodu źródłowego (660)
    Usługi systemu Windows dla systemu UNIX (660)
    Przenośność kodu źródłowego z funkcjami systemu Windows (661)
    Rozdziały 2. i 3. - zarządzanie plikami i katalogami (667)
    Rozdział 4. - obsługa wyjątków (672)
    Rozdział 5. - zarządzanie pamięcią, pliki odwzorowane w pamięci i biblioteki DLL (674)
    Rozdział 6. - zarządzanie procesem (675)
    Rozdział 7. - wątki i szeregowanie (677)
    Rozdziały od 8. do 10. - synchronizowanie wątków (679)
    Rozdział 11. - komunikacja między procesami (681)
    Rozdział 14. - asynchroniczne operacje wejścia-wyjścia (684)
    Rozdział 15. - zabezpieczanie obiektów systemu Windows (685)

Dodatek C: Wyniki pomiarów wydajności (687)

    Konfiguracje testowe (687)
    Pomiary wydajności (690)
    Przeprowadzanie testów (703)

Bibliografia (705)
Skorowidz (709)