Powered By Blogger

Monday, February 7, 2011

Системийн шинжилгээ

Системийн шинжилгээний эхлэлийг 1890 он буюу Фредрик Тейлорын /Frederick Winslow Taylor 1856 – 1915/ зарчимтай холбон үздэг. Энэ зарчимын хандлага нь хүн хүчийг үр ашигтай зарцуулахад чиглэгдсэн байна. Гэхдээ Тейлоризмд дутагдалтай талууд байсан ба хүний зөвхөн физилогийн чадавхийг чухалд үзэж, ажлын сахилга батыг орхигдуулсан, ямар нэг удирдлагын шийдвэр хэрхэн гаргахыг авч үзээгүй юм. 1940 оны үед Тейлорын онол Маслов, Грегор, Ликерт, Шейны онолоор өөрчлөгдсөн. Тэд сэтгэл зүйн хэрэгцээнд тулгуурлан хүмүүсийг зохион байгуулалтын иерархи төвшинөөр дүрсэлсэн. Дэлхийн I дайны нөлөөгөөр хөдөлмөр хөнгөвчлөх, автоматжуулалт гэсэн ойлголт бий болжээ. Үүний үр дүнд барааг түргэн, хямд өртөгтэйгээр үйлдвэрлэх болсон байна. Энэ байдал 1950-иад он хүртэл үргэлжлээд 1960 оноос системийн шинжилгээ хийх эрин үе эхэлсэн гэж үздэг. Системийн шинжээч энэ үед зэр зэвсэгийн системд үнэ ашгийн шинжилгээ хийж бараа материал, хөрөнгө хянах техникийг ашиглан зэр зэвсэгийг хаана хичнээн хэмжээгээр хадгалсаныг тогтоодог байсан байна. Харин компьютер бий болсоноор компьютерийн тусламжтайгаар асуудлын шийдэх арга замыг хайх болжээ. Ингэж системийн шинжээчдийн ажлын хандлагад шинэ өөрчлөлт бий болсон юм. Компьютерийн ухааны салбар харьцангуй залуу салбар боловч асар хурдацтай хөгжиж байгаатай холбогдуулж өнөөгийн түвшинд системийг хөгжүүлэх нэлээд хэдэн аргачилалууд бий болсон байгаа ба зарим аргачилууд нь хэд хэдэн шат дамжсан нэлээд боловсронгуй гэгдэх аргачилалууд байгаа юм. Өнөөдөр манайд стандарт болж тогтсон арга хэрэгсэл байхгүй байгаа ба сонгодог төслийн загварыг ихээхэн хэрэглэж байна.
Систем гэдэг нь нэг талаас байгууллагын болон түүний асуудлуудыг шийдвэрлэх арга зам, хэрэглэгдэх техникийн олонлог, нөгөө талаас тодорхой нэгж хэсгүүдийн хооронд бий болсон харилцаа холбоо юм. Мөн системийн оршин байх үндэс нь систем нь нэг буюу түүнээс дээш зорилгод хүрэхээр загварчилагдсан байдагт оршино.

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

Объект хандлагат болон уламжлалт арга зүйн боломжууд.
Шинжилгээ Зохиомж Кодчилол Боломж
1.Уламжлалт-Уламжлалт-Уламжлалт-Их
2.Уламжлалт-Уламжлалт-Объект хандлагат-Бага
3.Уламжлалт-Объект хандлагат-Объект хандлагат-Дунд
4.Объект хандлагат-Объект хандлагат-Объект хандлагат-Их
5.Объект хандлагат-Объект хандлагат-Уламжлалт-Муугүй
6.Объект хандлагат-Уламжлалт-Уламжлалт-Дунд
Боломж гэдэг нь сайн систем гарах боломж нь юм.

Жич: Дээр зурагт үзүүлсэн ОРОЛТ-БОЛОВСРУУЛАЛТ-ГАРАЛТ гэсэн загвар нь үнэхээр гайхамшигтай загвар юм. Би өөрийн заадаг бүх хичээлийн эхэнд, дунд, төгсгөлд ерөөсөө энэ загварыг бүх боломжит хувилбарыг их яридаг. Жишээ нь програм бичиж сурч байгаа оюутнуудад Оролт-Гаралт эсвэл Гаралт – Оролт гэдэг загвараар дадлага хийлгэх, хичээл заах нь тохиромжтой байдаг. Ө.х бүх оролтын өгөгдөл хэрхэн бэлдэх /хувьсагч зарлах, яагаад зарлаж байгаа, яагаад төрөл гэдэг ойлголт байдаг гэх мэт/ дараа нь ямар нэгэн боловсруулалтгүйгээр зөвхөн үр дүнг ойлгуулах. Энэ нь гаралтын файл эсвэл гаралтын үр дүнгийн төсөөлөл бий болгох аргачилал юм уу даа. Дараа нь өөр нэг бодлогын даалгаврын хувьд эхлээд гаралтыг бэлдээд оролт нь ямар байх талаар төсөөлөл бий болгох гэх мэт. Ерөнхий боловсролоос сурагчдад мэдлэгийг олгох гол суурь нь x,y-н аль нэг нь мэдэгдэж байхад нөгөөгийн утгыг олох бодлогын даалгавар байдаг биз дээ. Тэгвэл энэ л жижиг /том шүү/ дүрмийг дээрх загварт ашиглан төрөл бүрийн хувилбараар хэрэглэх нь их зүгээр санагддаг юм. Энэ талаар буюу “Програмчлалын хэл заах нь бас сурах нь” гэдэг сэдвээр би энэхүү блогтоо дараа нь маш тодорхой бичих болно.

