Цаг агаар

Sunday, May 10, 2015

Үйлдлийн систем хичээлийн лекц хураангуй

              1. Тооцоолон боловсруулах систем, түүний бүрэлдэхүүн хэсгүүд
                       
            Үйлдлийн системийн зорилго: Техник хангамжийг удирдаж түүний хүчин чадлыг хэрэглэгчид дээд хэмжээгээр ашиглах боломжийг олгох явдал юм. Үйлдлийн систем ба техник хангамжийн цогцыг тооболс (Тооцоолон Бодох     Систем буюу Компьютерийн систем) гэж нэрлэдэг. Тооболс гэдэг нь тооцоолон боловсруулах машин түүнд холбогдсон янз бүрийн техник хэрэгсэл тэдгээрийн үйл ажиллагааг удирдаж хянах зориулалттай хэрэглээний програмуудын системийг хэлнэ.
Тооболсын үндсэн элементүүд нь:
            - Процессор (CPU)
            - Санах ой (Үндсэн ба туслах санах ой)
            - Оролт/ Гаралтын модуль (Гадаад санах төхөөрөмж, Холбооны төхөөрөмжүүд, модем, сүлжээний карт гэх мэт терминалууд)
            - Системүүдийг холбогч (Процессор, санах ой болон Оролт/Гаралтын модулиудыг холбох механизм, элементүүд, өөрөөр хэлбэл bus)
Ажлын олон горимтой байх нь хамгаалалтын ач холбогдолтой юм. Учир нь доод түвшний аюултай буюу системд хохирол учруулж болох командуудыг (privileged command) хэрэглэгчийн горимд биелүүлэхийг зөвшөөрдөггүй. Харин энэ бүх үйлдлийг удирдлагын горим буюу Kernel горимд ажиллуулж болдог. Систем анх удирдлагын горимд ачаалагддаг ба цаашид програмуудыг хэрэглэгчийн горимд ажиллуулдаг.
            Програмд тасалдал үүсэх бүрд удирдлагын горимд орж тасалдал боловсруулалт хийдэг. Товчоор хэлбэл ажиллах олон горимтой байх нь хамгаалалтын ач холбогдолтой юм.
            Процессор нь команд биелүүлдэг. Үүний тулд ПТ ба КР регистрүүдийг ашигладаг.
           
 Тасалдал
 Процессор үйл ажиллагаа гүйцэтгэж байх явцад түүний хэвийн үйл ажиллагааг тасалдуудал хэрэгцээ гардаг. Үүнийг тасалдал ашиглан хэрэгжүүлдэг. Тасалдлын гол үүрэг нь процессорын хэвийн үйл ажиллагааг тасалдуулан процессорыг үр ашигтайгаар ашиглах боломжийг бүрдүүлэх явдал юм. Өөрөөр хэлбэл процессор ямарваа нэгэн үйл явцыг хүлээн сул зогсох бус хэвийн үйл ажиллагаа явуулж байхад үйл явц өрнөх хэрэгтэй болсон тухай процессорт тасалдлаар мэдээлдэг.
  2. Санах ойн бүтэц
  Регистр нь процессор дотор байдаг хамгийн хурдан санах ой бол соронзон диск (DVD, CD) нь хамгийн удаан хандалттай санах ой юм.
 Энэхүү шатлал доошлох тусам нэг битийн үнэ багасч, хэмжээ багтаамж ихэсч, хандалтын хурд багасч, хандалтын давтамж буурна. Жишээ нь: 1GB хэмжээтэй хатуу диск 1GB хэмжээтэй RAM-н үнээс хамаагүй бага байдаг. Мөн хатуу дискэнд хандах хурдыг миллисекунд нэгжээр хэмждэг бол RAM-д хандах хурдыг наносекунд нэгжээр хэмждэг. Програмыг ажилуулахын тулд програмыг хатуу дискнээс нэг л удаа уншиж             санах ойд хуулдаг бол санах ой руу команд биелүүлэх бүрдээ хандах хэрэгтэй болно.
            Компьютерт диск кэш хэмээх санах ойн муж байдаг. Энэ мужид дискнээс уншсан мэдээллээ түр хадгалдаг. Өөрөөр хэлбэл хэрэгцээтэй мэдээллээ тухай бүрд нь дискнээс дахин дахин унших бус эхлээд диск кэшнээс эхэлж шалгаад дараа нь диск рүү хандана.
            Энэ нь өгөгдөл унших үйлдлийг эрс хурдасгана. Учир нь санах ойд хандах хандалт нь дискэнд хандах хандалтаас эрс хурдан байна. Мөн диск рүү хандах хандалтын тоог цөөлөх, хурдыг ихэсгэхийн тулд кластераар унших буюу бөөнөөр нь унших аргыг хэрэглэдэг. Энэ нь бага хэмжээний өгөгдлийг олон дахин уншсанаас том хэмжээний өгөгдлийг нэг л удаа унших нь илүү хурдан байдаг. Хэдий ингэж унших нь илүүдэл, зарим тохиолдолд хэрэгцээгүй өгөгдөл унших магадлалтай боловч орчин үед хурдны асуудал нь бусад асуудлаас илүү чухлаар тавигдах болсон тул үүнийг хүлээн авч болохуйц гарц гэж үзнэ. Мөн процессор болон санах ойн хооронд өгөгдөл зөөлтийг кэш       санах ойг ашиглан хийдэг. Процессор нь санах ойг бодвол илүү хурдан байдаг. Иймээс процессорыг өгөгдөл хүлээн сул зогсоохгүйн тулд кэш санах ойг ашигладаг. Кэш ой нь виртуал санах ойн зарчмаар ажиллах боловч үйлдлийн системд харагдаггүй.
            Процессор ямарваа нэгэн үйлдэл хүсэхдээ эхлээд кэш санах ойг шалгаад хэрэв байхгүй бол дараа нь үндсэн санах ойг шалгадаг.
            Санах ойн нэг үүр нь нэг үг агуулж байна. Харин кэш санах ойн үүр нь К тооны үгийг агуулж байна.
 3. Оролт/Гаралтын технологи
