Wykres porównania
Podstawa porównania | Ciągłe przydzielanie pamięci | Nieciągłe przydzielanie pamięci |
---|---|---|
Podstawowy | Przydziela kolejne bloki pamięci do procesu. | Przydziela oddzielne bloki pamięci do procesu. |
Koszty ogólne | Przyległa alokacja pamięci nie ma wpływu na translację adresów podczas wykonywania procesu. | Nieciągłe przydzielanie pamięci wiąże się z koniecznością tłumaczenia adresu podczas wykonywania procesu. |
Wskaźnik wykonania | Proces wykonuje fatser w przydziale alokacji pamięci | Proces wykonuje się stosunkowo wolniej w przypadku nieciągłego przydzielania pamięci. |
Rozwiązanie | Miejsce w pamięci musi być podzielone na partycję o stałej wielkości, a każda partycja jest przydzielana tylko do jednego procesu. | Podziel proces na kilka bloków i umieść je w różnych częściach pamięci, zależnie od dostępności dostępnej pamięci. |
Stół | Tabela jest utrzymywana przez system operacyjny, który utrzymuje listę dostępnych i zajmowanych partycji w obszarze pamięci | Tabela musi być utrzymywana dla każdego procesu, który przenosi adresy bazowe każdego bloku, który został pozyskany przez proces w pamięci. |
Definicja przydziału przydziału pamięci
System operacyjny i procesy użytkownika muszą być umieszczone w pamięci głównej. Stąd pamięć główna jest podzielona na dwie partycje: na jednej partycji znajduje się system operacyjny, a na innych procesy użytkownika. W zwykłych warunkach kilka procesów użytkownika musi znajdować się w pamięci w tym samym czasie, dlatego ważne jest rozważenie przydziału pamięci do procesów.
Przydział alokacji pamięci jest jedną z metod przydzielania pamięci. Przy alokacji przyległej pamięci, gdy proces żąda pamięci, pojedyncza ciągła sekcja bloków pamięci jest przypisywana do procesu zgodnie z jego wymaganiami.
W schemacie zmiennych partycji system operacyjny utrzymuje tabelę, która wskazuje, która partycja pamięci jest wolna i która zajmuje te procesy. Przyległa alokacja pamięci przyspiesza wykonywanie procesu przez zmniejszenie narzutów translacji adresów.
Definicja Nieciągłej alokacji pamięci
Nieciągłe przydzielanie pamięci umożliwia procesowi uzyskanie kilku bloków pamięci w różnych lokalizacjach w pamięci zgodnie z jego wymaganiami. Nieciągłe przydzielanie pamięci zmniejsza również straty pamięci spowodowane wewnętrzną i zewnętrzną fragmentacją. Ponieważ wykorzystuje otwory pamięci, utworzone podczas fragmentacji wewnętrznej i zewnętrznej.
Stronicowanie i segmentacja to dwa sposoby, dzięki którym fizyczna przestrzeń adresowa procesu nie jest ciągła. Przy nieciągłym przydzielaniu pamięci proces jest podzielony na bloki (strony lub segmenty), które są umieszczane w różnych obszarach pamięci zgodnie z dostępnością pamięci.
Nieciągłe przydzielanie pamięci ma zaletę zmniejszania strat pamięci, ale zwiększa również koszty związane z translacją adresu. Ponieważ części procesu są umieszczane w innej lokalizacji w pamięci, spowalnia to wykonywanie pamięci, ponieważ czas jest zużywany podczas tłumaczenia adresu.
W tym przypadku system operacyjny musi utrzymywać tabelę dla każdego procesu, który zawiera adres bazowy każdego bloku, który jest pozyskiwany przez proces w przestrzeni pamięci.
Kluczowe różnice między przynależnymi i nieciągłymi alokacjami pamięci
- Podstawowa różnica między alokacją pamięci ciągłej i nieciągłej jest taka, że przyległa alokacja przydziela jeden ciągły blok pamięci do procesu, podczas gdy niejednorodna alokacja dzieli proces na kilka bloków i umieszcza je w innej przestrzeni adresowej pamięci, tj. W sposób nieciągły. .
- Przy alokacji przyległej pamięci proces jest przechowywany w ciągłej przestrzeni pamięci; więc nie ma narzutu tłumaczenia adresu podczas wykonywania. Ale w nieciągłym przydzielaniu pamięci występuje obciążenie związane z translacją adresu podczas wykonywania procesu, ponieważ bloki procesu są rozmieszczone w przestrzeni pamięci.
- Proces zapisany w pamięci ciągłej działa szybciej w porównaniu z procesem przechowywanym w nieciągłej pamięci.
- Rozwiązaniem dla przydziału alokacji pamięci jest podzielenie obszaru pamięci na partycję o stałej wielkości i przydzielenie partycji tylko do jednego procesu. Z drugiej strony, przy nieciągłym przydzielaniu pamięci proces jest podzielony na kilka bloków, a każdy blok jest umieszczany w różnych miejscach pamięci, zależnie od dostępności pamięci.
- Przy alokacji przyległej pamięci system operacyjny musi utrzymywać tabelę, która wskazuje, która partycja jest dostępna dla procesu i która jest zajęta przez proces. Przy nieciągłym przydzielaniu pamięci, tabela jest utrzymywana dla każdego procesu, który wskazuje adres bazowy każdego bloku procesu umieszczonego w przestrzeni pamięci.
Wniosek:
Przyległa alokacja pamięci nie powoduje żadnych kosztów ogólnych i przyspiesza szybkość realizacji procesu, ale zwiększa marnotrawstwo pamięci . Z kolei nieciągłe przydzielanie pamięci tworzy narzut tłumaczenia adresu, zmniejsza szybkość wykonywania procesu, ale zwiększa wykorzystanie pamięci . Są więc plusy i minusy obu metod alokacji.