Friday, February 3, 2012

Unix үйлдлийн системийн тухай



1960 аад оны сүүлчээр Unix үйлдлийн системийг анхлан Кен Томпсон 1969 онд АТ&Т Bell лабораторид PDP-7 машин дээр бичжээ. Тэрээр хожим нь C программчлалын хэлний үндэс болсон B хэлийг зохиожээ.
Улмаар 1970 онд Дэннис Ритчиегийн хамтаар АТ&Т Bell лабораторид PDP-11 дээр UNIX үйлдлийн системээ гаргажээ.
Хожим нь Дэннис Ритчие C программийн хэл зохиосныг бид мэдэх билээ. Unix үйлдлийн систем нь анхлан компьютерийг програм зохиогчдод нэг зэрэг ашиглах нөхцөлийг бүрдүүлэх зорилгоор бүтээгджээ. Тухайн үедээ хэд хэдэн чухал чанарыг агуулж байжээ. Жишээ нь multitasking, multiuser capability гэх мэт.
Unix-ийн үйлдлийн систем нь доорх хэсгээс тогтоно.Ингээд Unix системийн програмчлалын гарын авлага 1971 оны 11-р сарын 3 өдөр гарч байжээ. Unix-ын код хялбар болох тутам эрчимтэй хөгжих болсон ба AT&T фирм unix үйлдлийн системийг их сургуулиуд, засгийн газар, арилжааны зорилгоор лицензтэйгээр худалдаалах болсон юм.. 1975 оноос эхлэн улам боловсронгуй болсон Unix-ийн 4,5,6-р хувилбар гарсан. Unix v7 хувилбарын unix 600 машин дээр ажиллаж байсан ба судалгааны зориулалттай хөгжүүлж байсан Unix системийн сүүлийн хувилбар байсан юм.
U
nix  үйлдлийн системийг анх хэд хэдэн програм зохиогчид нэг компьютерт зэрэг хандаж түүний нөөц боломжийг ашиглахад зориулан зохиогдсон байна Хэдийгээр Unix-ийг програмистууд програмистуудад зориулан зохиосон боловч, энэ нь чадавхилаг, уян хатан учраас бизнес, шинжлэх ухаан, боловсрол болон үйлдвэрлэлийн салбарт өргөн хэрэглэгдэх болсон юм.Маш олон төрлийн харилцаа холбооны холболтын болон дамжуулах системийн тоног төхөөрөмжүүдийн ашиглалт, удирдлагын системүүд Unix дээр суурилсан байдаг юм. Эхэндээ дунд хэмжээний миникомпьютерүүдэд зориулагдан зохиогдсон боловч удалгүй том майнфрэйм компьютерүүдэд шилжин суурилагдсан байна. Хувийн буюу жирийн хэрэглээний компьютерүүд өргөн тархахын хэрээр, Unix ч мөн энэ төрлийн компьютерүүдэд ч мөн таарах болсон бөгөөд одоогоор хэд хэдэн компаниуд шинжлэх ухааны судлаачид болон компьютерийн програм зохиогчдод зориулан UNIX-д суурилсан машинуудыг үйлдвэрлэн гаргаж байна
UNIX-ийг эхнээс нь л шилдэгт тооцуулсан шинжүүд нь:
· Multitasking – Мультитаскинг буюу олон бодлогот горимд ажиллах чадвар
· Multiuser – буюу олон хэрэглэгчийн горимд хэрэглэх боломж
· Portability- зөөгдөх буюу суурилагдах чадвар
· UNIX-ийн програмууд
· Library – буюу програм хангамжуудын сан
UNIX систем функцийн хувьд гурван түвшинд хуваагддаг:
· Кернел буюу цөм, үйлдлүүдийг төлөвлөж хураагуур (storage/диск)-ийг удирддаг;
· Шел буюу бүрхүүл, хэрэглэгчийг системтэй холбогч бөгөөд хэрэглэгчийн командуудыг хөрвүүлж биелүүлнэ.
· Хэрэглээний програм хэрэгсэлүүд, үйлдлийн системд нэмэлт боломжуудыг бий болгоно.

