Цөмийн горим

**Цөмийн горим** (англиар: Kernel mode, []) өөрөөр **үйлдлийн системийн цөм** буюу товчоор *системийн цөм* нь үйлдлийн системийн төв бүрэлдэхүүн хэсэг юм. Аль ч төрлийн үйлдлийн систем дээр ажиллаж байгаа компьютерийн процессор нь хоёр өөр горимд ажиллах чадвартай. Хэрэглэгчийн горим болон цөмийн горим юм. Цөмийн горимд гүйцэтгэх код үндсэн тоног төхөөрөмж нь бүрэн гүйцэд, саадгүй нэвтэрдэг. Энэ нь процессор дотор байгаа санах ойн хаягуудаас алийг нь ч авч ажиллуулж чаддаг.Цөмийн горим нь ерөнхийдөө хамгийн доод түвшинд хамаарагддаг ихэнх үйлдлийн системийн үйл ажиллагааг итгэмжилдэг. Хэрвээ kernel mode-д эвдрэл гарвал маш том асуудал үүснэ. Цөмийн горимд ажилладаг бүх код нь нэг виртуал хаягийн зайг хуваалцаж байдаг. Цөмийн горимын осол гэмтэл нь бүхэл бүтэн үйлдлийн систем сүйрэхэд хүргэдэг. Орчин үеийн Microsoft Windows платформ дээрх төхөөрөмжийн драйверүүд нь цөмийн горим эсвэл хэрэглэгчийн горим дээр ажилладаг. хэрэглэгчийн горим дээр ажиллаж буй драйверийн гол давуу тал нь тогтвортой байдлыг сайжруулах юм. Муу бичигдсэн хэрэглэгчийн горим төхөөрөмжийн драйвер нь сайн бичигдсэн цөмийн системийг гэмтээж чадахгүй. Өөрөөр хэлбэл хэрэглэгчийн болон цөмийн горим нь ихэвчлэн үйл ажиллагааны илүү зардлыг бий болгодог.

## Хэрэглээ 
Програмыг хэрэглэгчийн горимд ажиллуулж, үндсэн үйлдлийн системийн бүрэлдэхүүн хэсэг нь цөмийн горимд ажилладаг. Ихэнх драйвер цөмийн горимд ажиллаж байхад зарим драйвер хэрэглэгчийн горимд ажилладаг байж болно. Програмуудад хэрэглэгчийн горимд тасалдлууд болон шилжилтийг хийж болдоггүй. Яагаад гэвэл програмын виртуал хаягийн талбар нь хувийн учраас, нэг програм нь өөр програмыг хамаарах мэдээллийг өөрчилж чадахгүй. Виртуаль машины програм хангамж нь кернель горимд ажиллаж чаддаг, үйлдлийн системээс хойш. Виртуаль машин дангаар зөвхөн хэрэглэгчийн горимд л үйлдэл гүйцэтгэх чадвартай. Физик машин нь 2 горимтой байдаг гэж үзвэл түүний нэг нь виртуаль машин байх ёстой. Ийм учраас бид виртуаль хэрэглэгчийн горим болон виртуаль кернель горимтой байх ёстой, мөн хоёуланг нь физик хэрэглэгчийн горимд ачааллах ёстой. Эдгээр үйл явцын шалтгаан нь хэрэглэгчийн горимоос кернель горим руу шилжүүлэхдээ /жишээ нь систем дуудах эсвэл давуу эрхтэй даалгавар гүйцэтгэхийг оролдох/ бодит машин нь виртуаль машинд виртуаль хэрэглэгчийн горимоос виртуаль кернель горим руу шилжүүлэх үйлдлийг хийх ёстой юм.Компьютерийн үйлдлийн системийн цөм нь Цөмийн систем дэх бүх зүйлс дээр бүрэн хяналт хийдэг компьютерийн програм юм.Энэ нь программ хангамж эхлэх үед өгөгдөл боловсруулaн тайлж оролт гаралтыг зохицуулдаг. Эдгээрт гар хянаж хэрэглэгч чанга яригч зэргийг зохицуулдаг. Цөмийн ийм үйл явц ажиллаж байгаа үедээ тасалдалуудтай харилцах даалгавруудыг хийдэг. Харин хэрэглэгчийн хийдэг бүх зүйл хэрэглэгчийн талбарт байгаа текст бичих програмуудыг ажиллуулах юм.      