Тооблосын дэд системүүдийн хооронд болон гадаад орчинтой өгөгдөл солилцох үйлдлийг төрөл бүрийн Оролт/Гаралтын технологи ашиглан хийдэг. Эдгээр технологийг ерөнхийд нь 3 бүлэг болгон хувааж болно. Үүнд:
            - Програмчилсан О/Г (PIO)
            - Тасалдлаар удирдах ОГ
            - Санах ойн шууд хандалт буюу DMA
           
            Програмчилсан О/Г технологийг ашиглаж байгаа үед Оролт/Гаралтын үйлдлийг тусгай модуль гүйцэтгэнэ. Харин процессор Оролт/Гаралтын үйлдэл хийж байгаа эсэхийг байнга шалгах хэрэгтэй болно. Оролт/Гаралтын үйлдлийн үед ямар ч тасалдал үүсэхгүй. Иймээс процессор байнга ажилладаг тул энэ нь хамгийн удаан технологи юм.
            Тасалдлаар удирдах О/Г технологийг ашиглаж байгаа үед процессор хэвийн горимд Оролт/Гаралтыг шалгалгүй ажиллаж байж болно. Харин Оролт/Гаралтын үйлдэл гүйцэтгэх хүсэлтийг тасалдал хэлбэрээр тавина. Ингэснээр процессор тасалдал үүстэл хэвийн үйл ажиллагаагаа явуулж байж болно. Энэ технологид Оролт/Гаралтын үйлдлэ хийгдэж эхэлсэн бол бүх өгөгдөл процессороор дамжин хийгдэнэ. Иймээс процессор Оролт/Гаралтын үйлдлийг хүлээхгүй ч Оролт/Гаралтын үйлдлийн үед их ачаалалтай ажиллана. Учир нь Оролт/Гаралтын модуль ба санах ойн хооронд зөөгдөж буй бүх өгөгдөл процессороор дамжина.
            Санах ойн шууд хандалтын технологийг ашиглаж байгаа үед процессор Оролт/Гаралтын үйлдлийг хүлээхгүй. Оролт/Гаралтын үйлдэл хийх хүсэлтийг тасалдлаар тавина. Тасалдал үүсэхэд процессор Оролт/Гаралтын модуль ба санах ойн хооронд өгөгдөл шууд солилцох эрх нээж өгдөг. Өөрөөр хэлбэл тасалдлаар удирдах Оролт/Гаралтын технологийн бүх өгөгдөл процессороор дамжих сул талыг арилгасан.
            Оролт/Гаралтын үйлдэл дуусмагц процессорт тасалдлын сигнал ирж санах ой ба Оролт/Гаралтын модуль хоорондын сувгийг хаана.
            Санах ойн шууд хандалтын үед процессор ердөө 2 удаа л үйлдэл хийж байна. Энэ нь Оролт/Гаралтын сувгийг нээх, үйлдэл дууссаны дараа уг сувгийг хаах үйлдэл юм.
            Хэрэглэгч/хэрэглэгчийн програм Оролт/Гаралтын алдаатай хүсэлт тавьж болох тул энэ тохиолдолд бүх Оролт/Гаралтын хүсэлтийг үйлдлийн системээр дамжуулан хийх замаар шийддэг. Өөрөөр хэлбэл Оролт/Гаралтын хүсэлтүүдийг зөв эсэхийг үйлдлийн систем байнга хянана гэсэн үг.
 4. Үйлдлийн систем

              
             
  Техник хангамжийг удирдах боломжийг хэрэглэгчид олгох зорилгоор үйлдлийн системийг зохион бүтээсэн.
Үйлдлийн систем нь үндсэн 2 үүрэгтэй.
            - Хэрэглэгчийн програмуудыг техник хангамжтай харьцах боломжоор хангах
            - Тооболс дахь нөөцүүдийг удирдан хуваарилах явдал юм.
Аливаа үйлдлийн систем нь хэрэглэгчид ашиглахад хялбар, өндөр бүтээмжтэй, цаашид хөгжих боломжтой байх ёстой. Тооболстой харьцаж буй хүн бүр түүний тодорхой үе шаттай нь л голчлон харьцдаг.
Ерөнхий тохиолдолд ҮС нь дараах дэд системийг агуулна. Үүнд :
            - Процесс удирдах дэд систем
            - Санах ой удирдах дэд систем
            - Файлын дэд систем
            - Оролт гаралтын үйл ажиллагааг удирдах дэд систем
            - Хэрэглэгчийн дэд систем
Компьютерийн систем нь зориулалт ба онцлогоос хамаарч янз бүрийн дэд системтэй байж болно.
             Нөөц ба ҮС
Аливаа ҮС-ын зайлшгүй хангаж байх шаардлага нь компьютерийн системийн бүх төрлийн хэрэглэгчийн хэрэгцээг тодорхой хэмжээнд ямар нэгэн хүндрэл гаргахгүйгээр хангаж байх явдал юм. Компьютерийн системийн бүх эд анги функциональ элементүүд хэрэглээний програмууд тэнд байгаа бүх эд ангиуд нь нөөцийг бүрдүүлнэ. Иймд үйлдлийн системийн бусад програмаас ялгаатай зүйл бол нөөцийн хуваарилагч юм.
            Өөрөөр хэлбэл бусад програмаас ирж буй нөөц эзэмших хүсэлтүүдийг үйлдлийн систем зохицуулж байдаг.
            Хэрэглээ–Нөөц Системийн дурын үйл ажиллагааны явцад хэрэглэгдэж байгаа болон хэрэглэгдэх боломжтой бүх зүйлийн орших хэлбэрийг нөөц гэнэ. Өөрөөр хэлбэл тооболсод байгаа ашиглах боломжтой бүх зүйлсийг нөөц гэж үзэж болно. Нөөцийг барагддаг ба барагддаггүй гэж ангилдаг.
 5. Процесс удирдах систем
           
             
              
              
             
           
