Sunday, June 23, 2019

මෙහෙයුම් පද්ධතියේ ඉතිහාස සාරාංශය.



පරිගණක මෙහෙයුම් පද්ධතියේ වැදගත් කම ඔබට වෙනම අමුතුවෙන් වටහා දිය යුතු නැත. අපි පරිගණකයේ ඉතිහාසය ගැන දනිමු. එහෙත් මෙහෙයුම් පද්ධතියේ ඉතිහාසය ගැන අවධානය යොමු වී ඇත්නම් එය ඉතා අල්ප වශයෙනි. මේ වෑයම, එම නොදැනුවත් භාවය අවම කිරීමටයි.

මෙහෙයුම් පද්ධතියේ ඉතිහාසය ගැන සලකා බැලීමේදී, එහි ඉතිහාස කතාව බොහෝ කොටස් වලට බෙදී වෙන්වී අතු පතර වැඩි විශාල වෘක්ෂයක් සේ පැතිරී යයි. ඒ සෑම අස්සක් මුල්ලක් නෑරම යාම ඉතාම දුෂ්කර කාර්යයකි. එබැවින්, වැදගත් යැයි මා හට පෞද්ගලිකව වැටහීගිය අතු ශාකා ඔස්සේ පමණක් මෙහිදී අවධානය යොමු කිරීමට තීරණය කළෙමි. එසේනම්, අපි පරිගණක මෙහෙයුම් පද්ධතියේ අතීතයට එබී බලමු.

***

ලොව මුල්ම පරිගණකය ගැන සාකච්ඡා කිරීමේදී, චීන්නුන්ගේ ඇබකසය හැරුණ විට, එහි අතීතය 1800 ගණන් දක්වා දිව යයි. එය නම් චාර්ල්ස් බැබේජ් ගේ Analytical Engine නොහොත් "විශ්ලේෂණ එන්ජිම" යි. මෙය සම්පූර්ණයෙන්ම යාන්ත්‍රික කොටස් භාවිතා කර තැනූ මෙවලමක් වූ අතර මෙහි මෙහෙයුම් පද්ධතියක් ලෙස යමක් පැවතී නැත. එකල වූ යාන්ත්‍රික කොටස් වල හිඟය නිසා මෙම යන්ත්‍රය කිසිම දිනෙක සම්පූර්ණයෙන්ම සාදා නිම කිරීමට චාර්ල්ස් ට නොහැකි වූ බව සඳහන් ය.

එනමුත්, චාර්ලස් බැබේජ් හට මෙම යන්ත්‍රයේ මෘදුකාංග වල අවශ්‍යතාවක් ගැන යම් හැඟීමක් ඇති වී ඇත. එම නිසා ලොව මුල්ම programmer ලෙස විරුදාවලිය ලත් ඇඩා ලව්ලේස්ගෙන් ඔහු ඔහුගේ මෙම යන්ත්‍රය නිපදවීම සඳහා සහය ලබා ගත් බව සඳහන් ය. නමු එහි වූ මෙහෙයුම් පද්ධතියක් ගැන සඳහනක් නොමැති බැවින් එම යන්ත්‍රය ගැන සාකච්ඡාව මෙතැනින් නවත්වමු.

පරිගණක ඉතිහාසයේ පළමු පරම්පරාව (1945-1955) හෙවත් 1st Generation ලෙස අර්ථ දක්වා ඇති රික්ත නළ (vacuum tubes) සහිත පරිගණක ගැන කතිකාවත මෙහිදී පැන නඟින නමුත්, එහිද පැහැදිලි ලෙස හඳුනාගත හැකි වූ මෙහෙයුම් පද්ධතියක් තිබී නැත. එබැවින් එයද අතහැර දමමු.