Товчлол:
1. Системийн шинжилгээ бол компьютерийн ухаан гарч ирэхээс бүр өмнө бий болсон. Тийм ч учраас системийн шинжээч хүнд олон төрлийн ур чадвар шаардагддаг. Харин компьютер, мэдээллийн технологитой холбоотойгоор системд шинжилгээ хийх хэв маяг өөрчлөгдөж, үр дүн маш гайхамшигтай болсон.
2. Өөрийн мэддэг, илүү ашиглаж чадах кодчилох хэрэгсэлээс ихээхэн хамаарч шинжилгээ зохиомж хийх сонголтыг хийх хэрэгтэй юм.
3. Аливаа системд шинжилгээ хийж сурахад
- Системийн үндсэн тодорхойлолтыг эхлээд “цээжил”, дараа нь үг бүрийг нь
бясалгаж бодох хэрэгтэй. Ө.х системийг аль хэсгийг дэд систем, аль хэсгийг бүрэлдэхүүн хэсэг, аль хэсгийг элемент гэх вэ гэдэгт тодорхойлолт өгөх хэрэгтэй.
- Энгийн загваруудыг эхлээд маш сайн хэрэглэж сур. (О-Б-Г)
- Янз бүрийн хэрэгсэл програмуудын аль нэгийг төгс эзэмш.
4. Системийн шинжилгээ гэдэг нь мэдээлэл цуглуулах, задлах, нэгтгэн дүгнэх гэсэн ойлголт юм.

Тооболсын үндсэн элементүүд : Процессор



1.4 Тасалдлууд

Процессорын хэвийн явагдаж байгаа үйл явцыг компьютерийн бусад модулиуд (О/Г , санах ой ) нь тасалдуулах механизм бүх компьютерийн системд байдаг.  1.1-р хүснэгтэд  тасалдлуудын өргөн тохиолддог төрлүүдийг үзүүлэв. 

Боловсруулалтын үр ашигтай байдлыг дээшлүүлэх үүднээс Тасалдлын механизмыг ашигладаг.  Жишээ нь :   Гадаад төхөөрөмжүүдийн хурд нь процессорын хурдаас хэд дахин бага байдаг.  

Процессор хэвлэх төхөөрөмж рүү мэдээлэл дамжуулж байгаа үйл явцыг авч үзье. 

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

Зураг 1.5 -д  дээрх байдлыг үзүүлэв.  Зурагт  хэрэглэгчийн программ хэд хэдэн  БИЧИХ үйлдлийг гүйцэтгэж байгаа бөгөөд энэ нь процессорын биелэлтийг сул зогсоож байна.  1, 2, 3 –р код сегмент нь О/Г-ын үйлдлийг агуулаагүй командуудын дараалал  юм.  БИЧИХ үйлдэл нь О/Г-ын үйлдлийг гардан гүйцэтгэх ОГ-ын программыг дуудаж байна. О/Г-ын программ нь 3 хэсгээс тогтож байна. 

  • 4 гэж дугаарлагдсан бүлэг командууд нь О/Г-ын үйлдлийг гүйцэтгэхэд бэлтгэж байна. Бэлтгэх үйл ажиллагаанд өгөгдлийг тусгай буферт хуулах  ба төхөөрөмжид илгээх командыг бэлтгэх гэх үйлдлүүд багтаж болно.
  • Оролт гаралтын үйлдлийг гүйцэтгэнэ. Тасалдал ашиглаагүй үед программ О/Г-ын үйлдэл гүйцэтгэгдэж дуусахыг хүлээнэ. Оролт гаралтын үйлдэл гүйцэтгэгдсэн эсэхийг хүлээж байх явцдаа шалгана.
  • 5 гэж дугаарлагдсан бүлэг командууд нь ОГ-ын үйлдлийг дуусгах  үйл ажиллагааг гүйцэтгэнэ. Оролт гаралтын үйлдэл амжилттай гүйцэтгэгдсэн эсэхийг заасан төлөвийн утгыг тогтооно. 
Тасалдлууд болон тасалдлын цикл