Процессыг удирдах нь ҮС-н хамгийн чухал хэсэг болдог. Хэрэв нэг л процесс нэгэн зэрэг ажиллах боломжтой (нэг бодлогын горимтой) ҮС-д процесс удирдахад тодорхой шаардлага тавих нь бага байдаг бол олон бодлогын горимтой ҮС-үүдэд процесс удирдлагад олон төрлийн шаардлага тавьдаг. Үүнд:
            - Төрөл бүрийн шалтгаанаар процессын биелэлтэнд хүлээлт гарвал бусад процессыг солбилцуулан ажиллуулах хэрэгтэй ба энэ нь процессорыг үр ашигтайгаар ашиглахад тустай.
            - Процессд нөөц хуваарилахдаа тодорхой зарчмууд баримтлах ёстой. (жишээ нь: шаардлагынх нь дагуу хуваарилах, эгзэгтэй мужууд үүсгэхгүй байх г.м)
            - Процессууд хоорондоо харилцан ажиллах боломжтой байх, хэрэглэгч процесс үүсгэдэг боломжтой байх ёстой зэрэг юм.
            Олон тооны процессыг үр ашигтайгаар ажиллуулах, нэг процесс төв процессорыг хэт удаан эзэмших боломж үүсгэхгүй байх үүрэгтэй процесс ҮС бүрт байдаг. Үүнийг диспетчер процесс гэдэг. (Үнэндээ энэ нь процесс биш ч ингэж нэрлэж заншсан)
            Диспетчер процесс нь бусад процессын адилаар санах ойд байрлана. Яг аль процесс ажиллахыг ПТ регистрт байгаа хаягаар зохицуулдаг.
           
            Процесс удирдах системийн ажиллах зарчим
 Процесс бүр агшин бүрд ямар нэгэн төлөвт байдаг. Процессын хувьд төлөв гэдэг нь яг тухайн агшинд “процесс юу хийж байгааг зааж буй ухагдахуун” юм. Зарим тохиолдолд  процесс юу ч хийлгүй сул зогсож байдаг тул тодорхойлолтыг хашилтанд хийсэн.  
 6. Солбицол, нөөцийг хамтран эзэмших
             
 Нөөцийн төлөөх өрсөлдөөн, процессуудын синхрончлолын асуудал
 Нөөцийн төлөөх өрсөлдөөнийг зохицуулах асуудал нь хэрэглээний програм хангамж бичиж байх явцад ч хурцаар тавигддаг. Солбилцлын асуудал нь хамтран эзэмшиж байгаа өгөгдөл рүү зэрэгцээ ажиллаж байгаа процессууд нэгэн зэрэг хандах үед үүсдэг бол синхрончлолын асуудал нь ямар нэг нөхцлөөр процессуудыг ажиллах, түр зогсох үйлдлийг зохицуулах үед үүсдэг. Өөрөөр хэлбэл эдгээр асуудал нь процессууд хоорондоо харилцан ажиллаж байхад үүсдэг.
             Нөөцийн төлөөх өрсөлдөөн үүсэх шалтгаан ба шийдэх энгийн аргууд
Олон тооны процесс зэрэгцээ ажиллаж байх явцад ямар нэг нөөцийг ашиглах хэд хэдэн хүсэлт нэгэн зэрэг ирж болно. Энэ тохиолдолд хүсэлтүүдийг зохицуулах хэрэгтэй. Гэвч ихэнх үйлдлийн систем жинхэнэ утгаараа зэрэгцээ ажиллагаатай биш харин зүгээр л зэрэгцээ ажиллаж байгаа сэтгэгдэл төрүүлдэг. Өөрөөр хэлбэл нөөцийн төлөөх өрсөлдөөн үүсэхгүй мэт сэтгэгдэл төрж болно. Энэ бол ердөө ч ийм биш юм.
            Ерөнхий тохиолдолд процессууд нөөцийг хамтран эзэмших асуудлыг шийдэхийн тулд дараах аргачлалуудыг ашиглаж болно.
            • Системд байгаа процессуудыг бүртгэдэг байх
            • Нөөцийг хуваарилдаг, чөлөөлдөг байх
            • Нөөц ба өгөдлийг хамгаалдаг байх
            • Процессын биелэлт нь бусад процесс, систем дэх процессын тоо, процессорын хурд зэргээс хамаардаггүй байхаар зохион байгуулах
             Нөөцийн төлөө өрсөлдөх
Систем дэх процессууд бусад процессуудын талаар ямарч мэдээлэлгүй байх ба зөвхөн өөрт шаардлагатай нөөцийн төлөө бусадтай өрсөлдөх хэлбэрээр ажиллана. Энэ тохиолдолд системд дараах асуудлууд үүсч болно.
            1. Солбицол
            2. Түгжрэл
            3. Гачигдал
             Нөөцийг хамтран эзэмших
Энэ нь процессууд бие биеэ нэр буюу тодорхойлогчоор нь мэдэхгүй ч гэсэн             нэгэн ижил нөөц, өгөгдлийг хуваан эзэмшдэг байх тохиолдол юм. Нэгэнт өгөгдлийг хуваан эзэмшиж байгаа тул өмнөх тохиолдолд тулгарч байсан солбицол, түгжрэл, гачигдлын асуудал бүгд үүснэ. Нэг ялгаа нь нөөцөд бичих, унших горимоор хандаж болох ба зөвхөн бичих горим нь солбицолд хүргэнэ. Энэ тохиолдолд өгөгдлийн бүрэн бүтэн байдлыг анхаарах хэрэгтэй.
             Солбицолд тавих шаардлага
            Нөөцийг эзэмшиж буй процессуудаас зөвхөн нэг нь л эгзэгтэй мужид байх
            • Эгзэгтэй мужид орохыг хүссэн процесс тодорхой бус шалтгаанаар зогсож болохгүй
            • Өөрийн эгзэгтэй бус мужид байгаа процесс тасарвал бусад процессын үйл ажиллагаанд саад болдоггүй байх
            • Бусад процесс эгзэгтэй мужид байхгүй бол процесс өөрийн эгзэгтэй мужид ямар нэгэн хүлээлтгүйгээр орох ёстой.
            • Процессорын хурд, процессын тоо гэх мэтийг тооцохгүй байх
            • Процесс бүр тодорхой хугацаанд л эгзэгтэй муждаа байх ёстой  
7. Солбицол
             Солбилцлын асуудлыг шийдэх
Техник хангамжид үндэслэслэсэн шийдэл: ТХ-д үндэслэн солбилцлын асуудлыг шийдэх аргыг ерөнхийдөө тасалдал хорих, компьютерийн тусгай команд ашиглах гэж 2 хуваадаг.
Тасалдал хорих  : Үйлдлийн системд процесс нь үйлдлийн системийн үйлчилгээ эсвэл тасалдал дуудагдтал үргэлжлэн ажиллана. Иймээс солбилцлыг баталгаажуулахын тулд тасалдлыг хориход л хангалттай. Олон процессорын системд буюу зэрэгцээ боловсруулалтын үед нэг л процессор дээр тасалдлыг хорих нь солбилцлыг баталгаажуулах үйл ажиллагаа болж чадахгүй. Учир нь өмнөх бүлэгт үзсэнчлэн хуубарыг процессор бүр санамсаргүйгээр сонгон биелүүлдэг билээ. Иймээс тасалдлыг             хориогүй процессор дээр хуулбар ажиллавал урьд хийсэн бүх ажил үр дүнгүй болно.
            Тасалдал хорихдоо эгзэгтэй мужид орохдоо хориод гармагцаа тасалдлаа зөвшөөрдөг байх хэрэгтэй.
            <Тасалдал хорих>
            <Эгзэгтэй мужид орох>
            <Эгзэгтэй мужаас гарах>
            <Тасалдал зөвшөөрөх>