මීළඟට එළඹෙන්නේ 1955-1965 සමයයි. එය පරිගණක වල දෙවැනි පරම්පරාවයි. එහිදී එකල විශාල හිසරදයක් වී තිබූ, විදුලි බලය නාස්ති කරන, ඉතා මන්දගාමී, පාලනයේ අපහසු රික්ත නළ වෙනුවට ට්‍රාන්සිස්ටර ආදේශ විය. මෙම පරම්පරාවේ පරිගණක වලද විශේෂයෙන් හඳුනාගත හැකි මෙහෙයුම් පද්ධතියක ස්වරූපයක් නොමැති නමුත්, යම් කාර්යයක් සිදු කිරීමට පැවරූ විට ක්‍රියාත්මක වන විශේෂ මෘදුකාංගයක් තිබී ඇත. එම මෘදුකාංග දැනට පවතින මෙහෙයුම් පද්ධතියේ, කර්නලයේ පූර්වජයෙක් හෝ මුතුන් මිත්තෙක් ලෙස අර්ථ දැක්විය හැක.

මීළඟට එළඹෙන්නේ එක් වැදගත් කාල පරිච්ඡේදයකි. ඒ පරිගණක වල තෙවැනි පරම්පරාව බිහි වූ කාලයයි. එනම්, 1965න් පසු කාලයයි. එකල නිෂ්පාදිත IBM 360 පරිගණකයට OS/360 ලෙස හඳුනාගත හැකි මෙහෙයුම් පද්ධතියක් තිබී ඇත.

IBM 360 Computer
මෙම කාල පරිච්ඡේදය වැදගත් එකක් යැයි මුලින් පැවසීමේ තවත් හේතුවක් නම්, එකල කතාබහට ලක්වූ MULTICS පද්ධතිය අද කාලයේත් භාවිතා වන මෙහෙයුම් පද්ධති වල මූලාරම්භය වී ඇති බැවිනි. MULTICS යනු Multiplexed Information and Computing Service යන්නයි. මෙය මෙහෙයුම් පද්ධතියක එක් ආකාරයක් වූ අතර (Time Sharing OS) මෙය එක් අයෙකුට පමණක් භාවිතා කළ හැකි single user ආකාරයේ එකක් නොවේ. මෙම MULTICS පද්ධතිය සෑදීම මෙහෙයවන ලද්දේ Bell Labs විසිනි. (වර්තමානයේ මෙම ආයතනය Nokia සමාගම සතුය.)

මෙම ව්‍යාපෘතියේ සාමාජිකයන් වූ බොහොමයක් දෙනා පරිගණක ලෝකයට විශාල සේවාවන් සිදු කර ඇත. මෙම ව්‍යාපෘතිය අසාර්ථක වුවත් එහි බලපෑම නම් අති විශාලය. මෙම ව්‍යාපෘතිය නොවන්නට වර්තමාන පරිගණකය බිහි නොවන්නට පවා ඉඩ තිබුණි.

නමුත් ඉන් පසුව, එම ආයතනය යටතේම මෙහෙයවූ UNIX ව්‍යාපෘතිය වඩා සාර්ථක එකක් විය. මෙයට PDP-7 පරිගණකයේ ධාවනය වූ නිර්ණාමික මෘදුකාංග පද්ධතියෙන් ආභාෂය ලැබූ බව සඳහන් වේ. මෙම මෙහෙයුම් පද්ධතිය නිර්මාණය කරන ලද්දේ Ken Thompson, Dennis Ritchie යන දෙදෙනා ප්‍රධාන පිරිස විසිනි. මුලින්ම Assembly පරිගණක භාෂාවෙන් ලියන ලද මෙම මෙහෙයුම් පද්ධතිය, පසුව Dennis Ritchie විසින්ම නිර්මාණය කළ C පරිගණක භාෂාවෙන් ලියන ලදි.

