Компьютерууд өгөгдлийг хэрхэн удирдаж, хадгалж байгааг ойлгох нь хэрэглэгчид болон хөгжүүлэгчдийн хувьд маш чухал юм. Энэ хичээл нь санах ойн менежмент ба хадгалалтын үндсэн ойлголтуудыг хамарч, эдгээр нөөцийг програм хангамж хэрхэн ашиглаж байгааг судлах болно.
Үндсэндээ компьютерийн санах ой нь процессор хурдан нэвтрэхийн тулд өгөгдлийг түр хугацаанд хадгалдаг газар юм. Компьютерийн санах ойн үндсэн төрлүүд нь Random Access Memory (RAM) ба Read-Only Memory (ROM) юм.
RAM нь тогтворгүй байдаг бөгөөд энэ нь зөвхөн тэжээлийн үед өгөгдлийг хадгалдаг гэсэн үг юм. Нөгөө талаас ROM нь тогтворгүй, байнга өөрчлөгддөггүй системийн програм хангамж гэх мэт чухал өгөгдлийг хадгалдаг.
Санах ойн менежмент нь ерөнхий гүйцэтгэлийг оновчтой болгохын тулд янз бүрийн ажиллаж байгаа програмуудад блок гэж нэрлэгддэг хэсгүүдийг хуваарилах, компьютерийн санах ойг хянах, зохицуулах үйл явц юм.
Үйлдлийн систем нь санах ойг програмуудад хуваарилах хэд хэдэн арга байдаг:
Динамик хуваарилалтыг стекийн хуваарилалт ба овоолгын хуваарилалт гэж хувааж болно. Стекийн хуваарилалт нь хурдан боловч хэмжээ нь хязгаарлагдмал, харин овоолгын хуваарилалт нь илүү уян хатан боловч C, C++ зэрэг хэл дээр гарын авлагын удирдлага шаарддаг.
Виртуал санах ой нь RAM-д бүрэн байхгүй байж болох процессуудыг гүйцэтгэх боломжийг олгодог техник юм. Энэ нь хатуу дискний нэг хэсгийг түр хадгалах буюу солих зай болгон ашиглах боломжтой санах ойг өргөтгөдөг.
Үйлдлийн систем нь виртуал санах ойг хуудсуудад хуваадаг бөгөөд шаардлагатай бол тус бүрийг бие даан RAM-д оруулж болно. Виртуал санах ойн хэмжээг тооцоолох томъёо нь \( \textrm{Виртуал санах ой} = \textrm{RAM хэмжээ} + \textrm{Орон зайг солих} \) юм.
Java, Python зэрэг програмчлалын хэлэнд санах ойн менежментийг ихэвчлэн хог цуглуулах процессоор автоматжуулдаг. Энэ процесс нь программ ашиглахаа больсон объектуудад хуваарилсан санах ойг автоматаар сэргээдэг.
RAM-д түр зуурын өгөгдөл хадгалахаас гадна програмууд, файлууд болон үйлдлийн системд байнгын өгөгдөл хадгалах шаардлагатай байдаг. Хадгалах төхөөрөмжийн хоёр үндсэн төрөл байдаг:
Файлын системийг эдгээр төхөөрөмж дээр хадгалагдсан өгөгдлийг удирдах, зохион байгуулахад ашигладаг. Нийтлэг файлын системд FAT32, Windows-д зориулсан NTFS, Linux-д зориулсан EXT4 орно.
Файлын систем дэх өгөгдөл нь үндсэн лавлахаас эхлээд шаталсан бүтцээр зохион байгуулагддаг. Файл эсвэл лавлах бүр нэр, хэмжээ, зөвшөөрөл зэрэг шинж чанаруудтай байж болно.
RAID (Redundant Array of Independent Disk) нь олон хадгалалтын төхөөрөмжийг нэг хадгалах нэгж болгон ашигладаг технологи бөгөөд өгөгдлийг нөөцлөх, гүйцэтгэлийг сайжруулах боломжийг олгодог. RAID-ийн хэд хэдэн түвшин байдаг бөгөөд тус бүр нь гүйцэтгэл болон нөөцийн өөр өөр тэнцвэрийг санал болгодог.
Үүлэн санах ой нь хэрэглэгчдэд интернетээр холбогддог алсын серверүүд дээр өгөгдлийг хадгалах боломжийг олгодог. Энэ нь өргөтгөх боломжтой, өгөгдөл нөөцлөх, интернет холболттой хаанаас ч ашиглахад хялбар байдлыг санал болгодог.
Санах ойн менежмент, хадгалах зөв шийдэл нь компьютерийн системийг жигд ажиллуулахад чухал үүрэгтэй. RAM-д түр зуурын өгөгдөл хадгалахаас эхлээд SSD болон үүлэн үйлчилгээнд урт хугацааны өгөгдөл хадгалах хүртэл эдгээр ойлголтуудыг ойлгох нь дижитал ертөнцийг удирдахад зайлшгүй шаардлагатай.