Компьютерийн тусгай команд – Олон процессорын системд бүх процессорт тасалдал хорих аргаар солбилцлыг баталгаажуулж болно. Мөн олон процессорын системийн архитектурт бүх процессор санах ойн нэг л мужийг хамтран эзэмшдэг.
            Техник хангамжийг ямар нэгэн санах ойн мужид нэг л команд ханддаг байхаар зохиосон байдаг. Иймээс энэ чанарыг ашиглаж болохуйцаар солбилцлыг баталгаажуулах асуудлыг шийдэх хэд хэдэн энгийн командыг зохиосон. Эдгээр команд нь бүгд процессорын нэг л давталтанд багтан биелдэг тул процессорын үйл ажиллагаанд саад учруулахгүй.
Програм хангамжид үндэслэсэн шийдэл : ПХ-д тулгуурласан шийдэл буюу солбилцлын асуудлыг шийдэх алгоритмуудаас хамгийн өргөн тархсан, ашиглах боломжтойгоор нь :
            • Деккерийн алгоритм
            • Петерсоны алгоритм хэмээх алгоритмуудыг авч үзнэ.
Деккерийн алгоритм : Энэ нь үйлдлийн системийн үйл ажиллагааг ойлгох,            үйлдлийн системийн тухай ойлголтоо гүнзгийрүүлэхэд тустай. Деккерийн алгоритмыг 2 процессын хувьд авч үзнэ.
             I хувилбар : Санах ойн нэг мужид нэгэн зэрэг зөвхөн нэг л процесс хандаж болох техник хангамжийн чанарыг үндэслэн ажилладаг. Өөрөөр хэлбэл процесс бүр эгзэгтэй мужид орох ээлжээ хүлээдэг. Аль нэг процесс эгзэгтэй муждаа ажиллаж дуусаад дараагийн процесст эгзэгтэй мужид орох эрхийг нь олгодог. Үүнийг алгоритмд turn хувьсагч зааж өгнө. Turn хувьсагчийн утгатай процессын дугаар тохирч байвал л уг процесс эгзэгтэй муждаа ажиллах ба харин тохирохгүй бол завгүй хүлээлт болно.
Процесс эгзэгтэй муждаа ажиллаж дуусаад дараа нь turn хувьсагчийн утгыг өөрчилнө.
             II хувилбар : Деккерийн алгоритмын I хувилбарт өөр ямар нэгэн процесс эгзэгтэй мужид байхгүй байгаа эсэхээс үл хамааран процесс эгзэгтэй мужид орох боломжгүй болох тохиолдол гарна. Иймээс процесс бүр өөрийн төдийгүй, бусад процессын  төлвийг мэдэх хэрэгтэй. Үүний тулд системд байгаа процесс бүрийн төлвийн     мэдээллийг хадгалах хэрэгтэй.
8. Түгжрэл
Хоорондоо харилцаж байгаа буюу нөөцийн төлөө өрсөлдөж байгаа процессууд цаашид ажиллах боломжгүй болох үзэгдлийг түгжрэл гэнэ. Нэг ижил нөөцтэй харьцаж байгаа хоёр ба түүнээс дээш тооны процесс нэгэн зэрэг түгжрэлд ордог.
            Процессууд тодорхой дарааллаар ажилласан үед л түгжрэл үүснэ. Түгжрэлийн асуудлыг эртнээс тамаглах аргагүй. Учир нь түгжрэл нь зөвхөн тодорхой нөхцөл байдалд л үүсдэг ба энэ нөхцөл байдлыг дахин гарган авах боломж муутай юм. Иймээс түгжрэл үүссэн эсэхийг шалгадаг, түгжрэл үүсэхээс сэргийлдэг, зайлсхийдэг, түгжрэл үүссэн үед системийг сэргээж чаддаг байх хэрэгтэй.
             Түгжрэл үүсэх шалтгаан :
            Түгжрэл үүсэх нөхцөл бүх програмд үүсэхгүй. Зөвхөн тодорхой шаардлага хангасан нөхцөл бүрдсэн ПХ-д л түгжрэл үүснэ. Нэг бодлогын горимтой ҮС-д түгжрэл хэзээ ч үүсэхгүй. Энэ нь түгжрэл үүсч болох урьдчилсан нөхцөлтэй холбоотой юм.
            Түгжрэл үүсч болох урьдчилсан нөхцлүүдийг судлан тогтоосон байна.
            • Солбицол – нөөцөд зөвхөн нэг зэрэг зөвхөн нэг л процесс хандаж, ашиглах боломжтой.
            • Эзэмшээд хүлээх – ямар нэгэн процесс нөөцийг эзэмшээд бусад процесст нөөц хуваарилахыг хүлээж байж болно.
            • Хүчээр суллахгүй байх – процессын эзэмшиж байгаа нөөцийг нь хүчээр чөлөөлж болохгүй.
            Эдгээр 3 нөхцөл нь түгжрэл үүсэх магадлалтай ч ямагт түгжрэл үүсгэнэ гэж үзэж болохгүй. Харин 4 дэх нөхцөл үүссэнээр системд түгжрэл үүсдэг.
            • Тойрон хүлээх – бусад процесст шаардлагатай байгаа нөөцийг эзэмшсэн процессуудын битүү гинжин хэлхээ олдож байгаа үед тойрон хүлээлт үүссэн байна гэж үздэг.
            Энгийнээр хэлбэл А процессод шаардлагатай нөөцийг Б процесс эзэмшсэн, Б-д шаардлагатай нөөцийг А эзэмшсэн байхад тойрон хүлээлт үүсдэг.  
             Түгжрэлээс сэргийлэх
Түгжрэлээс сэргийлэх арга нь системд түгжрэл үүсэх бүх нөхцлийг хааж өгөхөд оршино. Түгжрэлээс сэргийлэх аргыг ерөнхийд нь шууд ба шууд бус гэж ангилж болно.
            Шууд бус арга нь түгжрэл үүсэх урьдчилгаа нөхцөл болдог 3 нөхцлийн ядаж нэгийг нь үүсгэхгүйг хичээдэг бол шууд арга нь түгжрэлдийн нөхцөл болох 4 дэх нөхцлийг үүсгэхгүйг хичээдэг.
         Солбицол
         Эзэмшээд хүлээх
         Хүчээр суллахгүй байх
         Тойрон хүлээх
             Түгжрэлээс зайлсхийх
  • Процесс үүсгэхгүй байх – Энэ хэсэгт шинээр үүсч байгаа процесс нь цаашид түгжрэлд хүргэж болох эсэхийг тааварлахыг оролдож түгжрэлд хүргэх магадлалтай процессуудыг үүсгэхгүй байх аргын тухай авч үзнэ. Системд түгжрэлийн загварыг граф ашиглан дүрсэлдэг.
  9. Санах ойн удирдах систем
                       
             Санах ойн удирдлагад тавих шаардлага
 Олон бодлогын горимтой ҮС зохион бүтээхэд системд байгаа процессуудын хооронд санах ойг оновчтойгоор хуваарилах асуудал хурцаар тавигддаг. Санах ойн удирдлагын асуудал нь дараах дэд хэсгүүдтэй.
            1. Дахин байрлуулалт
            2. Хамгаалалт
            3. Хамтран эзэмших
            4. Логик зохион байгуулалт
            5. Физик зохион байгуулалт