එමෙන්ම එකල්හි POSIX ලෙස නම් කරන ලද සම්මතයක් ගොඩ නැංවුණි. එය තවමත් පවත්වාගෙන යනු ලබයි. POSIX යනු කුමක්ද යැයි අවබෝධ කර ගැනීමට වර්තමානයේ උදාහරණයක් සලකමු. ඔබ Windows මෙහෙයුම් පද්ධතිය යටතේ ධාවනය වන පරිදි මෘදුකාංගයක් ලියන්නේ නම් එම මෙහෙයුම් පද්ධතියේ නියමයන් පිළිපැදිය යුතු ලෙස මෘදුකාංගය ලිවිය යුතුය. POSIX යනු එවැනි standard එකකි. එනම්, POSIX නියමයන්ට (standard එකට) අදාළව ලියන ලද මෘදුකාංග ඕනෑම UNIX මෙහෙයුම් පද්ධතිය සහිත උපාංගයක ධාවනය කළ හැක.

UNIX Interface
UNIX යනු විවෘත කේත මෙහෙයුම් පද්ධතියක් නොවේ. එනම් එහි කේත සටහන එය නිපදවූ මෘදුකාංග ඉංජිනේරුවන් පමණක් දන්නා රහසකි. (MS Windows, MacOS ආදියත් සංවෘත කේත - Closed Code මෘදුකාංග ගණයට ගැණෙන ඒවාය.)

UNIX යනු පරිගණක මෙහෙයුම් පද්ධති ඉතිහාසයේ ඉතා වැදගත් පිටුවක් පෙරලීමට සමත් වූ මෙහෙයුම් පද්ධතියකි.

Microsoft Windows කථාන්තරය.

අපි නැවතත් 1964 තෙක් පිටුපසට යමු. එකල්හි, පරිගණකයක් භාවිතා කිරීම ඉතා සංකීර්ණ කටයුත්තක්ව පැවතුණි. අතිශයින් සංකීර්ණ වූ Command Line Interface එකක් සහිත වූ එකල පරිගණක ක්‍රියා කරවීම වචනයෙන් විස්තර කළ නොහැකි තරම් සංකීර්ණ වූ ක්‍රියාවක් විය. එයට පිළියමක් ලෙස John G. Kemeny හා Thomas E. Kurtz නම් ගණිතඥ්ඥයින් විසින් BASIC පරිගණක භාෂාව කේතනය කරන ලදි. මෙමඟින් එකල minicomputers පරිගණක භාවිතය පහසු කිරීමට සමත් විය.

BASIC functionality
පසුව කරළියට පැමිණි  MITS Altair 8800 යන microcomputer වර්ගයේ පරිගණක වලටත් BASIC වැඩසටහන ඇතුළත් කිරීම සඳහා BASIC interpreter මෘදුකාංගයක් ලොව සුපතළ Bill Gates සහ Paul Allen විසින් ලියන ලදි.

1974 දී පමණ Intel 8080/85  යොදාගත් පරිගණක වලට Digital Research ආයතනය විසින් CP/M ලෙස හැඳින්වූ මෙහෙයුම් පද්ධතියක් නිපදවා තිබුණි. මෙම සමාඟමේ ප්‍රධානියා වූයේ Gary Kildall ය. මෙම CP/M නොහොත් Control Program for Microprocessors මෙහෙයුම් පද්ධතිය එකල අතිශය ජනප්‍රිය විය.

එමෙන්ම Seattle Computer Products ආයතනය විසින් ද 1980 දී පමණ QDOS (Quick and Dirty Operating System) නමින් මෙහෙයුම් පද්ධතියක් දියුණු කරන ලදි. (පසුව 86-DOS) එකල සහ පසුව DOS යන යෙදුම මුල් කර බොහෝ මෙහෙයුම් පද්ධති ප්‍රමාණයක් එළිදැක්විණි.

