Welcome To MyMiniProWorld

Multitasking(Time sharing) Systems





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

පරිගණකයක් හරහා ගීතයකට සවන් දෙමින් ලිපියක් යතුරු ලියනය කරන අවස්තාවක් මිට කදිම නිදසුනකි.මෙහිදී ගීතය වාදනය කිරීමට අදාලව ක්‍රියාවලිය හා ලිපිය සැකසීමට අදාළ ක්‍රියාවලිය යන දෙකම මධ්‍යම සැකසුම් ඒකකය මගින් ඉතා ශිග්‍ර ලෙස මාරුවෙන් මාරුවට ක්‍රියාත්මක කරන නවුන් භාවිතාකරුට බාදා වකින් තොරව ගීතය රසවිදිමින් ලිපිය සැකසීමට ඉඩ සැලසේ..
මෙවන් පද්ධතිවල  සාමාන්‍යයෙන් යතුරු පුවරුව හා මුසිකය(Mouse) ආදාන උපකරණය ලෙසත් සංදර්ශකය ප්‍රතිදාන උපකරණ ලෙසත් භාවිතා වේ.
මේ ආකාරයේ පද්ධති දේ ආකාරයටම වඩා බොහෝ සංකීර්ණ වේ.භාවිතාකරුවන්ට දත්ත හා ක්‍රමලේකනය පහසුවෙන් හා කාර්යක්ෂම හැසිරවීමට ඉඩ ලබාදීමට ඉඩ ලබාදීම සදහා සජීවී ගොනු පද්ධතියක්(Online file sharing) අවශ්‍ය වේ.ගොනු පද්ධතිය මත රද පවතින්නේ දෘඩ තැටි පද්ධතියක් මත නිසා දෘඩ තැටි කළමනාකරණ පද්ධතියක අවශ්‍යතාව පැන නගී.
කාර්යය කිහිපයක් එකවර ක්‍රියාත්මක වන නිසා එම ක්‍රියාවලි අතර ක්‍රියාවලි සමමුහුර්තනය(Process Synchronization) අන්තර් ක්‍රියාවලි සන්නිවේදනය(Inter process communication) හා ක්‍රියාවලි ක්‍රියාවලි අතර අන්‍යෝන්යාගුලු වැටීම්(Deadlocks) මග හරිම යන ක්‍රියාකාරකම් ගැන ද මෙහෙයුම් පද්ධතිය සැලකිලිමත් විය යුතුය.
බොහෝවිට මෙවන් පද්ධතිවල භාවිතාකරුවන් එක අයෙකුට වඩා පද්ධතිය භාවිතාකිරීමේ පහසුව ලබා දේ.එම පහසුව සහිත පද්ධතිය බහු භාවිත((Multi-User) පද්ධති ලෙස හැදින වේ, පද්ධතියේ රදවාගෙන ඇති ගොනු වල හිමිකරුවන් විවිධ විය හැකි නිසා එක් එක් භාවිතාකරුට හැසිරවිය හැකි ගොනු මොනවාදැයි පාලනය කිරීමේ වගකීමද මෙහෙයුම් පද්ධතිය මත පැවරේ.

සසම්භාවී ප්‍රවේශ මතකයේ එකවර තබාගැනීමට නොහැකි තරම් විශාල කාර්යය ක්‍රියාත්මක කිරීමේ මගක ලෙස මෙම පද්ධති අභෞතික මතකය(Virtual Memory) භාවිතා කරයි.(සසම්භාවී ප්‍රවේශ මතකයට භෞතික යන යෙදුමද භාවිතා කෙරේ) . අභෞතික මතකය යනු දෘඩ තැටිය මගින් ලැබෙන ද්විතික මතකයෙන්(Secondary storage) කොටසක් සසම්භාවී ප්‍රවේශ මතකය ලෙස යොදා ගැනීමට සකසා ගත් ක්‍රමවේදයකි.

අභෞතික මතකය ක්‍රියාවට නැගීමේදී මතක පිටු හුවමාරුව(Pagging) හා කාර්යය හුවමාරුව()Swapping) යන ක්‍රියාවලි දෙක අවශ්‍යය වේ.මතක පිටු හුවමාරුව යනු දැනට ක්‍රියාත්මක වන කාර්යයකට අවශ්‍ය සසම්භාවී ප්‍රවේශ මතකයේ රදවා ගෙන නැති දත්ත හෝ විදාන අභෞතික මතකයෙන් සසම්භාවී ප්‍රවේශ මතකය වෙත ගෙන ඒමේ ක්‍රියාවලියකි.කාර්ය හුවමාරුව යනු දැනට ක්‍රියාත්මක වන කාර්යයන් සසම්භාවී ප්‍රවේශ මතකයෙන් තාවකාලිකව ඉවත් කර වෙනත් කාර්යයන් සසම්භාවී ප්‍රවේශ මතකය වෙත ගෙන ඒමයි.

System Analysis & Design



පද්ධති විශ්ලේෂ්ණය හා නිර්මාණකරණදී විවිධාකාර ආකෘතීන්ගේ සහය ලබා ගන්න අතර ඒවා මෙම පියවර සනුදාය ඒවාටම අවේනික වූ ආකාරයකින් අනුගමනය කරයි.

මෙම ක්‍රියා පටිපාටිය සලකා එම ආකෘතින් විවිධාකාර නම් වලින් හදුන්වාදිය හැකියි.එවනි එක් ආකෘතියක් Waterfall development model නැතහොත් Sequential development model .මෙම ආකෘතියේ නම කියවන විට ඔබට එහි ක්‍රියා පටිපාටිය පිලිබදව පැහැදිලි අදහසක් ගොඩනැගෙන්නට ඇතැයි සිතමි.ඒ මන්දයත් ස්වාභාවධර්මයයාගේ අනගිතම නිපැයුම වන දිය ඇල්ල ඔබ සියලු දෙනා දැක ඇති හෙයිනි.ඉහල කදු මුදුනෙන් පටන් ගන්නා දිය කඩ කදු හෙළ අතරින් පහලට ක්රමානකුලව ගලා හැලේ.මෙලෙස දිය කඩ ගලා යන්නාක් මෙන් එක් පියවරක් සම්පුර්නයේනම් හමාර කිරීමෙන් අනතුරුව අනෙක් පියවරට පා තබමින් ක්‍රමානකුල මාර්ගයක මෙයද ගමන කරයි.මෙම ආකෘතියේ ඒ ඒ පියවර අනුගමනය කරන අකාරය පහත රුපයේ දක්වා ඇත.



ඒ අනුව ප්‍රථම පියවර වශයෙන් ගැටලුව හා එහි අවශ්‍යතා හොදින් අවබෝද කර ගනී.අනතුරුව එහි සැබෑ ස්වරුපය විශලේෂණය කිරීම අරඹ කරයි.මෙම පියවරය අවසානයේදී ලැබෙන විශ්ලේෂිත අවශ්‍යතා සමුදාය උපයෝගී කරගනිමින් පද්ධතියේ නිර්මාණ කටයුතු ආරම්භ කරයි .මෙම අදියර ආරම්භ කල පසු පද්ධතිය සබැ ලෙස ගොඩ නැගීම සදහා යොමු වේ.අනතුරුව ගොඩනැගුනු පද්ධතිය පරීක්ෂණ කටයුතු සදහා යොමු කරන අතර අවසානයේ නඩත්තු කටයුතු සිදු කරනු ලබයි.


WWW






World Wide Web හෙවත් විශ්ව ව්‍යාප්ත ජාලය යනු අන්තර්ජාලයේ ඇති තවත් එක සේවාවකි.එකිනෙකාට සම්බන්ධිත ලිපිගොනු ,චායාරුප හා වෙබ් පිටුවල එකතුවකි.එක ලිපි ගොනුවකට තවත් ලිපි ගොනුවක් සම්බන්ධ කිරීමට hyperlink නමින් හැදින්වෙන සම්බන්ධතා භාවිතා කරයි.

1980 වසරේ වන විට ටිම් බර්නර්ස් ලී (Tim Berners-Lee) නම් පරිගණක විශේෂඥයා විසින් එකිනෙකාට සම්බන්ධිත ලිපිගොනු සහිත දත්ත ගොනුවක් (Database) හා ඒවා හැසිර විය හැකි මුදුකාංගයක් නිපදවිය.1990 වසරේ දෙසැම්බර් මස වන විට ඔහු වෙබ් පිටු වලින් සම්බන්ධිත ජාලයකට අවශ්‍ය වන සියලුම අංග නිපදවා තිබුණි.එනම් එකිනෙකට සම්බන්ධ වෙබ් පිටු, එම වෙබ් පිටු පරිගණක ජාලයකට සම්බන්ධ කරන Server පරිගණක මෘදුකාංගය හා වෙබ් පිටු පරිගණක ජාලයක් ඔස්සේ ලබාගෙන නැරබිය හැකි වෙබ් පිරික්සුම් මෘදුකාංගය (Web Browser) ඔහු විසින් නිපදවා තිබුණි.පළමු වෙබ් පිරික්සුම් මෘදුකාංගයේ නම World Wide Web නමින් හැදින්විය.