Санах ойг үндсэн ба туслах гэж 2 түвшинд хуваадаг. Санах ойн түвшингүүдийн хооронд мэдээлэл дамжуулах асуудлыг систем шийддэг байх ёстой. Энэ асуудал нь процесс үндсэн ба туслах санах ойн хооронд байнга зөөгдөх тул хурцаар тавигдана. Уг асуудлыг системд биш програм зохиогчид даалгаснаар дараах хүндрэлүүд гарна.
            • Програм зохиогч оверлей хэмээх технологи ашиглаж болох ч энэ нь маш хүндрэлтэй байдаг. Оверлей нь програмын модуль бүрийг санах ойн тодорхой мужид оноогоод үндсэн програм нь эдгээр модулийг үндсэн ба туслах санах ойн хооронд зөөх үйлдлийг хариуцдаг технологи юм. Виртуал санах ойн зохион байгуулалт хөгжөөгүй үед энэ технологийг ихээр ашигладаг байсан ба ovl, ovr өргөтгөлтэй файлууд нь        оверлей технологи ашигласан модулиуд юм. Энэ технологийг ҮС төдийгүй програмчлалын хэлний компилятор дэмжиж байх ёстой. Сул тал нь програм хангамжийг уян хатан биш болгодог.
            • Програм зохиогч оверлей технологийг ашиглах болбол програм ажиллахад ямар хэмжээний үндсэн санах ой чөлөөтэй байхыг урьдчилан тааварлах боломжгүй ба ингэснээр програм нь уян хатан биш болно.
             Санах ойн хуваалт
            Тогтмол хуваалт : Энэ алгоритмын үндсэн санаа нь санах ойг тогтмол хэмжээтэй блокуудад хуваах явдал юм. Тогтмол хуваалтын алгоритмын 2 дэд хэлбэр байдаг.
            • Тэнцүү хуваалт
            • Тэнцүү биш хуваалт
             Динамик хуваалт
 Энэ нь процесст санах ойгоос шаардлагатай хэмжээгээр нь л хуваарилдаг ба процесс ажиллаж дуусах буюу туслах санах ой руу зөөгдөхдөө өөрт нь хуваарилагдсан санах ойг чөлөөлдөг. Динамик хуваалтыг ашиглах явцад процессуудын эзэмшиж байгаа санах ойн мужуудын хооронод олон тооны жижиг ашиглагдаагүй мужууд үлддэг.
            Динамик хуваалтанд нягтруулах үйлдлийг хэрэглээгүй үед процесс шинээр үүсэх, туслах санах ойгоос үндсэн санах ой руу процесс зөөгдөхөд аль сул зайд байрлуулах асуудлыг шийддэг. Энэ асуудлыг шийдэх үндсэн 3 алгоритм байдаг.
            1. Хамгийн боломжит (Best fit)
            2. Эхний боломжит (First fit)
            3. Дараагийн боломжит (Next fit)
             Санах ойн хаягууд
Физик санах ойг (RAM модуль) хаягладаг хаягийг физик хаяг гэж нэрлэдэг. Энэ хаягийг системд ямагт нэг утгатайгаар тодорхойлж болдог. Хэрэглэгчийн процесс өөрийн байрлалаас үл хамааран гаргах хаягийг логик хаяг ( виртуал хаяг ) гэдэг.
10. Виртуал санах ой
Виртуал санах ойн зохион байгуулалтанд бодит ба виртуал санах ой хэмээх             ялгаатай санах ойнууд байна. Зохион байгуулалтын үндэс нь хуудсын ба сегментийн             зохион байгуулалт юм.

Хуудсын зохион байгуулалт
Сегментийн зохион байгуулалт
Виртуал хуудсын зохион байгуулалт
Виртуал сегментийн зохион байгуулалт
Үндсэн санах ойг фрейм хэмээх тогтмол хэмжээтэй блокод хуваана.
Үндсэн санах ойг хуваадаггүй.
Үндсэн санах ойг фрейм хэмээх тогтмол хэмжээтэй блокод хуваана.
Үндсэн санах ойг хуваадаггүй.
Програмыг тогтмол хэмжээтэй хуудсуудад компилятор хуваадаг.
Програмыг сегментэд хэрхэн хуваахыг програм зохиогч шийднэ.
Програмыг тогтмол хэмжээтэй хуудсуудад компилятор хуваадаг.
Програмыг сегментэд хэрхэн хуваахыг програм зохиогч шийднэ.
Фрейм дотор дотоод цоорхой үүснэ.
Фрейм дотор дотоод цоорхой үүсэхгүй.
Фрейм дотор дотоод цоорхой үүснэ.
Фрейм дотор дотоод цоорхой үүсэхгүй.
Гадаад цоорхой үүсэхгүй.
Гадаад цоорхой үүснэ.
Гадаад цоорхой үүсэхгүй.
Гадаад цоорхой үүснэ.





















            Дотоод цоорхой – санах ойн блок дотор хэн ч ашиглах боломжгүй хоосон зай юм.
            Гадаад цоорхой – динамик хуваалтыг ашиглах явцад процессуудын эзэмшиж буй санах ойн мужуудын хооронд олон тооны жижиг ашиглагдаагүй мужууд үлддэг. Үүнийг гадаад цоорхой гэнэ.
11. Виртуал санах ойн удирдлагын стратеги
Виртуал санах ойн зохион байгуулалтыг техник хангамжийн түвшинд дэмждэг байх төдийгүй ҮС нь санах ойн мужуудыг туслах ба үндсэн санах ойн хооронд зөөх боломжтой төдийгүй энэ үйлдлээ оновчтойгоор хийх олон төрлийн алгоритм, аргуудыг өөртөө агуулдаг байх ёстой.
             Ачаалах стратеги
 Үндсэн санах ойд аль хуудсыг хэзээ авчрахыг шийдэх нь ачаалах стратегийн гол асуудал юм. Энэ асуудлыг шийдэх аргыг ерөнхийд нь 2 ангилдаг.
            1. Урьдчилан ачаалах:
            2. Шаардлагаар ачаалах:  
             Байрлуулах стратеги
 Үндсэн санах ойн аль хэсэгт процессыг (процессын хэсгийг) байрлуулахыг             шийдэх нь байрлуулах стратегийн зорилго юм.
             Солилтын стратеги
