한 USB 디스크에서 다른 USB 디스크로 내용을 복사할 때 프로세서는 무엇을 합니까?

한 USB 디스크에서 다른 USB 디스크로 내용을 복사할 때 프로세서는 무엇을 합니까?

내가 복사하는 모든 데이터가 이를 통과합니까, 아니면 더 직접적인 다른 방법이 있습니까?

답변1

까다로운 것! 데이터는 실제로 CPU 자체를 통과하지 않습니다.

데이터와 중요한 1과 0은 칩셋이나 전용 I/O 칩 및 메모리를 통과하지만 파일을 복사할 때 복사 명령은 프로세서에 의해 실행됩니다.

당신 앞에 물체(데이터), 팔(칩셋/I/O 칩), 뇌(CPU)가 있다고 상상해 보십시오. 실제로 물체를 움직이기 위해 두뇌를 사용하는 것이 아니라, 두뇌가 팔에 물체를 움직이기 위한 "명령"을 실행합니다.

답변2

CPU는 소스 파일을 읽고 대상 파일을 쓰는 프로그램을 실행해야 합니다.

읽은 데이터는 (일반적으로) 주 메모리에 청크로 읽혀지지만 실제로는 CPU를 통과하지 않습니다.

답변3

지능형 채널이 있는 메인프레임에서 CPU는 채널에 복사를 수행하라고 지시합니다. 매우 효율적이며 CPU 오버헤드가 거의 없이 빠른 대규모 백업이 가능합니다.

안타깝게도 지능형 채널이 없으므로 CPU는 다음과 유사한 루프로 끝납니다.

각 파일(dev1)에 대해; 하다
   파일 생성(dev2);
   copyfilecontent(dev1, dev2);
끝;

많은 작은 파일, 특히 동일한 디렉터리에 많은 파일이 있지 않는 한 CPU 오버헤드는 그다지 높지 않습니다. 파일 생성 작업은 일반적으로 오버헤드가 가장 높습니다. 디스크 간 복사는 각 디스크를 기존 파일로 처리합니다.

관련 정보