86 DOS by Seattle Computer Products
1980 මුල් භාගයේදී IBM ආයතනය මඟින් IBM PC පරිගණකය නිපදවා එයට මෘදුකාංග සොයා ගැනීමට උත්සාහ දරමින් තිබුණි. එකල Bill Gates විසින් ඉහත කී පරිදි නිපදවා තිබූ BASIC Interpreter මෘදුකාංගය IBM ආයතනය විසින් ලබා ගැනීම සඳහා Bill Gates හමු විය. ඒ වන විට IBM ආයතනය තමන්ගේ පරිගණකය සඳහා මෙහෙයුම් පද්ධතියක් සොයාගෙන තිබුණේ නැත. Bill Gates හමු වූ IBM නියෝජිතයින් ඔහුගෙන් BASIC Interpreter මෘදුකාංගය මෙන්ම තම නව පරිගණකය සඳහා මෙහෙයුම් පද්ධතියක්ද ලබා දෙන ලෙස ඉල්ලුම් කළේය. නමුත් ඒ වන විට Bill Gates ට සන්තකයේ මෙහෙයුම් පද්ධතියක් තිබුණෙ නැත.

Bill Gates විසින් IBM නියෝජිතයින් හට පැවසූවේ ඔහු සතුව මෙහෙයුම් පද්ධතියක් නැති බවත්, ඒ සඳහා එකල අතිශය ජනප්‍රිය වී තිබූ Kildall සතු Digital Research ආයතනය සමඟ සාකච්ඡා කර ඔවුන්ගෙන් මෙහෙයුම් පද්ධතියක් ලබාගන්නා ලෙසත් ය. IBM ආයතනය Kildall සමඟ කළ සාකච්ඡා අසාර්ථක වූයේ නොසිතූ ලෙසය. එමෙන්ම එය පරිගණක ඉතිහාසයේ වූ විශාලතම වැරැද්ද ලෙස දැක්විය හැක. (Kildall ගේ ගොන්කම) Kildall විසින් IBM ආයතනයට මෙහෙයුම් පද්ධතියක් ලබාදීම ප්‍රතික්ෂේප කරන ලදි.

සාකච්ඡා අසාර්ථක වූ තැන IBM ආයතනය නැවතත් සොයා පැමිණියේ Bill Gates ව ය. සිදු වූ අවාසනාවන්ත සිදුවීම ඔහුට සැළ කළ විට Bill Gates මෙම උභතෝකෝටික ප්‍රශ්ණයට විසඳුමක් සෙවීය. විසඳුම ලෙස Gates හට Seattle Computer Products ආයතනයේ DOS මෙහෙයුම් පද්ධතිය පෙනුණි. ඔහු වහාම එය Seattle Computer Products ආයතනයෙන් $50,000 ක් ගෙවා මිළදීගත්තේය. එම DOS මෙහෙයුම් පද්ධතිය සහ BASIC Interpreter දෙක එකතුවෙන් සැදෙන පැකේජය Gates විසින් IBM ආයතනයට ලබා දුන් අතර IBM ආයතනය විසින් එය පිළිගන්නා ලදි. එමෙන්ම IBM ආයතනය විසින් ඉල්ලුම් කළ යම් යම් වෙනස්කම් සිදු කිරීමට Gates විසින් DOS නිර්මාණය කළ Tim Paterson තමන් යටතට බඳවා ගන්නා ලදි. පසුව DOS යන්න MS-DOS නොහොත් Microsoft DOS ලෙස නම් විය. එසේම එම පැකේජය සහිත IBM PC පරිගණකය වෙළඳපල සැනෙකින් ආක්‍රමණය කළේය. (Kildall ට තරු පෙනෙන්නට ඇත.)