ҮС-ийн үйл ажиллагаанд хамгийн их нөлөөлдөг хэсэг юм. Дараах асуудлуудыг авч үздэг.
            • Процесс бүрээс хэдэн хуудсыг үндсэн санах ойд байрлуулах
            • Хуудсын алдааны дараа ямар нэг хуудсыг туслах санах ой руу зөөх хэрэгтэй бол энэ хуудас нь аль ч процесст харъяалагдаж болох уу? эсвэл зөвхөн хуудсын алдаа гаргасан процессын хуудсыг туслах санах ой руу зөөх үү ?
            • Туслах санах ой руу зөөх боломжтой хуудсуудын яг аль хуудсыг зөөх вэ? Хуудсын алдаа үүссэний дараа үндсэн санах ой руу хуудас авчрах тохиолдолд туслах санах ой руу ямар хуудсыг зөөхийг шийдэх хэрэгтэй. Энэ асуудал нь ҮСО-н    судалгааны үндсэн чиглэл болсон. Судалгааны явцад аль хуудсуудыг ашиглаж байсан тухай мэдээллийг ашиглан ирээдүйд аль хуудсуудыг хэрэглэхийг урьдчилан тааварлах боломжтой болох нь тогтоогдсон. Гэвч сайн тааварлахын тулд хугацаа хэрэгтэй. Гэтэл ҮС-н үйл ажиллагаанд хугацааны фактор хамгийн чухал юм. Иймээс ямарч алгоритм зохиосон энэ 2 асуудлыг зэрэг тооцож байх хэрэгтэй. Солилтын алгоритмыг     дэлгэрэнгүй авч үзэхийн өмнө санах ойн зарим мужийг туслах санах ой руу зөөлгүйгээр    түгжиж болдог. Энэ түгжигдсэн мужуудад ҮС-н цөм, төрөл бүрийн дараалал гэх мэт өгөгдлүүд байрладаг.
            1.Оновчтой алгоритм:
            2. FIFO (эхэнд ирсэн, эхэнд гарсан ) алгоритм:
            3. Хандаагүй хамгийн удсан (ХХУ буюу LRU) алгоритм:
 Үндсэн алгоритм: Оновчтой солилтын алгоритм нь хэрэгжүүлэх боломжгүй болох нь тодорхой тул өөр алоритм хайх хэрэггүй. Иймээс хандаагүй хамгийн удсан хуудсыг сольдог.
 Сайжруулах оролдлогууд –зарим процесс санах ойд маш их давтамжтайгаар ханддаг. Ерөнхий тохиолдолд үндсэн алгоритм нь сайн ажилладаг боловч зарим процесс нь цөөн тооны хуудас руу биш санах ойн томоохон муж руу тодорхой давтамжтайгаар ханддаг.
           
А) Нэмэлт бит ашиглах алгоритм:
 Б) Хоёр дахь боломжийн алгоритм (цаганд үндэслэсэн алгоритм ):
 В) Өргөтгөсөн 2 дахь боломжийн алгоритм :
 Суллах стратеги: Яг аль хуудасыг туслах санах ой руу зөөхийг ( солих стратегиас ялгаатай нь туслах санах ойгоос хуудас авчирддаггүй) энэ стратегиэр шийднэ.
12. Төлөвлөлт
              
                       
Тухайн агшинд аль процессыг боловсруулах, ер нь процессыг боловсруулалтанд авах эсэхийг шийдэх аргыг төлөвлөлт гэнэ. Процесс төлөвлөх олон арга байдаг.
            Процессыг төрөл бүрийн хугацааны интервалд төлөвлөдөг. Эдгээр нь урт, дунд, богино хугацааны төлөвлөлт юм. Урт хугацааны төлөвлөлт нь процессыг үүсэх үед, дунд хугацааных нь процессыг туслах санах ой руу зөөх үед, богино хугацааных нь процессыг ажиллуулах үед хийгддэг.
 Баталгаат төлөвлөлт : - процесс үүссэнээсээ хойш ямар хугацаанд процессорыг эззэмшсэнийг бүртгэж болно. Системд n тооны ижил процесс байгаа гэж үзье. Ямар нэг процесс системд орсноосоо хойш процессорыг t/n хугацаанд эзэмшсэн байг. t нь процессын системд орж ирснээс хойш өнгөрсөн хугацаа. Процесс бүр ямар хугацаанд процессорыг зэмшсэн тухай мэдээлэл, мөн уг процесс ямар хугацаанд процессорыг эзэмшсэн байх ёстой тухай мэдээлэл байгаа тохиолдолд эзэмшвэл зохих хугацааны хэдэн хувийг ашигласныг тооцоолж болно.
            Сугалаат төлөвлөлт : - Энэ арга нь процесс анх үүсэхэд л түүнд ямар нэгэн санамсаргүй тоо оноодог. Дараа нь процессуудад урьд өгсөн утгаас аль нэгийг нь санамсаргүйгээр сонгон аваад тэр утгад харгалзах процессыг тодорхой хугацаагаар ажилуулна. Энэ төлөвлөлтийн үед зэрэглэлийн асуудал огт шийдэгдэхгүй мэт харагдаж байж болно. Өндөр зэрэглэлтэй процессыг анх үүсэхэд нь нэг биш хэд хэдэн санамсаргүй тоо оноож өгч болно. Ингэснээр уг процесс ажиллах магадлал ихэснэ.
            Хоёр түвшинт төлөвлөлт : -Ихэнх процесс туслах санах ойд байх тохиолдол гардаг. Иймээс процессыг ямар тохиолдолд туслах санах ой руу зөөх, эсрэгээр нь ямар тохиолдолд үндсэн санах ой руу зөөхийг шийдэх асуудал гардаг. Үүнийг хоёр түвшинт төлөвлөлтөөр шийднэ. Дээд түвшний төлөвлөгч нь үндсэн ба туслах санах ойн хоорондох процессын зөөлтийг төлөвлөж байхад доод түвшний төлөвлөгч нь санах ойд байгаа процессуудыг ажиллуулах ажлыг төлөвлөж байдаг.