Кернел
Үйлдлийн системийн цохилох зүрх болсон кернел нь тоног төхөөрөмжийг хянаж програмистын удирдлагаар системийн хэсгүүдийг унтрааж асааж байдаг. Хэрвээ жишээ нь та компьютертээ ls буюу директорийн мэдээллийг жагсаах команд оруулбал кернел дискнээс тухайн директор дахь файлуудыг унших командыг өгч, таны дэлгэц дээр тэдгээрийг жагсаан харуулах болно.
Бүрхүүл
Одоогоор нэлээд хэдэн төрлийн бүрхүүл гараад байгаа, хамгийн өргөн тархсан нь bourne ба C бүрхүүлүүд бөгөөд эдгээрээс гадна эхлэн суралцагчдад ихэд дөхөмтэй менюгээр удирддаг бүрхүүлүүд мөн байдаг. Ямар бүрхүүл ашиглахаас үл хамааран үүний үүрэг нь хэвээрээ үлддэг, өөрөөр хэлбэл хэрэглэгч, компьютер хоёрыг холбодог.
Бүрхүүл нь мөн дамжуулах хоолойн үүргийг гүйцэтгэх чадвартай, үүнийг хэрэглэгч хэд хэдэн командыг хооронд нь холбож өгөх, нэг програмын үр дүнг нөгөө програмын оролт болгон ашиглах болох чадвар гэж тайлбарлаж болно.
Хэрэглээний програмууд болон хэрэгсэлүүд
Unix-ийн хэрэглэгчид хэрэглэж болохуйц зуу зуун хэрэглээний порграмууд бий, үүний заримыг нь тодорхой нэг үйлдэлд зориулан гуравдагч этгээдүүд гаргасан байх нь ч бий. Ерөнхийдөө хэрэглээний програмуудыг тодорхой хэрэглээ бүхий жишээ нь: документ боловсруулах болон бизнесийн хэрэглээний програмууд мөн програмчилахад зориулагдсан гэж хоёр ангилж болно.
Unix нь дотроо 2 төрлийн байх юм. Юугаар төрөлж ангилваа гэхээр boot хийх үедээ системийн хаанаас программуудаа унших вэ яаж унших вэ гэдгээр. Өөрөөр хэлбэл “init” хийх төрлөөр нь ангилдаг.
Тэр хоёр төрөл нь:
1. SystemV
2. BSD (Berkeley Software Distribution) Berkeley-гийн их сургуулд АТ&Т-ийн Unix-ийг 1970-аад онд суулгаснаар BSD Unix үүсэх эхлэл тавигдаж.

System V төрөл нь init хийхдээ /etc/rc.d/init.d/ дотроос программуудаа (daemons бую services-ийн startup script-ууд) ачаалах ба энэ директор нь цааш хэд хэдэн ч директор руу симболик линк хийгдсэн байж болно. Single user уу multi user-уу энэ тэрээсээ хамаарч өөр өөр директориос даэмон-уудаа ачаална.
Одоо байгаа системүүдээс Solaris, Redhat, Debian, Mandrave, Ubuntu эд нар энэ төрлийг ашигладаг. Сүүлийн 4 нь Linux тархац шүү.

BSD төрөл нь init хийхдээ /usr/local/etc/rc.d/ дотроос скриптүүдээ ачаална. Гэхдээ тэр директор нь зөвхөн ганц бөгөөд өөрөөр хэлбэл өөр директор эд нараас ачаалахгуй гэсэн үг дээ. Slackware Linux дистро, бүх BSD (FreeBSD, NetBSD, OpenBSD (энэ гурав үнэгүй), BSDi)-ууд үүнийг ашиглана. BSD нь лицэнзийн асуудлаас болж BSDi(үNetэй), FreeBSD, OpenBSD, NetBSD (бүгд үнэгуй) гэх мэт болон хөгжиж иржээ.
Linux үйлдлийн систем нь Unix үйлдлийн системээс гаралтай нэгэн төрлийн unix төст (unix-like) үйлдлийн систем боловч персональ компьютер хэрэглэгчдийн сонирхон судалдаг маш өргөн тархсан үйлдлийн систем юм. Linux нь GNU системтэй нэгдэж байж бүрэн үйлдлийн систем болдог.

No comments:

Post a Comment