Address-space identifiers

Чөлөөт нэвтэрхий толь — Википедиагаас
Харайх: Удирдах, Хайлт

Хаягийн орон нь хэрэглэгдэж байгаа бүлэг хаяг гэж хэлж болно. Програм бүр мөн цөм нь бага зэрэг өөр өөр хаягийн огторгуйтай байна.

Физик хаяг[засварлах | edit source]

Компьютерын ухаанд үндсэн 2 төрлийн хаяг байдгийн нэг нь физик хаяг (англиар:Physical address) бөгөөд энэ бол санах ойн бодит хаяг юм. Физик хаягийг өөрөөр бодит хаяг (англиар:Real address) бинар хаяг (англиар:Binary address) гэж нэрлэдэг. Өгөгдлийн шугамаас (англиар:Data Bus) үндсэн санах ой руу хандах хүсэлт тавигдах эсвэл санах ойд бүртгэгдсэн оролт гаралтын төхөөрөмжид (англиар:memory mapped I/O device) хандахад, Физик хаяг нь хаягийн шугамын хэлхээнд хоёртын тооллын цифр хэлбэртэй байна. Өгөгдлийн санах ой дахь байрлалыг заасан хаяг болох логик хаягт хөрвүүлэлт хийсний үр дүнд физик хаягт шилжинэ.CPU-гийн үүсгэсэн хаяг нь санах ойн төхөөрөмжид хандах логик хаяг, санах ойн регистрт ганц л удаа ачаалагдах санах ойн жинхэнэ хаягийг физик хаяг гэдэг.

Физик хаягийг хэрэглэдэг бусад төхөөрөмж: Санах ойн шууд хандалттай компьютерын системүүд эх хавтан дээрээ нэмэлт төхөөрөмжүүд суурилуулах боломжтой болсон ба харин төв процессор хаягийг нь санах ойд хаягладаг тул эдгээр төхөөрөмжүүд физик хаяг ойлгох чадвартай байх хэрэгтэй болдог байна.


Виртуал хаяг[засварлах | edit source]

Хэрэглэгчийн процесс өөрийн байрлалаас үл хамааран гаргах хаягийг логик хаяг ( виртуал хаяг ) гэдэг.

Виртуал хаягийн хүрээнд үйлдлийн системийн програм нь хэрэглэгдэж байгаа эсвэл тус тусдаа ажиллана гэдгийг зохицуулахдаа хаягийн зайг ашигладаг. Энэ нь үйлдлийн системээс өгсөн дүрмийн дагуу ажиллаж, өгөгдлийг хадгалах боломжоор хангадаг үргэлжилсэн хаягийн талбар юм.  Хаягийн зай нь  виртуал хаягийн хүрээг үйлдлийн системд ашиглах үйл явцыг боломжтой болгодог.

Виртуал хаягийн зай (VAS) эсвэл хаягийн зай нь виртуал хаягийн хүрээг үйлдлийн системд ашиглах үйл явцыг боломжтой болгодог. Хаягийн зайд виртуал хаягийн хүрээ нь тэгээс эхлэх ба үйлдлийн системийн архитектурын зөвшөөрсөн хамгийн өндөр хаяг хүртэл сунгаж болно. Энэ нь OS хувилбарууд болох 32-бит 4 байт эсвэл 64-битийн 8 байт байж болно.

Програм хангамжийн өгөгдлийг хадгалах болон авахын тулд өгөгдөл нэг бүрийн хаяг тус тусдаа байрлаж байх ёстой эс бөгөөс програм мэдээлэлээ олж удирдах боломжгүй болно. Боломжит хаягийн тоо нь үндсэн хаягийн бүтцэд хамаарах бөгөөд эдгээр нь ихэвчлэн компьютерийн ямар архитектур ашиглаж байгаагаар хязгаарлагдана.

Виртуал хаяг болон физик хаягийн холбоо[засварлах | edit source]

Virtual address space and physical address space relationship

Төв процессордох физик хаягийн үүрэг:

Нэмэлт хийсвэр санах байгууламж (англиар: Virtual memory) бүхий компьютерт хийсвэр хаягаас (англиар: Virtual address) жинхэнэ хаягийг ялгахын тулд физик хаяг гэсэн нэр томьёог хэрэглэдэг.

Хөрвүүлэлтийн хугацаа, ачаалах хугацаа ба хаяглалтын аргууд нь логик болон физик хаягуудтай адил зохион байгуулагдана. Харин програмын биелэлтийн хугацаан дахь хаяглалт логик болон физик хаягуудад ялгаатай. Энэ тохиолдолд логик хаягыг виртуал хаягт хамааруулж үзнэ. Програмын бий болгодог бүх логик хаягуудыг логик хаягын хэмжээ гэнэ, эдгээр логик хаягуудтай тохирч байх бүх физик хаягуудыг физик хаягийн хэмжээ гэнэ. Иймээс програм биелэлтийн хугацаанд болох хаяглалт өөр өөр байдаг.
Ерөнхийдөө компьютерт санах ойн удирдах байгууламж нь (англиар: Memory management unit) санах ойн хийсвэр болон физик хаягуудыг хөрвүүлдэг. Санах ойн удирдах байгууламж хөрвүүлэлтээ хийхээс өмнө санах ойн хаягийг хийсвэр хаяг заах ба хөрвүүлэлт хийсний дараа бодит хаяг заана.

MS-DOS үйлдлийн системийн INTEL 80x86 процессорт хэрэглэсэн жишээ:
Physical address


