Czy przechodzą przez nie wszystkie kopiowane dane, czy istnieje inny, bardziej bezpośredni sposób?
Czy przechodzą przez nie wszystkie kopiowane dane, czy istnieje inny, bardziej bezpośredni sposób?
Odpowiedzi:
Podstępny! Dane tak naprawdę nie przechodzą przez procesor.
Dane oraz krytyczne jedynki i jedynki przechodzą przez mikroukład lub dedykowane układy I / O i pamięć, jednak podczas kopiowania plików procesor uruchamia polecenie wykonania kopii.
Wyobraź sobie, że masz przed sobą przedmiot (dane), twoje ramiona (chipset / układ we / wy) i mózg (procesor). W rzeczywistości nie używasz mózgu do poruszania obiektem, mózg uruchamia „rozkaz” na twoich ramionach, aby poruszać przedmiotem.
interruptkażdym razem, gdy polecenie IO dla block device, na przykład pamięci USB, zostanie zakończone . Następnie procesor kontynuuje kopiowanie. W rzeczywistości procesor wykonuje ioctlkod jądra, który współpracuje ze sterownikami urządzeń, aby skopiować chunks(rzeczywistą nazwę) DMA. Procesor obsługuje także asynchronous IOi sync IOnieco różni się od perspektywy wykonywania kodu jądra.
Na komputerze mainframe z inteligentnymi kanałami procesor po prostu kazałby kanałom wykonać kopię. Bardzo wydajny i pozwala na szybkie tworzenie dużych kopii zapasowych przy niewielkim obciążeniu procesora.
Niestety nie mamy inteligentnych kanałów, więc procesor kończy się w pętli podobnej do:
dla każdego pliku (dev1); robić createfile (dev2); copyfilecontent (dev1, dev2); koniec;
Obciążenie procesora nie jest tak wysokie, chyba że w tym samym katalogu znajduje się wiele małych plików, zwłaszcza wiele plików. Operacja tworzenia pliku zwykle ma najwyższy narzut. Kopiowanie z dysku na dysk traktuj każdy dysk jako wcześniej istniejący plik.