Тасалдал ашиглавал  О/Г-ын үйлдэл гүйцэтгэгдэж байх үед процессор өөр бусад үйлдлүүдийг гүйцэтгэх боломжтой болно.  Зураг 1.5b –ын удирдлагын урсгалыг авч үзье.  
  •  Хэрэглэгчийн программ БИЧИХ үйлдлийг дуудна. 
  •  О/Г-ын программ нь зөвхөн үйлдлийг гүйцэтгэхэд бэлдээд , үйлдэл гүйцэтгэх командыг илгээнэ. 
  •  Эдгээр үйлдлүүд гүйцэтгэгдсэний дараа удирдлага буцаж процессорт шилжинэ.
  •  Гадаад төхөөрөмж санах ойгоос өгөгдөл хүлээн авч түүнийг хэвлэж эхэлнэ. 
  •  Гадаад төхөөрөмж процессорт үйлчилэхэд бэлэн болмогц өөрөөр хэлбэл процессороос дахин өгөгдөл хүлээн авахад бэлэн болмогц тухайн гадаад төхөөрөмжийн оролт гаралтын модуль процессор руу ТАСАЛДЛЫН сигнал явуулдаг.  
  •  Процессор идэвхтэй ажиллаж байгаа программын бүх төлөв байдлыг хадгалаад ТАСАЛДЛЫН боловсруулагч гэж нэрлэгдэх тухайн оролт гаралтын төхөөрөмжид үйлчилдэг программыг ажиллуулдаг.  
  •  Төхөөрөмжид үйлчилж дууссаны дараа идэвхтэй ажиллаж байсан программын бүх төлөв байдлыг сэргээн ажиллуулдаг. 
(  Зураг 1.5b –д тасалдал болж байгаа хэсгийг x гэж тэмдэглэсэн болно.  )

Хэрэглэгчийн программын зүгээс харвал тасалдал гэдэг нь ердөө л  программын хэвийн биелэгдэж байсан дарааллыг тасалдуулах гэсэн ойлголт юм. Тасалдлыг боловсруулж дуусмагц программын үйл ажиллагаа дахин хэвийн дараалалдаа орно.  (Зураг 1.6)

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

Тасалдал боловсруулахын тулд командын үндсэн цикл дээр ТАСАЛДЛЫН ЦИКЛ нэмэгдэнэ. (Зураг 1.7-д үзүүлэв.)

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


Зураг 1.5a, Зураг 1.5b –д үзүүлсэн программыг хугацааны хувьд задлая . 

О/Г- ын үйлдэлд шаардагдах хугацаа нь харьцангуй бага бөгөөд хэрэглэгчийн программ дахь  бичих үйлдлүүдийн хоорондох командуудыг биелүүлэх хугацаанаас бага байна. Харин принтер гэх мэтийн удаан ажилладаг төхөөрөмжтэй харьцаж байх үед хугацаа нь командуудыг биелүүлэх хугацаанаас хавьгүй удаан байх болно.   Энэ тохиолдолд Зураг 1.5с –д үзүүлсний дагуу шинэ оролт гаралтын үйлдэл эхлэхийн өмнө өмнөх оролт гаралтын үйлдлийг бүрэн дуусгаад, дараа нь шинэ үйлдэл эхлэдэг механизмыг ашигладаг.  

Энэ механизмын тасалдал ашигласан болон ашиглаагүй үеийн хугацааны үечлэлийг Зураг 1.9-д үзүүлэв.  Энэ тохиолдолд процессор мөн л үр ашиггүй хүлээлт гүйцэтгэж байна. 



Тасалдлыг боловсруулах 

Тасалдал  боловсруулагдах дарааллыг Зураг 1.10-т үзүүлэв . 


Дээрх үйлдлүүдийн дарааллыг дэлгэрэнгүй тайлбарлая.

1. Төхөөрөмж тасалдлын сигналыг процессорт илгээнэ. 
2. Процессор тухайн агшинд гүйцэтгэж байсан командын биелэлтийг дуусгана.
3. Процессор тасалдлыг шалгаад тасалдлыг хүлээн авсан гэдэг сигналыг төхөөрөмж рүү илгээнэ. Төхөөрөмж үүнийг хүлээн аваад процессор луу сигнал явуулж байгаа үйлдлээ зогсооно. 
4. Процессор удирдлагыг тасалдлын боловсруулагчид шилжүүлэхэд бэлтгэнэ.  Тухайн программыг тасалдуулсан газраас эргэн ажиллуулахад шаардлагатай өгөгдлүүдийг хадгалах хэрэгтэй.  Хамгийн багадаа ПТҮ (Программын төлөвийн үг)  болон ПТ (Программын тоолуур регистр) –ын утгуудыг хадгалах шаардлагатай.  Эдгээрийг системийн стек гэж нэрлэгдэх орон зайд хадгална. 
5. Процессор ПТ-д  биелэгдэх гэж байгаа тасалдлын боловсруулагчийн хаягийг хийж өгнө. Хэрэв тасалдлын боловсруулагч нь нэгээс олон бол алийг нь дуудахаа процессор шийднэ.  Аль тасалдал дуудагдах вэ гэдэг нь төхөөрөмжөөс ирж буй сигналд ч тодорхойлогдсон байж болно.  

ПТ-ын утгыг олгосон бол процессорын командын цикл ажиллаж эхлэх ба ингэсний үр дүнд тасалдлын боловсруулагчид удирдлага шилжинэ. 

