На мою думку, найважливішою причиною є те, що більшість програм у Windows залежать від реєстру . Реєстр, напевно, є добре організованим сховищем, однак, як відомо, він не є дуже ефективним. Під час першого встановлення Windows розмір реєстру невеликий, а операції пошуку недорогі; однак при встановленні все більшої кількості реєстрів програм стає більше і важче керувати.
Ще один фактор - фрагментація диска. NTFS і FAT дуже відомі своєю нездатністю запобігти фрагментації. З іншого боку, файлові системи Linux, особливо ext3 (у мене немає досвіду роботи з reiserFS або іншими альтернативами), досить стійкі до фрагментації.
Короткий праймер на фрагментацію
Що таке фрагментація? Ця стаття робить це добре, пояснюючи це, але суть її полягає в тому, що Windows кладе всі свої файли разом в одне місце на диску, а Linux поширює їх по всьому. Це означає, що, коли файл зростає в Windows, він ризикує бути настільки великим, що він перекриває розподіл жорсткого диска наступного файлу, і тому його потрібно або перемістити, або (швидше за все) фрагментувати, при цьому новий фрагмент зберігається на інше місце на жорсткому диску. Наступного разу, коли доступ до цього файлу, Windows фактично має зробити двадоступ до диска, один для початкового файлу та другий для новоствореного фрагмента. Коли файл зростає в Linux, з іншого боку, для нього залишається більше, ніж достатньо місця, і ОС йде щасливо. Метод Linux має невеликий недолік на механічних жорстких дисках, і тому, що файли розповсюджуються по всьому місцю, є невелика затримка доступу до них за низкою «збитих» файлів. Проект e4rat працює досить добре для усунення або зменшення деяких із цих затримок (лише файлових систем ext4), і понесені накладні витрати ніколи не гірші за те, що Windows відчуває від фрагментації файлів.
Ще один фактор - це невелика хитрість, яку виконує Windows: Установка Windows ніколи не працює, коли вона працює. Вікна починає багато процесів післяВи входите в систему. Відмінність системних процесів від користувацьких процесів трохи неясна для Windows, особливо для старих версій до XP. І багато програм Windows дуже хочуть запустити фонові процеси та розмістити піктограми лотка. З часом інсталяція Windows починає все більше процесів при запуску. Однак Linux суворо запускає всі системні процеси перед входом у систему. Після входу в систему запускається лише мінімальна кількість процесів. Linux також ніколи не рекомендував використовувати фонові сервіси, пов'язані з конкретними завданнями конкретного користувача, або використовувати піктограми лотка. Остання версія Gnome забороняє всі програми розміщувати піктограми лотка, за винятком дуже вузького білого списку. Тож з часом установка Linux все ще запускає лише обмежену кількість процесів після запуску.
Я впевнений, що є інші численні фактори, які сприяють цьому явищу, це основні з них, які мені спадають на думку.