Co to jest porządkowanie pamięci?

Porządkowanie pamięci lub zmiana kolejności to proces, w którym jednostka centralna (CPU) przyjmuje żądania dotyczące pamięci komputera i porządkuje je według najbardziej zoptymalizowanego wzorca. Proces przełącza się wokół żądań, często procesy są kończone w niewłaściwy sposób, ale użytkownicy i programiści tego nie widzą. Zwykle można to zrobić bardzo łatwo w systemie z jednym procesorem, ale system z kilkoma procesorami może napotkać problem podczas zamawiania. Gdyby ten proces nie był używany, komputery nie byłyby tak wydajne podczas wypełniania żądań użytkowników.

Za każdym razem, gdy 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 procesor może z łatwością zająć się drugim procesem przed pierwszym, użyje pamięci dla tego procesu przed przejściem do innych.

Żądania często są wykonywane niewłaściwie, co może dezorientować użytkowników i programistów. Jednocześnie procesor jest zaprogramowany tak, aby wiedzieć, że porządkowanie pamięci może je zmylić, więc wykonuje wszystko w sposób, który sprawia wrażenie, jakby procesy były realizowane liniowo, nawet jeśli tak nie jest. Ułatwia to użytkownikom zrozumienie i zwykle uniemożliwia programistom wprowadzanie nadmiernego kodu, aby zapewnić wydajną pracę procesora.

Zazwyczaj porządkowanie pamięci można bardzo łatwo wykonać na komputerze z jednym procesorem, ale mogą wystąpić problemy z komputerem z kilkoma procesorami. Dzieje się tak, ponieważ dostęp do pamięci jest łatwiejszy do zatwierdzenia i odpowiednio uporządkowany za pomocą jednego procesora, ale dwa lub więcej procesorów może zawieść podczas próby przetwarzania kilku zadań. Jeśli istnieje odpowiednia komunikacja między dwoma lub więcej procesorami, problem ten jest zwykle łagodzony.

Bez uporządkowania pamięci zadania mogą być trudniejsze dla komputera i programisty. Po stronie komputera procesor byłby w stanie zaspokajać żądania tylko wtedy, gdy one przychodzą, co oznacza, że ​​cały proces spowalnia i może powodować, że użytkownicy będą czekać. Dla programisty musiałby napisać nadmierne kodowanie, aby procesor poprawnie wykonał wszystkie zadania, co spowodowałoby, że tworzenie programu trwałoby znacznie dłużej.