Będę pamiętać na przyszłość. Po co tak system tam utrudnia sprawę? Pamiętam dobrze czasy, gdy popularne były dyskietki. Tam przy nagrywaniu plik był zapisywany na nośniku, co było sygnalizowane dźwiękami pracy napędu i świeceniem diody na nim. Po skończeniu nagrywania napęd przestawał pracować i dioda gasła, w tym momencie można było wyjąć dyskietkę bez szkody dla danych (oczywiście zdarzały się uszkodzone dane, ale z innych powodów). Naprawdę nie da się, żeby z pendrivami było tak samo, tylko muszą być jakieś bufory, synchronizacja, bezpieczne odmontowanie i oczekiwanie na możliwość odłączenia?
Generalnie to w Linuxie jest tak, że używana jest cała dostępna pamięć RAM na bufory i cache dyskowe. Nie pamiętam dokładnie kiedy ale takie podejście pojawiło się w okolicach kerneli 2.4 lub 2.6. Efektem jest to o czym też pisze @cerrato - że początkowo kopiowanie zasuwa bardzo szybko a po dojściu do pewnego momentu (zapełnienia RAM-u) nagle zwalnia bo już nie ma miejsca na buforowanie i rzeba poczekać aż dotychczasowo zbuforowane dane zostaną zrzucone na nośnik. A to podejście wynikało z tego że pamięci RAM taniały i ludzie coraz więcej jej mieli w kompach i żal było nie wykorzystać jej jako bufor żeby leżała odłogiem. Odnośnie pytania - czemu system utrudnia sprawę - to raczej ułatwia :) A to dlatego, że dana aplikacja nie musi oczekiwać na zakończenie operacji I/O na dysku bo system odbiera od niej prawie tyle danych ile ma wolnego RAM-u. Aplikacja w tym momencie może sobie biec dalej a nie być zamrożona operacjami I/O (operacje I/O są dosyć istotne i są blokujące) i user ma ogólne wrażenie większej szybkości działania aplikacji. Odczyty i zapisy w większości dużych OS-ów są buforowane. Nawet taki DOS go miał w SMARTDrive'ie. Używanie DOS-a bez SMARTDrive'a to była męczarnia.
Poza tym system operacyjny mając bufory i cache jest w stanie pogrupować sobie pojedyncze zapisy np. w jeden większy blok danych i zapisać go na nośniku za jednym razem. Wyobraź sobie, że program zapisuje po 100 bajtów kilkaset razy bez buforowania - kernel musiałby te kilkaset razy uzyskać dostęp do nośnika, a tak może sobie te żądania zapisu pogrupować w większe kawałki i w mniejszej ilości cyklu zapisu zrzucić je na dysk.
Co do stacji dyskietek - to problem był taki sam pod Linuxem - trzeba było odmontować dysk i poczekać aż bufory zostaną zrzucone na nośnik (odmontowanie wymusza zrzut buforów na dysk bo odmontowanie jest operacją blokującą). Teoretycznie można było wyciągnąć dyskietkę bez odmontowania - ale efekt był taki jak ty masz. Jedyną różnicą jest chyba obecność tak jak piszesz diodki na napędzie floppy - bo nie wszystkie pendrive USB ją mają.
Być może rozwiązaniem byłoby zmniejszenie ilości RAM przeznaczonej na bufory i cache, ale tak z głowy to nie przypomnę sobie jak się to w kernelu ustawiało i czy w ogóle teraz jest to dostępne do ustawienia.
A tak swoją drogą to bez cache-owania i buforowania operacji I/O to niejedna osoba wkurzyła by się - dlaczego ten Linux tak wolno listuje katalogi albo tak wolno wczytuje/zapisuje pliki. Dodatkowo odczyty plików można wykonywać w trybie z wyprzedzeniem.