Zalecane, 2022

Wybór Redakcji

Różnica między adresem logicznym i fizycznym w systemie operacyjnym

Adres jednoznacznie identyfikuje lokalizację w pamięci. Mamy dwa typy adresów, które są adresem logicznym i adresem fizycznym. Adres logiczny jest adresem wirtualnym i może być oglądany przez użytkownika. Użytkownik nie może bezpośrednio zobaczyć fizycznego adresu. Adres logiczny jest używany jako odniesienie, aby uzyskać dostęp do adresu fizycznego. Podstawową różnicą między adresem logicznym i fizycznym jest to, że adres logiczny jest generowany przez procesor podczas wykonywania programu, podczas gdy adres fizyczny odnosi się do lokalizacji w jednostce pamięci.

Istnieją inne różnice między adresem logicznym i fizycznym. Omówmy je za pomocą poniższego wykresu porównawczego.

Wykres porównania

Podstawa do porównaniaAdres logicznyAdres fizyczny
PodstawowyJest to wirtualny adres generowany przez procesorFizyczny adres to lokalizacja w jednostce pamięci.
Przestrzeń adresowaZestaw wszystkich logicznych adresów generowanych przez CPU w odniesieniu do programu jest określany jako Logiczna Przestrzeń Adresowa.Zestaw wszystkich adresów fizycznych odwzorowanych na odpowiednie adresy logiczne określany jest jako adres fizyczny.
WidocznośćUżytkownik może wyświetlić logiczny adres programu.Użytkownik nigdy nie może wyświetlić fizycznego adresu programu
DostępUżytkownik korzysta z adresu logicznego w celu uzyskania dostępu do adresu fizycznego.Użytkownik nie może uzyskać bezpośredniego dostępu do adresu fizycznego.
GeneracjaAdres logiczny jest generowany przez procesorAdres fizyczny jest obliczany przez MMU

Definicja adresu logicznego

Adres generowane przez CPU podczas pracy programu jest określane jako Adres logiczny . Adres logiczny jest wirtualny, ponieważ fizycznie nie istnieje. Dlatego jest on również nazywany adresem wirtualnym . Ten adres jest używany jako odniesienie do uzyskania dostępu do fizycznej lokalizacji pamięci. Zbiór wszystkich adresów logicznych generowanych przez perspektywę programów nazywany jest logiczną przestrzenią adresową .

Adres logiczny jest odwzorowywany na odpowiadający mu fizyczny adres przez urządzenie sprzętowe zwane jednostką zarządzania pamięcią . Metody wiązania adresu używane przez MMU generują identyczny logiczny i fizyczny adres podczas kompilacji i czasu ładowania . Jednak w czasie wykonywania metody wiązania adresu generują inny adres logiczny i fizyczny.

Definicja adresu fizycznego

Adres fizyczny identyfikuje fizyczną lokalizację w pamięci. MMU (moduł zarządzania pamięcią) oblicza fizyczny adres dla odpowiedniego adresu logicznego. MMU używa również adresu fizycznego do adresowania logicznego. Użytkownik nigdy nie zajmuje się fizycznym adresem. Zamiast tego dostęp do adresu fizycznego uzyskuje się poprzez odpowiadający mu adres logiczny użytkownika. Program użytkownika generuje adres logiczny i uważa, że ​​program działa w tym logicznym adresie. Ale program potrzebuje fizycznej pamięci do jego wykonania. W związku z tym adres logiczny musi zostać odwzorowany na adres fizyczny przed ich użyciem.

Adres logiczny jest odwzorowywany na fizyczny adres przy użyciu sprzętu zwanego Modułem Zarządzania pamięcią . Zbiór wszystkich adresów fizycznych odpowiadających adresom logicznym w logicznej przestrzeni adresowej nosi nazwę fizycznej przestrzeni adresowej .

Kluczowe różnice między logicznym i fizycznym adresem w systemie operacyjnym

  1. Podstawowa różnica między adresem logicznym i fizycznym polega na tym, że adres logiczny jest generowany przez procesor w perspektywie programu. Z drugiej strony adres fizyczny to lokalizacja istniejąca w jednostce pamięci.
  2. Zbiór wszystkich adresów logicznych generowanych przez procesor dla programu nazywa się logiczną przestrzenią adresową. Jednak zbiór wszystkich fizycznych adresów odwzorowanych na odpowiadające im adresy logiczne jest określany jako fizyczna przestrzeń adresowa.
  3. Adres logiczny jest również nazywany adresem wirtualnym, ponieważ adres logiczny nie istnieje fizycznie w jednostce pamięci. Fizyczny adres to lokalizacja w jednostce pamięci, do której można uzyskać fizyczny dostęp.
  4. Identyczny adres logiczny i adres fizyczny są generowane przez metody kompilacji czasu kompilacji i czasu ładowania.
  5. Adres logiczny i fizyczny wygenerowany podczas metody wiązania adresu w czasie wykonywania różni się od siebie.
  6. Adres logiczny jest generowany przez CPU podczas pracy programu, podczas gdy fizyczne adresy są obliczane przez MMU (moduł zarządzania pamięcią).

Wniosek:

Adres logiczny jest punktem odniesienia używanym w celu uzyskania dostępu do adresu fizycznego. Użytkownik może uzyskać dostęp do adresu fizycznego w jednostce pamięci za pomocą tego adresu logicznego.

Top