පසුව World Wide Web යනුවෙන් ව්‍යාපෘතියක් ආරම්භ කල අතර එය අන්තර්ජාලයේ ඔස්සේ දත්ත,ප්‍රවෘර්ති හා ලියකියවිලි හුවමාරු කර ගැනීම හා පරිගණක ලිපි ගොනු (Computer Files) අන්තර්ජාලය හරහා හුවමාරු කර ගැනීම එහි අරමුණ විය.1991 අගෝස්තු මස 6 වැනි දින මෙම ජාලය නොමිලේ භාවිත කල හැකි සේවාවක් නම් කිරීම නිසා එම දිනය එහි ආරම්භක දිනය ලෙස හැදින්වේ.ටිබි බ'රන්ර්ස් ලී විසින් නිර්මාණය කල මුල්ම වෙබ් පිටුව ලොව පළමු වෙබ් පිටුව වන අතර http://www.w3.org/History/19921103-hypertext/hypertext/WWW/TheProject.html යන වේබ් ලිපිනයේ මුල් පිටපතක් නැරබිය හැකිය.ලොව ප්‍රථම වෙබ් අඩවිය වූ CERN ආයතනයේ වේ අඩවිය www.info.cern.ch ලිපිනයේ අදත් නැරබිය හැකිය.විශ්ව ව්‍යාප්ත ජාලයේ උපතේ සිට සියලු විස්තර මෙම අඩවිය තුලින් ලබා ගත හැක.

World Wide Web යන්න කෙටි යෙදුමක් ලෙස WWW යනුවෙන් භාවිතා කලත් ,WWW යන්න උච්චාරණය දී World Wide Web යන්නට වඩා තුන ගුණයක් මාත්‍රා ඇත.එනම් කෙටි යෙදුම WWWඋච්චාරනය එහි මුල් යෙදුමට වඩා තුන් ගුණයක් අපහසුවිම හාස්‍යට කරුණකි.මෙම හේතුව නිසා ඇතමුන් 3W යනුවෙන් ද භාවිතා කරයි.

ටීම් බ'බර්නර්ස් ලි World Wide Web ව්‍යාපෘතිය අනතර්ජාලය සමග බද්ද කිරීමට ප්‍රදාන වශයෙන්ම දායක වූ පුද්ගලයාය.ඔහු විසින් රචනා කල Weaving the web නම් සුප්‍රසිද්ද ග්‍රන්ථයෙන් ඔහු අන්තර්ජාලය හා World Wide Web හි පවතී hypertext තාක්ෂනය එකිනෙකට ඇදීමේ ඇති වාසිය හුවා දක්වූ නමුත් කිසිදු වගකිය යුතු ආයතනයක් ඔහුගේ එම යෝජනාව භාර ගත්තේ නැත.පසුව ඔහු විසින් ම එම ව්‍යාපෘතිය ආරම්භ කල අතර ,ගෝලීය වශයෙන් තොරතුරු (වෙබ් පිටු ආදිය) හදුනා ගැනීමේ අනන්‍ය ක්‍රමයක් සහිත පද්ධතියක් නිර්මාණය කළේය.ඊට පෙර WWW ජාලයේ හා අන්තර්ජාලයේ තාක්ෂණික නොගැලපීම් කිහිපයක් විය.WWW ජාලය සදහා අවශ්‍ය වුයේ එක දිශාවකට පමණක් දත්ත යැවිය හැකි සම්බන්ධතාවයන් ය.මෙම ක්‍රමය අයිට්ට්හි කරුගේ අවසරයකින් තොරව තොරතුරු අනෙක් අයට ලබා ගත හැකි නිසා ආරක්‍ෂිත ක්‍රමයක් නොවිය.තවද එම ක්‍රමය වේබ් පිරික්සුම් () මෘදුකාංග නිපදවීමේදී ද ගැටළු ගෙන දුනි.යම සම්බන්දතාවයක් විසඳි වූ පසු දන ගැනීමේ හැකියාවක් ද නොමැති විය.විශ්ව ව්‍යාප්ත ජාලයට අයිතිකරුවෙකු නොමැති නිසා Server මෘදුකාංග සහ Client මෘදුකාංග (වෙබ් පිරිසුම් මෘදුකාංග) ස්වාදීනව ප්‍රවර්දනයට හැකි විය.

අතීතයේ පවතී ප්‍රසිද්ධ වෙබ් පිරික්සුම් මෘදුකාංගයක් වූ Viola WWW නම් වූ මෘදුකාංගය HyperCard තාක්ෂනය මත පදනම් විය.නමුත් එය අකුරු පමණක් දර්ශනය කරවන මෘදුකාන්ගයක් විය.1993 වසරේ ඇමරිකා එක්සත් ජනපදයේ ජාතික අධිපරිගනික යෙදුම් පිළිබද වූ මධ්‍යස්ථානය (National center for SuperComputing Applications) විසින් Mosaic නම් වෙබ් පිරික්සුම් මෘදුකාංගය නිපදවුවත් එය එතරම් ජනප්‍රිය වුයේ නැත.එය බොහෝ අන්තර්ජාලය හා බද්ද කිරීමේ දී එම මෘදුකාංගය භාවිත කල නොහැකි විය.

විශ්ව ව්‍යාප්ත ජාලයේ දී ප්‍රධාන සම්මතයන් තුනක් භාවිතා වේ.

URI (uniform Resource identifier) මෙය ජාලය තුල ඇති මුලාශ්‍ර ඇති ස්ථාන හදුනා ගැනීම සදහා අනන්‍ය ලිපිනයන් වන අතර එක් එක් වෙබ් පිටු සදහා වෙන වූ වෙනස් ලිපිනයන් ඇත.
HTTP (Hypertext transfer protocol) ජාලය භාවිත කරන්නා සතුව ඇති වෙබ් පිරික්සුම් මෘදුකාංගය හා ඔහු නරබන වෙබ් පිටුව ඇති Server පරිගණකය අතර සනිවෙදන කටයුතු කරන සම්මතය වේ.
HTML (Hypertext Markup Language) වෙබ් පිටු නිර්මාණය කිරීමේදී මෙම HTMLනම් වූ භාෂාවේ ඇති සම්මතයන්ට අනුව නිර්මාණය කරයි.එම වෙබ් පිටුව නරබන වෙබ් පිරික්සුම් මෘදුකාංගය එම සමතයන්ට අනුව හැඩතල ,වගු,අකුරු,වර්ණ හා චායාරුප ප්‍රදර්ශනය කරයි.

1993 අප්‍රේල් මස 30 වැනි දින CERN ආයතනය නිවේදනයක් අගින් විශ්ව ව්‍යාප්ත ජාලය ඕනෑම අයෙකුට නොමිලේ සම්බන්ධ විය හැකි බව ප්‍රකාශ කළේය.මේ සමගම එහි ව්‍යාප්තිය ද වේගවත් විය.1994 වසරේ පළමු අන්තර්ජාතික වෙබ් සමුළුව පැවත් වූ අතර එහිදී වෙබ් ජාලය නොමිලේ භාවිතා කිරීම පිළිබද අවසරය සම්මත කල අතර ඉන්පසු සැම වසරකට වරක්ම මෙම සමලුව පැවැත් වේ.

Yahoo Search Engine.



 ඔබට අවශ්‍ය වෙබ් පිටුවක් වඩාත් ඉක්මනින් සහ පහසුවෙන් සොයා ගත හැකි මග කුමක්ද?ඒ සදහා සෙවුම් යන්ත්‍රයක (Search Engine ) පිහිට පැතීමට ඔබට සිදු වනු ඇත.ජනප්‍රියතාවෙන් ඉහල තලයේ වැජබෙන සෙවුම් යන්ත්‍ර 2 ක් ලොව පවතියි.ඒ යාහූ සහ ගුගල් යන සෙවුම් යන්ත්‍ර 2යි.