6. Хэдийгээр ПТҮ болон ПТ –ын утгыг хадгалсан боловч программын ажиллагаанд хэрэгтэй, хадгалах шаардлагатай  бусад өгөгдөл  байдаг.  Жишээ нь процессорын регистрүүдийг заавал хадгалах хэрэгтэй. Учир нь тасалдлын боловсруулагч тэдгээр регистрүүдийг ашиглана. Иймээс тасалдлын боловсруулагч нь эхлэхдээ хадгалах шаардлагатай бусад бүх өгөгдлийг хадгалдаг.  Зураг 1.11a-д энгийн жишээ үзүүлэв.  
7. Одоо тасалдлын боловсруулагчийн үйл ажиллагаа явагдахад бүрэн бэлэн боллоо. Энэ программ ажилласнаар О/Г-ын үйлдэл гүйцэтгэгдсэн тухай мэдээллийг  төхөөрөмжөөс уншина.
8. Тасалдал боловсруулагдаж дуусмагц хадгалагдсан регистрүүдийн утгыг стекээс авч сэргээн тогтооно.   (Зураг 1.11b)
9. Хамгийн сүүлд нь ПТҮ болон ПТ-ын утгыг сэргээн тогтоож  тасарсан программын үйл ажиллагааг үргэлжлүүлнэ.  

Олон тасалдал  

Урьд нь бид зөвхөн нэг тасалдал үүсэх  түүнийг боловсруулах тухай үзсэн. Гэвч зарим тохиолдолд тасалдлууд зэрэг үүсэх нөхцөл  байдаг.  Жишээ нь : Программ сүлжээний шугамаас болон хэвлэгчээс нэгэн зэрэг тасалдлын сигнал хүлээн авч болно.  Хэвлэгч нь хэвлэх үйл ажиллагаагаа дуусах  болгоныхоо дараа тасалдлын сигналыг илгээдэг. Мөн сүлжээгээр өгөгдөл дамжин ирэх тоолонд тасалдлын сигнал үүсдэг.  Ингэхээр принтерийн илгээсэн тасалдлын сигналыг боловсруулж байх явцад  өгөгдл ирлээ гэсэн тасалдлын сигнал сүлжээнээс ирж болно.  Ийм тохиолдлуудыг 2  аргаар шийддэг. 

  1. Тасалдал боловсруулагдаж байх явцад өөр тасалдал  боловсруулахыг хориглох арга байдаг. ТАСАЛДЛЫГ ХОРИГЛОХ гэдэг маань  төхөөрөмжөөс ирж буй тасалдлын сигналд процессор хариу өгөхгүй гэсэн үг юм.  Төхөөрөмж тасалдлын сигналыг явуулсаар байх бөгөөд процессор ТАСАЛДЛЫГ ЗӨВШӨӨРӨХ үйлдлийг гүйцэтгэсний дараа л тус сигналд хариу өгнө.  Энэ аргын дагуу хэрэглэгчийн программ ажиллаж явцад тасалдал үүсмэгц өөр тасалдал боловсруулахыг хориглодог.  Тасалдлын боловсруулагч дуусмагц хэрэглэгчийн программ үйл ажиллагаагаа үргэлжлүүлэхээс өмнө процессор өөр тасалдал үүссэн эсэхийг шалгаж үзээд тасалдлыг зөвшөөрдөг.  Хэрвээ тасалдал үүссэн байвал түүнийг шууд боловсруулдаг.  (Зураг 1.12a).   
  2. Өөр нэг арга нь тасалдлуудад зэрэглэл тогтоож өгөх ба өндөр зэрэглэлтэй тасалдал нь бага зэрэглэлтэй тасалдал боловсруулагдаж байхад түүнийг тасалдуулж чадна.  (Зураг 1.12b)  Энэ аргыг  дараах оролт гаралтын төхөөрөмжүүдтэй системийг сонгон авч  хэлэлцэе .

Принтер (Зэрэглэл =2 ), Диск (Зэрэглэл=4), Сүлжээ  (Зэрэглэл=5) 

Хэрэглэгчийн программ t=0 үед эхэлж байна.  t=10 үед принтер тасалдал үүсгэх бөгөөд системийн стекд программын төлөв байдал хадгалагдаад принтерийн тасалдалд үйлчлэх модуль (ТҮМ) ажиллаж байна.  Энэ модуль ажиллаж байхад буюу t=15 байхад сүлжээний тасалдал үүсч байна. Учир нь энэ тасалдал нь өмнөхөөсөө илүү өндөр зэрэглэлтэй болно. 

Принтерийн ТҮМ таслагдаж , түүний төлөв стект хадгалагдах бөгөөд сүлжээний ТҮМ ажиллаж эхэлнэ.  Энэ тасалдал боловсруулагдаж байх явцад  буюу (t=20) байхад дискийн тасалдал үүсэв. Гэвч түүний зэрэглэл нь ажиллаж байгаа тасалдлаас бага учир сүлжээний тасалдал үйл ажиллагаагаа хэвийн үргэлжлүүлнэ. Сүлжээний тасалдал ажиллаж дуусмагц (t=25), принтерийн ТҮМ ажиллах боломжтой болсон боловч түүнээс илүү өндөр зэрэглэлтэй дискийн тасалдлын сигналыг процессор хүлээн авах бөгөөд дискийн ТҮМ ажиллана. 

