Friday, October 21, 2011

1963 Timesharing: A Solution to Computer Bottlenecks

Thursday, October 20, 2011

Хөтөлбөрлөлийг Сургааль болгосон нь

- үргэлжлэл -

Улам бүр өсөн нэмэгдэж байсан хөтөлбөрлөлийн бэрхшээлүүдийг тусгайлан онилсон урьдын олон жилийн хүчин чармайлтуудаас үл хамааран 1968 онд хөтөлбөрлөлийн хямрал нүүрлэв. Хөтөлбөрлөлд нүүрлэсэн асуудлуудыг олж хараад шинэ санаа дэвшүүлсэн эрдмийн хүрээллийн ертөнц дэхь судлаачид нь үндсэндээ Э. Дикстра болон К. Хоар нар байлаа. 1965 онд Дикстра өөрийн алдарт "Бүтэцлэг хөтөлбөрлөлийн талаархи тэмдэглэлүүд"-ээ бичиж хөтөлбөрлөл бол урлал бус харин сургааль хэмээн тунхагласан байв. Түүнчлэн 1965 онд Хоар өгөгдлийн бүтцийн талаар чухал нийтлэлээ нийтлүүлээд байлаа. Хөтөлбөрлөлийн шинэ хэлүүд, ялангуяа Паскал хэл бүтээхэд эдгээр санаа гүнзгий нөлөөлсөн юм. Шинэ хэлүүд нь эдгээр шинэ санааг илэрхийлэн тээгчийн үүрэг гүйцэтгэжээ. Бүтэцлэг хөтөлбөрлөлийг бүтэцлэг хөтөлбөрлөлийн хэлүүдээр дэмжих боллоо.     
             
1966 онд, Дикстра ээлжлэн хорших үйлүүдийн тухай ном бичиж семафорт суурилсан сургаалиа дэвшүүлсэн юм. Өрсөлдөгч үйлүүдийг уялдуулах анхдагч нэгж болох семафорыг 0 ба 1 гэсэн утгууд болон P ба V гэсэн эгэл үйлдлүүдээс бүрдэх өгөгдлийн төрөл хэмээн үзэж болно. (P(s) нь - өөр үйлийн үйлдлээр - s-ийн утга 1 болох хүртэл дуудагч үйлийг саатуулж байгаад дараа нь семафороо тэглэнэ. V(s) нь s-ын утгыг 1 болгоно.) Дараахан нь Хоар 1966 онд суваг ба нөхцлүүд гэсэн ухагдахуун, түүнчлэн "?" (байцаах) болон "!" (нөхцөл нягтлах) тэмдгүүдээр тэмдэглэсэн хоёр үйлдэгч дээр суурилсан Мэдээ солилцогч Цуврал Үйлүүдээ дэвшүүлсэн юм. Ирээдүйд хөтөлбөрлөгчид өрсөлдөгч үйлүүд тойрсон элдэв бэрхшээлүүдтэй нүүр тулах болно гэдгийг Хоар бүрэн ухаарчээ. Өрсөлдөөнтэй тулгарах бодит шаардлага нь бүтэцлэг болон сургаальлаг аргачлал аминд тулсныг илүү тодоор харуулсан юм.         

Энэ бүх хүчин чармайлттай зэрэгцээд, 1968 оны НАТО-гийн бага хурлын үеэр хөтөлбөрлөлийн талбар нь учраа олохгүй алмайрсан, тэр бүү хэл задарч, бутарсан байдалтай байв. Дикстра, Хоар болон бусад хүмүүсийн хөгжүүлсэн чухал хөгжүүлэлтүүд нь бүх бэрхшээлийг ганц шөнөдөө арилган туурвилын нөхцөл байдлыг өөрчилж чадсангүй, чадах ч боломжгүй. Хөтөлбөрлөгчдийнх нь хэрэглэж байсан багаж хэрэгслэлүүд болон хэлүүдэд 1968 онд үүссэн эдгээр шинэ санаанууд огт нэвтрээгүй байсан тул үйлдвэрлэгчид өөрсдийн бодлого, багаж хэрэгслэлүүдээ хангалттай хурдан өөрчилж чадахгүй байв. Тун удалгүй бүтэцлэг хөтөлбөрлөлийн эрчимсэн сургалтууд зохион байгуулагдаж эхлэлээ. Ялангуяа IBM пүүс дотор. Хөтөлбөрлөлийн асуудлууд харанга дэлдлээ гэдгийг Америкийн Батлах Хамгаалах Хэлтэс хүртэл анхаарч эхлэв. БХХ өөрийн зүгээс төсөл санаачилснаар хэрэглээний өргөн хүрээ хамрахад тохиромжтой, дээд зэргийн бүтэлцэг хэл Ада мэндэллээ. Ингэснээр БХХ доторхи туурвил хөгжүүлэлт  зөвхөн Ада хэл дээр суурилах болсон нь өнөө ч хүчтэй хэвээр байна.        
  