1994 වසරේ ජනවාරි මස ඩේවිඩ් ෆිලෝ (David Filo)හා ජෙරී යැන්(Jerry yang) යන විශ්ව විද්‍යාල සිසුන් දෙදෙනා විසින් බිහිකළ යාහු සෙවුම් යන්ත්‍රය අද වන විට අන්තර්ජාලයේ වැඩියෙන්ම භාවිතා වන වෙබ් පිටුව බවට පත්ව ඇත.2005 ඔක්තෝබර් මස දී එහි දෛනික නැරබිම් ගණන බිලියන 3.4 ක් විය.යාහු හි ඉමහත් සාර්ථකත්වයට හේතුව එමගින් සපයනු ලබන උසස් ඊ-තැපැල් සේවාව (E-mail) හා යාහු මැසෙන්ජර් (yahoo Messenger) ප්‍රමුඛ අනෙකුත් විද්‍යුත් සේවාවන් ප්‍රමාණයයි.
යාහු යන නම බිහිවීම සම්බන්දයෙන් විවිධ මත පවතී.නමුත් එහි නිර්මාපකරුවන් පවසන්නේ එය සුප්‍රසිද්ධ “ගලිවර්ගේ චාරිකා” වෘතයන්ගෙන් උපුටා ගත්තක් බවයි.එම නම මගින් හැගෙන සරල සතුට දනවන එහෙත් කාර්යක්ෂම හැගීමට ඔවුන් ප්‍රිය කරන බව ෆිලෝ හා යැන් පවසයි.යාහු හි ජනප්‍රියතාවය ඉහල යත්ම එමගින් සපයනු ලබන සේවාවන්හි පරාසය ද ඉහල ගොස් ඇත.කලින් පැවසු ලෙසම යාහු හි සාර්ථකත්වයට මුලිකම සාධකයද එයයි.වෙබ් පිටු පදනම් වූ ඊ-තැපැල් සේවාව ඉක්මන් පණිවුඩ යැවීම සදහා මෙන්ම හිත මිතුරන් සමග කතාබහේ යේදීමට වෙන වූ යාහු මැසෙන්ජර් ඇති ජනප්‍රිය යාහු කණ්ඩායම් (Yahoo Groups) අන්තර්ජාල ක්‍රීඩා,උණුසුම් පුවත් ,අන්තර්ජාල වෙලදාම් සහ අන්තර්ජාල වෙන්දේසි යනාදී වශයෙන් අනෙක විද සේවාවන් යාහු මගින් සපයයි.
මෙවැනි බොහෝ සේවාවන් යාහු මගින් අත්පත් කරගත් ඒවා වේ.කලින් වෙනත් සමාගම් මගින් පවත්වා ගෙන යනු ලැබූ නොයෙකුත් සේවාවන් යාහු මගින් මිලට ගෙන එක්තැන් කොට යාහු නම යටතේ ඉදිරිපත් කිරීම බොහෝ විට සිදු වේ.මෙයට එම සේවාවන්හි මුල් පාරිබෝගිකයන් අකමැත්ත පල කල ද එම සේවාවන්හි ජනප්‍රියත්වය හා සිත ඇදගන්නා සුළු බව මගින් විශාල කාර්යක් ඉටු කරයි.


එසේම යාහු හා අන්තර්ජාල ක්ෂේත්‍රයේ දැවැන්තයන් අතර පවතින සබදතාවයන්ද බොහෝය.එමගින් එය ග්‍රාහකයින්ට අධිවෙගී කාර්යක්‍ෂම සේවාවන් සැපයීමට යාහු සමාගමට හැකි වී ඇත.ඊට අමතරව අන්තර්ජාලයේ ජනප්‍රියම ඊ-බේ (E-Bay) වෙන්දේසි සමාගම සමග ද යාහු සමාගම එකගතාවයක් ඇති කර ගැනීමට උත්සහ කර ඇති බවට වාර්ථා වේ.වසර 2000 සිට මේ දක්වා වූ කාලය තුල ලොව පැවති සෙවුම් යන්ත්‍ර ගණනාවක්ම යාහු මගින් මිලට ගන්න ලදී.එනිසාම වසර 2004 දී ගුගල් සමාගම සමග පැවති එකගතාවය අවසන් කර තමන්ගේම සෙවුම් පද්ධතියක් බිහිකිරමට යාහු සමාගම සමත් විය.


Linux



Linux යනු Unix නම් පරිගණක පද්ධතියට සමාන ලක්ෂණ ඇති මෙහෙයුම් පද්ධතියකි.එමෙන්ම නිදහස් හා විවෘත මුර්දුකාංගයට ලොව ඇති හොදම උදාහරනයකි.Microsoft Windows ,Mac OS X වැනි මෙහෙයුම් පද්දති මෙන් නොව ඕනෑම අයෙකුට එය වෙනස් කිරීමට හා නොමිලේ බෙදාහැරීමට හැකි අවසරය සමගින් එහි පරිගණක වැඩසටහන් කේතය ද සමගින් ලබා ගත හැක.

ආරම්භයේදී පුද්ගල පරිගණක පද්ධති කෙරෙහි වැඩි අවදානයක් යොමු කලද පසුව ලොව ප්‍රසිද්ධ පරිගණක සමාගම් වන IBM,Sun Microsystem,Hewlett Packard,Novel Inc වැනි සමාගම් වල නිපැයුම් වලට අනුගත වීමත් සමග Server ලෙසින් භාවිතා වන පරිගණක වලට වඩාත්ම ගැළපෙන මෙහෙයුම් පද්ධති ලෙස වඩාත් ජනප්‍රිය වන්නට පටන් ගත්තේය.අද ලොව අන්තර්ජාල Seervers පවත්වාගෙන යන ප්‍රධානතම සංවිධාන 10 න් 8 කම Linux මෙහෙයුම් පද්ධතිය භාවිතා කරයි.අනෙකුත් මෙහෙයුම් පද්ධති මෙන් Linux විවිධ පරිගණක පද්ධති වලට ගැළපෙන සංස්කරණ ලෙස එලි දක්වා ඇත.සුපිරි පරිගණකයේ සිට ජංගම දුරකථනය දක්වා පරිගණක පද්ධතියක භූමිකාව Linux අත්පත් කරගනිමින් සිටීයි.
Linux ඉතිහාසයෙන් ...
          1991 වසරේ ලිනුස් ටෝවල්ඩ්ස් () හෙල්සින්කි විශ්වවිද්‍යාලයේ ශික්ෂයෙකුව සිටියදී Minix නමින් හැදින වූ Unix ආකාරයේ මෙහෙයුම් පද්ධතියක් භාවිතා කල අතර , එහි නිර්මාපකයා වූ Andrew Tanenbaum එය වෙනත් අයෙකු විසින් වැඩිදියුණු කිරීමට අකමැත්ත පල කල නිසා ලිනුස් විසින් විකල්ප මෙහෙයුම් පද්ධතියක් නිර්මාණය කිරීමට පටන් ගත්තේය.පරිගණක මෙහෙයුම් පද්ධතියක මුලිකම තැනුම් ඒකකය වන Kernal නමින් හදුන්වන වැඩසටහන ඔහු නිර්මාණය කළේය. “Free” සහ “Freak” යන වචන දෙකට “Unix” හි X අකුර ද ඈදා ගෙන “Freak යනුවෙන් එය නම් කළේය.පසුව එම Freak Kernal එක භාවිතා කර තැනු මෙහෙයුම් පද්ධතියට “Linux යන නම යොදන ලදී.බොහෝ දෙනා මෙය ලිනක්ස් යනුවෙන් ශබ්ධ කලද එහි නියම ශබ්ධය ලිනුක්ස් වන බව ඔහු විසින්ම ඔහුගේ වචනයෙන්ම ලියා ඇති පහත වාක්‍යයෙන් සනාථ වේ.

’It’ is pronounced with a short [ee] sound:compare print ,minimal etc.’Nux’ is also short ,non-diphthong ,like in put {ipa/?/} it’s partly due to minix : linux was just my working name for the thing ,and as I wrote it to replace minix on my system,the result is what it is…..linusminix became linux  -Linus Torvalds


මුල් අවධියේ Linux ක්‍රියාත්මක වීමට Minix සහිත පරිගණකයක් අවශ්‍ය වූ නමුත් පසුව එය තනිවම ක්‍රියා කල  හැකි ස්වාදීන මෙහෙයුම් පද්ධතියක් බවට පත වුයේ LILO(Linux Loader) වැනි boot loader වැඩසටහනක් නිර්මාණය වීමත් සමගය.ලිනුස් ටොවල්ඩ්ස් සහ අනෙකුත් Linux Kernal ප්‍රවර්ධකයන් GNU(Gnus Not Unix) ව්‍යාපෘතියේ අංග ද ඇතුලත් කරමින් Linux සම්පුර්ණ විවුර්ත හා නිදහස් මෙහෙයුම් පද්ධතියක් වශයෙන් වැඩිදියුණු කෙරේ.අද වන විට ලිනුස් ටෝවල්ඩ්ස් Linux Kernal වැඩිදියුණු කිරීම කරගෙන යන අතර එය GNU ව්‍යාපෘතියේන් බැහැරව සිදු වේ.අනෙකුත් සමාගම් Linux මෙහෙයුම් පද්ධතියට අවශ්‍ය අනෙකුත් මුර්දුකංග නිපද වීම කර ගෙන යයි.
ආරම්භයේ සිටම Linux server පරිගණ සදහා බහුල වශයෙන් භාවිතා කරන ලදී.නමුත් එය ඉතා වියදම් අවම මෙන්ම බොහෝ කාර්යයන් සදහා යොදා ගත හැකි මෙහෙයුම් පද්ධතියක් ලෙස දැන් ලොව ජනප්‍රිය වෙමින් පවතියි.Symbian OS,Windows CE Palm OS වැනි මෙහෙයුම් පද්ධති සමග ඉතා හොද තරගාහක් දෙමින්ජංගම දුරකතනවල භාවිතා කල හැකි මෙහෙයුම් පද්ධතියක් ලෙස Linux පත් වී ඇත.
බහුකාර්යය සංස්කරණ ලෙස එළිදක්වා ඇති Linux නිපැයුම සමග X Window System ,වැනි රූපයම අතුරු මුහුණත් ඇති KDE,GNOME පද්ධති මෙන්ම කාර්යාල භාවිතයට අවශ්‍ය මෘදුකාංගයේ සිට පරිගණක භාෂා Compiler දක්වා වූ මෘදුකාංග ඇතුලත්ය.C,C++,C#,JavPerl,Pythan වැනි භාෂා සදහා වූ Compiler GNU ව්‍යාපෘතිය යටතේ නිපදවා ඇති අතර ,Intel pathscale,Portland Group වැනි සමාගම් විසින් නිපදවූ Compilers Linux සමග භාවිතා කල හැකිය.තවද වදන් සැකසුම් මෘදුකාංග විද්‍යාත්මක අධ්‍යානයන් සදහා වැදගත් වන මෘදුකාංග කට්ටලයක් ද ඇතුලත් වේ.