Үндсэн регистр нь дахин байршуулах регистр болох ба утга нь санах ойруу илгээх хэрэглэгчийн процессоор үүсгэгдсэн хаяг бүрээр нэмэгдэнэ. Жишээлбэл, хэрэв үндсэн регистр 14000 байхад динамикаар 0-р хаягийг 14000-д дахин байрлуулвал 346-р хаяг 14346 болж дүрслэгдэнэ. MS-DOS үйлдлийн систем Intel 80x86 процессорыг дөрвөн дахин байрлуулах регистр ашиглан ачааллах болон ажиллуулах процесс хийдэг. Хэрэглэгчийн програмд жинхэнэ физик хаяг мэдэгдэхгүй байх боловч програм 346 хаягын заагчийг бий болгоод санах ойд хадгалан хөрвүүлэлт хийгээд бусад хаягуудтай адилхан байгаа эсэхийг харьцуулдаг. Зөвхөн санах ойн хаягт ашиглагдаж байгаа үед үндсэн регистрт дахин байршуулна. Санах ойг дүрслэхдээ техник хангамж логик хаягийг физик хаягт хөрвүүлдэг. Ерөнхийдөө бол логик хаягын хэмжээ 0-с максимум байхад физик хаягийн хэмжээ R+0 -с R+максимум байна. Энд R нь үндсэн регистрийн утга байна. Хэрэглэгч зөвхөн логик хаягийг үүсгэх ба процесс ажиллаж 0-с максимум хаягт байршуулна. Хэрэглэгчийн програм логик хаягуудыг л хэрэглэх ба эдгээр хаягууд нь хэрэглэгдэхээсээ өмнө физик санах ойн физик хаягийг дүрслэнэ. Логик хаягын гол зарчим нь санах ойг зохицуулж байгаа физик хаягуудыг тодорхойлох юм.

Хаягийн зайг тусгаарлагч[засварлах | edit source]

Хаягийн зайг тусгаарлагч ASIDs (англиар: address-space identifiers) гэдэг нь процесс бүрийг давтагдашгүй ялган тодорхойлдог бөгөөд процессийн хаягийн зайн хамгаалалтаар хангаж өгдөг. Зарим TLB нь өөртөө address-space identifiers ийг агуулж байдаг. TLB нь виртуал хуудасны дугаар олох үйлдлийг гүйцэтгэхдээ тухайн үед ажиллаж буй процессын ASIDs нь тэр виртуал хуудаст хамаарах ASIDs-тай тохирч буйг шалгаж байдаг. Хэрэв ASIDs тохирохгүй бол TLB miss (хуудасны дугаар TLB-д агуулагдаагүй) гэж үзнэ. ASIDs нь мөн TLB-г хэд хэдэн процессуудын мэдээллийг зэрэг хадгалах боломж олгодог. Хэрэв TLB нь хоорондоо ялгаатай ASIDs-г дэмжих чадваргүй тохиолдолд шинэ хуудсын хүснэгт сонгогдох бүрт (жишээ нь: контекст солих бүрт) дараагийн боловсруулах процесс буруу мэдээлэл хөрвүүлэлт ашиглахаас сэргийлэн TLB цэвэрлэгдэх ёстой. Үгүй бол TLB нь хуучин оролтын зөв виртуал хаяг агуулж байж болох ч өмнөх процессоос үлдсэн алдаатай эсвэл буруу хадгалж байж болно.


IBM-ийн Z/OS[засварлах | edit source]

IBM-ийн Z/OS нь хэрэглэгч тус бүрийг цор ганц хаягийн зайгаар хангадаг. Хаягийн зай тус бүрт хамаарагдах програмууд болон өгөгдөл хоорондын ялгаатай харилцааг дэмжиж байдаг. Хаягийн зай тус бүрийн дотор хэрэглэгч олон ажлуудыг хийж эхэлж болно ингэхдээ даалгавар хяналтын блок эсвэл TCBs-ээр олон програмыг зөвшөөрч ажиллуулна. Зарим талаараа Z үйлдлийн системийн хаягийн зай нь UNIX-ийн үйл ажиллагаатай төстэй. Мөн хаягийн зай танигч (ASID) нь процесс ID (PID)-тай адил. Цаашилбал, TCBs UNIX үйлдлийн систем тус бүр нэгэн зэрэг ажлын олон тохиолдлуудыг боловсруулж дэмждэг.

Гэсэн хэдий ч Z/OS нь олон виртуал хаягийн зайг давуу эрхтэйгээр ашигладаг. Z / OS нь олон хаяг зай ашигладаг. Виртуал хаягийн зөвшөөрөлтэй хаягийн хүрээ нь системийн төвийн хадгалах чадвараас илүү байдаг. Олон виртуал хаягийн зайг ашиглах нь ажил бүрийн өөрийн гэсэн тусдаа виртуал хаягийн талбарыг зааж, систем нь ажил бүрийн виртуал хаягт ажиллах боломжийг олгодог.

Олон виртуал хаягийн зайд алдаанууд нэг хаягийн зайд байна гэж байхгүй. Алдааг эс тооцвол ерөнхийдөө хадгалж хаяглах боломжтой. Улмаар системийн найдвартай байдлыг сайжруулах, алдааг нөхөн сэргээх зэрэг нь илүү хялбар болно. Тус тусдаа хаягийн зайд байгаа програмууд бие биенээ хамгаалж байдаг. Өөрийн хаягийн зайн дахь өгөгдлийг тусгаарлах, мөн өгөгдлийг хамгаалдаг.


Эшлэл[засварлах | edit source]

  • Operating System Concepts 7th edition

Мөн үзэх[засварлах | edit source]