IBM PC, Running MS-DOS
Doug Engelbart විසින් සොයාගත් GUI අතුරු මුහුණත් ක්‍රමය මුලින්ම Macintosh පරිගණකයට Steve Jobs විසින් ඇතුළත් කළ අතර Macintosh පරිගණකය එයින් අත් කරගත් සාර්ථකත්වය දැක Microsoft ආයතනය විසින් GUI Based මෙහෙයුම් පද්ධතියක් ලෙස Microsoft Windows හඳුන්වා දෙන ලදි. මුල් කාලයේ මෙය සම්පූර්ණයෙන්ම ධාවනය වූයේ DOS මතය. පසු කලෙක එය වෙනස් විය. ඉන් පසු Windows 10 දක්වා ගමන් මඟ ගැන ඔබට අමුතුවෙන් විස්තර කිරීමට මම උත්සාහ නොකරමි.

MS Windows 1.01

Modern Windows 10 Interface

Linux කථාන්තරය


මෙම ලිපියේ කියැවුණු UNIX මෙහෙයුම් පද්ධතිය කරා නැවතත් යමු. UNIX යනු අතිශයින් වානිජකරණයට ලක්වූ මෙහෙයුම් පද්ධතියක් වෙත්දී, එම මෙහෙයුම් පද්ධතිය අනුසාරයෙන් MINIX ලෙස, UNIX හිම කුඩා කළ සංස්කරණයක් එළි දැක්වීමට 1987 දී Andrew S. Tanenbaum සමත් විය. එනම්, එහි POSIX standard එක යටතේ ලියන ලද මෘදුකාංග ක්‍රියා කළ හැකි විය. අනෙක් සියළු මෙහෙයුම් පද්ධති වලිට වඩා මෙහි වූ වෙනස වූයේ මෙය නොමිලේ ලබා දීමයි. අධ්‍යාපනික කටයුතු සඳහා MINIX ශිෂ්‍යයන් ට ලබා දුනි. එම ප්‍රයත්නය Linux හි ඇරඹුමට හේතු විය.

MINIX ආභාෂය අනුව යමින් 1991 දී Linus Torvalds විසින් තම පෞද්ගලික පරිගණකයේ ක්‍රියා කරවීම සඳහා  Linux කර්නලය ලියන ලදි. එමෙන්ම මෙම කර්නලය ඉතා විශාල පරිගණක architectures ප්‍රමාණයකට සහයෝගය දැක්වීය. නොමිලේ බෙදා දුන් මෙම කර්නලය ලොව වටා මෘදුකාංග නිර්මාණ ශිල්පීන්ගේ අවධානය පැහැර ගන්නා ලදි. ලොව වටා එම මෘදුකාංග ශිල්පීන් අතින් මෙම කර්නලය මෙන්ම Linux මෙහෙයුම් පද්ධතිය වැඩි දියුණු විය. අදටත් Linux යනු ලොව අතිශය බහුතර server වැනි බල සම්පන්න පරිගණක ක්‍රියාත්මක කරවන මෙහෙයුම් පද්ධතියකි. එමෙන්ම අදටත්, මේ මොහොතේත් ලොව වටා මෘදුකාංග නිර්මාණ ශිල්පීන් අතින් Linux කර්නලය මෙන්ම Linux පාදක බොහෝ මෙහෙයුම් පද්ධති නොමිලයේම වැඩි දියුණු වේ.

Linux Kernel 3.0 Booting
KDE Neon Customized Desktop. (Linux Based)

***

දීර්ඝ ලිපියක අවසානය සනිටුහන් කරමින්, සමුගෙන යන්නේ ඉදිරියේ දිනයක Apple පරිගණක පිළිබඳ ඉතිහාසය ගැනත් සාකච්ඡා කරන බලාපොරොත්තුව සමඟය. එමෙන්ම, ඉහත කරුණු වල දෝෂ, නිවැරැදි කිරීම්, එකතු කිරීම් වෙතොත් පහළින් කමෙන්ටුවක් දැමීමට තරම් කාරුණික වන ලෙසත්, ඔබගේ අදහස ඵල කරන ලෙසත් ඉල්ලා සිටිමි.

Share:

Random Posts

Search This Blog