Linux හි අභ්‍යන්තර කේතයන් වෙනස් කිරීමට‍ ඇති හැකියාව නිසා එය භාවිතා කරන්නන් වෙනත් මෙහෙයුම් පද්ධති භාවිත් කරන්නන්ට වඩා තාක්ෂණික අංශයට නැබුරුවක් දක්වන පිරිසක් බව ලොව පිළිගැනීමක් ඇත.මේ නිසාම Microsoft Windows මෙන් Linux භාවිත කරන්නට පහසු නොවන බවට ද මසවිල්ලක් ඇතැම් පුද්ගලයින් නගයි.

වැඩි විස්තර --->History of Linux

Variable Declaration-java



අප පරිගණක වැඩසටහනක් ලියා එමගින් බෝහෝ විට දත්ත හැසිරවීම කරනු ලබයි. දත්ත හැසිරවීම ලෙස යම් අගයක් දෙකක් එකතු කර එම අගයන් එකතු කිරීමේන් ලැබෙන ප්‍රතිපලය නැවත ප්‍රදර්ශනය කිරීමට අවශ්‍ය වන්නට පුළුවන්,නම,ගම අතුලත් විස්තරයක් තිරයේ දර්ශණය වනවා වන්නට පුළුවන්.මෙසේ කිරීමෙන් බොහෝ විට අපට පරිගණකයේ පවතින මතක කොටස නොහොත් RAM(Random Access Memory) නමැති උපාාංගය අවශ්‍ය පරිදි යොදා ගත යුතුය.
මේ ක්‍රියාවලිය මැනවින් තහවුරු කිරීම සදහා ඔබගේ අවදානය රූපසටහන වෙත යොමු කරමු.එම පරිගණක වැඩසටහන හොදින් නිරීක්ෂණය කරන්න.

                                                                       PIC 1

මෙහි මෙතෙක් සාකච්චාවට බදුන් නොකළ Statements එකක් පෙනේනවා ඇති.

int numOne,numTwo

මෙමගින් හැදින්වෙන්නේ අප විසින් පරිගණක මතකයන් , මතක ස්ථාන දෙකක් වෙන්කර ඇති බවයි.එම මතක ස්ථානයන් දෙකෙහි නාමයන් වනුයේ numOne හා numTwo ය.එසේම එම නාමයන් පරිගණක වැඩසටහන් කරුට අවශ්‍ය පරිදි ලියන බවද ඔබට මතක ඇති.

මතක නාමයන් බේදීමෙ සම්ප්‍රදානයන් මොනවාද?

අප මෙම මතක ස්ථානයන් වෙන්කිරීම සහ එයට නාමයන් දීම රූපාකාරයෙන්ද නිරුපනය කර ඇති අයුරු නිරීක්ෂණය කර ,එය වඩාත් පැහැදිලි කරගන්න.එසේම එම පරිගණක මතක නාමයන් දීම ක්‍රියාවලිය ආරම්බයේ int නමැති වචනය යොදා ඇති අයුරු නිරීක්ෂණය කරන්න.

Int යනු reserved /key word එකක්ද?

මෙමගින් වැඩසටහන්කරු පරිගණකයට දක්වන්නේ මෙකි වෙන්කරගත් මතක ස්ථාන සදහා අගයන් ලෙස අාංකයන්(numbers) දීමට අපේක්ෂා කරණ බවත් , ඒවා පුර්ණ සංක්‍ය(whole numbers) වන බවත්ය.

එසේම පුර්ණ සංක්‍ය නොවන , අාංකයන් නොවන වචනත් දත්තයන්ද(data) අපට දීමට සිදුවෙනවා නේද .මෙ පිලි දව සවිස්තරව ඉදිරියේ ලියන්නම්.එහෙත් මෙවැනි අාංකයන් ලැයිස්තුවක් ගොඩනගා ගැනීමට උත්සහ කර බලන්න.

නැවතත් අපබේ රූපසටහන වෙත අවදානය යොමු කළහොත් , මෙහි අප මතක ස්ථාන (Variables) දෙකක් වෙන කර ඇති බව ඔබට කිවා මතක ඇති.එසේ එකකට වැඩියේන් එකම ටයිේ එකට අයත්වන Variables වෙන්කිරීබම්දී එක මතක නාමයක් ඇතිතෙක් වෙන් කර ඇත්තේ ,(comma) නමැති separator එකකිනි.එසේනම් ඔබට එකකට වඩා මතක ස්ථාන වෙන් කිරීමෙදී කොමාව යොදා ගත හැකිය.එසේම එක මතක ස්ථානයක්ද වෙන්කර ගත හැක.පහතින් දක්වා ඇත්බත් ද තවත් ගනයක(type) මතක වෙන්  කිරීමකි.

Char ch1,ch2,ch3;

මෙහිදී මතක ස්ථාන 3 ක් char නමැති වර්ගයෙන් දත්ත ගබඩා කර ගැනීම සදහා වෙන කර ඇත.මෙසේ ඔබ විසින් යම් ගණයකට (type එකකට අදාල ව ) මතක ස්ථාන වෙන්කරගත් සැනින් ,යම් අගයක් එකී මතක ස්ථානයෙ ගබඩා නොකළහොත් ,නිරායාසයන් එකී මතක ස්ථානයන් හි යොදා ගන්න type එක අනුව යම් යම් අගයන් ඒවා වෙත යෙදෙන බව දැකිය හැකිය.මෙයට අප default අගයන් නිරායාසයෙන් ගබඩා වීම යයි කියමු.මෙතේක් දත්ත වර්ග /ගණයන් (data types) පිලිබදව අවබොදයක් නැතත් සටහනේ පුර්ණත්වය සදහා එක් එක් දත්ත වර්ගය සදහා ලැබෙන default අගයන් පහතින් සදහන් කරමු.

සියලුම අාංකයන්(Numerical) සහිත data types සදහා 0(zero) ද, අකුරු නොහොත් characters දත්ත වර්ගය සදහා ‘\0’ද,Boolean අගයන් ලෙස false ද, objects අගයන් සදහා null ද ඇතුලත් වේ.

IC-Prog මෘදුකාංග හැඩගැස්වීම.




ගියවර ලිපියෙන් ඔබට Microcontroller වැඩසටහන්කරණය පිලිබදව දළ අවබෝදයක් ලබා දෙන ලදී.මෙවර ලිපිය වෙන්වන්නේ අප මිට මෙර සකස් කරගත් PIC 16F84A device programmer උපකරණයේ භාවිතය පිලිබදව යම්  අවමබෝදයක් ලබා දීමටයි.මේ සදහා භාවිත කල හැකි උපයෝග මෘදුකාංගයක් පසුගිය ලිපි පෙලින් හදුන්වා දෙන ලදී.
එය IC-Prog programmer නම් මෘදුකාංගයයි. මෙම මෘදුකාංගය බාගත කල හැකි අන්තර්ජාල ලිපිනයක් ද ලබා මදන ලදී.ඔබ එම ලිපිනය පිරික්සුවෙ නම් එහි ෆයිල්ස් කිහිපයක නම් සදහන් කර ඇති ආකාරය දැක ගැනීමට හැකි වනු ඇත.අපගේ කාර්යය සදහා අවශ්‍ය වන්නේ පහත දැක්මවන Files කිහිපයයි.

√   IC-prog software 1.05 D Multi-Lingual.
√   IC-prog NT/2000 driver.
√   Help File in English language.

