CPU-ээр үүсгэгдсэн хаягийг логик хаяг хэмээн нэрлэдэг. Энэхүү хаяг нь физик хаягаас ялгаатай байна. Тодруулан хэлбэл, хөрвүүлэх болон ачаалах үед хаяглалтын логик болон физик хаяг нь ижил байх боловч ажиллуулах үеийн хаяглалтад эдгээр хаягууд нь ялгаатай байна. Энэ тохиолдолд бид мөн логик хаягийг виртуал хаяг гэж нэрлэдэг.

Програмын үүсгэсэн олон логик хаягийн багцыг логик хаягийн зай гэж нэрлэдэг бол тэдгээр логик хаягуудад харгалзах физик хаягийн багцыг физик хаягийн зай гэх ба хэрэгжүүлэлтийн үед логик болон физик хаягийн зай ялгаатай байна. Ажиллагааны үед виртуал хаягаас физик хаягт хийгдэх хөрвүүлэлт буюу буулгалт нь MMU буюу санах ойн удирдагын хэсэгт хийгдэнэ.


Хэрэглээ

засварлах
 
Зураг 1

Энэхүү буулгалтыг Зураг1-т харуулсан суурь регистрийн схемийн ерөнхийлчилсөн загвараар харуулж болно. Үүнд суурь регистрийн дахин байршуулалтын регистр гэж нэрлэнэ. Энэхүү регистрийн утга нь хэрэглэгчийн процессоор үүссэн хаяг бүр дээр тэдгээрийг санах ойруу илгээх үед нэмэгддэг.

Жишээлбэл, суурь регистр 14000 дээр байхад 0 дугаар байрлал руу хандах гэсэн оролдлого бүр динамикаар 14000 рүү шилжүүлэгдэх бөгөөд 346 дугаар байрлал нь 14346 рүү шилжүүлэгдэнэ. Хэрэглэгчийн үүсгэсэн процессууд хэзээ ч жинхэнэ физик хаягтай харьцдаггүй. Програм нь голчлон 346 байрлалыг заасан заагч үүсгэн, түүнийгээ санах ойд хадгалж бусад хаягуудтай харьцуулах зэргээр ашигладаг. Хэрэглэгчийн програм нь логик хаягтай ажилладаг ба хаягийн шилжүүлэлт хийдэг төхөөрөмж нь тэдгээрийн хоорондох шилжүүлгийг хийдэг.

Логик хаяг нь 0-ээс эхлэн хязгааргүй (max) байх бөгөөд харин физик хаяг нь R+0-оос R+max хүртэл байх бөгөөд R-ийг суурь болгон авна. Хэрэглэгч нь зөвхөн логик хаягийг үүсгэх бөгөөд өөрийн ажиллах хүрээг 0 болон max-ийн хооронд байлгана. Хэрэглэгч програмд логик хаягууд өгөгдсөн байх ёстой бөгөөд тухайн хаяг нь ашиглагдахаасаа өмнө физик хаяг руу хөрвүүлэгдсэн байх ёстой.

  • Silberschatz, A, Galvin, P.B & Gagne, G. 2005. Operating System Concepts. 7th Edition. John Wiley & Sons, Inc.