-
Data: 2009-05-19 21:08:15
Temat: Re: jak napisać szybki program
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Maciej Sobczak pisze:
> On 19 Maj, 20:20, Michoo <m...@v...pl> wrote:
>
>> Samo AIO nie da prawie nic - zaoszczędzi
>> jedynie czas transferu z bufora do pamięci
>
> Dlaczego? Myślisz, że przy AIO nie trzeba tego transferu robić?
> Trzeba, inaczej użytkownik z tych danych nie skorzysta.
DMA
>
> char my_buffer[my_size];
>
> Niezależnie od metody dane muszą być przetransferowane z/do my_buffer.
W przypadku dobrej implementacji (na gruncie czystej teorii - nie chce
mi się teraz zastanawiać gdzie to jak jest zaimplementowane - chodzi mi
o sam fakt, że jest to jedyny zysk jaki można osiągnąć) i/o kopiowanie
danych na drodze dysk->ram, bufor karty sieciowej-> ram, etc powinno być
robione "na zewnątrz" procesora (i to w trybie nie odcinającym go od szyny).
synchroniczne i/o: program robi wywołanie systemowe "czytaj" system
wywala wątek z kolejki procesów gotowych i zleca kontrolerowi transfer,
po otrzymaniu przerwania od kontrolera proces wraca do kolejki i w
najbliższym czasie wraca z wywołania
asynchroniczne i/o: program robi wywołanie systemowe "czytaj" system
zleca kontrolerowi transfer, wątek powraca z wywołania i może pracować.
po otrzymaniu przerwania od kontrolera system powiadamia wątek o
zakończeniu operacji.
W drugim przypadku wątek może pracować w trakcie kopiowania danych.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 19.05.09 21:09 A.L.
- 19.05.09 22:12 Marteno Rodia
- 19.05.09 22:36 A.L.
- 19.05.09 22:38 Mateusz Loskot
- 20.05.09 08:55 Maciej Sobczak
- 20.05.09 12:32 A.L.
- 20.05.09 17:44 Marteno Rodia
- 20.05.09 18:23 Michoo
- 20.05.09 18:31 Marcin 'Qrczak' Kowalczyk
- 21.05.09 02:23 Mariusz Marszałkowski
- 21.05.09 03:26 Mariusz Marszałkowski
- 21.05.09 03:51 Mariusz Marszałkowski
- 21.05.09 03:57 Mariusz Marszałkowski
- 21.05.09 06:35 Jacek Czerwinski
- 21.05.09 09:50 Paweł Kierski
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=