13. Оролт / гаралтын удирдлага
Компьютерийн үндсэн хоёр үйлдэл нь оролт/гаралт ба тооцоололт юм. Үйлдлийн систем нь Оролт/гаралтын үйлдэл ба төхөөрөмжүүдийг удирдах, хянах ажлыг гүйцэтгэдэг. Компьютерт маш олон төрлийн Оролт/ гаралтын төхөөрөмжүүд ашигладаг ба тэдгээрийг оновчтойгоор удирдах нь компьютерийн систем зохион бүтээгчдэд маш их хүндрэлтэй байдаг. Оролт / гаралтын технологийг зохион бүтээгчид хоорондоо үл авцалдах хоёр асуудлыг шийдэх шаардлагатай болдог. Эхний асуудал нь орчин үеийн компьютерийн системд бүх ТХ, технологиуд нэгтгэгдэн стандартчилагдаж байна. Нөгөө талаас өдөр ирэх тутам урьд нь огт байгаагүй, хэний ч төсөөлж байгаагүй техник, тоног төхөөрөмжүүд шинээр ашиглалтанд орсоор байна. Эдгээрийг урьд зохиосон стандарт Оролт / гаралтын технологиудад багтаах нь хүндрэлтэй учир урьд ашиглаж байсан порт, шугам, төхөөрөмжүүдэд тааруулан шинэ техник, технологи зохион бүтээх шаардлагатай.
             Програмчилсан Оролт / гаралт ба завгүй хүлээлт
Оролт/гаралтын үйлдэл нь компьютертэй зэрэг үүссэн гэж үзэж болно. Анх Оролт/гаралтын үйлдлийг polling буюу завгүй хүлээлт ашиглан гүйцэтгэдэг байсан. Энэ нь процессор мэдээлэл боловсруулах үйлдлээс гадна Оролт/гаралтын төхөөрөмжийн төлвийг байнга шалган, Оролт/гаралтын үйлдэл хийхэд бэлэн болмогц уг үйлдлийг гүйцэтгэж эхэлнэ. Оролт/гаралтын үйлдлээр дамжиж буй бүх өгөгдөл процессороос дамждаг. Завгүй хүлээлтийн үйлдэл нь дотроо дэд үйлдлийг агуулна.
            1. Оролт / гаралтын төхөөрөмжийн төлвийн битийг агуулсан байтыг авах
            2. Төлвийн байтад логик “ба”үйлдэл хийж, Оролт/гаралтын төхөөрөмжийн төлвийн битийг гарган авах
            3. If үйлдэл хийх
             Тасалдал ба тасалдлаар удирдах Оролт / гаралт
Програмчилсан Оролт/гаралтын үйлдлийн хамгийн том сул тал нь Оролт/гаралтын төлвийг байнга шалгах явдал юм. Иймээс процессорт Оролт/гаралтын үйлдэл хийх шаардлагатай байгаагаа тасалдлаар мэдэгдэх аргыг ашиглах болсон.
            Ингэснээр завгүй хүлээлт байхгүй болох ч Оролт/гаралтын үйлдэлд оролцож буй бүх мэдээлэл процессороор дамжсан хэвээрээ байна.
             Санах ойн шууд хандалт
 Энэ тохиолдолд төв процессор 2 удаа Оролт / гаралтын үйлдлийн улмаас ажиллана. Энэ нь зохих хаягт бичих буюу хаягаас унших үйлдэлд эрх нээх, дараа нь уг эрхийг хаах үйлдлүүд юм. Санах ойн шууд хандалтын модулийг олон хэлбэр, хэмжээтэйгээр хийдэг.
            Оролт / гаралтын үйлдлийг удирдах ПХ-н боломжууд
            Буферлэлт
Оролт / гаралтын үйлдэл нь компьютерийн үйл ажиллагаанд голлох үүрэгтэй. Иймээс процесс бүр өөрийн амьдралын туршид Оролт / гаралтын үйлдлийг зайлшгүй хийнэ. Мультпрограмчлал ашиглаж байхад процессын хийж байгаа Оролт / гаралтын үйлдэлд оролцож буй өгөгдлийг мөн процессыг ажиллах төлөвт байхад нь уг процесст харгалзах Оролт / гаралтын үйлдлийг бүтнээр нь хийж амжихгүй байх нь элбэг байдаг.
            Үүгээр ч барахгүй Оролт / гаралтын үйлдлийг биеэ даасан процессор гүйцэтгэдэг. Энэ процессороос орж ирсэн өгөгдлийг харгалзах процесст дамжуулахын тулд дамжуулах явцад өгөгдлийг хадгалж байх буфер хэрэгтэй болдог. Буферлэх олон арга байдаг.
 14. Файлын систем
             
              
           
 Файлын систем ньтөхөөрөмж дээр өгөгдлийг байршуулах, удирдах аргын цогц юм.
            Дискийн зохион байгуулалт ба дисктэй ажиллах
 Дискний үндсэн параметрүүдийг тогтоож өгөхдөө доод түвшний хэвшүүлэх үйлдлийг ашигладаг. Энэ үйлдлээр сектор, зам, логик блокуудыг тодорхойлох төдийгүй сектор бүрд алдаа засварлах кодыг бичдэг. Дискний ямар нэг мужид мэдээлэл бичихэд алдаа засварлах кодыг шинэчилдэг. Дараа нь уг мужаас өгөгдөл уншаад алдаа засварлах кодтой нь тулгаж шалгаж, алдааг засах боломжтой. Доод түвшний хэвшүүлэх үйлдэл хийсэн дискийг ашиглахын тулд үйлдлийн систем нь дахин 2 үйлдэл хийдэг. Эдгээр нь:
            1. Дискийг хуваах (partitioning)
            2. Логик хэвшүүлэлт юм.
            Файлын системийн үйл ажиллагаанд ашиглах үндсэн ойголтууд
Файлын системд гол байр суурь эзлэх ойлголт нь файл юм. Файлыг агуулгаар нь маш олон хувааж болох ч ерөнхийд нь өгөгдөл ба кодын файл гэж ангилна. Агуулга нь ямарч хэлбэртэй байж болно. Энэ бүхнийг хэрэглэгчид ойлгомжтой болгох ажлыг ҮС-н цөм, ПХ-ууд гүйцэтгэдэг. Файлыг тодорхойлох олон тооны параметрүүд байдаг.
            Тэдгээрийг файлын атрибутууд гэнэ. Эдгээр нь
            • Нэр
            • Төрөл
            • Байрлал
            • Хэмжээ
            • Хамгаалалт
            • Цаг хугацаа – файлтай холбоотой цаг хугацааны мэдээлэл
15. Файлын хандалт
 
Файлд байгаа өгөгдөл рүү хандаж, түүнийг санах ойд ачаалж файлтай ажилладаг. Хүссэн өгөгдөл рүүгээ хэрхэн хандах аргыг файлын хандалт гэж нэрлэдэг.
            ҮС бүрд өөрийн гэсэн хандах арга байдаг. Зарим ҮС-д олон тооны хандах аргыг хослуулан ашигладаг.
            • Дэс дараалсан хандалт
            • Шууд хандалт
            • Индекслэсэн хандалт