Ингээд дискийн ТҮМ ажиллагаагаа дуусгасны дараа л (t=35)  принтерийн ТҮМ үйл ажиллагаагаа үргэлжлүүлнэ.  Принтерийн ТҮМ ажиллаж дуусахад хэрэглэгчийн программд удирдлага эргэж ирнэ. 

[ ДЭЛГЭРЭНГҮЙ ]


1.3  Командуудыг биелүүлэх тухай 

Биелэгдэх гэж буй программ нь санах ойд байрлах командуудын олонлогоос тогтоно. Процессорын үүрэг нь эдгээр командуудыг биелүүлэх юм. Командыг дараах 2 энгийн алхамаар биелүүлдэг. Процессор санах ойгоос тухайн командыг уншина. Дараа нь биелүүлнэ.  Нэг командыг биелүүлэхэд шаардлагатай боловсруулалтыг команды цикл гэж нэрлэдэг.  

Хоёр алхамтай циклийг 1.2 –р схемд үзүүлэв.  2  алхамыг нь унших цикл, биелүүлэх цикл гэж нэрлэдэг.  Машин унтрах,  засагдашгүй алдаа гарах, компьютерийн үйл ажиллагааг дуусгах команд таарах хүртэл  процессын биелэлт  үргэлжлэнэ.



Командыг унших ба биелүүлэх

Командын цикл болгоны эхэнд процессор санах ойгоос командыг уншдаг ба уншигдах командын хаягийг  ПТ регистр агуулдаг.  Процессор командыг уншсаны дараа  ПТ регистрийн утгыг үргэлж  нэмдэг. Ө.х дараагийн уншигдах командын хаягийг тогтооно. Процессорт уншигдсан команд нь КР регистрт хадгалагдана.  Процессор командыг тайлж уншаад  заасан үйлдлийг гүйцэтгэдэг.  Процессороор гүйцэтгэгдэх эдгээр үйлдлүүд нь ерөнхийдөө 4 бүлэгт хуваагддаг. 

  • Процессор-СанахОй :  Өгөгдлийг процессороос санах ой руу дамжуулах эсвэл санах ойгоос процессор луу дамжуулах
  • Процессор-ОролтГаралт :  Өгөгдлийг гадаад төхөөрөмж рүү болон төхөөрөмжөөс процессорт дамжуулах
  • Өгөгдөл боловсруулалт : Процессор өгөгдөл дээр арифметик болон логик үйлдэл гүйцэтгэх
  • Удирдлага : Команд нь өөр командын дараалал гүйцэтгэгдэхийг заах
  • Жишээ нь процессор 149 гэсэн хаягаас “дараагийн биелэгдэх команд 182 гэсэн хаяг байх болно” гэсэн командыг уншиж болно.  Ингэхэд процессор ПТ-ыг 182 болгох  ба дараагийн команд нь 150-иас биш 182-оос уншигдах болно. 
1.4 –р схемд процесс биелэгдэж буй үе дэх процессорын регистрүүд болон санах ойн хэсгийг үзүүлэв.  Тухайн процессын хэсэгт 940-р үүрэнд байгаа тоон дээр 941-р үүрний утгыг нэмээд 941-р үүрэнд хийх үйлдлийг гүйцэтгэж байна. 


Дээрх үйлдлийг гүйцэтгэхдээ нийт 3 команд ашиглах ба энэ нь 3 унших, 3 биелүүлэх цикл гүйцэтгэнэ гэсэн үг.  
  1. ПТ = 300 утгатай бөгөөд 300 хаягт байгаа команд нь КР регистрт уншигдана. Энэ үйл ажиллагаанд  СХР  ба  СБР регистрүүд ашиглагддаг. 
  2. КР регистрийн эхний 4 бит нь  АС –т утга унш гэдгийг тодорхойлж байна. Харин сүүлийн 12 битэд унших хаягийг нь  940 гэж тодорхойлж байна. 
  3. ПТ автоматаар нэмэгдэж дараагийн команд КР-т уншигдаж байна. 
  4. АС регистрт байгаа утга дээр 941-р хаягт байгаа утга нэмэгдэн АС регистрт бичигдэж байна. 
  5. ПТ автоматаар нэмэгдэж дараагийн команд КР-т уншигдаж байна.
  6. АС регистрийн утга 941 хаягт бичигдэж байна.
Дээрх жишээнд нийт 3 цикл ашиглагдаж байна. Харин орчин үеийн процессоруудад нэгээс олон хаяг авах бололцоотой болсон бөгөөд энэ нь командыг цөөн циклээр буюу хурдан гүйцэтгэх боломж олгож өгч байна. 

[ ДЭЛГЭРЭНГҮЙ ]


1.2 Процессорын регистрүүд

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

  • Хэрэглэгчдэд харагддаг регистрүүд – Машины болон ассемблер хэлний программистүүд эдгээр регистрүүдийг ашиглах боломжтой байдаг. Дээд түвшний хэлүүдийн хувьд аль хувьсагчийг санах ойд авах , аль хувьсагчийг регистрт авахыг зааж өгөх боломжтой байдаг ба энэ нь ажиллах  хурданд нөлөөлдөг.
  • Удирдлагын болон төлөвийн регистрүүд  - Процессорын үйлдлүүдийг удирдах , үйлдлүүдийн системийн модуль ажиллаж буй процессуудын биелэлтийг удирдахад ашиглагдана. 
