Tuesday, March 22, 2011

පරිගණක මෘදුකාංග


වින්ඩෝස් මෙහෙයුම් පද්ධතිය මත ධාවනය වන සිංහල වදන් සකසන මෘදුකාංගයක්,(සිංග්ලිශ්).
පරිගණක මෘදුකාංග (Computer Software) යනු පරිගනකයක් භාවිතා කර යම් කටයුත්තක් කර ගැනීමට ඇති පරිගනක වැඩසටහන් (Programs), ඒ සම්බන්ධ උපදෙස්, ලේඛන, ක්‍රියාවලි එකක් හෝ කිහිපයක එකතුවකි.
පරිගනක වදන් සකසන මෘදුකාංග වැනි යෙදුම් මෘදුකාංග (Application Software) මෙන්ම මෙහෙයුම් පද්ධති(Operation System) වැනි පද්ධති මෘදුකාංගද (System Software) මීට අයත් වේ. තවද සේවා පද්ධති (Servers), විසිරි පද්ධති (Distributed Computers) වල ක්‍රියාකාරීත්වයටද මෘදුකාංග අවශ්‍ය වේ.
දෘඩාංග හා මෘදුකාංග
දෘඩාංග (Hardware) යනු පරිගනකයක ඇති භෞතික වස්තූන්ය. ඊට සාපේක්ශව මෘදුකාංග යනු භෞතිකව ස්පර්ශ කල නොහැකි දෙයකි. එමෙන්ම අපට මෘදුකාංගයක් ක්‍රියා කරවිය හැක්කේ දෘඩාංගයක් මතය, (මෘදුකාංගයක් අපට ගෝචර වන්නේ දෘඩාංග වල ක්‍රියාකාරීත්වය මතය). එනම් දෘඩාංග ක්‍රියා කරනුයේ එය මත ක්‍රියා කරන මෘදුකාංගය අනුවය. මෘදුකාංගයක් යනු එය ක්‍රියාත්මක වන දෘඩාංගය සඳහා දෙන ලද උපදෙස් මාලාවකි. මෙසේ දෘඩාංග වල ක්‍රියාකාරීත්වය පාලනය කිරීම සඳහාම නිපදවන ලද මෘදුකාංග පද්ධති මෘදුකාංග හෝ මෙහෙයුම් පද්ධති ලෙසද හැඳින්වේ.
මෘදුකාංගයක් පරිගනකයේ ප්‍රධාන මතකය (Main Memory) මතට ප්‍රවේශ වී එහි ඇති උපදෙස් මාලාව (Instruction set) එකින් එක පිලිවෙලට (Sequence)ප්‍රධාන සැකසුම් ඒකකයට (central processing unit) ලබා දෙයි. මෘදුකාංගයක් එහි සූක්ශමතම මට්ටමේදී පවතින්නේ ද්වීමය (Binary) සංඥා මාලාවක් වශයෙනි. මේවා යන්ත්‍ර භාෂාවෙන් (Machine Language) ඇති උපදෙස් ය. ප්‍රධාන සැකසුම් ඒකකය එම උපදෙස් වලට අනුව පරිගනකයේ දෘඩාංග වලට විද්‍යුත් සංඥා නිකුත් කරයි. ඒ අනුව ක්‍රියාකාරීත්වය සිදු වේ.