Туурвил инженерчлэлийн товч түүх
1960-аад он ба Туурвил Инженерчлэлийн Үүсэл

Wednesday, October 19, 2011

When Computers Changed the World

1960-аад он ба Туурвил Инженерчлэлийн Үүсэл

- үргэлжлэл -

Тооцоолууртай харьцдаг хүмүүс түүнийхээ намтар түүхийг гол төлөв бараг сонирхдоггүй нь тоогүй. Үр дүнд нь хэдэн арван жилийн тэртээ бий болсон олон санаа, ухагдахуунуудыг магадгүй өөр нэршлийн дор шинэ санаа мэтээр сурталчлан түгээхэд хүргэдэг. Өнгөрснөө эргэн харж, нэр томъёо, ухагдахуунууд хэрхэн үүссэнийг мөшгөхөд тодорхой цаг зарцуулах нь зүйтэй гэдэгт би итгэдэг.

Тооцоолуурын эриний чухал цаг үе бол 1950-аад оны сүүл гэж би үздэг. Их сургууль болон судалгааны хүрээлэнгүүд өөрсдийн гэсэн аварга тооцоолууруудтай болов. Энэ үйл явц нь ихэвчлэн инженерийн болон байгалийн ухааны салбарт түлхүү анзаарагдаж байснаа тун удалгүй бизнесийн салбарт нэвтэрлээ. Лаборатори дотор хэдхэн хүн тооцоолуураа ээлжлэн ашиглахаар дугаарлан зогсдог байсан цаг хэдийнэ ард хоцорчээ. Цахилгааны инженерүүдийн хаалттай лабораториас урган төлжиж нийтийн талбарт гарснаар тооцоолуурын хэрэглээ, ялануяа тооцоолуурын хөтөлбөрлөл нь олны үйл хэрэг болон хувирлаа. Шинэ мэргэжил мэндлэв; гэхдээ аварга тооцоолуурууд өөрсдөө хаалттай хананы цаана нууцлаг хэвээр үлдэв. Хөтөлбөрлөгчид өөрсдийн хөтөлбөрөө тоолуур дээр авч ирэхэд түүнийг нь диспетчер хүлээн авч дараалалд оруулах бөгөөд үр дүн нь хэдэн цаг юмуу өдрийн дараа гарна. Тооцоолуур, хүн хоёрын хооронд ямар ч шууд харилцаа байсангүй.

Хөтөлбөрлөл нь ухааны ур сорих асар их тэсвэр, тэвчээр, зориг, эрмэлзлэл шаардсан амаргүй даалгавар хэмээн тооцогдож байлаа. Иймэрхүү ухаан сийлэх ажлыг тэтгэхийн тулд томъёолбор тэмдэглэлүүд бүтээв. Өнөөдөр бид тэднийг хөтөлбөрлөлийн хэлүүд гэж нэрлэдэг. Уг санаа нь тусгай зааварлагч кодын дарааллуудыг математикийн томъёонуудаар орлуулах явдал байлаа. Хамгийн анхны өргөн тархсан Фортран хэлийг IBM (Backus, 1957) гаргаж удалгүй Алгол (1958) болон түүний залгамжлагч нь 1960 онд мэндлэв. Тэр цагт тооцоолуур нь хадгалах, дамжуулах бус зөвхөн тооцоолох зориулалттай байсан тул тэдгээр хэл нь цэвэр математик тоогоор дагнана. 1962 онд Америкийн батлан хамгаалах хэлтсээс эрхлэн бизнесийн зориулалт бүхий Кобол хэлийг гаргажээ.