මෙලෙස Files බා ගැනීම කරණ අවස්ථාමේ පවතින්නේ Zip Files ලෙසය .ඒවා නියෙ ස්වරුපයට පත් කර ගැනීම සදහා WinRAR හෝ WinZip වැනි මෘදුකාංගයක් භාවිතා කර unzip කරගැනීමට සිදුවෙ.මෙම files තුනම එකම ස්ථානයට unzip කරන්න.උදාහරණයක් ලෙස C:\MCU Prog යන ස්ථානය සලකා බලන්න.දැන් ඔබගෙ එම directory එකෙහි icprog.exe,icprog.sys,icprog.chm යන ෆයිල්ස් තුන දිස්විය යුතුය. මීලගට icprog.exe එක ධාවනය කරන්න.එවිට ඔබට පහත රූපසටහනෙන් දැක්වෙන Window එක දිස්වනු ඇත.


මීලගට ඔබ කල යුත්තේ මෙම මෘදුකාංගය ඔබගෙ පරිගණක මෙහෙයුම් පද්ධතියට අනුගත වන ලෙස සකස් කිරීමයි.මේ සදහා Main Menu හි Settings යන Menu එකෙහි Options යන්න තෝරාගන්න.එවිට ඔබට Options Window එක දිස්වනු ඇත.මෙයින් misc යන tab එක මතෝරා ගන්න.එවිට ලැමබන window එකෙහි රූපසටහනක් පහත ආකාරයට දිස්වනු ඇත..


ඔබගේ පරිගණකයේ මෙහෙයුම් පද්ධතිය windows NT,2000 හෝ xp නම් Enable NT/2000/XP driver යන කොටුව Click කරන්න.එවිට එහි හරි ලකුණක් වැටි මෘදුකාංගය නැවත පණ ගැන්වීමේ අවශ්‍යතාව මතු කරනු ඇත.ඒ සදහා ඔබ ඉඩ දිය යුතුය.

Microcontroller වැඩසටහන්කරණ ක්‍රියාවලිය.




මෙම ක්‍රියාවලිය සාමාන්‍ය පරිගණක වැඩසටහන්කරණය සමග සැසදුවහොත් ඔබට පහත දැක්වෙන නිරීක්‍ෂණයන් සිදු කල හැකිය.
සාමාන්‍ය වැඩසටහන්කරණයේදී ඔබ java , C++ වැනි යම් පරිගණක භාෂාවක් භාවිතා කරමින් පළමුව වැඩසටහන් පිළියෙළ කරයි.මෙය ඔබට කියවා තේරුම් ගත හැකි (human language) තත්වයේ පවතී.
ඔබගේ මීලග පියවර වන්නේ මෙලෙස සම්පාදනය කරණ ලද ඔබගේ පරිගණකයට තේරුම ගත හැකි (machine readable) තත්වයට පරිවර්තනය කිරීමයි.මෙලෙස පරිවර්තනය කිරීම Compile කරනවා යනුවෙන් හදුන්වයි.ඒ සදහා භාවිතා කරණ පරිවර්තකයා Compiler ලෙසින් හදුන්වයි.
මෙලෙස සකස් කරගත් වැඩසටහන එම පරිගණකයේ ධාවනය කිරීමට හැකි තත්වයේ පවතී.(ඇතැම් පරිඝණක භාෂාවන් සදහා මෙම ක්‍රියාවලිය වලංගු නොවේ. )
Microcontroller වැඩසටහන්කරනදී ද භාවිත කරන්නේ මිට සමාන වූ ක්‍රියාවලියකි.එහෙත් මෙහිදී ඇති විශේෂත්වය නම් සම්පාදනය කරණ ලද වැඩසටහන පරිගණකයෙන් පරිභාහිරව ඉහත සදහන් කල උපකරණය තුල තැන්පත් කල යුතු නිසා, අමතර ක්‍රියාමාර්ග කිහිපයක් ගැනීමට සිදුවීමයි.
පහත දක්වෙන්නේ එම සම්පුර්ණ ක්‍රියාවලිය පිළිබද දල විස්තරයකි.
  1. පරිගණකය භාවිතයෙන් වැඩසටහනක් සම්පාදන කිරීම.:

    ඔබ සාමාන්‍ය වැඩසටහන්කරණයේදී භාවිතා කරණ පරිගණක භාෂාවන් (java , C++ වැනි ) ඒ අයුරෙන්ම Microcontroller වැඩසටහන්කරණය සදහා භාවිතා කල නොහැකිය.මිට හේතුව නම් Microcontroller උපාංගය සලසා දෙන විධානයන් (instructions) දත්ත ආකාරයෙන් (data types ) වැනි යම් ලක්ෂණ පරිගණකයේ එවැනි ලක්ෂණ වල මුහුණුවරයන්ගෙන් වෙනස් වීමයි.අපගේ සරල අත්හදාබැලීම සදහා මා යොදා ගත්තේ assembly නම් පරිගණක භාෂාවයි.මෙය low level language නම් පරිගණක භාෂා වර්ගයට අයත් වේ.ඊට හේතුව නම් එය බොහෝදුරට අපට වඩා පරිගණකයට තේරුම ගත හැකි තත්වයේ පැවතීමයි.

  2. සම්පාදනය කරගත් වැඩසටහන Compile කර ගැනීම.

    assembly භාෂාවෙන් සකස් කල වැඩසටහන මීලගට Microcontroller උපාංගයට තේරුම් ගත හැකි , එනම් 1 සහ 0 තත්වයට පත්කර ගත යුතුය.මේ සදහා අප භාවිතා කරන්නේ MPASM Assembler නම් පරිවර්තකයයි.මෙය පහත දැක්වෙන අන්තර්ජාල ලිපිනයෙන් ලබා ගත හැක.

    http://www.microchip.com/

    මෙලෙස පරිවර්තනය කරගත් පසු අපට ලැබෙන්නේ 1 සහ 0 නියෝජනය වන ලෙස සම්පාදිත hexadecimal ආකාරයේ පවතින file එකකි.මීලගට Microcontroller උපාංගය තුල තැන්පත් කිරීම.

  3. Device Programmer උපකරණය යොදා ගෙන, සම්පාදිත වැඩසටහන Microcontroller උපාංගය තුල තැන්පත් කිරීම.

    ඉහත දෙවන පියවරේදී අපට ලැබුණු hexa-decimal file එක Microcontroller උපාංගය තුල තැන්පත් කිරීම සදහා (මෙම ක්‍රියාවලිය chip burning ලෙසින් හදුන්වයි ) .මෙහිදී Microcontroller උපාංගයක් සදහා වැඩසටහන් තැන්පත් කර ගැනීමට භාවිතා කල හැකි jdm programmer හෙවත් device programmer හෙවත් Chip burner නම් උපකරණයක් මෙන්ම , එම උපකරණය ක්‍රියාත්මක කරවිම සදහා උපයෝග මුර්දුකාංගයක් ic-prog programmer නමින් හදුන්වයි.මෙය පහත දැක්වෙන අන්තර්ජාල ලිපිනයෙන් ලබා ගත හැක.

    http://www.ic-prog.com/index.htm

Linux Installing part 1






Ubuntu අලිත්ම බෙදාහැරීම ඉන්ස්ටෝල් කිරීම් තරමක් දුරට වෙනස් කරලා.ඉතින් මට හිතුනා උබුන්ටු පරිශීලකයෙක් විධියට ලිනක්ස් ඉන්ස්ටෝල් කරන ආකාරය ගැන ලියන්න ඕනේ කියලා.ලිනක්ස් disto ගැන කතා කරන කොට සියලුම ලිනක්ස් අතරින් වැඩි දෙනෙක් පාවිච්චි කරන්නේ Linux Mint, Ubuntu,Fedora distribution 3 නේ .Linux Mint කියන්නෙත් Ubuntu මත පදනම් වෙච්ච එකක්.ඒ වාගේම සාමාන්‍ය පුරුදු desktop and menu හා ඉතා පහසුවෙන් බාවිතා කල හැකි අකාරයෙන් එහි configuration tools සකසා තිබීමයි.මම ඉහත සදහන් කල 3 න් අලුතෙන් ලිනක්ස් වලට එන්න හිතන් ඉන්න කෙනෙකුට හොදම එක විදියටත් Linux Mint සුදුසුයි.Fedora කියන්නේ Linux Mint, Ubuntu වලට වඩා ටිකක් සංකිර්ණ එකක්.නොකද මේක enterprise මට්ටමේ distribution එකක් නිසා.හරි අපි දැන් බලමු උබුන්ටු භාවිත කරන්නේ කොහොමද කියලා.




Ubuntu ඉන්ස්ටෝල් කිරීමේදී අනුගමනය කල යුතු පියවර 6 තියෙනවා.


1).Install කිරීම අතරතුර බාවිත‍ා කරන භාෂාව තේරීම .
2).සිටින නගරය සහ TimeZone එක තේරීම.
3).Keyboard layout එක තේරීම.(සාමාන්‍යයෙන් ශ්‍රී ලංකාවේ භාවිතා කරන්නේ U.S English layout එකයි.)
4).Hard Disk එක Partition සකසන ආකාරය තේරීම සහ Partition සැකසීම.
5).Window වල ඇති ඔබේ ලිපි ගොනු import කර ගැනීම.
6).Username , Password ඇතුලත් කිරීම.