දත්ත හා මෘදුකාංග
මෘදුකාංග තනන්නේ මිනිසුන් ගේ ජීවත් වන ලෝකයේ පවතින ගැටලු වලට විසඳුම් සෙවීමටය. විසඳුම් සෙවීමටනම් ගැටලුව පිලිබඳ තොරතුරු හා දත්ත අවශ්‍ය වේ. පරිගනකයකට ඇතුලත් කරන ලද දත්ත ගබඩා කර තබාගැනීමට, සැකසීමට, ගනනය කිරීමට, සන්නිවේදනය කිරීමට සහ එය නැවත ලබා දීමට එයට හැකිය. මේ ක්‍රියාවලිය ප්‍රධාන වශයෙන් ම පාලනය කරනු ලබන්නේ මෘදුකාංග මගිනි.
මෙසේ ප්‍රධාන මතකයට ඇතුල් කරන දත්ත හා තොරතුරු, පරිගනකයේ විදුලිය විසන්ධි කිරීමෙන් පසු මතකයෙන් ඉවත් වේ. නමුත් එම තොරතුරු ද්වීතියික මතකය (ස්ථීර මතකය) මත ගබඩා කිරීමෙන් එකම දත්ත නැවත නැවත ඇතුල් කිරීමට සිදු නොවේ.
පරිගනක සම්බන්ධ පලමු නීතිය වන GIGO (Garbage In Garbage Out) යන්නද, දත්ත හා සබැඳි අදහසකි. එයට අනුව වැරදි දත්ත ඇතුල් කිරීමෙන් ලැබෙන්නේ වැරදි ප්‍රතිදානය. නිවැරදි ප්‍රතිදානය ලබාගැනීමට නිවැරදි දත්ත ලබා දිය යුතුය.
පරිගනක ආශ්‍රිත පද්ධතියකින් නියම ප්‍රයෝජන ගැනීමටනම් එහි ඇති දත්ත...
§  නිවැරදි විය යුතුය, (Accurate).
§  යාවත්කාල විය යුතුය, (Up to date).
§  සම්පූර්ණ විය යුතුය, (Complete).
§  පරස්පර විරෝධී නොවිය යුතුය, (Consistant).

Validation
පරිගනකයක වැඩසටහනකට දත්ත ඇතුල් කිරීමේදී එම දත්ත වල නිවැරදි භාවය තහවුරු කිරීමට validation (නිවැරදිබව තහවුරු කිරීම) භාවිතා කරයි. මෙහිදී සිදු වන්නේ එම දත්ත දී ඇති රටාවක් (pattern), (regular expression) හෝ අර්ථදැක්වීමකට (definition) අනුගතදැයි පරීක්‍ෂා කර බැලීමයි. මෙමගින් වැරදි දත්ත ඇතුල් කිරීමේදීම වලක්වාගත හැක. නමුත් validation නීතියක් සමත් වීම එම දත්තය නිවැරදි බව මුලුමනින්ම සනාථ නොකරයි. ඉන් අදහස් වන්නේ එම දත්තය වැරදි වීමට ඇති විෂාල ඉඩකඩක් (සම්භාවිතාවක්) අඩු බවයි. එනම් validation අසමත් වූ දත්තයක් මුලුමනින්ම නිශ්ප්‍රයෝජන බවය.

පද්ධති වැඩසටහන්කරනය සහ යෙදුම් මෘදුකාංග
මෙහෙයුම් පද්ධතියක් යනු ප්‍රධාන වශයෙන් ම පරිගනකයේ ඇති දෘඩාංග, මතකය හා සැකසුම් කාල අවකාශය පාලනය කරන වැඩසටහනකි. මීට අමතරව පරිගනකය මත ක්‍රියා කරන යෙදුම් මෘදුකාංග සඳහා වේදිකාවක් ලෙස ක්‍රියා කිරීමද ඉතා වැදගත් අංගයකි.
http://upload.wikimedia.org/wikipedia/si/thumb/2/2f/WinCmdDebug.PNG/220px-WinCmdDebug.PNG
http://bits.wikimedia.org/skins-1.17/common/images/magnify-clip.png
පරිගනකයේ ප්‍රධාන මතකයේ ඇති ද්වීමය උපදෙස් මාලා සහ දත්ත, (debug විධානය මගින් බලා ගැනීම).
පද්ධති මෘදුකාංගයක් මගින් කෙලින්ම පරිගනකයේ දෘඩාංග ක්‍රියා කරවන අතර යෙදුම් මෘදුකාංගයක් ක්‍රියා කරන්නේ මෙහෙයුම් පද්ධතිය මතය. එනම් යෙදුම් මෘදුකාංගයක් පරිගනක පද්ධතියට බලපෑම් කරන්නේ මෙහෙයුම් පද්ධතිය හරහාය. යෙදුම් මෘදුකාංගයේ ඇති යාන්ත්‍රික උපදෙස් මාලාව මෙහෙයුම් පද්ධතිය මගින් යන්ත්‍ර භාෂාවට පරිවර්තනය කර දෘඩාංග ප්‍රධාන සැකසුම් ඒකකයට ලබා දෙයි.
මෙහිදී ඇතිවන ප්‍රධානතම ගැටලුවක් වන්නේ යෙදුම් මෘදුකාංගය මෙහෙයුම් පද්ධතියේ ස්වභාවය මතට සීමා වීමයි. එනම් එක් මෙහෙයුම් පද්ධතියක් සඳහා නිර්මානය කරන ලද යෙදුම් මෘදුකාංගයක් වෙනත් මෙහෙයුම් පද්ධතියක් මත ක්‍රියා නොකිරීමයි.