Тооцоолох чадал нэмэгдэхийн хэрээр хөтөлбөр болон хөтөлбөрлөгчийн эрэлт хэрэгцээ өслөө. Даалгаврууд улам бүр ээдрээтэй болсоор. Тооцоолуур хичнээн чадалтай байлаа ч түвэгтэй асуудал шийдэх гарц олдохгүй зовооно, хөтөлбөрлөл бол хүнд даалгавар гэдгийг аажмаар хүлээн зөвшөөрч эхлэв. Ганц аврал нь хөтөлбөрлөлийн "илүү сайн" хэлүүд, илүү олон "багажнууд", тэр бүү хэл автоматжуулалт хэмээн тооцогдож байлаа. Илүү сайн хэлүүд гэдэг нь хэрэглээний өргөн хүрээ хамарсан, "ярианы" хэлтэй ойр дөт бөгөөд илүү өргөн бололцоотой гэсэн санаа. Шинжлэх ухааны болон арилжааны ертөнцийг нэгтгэхээр PL/1 хэлийг зохиожээ. "Хүн бүрт хөтөлбөрлөх боломж олгосон PL/1-т талархлаа" гэх уриан дор түүнийг сурталчилж байв. Хөтөлбөрлөлийн хэлүүд болон тэдгээрийн эмхэтгүүрүүд нь тооцоолох ухааны тулгуур баганууд боллоо. Гэсэн ч тэдгээр нь тооцоолуурын үндсэн хэрэглээ болсон уламжлалт хоёр салбар болох математик болон электроникийн хүрээнээс халив. Америкт Тооцоолуурын Ухаан, Европт Мэдээлэлзүй хэмээн нэрлэгдэх цоо шинэ сургааль үүслээ.

1963 онд анхны хугацаа-товчлох тогтолцоо үүсэв (MIT, Stanford, McCarthy, DEC PDP-1). Үгүйлэгдэж байсан шууд харилцаа эргэн ирлээ. Тооцоолуур үйлдвэрлэгчид энэ санааг шүүрэн авч өөрсдийн аварга тооцоолох машинуудад зориулсан хугацаа-товчлох тогтолцоонуудыг сурталчилах болов. Багцлан боловсруулах тогтолцооноос хугацаа-товчлох тогтолцоо руу шилжих нь санасныг бодвол хамаагүй хэцүү болж таарлаа. Тогтолцоогоо сурталчилсан хэрнээ хугацаанд нь хүлээлгэн өгч чадахаа болив. Асуудал нь дэндүү нүсэр байжээ. "Ажил дээр нь" судалгаагаа явуулах боллоо. Цоо шинэхэн халуун сэдэв нь мульт боловсруулалт болон өрсөхүй хөтөлбөрлөлт байв. Бэрхшээлийнх нь улмаас томоохон пүүсүүд сүйрлийн ирмэгт туллаа. НАТО санхүүжүүлсэн 1968 оны бага хурал энэ сэдвээр хуралджээ (Garmisch-Partenkirchen, Germany). Хэдийгээр өмнө нь энэ талаар санал, шүүмжүүд үе, үе дэгдэж байсан боловч чухамдаа энэ бага хурлаар тулгарсан бэрхшээлээ нээлттэй хэлэлцэн ер бусын эелдэгээр хүлээн зөвшөөрч, улмаар туурвилын инженерчлэл ба туурвилын хямрал гэх нэр томъёо эргэлдэх болсон билээ.

Туурвил инженерчлэлийн товч түүх

Tuesday, October 18, 2011

Туурвил инженерчлэлийн товч түүх

Никлаус Вирт
2008.2.25

Хураангуй

Хөтөлбөрлөх Урлагийн талаархи хувийн төсөөллөө бид толилуулж байна. Бид 1960-аад оны түвшнээс нь эхлээд өнөөг хүртэлхи хөгжлийн замналаар нь мөшгих болно. Холимог тогтолцоо зохиомжлоход тулгарах саад бэрхшээлүүдийг эвсгээр хэлэлцсэн 1968 оны бага хурлаас хойш Туурвил Инженерчлэл гэх нэр томъёо дуулдах болжээ. Шийдлийн эрэл хайгууль эхэллээ. Энэ нь илүү сайн аргачлал, илүү сайн багаж хэрэгслэлүүд дээр төвлөрч байв. Хамгийн их анхаарал татсан нь ажилбарын, цогцолборын тэгээд тусагдахууны чиглэлийн хэв маягийг тусгасан хөтөлбөрлөлийн хэлүүд байв. Туурвил инженерчлэл нь тэдгээрийн үүсэл, хөгжилтэй нягт уялджээ. Түүнчлэн хөтөлбөрийн баримтжуулалт болон сорилыг цэгцлэн улмаар автоматжуулах хүчин чармайлтууд чухалд тооцогдож байлаа. Тиймээс задлан шинжлэх нотолгоо болон алдаагүйжлийн баталгаа нь сорилыг орлоно хэмээн тооцож байв.           

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