Сан
Файлуудыг бүлэглэн нэгтгэж харуулдаг сан хэмээх ойлголт файлын системд байдаг. Санг зохион байгуулах нь файлын системийн үүрэг юм. Сан нь тусдаа биеэ даасан ямар нэгэн зүйл биш ердөө л файлын системийн логик зохион байгуулалтыг дэмжих нэгэн хэрэгсэл юм. Дискийг анх хэвшүүлэхэд дискэнд 1 сан автоматаар үүсдэг. Энэ нь үндсэн сан юм. Санг олон хэлбэрээр хэрэгжүүлдэг. Үүнд :
            • Нэг түвшинт - ямарч сан дотроо бусад санг агуулах боломжгүй байдаг
            • Хоёр түвшинт –Системийн хэрэглэгч бүр өөрийн сантай ба хэрэглэгчийн сан дотор нэг түвшинт загварыг ашиглах боломжтой байхаар зохион байгуулдаг.
            • Мод хэлбэрийн сан - өмнөх зохион байгуулалтын логик үргэлжлэл нь мод хэлбэрийн файлын систем юм.
            • Циклгүй граф хэлбэрийн сан – мод хэлбэрийн зохион байгуулалт ашиглахад файлыг хуваан эзэмших боломжгүй болдог. Үүнийг шийдэхийн тулд файл ба санд    нэгэн зэрэг хандах боломжийг бүрдүүлэх хэрэгтэй юм. Үүнээс үндэслэн файл ба сан нь хэд хэдэн нэртэй байж болно. Энэ хэлбэрийн зохион байгуулалт нь зөвхөн мод ч биш граф хэлбэртэй байдаг.
            • Граф хэлбэрийн сан – циклгүй граф хэлбэрийн өргөтгөл нь ямар нэгэн хязгаарлалтгүй граф юм. Энэ арга нь маш уян хатан боловч зохион байгуулахад хүндрэлтэй.
             Файлын системийн зохион байгуулалт
Дискэн дээр байгаа файлыг олон аргаар физик зохион байгуулалтанд оруулж болно. Файлд зай хуваарилах нь үндсэн 2 зарчимтай.
 16. Аюулгүй байдал
 Компьютерийн системд учирч болох аюулыг ерөнхийд нь санаатай ба санамсаргүй гэж 2 ангилдаг. Санамсаргүй аюулд техникийн алдаа (цахилгаан тасрах, физик эвдрэл), хүний алдаа (буруу оролт оруулах, мэдээлэл агуулагчийг олохгүй байх, буруу програм ажиллуулах) орно. Санаатай аюулыг идэвхтэй ба идэвхгүй гэж ангилна.
            Идэвхгүй аюул нь системийн төлвийг өөрчлөлгүйгээр зөвшөөрөлгүйгээр тандах буюу мэдээлэл цуглуулах үйлдэл байдаг бол идэвхтэй аюул нь зөвшөөрөлгүйгээр системийг өөрчлөх үйл ажиллагаа юм. Идэвхтэй аюулыг дараах байдлаар ангилна.
            • Системийн нууцлалтыг алдагдуулах
            • Бусад хэрэглэгчийн нэрийн өмнөөс системд нэвтрэн орох
            • Шаардлагатай мэдээллийг өгөх буюу авахаас татгалзах
            • Хуурамч мэдээлэл өгөх эсвэл бодит мэдээллийн атрибутыг өөрчлөх
            • Системийг хэрэглэдэг хэрэглэгчдийн эрхийг өөрчлөх
            • Програмын кодыг өөрчлөх
            • Системийн хэрэглэгчдийн тухай мэдээлэл цуглуулах зэрэг юм.
            Үүнээс бага зэрэг өөрөөр ангилсныг авч үзье.
            • Тасалдуулах – системийн нөөцийг ашиглах боломжгүй болгох, ТХ-ийг ашиглах боломжгүй болгох, сүлжээгээр дамжиж байгаа мэдээллийг тасалдуулах
            • Булаан авах – системийн нөөцийг зөвшөөрөлгүйгээр эзэмших ба системийн нууцлалтыг зөрчинө. Нууцаар програмыг хуулан авах нь энэ ангилалд багтдаг.
            • Өөрчлөх - булаан авахаас гадна олж авсан мэдээлэл ба нөөцийг өөрчилдөг.
            • Хуурах – системд хуурамч мэдээлэл оруулах, системийг зөвшөөрөлгүйгээр өөрчилнө.
            Системд хамгийн их хор хөнөөл учруулдаг хэлбэр нь төрөл бүрийн хөнөөлт програм юм. Хөнөөлт програмын нэг бол вирус юм.
             Аюулгүй байдлыг хангах арга механизмууд
 Санах ойн хамгаалалт
 Санах ойн хувьд гардаг хамгийн том хамгаалалтын доголдол (цоорхой) бол             буфер халих хүндрэл юм. Энэ хүндрэлийг гаргахгүй байх ТХ-н олон боломжууд байдаг. Эдгээрийн нэг нь сегментийн зохион байгуулалт юм. Бүх процессорт санах ойн хамгаалалтын асуудлыг ТХ-н түвшинд шийдэж өгсөн байдаг.
             Firewall
Энэ програм нь сүлжээний гадуур аюулгүйн зурвас, хүрээ тогтоодог. Firewall програмыг олон түвшинд хэрэгжүүлсэн байдаг. Жнь: сүлжээний сегментийн түвшинд, компьютерийн түвшинд, програмын түвшинд, техник хангамжийн түвшинд гэх мэт.
            Эдгээр нь юуг хамгаалж байгаагаараа ялгаатай юм. Програмын түвшин дэх Firewall нь зөвхөн заасан програмыг хамгаалдаг бол компьютерийн түвшний Firewall нь тухайн компьютерт орж гарч байгаа өгөгдлүүдийг хянадаг. Аль ч түвшний Firewall програмын үндэс нь пакет шүүгч байдаг. Энэ нь орж ирж байгаа пакетүүдийг шүүн, шинжилж цаашид ашиглахад аюултай эсэхийг тогтоодог.
             
             Хэрэглэгчийн хандалтыг зохицуулах
 Олон хэрэглэгчийн горимтой ҮС-д хэрэглэгчдийн мэдээллийг хооронд нь тусгаарлах, ангилах нь ҮС-н нэг үүрэг болж өгдөг. Файлын системийн хамгаалалтанд ашигладаг бүх механизмуудыг ҮС-н хувьд ашиглаж болно. Энэ нь хандалтыг хянах жагсаалт, хандалтыг хянах матриц гэх мэт аргууд юм. Хандалтыг хянах матриц нь хандалтыг хянах жагсаалтуудаас тогтдог. Үүнээс гадна боломжийн жагсаалт хэмээх өгөгдлийн бүтэц байдаг. Энэ нь хандалтыг хянах матрицын хэвтээ огтлолцол юм.