Thursday, March 5, 2009

Үүсэл гарвал

Уучлаарай удсанд. Харин виндовсын оффисын программ дээр хийсэн материалыг шууд copy paste хийж болдоггүй юм байна. Хоёр дамжуулж хуулж байж орууллаа.
Линукс нь Юниксийн холбоонд анх хөгжүүлэгджээ. Юникс үйлдлийн системийн судалгааны материал нь анх 1973 онд [Ritchie and Thompson 1973] олон нийтэд гарч танигджээ. Ингэснээр үйлдлийн системийн хөгжлийн 2 шинэ хандлагыг бий болгосон юм. Өмнөх үйлдлийн системүүд нь бүх зүйлийг агуулсан нэг том пакеж хэлбэртэйгээр тухайн нэг компьютерийн архитектурт зориулан хийгддэг байв. Үүний эсрэгээр Юникс үйлдлийн систем нь Жижигхэн хэмжээтэй байхыг илүүд үзэж бүхий л компьютерийн архитектур дээр ажиллахыг гол зорилгоо болгов. Аль болох цөөн чухал функцээр хэрэглэгч программыг хангаж, харин нэмэлт функцүүдийг хэрэглэгч өөрийнхөө шаардлагаас хамааран нэмэх боломжтой болсон. Энэхүү философийн улмаас Юникс үйлдлийн систем нь тухайн үедээ хувьсгал дэгдээж хэдхэн жилийн дотор программист, хэрэглэгчдийн дуртай үйлдлийн систем болон хувирсан юм. Хэдийгээр Юниксийн цөм нь аль ч шинэ платформ луу дахин хөгжүүлэх шаардлагагүйгээр хөрвөдөг байсан хэдий ч эх код нь AT&T Bell лабораторийн өмч юм. Бусад байгууллагууд эх кодыг хуулан авч ашиглаж болох байсан боловч энэ тохиолдолд лицензийг нь худалдан авах шаардлагатай. 1980 оны үед маш олон их дээд сургуулиуд, судалгааны лабораториуд Юниксийн цөмийг худалдан авч өөрсдийнхөө судалгаанд ашиглан эх кодуудыг нь өөрчилсөн. Тэдгээрээс хамгийн амжилттай ажиллаж байсан нь Калифорнигийн Берклигийн их сургууль байв. Мөн компьютерийн үйлдвэрлэгч нар ч гэсэн Юниксийн шинэ хувилбарыг гаргахын тулд ажиллацгааж байжээ.
1985 оны үед Юниксийн үндсэн хоёр хувилбар болох AT&T лабораториос гаргасан System V Unix, Берклигийн их сургуулиас гаргасан BSD Unix байв. BSD Юникс нь голлон DECVAX платформ зориулагдаж гаргасан учраас дөрөвдэх хувилбарын Юникс эсвэл version 4.X BSD Юникс хэмээн нэрлэгджээ. Энэхүү хоёр хувилбар нь Юниксийн өөрийнх нь үндсэн интерфэйсээр хэрэглээний программ хангамжуудыг хангадаг байсан боловч зарим нарийн ширийн зүйлүүд нь өөр байв. Эдгээр хоёр хувилбарын хоорондох өрсөлдөөн их идэвхтэй байсан учраас программистууд аль нэгийг нь л сонгож байлаа. 1988 онд Sun корпораци энэхүү хоёр үйлдлийн системтэй амжилттай гэрээ хийж чадсан учраас тэр хоёрыг нэгтгэн өөрсдийн шинэ үйлдлийн систем болох “Solaris OS”-ийг гаргажээ. Тухайн үед бусад компьютерийн үйлдвэрлэгчид ч гэсэн өөрсдийн Юниксийн хувилбар гаргаж байсан нь хэрэглэгчдийг хүндрүүлж байсан учир нэгдсэн тохиролцоонд хүрч 1989 онд POSIX-1 хэмээх өөрсдийн үйлдлийн системийнхээ API /стандартчилагдсан функцүүд/-г гаргасан байна. POSIX стандартыг гаргаснаар дуртай хүн болгон энэхүү стандартыг хангасан үйлдлийн систем хийх эрхтэй болсон байна. Жишээ нь: Carnegie Mellon их сургуулийн судлаач болох Richard Rashid-аар удирдуулсан баг уг интерфэйсийг хэрэгжүүлснээр одоогийн алдарт Макинтош үйлдлийг системийг гаргажээ. Анхандаа Макинтош нь Юниксийн аль ч хувилбараас цөмийнхөө ажиллагаагаар ялгардаг байсан боловч дараа дараагийн хувилбарууд нь POSIX стандартад нийцэхийн тулд BSD Unix-ээс нэлээн хэмжээний кодыг өөртөө авчээ.
Өөр нэгэн гайхамшигтай зүйл гарсан нь 1987 онд Andrew Tanenbaum /Ph.D/ Unix үйлдлийн системийг дахин шинэчилж MINIX хэмээх үйлдлийн системийг гаргажээ. MINIX гэдэг нь Mini-Unix гэсэн үг бөгөөд маш жижигхэн хэмжээтэй энгийн Гуру /GURU – Агуйд олон жил бясалгал хийж төгс гэгээрсэн лам. Бид нарынхаар бол төгс гэгээрсэн хакер/ биш нөхдүүд ч энийг яаж ажилладгийг ойлгох боломжтой [Tanenbaum, 1987]. MINIX нь AT&T Белл лаборатороос гаргасан долоодох хувилбарын Юниксийн интерфэйсийг хэрэгжүүлжээ. Энэхүү долоодох хувилбар гэдэг нь BSD ба System V үйлдлийн системүүдийн API-г нэгтгэсэн байдаг /2 API функцүүдийн олонлогийн огтлолцол аль аль олонлогоос бага байна/. Tanenbaum үйлдлийн системийн талаар бичсэн номныхоо нэмэлт материал болгож MINIX-ийг зохиосон бөгөөд үүнийхээ ажиллагааны тухай номондоо дэлгэрэнгүй бичжээ /Operating System Design and Implementation by Andrew Tanenbaum, одоогоор гурав хүртэлх хувилбар нь гарсан/. Тэрээр MINIX-ийн тухай тэмдэглэхдээ “... Юникс анх гарснаас арваад жилийн дараа илүү модульчлагдсан байдлаар бичигдлээ” гэжээ. MINIX нь суралцаж байгаа хүмүүст их амжилттай байсан боловч түүнийг энгийн байлгах зорилготой холбоотойгоор хэсэг хугацааны дараа зарим нэмэлт онцлогуудыг нь хассан юм.
1991 онд Линус Торвалдс Linux үйлдлийн системийнхээ анхны хувилбарыг гаргахаар ажиллаж байлаа. MINIX хэдийгээр амжилт олж байсан хэдий ч Торвалдс үйлдлийн системээ бүр хүчирхэг, минигээс ч илүү хэрэглээтэй байлгахыг зорьсон юм. Торвалдс өөрийн бичсэн үйлдлийн системийнхээ эх кодыг бусдад үнэ төлбөргүй тарааснаар тун удахгүй POSIX стандартыг хангасан юм. Өөрөөр хэлбэл Линукс нь Юниксийн нээлттэй эх кодтой хувилбар нь болж хөгжсөн юм. Тун удалгүй дэлхийн өнцөг булан бүрээс хөгжүүлэгч нар Торвалдсд хэрхэн улам бүр сайжруулах талаар зөвлөгөө өгч эхэлсэн. Орчин үед Линукс нь зөвхөн үйлдлийн систем бус түүнийхээ зэрэгцээ маш олон багаж хөгжүүлэлтийн хэрэгслийг дагуулж иржээ. Мөн Линукс нь зөвхөн 386 буюу х86 процессоруудад бус бусад платформууд болох Digital Alpha, Sun Sparc, Motorola 68K, MIPS, PowerPC-нд ч хүртэл зориулагдсан. Мөн бидний өдөр тутмын хэрэглэдэг утаснуудын ихэнх нь Линуксын кэрнелийг ашигладаг ба сүүлийн үед Windows үйлдлийн систем мобайл хувилбарууд руу хүч түрэн орж ирж байгаа билээ.
Тухайн үеийн Юниксийн философийг дагаж Линукс нь гарч ирсэн. Тиймдээ ч Линукс бол гүйцэд үйлдлийн систем бус зөвхөн цөм /кернел – kernel – Алтангэрэлийн орчуулганд самрын чөмөг гэсэн байдаг/ юм. Юниксийн философи нь эхэндээ “жижиг хэмжээтэй байх нь гайхамшиг” гэдэг байсан бол цаг хугацаа өнгөрөх тусам түүнд шинээр функцүүд нэмэгдэн орж ирснээр өнөөдөр анхны философоосоо хазайж жижгээ гэж дуудуулахааргүй болжээ. Хэдийгээр Линукс нь 1991 онд өөрийн жижиг байдал, POSIX стандартыг хангаснаараа оновчтой байсан ч, хэн ч түүний цөмийг аваад шинэ боломж чадваруудыг нэмэх боломжтой учраас түүний цөмийнх нь хэмжээ улам бүр нэмэгдсээр байна.
POSIX = Portal Operating System Interface Exchange – Платформоос хамаарал багатай үйлдлийн системийн нэгдсэн интерфэйс.
API = Application Programming Interface – Тухайн хэл эсвэл платформоос онцлогоос хамааран бэлтгэгдсэн системийн сангийн функцүүд

5 comments:

  1. Bi neg gaigui zoowriin hard old baigaad haraal idsen vista.g ter chigt ni ustgamaar bnaa. iPhone chini tsaanaa UNIX deer suurilsan bdag yum bishuu neeree. Tegeed odoo ter ni zadarsan bolohoor developers haigaad baigaam shig bn lee shd. Android.toi orsoldoh geed

    ReplyDelete
  2. Уншихад маш ойлгомжтой юм. Бичээд байгаарай.

    Нээрээ BloggerForWord гээд програм байдаг юм байна.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Hi. Diplomondoo ene post-noos chin Unix. Linux-n tuhai medeelel bolgood ashiglalaa shuu. Bagagui medeelel oruulsan bna shu. Tnx

    ReplyDelete
  5. Илүү ихийг оруулнаа. Харин ойрдоо хичээл ном гээд болдоггүйэ. Орчуулнаа

    ReplyDelete