Pourquoi vous pouvez éditer un disque de 250 go de fichiers sur un ordinateur portable de 16 go

0
181
ani-obottleneck-5611.jpg

Un I/O goulot d’étranglement.

Robin Harris

Trame de fond

Pendant des décennies, la mémoire physique est incroyablement coûteux. Suite à de nombreuses machines sont venus avec des capacités de mémoire qui ressemble aujourd’hui risible. Pas de giga-octets ou méga-octets, mais en kilo-octets. La plus petite IBM 360 mainframe fait avec aussi peu que 8 KO de mémoire principale dans les années 1960. Même en 1980, RAM coûter plus de 1000 $par mégaoctet. Aujourd’hui, c’est un demi-penny.

Parce que les souvenirs étaient si minuscules, tous les programmes ont dû être entassé dans la capacité disponible. Les programmes sont allés à élaborer des longueurs de segments de mouvement dans et hors de physique (RAM) de la mémoire.

Mais dans les années 1970, les architectes ont eu une brillante idée: étendre la mémoire physique par la virtualisation et le stockage sur disque dur pour l’ajout de la capacité. Le système d’exploitation serait en mesure de gérer le problème de déplacement des segments de programme dans et hors de la mémoire physique, d’économie programmeurs indicible chagrin.

Et ils l’ont fait. IBM 370 série MVS (Multi-Stockage Virtuel) et DEC VMS (Système de Mémoire Virtuelle, en cours d’exécution sur l’Adresse Virtuelle Extension (VAX) le matériel) ont été deux instanciations de la mémoire virtuelle systèmes. Au moment de l’détails, comme le meilleur des formats de page et limitin dérouillée – ont été vivement débattue.

Au fil du temps, le meilleur tout autour de conceptions ont été prouvés, optimisé, et de les copier. Aujourd’hui, la mémoire virtuelle est intégrée dans les processeurs x86 – et la plupart des autres Processeurs et systèmes d’exploitation supportés. En conséquence, la plupart des gens n’ont aucune idée qu’il existe même, il est si transparent et efficace.

La mémoire virtuelle bases

Lorsque vous lancez une application, le système d’exploitation attribue à un espace d’adressage virtuel. Dans Windows 8.1 et plus tard avec la version 64 bits, les applications, que l’espace d’adressage est un gros 128TB, tandis que macOS offre un immense 18 exaoctets de adressable de l’espace pour les processus 64 bits. Des applications 32 bits sont limités à un maximum de 4 go de mémoire virtuelle et parfois moins.

Le système d’exploitation Windows, Linux ou macOS – gère ensuite l’virtuelle et adresse physique de la traduction et de l’échange et de la RAM physique des actifs des segments de programme. Généralement les segments (ou pages), 4 ou 8 KO. Le PROCESSEUR fournit du matériel d’aider à l’OS afin de garder une trace de millions, voire des milliards de pages.

Comment l’OS de connaître les pages de garder en mémoire physique? Le système d’exploitation assure le suivi de la moins récemment utilisée pages pour chaque processus, et que la demande pour davantage de mémoire physique se développe, il permute le moins de pages utilisées pour libérer de la RAM pour plus de pages actives.

Naturellement, la vitesse à laquelle les pages peuvent être échangés en a un impact énorme sur les performances du système. C’est pourquoi avancé PCIe/NVMe lecteurs, comme ceux dans le dernier MacBook Pros, ils sont indispensables.

De stockage de latence est critique

Avec les temps d’accès mesurée en une fraction de seconde, le temps qu’il faut pour changer de page est réduite de 6 à 10 millisecondes sur un disque dur, potentiellement (je n’ai pas vu le temps d’accès pour le nouveau MacBook Pro Ssd), 10 µs – un millier de fois plus rapide. Depuis de nombreuses PCIe/NVMe démonstrations ont des temps d’accès de 3 à 4 µs gamme, le nouveau Mac disques Ssd pourrait être 2-3 mille fois plus rapide qu’un disque dur.

Plus les Mac les plus récents utiliser les Ssd. De nouveau, le temps de latence de référence sont rares, mais d’autres de haute performance SATA Ssd ont des latences dans les 100 à 150 µs, rend le nouveau Mac Ssd potentiellement 10-50x plus rapide. La ligne de fond est que très vite de stockage rend la mémoire virtuelle de courir plus vite et fait un très chargés système plus réactif et plus performant.

Comme tout système, un système de mémoire virtuelle peut être surchargée. Si vous êtes l’alternance rapide entre la mémoire intensive des applications, comme un éditeur de vidéo, Photoshop, un logiciel DAW, une vidéo des effets du programme et un outil de compression, votre système peut ralentir le swap de la circulation accable le système d’e/S. Pro astuce: ne le faites pas!

Le Stockage des Bits de prendre

À partir de la pointe de la fonctionnalité dans les années 70, omniprésent et oublié dans les 10s, la mémoire virtuelle est la technologie qui permet à votre ordinateur portable ou de bureau pour exécuter des jeux de données au-delà de la taille de la RAM. J’ai souvent modifier 250GB ProRes des fichiers vidéo sur mes cinq ans de 16 go MacBook Pro, sans dépasser le maximum de l’utilisation de la RAM.

Dans mon expérience, la plupart des problèmes de performance de la pro applications ne sont pas virtuels liés à la mémoire – en supposant une capacité de stockage suffisante – mais tournent autour inefficace code, l’insuffisance de l’UC ou de la performance graphique, ou d’autres goulots d’étranglement du système dans les pilotes ou les réseaux. Dans l’avenir, avec l’avènement de la haute performance de la mémoire RAM non volatile, on peut être en mesure de les faire disparaître de la mémoire virtuelle que l’ensemble des systèmes, en le remplaçant par de plusieurs téraoctets principaux souvenirs qui combinent la RAM et le stockage en un seul espace d’adressage.

Mais c’est au moins de cinq ans et d’une histoire pour un autre post.

Courtois commentaires bienvenus, bien sûr.