Хаа сайгүй нөөш

Cache-ийг Нөөш гээд орчуулчихлаа,
таарах эсэхийг тунгааж үзнэ биз ээ.

Компьютер, мэдээллийн технголгийн орчинд хатуумжын түвшнээс авахуулаад сүлжээний түвшин хүртэл хаа сайгүй нөөшийг хэрэглэж хандалт хийх хугацаа болон зарцуулах тооцооллыг хэмнэдэг. Хатуумжын түвшинд гэвэл, CPU-ний чипэнд санах ой руу хамгийн сүүлд хандсан хандалтуудыг хадгалж байдаг нэгдүгээр түвшний нөөш(L1 cache) байдаг. Энэ нөөш нь үндсэн санах ойгоос хандалтын хувьд асар хурдан боловч хэмжээгээр маш бага онцгой төрлийн санах ой юм. CPU-ний гадна талд хоёрдугаар түвшний нөөш(L2 cache) байна. Энэ нь L1-ээс арай их хэмжээтэй боловч CPU-аас тусдаа байрлах учир хандах хурд арай удаан. Хэрвээ санах ой руу хандах үед тухайн хаяг нөөшид байж байвал шууд нөөшөөс уншина. Санах ой руу бичих үед мөн тэр өгөгдлийг нөөшид давхар хадгална. Нөөшид байхгүй өгөгдлийг үндсэн санах ойгоос унших үед тухайн хаягийн ойролцоох хаягуудыг хамтад уншаад нөөшилдөг, учир нь санах ойгоос өгөгдөл уншигдсан бол, түүний зэргэлдээх өгөгдлүүдийг мөн унших магадлалтай; гэх мэт санах ойг нөөшлөх янз бүрийн алгоритм байдаг. Энэ мэтээр хандалтын хувьд үнэтэй(их үйлдэлтэй, удаан) өгөгдлийг хямдхан хандалттай(цөөн үйлдэлтэй, хурдан) газар нөөшилж хэрэглэх нь шалгарсан шийдэл юм.

Хатуу дискний хувьд 1M-16M хэмжээтэй дотоод нөөш бий. Хатуу дискээс уншигдсан бичигдсэн өгөгдлүүд нөөшид хадгалагдаад хэрэгтэй үед дискны толгой хөдлөхгүйгээр уншигдана гэсэн үг. Хатуу дискэнд бичилт хийгдэх үед өгөгдлийг нөөшдөө хадгалчаад дискны хавтан руу бичээгүй байхдаа өгөгдөл бичигдсэн гэсэн хариуг үйлдлийн систем рүү буцаана, харин дараа нь тэр өгөгдлөө аль болох хурдан хавтан руу бичих болно. Хэрэв нөөшөөс дискрүү “жинхнээсээ” бичиж амжаагүй байхад тог тасрах гэх мэтээр диск унтарвал өгөгдөл алдагдах юм. Үүнээс сэргийлэхийн тулд хатуу диск нөөшийг хадгалж байх бяцхан батерэйтэй байх болжээ. Samsing 2007 ондоо багтаад флэш санах ойтой хавсарсан хибрид хатуу диск үйлдвэрлэнэ гээд байгаа. Энэ нь үйлдлийн систем хурдан ачаалагдах, дискний эргэлтийг хэмнэснээр механик гэмтлийг багасгах, эрчим хүчний хэмнэлттэй гээд олон давуу талуудтай. Гэвч зөвхөн Windows Vista-д зориулагдаж байгаа нь жаахан онцгүй.

Зарим ISP интэрнэтийнхээ урсгалыг хэмнэх үүднээс вэб нөөш ашигладаг тул, яг одоо ISP дээр тань энэ хуудас нөөшлөгдчихсөн байхыг үгүйсгэхгүй. Ингээд ISP-ийн нөөшөөр дамжиж таны компьютер дээр ирээд толилуур(browser)ын нөөш рүү хадгалагдана. Толилуур вэб сайт руу хандахад IP хаяг нь хэрэгтэй. Домэйн нэрээр(жишээ нь ochko.blogspot.com) нь IP хаягыг олохын тулд Домэйн нэрний сэрвэр лүү хандана, энэ сэрвэр дээр мөн домэйн нэрний нөөш байх бөгөөд тэндээс вэб сайтын IP хаягийг хайж олно. Цаашлаад энэ вэб ардаа өгөгдлийн сан ашигладаг бол өгөгдлийн сангийн нөөшид бас энэ бичлэг хадгалагдаж байж мэднэ.

Систем хөгжүүлэлтэд ихэвчлэн өгөгдлийн сан руу хандах хандалтыг нөөшилдөг. Дараах хоёр янз байдаг:

  • өгөгдлийн сан руу хандах холболтыг нөөшлөх,
  • өгөгдлийн сангаас уншсан мэдээллийг нөөшлөх.

Өгөгдлийн сан руу шинэ холболт үүсгэх нь нилээд үнэтэй байдаг учраас нэг үүсгэсэн холболтоо ахин дахин ашиглахын тулд нөөшилж хадгалахыг connection pool гэдэг. Олон дахин хэрэглэгдэх мэдээллийг өгөгдлийн сангаас уншаад апликэшний түвшинд нөөшлөх нь хурдыг нэмэгдүүлэх хамгийн шалгарсан арга байдаг. Өгөгдөл ер нь хэрэглэгдэх газартаа ойрхон нөөшлөгдөх тусмаа үр ашиг нь төдий чинээ их байдаг тул байнга хэрэглэгдэх өгөгдлийг програмынхаа санах ойд байрлуулах нь өгөгдлийн сангийн нөөшид байрлуулахаас хурдан гэсэн үг.

Хэрэгтэй бол ороод үзээрэй: