Wednesday, December 1, 2010

DLL නැතිනම් (Dynamic Link Libraries) ගැන

පහුගිය දවස්වල පොඩ්ඩක් වැඩවලින් අලවෙලා හිටියා :) , හරි ඒව ඕන නැහැ . බහිමු වැඩේට.  මේක dll ගැන පාඩම මාලාවක් කිව්වාට මම බලාපොරොත්තු වෙන්නේ dll වල ක්‍රියාකාරීත්වය ගැන සහෘද රසික ඔබට පොදු දැනුවත් බාවයක් ලබාදීමටයි. ආරම්භයක් ලෙසට dll ගැන පොඩි හැඳින්වීමක් දෙනවා. ඇත්තටම මොකක්ද මේ dll ගොනුවක් කියන්නේ ? පරිගණකයේ දෘඩ තැටි ධාවකය තුළ පොඩි විපරමක් දැම්මොත් ඔබට හොඳින් පෙනෙන කරුණක් තමයි c:\windows ඩිරෙක්ටරිය තුල, system32  ඩිරෙක්ටරිය තුළ මෙවැනි ගොනු විශාල ප්‍රමාණයක් තිබෙන බව. dll ගොනු විවිධාකාරීවූ ක්‍රියාවන් සඳහා windows මෙහෙයුම් පද්ධතිය තුල යොදාගන්නවා . විටෙක desktop  එකේ කුඩා  මූර්ති රූප (icons)  ගබඩා කර තියා ගැනීමට , විවිධ පර්යන්ත උපාංග( peripheral devices)/අභ්‍යන්තර උපාංග සඳහා device drivers ලෙස, මෙකී නොකී විශාල වැඩ ප්‍රමාණයකට මේ dll ගොනු වග කියනවා . මෙයට හොඳම උදාහරණය  තමයි Win Xp මෙහෙයුම් පද්ධතියේ තේමාවට (theme) යොදා ගන්නා uxtheme.dll ගොනුව.මේක හරියට patch කෙරුවොත් අපට වෙනස් තේමා සඳහා Win Xp මෙහෙයුම් පද්ධතිය හැඩගස්වා ගන්න පුළුවන්..

  මම පහුගිය දවස්වල කරපු පරිගණක පාලන පද්ධති පිළිබඳ ලිපි පෙළෙහි යොදාගත් port ,visual basic ව්‍යාපෘතියේ වැඩිදියුණු කල සංස්කරණයක් යොදා ගෙන මෙවර dll ගොනුවක ක්‍රියාකාරීත්වය පිළිබඳ පැහැදිලි කරන්නම්. වැඩේ ටිකක් පරීක්ෂණාත්මකයි. මුලින්ම WinXP වලදි start-->run-->cmd ගොස් commad prompt එක ලබා ගන්න. පසුව එහි පහත රූප සටහනේ දැක්වෙන ආකාරයට විධානය සටහන් කරන්න.

ටිකක් වැඩේ අපූරුයි නේද ? කොතරම් ප්‍රමාණයක් dll ගොනු cmd.exe හි ක්‍රියාකාරීත්වයට වග කියනවාද?

මේ ආකාරයට පරිගණකයේ වැඩසටහන්වලට/ක්‍රියාකාරිත්වයට dll ගොනුවලින් ලැබෙන පිටිවහල අතිමහත් ..

ඉහතින් මම සඳහන් කරපු port  ව්‍යාපෘතිය පරිගණකයේ ධාවනය කරලා  බැලුවහම එහි ක්‍රියා කාරිත්වයට වග කියන dll ගොනුවල පහැදිලි තිර සටහනක් පහත දැක්වෙනවා.




මෙහි දම් පැහැයෙන් දැක්වෙන්නේ මෙහෙයුම් පද්ධතියේ අභ්‍යන්තර ක්‍රියාකාරීත්වයට අදාල dll  ගොනු,නිල් පැහැයෙන් දැක්වෙන්නේ port.exe හි චිත්‍රක අතුරු මුහුණතට  අදාල visual basic ගොනු. ඒ අස්සේ කහපාටින් සලකුණු කරලා තියෙන්නේ අපේ ඇතුල/පිටත සන්නිවේදන ඒජන්තයා  වන inpuout32.dll ගොනුව.කොහොමද ? වැඩේ ටිකක් ගතියක් තියෙනවා නේද ?



 අද සටහන රසවත්ද නැතිද , වැරදි තිබෙනවාද යන්න බලන ඇත්තෝ සටහන් කරත්වා . එහෙනම් මම කැපුනා. ජය..!





මෙන්න අර port  ව්‍යාපෘතිය . මම ගානේ නොමිලේ  :-) . මෙතනින් බාගන්න

Saturday, November 13, 2010

මද විරාමයක් , එනතුරු ‍රැඳී සිටින්න..


DLL නැතිනම් (Dynamic Link Libraries) ගැන ලිපි පෙළ ලඟදීම පටන් ගන්නවා. එනතුරු මදක් ‍රැඳී සිටින්න..

Friday, September 24, 2010

පරිගණක පාලන පද්ධති -3

තුන්වන වසරේ පළමු  විභාගයත් අහවරයි .තරමක විරාමයක් ලැබුනු මොහොතේ  පරිගණක පාලන පද්ධති පිළිබඳ තුන්වන ලිපියත් ලියනවා. පළමු ලිපියට ප්‍රතිචාර  දක්වපු ආදරණීය සහෘදයන්ගේ එක ඉල්ලීමක් වුනේ ලිපි ලබාගන්න email subscription link එකක්  දාන්න කියලා  . ඕං ඒකකුත් දැම්මා   :) .  එදා නැවැත්තුවේ windows xp වලදී  සමාන්තරගත තො‍ටුපළේ  I/O resourses වලට අදාළ පරාස දක්වන තිර සටහනකින්.ඔබට මෙහි හොඳින් පෙනෙන කරුණක් තමයි මෙහි (address range) එක 378H සිට 37FH දක්වා වෙනස් වනවා. එහෙම කිව්වට තේරෙන එකක් නැහැ.මෙහි 378H ලෙසින් හඳුන්වන්නේ  අප හොඳින් දන්නා දත්ත රෙජිස්ටරය . 37FH ලෙස හඳුන්වන්නේ පාලන රෙජිස්ටරය. එතකොට තත්ත්ව රෙජිස්ටරය ? එය මෙම තිර සටහනේ නොපෙනුනාට එයටත් අදාල ලිපිනයක් තියෙනවා. එය 379H ලෙස නම් කරනවා. තව දෙයක් කියන්න අමතකවුනා . මොකක්ද මේ  LPT1 කියන්නේ. මෙහෙම කියන්නම් පරිගණකයේ සමාන්තරගත තො‍ටුපළ එකක් තියෙනවනම් ඒක LPT1 ලෙසද, දෙකක් තියෙනවනම්  ඒවා පිළිවෙලින්  LPT1 හා LPT2 ලෙස නම් වනවා . LPT2 හි පරාසය 278H සිට 27FH දක්වා වනවා. මේක සම්මතයක්. සමහර විට LPTx වලට address range දෙකක් තියෙන්නත් පුළුවන් (x කිව්වේ සමාන්තරගත තො‍ටුපළෙහි අංකය ) , 378H - 37FH හා 678H - 67FH ලෙස, බොහොම අඩු වශයෙන්  තමයි ඒහෙම තියෙන්න පුළුවන්,  එක්කෝ මේක user defined දෙයක් විය හැකියි. මම පරීක්ෂණ සඳහා යොදාගත්  පරිගණකයේ මෙම අගයයන් තිබුන නිසයි  කියන්නේ. සමහර  විට ඔබ යොදා ගන්නා පරිගණකයේ මෙම අගයයන් වෙනස් වෙන්න පුළුවන්.   :)

තවත් පැහැදිලි වෙන්න විස්තරාත්මක තිර සටහනක් මෙවර පළ කරනවා.




Windows XP මෙහෙයුම් පද්ධතිය Windows NT ජාලකරණ  මෙහෙයුම් පද්ධතිය අනුකාරක මෙහෙයුම් පද්ධතියක් .ඒ හින්දා windows NT වලට අදාළ ආරක්ෂක ක්‍රම windows XPත් අනුගමනය කරනවා . තො‍ටුපොළකට (port) ඇතුළත් වෙද්දි (acess) මෙහි සමහර ආරක්ෂණ ක්‍රම ස්වල්ප වෙලාවකට  ලිහිල් කරන්න වෙනවා. ඒ ක්‍රමයට තමයි මෙහිදී සාදන පරිගණක  පාලන පද්ධතිය ක්‍රියා කරන්නේ .

මෙම ආරක්ෂණ ක්‍රමය ගැන විස්තරාත්මකව කිව්වොත් මෙම මෙහෙයුම් පද්ධති වල ධාවනය වන වැඩසටහන් කොටස් දෙකකින් යුක්ත වෙනවා. 
පළමු කොටස User Mode ලෙසත් අනෙක් කොටස Kernal Mode ලෙසත්  හඳුන්වනවා . සරසවි වල ඉන්න අපේ තොරතුරු තාක්ෂණය හදාරන  සහෘදයෝ නම් Operating Systems,Computer Architecture යන විෂයය යටතේ මෙම කරුණු හොඳට දන්නවා ඇති කියලා මම හිතනවා. පාසල් යන නංගිලා,මල්ලිලාට හා මෙම විෂයයට ආධුනිකයන්ට පහසුවෙන්න මෙය ගැන මම හොඳ විස්තරයක් දෙන්නම්.

User Mode වැඩසටහන් Ring 3 Mode එකේ ධාවනය වනවා.Kernal Mode එකේ වැඩසටහන් Ring 0 Mode එකේ ධාවනය වනවා.අප විසින් නිර්මාණය කරන තො‍ටුපළ සන්නිවේදන වැඩසටහන් windows මෙහෙයුම් පද්ධතියේ ධාවනය වනවිට මෙහෙයුම් පද්ධතිය එහි ආරක්ෂිත ක්‍රම ක්‍රියාත්මක කරනවා. මෙහි පියවරක් ලෙස තො‍ටුපළවලට (ports) සන්නිවේදනයට  බාධාවක් ඇතිවෙනවා.මෙහිදී windows මෙහෙයුම් පද්ධතිය  දෝෂ පනිවුඩයක් ඉදිරිපත් කරනවා.



එනමුදු Kernal Mode එකට අයත්වන වැඩසටහන් වලට මෙම සීමාකිරීම නොමැති අතර (dll,sys,vxd වැනි Device drivers) මෙහෙයුම් පද්ධතිය ඒවාට නිදහසේ ක්‍රියාකිරීමට ඉඩ ලබාදෙයි.  Win XP වැනි ආරක්ෂිත උපක්‍රම යෙදූ මෙහෙයුම් පද්ධතියකට තො‍ටුපළ සන්නිවේදන වැඩසටහන් ලිවීමේදී කළ හැකි හොඳම දෙය නම් අප ලියන වැඩසටහනට අනුරූපව Device drivers අපම නිපදවා ගැනීමයි.(Dll සෑදීම ගැන මම පසුව ලිපියක් පළකරනවා)

මා මෙහිදී භාවිතා කරන්නේ Inpout32.dll නැමැති Device driver එකයි. ක්‍රමලේඛන සමෝධානික සංවර්ධන පරිසරය (IDE-Intergrated Development Environment) Visual Studio .net 2003,2005,2008. මෙම Dll ගොනුව logix4u.net නම් මෙම අඩවියෙන් ලබාගැනීමට හැකිවන අතර මෙම Dll ගොනුව Visual basic 6,Visual Studio .Net  වැනි ක්‍රමලේඛන භාෂා වලින් සාදන තො‍ටුපළ සන්නිවේදන වැඩසටහන් සඳහා භාවිතා කරන්න පුළුවන්.

පළමුවෙන්ම කරන්න තියෙන්නේ මෙම Dll ගොනුව Windows මෙහෙයුම් පද්ධතියේ c:\windows\system , c:\windows\system32  folder වලට පිටපත් කරගැනීමයි . මේක හරියටම driver එකක් install කළා හා සමානයි.


ඉන්පසුව Visual Studio 2005 වල නව ව්‍යාපෘතියක් යටතේ නව Visual Basic ව්‍යාපෘතියක් ආරම්භ කරන්න.නම දෙන්න ports වගේ නමක් :) .ඉන්පසුව Declarations යටතේ පහත රූප සටහනේ දැක්වෙන ආකාරයට සටහන් කරන්න(මෙයින් කරන්නේ Inpout32.dll ගොනුවේ තිබෙන functions වැඩසටහන තුළට
ගැනීම.)



කලින් වතාවක කියූ පරිදි මෙම වැඩසටහන ලියන්නේ  දත්ත රෙජිස්ටරයේ (Data register) එකේ අග්‍ර වලින් දත්ත පිටතට ගැනීමට. එනම් එම අග්‍ර වලින් සරල විදුලි උපකරණ  පාලනය කිරීමට . එහෙනම් හදන්න ඕනි දත්ත පිටතට යවන වැඩසටහනක් . මේ තියෙන්නේ එම වැඩසටහනේ අතුරුමුහුණත.



අදාල විධාන බොත්තම මත දෙක්ලික් කළහම ක්‍රමලේඛන කිරීමට අපට අවස්ථාව ලැබෙනවා.
පහත දැක්වෙන්නේ මෙම අතුරුමුහුණතට අදාල සම්පූර්ණ ක්‍රමලේඛන සටහන .


මේකේ 888 ලෙස දී ඇත්තේ දහසයේ පාදයෙන් 378H යන අගයම තමයි. මට වැරදිලා කියලා හිතන්න එපා..  888 දහයේ පාදයෙන්..

මෘදුකාංගය හැදුවාට දෘඩාංග කොටස හැදුවේ  නැහැනේ. මෙන්න ඒ  දෘඩාංග කොටසේ විස්තර. 
පහසුවෙන් හොයාගන්න පුළුවන් ආලෝක විමෝචක ඩයෝඩ LED අටක් , male parallel port connecter එකක්  , හා 470 Ω  හෝ 330Ω  ප්‍රතිරෝධක අටක් භාවිතා කරලා මේ  දෘඩාංගය සාදාගන්න පුළුවන්.  මෙහි (-) අග්‍ර සියල්ලම එකට පාස්සලා  male connector එකේ 18 ඉඳන් 25 වෙනකම් තියෙන ඕනෑම අග්‍රයකට පාස්සන්න.(පහත දැක්වෙන්නේ එසේ සාදා නිමකල දෘඩාංගය)..













මේ ඔක්කොම කළාට පස්සේ දෘඩාංගය පරිගණකයේ පි‍ටුපස female socket එකට සවිකරලා පරිගණක වැඩසටහන ක්‍රියාත්මක කරලා බලන්න. විවිධ අගයයන් දීලා බලන්න . සෝක් වැඩේ නේද .කොම්පුටරෙන් ලයිට් පත්තු කරන්න පුළුවන්..!
ඉඳින් ආදරණීය සහෘදය මේ සමගම පරිගණක පාලන පද්ධති පිළිබඳ ලිපිපෙළ අවසන් කරනවා.  ඔබගේ වටිනා අදහස් මෙහි පළ කරන්න . අවුලක් තියේනම් ඒවාත් සටහන් කරන්න. ඔබ සැමට ජය..

---------------------------------------------------------------------------------------------------------

පසුව ලියමි 2010/10/07 

පරිගණක පාලන පද්ධති පිළිබඳ මුල් ලිපි පෙළ




Friday, September 10, 2010

සදාදරණීය සොයුර කැචෝ


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


         තවද කැකිරාව ගමේ සෑම අවුරුදු උත්සවයකටම මුල්තැන ගන්නා නුඹ දැන් නැත . "කැචෝ"  නොමැති අවුරුදු උත්සවයකින් දැන් පලක්  නොමැතියි ගම්මුන් පසුතැවෙති. නුඹ ගමක් හැඬවූයේය,අපව හැඬවූයේය . හඬවා නැවත නො එන්නටම  ගියේය.ඊයේ දිනයේ ඔබ අපෙන් සදහටම සමුගති .

"  සදාදරණීය සොයුර කැචෝ(කසුන් මිලින්ද ජාගොඩ), මතු සසරේ නැවත ඔබට මෙවන් අකල් මරණයක් හිමි නොවේවා ,ඔබ අප අතරම නැවත ඉපදේවා,ඔබට නිවන්සුව, "

 මේ සටහන  ශ්‍රී ලංකා විවෘත විශ්වවිද්‍යාලයේ ඉංජිනේරු තාක්ෂණ පීඨයේ 2008 කණ්ඩායමේ මිතුරන්, රජරට විශ්වවිද්‍යාලයේ ඔබේ මිතුරු තිලිණ(වයිටා), මිතුරන් විසිනි..

Monday, August 23, 2010

හෙට සතු‍ටු දවසක් ...

හෙට ගැන අද කියන්නේ ගොඩක් සතුටකින්. සතුට වෙන කිසිවක් නිසා නෙවෙයි ගෙදරට පරිගණකයක් අරන් වසර දහයක් පිරෙන දවස හෙට නිසා.දවස හරියටම කිව්වෝතින් 2010/08/24 . ඒ එක්කම මගේ පරිගණක භාවිතාවටත් වසර දහයක් පිරෙනවා . පරිගණකයක් ගෙදරට ගේන්න හේතුව වුනේ මගේ නාහෙන් ඇඬිල්ල. නාහෙන් ඇඬුවේ මොකක්වත් නිසා නෙවෙයි. ඒ දවස්වල මගේ මිත්‍රයෙකුගේ(තරිඳු)  වැඩිමහල් සොහොයුරා ක‍ටුබැද්ද සරසවියට තේරිලා තිබුනා. ඔහු භාවිතා කරපු පරිගණකයේ තිබුනු  පරිගණක  ක්‍රීඩා වලට ඇබ්බැහි වුන මට , මටත් එකක් ඇත්නම් හොඳයි කියලා හිතුනා. කරපු ඇඬිල්ලේ ප්‍රතිපලයක් විදිහට මටත් ගෙදරින් පරිගණකයක් අරන් දුන්නා. " ඉල්ලුවේ පාවිච්චි කරපු එකක් , ලැබුනේ අළුත් එකක් "  :-)

මේ තියෙන්නේ එම පරිගණකයේ විස්තර


ඕං ඉතින්  අපට කටවහගෙන ඉන්න පුළුවන් කමක් නැහැනේ. කිව්ව යාළුවෝ ටිකට. එදා ඉඳන් ඉතින් game ලෝකයයි :-)

යාළුවාගේ අයියා ක‍ටුබැද්දේ පරිගණක විද්‍යා හා  ඉංජිනේරු දෙපාර්තමේන්තුවේ අභ්‍යන්තර සිසුවෙක් නිසා මටත් එකාලේ ඉඳන්ම ආසාව තිබුනේ පරිගනක ඉංජෙක් වෙන්න. උසස් පෙළ  කඩයිම ජය ගත්තට අනෙකුත් සරසවිවලට යන්න z ලකුණ මදි හින්දා දැනට ශ්‍රී ලංකා විවෘත විශ්ව විද්‍යාලයේ ඉංජිනේරු තාක්ෂණ පීඨයේ පරිගණක ඉංජිනේරු සිසුවෙක් ලෙස ඉගෙනුම ලබනවා.

මේ  පහුවුන වසර දහය ඇතුළත ඉගෙන ගත්ත දේ බොහොමයි , ලබාගත්ත  දේ බොහොමයි . අනික   සතුටෙන් කියන්න පුළුවන් දෙයක් තියෙනවා . තවමත් අර මුලින් ගත්ත පරිගණකය හොඳින් වැඩකරනවා. ගිය අවුරුද්දෙ තමයි යන්තම් ලැපක් ගත්තේ . ලැජ්ජා නැතිව කියන්න පුළුවන් දෙයකුත් තියෙනවා.ගිය අවුරුද්ද වෙනකන්ම මම පරණ පරිගණකයේ  වැඩකෙරුවේ windows 98/2000 මෙහෙයුම් පද්ධති වලින්. ඒවායින් තමයි මම පරිගණක ක්‍රමලේඛනය ඉගෙන ගත්තේ. (කොටින්ම java පවා..)

මේ තියෙන්නේ එම පැරණි පරිගණකයේ ඡායාරූප කිහිපයක් ..








තවමත් හොඳ තත්ත්වයෙන් වැඩකරන පරන පරිගණකය. 




යතුරු පුවරුව..


mouse pad එක , ආදරේ හිතෙන සුරතලා සමග


දැන් මම පාවිච්චි කරන ලැප් එක..



ගිය අවුරුද්දේ සිංහල බ්ලොග්කරණයට පිවිසුනාට පස්සේ ටිකක් අලුත් පැත්තක්  දැක්කා. ඒ එක්කම සුළුවෙන් කරගෙන ගිය මගේ ඩිජිටල් ඉලෙක්ට්‍රොනික් ගැන තිබුන බ්ලොගයේ  ඉංග්‍රීසි ලිපිටික මකලා දාල සිංහලෙන් තාක්ෂණය ගැන ලිපි ලියන්න පටන් ගත්තා. Computer World ලෙස නම් කර තිබුන එය පසුව Computer & Electrical World ලෙස නම් කළේ  එකක් මා අයත් වන විදුලි හා පරිගණක ඉංජිනේරු දෙපාර්තමේන්තුවට ගෞරවයක් ලෙසට,අනෙක මා සතුව ඇති විදුලි හා ඉලෙක්ට්‍රොනික දැනුම බෙදා දෙන්න.බ්ලොග්කරණයට පිවිසුනාට පස්සේ අලුත් මිතුරන් ‍රැසක් හමුවුනා.විවෘතයේ ඉන්දික අයියා,කොළඹ සරසවියේ ශාකුන්තල,ජ'පුරේ ඉන්දරේ,... යනාදී ගොඩක් මිතුරන් ...

ඕං ඔහොමයි මගේ පරිගණක ජීවිතයේ තත්වේ. එහෙනම් මිතුරනි අදට කැපෙනවා . ආයෙ දවසක හමුවෙමු..

Wednesday, August 11, 2010

පරිගණක පාලන පද්ධති -2

ටික දවසක නිහැඬියාවකින් පස්සේ මගේ සිංහල බ්ලොග් එක පැත්තේ එන්න හිතුණේ වෙච්ච පොරොන්දු ඉ‍ටු කරන්න . අනික ලියන්න කියලා කරදර කරන අලුත් එකෙක් ඉන්නවා. පරිගණක පාලන පද්ධති ගැන පම්පෝරි ගැහුව එකා( වැඩර් :-) ) කෝ කියලා කට්ටිය හොයනවත් ඇති.පහුගිය දවස්වල තරමක් කාර්යයබහුල වුණා . මොකෝ අපේ සරසවිය (විවෘතය)ආරම්භ කර වසර තිහක් සපිරීම නිමිත්තෙන් ජූලි 28,29 හා 30 වනදා පැවත්වුණු ප්‍රදර්ශනය නිසාවෙන් හා වෙනුවෙන් ප්‍රදර්ශන භාණ්ඩ සැදීමට කාලය කැප කිරීමට සිදුවීම . මා අයත් වන ඉංජිනේරු තාක්ෂණ පීඨයේ , විදුලි හා පරිගණක ඉංජිනේරු දෙපාර්තමේන්තුව සඳහා මම නිර්මාණය කළේ මෙම ලිපි පෙළෙහි සඳහන් වන පරිගණක පාලන පද්ධති වල සරල අවස්ථාවක්. එයට පාසල් සිසුන්ගෙන් ලැබුණු ප්‍රතිචාර නම් අගෙයි. එම නිර්මාණයේ ඇසුර අද මේ ලිපියට උදව්වක් කර ගන්නවා. හෝව් කතා ඇති , එහෙනම් බහිමු වැඩට..

  නැවත්තුවේ සමාන්තරගත තො‍ටුපලේ දත්ත රෙජිස්ටරයෙන්.දත්ත රෙජිස්ටරය කියන්නේ බිට් අටක(8 bit) රෙජිස්ටරයක්.බිට් අටක් කියන්නේ බයිට් එකක්. තව දෙයක් කියන්න තියෙනවා . පරිගණකයට තේරුම් ගන්න පුළුවන් යන්ත්‍ර භාෂාව විතරයි. ඒ කියන්නේ එකයි බින්දුවයි විතරයි(only 1 and 0) .මේ විදිහට  යන්ත්‍ර භාෂාවෙන්  දත්ත හුවමාරු කරන්නේ වෝල්ටීයතා මට්ටම්  පාලනය කිරීමෙන්. අංකිත ඉලෙක්ට්‍රොනික විද්‍යාවේ (digital electronic) පදනම තමයි මේක . අප කතාකරන රෙජිස්ටරයට ප්‍රතිදාන අග්‍ර අටක් අයත් වෙනවා.මේ අග්‍ර වලින් තමයි  අංකිත දත්ත පිටතට ගෙන යන්නේ . අපට වුවමනා පරිගණක  වැඩසටහනක්  මගින් මෙම අග්‍ර සියල්ලෙහි අගය එක පාරටම ඉහළ අගයකට ගෙන එන්නත්, පහසුවෙන් පහළ අගයකට ගෙන එන්නත් පුළුවන්. කට්ටියට තේරුනේ නැහැ නේද? හරි කලබල නොවී ඉන්න . එකින් එක පිළිවෙලට කියන්නම්.සමාන්තරගත තො‍ටුපළ කියන්නේ අංකිත තො‍ටුපළක් . මෙහි දත්ත රෙජිස්ටරයෙහි අග්‍රවල අගය ඉහළ අගයකට ගෙන එනවා කියන්නේ අග්‍රවල විභවය +5v අගයකට ගෙන එනවා.ඒ කියන්නේ යන්ත්‍ර භාෂාව අනුව මේ  අග්‍ර අටටම 11111111 අගය ලැබෙනවා. මෙය දහයේ පාදයෙන් 255 ද, දහසයේ පාදයෙන් FF ලෙස දක්වන්න පුළුවන්. අග්‍රවල අගය පහළ  අගයකට ගෙන එනවා කියන්නේ අග්‍ර වල ප්‍රතිදාන වෝල්ටීයතාවය 0v  කරන එක .එතකොට අග්‍ර අටෙහිම අගය දෙකේ පාදයෙන් 00000000  වනවා. මේක දහය පාදයෙනුත් 0 , දහසයේ පාදයෙනුත්  0 ම  තමයි . දහයේ පාදය ගැනයි,දහසයේ පාදය ගැනයි  ලියන්නේ පාඩම් මාලාවේ ඉදිරි භාවිතයක් සඳහා. ඒ ගැන පසුවට කතා කරමු :-) .

පහත දැක්වෙන්නේ දත්ත රෙජිස්ටරයේ අග්‍ර පැහැදිලි කරන සටහනක්..



රූප සටහන දෙස හොඳින් බැලුවොත් පෙනෙන කරුණ තමයි අග්‍ර 25 කින් සමන්විත සමාන්තරගත තො‍ටුපළෙහි 2 වන අග්‍රයේ සිට 9 වන අග්‍රය දක්වා වූ අග්‍ර සියල්ලම අයත් වන්නේ දත්ත රෙජිස්ටරයට බව.ඒවා D0 සිට D7 ලෙස නම් කරනවා . මම කලින් කියපු කරුණක් මතක් කළොත් මෙය බිට් අටක රෙජිස්ටරයක් . ඒ කියන්නේ දෙකේ බල වලින් අග්‍ර එකිනෙකෙහි අගය දක්වන්න පුලුවන් . D0 සිට D7 දක්වා වූ අග්‍ර වලට අනුයාතව මෙමෙ අගයයන් 1,2,4,...,128 ලෙස දක්වන්න පුළුවන් . ටිකක් හිතුවොත් අපට අවශ්‍ය අග්‍රයේ අගය  මේ අනුව කෙලින්ම පරිගණක වැඩසටහනක් මගින් ලිව්වොතින් ඒ අග්‍රයට සම්බන්ධ අලෝක විමෝචක ඩයෝඩයක්,විදුලි උපකරණයක් හසුරුවන්න පුළුවන්. උදාහරණයක් විදිහට  හතරවන අග්‍රයට සම්බන්ධ ආලෝක විමෝචක ඩයෝඩයක්  දල්වන්න වුවමනා නම් කරන්න තියෙන්නේ දහයේ පාදයෙන් 4 අගය දත්ත රෙජිස්ටරයට  යවන එක විතරයි.එතකොට එම අගය යන්ත්‍ර භාෂාවෙන් 00000100 වන අතර සමාන්තරගත තො‍ටුපළෙහි  හතරවන අග්‍රයෙහි වෝල්ටීයතාවය  +5v වනවා.   

මෙය සිදු කිරීමට පරිගණක වැඩසටහන් ලිවීම ගැන ඊළඟ ලිපියෙන් කියන්න බලාපොරොත්තු වන ගමන් අදට මේ ලිපිය අහවර කරනවා.
--------------------------------------------------------------------------------------------------------------

මේ සමගම windows xp මෙහෙයුම් පද්ධතියේ  IRQ resourses වල තිර සටහනක් දමනවා.මේක දමන්නේ මම මේ පාඩම් මාලාවට පදනම් කර ගන්නා මෙහෙයුම් පද්ධතිය windows xp නිසයි. එහි සමාන්තරගත තො‍ටුපළෙහි parallel port දත්ත,තත්ත්ව හා පාලන රෙජිස්ටරවල පරාසයන් දක්වා තිබෙනවා. මෙම පරාස භාවිතයෙන් තමයි අපිට සමාන්තරගත තො‍ටුපළට දත්ත යැවීමට,ලබාගැනීමේ හැකියාව ලැබෙන්නේ..   


-------------------------------------------------------------------------------------------------------------


මතක ඇතුව ලිපියේ අඩුපාඩු ගැන කමෙන්‍ටුවක්  දාන්න.ඒව තමයි මේ ලිපි පෙළ ලියන්න මට ශක්තියක් වෙන්නේ..

Tuesday, August 3, 2010

තව ටික දවසකින් රසික ඔබ සැම හමුවෙමි ..

ටික දවසකට පරිගණක පාලන පද්ධති ගැන ලිපි පෙළ කල් දමනවා . මොකෝ මට වැඩ වැඩිවෙලා තියෙන්නේ . ඒ නිසා තරහා වෙන්න එපා.

Sunday, June 13, 2010

පරිගණක පාලන පද්ධති -1

ඩිස්ක්ලේමරය: පරිගණකය යනු සියුම් හා සංකීර්ණ පරිපථ වලින් සැදි වටිනා උපකරණයකි . මෙම තාක්ෂණික  ලිපියෙහි සඳහන් ප්‍රායෝගික පරීක්ෂණ කිරීමට යාමේදී සිදුවන විදුලි කාන්දුවීම් මගින් පරිගණකයට සිදුවන හානි සඳහා තාක්ෂණික රචකයා වග නොකියයි. ඔබ මෙහිදී සාදන දෘඩාංග  පෑස්සුමෙන් පසු නිසියාකාරව සවිවී ඇතිද? ලුහුවත් ස්ථාන තිබේද? යන්න හොඳින් පරීක්ෂා කර බලන්න.. ස්තූතියි.

ඔන්න පොරොන්දු වුන විදිහට අද දින සිට පරිගණක පාලන පද්ධති පිළිබඳ පළමු පාඩම සහෘද ඔබ වෙත ගෙන එනවා.පරිගණක පාලන පද්ධති Computer Control Systems කිව්වහම ඔබට මොකද හිතෙන්නේ? ලොකු දෙයක් නෙවෙයි, පරිගණකයට සවිකොට තිබෙන පර්යන්ත උපාංග (pheriperal devices) එහෙමත් නැතිනම් ආදාන/ප්‍රතිදාන උපාංග (I/O Devices) පරිගණක මව් පුවරුව හා සම්බන්ද වන්නේ තො‍ටුපල (ports) මගින්. එම තො‍ටුපල පරිගණක වැඩසටහන් මගින් නිසියාකාරව පාලනය කිරීම port controlling නමින් හඳුන්වනවා. ඇතැම් විට ඔබ දැනටමත් දැක ඇති උදාහරණයක් ලෙස වාහන කර්මාන්ත ශාලාවක ඇති උපාංග එකලස් කරන රොබෝ දෑත් මෙම තාක්ෂණය මත පදනම් වී ඇති බව ඔබ මොහොතකට සිතුවාද? තවද මෙම උපාංග වල සංයුක්ත පද්ධති (Embedded Systems) ද ඇත.
                                          මම මේ ගෙන එන පාඩම් මාලාවට පදනම් වෙන්නේ පරිගණකයේ පසුපස දක්නට ඇති සමාන්තරගත තො‍ටුපල(parallel port). වර්තමාන මව් පුවරුවලනම් මෙය අඩංගු වන්නේ නැහැ.(විශේෂයෙන් intel  මව්පුවරුවල,AMD මව්පුවරුවල නම් මෙම තාක්ෂණය තවමත් ඉවත් කර නැහැ.). තමන් ගාව මේ පරීක්ෂන කරන්න parallel port එකක් නැහැ කියලා දුක් වෙන්න එපා. ඔබේ මව් පුවරුවේ අමතර PCI Slot එකක් තියෙනවනම් ECP හෝ EPP වර්ගයේ I/O card එකක් සවිකරලා drivers install කර ගත්තාම හොඳටම ඇති . නැතිනම් ඔබ ගාව පරණ PIII/PIV වගේ පරිගණකයක් තියෙනවානම් එකේ නම් අනිවා parallel port එකක් තියෙනවා. ඒකට අමතරව පිටකො‍ටුවේ ඉලෙක්ට්‍රොනික කඩයකින් parallel port male socket එකක් ගන්න. මිල රුපියල් 30 ක් විතර වෙයි. මේ සොකට්‍ටුව (male socket)  එක ගන්නේ port එකේ ආරක්ෂාවට."මොන දේ කළත් ආරක්ෂාවෙන එක ආරක්ෂා කරන එකෙ වැදගත්(safety first)" .ආරක්ෂා කරන්නේ මොකක්වත් නෙවෙයි . පරිගණක මව් පුවරුව.මොකෝ  පරිගණක මව් පුවරුව කියන්නේ සුළු විදුලි කාන්දු වලින් පවා විනාශ වෙන පරිපථයක් .
               
                  මේ රූපයේ දැක්වෙන්නේ එවැනි male socket එකක්








සමාන්තරගත ද්වාරය ගත්තහම ඒකේ ප්‍රධාන රෙජිස්ටර තුනක් තියෙනවා. කියන්නත් බැරිවුනා මොකක්ද මේ රෙජිස්ටරයක්  කියන්නේ (what register means) ? පරිගණක භාෂාවෙන් රෙජිස්ටරයක් කියන්නේ තාවකාලික මතක  ස්ථානයක් (tempory memory location or speed memory location).තාවකාලිකව යම් යම් අගයයන් පරිගණක මතකයේ රඳවන්න මේවා භාවිතා කරනවා. ප්‍රධාන වශයෙන් parallel port   එකේ රෙජිස්ටර තුනක් තිබෙනවා. ඒවා නම් දත්ත රෙජිස්ටරය (data register),තත්ත්ව රෙජිස්ටරය (status register)  හා පාලන රෙජිස්ටරයයි control register . දත්ත රෙජිස්ටරය හා   පාලන රෙජිස්ටරය පරිගණක මුද්‍රණ යන්ත්‍රය හෝ බාහිර උපකරනය වෙත දත්ත යැවීමට භාවිතා කරන අතර තත්ත්ව රෙජිස්ටරය පරිගණකය වෙත පිටතින් පැමිණෙන දත්ත පිළිබඳව වගකියනවා.
     
                පහත දැක්වෙන්නේ එම රෙජිස්ටර පිළිබඳ  රූප සටහනක්






 මම ප්‍රධාන වශයෙන් බලාපොරොත්තු වන්නේ මේවායින් දත්ත පිටතට ගෙනයන දත්ත රෙජිස්ටරය (data register) භාවිතයෙන් සරල විදුලි උපකරණ  පාලනය කරන සරල පරිගණක වැඩසටහන් සැකසීම පිළිබඳව ඔබහට යම්තාක් දුරකට දැනුම ලබාදීමටයි. එහෙනම් අදට සමුගන්නවා . ඉතිරිය පස්සේ  දවසක ....

Sunday, April 25, 2010

පරිගණක පාලන පද්ධති සමග කවිරංග නැවතත්...

 හුඟ දවසකින් බ්ලොග් එකෙ පැත්තේ එන්න බැරිවුනා. කොහෙද නැති කම්මැලිකමක් ගහලා තිබුනනේ. ඔන්න අද අලුත් මාතෘකාවක් එක්ක එන්න හිතුනා. අද සිට ඉදිරියට පරිගණක පාලන පද්ධති (computer control systems) ගැන ලිපිපෙළක ඇරඹුම සටහන් කරනවා. තව ටික දවසක් බ්ලොග් නොලියා හිටියෝතින් සිංහල බ්ලොග් කියවනයෙනුත් මාව ඉවත්වෙයි. එහෙනම් නව මාතෘකාවත් එක්ක ඔබගේ මිතුරු කවිරංග දිගටම සිටිනවා . අදට සමුගන්නවා . ඔබ සැමට ජය පතනවා..

          මේ හැදෙන රටයි.. 

Monday, February 8, 2010

දැන් කරදර වෙන්න ඕන නැහැ.

අදත් අළුත් නොවන  ලිනක්ස් මෙහෙයුම් පද්ධතියට අදාල පොඩි ඔත්තුවක් දෙන්නයි මේ සූදානම.මෙය වලංගු වෙන්නේ උබුන්‍ටු ලිනක්ස් 9.10 වෙළුම,ෆෙඩෝරා 11 යන මෙහෙයුම් පද්ධති වල සිට ඉහළට ඇති සංස්කරණ සඳහා යි.ඒ කියන්නේ උබුන්‍ටු ,ෆෙඩෝරා පරණ සංස්කරණ වලට මෙය අදාල නොවෙනවා කියන එක නොවෙයි.අලුත් සංස්කරණ වල මෙම පහසුකම පෙරනිමියෙන්ම තියෙන නිසයි.කවුරුත් හිතනවා ඇති මේ මොකක්ද මූ දිග හෑල්ලකින් කියන්න හදන්නේ කියලා.අද පොඩ්ඩක් ලිනක්ස් මත අකුරු මෝස්තර (fonts) ස්ථාපනය කිරීම ගැන තාක්ෂණික ලිපියක් ලියන්න හිතුනා. මේ වැඩේ කරන්න කලින් windows xp වල fonts folder එකෙන් යුනිකේත අකුරු මෝස්තර කිහිපයක් ඔබේ pen drive එකෙට පිටපත් කරගන්න (පළමු තිර සටහන බලන්න).
උබුන්‍ටු වල 9.10 සංස්කරණයේ තියෙන විශේෂ පහසුකමක් තමයි .ttf  දිගුව සහිත ගොනු මත දෙවරක්  මූසික ඊතලය තබා එබුවහම අදාල ෆොන්ටයේ නමත් සමගම විශේෂ විධාන බොත්තමක් " install font "සහිත සංවාද කො‍ටුවක් ඉස්මතුවීම.මෙය එබුවහම අදාල ෆොන්ටය පරිගණකයට ස්ථාපනය වෙනවා.(දෙවන තිරසටහන බලන්න).

මේ කාරණය යුනිකේත අකුරු මෝස්තරයන්ටද අදාලයි.


හරි දැන් අකුරු මෝස්තර ස්ථාපනය අහවරයි.දැන් කොහොමද සිංහලෙන් යතුරුකරනය කරන්නේ  ?
මේකයි ක්‍රමය system -->prefrences --> iBus prefrences පිළිවෙලට iBus සක්‍රියකර ගන්න.










ඉන්පසුව iBus prefrences සංවාද කො‍ටුවේ input method tab එකෙහිදී select an input method drop down මෙනු වරණයේදී sinhalease --> wijesekara ‍තෝරන්න.(වෙන input method  නම් ‍තෝරන්න එපා,හසුරුවන්න දන්නවා නම්  අත්හදා බැලීම ඔබගේ අතේ තිබෙන කරුණක්.).


ඉන්පසු add බොත්තම ඔබා  මෙම සංවාද කො‍ටුව වසාදමන්න.

iBus ගැන වැඩි විස්තර අපේ බුදාජීවගේ සටහනේ ඇති

දැන් ඉන්න ගමන් offline internet ක්‍රමයට .mht දිගුව ඇති ගොනුවක් බැලීමේ හැකියාවද තිබෙනවා.
(උබුන්‍ටු වල සම්මත අන්තර්ජාල ගවේෂකය වන Mozilla Firefox  වලට .mht  ගොනු හැසිරවීමේ හැකියාව ලබාදීමෙන් මෙය සිදුකරන්න පුළුවන්.මෙයට UNMHT හා MAF(Mozilla Archive Format) ඇඩෝන දෙක ස්ථාපනය කිරීමෙන් මෙය ඔබට පහසුවෙන් කරගත හැකියි.)

නැතිනම් සාමාන්‍ය විදියට firefox වල address bar එකේ අදාළ වෙබ් අඩවියේ නම නිවේෂනය කිරීමෙන්ද මෙතෙක් වෙලා ඔබ කරපු දෑ වල ප්‍රතිපල නැරඹීමේ අවස්ථාවද ඔබට හිමිවෙනවා.

කලින් උබුන්‍ටු සංස්කරණ වලදී LKLUG ෆොන්ටය මකලා වෙනම අකුරු දමපු folder එකක් හදලා ඒක cache කරන්න ටර්මිනලයේ වෙනම විධාන යතුරුකරන කරන්න කාපු කට්ට දැන් ඉවරයි.


"ෆෙඩෝරා වලට නම් මේ ආකාරයට යුනිකේත අකුරු මෝස්තර ස්ථාපනය කිරීම අත්‍යාවශ්‍යම නැහැ.."

හැබැයි එහෙම කියලා අගනා ටර්මිනල විධාන ගැන අධ්‍යයනය කිරීම නම් නවත්වන්න එපා..

අද දාපු තාක්ෂණික ලිපිය ගැන ප්‍රශ්න තියෙනවානම් අහන්න,අඩුපාඩු තියේ නම්  ඌණපූරනය කරන්න.. 

Friday, January 1, 2010

නව වසර, Gnome,KDE සමග ..

උදා වූ 2010 නව වසර සමග ශ්‍රී ලංකාවාසී සැමටම සෞභාග්‍යමත් නව වසරකට ආසිරි පතමි...

හා හා පුරා කියා අලුත් අවුරුද්දට සුබ පතන ගමන්ම අද අලුත් මාතෘකාවක් නොවන විවෘත කේත මෘදුකාංග සම්බන්ධ කාරණයක් ගැන පොඩි දැනුවත් කිරීමක් කරන්නයි මේ සූදානම .

විවිධ ලිනක්ස් මෙහෙයුම් පද්ධති භාවිතා කර ඇති ඔබ ඒවායේ ඇති විවිධ චිත්‍රක අතුරු මුහුණත්(Graphical User Interfaces )  පරිශීලනය කර ඇති බව නො අනුමානයි. මේ ලිනක්ස් සංස්කරණ වල පරිශීලක චිත්‍රක අතුරු මුහුණත් අතරින් ඔබ අසා ඇති සුලබ අතුරු මුහුණත් දෙකක් තමයි Gnome  හා KDE.කට්ටිය හිනාවෙන්න එපා මේකා මොකද්ද මේ කියන්න යන්නේ කියලා.පළමුව Gnome  ගැන කියමුකෝ..

Gnome අතුරු මුහුණත ගත්තොත් එය ලියා ඇති ක්‍රමලේඛන භාෂාව C .Ubuntu ඇතුලු Debian පවුලේ ලිනක්ස් සංස්කරණ,Fedora ආදී ලිනක්ස් සංස්කරණ වලට භාවිතා කරනවා .
 

අනෙක් අතුරු මුහුණත  තමයි KDE . සැකසීමට යොදා ගෙන ඇති ක්‍රමලේඛන භාෂාව තමයි C++ .මෙය Kubuntu,Fedora,Knoppix ආදී මෙහෙයුම් පද්ධති වලදී භාවිතා වෙනවා.
 

 
 තව දෙයක් තමයි  KDE Vs Gnome . ඒ කියන්නේ මේ අතුරු මුහුණත් සංවර්ධකයින් අතර පවතින සීතල යුද්ධය. මේක සීතල යුද්ධයක් වුන නිසාමයි හොඳ.මොකද මෙමගින් බිහිවන අලුත් අතුරු මුහුණත්
සංස්කරණ වලින් සෙතක් සැලසෙන්නේද ලෝක වාසී ලිනක්ස් පරිශීලකයින්ටමයි.(අපේ ලංකාවේ වැඩ දන්නා අයටත් මෙම මෘදුකාංග සංවර්ධනය කිරීමට දායකවීමට කිසිම තහනමක් නම් නැහැ.හොඳම උදාහරණය පහුගිය දවස්වල එළි දැක්වුනු Hanthana Linux)


තවත් චිත්‍රක පරිශීලක අතුරු මුහුනත් නැතිවා නොවෙයි.ඒවා කිහිපයක් XFCE,LXDE(Lightweight Desktop Environment)...


 
අද පොඩ්ඩක් ලිනක්ස් චිත්‍රක පරිශීලක අතුරු මුහුණත් ගැනත් ඒවායේ ක්‍රමලේඛන භාෂාව ගැනත් ලිවීමට සිතුනේ නව වසරේ අපේ කට්ටියට අලුතින් යමක් හිතන්නට ඉඩක් තබමින්.



එසේනම් අදට සමුගන්නවා .ඔබගේ වටිනා ප්‍රතිචාර මගේ බ්ලොගයේ සටහන් කරන්න.මට ඒවා ලොකු තල්ලුවක්.. ඔබ සැමට ජය....!