පළමු පියවරේ සිට කරගෙන ආ සියලු Configuration බලා ගැනීම සහ ස්ථිරවම Apply කිරීම.පලනු පියවරේදී ඔබේ install කිරීම අතරතුර බාවිතා කිරීමට කැමති භාෂාවක් තොරා ගන්න.මේ සදහා English තෝරා ගන්න.ඉන් පසුව Forward button එක press කරන්න .


තෙවැනි පියවරේදී ඔබට Keyboard layout එක තෝරා ගැනීමට අවස්තාව ලැබෙන අතර ඒ සදහා U.S English තෝරා ගන්න.



හතරවන පියවරේදී ඔබේ hard disk එකේ partition අවශ්‍ය පරිදි සකස් කිරීමේ අවස්තාව ලබා දේ.මෙම පියවර ඉතා වැදගත් වන අතර partition සකස් කිරීමේ අවශ්‍යතාව අනුව තෝරා ගන්න.Manual තෝරා ගැනීම මගින් ඔබේ අවශ්‍යතාවට සරිලන ආකාරයට ඔබ විසින්ම සකසා ගත හැකිය.Something else ආකාරය මගින් ඔබේ hard disk එකේ partition නොකළ පෙදෙස හා linux වලට මිතුරු ආකාරය Partition එකතු කර අවශ්‍ය Root Partition එක සාදා ගනී.Manual use ,entire disk ආකාරයේ Hard disk එක සම්පුර්ණයෙන්ම ලිනක්ස්වලටම අවශ්‍ය පරිදි සකසා ගනී.Manual තෝරාගැනීම වඩා සුදුසුය.

ඉන් පසුව Forward press කරන්න.Hard disk එකේ Partition පිහිටුම ඔබට දන ගත හැකි වනු ඇත.Hard disk එකේ Partition නොකළ පෙදෙසක් ඇත්නම් එම අවකාශය Ubuntu install කිරීමට ප්‍රමානවත් නම් එනම් Ram එක මෙන් දෙගුණයක් වන swap Partition එකක් සහ 2 GB වලට වැඩි ext3 partition එකක් සැදීමට ප්‍රමාණවත් නම් එම Partition නොකළ අවකාශය භාවිතා කල හැකිය .එසේ නොවේ නම් වෙනත් partition එකක් Delete කර අවශ්‍ය Partition නොකළ පෙදෙසක් භාවිතා කල යුතුය.


ඉතිරි කොටස Linux installing part 2 බලන්න....
කියවපු හැමෝටම බොහොම ස්තුතියි....

Linux installing part 2



පසුගිය ලිපියේ Partition නොකළ අවකාශයක් සාදා ගත් බව ඔබට මතක ඇති.Linux install කිරීමට ප්‍රථම අපි සාදා ගත් Partition නොකළ පෙදස භාවිතා කර ලිනක්ස් Install කිරීමට අවශ්‍ය partition සදා ගනිමු.මේහිදී Ram එක යමන් දෙගුණයක් වන Swap ආකාරයේ Partition එකක් 2 GB වලට වැඩි වූ ext3 ආකාරයේ Partition එකක් සදා ගත යුතුය.Swap partition එක අත්‍යවශ්‍ය නැති වූව ද ext3 ආකාරයේ partition එකක් තිබීම අනිවාර්ය වේ.
පළමුවේන්ම swap ආකාරයේ partition එකක් සාදා ගනිමු.ඒ සදහා ඔබෙ Ram එක මෙගාබයිට් 128 නම් මෙගාබයිට් 256 ප්‍රමාණයක් භාවිතා කරන්න .සාදාගත් Un-partitioned space එක මත right click කර edit තෝරාගන්න .එවිට පහත දක්වා ඇති පරිදි Dialogue box එකක් දිස්වනු ඇත.එහි new partition යන තැනට ඔබෙ ram එක මෙන් දෙගුණයක් වූ අගයක් ඇතුලත් කරන්න.




Use as යන තැනට swap යන්න තෝරා දෙන්න .ඉන්පසුව ok කරන්න .අනතුරුව ඉතිරි partition නොකළ අවකාශය ව මත right click කර edit යන්න තෝරාගන්න .දැන් ඔබට පහත රුපයේ පරිදි Dialogue box එකක් ලැයබනු ඇත.එහි partition site කියන තැනට ඉතිරි සම්පුර්ණ අවකාශයම සටහන් වි ඇති බව දිස්වනු ඇති.

ඔබට තවත් අමතර partition අවශ්‍යය නොවේ නම්  එම ප්‍රමාණය වෙනස් නොකර තබන්න .ඉන්පසුව use as යන තැනට  ext3 යන්න තෝරා ගන්න .

Menu point කියන තැනට “ / ” තෝරාදෙන්න .drop down මේනු ඒකෙන් “ / ” ය නොමැති නම් ඔබ keyboard එක භාවිතයෙන් එය සටහන් කරන්න .partition සකස් කිරීම දැන් අවසානය.දැන් Forward press කරන්න .



ඊලග  පියවරේදී ඔබ ගේ windows වල home folder එකේ ඇති දත්ත ලි නක්ස් වල home එකට ආනයනය කිරීමේ අවස්ථව ලබා දී ඇත.අවශ්‍ය නම් windows වල home folder එකම එහිදී සලකුණු කරන්න .අවශ්‍ය කරන windows හි භාවිතා කල password හා username ද ඇතුලත් කරන්න.ඉන්පසු ඊළඟ පියවරට යන්න
 .
එහිදී ඔබෙ password හා username එක සහ පරිගණකයේ නම යන හිස් තැන් සම්පුර්ණ කර Forward කරන්න..එවිට ,ඔබ මෙතෙක් සිදු කල සියලු කටයුතු සංශිප්ත කර දක්වනු ඇත.එය හොදින් කියවා බලා එහි වරදක් නොමැති නම් ඊලග පියවර වන install කිරීම ඇත්ත වශයෙන් ආරම්භ කිරීම සිදු කල හැකිය.



අවසානයේ දී windows වල භාවිතා වන boot loader එක වන NT loader වෙනුවට මෙහිදී Grub loader එක install ව අතර windows වලට හා දැනට install වී ඇති සියලු operating systems වලට ම ඇතුළු විය හැකි ආකාරයේ multiboot menu එකක් ඔබට restart කල විට දැක ගත හැකි වනු ඇත.
Ubuntu install කිරීමෙ‍දී ඒ පිලිබදව කිසිදු බියක් ඇති කර ගත යුතු නොවන අතර default install වීම multiboot ආකාර වෙ.


Partition සකස් කිරීමේදී එහි windows partition වෙනසක් නොකරන්නේ නම් නැවත windows boot කර ගැනීමට ඔබට පුළුවන .කුමන හේතුවක් නිසා හෝ ඔබ install කිරීම අතරමග නතර වුයේ නම් ඔබට windows වලට හෝ linux වලට boot වීමට  නොහැකි වනු ඇත.සරලව විසදුම නම් නැවත ubuntu install කිරීමයි.එවිට windows වලට හා ලිනක්ස් වලට ඇතුලත් විය හැකි boot menu එකක් ඔබට දිස් වනු ඇති.


කියවපු හැමෝටම බොහොම ස්තුතියි....
අවසානය----

විදුසර සිංහල පංති පාඩම.(Vidusara PIC Tutorials)




    Introduction to Microcontrollers


 I. Internal Architecture
     I/O Ports Fetch, Decode, and Execute
     Controlling and processing unit


II. Softwares used for Programming Microcontrollers
    Compilers and Integrated Development Environments
    How to build your own JDM Programmer (I)
    How to build your own JDM Programmer (II)
    Hardware needed for Programming
    Program using ICPROG Software


III. Build your first microcontroller based circuit
    Typical microcontroller assembly circuit diagram
    Special Function registers of the Microcontroller PIC16F84A    
    Creating your first assembly code
    How to write assembly code in MPLAB
    More on MPLAB
    How to simulate using MPLAB SIM


IV. LED Pattern generators
    Assembly code for driving 8 LEDs (I)
    Assembly code for driving 8 LEDs (II)
    Driving 40 LEDs using PORT multiplexing (8x5)
    How to display a Character using 8x5 LED matrix


V. Seven Segment Displays
    Driving segments using PORT-B I/O
    Basic counter circuit (I)
    0 - 100 up counter using two SSD (I)
    0 - 100 up counter using two SSD (II)
    Usage of interrupts
    Practical usage of Interrupts
    External Interrupts


VI. Connecting a microcontroller with the PC
    PC Serial port overview
    Logic level translation using MAX 232 IC
    Assembly code for controlling USART module (I)
    Assembly code for controlling USART module (II)


VII. Analog to Digital conversion
   Temperature Logger using LM35
   Importance of Quantization error and Sampling rate
   PIC16F877A ADCON0 and ADCON1register
   A/D, show results using SSD
   Assembly code for A/D conversion (I)
   Assembly code for A/D conversion (II)
   Send A/D converted data through RS-232


