Co to jest porządkowanie pamięci?
Kolejność lub zmiana kolejności w pamięci to proces, w którym centralna jednostka przetwarzająca (CPU) przyjmuje żądania pamięci komputera i porządkuje je według najbardziej zoptymalizowanego wzorca. Proces przełącza się wokół żądań, często procesy są wykonywane poza kolejnością, ale użytkownicy i programiści tego nie widzą. Zwykle można to zrobić bardzo łatwo w systemie z jednym procesorem, ale w systemie z kilkoma procesorami może wystąpić problem podczas zamawiania. Gdyby ten proces nie był używany, komputery nie byłyby tak wydajne przy wypełnianiu żądań użytkowników.
Ilekroć ktoś robi coś na komputerze - na przykład porusza myszą, otwiera program lub edytuje obraz - procesor musi zatwierdzić użycie pamięci dla zadania. Te żądania zwykle przychodzą liniowo, ale rzadko są przetwarzane w ten sposób. Dzięki porządkowaniu pamięci zadania są przetwarzane w najlepszy możliwy sposób, aby komputer był szybszy. Na przykład, jeśli CPU może łatwo zająć się drugim procesem przed pierwszym, wykorzysta pamięć dla tego procesu przed przejściem do innych.
Żądania są często wykonywane poza kolejnością, co może dezorientować użytkowników i programistów. Jednocześnie procesor jest zaprogramowany, aby wiedzieć, że porządkowanie pamięci może je pomylić, dlatego wykonuje wszystko w sposób, który sprawia wrażenie, jakby procesy były wykonywane liniowo, nawet jeśli nie są. Ułatwia to użytkownikom zrozumienie i zwykle uniemożliwia programistom wprowadzanie nadmiernego kodowania, aby zapewnić efektywne działanie procesora.
Kolejność pamięci zwykle można bardzo łatwo wykonać na komputerze z jednym procesorem, ale mogą wystąpić problemy z komputerem z kilkoma procesorami. Wynika to z faktu, że dostęp do pamięci jest łatwiejszy do zatwierdzenia i prawidłowego uporządkowania wokół jednego procesora, ale dwa lub więcej procesorów może się zawiesić podczas próby przetworzenia kilku zadań. Jeśli istnieje wystarczająca komunikacja między dwoma lub większą liczbą procesorów, problem ten zwykle zostaje złagodzony.
Bez uporządkowania pamięci zadania i komputer mogą być trudniejsze. Po stronie komputera procesor byłby w stanie zaspokoić żądania tylko w momencie ich otrzymania, co oznacza, że cały proces zwalnia i może powodować, że użytkownicy będą czekać. Dla programisty musiałby napisać nadmierne kodowanie, aby procesor właściwie zajął się wszystkimi zadaniami, co spowodowałoby, że tworzenie programu trwałoby znacznie dłużej.