Le basi di esso si dividono in alcuni componenti chiave dell'intero sistema: l'elemento UI (la parte grafica), il kernel stesso (ciò che parla all'hardware) e il formato in cui sono memorizzati i dati (cioè il file system ).
Andando indietro, NTFSè stato de facto per Windows per qualche tempo, mentre il de facto per le principali varianti di Linux è il extfile system. Il file system NTFS stesso non è cambiato da Windows XP (2001), esistono molte funzionalità (come la riduzione / correzione della partizione, NTFS transazionale, ecc.) Sono funzionalità del sistema operativo (Windows Vista / 7/8/10) e non NTFS stesso. Il extfile system ha avuto l'ultima versione stabile stabile ( ext4) nel 2008. Dal momento che il file system stesso è ciò che governa come e dove si accede ai file, se stai usando ext4c'è una probabilità che noterai un miglioramento per accelerare su NTFS; nota tuttavia se hai usato ext2potresti notare che è comparabile in termini di velocità.
Potrebbe anche essere che una partizione sia formattata in blocchi più piccoli dell'altra. L'impostazione predefinita per la maggior parte dei sistemi è 4096 byte 1 , 2 dimensioni del cluster, ma se si formatta la ext4partizione in modo simile a 16k 3, ogni lettura sul ext4sistema otterrebbe 4x i dati rispetto al sistema NTFS (il che potrebbe significare 4x i file a seconda di ciò che è memorizzato dove / come e quanto grande, ecc.). Anche la frammentazione dei file può avere un ruolo nelle velocità. NTFS gestisce la frammentazione dei file in modo molto diverso rispetto al extfile system e con 100k + file, ci sono buone probabilità che ci sia della frammentazione.
Il componente successivo è il kernel stesso (non l'interfaccia utente, ma il codice che parla effettivamente all'hardware, al vero sistema operativo). Qui, onestamente non c'è molta differenza. Entrambi i kernel possono essere configurati per fare determinate cose, come la memorizzazione nella cache / buffering del disco, per velocizzare le letture e le scritture percepite, ma queste configurazioni di solito hanno gli stessi compromessi indipendentemente dal sistema operativo; ad esempio, la memorizzazione nella cache potrebbe aumentare notevolmente la velocità di copia / salvataggio, ma se si perde energia durante la scrittura della cache (o si estrae l'unità USB), si perderanno tutti i dati non effettivamente scritti su disco e probabilmente anche i dati corrotti già scritti su disco.
Ad esempio, copia molti file su un'unità USB formattata FAT in Windows e Linux. Su Windows potrebbero essere necessari 10 minuti, mentre su Linux ci vorranno 10 secondi; subito dopo aver copiato i file, rimuovi in sicurezza l'unità espellendola. Su Windows verrebbe immediatamente espulso dal sistema e quindi potresti rimuovere l'unità dalla porta USB, mentre su Linux potrebbero essere necessari 10 minuti prima di poter effettivamente rimuovere l'unità; questo a causa della memorizzazione nella cache (ovvero Linux ha scritto i file su RAM, quindi li ha scritti sul disco in background, mentre Windows senza cache ha scritto immediatamente i file sul disco).
L'ultima è l'interfaccia utente (la parte grafica con cui l'utente interagisce). L'interfaccia utente potrebbe essere una bella finestra con alcuni grafici fantastici e belle barre che mi danno un'idea generale di quanti file vengono copiati, quanto è grande tutto e quanto tempo potrebbe richiedere; l'interfaccia utente potrebbe anche essere una console che non stampa alcuna informazione tranne quando è stata eseguita. Se l'interfaccia utente deve prima passare attraverso ogni cartella e file per determinare quanti file ci sono, oltre a quanto sono grandi e dare una stima approssimativa prima che possa effettivamente iniziare la copia, quindi il processo di copia può richiedere più tempo a causa dell'interfaccia utente che deve Fai questo. Ancora una volta, questo è vero indipendentemente dal sistema operativo.
È possibile configurare alcune cose in modo che siano uguali (come la memorizzazione nella cache del disco o le dimensioni del cluster), ma realisticamente parlando si riduce semplicemente al modo in cui tutte le parti si uniscono per far funzionare il sistema e più specificamente con quale frequenza vengono aggiornati effettivamente quei pezzi di codice. Il sistema operativo Windows ha fatto molta strada da Windows XP, ma il sottosistema del disco è un'area che non ha visto molti TLC nel sistema operativo in tutte le versioni per molti anni (rispetto all'ecosistema Linux che sembra vedere alcuni nuovi FS o miglioramento piuttosto frequentemente).
Spero che aggiunga un po 'di chiarezza.