Що робить процесор, коли я копіюю речі з одного диска USB на інший?


21

Чи всі дані, які я копіюю, проходять через них чи є інший, більш прямий спосіб?


Процесор активний і керує USB, але не за допомогою firewire (оскільки у цієї карти є власний процесор)
tobylane

Відповіді:


31

Хитрий один! Дані насправді не проходять через центральний процесор.

Дані та критичні 1 та 0 проходять через чіпсет, або виділені мікросхеми вводу / виводу та пам'ять, однак, коли ви копіюєте файли, команда зробити копію запускається процесором.

Уявіть, що перед вами є об'єкт (дані), руки (чіп чип / вводу / виводу) та ваш мозок (процесор). Ви фактично не використовуєте свій мозок для переміщення об'єкта, ваш мозок виконує «команду» на ваші руки, щоб перемістити об’єкт.


1
Гарна метафора, @Wil.
Shinrai

4
@Shinrai - хоча це не витримує, якщо вони психічні! Я б хотів перемістити предмет своїм мозком!
Вільям Гілсум

Хіба DMA чи щось не обійшли процесор?
o0 '.

2
DMA допомагає, надаючи ЦП interruptщоразу, коли команда IO block device, наприклад USB-накопичувач, завершується . Потім процесор продовжує виконувати копіювання. Насправді, те, що працює ЦП, - це керувати ioctlкодом kernel, який взаємодіє з драйверами пристрою для копіювання chunks(власне ім'я) DMA. Процесор також обробляє asynchronous IOі sync IOтрохи відрізняється від точки зору виконання ядра-коду.
Генрік

1
Я не роблю це для представника, просто люблю цей сайт і допомагаю людям! Я не думаю, що це краще, ніж два речення, але, сподіваємось, це краще зараз .... якщо вам це не подобається, я думаю, що є нова річ для нижчих членів, спробуйте редагувати її самостійно!
Вільям Гілсум

5

Процесор повинен запустити програму, яка зчитує вихідний файл, а потім записує файл призначення.

Дані, які читаються, (як правило) будуть зчитуватися в основну пам'ять частинами, але насправді не проходять через процесор.


4

У мейнфреймі з інтелектуальними каналами процесор просто скаже каналам зробити копію. Дуже ефективний і дозволяє робити швидкі резервні копії з невеликими витратами на процесор.

На жаль, у нас немає інтелектуальних каналів, тому процесор опиняється в циклі, подібному до:

для кожного файлу (dev1); робити
   createfile (dev2);
   copyfilecontent (dev1, dev2);
кінець;

Накладні витрати центрального процесора не такі великі, якщо в одній директорії є багато невеликих файлів, особливо багато файлів. Операція створення файлу зазвичай має найвищі накладні витрати. Диск на копію диска просто розглядайте кожен диск як попередньо існуючий файл.


Що таке інтелектуальні канали? Чи можете ви показати для цього фрагмент псевдокоду?
Генрік

Інтелектуальні канали - це апаратні пристрої, які обробляють введення-виведення на мейнфреймі. Я сподіваюся, що вони є мікрокомп'ютерами з обмеженою функціональністю. Поняття не має, як виглядає їх код. Вони були дуже важливі, коли мейнфрейми обробляли 100 користувачів Інтернету в 8 МБ пам'яті. Я вважаю, що комп'ютери Commodore раніше мали другий процесор у своїх дискових системах. Вони, можливо, мали подібний функціонал.
BillThor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.