Регистрүүдийг ингэж хоёр ангилах хатуу тогтсон дүрэм байдаггүй. Жишээ нь зарим машины ПТ регистр нь  хэрэглэгч ашиглах  бололцоотой байдаг.  (Гэвч ихэнхд нь боломжгүй зүйл)


Хэрэглэгчдэд харагддаг регистрүүд

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

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

Индекс регистр нь  индекслэгдсэн хаяглалт нь хаяглалтын түгээмэл нэг хэлбэр юм. (Жинхэнэ хаягийг гаргаж авахын тулд үндсэн хаяг дээр индексийн утгыг нэмдэг )

Сегмент регистр нь  сегмент хаяглалтын үед санах ой нь хувьсах урттай блокоос тогтох сегментүүдэд хуваагддаг.   Энэ хаяглалтын талаар САНАХ ОЙН УДИРДЛАГА бүлэгт дэлгэрэнгүй үзнэ. Энэ хаяглалтын үед сегментийн эхлэлийн хаягийг регистрт хадгалдаг. Ингэхдээ олон регистрийг ашиглаж болно. Жишээ нь нэг регистрийг үйлдлийн системийн командад нөгөөг нь идэвхтэй биелэгдэж байгаа программд ашиглах

Стекийн заагч  :  Хэрэв хэрэглэгчдэд харагдах стекийн хаяглалт ашиглаж байгаа тохиолдолд стек нь санах ойд байрлах ба түүний оройг заах  регистр байдаг. 

Төлөвийн код  буюу флаг регистр нь үйлдлүүдийн үр дүнд утга олгогдох битүүдээс тогтоно. Жишээ нь  арифметик үйлдлүүд нь нэмэх, хасах утга , 0 утга эсвэл хязгаар хэтэрсэн алдаа гэх мэт үр дүнг гаргаж болно. Төлөвийн кодын битүүд нь нэг буюу хэд хэдэн регистрт хуваагдан хадгалагдаж болно.  

Удирдлагын болон төлөвийн регистрүүд 

Ихэнх тооболсд эдгээр регистрүүд нь хэрэглэгчдэд харагддаггүй регистрүүд байдаг. Зарим машины командын тусламжтайгаар тэдэнд хандаж болдог.  Дараах хоёр регистр нь процессын биелэлтэнд маш чухал үүрэгтэй оролцдог.  

ПТ  -  Командыг унших хаягийг агуулна.
КР  -  Хамгийн сүүлд уншигдсан командыг агуулна. 

Төлөвийн мэдээллийг агуулах Программын Төлөвийн Үг ( ПТҮ ) гэж нэрлэгдэх нэг буюу хэд хэдэн регистрүүд бүх процессорт  байдаг.  ПТҮ нь төлөвийн код буюу флаг регистр  мөн  тасалдал зөвшөөрөх  бит,  удирдлагын ( supervisor mode ) эсвэл хэрэглэгчийн (user mode ) горим эсэхийг тодорхойлсон бит гэх мэт төлөвийн мэдээллүүдийг агуулдаг. 

Тухайн системд олон төрлийн тасалдал ашигладаг бол  тасалдлын векторуудыг заах олон тасалдлын регистрүүд , хэрэв систем стек ашигладаг бол системийн стекийн заагч регистр шаардлагатай болно.  Мөн оролт гаралтын үйлдлүүдэд регистр ашиглаж болно.

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

[ ДЭЛГЭРЭНГҮЙ ]

Дээр өгүүлж байсанчлан би ШУТИС, КТМС-д багшаар орсон цагаасаа эхлэн "Үйлдлийн системийн онол" хичээлийг заасан бөгөөд лекцийн материал, лабораторийн материал, бие даалтын материал, семинарын материалыг бүгдийг нь багшилж байх хугацаандаа боловсруулсан билээ. Ингэхдээ өөрийн багш Д. Ариунбатын боловсруулсан гар ноорог болон гадны бусад томоохон их сургуулиудад ашиглагддаг мэргэжлийн ном сурах бичгийг ашигласан болно. 

Одоо миний бие "Үйлдлийн системийн онол" хичээлийн шинэ сурах бичиг боловсруулахаар шийдсэн тул өмнө нь боловсруулсан лекцийн материалаа энэ хичээлийг судалж байгаа оюутан залуус болон хичээлийг зааж буй мэргэжил нэгт багш нарт зориулан дэлгэж байна.  

Жич : Энэ материалыг аливаа хэлбэрээр ашиглахад үнэгүй бөгөөд нээлттэй болно. Гэхдээ ном товхимол, сонин сэтгүүл, гарын авлага, вэб агуулга, бусад хэлбэрээр ашиглахдаа нэрийг минь болон блогийн минь хаягийг дурдаж байх ёстой гэдгийг анхаарна уу. 


Тооболс : Тооцоолон боловсруулах систем, компьютерийн систем

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

Багаж -> хэрэгсэл -> механик -> автомеханик ->автомат -> тооболс -> ухаантай систем

1.1 Тооболсын үндсэн элементүүд                                                                        