VIII. Liquid Crystal Displays
   Types of LCDs
   Running a LCD module using PIC16F84A (I)
   Running a LCD module using PIC16F84A (II)
   Running a LCD module using PIC16F84A (III)


IX. Number representations
   Introduction to Binary, Octal and Hex number systems
   Logic gates and Boolean algebra
   Boolean algebra and Registers
   Communication using Ascii codes


X. DC Motor controlling
   Controlling a DC motor using H-Bridge IC L298
   Control rotation speed, rotation direction using Microcontroller
   Connecting the DC motor controller to PC
   DC motor control according to the user press buttons
   Pulse Width Modulation (PWM)
   Calculating the DC Motor rotation speed (RPM)
   Dynamic control using feedback loops


XI. Remote controllers numbering
   The electromagnetic spectrum
   Infrared remote controllers
   IR Sensors
   How to capture the IR receiver signal using Microcontroller
   Decoding IR Signals (I)
   Decoding IR Signals (II)
   Decoding IR Signal algorithm


XII. Data transfer between digital circuits
   Serial Peripheral Interface (I)
   Serial Peripheral Interface (II)
   Nokia 3310 LCD Driving using SPI (I)
   Nokia 3310 LCD Driving using SPI (II)
   Connecting a Nokia 3310 LCD to PIC16F877A
   Assembly code for LCD driving (I)
   Assembly code for LCD driving (II)
   Sinhala characters in a Nokia 3310 LCD
   Animation effects with Nokia 3310 LCD


XIII. How to use high level languages
   Introduction
   C code for blinking a LED
   C code for driving 8 LEDs (I)
   Driving 40 LEDs using PORT multiplexing (8x5) (I)
   Driving 40 LEDs using PORT multiplexing (8x5) (II)
   Driving segments using PORT-B I/O
   Basic counter circuit
   0 - 100 up counter using two SSD
   Practical usage of Interrupts
   External Interrupts
   Connecting a microcontroller with the PC
   Driving Liquid Cristal Displays
   End of uC Series


XIV. Global Positioning System (GPS)
   Introduction to Global Positioning
   GPS Receivers
   GPS Errors
   Differential GPS

Size - 11.26 MB
RAR Password :-myminiproworld.blogspot.com

Create Translucent Windows in Java/Swing





මන් කියලා දෙන්න යන්නේ කොහොමද ජාවා වලින් එක හැඩයකට තියෙන විනිවිද වින්ඩෝ එකක් හදා ගන්නේ කියලා .

මේක කරන්න අවශ්‍ය වෙන්නේ මෙන්න මේවා ටික විතරයි .

ස්වින් Application සම්බන්දව මුලික දැනුමක්..
JDK 7 , නැති කට්ටිය මෙතනින් ගන්න .
Netbeans IDE ,නැති කට්ටිය මෙතන්න ගිහින් ඩවුන්ලෝඩ් කරගන්න .

මුලින්ම අපි බලන්න ඕනේ අපේ පරිගණකයේ ප්ලැට් ෆෝම එක Translucent (විනිවිද) එකට Support (සහය) කරනවාද කියල බලන එකයි. එකට අපි මුලින්ම Graphic Device ඒකෙන් instance එකක් හදා ගන්න ඕනේ මෙන්න මේ විදියට .
import static java.awt.GraphicsDevice.WindowTranslucency.* 

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
 


ඔන්න හරි ජාවා වල Transperancy Method ටයිප්ස්‌ 3 තියෙනවා . 

1.gd.isWindowTranslucencySupported(TRANSLUCENT); //for Uniform Transparency
2.gd.isWindowTranslucencySupported(PERPIXEL_TRANSLUCENT);//for per-Pixel Transperancy
3.gd.isWindowTranslucencySupported(PERPIXEL_TRANSPARENT); //for shaped windows


මේ හැම Method එකකින්ම Boolean (True or False) එකක් තමයි Return වෙන්නේ .ලැබෙන ප්‍රතිපලය මත ඇප්ලිකේෂන් එක සාදා ගන්න පුළුවන් .මේ හැම එකක් ගැනම අපි දැන් බලන්න යන්නේ කොහොමද හදා ගන්නේ කියලා .මුලින්ම අපි පලවෙනි එක කරන්නේ කොහොමද කියලා බලමු .


Uniform Transparency(එකීය පාරදෘශ්‍යතාව):

මේ වාගේ ඇප්ලිකේෂන් එකක් හදාගන්න එක හරිම ලේසි මොකද කියනවානම් අපි jframe එකක් හදා ගත්තට පස්සේ "setOpacity()" කියන මෙතඩ් එකට windows class එකේ ඉදලා call කරන්න විතරයි තියෙන්නේ. එක Float අගයක් .පොඩිම අගයේ (ඒ කියන්නේ 0.0 ) ඉදලා ලොකුම අගයට (ඒ කියන්නේ 1.0 ) set කරන්න තියෙන්නේ .1.0 set කරනවා කියන්නේ වින්ඩෝ එක සම්පුර්ණයෙන්ම පාරාන්ධයි .එකේ අනිත් පැත්ත ඒ කියන්නේ 0.0 දැම්මොත් වින්ඩෝ එක සම්පුර්ණයෙන්ම පාරදෘශ්‍යයි.

මේ විදියට තමයි එක කරන්න ඕනේ .

public class MyUniTransperancyWindow extends JFrame {

/*


Extra usage for some method..
*/
MyUniTransperancyWindow myWindow = new MyUniTransperancyWindow ();
myWindow.setLocationRelativeTo(null);
myWindow.setSize(400,300);
myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myWindow.setOpacity(0.70f);

myWindow.setVisible(true);

}


මේක හරියට වැඩ කල නම් ඔයාලට 70% විනිවිදභාවයෙන් තියෙන වින්ඩොවක් ලැබෙන්න ඕනේ.ඊලග ලිපියෙන් මන කියලා දෙන්නම් කොහොමද වින්ඩොව් එක අපිට කැමති හැඩය කට හදා ගන්නේ කියලා,ලිපිය කියවපු ඔයාලට බොහොම ස්තුතියි.

SINHALA UNICODE TABLE