Оролт гаралтын (I / O) төхөөрөмжүүд:       

Оролт гаралтын төхөөрөмж  гар, хулгана, диск, хэвлэгч, сүлжээний адаптер болон дэлгэцийн төхөөрөмжтэй зэрэг орно. Цөмийн зохих төхөөрөмж нь I / O гүйцэтгэх програмуудаас хүсэлт хуваарилж болон төхөөрөмж (ихэвчлэн цэг програм төхөөрөмж шийдлийн нарийн учруудын талаар мэдэж байх хэрэгтэй биш юм гэж олборлож) ашиглан тохиромжтой аргыг олгодог. Төхөөрөмжийн драйверууд нь тоног төхөөрөмж болон хэрэглээний програмууд, үйлдлийн системүүдийг ажиллахад хооронд нь орчуулагч холбогчийн үүрэг гүйцэтгэн ажилладаг хялбаршуулсан програм юм. Програмистууд эцсийн хэрэглэгчид ашиглахад зориулсан ямар ч техник хангамжийн програмын дээд түвшний код бичиж болно.  Цөмийм горим төхөөрөмжийн драйверийн хөгжүүлэлтийг зөвшөөөрдөг ба төхөөрөмжийг ажиллуулах, хүчин чадлыг удирдах оролт гаралтын үйл ажиллагааг цуцлах, асуудлын шалтгааныг мэдэх зэрэг үйл ажиллагааны хэрэгжилтийн стандартыг хангахыг оролддог.                                                                                       Оролт гаралт гэж нэрлэгдэх мак драйверүүдийг хөгжүүлдэг нээлттэй эхийн платформтой. Linux-ын орчинд програмистууд цөмийн хэсэг шиг, тусдаа ажиллах боломжтой модуль эсвэл хэрэглэгчийн горим драйвер (USB төхөөрөмж гэх мэт) шиг төхөөрөмжүүдийн драйверүүдийг зохиодог.

## User mode- хэрэглэгчийн горим 
Windows-р боловсруулалт хийхэд ихэвчлэн хэрэглэгчийн горимд ажилладаг. Хэрэглэгчийн горимын гүйцэтгэх код нь шууд тоног төхөөрөмж, санах ойг тодорхойлох чадвартай байдаг. Хэрэглэгчийн горимд ажиллаж байгаа хууль тоног төхөөрөмж эсвэл санах ой хандахын тулд системийн API-г нь шилжүүлж байх ёстой. Таны компьютер дээр ажиллаж байгаа код ихэнх нь хэрэглэгчийн горимд боловсруулагддаг. Хувийн байхаас гадна, хэрэглэгчийн горим хэрэглэх виртуал хаягийн орон зай хязгаарлагдмал байна. Хэрэглэгчийн горимд ажиллаж байгаа процессорт үйлдлийн системд зориулагдсан байдаг виртуал хаягууд нэвтэрч чаддаггүй. Хязгаарлагдмал хэрэглэгчийн горимд үйлдлийн системийн өгөгдлийг гэмтээх, виртуаль хаягийн талбарыг өөрчлөхөөс сэргийлдэг.

## Цахим холбоос 
* [Windows NT дахь цөмийн-  ба хэрэглэгчийн горим](https://msdn.microsoft.com/en-us/library/windows/hardware/ff554836(v=vs.85).aspx)
* Үйлдлийн системийн талаарх дэлгэрэнгүй мэдээлэл

Ангилал:Үйлдлийн системийн бүрэлдэхүүн
Ангилал:Үйлдлийн системийн онол