Дээд түвшинд харвал компьютерийн систем нь процессор ,  санах ой , оролт гаралтын төхөөрөмжөөс бүрдэнэ. 

  • Процессор  -  Тооболсоор гүйцэтгэгдэх үйлдлүүдийг удирдаж , өгөгдөл боловсруулах үүргийг гүйцэтгэдэг.  Системд зөвхөн нэг процессор байгаа үед түүнийг төв процессор гэж (CPU – Central Processing Unit ) үздэг. 
  • Үндсэн санах ой  -  Программ болон өгөгдлүүдийг хадгалах зориулалттай.
  • Оролт гаралтын модуль  -  Компьютерийн систем болон гадаад орчин хоёрын хооронд өгөгдлийг зөөх зориулалттай.  Гадаад орчин гэсэн ойлголтонд  гадаад төхөөрөмжүүд, гадаад санах санах ой, сүлжээ  холбооны төхөөрөмжүүд , терминалууд багтана. 
  • Системүүдийг холбогч - Процессор , санах ой, оролт гаралтын модулийн хооронд холболтын үүрэг гүйцэтгэх механизм, бүтэц, элементүүд юм.

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

Санах ойн модуль нь дэс дараалан дугаарлагдсан хаягуудаар тодорхойлогдох үүрүүдээс тогтоно. Үүр болгон нь эсвэл команд болж ойлгогдох эсвэл өгөгдөл болох хоёртын тоон утгыг агуулна. Оролт гаралтын модуль нь төв процессор, санах ой,  гадаад төхөөрөмжийн хооронд өгөгдөл дамжуулна. 

[ ДЭЛГЭРЭНГҮЙ ]

http://mn.wikipedia.org сайт дээр Монгол википедиа (Нэвтэрхий толь) байдгийг дээхнэ үед нэг хальт харж байсан юм байна. Гэтэл толь дотор үйлдлийн системтэй холбоотой сэдэв нэмэгдсэн байх юм, бүүр 2 жилийн өмнө буюу 2007 оны 7 сард шүү.  

Би хаагуур явж байсан болж таарах вэ ?

Ер нь бодоод байхнээ энэ хичээлийг заахаа больсноос хойш Үйлдлийн систем гэдэг сэдвийг бүрэн хаагаад ийм үг байдгийг ч мартаад явж байсан гэж хэлэхэд болохоор санагдаж байна. Тэгээд өөрийн сургуульдаа яалт ч үгүй энэ хичээлийг заах цаг нь ирэх үед л Үйлдлийн систем гэдэг үгийг, онолын энэ сэдвийг сонирхон судалдаг байснаа, бүүр үйлдлийн системийн код эхлүүлээд бичиж байснаа санадаг юм даа. 

Миний цуглуулганд дотроо баахан 3.5" диск бүхий нэг хайрцаг байдаг юм.  Тэнд байгаа диск бүр өөр өөр үйлдлийн системтэй. Ихэвчлэн хөгжүүлэлтийн эхэн үедээ явж байсан жижиг жижиг үйлдлийн системүүд байсан, бүгдийнх нь эх код надад байсан. Одоо тэднээс бараа сураг нь байдаг болов уу хэд нь цааш хөгжиж хэд нь алга болсон бол, завтай үедээ нэг хайж үзэх юм сан. Уг нь миний санаагаар бол Үйлдлийн системийн онол хичээл дээр оюутнуудад үйлдлийн системийн дэд системүүдийн загвар хийлгэх гээд хийсвэр лаборатори, бие даалт хийж байхаар, жижигхэн авсаархан үйлдлийн систем хийгээд тэрнийгээ хөгжүүлэн оюутнуудыг бодит зүйл дээр дадлага хийлгэе гээд зориглоод бүр эхлүүлж байсан санагдаж байна. 