PositionDecimalNameAppearance
0x0D823458SINHALA SIGN ANUSVARAYA
0x0D833459SINHALA SIGN VISARGAYA
0x0D853461SINHALA LETTER AYANNA
0x0D863462SINHALA LETTER AAYANNA
0x0D873463SINHALA LETTER AEYANNA
0x0D883464SINHALA LETTER AEEYANNA
0x0D893465SINHALA LETTER IYANNA
0x0D8A3466SINHALA LETTER IIYANNA
0x0D8B3467SINHALA LETTER UYANNA
0x0D8C3468SINHALA LETTER UUYANNA
0x0D8D3469SINHALA LETTER IRUYANNA
0x0D8E3470SINHALA LETTER IRUUYANNA
0x0D8F3471SINHALA LETTER ILUYANNA
0x0D903472SINHALA LETTER ILUUYANNA
0x0D913473SINHALA LETTER EYANNA
0x0D923474SINHALA LETTER EEYANNA
0x0D933475SINHALA LETTER AIYANNA
0x0D943476SINHALA LETTER OYANNA
0x0D953477SINHALA LETTER OOYANNA
0x0D963478SINHALA LETTER AUYANNA
0x0D9A3482SINHALA LETTER ALPAPRAANA KAYANNA
0x0D9B3483SINHALA LETTER MAHAAPRAANA KAYANNA
0x0D9C3484SINHALA LETTER ALPAPRAANA GAYANNA
0x0D9D3485SINHALA LETTER MAHAAPRAANA GAYANNA
0x0D9E3486SINHALA LETTER KANTAJA NAASIKYAYA
0x0D9F3487SINHALA LETTER SANYAKA GAYANNA
0x0DA03488SINHALA LETTER ALPAPRAANA CAYANNA
0x0DA13489SINHALA LETTER MAHAAPRAANA CAYANNA
0x0DA23490SINHALA LETTER ALPAPRAANA JAYANNA
0x0DA33491SINHALA LETTER MAHAAPRAANA JAYANNA
0x0DA43492SINHALA LETTER TAALUJA NAASIKYAYA
0x0DA53493SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
0x0DA63494SINHALA LETTER SANYAKA JAYANNA
0x0DA73495SINHALA LETTER ALPAPRAANA TTAYANNA
0x0DA83496SINHALA LETTER MAHAAPRAANA TTAYANNA
0x0DA93497SINHALA LETTER ALPAPRAANA DDAYANNA
0x0DAA3498SINHALA LETTER MAHAAPRAANA DDAYANNA
0x0DAB3499SINHALA LETTER MUURDHAJA NAYANNA
0x0DAC3500SINHALA LETTER SANYAKA DDAYANNA
0x0DAD3501SINHALA LETTER ALPAPRAANA TAYANNA
0x0DAE3502SINHALA LETTER MAHAAPRAANA TAYANNA
0x0DAF3503SINHALA LETTER ALPAPRAANA DAYANNA
0x0DB03504SINHALA LETTER MAHAAPRAANA DAYANNA
0x0DB13505SINHALA LETTER DANTAJA NAYANNA
0x0DB33507SINHALA LETTER SANYAKA DAYANNA
0x0DB43508SINHALA LETTER ALPAPRAANA PAYANNA
0x0DB53509SINHALA LETTER MAHAAPRAANA PAYANNA
0x0DB63510SINHALA LETTER ALPAPRAANA BAYANNA
0x0DB73511SINHALA LETTER MAHAAPRAANA BAYANNA
0x0DB83512SINHALA LETTER MAYANNA
0x0DB93513SINHALA LETTER AMBA BAYANNA
0x0DBA3514SINHALA LETTER YAYANNA
0x0DBB3515SINHALA LETTER RAYANNA
0x0DBD3517SINHALA LETTER DANTAJA LAYANNA
0x0DC03520SINHALA LETTER VAYANNA
0x0DC13521SINHALA LETTER TAALUJA SAYANNA
0x0DC23522SINHALA LETTER MUURDHAJA SAYANNA
0x0DC33523SINHALA LETTER DANTAJA SAYANNA
0x0DC43524SINHALA LETTER HAYANNA
0x0DC53525SINHALA LETTER MUURDHAJA LAYANNA
0x0DC63526SINHALA LETTER FAYANNA
0x0DCA3530SINHALA SIGN AL-LAKUNA
0x0DCF3535SINHALA VOWEL SIGN AELA-PILLA
0x0DD03536SINHALA VOWEL SIGN KETTI AEDA-PILLA
0x0DD13537SINHALA VOWEL SIGN DIGA AEDA-PILLA
0x0DD23538SINHALA VOWEL SIGN KETTI IS-PILLA
0x0DD33539SINHALA VOWEL SIGN DIGA IS-PILLA
0x0DD43540SINHALA VOWEL SIGN KETTI PAA-PILLA
0x0DD63542SINHALA VOWEL SIGN DIGA PAA-PILLA
0x0DD83544SINHALA VOWEL SIGN GAETTA-PILLA
0x0DD93545SINHALA VOWEL SIGN KOMBUVA
0x0DDA3546SINHALA VOWEL SIGN DIGA KOMBUVA
0x0DDB3547SINHALA VOWEL SIGN KOMBU DEKA
0x0DDC3548SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
0x0DDD3549SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
0x0DDE3550SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
0x0DDF3551SINHALA VOWEL SIGN GAYANUKITTA
0x0DF23570SINHALA VOWEL SIGN DIGA GAETTA-PILLA
0x0DF33571SINHALA VOWEL SIGN DIGA GAYANUKITTA
0x0DF43572SINHALA PUNCTUATION KUNDDALIYA



Java Native Interface-JNI Helloworld






මන් කියලා දෙන්න යන්නේ කොහොමද ජාවා ,සී ප්ලස්‌ භාෂා වලින් Application එකක් හදාගන්නේ කොහොමද කියලා ...


මේක කරන්න අවශ්‍ය වෙන්නේ මෙන්න මේවා ටික විතරයි .


java and c/c++ Application සම්බන්දව මුලික දැනුමක්..
JDK 7 , නැති කට්ටිය මෙතනින් ගන්න .
Dev-Cpp නැති කට්ටිය මෙතනින් ගන්න .
Netbeans IDE ,නැති කට්ටිය මෙතන්න ගිහින් ඩවුන්ලෝඩ් කරගන්න .


දැන් අපි JNI (java native interface) සම්බන්දව කතා කරමු.ඔබ ජාවා පිළිබද උනන්දුවක් දක්වන්නේ නම් ,ජාවා භාෂාව භාවිතා කර නිර්මාණ කරන්නේ නම් ඔබට එහි භාවිතයන් ප්‍රමාණවත් මදි බව ඔබට වැටහෙන බව ඔබ දන්නා කරුණකි.උදාහරණයක් වශයෙන් පරිගණකයේ තොටුපල (Ports ) භාවිතා කර වාහනයක් පාලනය කිරීම.මෙවන් අවසථා සදහා ඔබට වෙනත් භාෂාවක් සමග කටයුතු කරන්නට ඔබට සිදු වේ.(මිට හේතුව වන්නේ මා සිතනා ආකාරයට එහි පවතින cross platform capability එක පවත්වා ගෙන යාම සදහායි.).කෙසේ වෙතත් මෙවන් කටයතු සදහා JNI හදුන්වා දී තිබෙනවා.

ක්‍රමලේකන කිරීම ආරම්භ කිරීමට ප්‍රථම ඉහතින් අප බා ගත් JDK හා Dev-cpp දෙක install කල යුතු වෙනවා.මේ සදහා බා ගත කල ස්ථානයේ එම නමින් පවතින .exe ගොනු මත දෙවරක් එබීමෙන් එය පරිගණකයට ඇතුලත් කල හැක.අනතුරුව පහත සදහන් ආකාරයේ ස්ථානයන් දෙක පරිගණකයේ Path විචල්‍යයට ඇතුලත් කල යුතු වනවා.


C:\Program Files\Java\jdk1.6.0_16\bin;
C\Dev-Cpp\bin;
දැන් පහත වැඩසටහන දෙස බලන්න.එය ටයිප් කරගන්න.අනතුරුව එය Compile කර ගන්න.

public class HelloWorld {
public native void Hello();
static {
System.load("C:/jana/HelloWorld.dll");
System.out.println("Loaded");
}
public static void main(String[] args) {
new HelloWorld().Hello();
}
}





Dos භාවිතා කරන්නේ නම්  javac Helloworld.java මගින් එය සිදු කර ගත.Compile කර ගත් පසු ඔබට HelloWorld.class file එකක් දැක ගත හැක.අනතුරුව පහත සදහන් විදානය ලබා දෙන්න.









එවිට ඔබට මෙය  HelloWorld.h file එක ලැබේ.
.





දැන් අලුත් C++ වැඩසටහන පහත ආකාරයට සකස් කරගන්න

HelloWorld.c
#include
#include
#include "HelloWorld.h"

JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("HelloWorld...!\n");
return 0;
}

 .o file එකක් සදා ඇනීමට පහත විදානය දෙන්න.


gcc -c -I"include" -I"\include\win32" -o HelloWorld.o HelloWorld.c


ex:- gcc -c -I"C:\Program Files\Java\jdk1.6.0_16\include" -I"C:\Program Files\Java\jdk1.6.0_16\include\win32" -o HelloWorld.o HelloWorld.c


.o file එක සාදා ගත් පසු අපට def file අවශ්‍ය වේ.එය පහත පරිදි සකස් කර ගන්න.
(rename its extention to .def)


EXPORTS
Java_HelloWorld_Hello


දැන් අවශ්‍ය කරන සියල්ල සදා ගෙන අවසානය .දන ඔබට .dll file එක සදා ගැනීමට හැකි වේ.ඒ සදහා පහත විදානය භාවුතා කරන්න.


gcc -shared -o HelloWorld.dll HelloWorld.o HelloWorld.def

java HelloWorld විදානය භාවිතා කිරීමෙන් ඔබ දැන් සාදා ගත් පරිගණක වැඩටහන ධාවනය කර ගත හැකි වනු ඇත.එවිට ඔබට පහත දැක්වෙන පරිදි Window එකක් ලැබෙනු ඇත.

















END.

Java-File deletion & openning a file











ජාවා වලින් ෆයිල් එකක් ඩිලීට් කරන්නේ මෙහෙමයි

import java.io.*;
public class DeleteFile { 

 public static void main(String[] args) {
 File newfile = new File("c:\\test.txt"); 
 newfile.delete(); 
 }
}


 
exe ෆයිල් එකක් ජාවා වලින් ඕපන් කරන්නේ කොහොමද ?


public class exeරunner {
public static void main(String[] args) {
try {
Runtime.getRuntime().exec("FileName.exe");
} catch (Exception e) {
e.printStackTrace();
}
}
}

ෆයිල් නේම් එක වෙනුවට වෙන නමක් පාවිච්චි කරනවානම් .exe ෆයිල් එකට අදාළ සම්පුර්ණ ලිපිනය(path) ඇතුලත් කරන්න ඕනේ..සමහර Games exe ( ex :need for speed ) මේ ක්‍රමයට සහය දක්වන්නේ නෑ.නමුත් ගොඩක් Software මේ විදියට වැඩ කරනවා .


මේ විදියට තමා ක්‍රියාවලිය අවසාන කරන්න වෙන්නේ ......

Process pp = Runtime.getRuntime().exec("calc.exe");
pp.destroy();



ලිපිය කියවපු ඔයාලට බොහොම ස්තුතියි. ....



 
Copyright © ~~~MyMiniProWorld~~~ මුදිත ධර්මසේන