Virtual Machine
මෙයට විසඳුමක් වශයෙන් Virtual Machine යන සංකල්පය බිහි විය. එහිදී සිදු වන්නේ යෙදුම් මෘදුකාංගය එක් මෙහෙයුම් පද්ධතියකට සීමා නොවන ලෙස තනා, එය ක්‍රියා කිරීම සඳහා නොයෙක් මෙහෙයුම් පද්ධති සඳහා වෙන වෙනම වේදිකා තැනීමයි. එවිට වෙනස් මෙහෙයුම් පද්ධති මත එකම යෙදුම් මෘදුකාංගයට ධාවනය විය හැක.
මෙහි තවත් ප්‍රධාන වාසියක් වන්නේ යෙදුම් මෘදුකාංග වැඩසටහන්කරනය පහසු වීමයි. එනම් Virtual Machine තුලම බොහෝ වැඩසටහන් සඳහා අවශ්‍ය වන පොදු libraries අන්තර්ගත වීමයි.
.net platform 
.net වේදිකාව (Platform) යනු මයිකෙ‍්‍රාසොෆ්ට් සමාගම විසින් .net භාවිතා කර තනන ලද මෘදුකාංග ධාවනය සඳහා නිපදවා ඇති මෘදුකාංග වේදිකාවයි.
මෙහි ප්‍රධාන කර්තව්‍ය වන්නේ .net Intermediate Languge (අතරමැදි භාෂාව) ඇති වැඩසටහනක් පරිගනකයේ මෙහෙයුම් පද්ධතියේ විධාන වලට පරිවර්තනය කිරීමයි.
JVM (Java Virtual Machine) 
JVM යනු Sun Microsystems සමාගම විසින් ඔවුන්ගේ ජාවා (Java) පරිගනක භාෂාව සඳහා නිපදවා ඇති වේදිකාවයි. මෙහි ප්‍රධාන කර්තව්‍ය වන්නේ Java Bytecode ගොනුවක් ඒ ඒ මෙහෙයුම් පද්ධතියේ විධාන වලට පරිවර්තනය කිරීමයි.
Mono 
Mono යනු විවෘත මෘදුකාංග ව්යාපෘතියකි. මෙහි අරමුන වන්නේ මයිකෙ‍්‍රාසොෆ්ට් .net, Python මෙන්ම Sun Java වැඩසටහන් ධාවනය කල හැකි Windows, Linux, UNIX, Mac-OS.X මෙන්ම Sun Solaris මතද ක්‍රියා කල හැකි පොදු වේදිකාවක් තැනීමයි.
MSVBVM 
Microsoft Visual Basic Virtual Machine යනු විශුවල් බේසික් (Visual Basic) 5.0 සහ 6.0 භාවිතා කර තැනූ වැඩසටහන් ධාවනය කිරීම සඳහා වින්ඩෝස් මෙහෙයුම් පද්ධතියට එකතු කල හැකි කුඩා DLL ගොනුවකි.
මෘදුකාංග වැඩසටහන් සහ library
library යනු පරිගනක වැඩසටහනක් හෝ කිහිපයක් තවත් වැඩසටහනක් එහි ක්‍රියාකාරීත්වයට දායක කරගැනීමයි. මෙහි ඇති විශේෂත්වය වන්නේ මෙම lybraryය එක් පුද්ගලයෙකු විසින් ලියා ඇති විට වෙනත් අයෙකුට එය තමාගේ වැඩසටහනකට බද්ධ කරගත හැකි වීමයි. එම නිසා library භාවිතය, පරිගනක වැඩසටහන්කරනය පහසු කරයි, එකම කාර්යය සඳහා නැවත නැවත එකම කේත කොටස ලිවීම වලකා කාලයත් ශ්‍රමයත් ඉතිරි කරයි.

No comments:

Post a Comment