1.1 Үйлдлийн систем
Үйлдлийн систем ¿ндсэн ойлголт ¿йлдлийн систем нь шууд удирдлага, техник хангамжийн менежмент, үндсэн
системийн үйл ажиллагаа болон word processing, web browser зэрэг хэрэглээний програм хангамжийн
ажиллагаанд нөлөөтэйгээр оролцдог програм хангамж юм. Үйлдлийн систем нь компьютерын ажил хийдэг
програм эсвэл командын систем гэж тодорхойлж болно.Үйлдлийн систем нь компьютерын програм хангамжийг
удирдах болон компьютерын техник хангамжийг идэвхжүүлэх системийн програм хангамж юм.Үйлдлийн систем
нь boot процесс дуудагсаны дараа компьютерыг хэрэглэхэд бэлдэж өгдөг ба компьютерыг удирддаг програм
хангамж юм.Үйлдлийн систем нь компьютерын хэрэглэгч болон техник хангамжийн хооронд жуучлагч програм
юм
1.2 Үйлдлийн систем түүх
Хориод жилийн өмнө Apple-ийг үндэслэгч Jobs ба Wozniak хоёр гэртээ ашиглах худалдааны мэдээлэл
боловсруулах машины өвөрмөц санаа олсон. Тэр бизнес маш амжиллтай хэрэгжсэн байна. Энэ үеэр Bill Gates
болон Paul Allen нар илүү сонин санаа гаргасан байна. Тэр нь худалдааны компьютерын үйлдлийн систем. Энэ
нь Jobs, Wozniak-ын санаанаас илүү ер бусын байв. Тухайн үед компьютерын ойлголт ямар нэг физик биет
байсан бөгөөд захиалсан зүйл хайрцагтай ирэн, угсарч залгаад л гэрэл нь асдаг байх зэрэг. Гэтэл үйлдлийн
систем нь ямар ч бодит биелэлгүй зүйл мэт санагдаж байв. Мэдээж энэ нь дискэн дээр ирсэн бөгөөд суулгаж
кодлогдсон нэг тэгийн маш урт цуваа байсан байна.
Одоо Gates болон Allen-ын үүсгэсэн компаны үйлдвэрлэдэг үйлдлийн системүүд амжилттай бөгөөд маш сайн
борлуулалттай байгаа бөгөөд хүмүүс ганц компань энэ зах зээл дээр монополдчих вий хэмээн санаа зовдог.
Компьютерын ерөнхий зорилго бүр компьютерт суулгасан бусад програм хангамж болон техник хангамжийг
хэрхэн ажиллуулах, хэрхэн ашиглах талаар компьютерт зааж өгдөг үйлдлийн систем байхыг шаарддаг. Өнөө
үед гарч байгаа програм хангамж үйлдлийн системийг шаардах болжээ. MSDOS, Unix,linux, Windows-ууд нь
бүгд үйлдлийн системүүд юм.
1.3 Үйлдлийн системийн зорилго
Хэрэглэгчийн програмыг гүйцэтгэх, хэрэглэгчид тулгарах хүндрэлийг шийдэх
Компьютерын системийг хэрэглэхэд ойлгомжтой амархан болгох
Компьютерын техник хангамжийг зохистой хэрэглэх
Үйлдлийн системийн гүйцэтгэх үүргийг дурдвал:
диалог буюу хэрэглэгчтэй харьцах
оролт-гаралт, өгөгдлийг удирдах
програм боловсруулах процессын төлөвлөлт, зохион байгуулалт
санах ой, кэш, процессор, гадаад төхөөрөмжүүд г.м. компьютерын хэсгүүдтэй ажиллах
сонгосон програмыг ажиллуулах
боломжит бүх төрлийн үйлчилгээ (сервис)
дотоод төхөөрөмжүүдийн хооронд мэдээлэл дамжуулах
монитор, гар, дискүүд, принтер г.м. залгах төхөөрөмжүүдийн ажиллагааг програмын төвшинд дэмжих зэрэг
болно. PC-ийн ҮС нь дараах үндсэн компонентуудыг агуулах ёстой. Эдгээр нь:
командын хэл
командын процессор
драйверууд
файлын систем
1.4 Нээлттэй эхийн үүсэл хөгжил
Дэлхийн бүх үйлдлийн систем анх үнэгүй, цаанаасаа дагалдаж ирдэг байжээ. Өөрөөр хэлбэл програмистууд
техникээсээ маш их хараат байдаг байлаа. Нэг л нартай өдөр нэгэн програмист өөрийн эрх ашгаа яаж
хамгаалах тухай маш оновчтой санаа бодож олжээ. Энэ бол техникийн нөмрөөс холдож бие даан програм
зохиогоод түүнийгээ борлуулах явдал байлаа. Энэ нь тэдэнд маш их ашигтайгаар эргэжээ. Учир нь ямар ч
програмгүй тооцоолуураар хүн юу хийх билээ дээ. Ийн хүү програмистуудад ашигтай байсан ч гэлээ
хэрэглэгчдэд мэдээж шаталттай байлаа. Ийн хүү хүмүүс үнэгүй програм хангамжийг хүсэж байх тэр үед Линус
Тровалдс гэгч авьяаслаг залуу гарч ирэн ЮНИКС програмын араг ясан дээр нь өөрийн үзэл бодлоо шингээгээд
ямар ч үнэ хөлсгүй тарааж орхижээ. Гэхдээ зүгээр ч нэг тараалгүй шууд эх кодтой нь тараасан нь тэр үеийн
програм хангамжийн ертөнцийхнийг мэл гайхуулсан явдал болсон юм. Учир нь энэ бол маш их хөлс, хүч билээ.
Ингээд анх нээлттэй эхийн суурь тавигдаж, Линус Торвалдсын тэр кодыг олон хүн шүлсээ гоожуулан судалж
эхэлжээ. Маш олон хүн үүгээр хоолоо олж идсэн ч дийлэнх хэсэг нь үүнийг сайжруулан өөрчилсөөр байлаа.
Бас ингэж нээлттэй эхийн хөгжүүлэлтийн суурь тавигдаж дэлхийн өнцөг булан бүрийн хүмүүс үүнийг гэртээ
суугаад хөгжүүлэх том боломж гарч ирсэн юм. Гэхдээ нээлттэй эх хүчээ авч эхлээгүй байх тэр л үед лицензтэй
буюу бидний мэддэгээр майкрософтынхны бүтээл эд оргилдоо тулж байсан юм. Энэ байдал маш урт удаан