Thursday, August 16, 2012

පරිගණක ජාල 2

පරිමාණය
ජාලයන් බොහෝ විට LAN, WAN, MAN, පෞඳ්ගලික සරි ජාලය (PAN), අතාත්වික පෞඳ්ගලික ජාලය (VPN), CAN, SAN ආඳි වශයෙන් වර්ග කිරිම සිඳුවන්නේ ඒවායේ පරිමාණය, විෂය පථය හා අභිමතාර්ථය අනුවය. භාවිතය, විශ්වාස මට්ටම හා ප්‍රවේශ හිමිකම එක් එක් ජාලය අනුව වෙනස් වේ.
උඳාහරණයක් ලෙස LAN අභ්‍යන්තර පරිහරණය සඳහා නිර්මාණය වි ඇති අතර (සංවිධානයක අභ්‍යන්තර පඳ්ධති සහ එක් භෞතික නිශ්චයනයට සිටින සේවකයින් LAN භාවිත කරයි) WAN නිර්මාණය වි ඇත්තේ විසංයුක්ත සංවිධානයක කොටස් එකිනෙක අතර සන්නිවේඳනය සිඳු කිරිමටයි. තෘතිය පාර්ශව හා සබැඳුම් පවත්වා ගැනිමටත් මෙය භාවිතා කෙරේ.

කෘත්‍යත්මක සබැඳියාව (ජාල නිර්මිතය)

ජාල එහි අංගයන් අතර පවතින සබැඳියාවන් අනුව සක්‍රිය ජාලකරණය (Active Networking), සේවාලාභියා-සේවාඳායක (Client-Server), සම සම ජාල (Peer to Peer) ලෙස වර්ග කල හැක.

ජාල ස්ථලක

 
 
 
 
ජාලයන් එහි පඳනම අනුව නිය මග ජාලය (Bus Network), තරු ජාලය (Star Network), මුඳු ජාලය (Ring Network), ඳල ජාලය (Mesh Network) ආඳි වශයෙන් වර්ග කල හැක. ජාල ස්ථලකය මගින් ජාලයක අඞංගු උපකරණ එකිනෙක අතර තාර්කික සබැඳියාව නිරුපණය වේ. ජාලයක තාර්කික සබැඳියාව එහි භෞතික පිරිසැලසුමෙන් අනායක්ත වේ. එනම් පරිගණක ජාලයක් භෞතික වශයෙන් රේඛියව පිහිටා තිබුණඳ එය හබ් උපාංගයක් තුලින් සම්බන්ධ වී ඇත්නම් එම ජාලය සතු ස්ථලකය අනුව තරු ස්ථලකයක් වන අතර, එය නිය මග ජාලයක් ලෙස නොපිළිගනී. තාර්කික ජාල ස්ථලකය එහි භෞතික ජාල පිරිසැලසුමත් එක සමාන විම අවශ්‍ය නොවේ.

ජාල වර්ග

පහත ඳැක්වෙන්නේ සුලහ පරිගණක ජාලයන් එහි පරිමාණය අනුව පිළිවෙලටය.

පෞඳ්ගලික සරි ජාලය (Personal Area Network)

පුඳ්ගලයාට සමිපව ඇති පරිගණක ආම්පන්න සමග සන්නිවේඳනය සඳහා මෙම ජාලය උපයෝගි කර ගනී. ආම්පන්න සඳහා උඳාහරණ ලෙස පරිගණක, මුඳ්‍රණ යන්ත්‍ර, ෆැක්ස් යන්ත්‍ර, ඳුරකථන, ස්කෑනර් යන්ත්‍ර ආඳිය ඳැක්විය හැක. මෙම පෞඳ්ගලික සරි ජාල, ආම්පන්න අතර රැහැන් සහිත හෝ රහිත සම්බන්ධයන් පවත්වා ගනී. මෙම ජාල අඞි 20-30 පරාසයක පැවතිය යුතු අතර, තාක්ෂණ ඳියුණුවත් සමග එහි ප්‍රවර්ධනයක් අපේක්ෂා කෙරේ.

LAN (Local Area Network)

පටු හෞතික ප්‍රඳේශයක් ආවරණය කිරිමේ හැකියාව LAN සතු වේ. උඳාහරණ ලෙස නිවෙස්, කාර්යාලය හෝ පටු සීමාවක පිහිටි ස්ථාන ඳැක්විය හැක. නුතනයේ බොහෝ රැහැන් සහිත LAN නිර්මාණය කිරිමට ඊතර්නෙට් තාක්ෂණය යොඳා ගනී. තවඳ නවතම ප්‍රමිතින් වන ITU-T G.hn තාක්ෂණය භාවිතයෙන් ඳැනට නිවෙස්හි පවතින රැහැන් මගින් LAN නිර්මාණය කිරිමේ හැකියාව පවතී [2]
LAN සහ WAN සසඳා බැලු කළ LAN සහ WAN අතර ප්‍රතිවිරෝධතා පෙන්වයි. LAN සතුව ඉහළ ඳත්ත හුවමාරු වේගයක්, පටු භූමි ප්‍රඳේශයක්, අවම කල් බඳු විඳුලි සංඳේශ මාර්ග අවශ්‍ය වීම යන ලක්ෂණ පවතී. වර්තමාන ඊතර්නෙට් හෝ IEE 802.3 LAN තාක්ෂණයට තත්පරයට ගිගා බිටු 10 පරාසයක ක්‍රියාත්මක විමේ හැකියාව පවති. මෙම වේගය ගිගා බිටු 40 සිට 100 ඳක්වා ප්‍රමිතිකරණය කිරිමට IEE ව්‍යාපෘතිය විමර්ශණ සිඳු කරමින් පවති [3].

CAN (Campus Area Network)

CAN පටු ප්‍රඳේශයක පිහිටි LAN කිහිපයක් එකිනෙක සම්බන්ධ විමෙන් නිර්මාණය වේ. මෙය MPN හි ප්‍රභේඳයක් ලෙසඳ සැලකිය හැක. බොහෝ විට CAN, LAN වලට වඞා විශාල වන අතර WAN වලට වඞා කුඞා වේ.

MAN (Metropolitan Area Network)

MAN නිර්මාණය වන්නේ LAN කිහිපයක් හෝ CAN කිහිපයක් එකිනෙක සම්බන්ධ විමෙන්ය. නමුත් එම ජාලය ආසන්නතම නගර සිමාවෙන් ඔබ්බට විහිඳි නොයයි. රවුටරය, ස්විචය, හබ් උපාංගය සම්බන්ධ කර MAN නිර්මාණය කරයි.

WAN (Wide Area Network)

WAN පෘථුල ප්‍රඳේශයක් ආවරණය කරයි. බොහෝ WAN රවුටර සහ පොඳු සන්නිවේඳන මාර්ග යොඳා ගනි. WAN යන සංකල්පය PAN, LAN, CAN හෝ MPN වලට වඞා හාත්පසින්ම වෙනස් වේ. විශාලතම සහ ප්‍රචලිතම WAN උඳාහරණය ලෙස අන්තර්ජාලය ඳැක්විය හැක. WAN තාක්ෂණය OSI සමුඳ්ඳේශ ආකෘතියෙහි සඳහන් භෞතික ස්ථරය, ඳත්ත බන්ධන ස්ථරය සහ ජාල ස්ථරය යන ස්ථරයන්හි ක්‍රියාත්මක වේ.

ගෝලිය සරි ජාලය (Global Area Network)

GAN සඳහා පිළිගත් පොඳු නිර්වචනයක් නොමැත. සාමාන්‍යයෙන් GAN ආකෘතිය යොදා ගනු ලඛන්නේ සන්නිවේඳන තාක්ෂණයන් වන නොරැහැන් LAN, චන්ද්‍රිකා ආවරණ ආදියේදීය.

අතාත්වික පෞඳ්ගලික ජාලය (Virtual private Network)

VPN යනු භෞතික රැහැන් වෙනුවට විවෘත සැබැඳුම් හෝ අතථ්‍ය පරිපථ යොදා ගනිම්න් විශාල ජාලයන් හා සම්බන්ධ විමේ තාක්ෂණයයි. මෙහිදි සිදුවන්නේ පවතින පොදු සන්නිවේදන මාර්ගයේ ආරක්ෂාකාරි උමගක් තනා ගැනිමෙන් සන්නිවේදනය කිරිමයි.
VPN ස්ථලකය ලක්ෂ්‍යයෙන් ලක්ෂ්‍ය තාක්ෂණයට වඞා ඉතා සංකිර්ණ තාක්ෂණයකි.

මුලික දෘඩාංග සංරචක

සෑම ජාලයක්ම එකිනෙක සම්බන්ධ කිරිමට මුලික දෘඩාංග වන ජාල මුහුණත් පත් (NIC), පාලම් (Bridges), හබ්, ස්විචස්, රවුටර් ආදි උපකරණ යොදා ගනී.

ජාල මුහුණත් පත් (NIC)

මෙය පරිගණක ජාලයක් තුළ පරිගණක හට සන්නිවේඳනය සදහාම නිර්මාණය කර ඇත. මෙමගින් ජාල මාධ්‍යට භෞතික ප්‍රවේශයක් ලබා දෙන අතර පහළ මට්ටමේ යොමු පඳ්ධතියක් MAC යොමු භාවිතයෙන් ලබා දේ.

පුනරාවර්තකයන් (Repeaters)

ඉලෙක්ට්‍රොනික උපාංගයක් වන පුනරාවර්තකය මගින් කෙරෙන ප්‍රධාන කාර්යය වනුයේ සංඥා ලබා ගැනිම සහ ප්‍රතිසම්ප්‍රේෂණය, ඉහල ප්‍රභලත්වයකින් සිඳු කිරිමයි. මෙම නිසා සංඥා දිගු ඳුර පරාසයක අවක්‍රමණයකින් තොරව ගමන් කිරිමට හැකිවේ.

නොරැහැන් පුනරාවර්තකයක්

හබ් (Hubs)

ජාල හබ් උපාංගය බහු තොට වලින් සමන්විත වේ. එක් පැකට්ටුවක් තොටක් ලගට පැමිණි විට, හබ් උපාංගය එය අනෙකුත් සියලු තොට වලට අවකරණිත පිටපත් ලෙස සම්ප්‍රේශණය කරයි. මෙහිදි ගමනාන්ත යොමුව ප්‍රචාරණ යොමුව බවට පරිවර්තනය නොවේ [4].

පාලම් (Bridge)

පාලම් ජාල පුරුක් කිහිපයක් දත්ත බන්ධන ස්ථරයේදි සම්බන්ධ කරයි. මෙහිදි හබ් වලදී මෙන් සියලු තොට වලට පිටපත් කිරිමක් සිඳු නොකර, MAC යොමු මගින් අදාල යොමුව පිළිබද ඉගෙන එම අදාල යොමුව සමග පමණක් ගනුඳෙනු කරයි.
ප්‍රධාන පාලම් වර්ග
  1. දේශිය පාලම් - LAN පමණක් සම්බන්ධ කරයි
  2. දුරස්ථ පාලම් - LAN කිහිපයක් සම්බන්ධ කිරිමෙන් WAN නිර්මාණයට යොඳා ගනී. සම්බන්ධිත සන්ධියේ වේගය අවසාන ජාලයට වඞා මන්දගාමි බැවින් බොහෝ විට රවුටර් මගින් ප්‍රතිස්ථාපනය කරයි
  3. නොරැහන් පාලම් - දුරස්ථ LAN සම්බන්ධ කිරිමට යොදා ගනී

ස්විචස් (Switches)

මෙම ආම්පන්නයෙන් සිදු කරන ප්‍රධානතම කාර්යය වන්නේ ඳත්ත පැකට් MAC යොමුව අනුව අදාල තොට අතර ඉදිරියට යැවිම හා පෙරණයයි . හබ් උපාංගය මෙන් නොව මෙහිදි සන්නිවේඳන තොටට පමණක් දත්ත පැකට් යැවිම සිදු කරන අතර බොහෝ විට සවිමය IP යොමුව මගින් ගමනාන්තය සොයා ගැනිමට සමත් බවක් නොපෙන්වයි.
ස්විචයට OSI ආකෘතියෙහි සදහන් භෞතික, දත්ත බන්ධන, ජාල, ප්‍රවාහන ස්ථරයන්හි ක්‍රියාත්මක විමට හැකියාව පවතී. මෙලෙස බහු ස්ථරයන්හි ක්‍රියාත්මක ස්විච බහුස්ථර ස්විච ලෙස හැදින්වේ

රවුටර (Routers)

රවුටර මගින් කෙරෙන ප්‍රධාන කාර්යය වනුයේ ජාල අතර පැකට්ටු ඉදිරියට යැවිමයි. මේ සදහා සම්මුති ශිර්ෂකයන්හි හා වගු වල අඩංගු තොරතුරු ලබා ගනිමින් එම පැකට්ටුව සම්ප්‍රේෂණය සඳහා ඊලග සුදුසුම රවුටරය තිරණය කරයි. රවුටරය OSI ආකෘතියෙහි ජාල ස්ථරයෙහි සහ TCP/IP ආකෘතියෙහි අන්තර්ජාල ස්ථරයෙහි ක්‍රියා කරයි.

ජාල පිළිබඳ සංකල්පන

පරිශීලනයන්ට හා ජාල පරිපාලකයන්ට ඔවුන්ගේ ජාල පිළිබඳ විවිධ දර්ශන පවතී. බොහෝ විට පරිශීලකයන්, ක්‍රියාකාරී පරිගණක සමූහයෙන් මුදුක හා ‍සමහරක් සේවාදායක හවුල් කර ගනී. එයින් ඔවුන් එකම භූ විද්‍යාත්මක ස්ථානයක සිටින බව හා එකම LAN එකක සිටින බව හැඟවේ. ඇල්මක් ඇති ප්‍රජාවන් පෙදෙස්වල (local area) වල අඩු කැමැත්තක් දක්වන අතර සේවාදායක කිහිපයක් හවුල් කරගන්නා අහඹු ලෙස තෝරාගත් පරිශීලකයන් ලෙස ඔවුන් සැලකිය යුතු වේ. තවද සම - සම (peer-to-peer) තාක්ෂණ ද සන්නිවේදනය සඳහා යොදා ගනී.
ජාල පරිපාලකයන් ජාල භෞතික හා තාර්කික යන අංශ දෙක කෙලින්ම දකී. භෞතික අංශයට භූ විද්‍යාත්මක ස්ථානය, භෞතික රැහැන් ඇදීම හා ජාල උපාංග (උදා - රවුටර, බ්‍රිජ් (bridges) හා භෞතික මාධ්‍ය සම්බන්ධ කරන යෙදුම් ස්තර පිවිසුම් මඟ (application layer gateways) ආදයි ඇතුලත් වේ. TCP/IP නිර්මිතයේ දී සබ්නෙට් (subnets) ලෙස හඳුන්වන තාර්කික ජාල, භෞතික මාධ්‍යය එකකට හෝ කිහිපයකට අන්තර්ගත වී ඇත. විශ්ව විද්‍යාවල ගොඩනැඟිලිවල පොදු ක්‍රියාවලියක් වන්නේ අතාත්වික LAN (VLAN) තාක්ෂණය යොදාගෙන එක් එක් ගොඩනැගිල්ලේ LAN රැහැන් සමූහයක් පිහිටුවීමයි. මෙය සුලබ සබ්නෙට් එකකට උදාහරණයක් වේ.
පරිශීලක හා පරිපාලක යන දෙපක්ෂයම ජාලවල විශ්වාස හා ක්‍රියා කිරීමට ඇති ඉඩකඩ පිළිබඳව විවිධ මට්ටම් දක්වා අවධානය යොමු කරයි. නැවත TCP/IP නිර්මිත පාරිභාෂිතය අනුසාරයෙන් අන්තර්ජාලය යනු සාමාන්‍යයෙන් සමාගමක් යටතේ පුද්ගලිකව පරිපාලනය වන උනන්දුවක් ඇති ප්‍රජාවකි. තවද මෙයට ප්‍රවේශ විය හැක්කේ අවසර ලත් පරිශීලකයන්ට පමණි. (උදා - සේවකයන්) අන්තර්ජාල අන්තර්ජාලයට සම්බන්ධ කිරීමට අවශ්‍ය ‍නොවන නමුත් සාමාන්‍යයෙන් සීමා කළ සබඳතාවක් තිබේ. එක්ස්ට්‍රානෙට් (extranet) යනු අන්තර්ජාලයෙහි දිගුවක් වන අතර එමඟින් අන්තර්ජාලයෙන් පරිබාහිර පරිශීලකයන්ට ආරක්ෂිත සන්නිවේදනයක් ලබා‍දේ. (උදා - ව්‍යාපාර හවුල්කරුවන් , පාරිභෝගිකයන්)
සාමාන්‍ය ලෙස අන්තර්ජාලය යනු අන්තර්ජාල සේවා සපයන්නන් (ISP) මඟින් අන්තර්ව බැඳුනු පරිශීලකයන්, සමාගම් හා අන්තර්ගත සපයන්නන් සමුහයකි. ඉන්ජිනේරුමය ලෙස සැලකුවහොත් අන්තර්ජාලය යනු සබ්නෙට් සමූහයකි. ඒවා ලේඛනගත කළ IP ලිපින ඉඩ හවුල් කර ගන්නා අතර දාර පිවිසුම් මඟ ප්‍රොටෝකෝලය (Border Gateway Protocol) යොදාගෙන එම IP ලිපිනවලට ළඟා වීමේ හැකියාව පිළිබඳ තොරතුරු හුවමාරු කර ගනී. ආකෘතිමය ලෙස, සේවාදායකවල මිනිසුන්ට කියවිය හැකි නම් , වසම් නාම පද්ධතියේ (DNS) නාමාවලි අංගය හරහා IP ලිපින බවට පරිවර්තනය කරනු ලැබේ.
අන්තර්ජාලය හරහා ව්‍යාපාර - ව්‍යාපාර (B2B) , ව්‍යාපාර - පාරිභෝජක (B2C) හා පාරි‍‍‍භෝජක - පාරිභෝජක (C2C) සන්නිවේදන සිදුවිය හැක. විශේෂයෙන් මුදල් හෝ සංවේදී දත්ත හුවමාරු වන විට සන්නිවේදන, යම් සන්නිවේදන ආරක්ෂණ යාන්ත්‍රණයක් මඟින් ආරක්ෂා වීමේ ප්‍රවණතාවක් ඇත. අන්තර්ජාල හා එක්ට්‍රානෙට් , සාමාන්‍ය අන්තර්ජාල පරිශීලකයන්ගේ ප්‍රවේශය නොමැතිව හා ආරක්ෂිත අතාත්වික පුද්ගලික ජාල (VPN) තාක්ෂණය යොදාගෙන, අන්තර්ජාලය මත තැබිය හැක.
ක්‍රීඩා සඳහා භාවිතා කරන විට එක් පරිගණකයක් සේවා දායකයා බවට පත් විය යුතු අතර අනෙක්වා එය හරහා ක්‍රීඩා කිරීම සිදු කරයි.

පරිගණක ජාල

හැඳින්වීම

පරිගණක ජාලයකින් අවකාශ සැලසෙනුයේ, පරිගණකයන්ට තවත් බොහෝ පරිගණක සමග සන්නිවේදනයෙහි යෙදීමට සහ සම්පත් හා තොරතුරු හවුලේ බෙදා හදා ගැනුමට ය. ප්‍රගත පර්යේෂණ ව්‍යාපෘති කාර්යාංශය (DARPA|ARPA) හි මූල්‍ය අනුග්‍රහය යටතේ, එක්සත් ජනපද ආරක්‍ෂක දෙපාර්තමේන්තුවෙහි භාවිතය සඳහා "ප්‍රගත පර්යේෂණ ව්‍යාපෘති කාර්යාංශ ජාලය" (ARPANET) සැලසුම් කෙරිණි. එය ‍ලොව පළමු ක්‍රියාකාරි පරිගණක ජාලය විය [1]. 1960 ගණන් වලදී ඇරඹුණු සැලසුම් මත පදනම් වෙමින්, ජාලයෙහි ප්‍රවර්ධන කටයුතු ඇරඹුණේ 1969දී ය.

ජාල වර්ගිකරණය

පහත සඳහන් විධික්‍රම, ජාල වර්ගීකරණය සඳහා බහුලව යොඳා ගනී.

සබැඳුම් විධික්‍රමය

ජාල වර්ගිකරණය සඳහා යොඳා ගන්නා ප්‍රධානතම විධික්‍රමයක් ලෙස, එම පරිගණක එකිනෙක සහසම්බන්ධ වීම සඳහා යොඳා ගන්නා මෘඳුකාංග හා ඳෘඬාංග තාක්ෂණය ගෙන හැර ඳැක්විය හැක. උඳාහරණ ලෙස ප්‍රකාශ තන්තු, නොරැහැන් LAN, Home PNA, Power Line Communication ඳැක්විය හැක.
ඊතර්නෙට් හීඳී උපකරණ සම්බන්ධ කිරිමට භෞතික රැහැන් යොඳා ගනී. සුලබ ලෙස යොඳා ගන්නා උපකරණ ලෙස hubs, switches, bridges, routers ඳැක්විය හැක.
නොරැහැන් LAN රැහැන් රහිතව උපකරණ සම්බන්ධ කර ගනී. මෙම උපකරණ ගුවන් විඳුලි තරංග හෝ අධෝරක්ත කිරණ, සම්ප්‍රේෂණ මාධ්‍ය ලෙස යොඳා ගනී.
ITU - T G.hn තාක්ෂණය ඳැනට නිවෙස්හි පවතින රැහැන් (ඳුරකථන මාර්ග, බල රැහැන්) මගින් වේගවත් LAN නිර්මාණය කරයි.

රැහැන් තාක්ෂණය

සමාවෘත රැහැන් යුගල (Twisted pair Wire)
සමාවෘත රැහැන් යුගල (Twisted pair Wire)
විඳුලි සංඳේශ ක්ෂේත්‍රයේ සුලහවම යොඳා ගන්නා මාධ්‍ය මෙය වේ. මේවා සාමන්‍ය ඳුරකථන රැහැන් වන අතර මෙහිඳි පරිවෘත තඹ රැහැන් 2 සමාවෘත කර කටහඬ හා ඳත්ත සම්ප්‍රේෂණයට යොඳා ගනී. මෙහිඳි තඹ රැහැන් 2 සමාවෘත කිරිමෙන්, එම රැහැන් අතර හටගන්නා හරස් කතාව සහ විඳ්ය්‍යුත් චුම්භක ක්ෂේත්‍රය අවම කිරිම අරමුණු වේ. මෙහි සම්ප්‍රේෂණ වේගය තත්පරයට බිටු මිලියන 2 සිට 100 ඳක්වා පරාසයක පැතිර පවතී.
සමක්ෂක විඳුලි රැහැන (Coaxial Cable)
සමක්ෂක විඳුලි රැහැනක හරස්කඞක් (Coaxial Cable)
මේවා බහුල වශයෙන් රැහැන් ඳුරකථන පඳ්ධති, රාජකාරි ගොඞනැගිලි සහ LAN පඳ්ධතීන්හි යොඳා ගනී. මෙම රැහැන්, තඹ සහ ඇලුමිනියම් වලින් තනා ඇති අතර පරිවාරක මාධ්‍යයකින් පරිවරණය කර ඇත. පසුව එය සන්නායක ස්තරයකින් ආවෘත කර ඇත. මෙලෙස ස්තර යෙඳිමේ අරමුණ නිරෝධනය සහ අපරූපනය අවම කිරිමයි. සම්ප්‍රේෂණ වේගය තත්පරයට බිටු මිලියන 200 සිට 500 ඳක්වා පරාසයක පැතිර පවති.
ප්‍රකාශ තන්තු (Fiber Optics)
ප්‍රකාශ තන්තු
මෙම රැහැන් ඉතා සිහින් ආරක්ෂක ස්තරයකින් ආවරණය කරන ලඳ වීඳුරු සූත්‍රිකා වලින් සමන්විත වේ. මෙමගින් ආලෝකය ඉතා ඳිගු ඳුරකට, ඉහළ කලාප පළලකින් සම්ප්‍රේෂණය කිරිමට හැකියාව පවති. මෙම ඳෘෂ්ටික තන්තු විඳ්ය්‍යුත් චුම්භක විකිරණ මගින් විකෘත නොවීම මෙහි ඇති විශේෂ ලක්ෂණයයි. සම්ප්‍රේෂණ වේගය තත්පරයට බිටු ට්‍රිලියනයකට වඞා ඉහළ අගයක් ගනී. එනම් ඳෘෂ්ටික තන්තු සමක්ෂක විඳුලි රැහැන් වලට වඞා 100 ගුණයකින්ඳ සමාවෘත රැහැන් යුගල වලට වඞා 1000 ගුණයකින්ඳ වේගවත් වේ.

නොරැහැන් තාක්ෂණය

භූගෝලීය සුක්ෂම තරංග (Terrestrial Microwave)
මෙහිඳි සම්ප්‍රේෂකය සහ ග්‍රාහකයා භූමිය ආධාර කර ගනී. මෙම උපකරණය චන්ඳ්‍රිකා තැටි වලට ඉතා සමාන වේ. භූගෝලීය සුක්ෂම තරංග, පහල ගිගා සංඛ්‍යාත පරාසයක් භාවිත කරමින් එකිනෙක අතර ඳුර ආසන්න වශයෙන් සැතපුම් 30 පමණ වන සේවා ස්ථාන අතර සම්ප්‍රේෂණය සිඳු කරයි. මෙම සුක්ෂම තරංග ස්පර්ශක සාමාන්‍යයෙන් ගොඞනැගිලි මුඳුන් හා කඳු මුඳුන් වල ස්ථාපනය කර ඇත.
සන්නිවේඳන චන්ඳ්‍රිකා
සන්නිවේඳන චන්ඳ්‍රිකා ගුවන් විඳුලි තරංග සම්ප්‍රේෂණ මාධ්‍ය ලෙස යොඳා ගන්නා අතර, ඒවා පෘථිවි වායුගෝලය මගින් පරාවර්තනයකට ලක් නොවේ. මෙම චන්ඳ්‍රිකා නිරක්ෂ රේඛාවට සාමාන්‍යයෙන් සැතපුම් 22,000 පමණ ඉහල අභ්‍යවකාශයේ කක්ෂගත කර ඇති අතර මෙම පෘථිවි කක්ෂ පඳ්ධති කටහඬ, ඳත්ත හා විඳුලි තරංග ප්‍රතිග්‍රහණයට හා ප්‍රතිචාරණයට සමර්ථ වේ.
සෛලීය සහ PCS පඳ්ධති
මෙහිඳි ගුවන් විඳුලි සන්නිවේඳන තාක්ෂණ කිහිපයක් යොඳා ගන්නා අතර මෙම පඳ්ධති භූගෝලිය ප්‍රඳේශ අනුව බෙඳා වෙන් කර ඇත. එක් එක් ප්‍රඳේශය සතුව ඇති පහළ ශක්තියකින් යුතු සම්ප්‍රේෂකයක් හෝ ගුවන් විඳුලි තරංග ප්‍රතිචාරණ ස්පර්ශක උපකරණයක් මගින් එක් ප්‍රඳේශයක සිට තවත් ප්‍රඳේශයක ට ඇමතුම් ප්‍රතිප්‍රචාරය සිඳු කෙරේ.

 

නිදහස් හා විවෘත මූලාශ්‍ර මෘදුකාංග

 

නිදහස් හා විවෘත මූලාශ්‍ර මෘදුකාංග යනු ඕනැම කෙනෙකුට ‍නිදහසේ ලබා ගැනිමටත්, අධ්‍යනය කිරිමටත්, තව දුරටත් වැඩි දියුණු කර බෙදා හැරිමටත් හැකි වන පරිදි කේත ලබා දෙන මෘදුකාංග වේ. මෙම යොමුවිම මගින් භාවිත කරන්නන් ගේ විශ්වාසයත් ගෞරවයත් ප්‍රශංසාවත් නිදහස් හා විවෘත මූලාශ්‍ර මෘදුකාංග වෙත හිමි වී ඇත. 'FOSS' යන ඉංග්‍රිසි නාමය නිදහස් මෘදුකාංග හා විවෘත මෘදුකාංග වලට පොදුවේ හාවිතා වේ. මේ දෙවර්ගය සමාන කාර්යයක් ඉටුකරන නමුත් වෙනස් සංකල්ප වලින් සමන්ව්ත වේ. නිදහස් මෘදුකාංග වල අරමුන පරිගණක භාවිත කරන්නන් ගේ නිදහස ආරක්ෂා කිරිම වන අතර, විවෘත මෘදුකාංග නිදහස් කේත මගින් භාවිත කරන්නන් අතර දැනුම හුවමාරුවත් ඒ මගින් වඩාත් කාර්යක්ෂම නිර්මාණයක් එළිදැක්වීමටත් කටයුතු කරයි. නමුත් බොහෝ විට මෙම වෙනස පිලිබදව නිසි සැලකීමක් නොදැක්වේ. නිදහස් මෘදුකාංග බලපත්‍ර හා ‍විවෘත මෘදුකාදග බලපත්‍ර බොහෝ මෘදුකාංග පැකේජයන් විසින් භා‍විතා කරනු ලබයි. මෙම බලපත්‍ර අතර ඉතා පැහැදිලි වෙනසක් ඇත. මෙම බලපත්‍ර එම මෘදුකාංග භාවිතා කිරිමෙ ශාස්ත්‍රය පැහැදිලි කරයි.
This article is about "නිදහස් මෘදුකාංග" as defined by the sociopolitical නිදහස් මෘදුකාංග ව්‍යාපාරය; for information on software distributed without charge, see freeware. For other uses, see නිදහස් මෘදුකාංග (disambiguation).
නිදහස් මෘදුකාංග පදනම මගින් අර්ථ දක්වා ඇති අන්දමට නිදහස් මෘදුකාංග යනු බාධාවකින් තොරව භාවිතා කිරීමට, පිටපත් කිරීමට, අධ්‍යායනය කිරීමට, වෙනස් කිරීමට හා යලි බෙදා හැරීමට හැකි මෘදුකාංග වේ. මෘදුකාංගයක්, නිදහස් මෘදුකාංගයක් ලෙස බෙදා හැරීමේ සාමාන්‍ය ක්‍රමය වනුයේ මෘදුකාංගය එය ලබන්නා වෙත නිදහස් මෘදුකාංග බලපත්‍රයක් සමග ලියාපදිංචි කිරීම (හෝ Public domain තුළ වීම) සහ මෘදුකාංගයෙහි මූල කේතය මුදා හැරීම වේ. (for a compiled language).

පරිගණක මෙහෙයුම් පද්ධති

  

මෙහෙයුම් පද්ධතියක් යනු පරිගණක සම්පත් කළමණාකරණය කර ක්‍රමලේඛකරුවන්ට / පරිශීලකයන්ට එම සම්පත්වලට ප්‍රවේශ වීමට අතුරු මුහුණත් සපයන මෘදුකාංගයකි. මෙහෙයුම් පද්ධතියක් පද්ධති දත්ත හා පරිශීලක ආදාන සකසා පරිශීලකයන්ට හා පද්ධති ක්‍රමලේඛවලට සැපයීම සදහා වැඩ කටයුතු හා අභ්‍යන්තර පද්ධති සම්පත් කළමනාකරණය කරමින් ප්‍රතිචාර දක්වයි. මෙහෙයුම් පද්ධතියක්, මතකය පාලනය හා වෙන් කිරීම , පද්ධති ඉල්ලීම්වල ප්‍රමුඛතාව සැකසීම , ආදාන ප්‍රතිදාන උපකරණ පාලනය , පරිගණක ජාලකරණයට පහසුකම් සැලසීම හා ගොණු කළමණාකරණය වැනි මූලික කරුණු ඉටු කරයි. මෙහෙයුම් පද්ධතියක් පුද්ගලික පරිගණක , අන්තර්ජාල සේවාදායක , ජංගම දුරකතන , සංගීත ධාවක , රවුටර් , ස්විච , රැහැන් රහිත ප්‍රවේශ ස්ථාන (access point) , ජාල ගබඩා , ක්‍රීඩා කොන්සෝල , ඩිජිටල් කැමරා , මහන යන්ත්‍ර හා දුර දක්න වැනි සංගෘහිත පරිපථ යොදා ගෙන සාදනු ලබන සෑම දෙයක්ම පාහේ සොයා ගත හැක.
බොහෝමයක් වේලාවට පරිගණකයන් පණගැන්වීමේ දී පළමුවම ධාවනය වන කේතය මෙහෙයුම් පද්ධතිය නොවේ. පරිගණකයේ ක්‍රියාත්මක වන පළමු‍ කේතය සාමාන්‍යයෙන් ෆ්ලෑෂ් ROM හි ගබඩා කර ඇති අතර ෆර්ම් වෙයාර් මගින් ඇතුල් වේ. මෙය සමහරක් විට BIOS හෝ බූට් ROM (boot ROM) ලෙස හදුන්වනු ලැබේ. ෆර්ම් වෙයාර් මෙහෙයුම් පද්ධති කර්නලය (සාමාන්‍යයෙන් තැටියෙන් හෝ සමහර විට ජාලය හරහා ) ඇතුල්කර ක්‍රියාත්මක කරන අතර පරිශීලකයා තිරය මත දකින ප්‍රථම චිත්‍රක හෝ වදන් ප්‍රතිදානයට වගකිව යුත්තේ ද (firmware) ෆර්ම් වෙයාර්ය.
ලිනක්ස් , Mac OS X , මයික්‍රොසොෆ්ට් වින්ඩෝස් හා සෝලාරිස් (Solaris) නූතන බහුලව භාවිතා වන මෙහෙයුම් පද්ධති අතර වේ. මෙයින් වැඩතලය (desktop) මත වඩාත්ම ජනප්‍රිය වින්ඩෝස් වන අතර සේවාදායක පසුබිම් වලදී ලිනක්ස් වෙයි. ලිනක්ස් Mac OS X හා MS වින්ඩෝස් සියල්ලටම සේවාදායක හා පුද්ගලික වෙනස්කම් පවතී. මයික්‍රොසොෆ්ට් වින්ඩෝස් හැරුණු කොට පෙර සදහන් කරන ලද සියලු මෙහෙයුම් පද්ධති සැලසුම් කිරීමට දිරි ගැන්වීම හෝ කෙළින්ම සැලසුමම ලබා ගන්නේ යුනික්ස් මෙහෙයුම් පද්ධතියෙනි. 1960 පසු භාගයේ දී බෙල් පර්යේෂණාගාරවල නිපදවන ලද යුනික්ස් , බොහෝමයක් නොමිලේ බෙදා හරින හෝ වාණිජමය මෙහෙයුම් පද්ධතිවල දියුණුවට හේතු විය.
බොහෝමයක් පරිශීලකයන් මෙහෙයුම් පද්ධතිය , ඩෙක්ස්ටොප් වටපිටාවට සමාන කරයි.

 

මෙහෙයුම් පද්ධති - ඉතිහාසය

ප්‍රථම පරිගණකයේ මෙහෙයුම් පද්ධතියක් නොතිබුනි. 60 දශකය මුල් භාගය වන විට පරිගණක වෙළඳාම්කරුවන් කාණ්ඩ සැකසුම් ප්‍රවර්ධනය කිරීමේ ක්‍රමවේදයන්, ලැයිස්තුගත කිරීම හා කාර්ය ක්‍රියාත්මක කිරීමේ ක්‍රම වේදයන් සංවර්ධිත කිරීම සඳහා තරමක් පුළුල් මෙවලම් සැපයීමට ක්‍රියා කලහ. මේ සඳහා උදාහරණ ලෙස UNIVAC මා Control Date ආයතන මඟින් නිපදවන ලදි.
· MS-DOS මඟින් මෙහෙයුම් පද්ධතියක ආකාර ලක්ෂණ බොහෝමයක් ඉදිරිපත් කරනු ලැබිනි. තැටි ප්‍රවේශය මේ සඳහා නිදසුනකි. කෙසේ වුවත් බොහෝමයක් මෙහෙයුම් පද්ධති මෙය සම්පුර්ණයෙන්ම මඟහැර කෙලින්ම දෘඩාංග මත ක්‍රියාත්මක වීමට ඉඩකඩ සකසා දිනි.
· මෙහෙයුම් පද්ධති මුලින්ම යොදා ගෙන තිබුනේ මහා පරිගණක වලදීය. එහෙත් පසුව මුලික ක්ෂුද්‍ර පරිගණක මෙහෙයුම් පද්ධති කළමනාකරණය ලැයිස්තුගත කිරීම භාවිතා කර වරකට එක් වැඩසටහනක් පමණක් ක්‍රියාකිරීමට අවකාශ සලසා දිනි. සෑම වැඩසටහනක්ම එය ක්‍රියාත්මක වන කාල පරිච්ඡේදය පුරාවටම එම පරිගණකය කෙරේ පුර්ණ පාලනයකින් යුක්ත විය. බහුකාර්යකරණය (කාල සම්භාවිත කිරීම) මහා පරිගණකවල භාවිතයට මුලින්ම පැමිණියේ 60 දශකයේදීය.
· 1969-70 කාල පරිච්ඡේදයේ දී ප්‍රථම වතාවට UNIX මුලින්ම PDP-7 හා පසුව PDP-11 මඟින් ඉදිරිපත් විණි. එය ඉතා ඉක්මණින් වේදිකා කිහිපයක් හරහා කාල සම්භාවිතය ක්‍රියාත්මක වීමේ සාර්ථකත්වය පෙන්වුයේ ‍පුර්වක්‍ර බහුකාර්යකරණය, උසස් මතක කළමනාකරණය, මතක ආරක්ෂණය සහ අනෙකුත් උසස් ලක්ෂණ සඳහා සංග්‍රාහකයෙක් ලෙස ක්‍රියා කරමිනි. UNIX ඉතා ඉක්මනින් මහා පරිගණක හා මධ්‍ය පරිගණක මෙහෙයුම් පද්ධයක් ලෙස ජනප්‍රියත්වයට පත්විණි. · 1980 මුල් භාගයේ දී IBM-PC හා IBM PC XT ඇතුළු ක්ෂුද්‍ර පරිගණක කිහිපයක් UNIX ආකාර මෙහෙයුම් පද්ධතියක් වන Microsoft Xenix ධාවනය කිරීමේ හැකියාව පෙන්විය. තවද Microsoft ආයතනය විසින් ඔවුන්ගේ ඒක පරිශිලක මෙහෙයුම් පද්ධති වෙනුවට බදු පරිශිලක මෙහෙයුම් පද්ධතියක් ලෙස ඉතා අධික අලෙවිකරණ ව්‍යාපෘතියකට බදුන් කෙරිණි. නමුත් මෙම පුද්ගලික පරිගණකයේ මෙහෙයුම් පද්ධතිය(CPU) මඟින් එහි කරන කාර්ය මතක ආරක්ෂණය හා ද්විත්ව ‍මාධ්‍ය මෙහෙයුම ක්‍රියාකිරීමට අවස්ථාව සලසා දීමට අපොහොසත් විය. එම නිසා Microsoft Xenix සහයෝගි බහුකාර්යකරණය මත විශ්වාසය තැබු අතර ආරක්ෂිත මතකයන්ද එහි නොවීය.
· 80286 මුලික IBM PCAT පරිගණකය වු කලි ද්විත්ව මාධ්‍ය මෙහෙයුම් ක්‍රියාත්මක කිරීම හා මතක ආරක්ෂණය සැලසීමට සමත් වු ප්‍රථම පරිගණකය හා සම්භාවය Mac-OS හා Microsoft Windows 1.0-Me සහයෝගි බහුකාර්යණයට උසස් වු අතර ඒවා ආරක්ෂිත මතකයන්ගෙන් ලබා ගත හැකි ආයෝජන උපරිම වශයෙන් ලබා ගැනීමේදී සිමාසහිත විය. මෙම මෙහෙයුම් පද්ධති මත ධාවනය වන යෙදුම් ක්‍රමලේඛ ඒවා ක්‍රියාත්මක නොවන අවස්ථාවන්හිදි ලැයිස්තුගතකරණයට CPUහි කාලය ඉතිරිකර දීම සඳහා පෙර නිමිතිව හෝ ක්‍රමවේදයක් භාවිතා කර එය ඉටු කර දීම හෝ මිශ්‍ර කළ යුතු විය.
· Windows NT සඳහා පාදක වු මෙහෙයුම් පද්ධති කාර්යාලය, Digital Equipment Corporation හි VMS නිර්මාණය කළ කණ්ඩායම විසින්ම නිමවන ලද්දකි. මෙම මෙහෙයුම් පද්ධති UNIX ආකාර වු අතර එය සියලු වැඩසටහන් සඳහා වු ආරක්ෂිත මාධ්‍ය මෙහෙයුම්, කාර්ය මතක ආරක්ෂණය, පුර්වක්‍ර බහුකාර්යකරණය, අතථ්‍ය(Vertual) ගොනු පද්ධති සඳහා සහයෝගය හා නොයෙකුත් මේආදි සේවා සපයන්නෙකු ලෙස නිර්මිතය.
· සම්භාවනීය AmigaOS හා Windows 1.0-Me යන මෙහෙයුම් පද්ධති සකසුන්වන් මඟින් ධාවන කාලයේදී ආදේශනය කරන ලද සම්පත් නියමාකාර ලෙස සලකුණු කර ගැනීමට අසමත් විය. එක් සකසුවක් අවසන් කිරීමට සිදු වු විට එය මඟින් එතෙක් භාවිතා වෙමින් තිබු සම්පත් වෙනත් වැඩසටහනක් ‍වෙනුවෙන් නිදහස් කිරීම නැවත පරිගණකය පණගන්වන තෙක් සිදුකල නොහැකි විය.
එමෙන්ම විවෘත මුදුකාංග මෙහෙයුම් පද්දතියක් ලෙස උබුන්ටු(UBUNTU)හැදින්විය හැක.ලෝකයේ මිලියන 12 ජනතාවක් උබුන්ටු භාවිතාකරයි.සබැඳියෙහි ශීර්ෂය ‍මගින් නොමිලේ උබුන්ටු සිඩිතැටියක් ගෙදරටම ගෙන්වාගත හැක.

කෙන් තොම්සන් (Ken Thompson) ඔහුගේ MULTICS ව්‍යාපෘතියේ ‍අත්දැකීම් මත පදනම්ව යුනික්ස් ලිවීමට යොදාගත් BCPL මත පදනම්ව, B ලියන ලදී. B‍ C හි මඟින් ප්‍රතිස්ථාපනය වූ අතර යුනික්ස්, සෑම නූතන මෙහෙයුම් පද්ධතිකටම බලපෑම් ඇති කරන විශාල සංකීර්ණ අන්තර්ව බැඳුනු මෙහෙයුම් පද්ධති පවුලක් බවට වර්ධනය විය. (ඉතිහාසය බලන්න) යුනික්ස් වැනි පවුල මෙහෙයුම් පද්ධතිවල ස්වභාවයෙන් වෙනස් කාණ්ඩයකි. එයට සිස්ටම් System V, BSD, හා ලිනක්ස් වැනි ප්‍රධාන උප ඒකක කිහිපයක් ඇතුළත් වේ. යුනික්ස් යන නාමය ද ඕපන් ගෘප් හි වෙළඳ නාමයක් වන අතර එහි අර්ථ දැක්වීමට ගැලපෙන මෙහෙයුම් පද්ධතියක් සඳහා යෙදීමට අවසර ලබා දී ඇත. “යුනික්ස් වැනි” බහුලව භාවිතා වන්නේ නියම යුනික්ස්ට සමාන මෙහෙයුම් පද්ධති සමූහයක් හැඳින්වීමටය. යුනික්ස් වැනි මෙහෙයුම් පද්ධති යන්ත්‍ර නිර්මිත විශාල ප්‍රමාණයක් මත ධාවනය වේ. ඒවා ව්‍යාපාර කටයුතුවලදි සේවා දායකවල සහ අධ්‍යාපනික හා ඉංජිනේරුමය කටයුතුවලදී වර්ක්ස්ටේෂන් (workstations) වල බහුලව භාවිත‍ා වේ. GNU ලිනක්ස් හා BSD වැනි නිදහස් මෘදුකාංග යුනික්ස් ආදේශක මෙම අංශවල ජනප්‍රිය වේ. ලිනක්ස් වෙළඳපොළ කොටස බොහෝ වෙනස් බෙදාහැරීම් අතර බෙදී යයි. නොවෙල් (Novell) හා රෙඩ් හැට් (Red Hat) මඟින් සිදු කරන මහා පරිමාණ ව්‍යවසාය පන්තියේ බෙදා හැරීම් සංස්ථා මඟින් භාවිතා කරන නමුත් සමහරක් ගෘහස්ථ පරිශීලකයන් ද එම නිපැයුම් භාවිතා කරයි. ඓතිහාසිකව ගෘහස්ථ පරිශීලකයන් ස්ථාපනය කළේ ඔවුන්ගේම බෙදා හැරීමකි. නමුත් 2007 දී ගෘහස්ථ PC සඳහා උබුන්ටු ලිනක්ස් බෙදා හැරීම ඩෙල් (Dell) සමාගම ආරම්භ කළ අතර වර්තමානයේ වෝල්මාර්ට් (Walmart) සමාගම GOS v2 සමඟ පහත් අන්තයේ පරිගණක ඉදිරිපත් කරයි. වැඩතලය (desktop) මත ලිනක්ස් , වර්ධනය කරන හා විනෝදාංශමය මෙහෙයුම් පද්ධති දියුණු කරන ප්‍රජා අතර ජනප්‍රිය වේ. (පහත බලන්න) නිදහස් මෙහෙයුම් පද්ධති සඳහා වෙළඳ පොළ කොටස් දත්ත සාමාන්‍යයෙන් නිරවද්‍ය නොවේ. එසේ වන්නේ ඒවා නියෝජනයන් යටතේ භාවිතා කර මිළ දි නොගන්නා බැවිනි. අනෙක් අතට නිදහස් මෙහෙයුම් පද්ධතිවල මුළු බාගත කිරීම් මත පදනම්ව ඇති වෙළඳ පොළ කොටස් දත්ත බොහෝ විට විශාල ‍මවා පෑමකි. මන්ද යත් මෙහෙයුම් පද්ධති ගණනාවක් ගැනීමට ආර්ථිකව ප්‍රශ්නයක් නොමැති නිසා පරිශීලකයන් මෙහෙයුම් පද්ධති කිහිපයක් බාගත කර වඩා සුදුසු දෙය තෝරා ගනියි. HP හි HP-UX හා IBM හි AIX වැනි සමහරක් යුනික්ස් ආදේශක එම නිෂ්පාදකයාගේම දෘඩාංගවල පමණක් ධාවනය වන ලෙස සකසා ඇත. සෝලාරිස් (Solaris) වැනි අනෙක්වාට x86 සේවා දායක හා PC ඇතුලුව විවිධ වර්ගවල දෘඩාංග මත ධාවනය විය හැක. ඇපල්හි මැක් OS X මාච් (Mach) හා ෆ්‍රී BSD මඟින් ඇපල්හි මුල් කාලීන (යුනික්ස් නොවූ) මැක් OS ප්‍රතිස්ථාපනය කර ඇත. යුනික්ස් අන්තර් ක්‍රියාකාරීත්වය සොයා බලන ලැබුවේ POSIX සම්මත ප්‍රකාශයට පත් කිරීමෙනි. POSIX සම්මතය විවිධ යුනික්ස් ආදේශක සඳහාම නිර්මාණය කර තිබුණත් ඕනෑම මෙහෙ‍යුම් පද්ධතියකට යෙදිය හැකි වේ.

 තථ්‍ය-කාල මෙහෙයුම් පද්ධති

නිහිත පද්ධති විසින් ඒ සඳහාම කැපවු විවිධ මෙහෙයුම් පද්ධති රැසක් භාවිතා කරයි. සමහර අවස්ථාවලදී විශේෂ කාර්යය ක්‍රමලේඛයක් නිපදවීමට "මෙහෙයුම් පද්ධති මෘදුකාංග” සෘජුවම යෙදුම් හා සම්බන්ධ කර ඇත. ඇති සරලම නිහිත පද්ධතිවල, මෙහෙයුම් පද්ධතිය හා යෙදුම අතර වෙනසක් දැකිය නොහැකි වේ. එක්තරා කාල අවශ්‍යතාවයක් ඇති නිහිත පද්ධති තථ්‍ය කාල මෙහෙයුම් පද්ධති (real-time operating system) ලෙස හඳුන්වයි.
නිශ්චිත කාලයක් නියම කර ඇති නිහිත පද්ධති වන VxWorks, eCos, QNX මෙන්ම RTLinux වැනි තථ්‍ය කාල මෙහෙයුම් පද්ධති ඇත.

Palm 05, windows CE, BSD සහ Linux වැනි මෙහෙයුම් පද්ධති තථ්‍ය කාල පරිගණනයට ආධාර නොකලත් සමහර නිහිත පද්ධති ඒවා භාවිතා කරයි.
Windows CE හි මේස පරිගණකයෙහි Windows වලට සමාන යෙදුම් ක්‍රමලේඛ සහිත අතුරු මුහුණතක් (API) පවතී. එසේ වුවත් මේස පරිගණකයෙහි Windows හි ඇති කේත පදනම (Code base) හා Windows CE හි සමානකම් නැත.
කෙසේ වෙතත් මෑත කාලයේදී Linux විසින් නිහිත මෙහෙයුම් පද්ධති අතර ප්‍රමුඛස්ථානය ලබා ගෙන ඇත්තේ පහත කරුණු හේතුකර ගෙනය. කුලී ගෙවිය යුතු නැතිවීම, පුළුල් හැකියාව, උසස් කාර්ය සාධනය හා අඩුවෙන් මතකය වැය වීම යන කරුණු පදනම් කරගෙනය.

Thursday, August 9, 2012

Operating Systems

         
JAVA, C++, VB, PHP වැනි විවිධ පරිගණක භාෂා පිළිබද දැනීමක් ඔබට ඇති. නමුත් ඔබ නිර්මාණය කරන වැඩසටහනක් පරිගණකය තුළ ක්‍රියාත්මක වන තත්වයට පත් වන්නේ කෙසේද කියා ඔබ නොදන්නවා විය හැකියි. මෙම දැනුම නොමැතිව පරිගණක වැඩසටහනක් සැලසුම්කරණය, වැඩසටහනක ඇති වැරදි සෙවීම (debug) වැනි පරිගණක වැඩසටහන්කරණයේදි අත්‍යාවශ්‍ය වන කටයුතු සිදු කිරීම අපහසුයි. මෙම ලිපි පෙළෙන් බලාපොරොත්තු වන්නේ පරිගණකයක මෘදුකාංග අංශය ක්‍රියාත්මක වන ආකාරය පිළිබද යම් අවබෝධයක් ලබාදීමයි. පරිගණක වැඩසටහනක ක්‍රියාකාරීත්වය, මෙහෙයුම් පද්ධතියක ක්‍රියාකාරීත්වය, මතුවිය හැකි ගැටලු ආදිය පිළිබද මෙම ලිපි පෙළෙහි ඇතුළත් වෙනවා. මෙහිදී සිදු කරන්නෙ න්‍යායාත්මකව ක්‍රියාවලිය පැහැදලි කිරීමක් බැවින් පරිගණකයක් තුළ මේවා භාවිත වන ආකාරයෙහි යම් වෙනස්කම් පැවතිය හැකියි.
Process එකක ව්‍යුහය 01
අප විසින් සකසනු ලබන program එකක් අවසානයේ පරිගණකය තුළ ක්‍රියාත්මක වන්නේ 1 සහ 0 සමුදායක් ලෙස (machine code) බව ඔබ දන්නවා ඇති. එනම් පරිගණකය හදුනාගන්නේ 1 සහ 0 සදහා වූ වෙනස් වෝල්ටීයතා මට්ටම් දෙකක් පමණයි. එසේ නම් සංකීර්ණ කාර්යයන් සිදුකරන software එකක් මෙලෙස 1 සහ 0 මගින් ක්‍රියාත්මක වන්නේ කෙලෙසද යන ගැටලුව ඔබටත් තිබිය හැකියි. මෙම ලිපි පෙළෙන් එම ක්‍රියාවලිය පිළිබද යම් අවබෝධයක් ලබා දීමට බලාපොරොත්තු වනවා. මෙම ක්‍රියාවලිය පැහැදිලි කිරීමට අවශ්‍ය මූලික දැනුම ලබා දීම සදහා ප්‍රථමයෙන්ම program එකක් run වීමට අදාළ මූලික ක්‍රියාවලිය කෙටියෙන් සළකා බලමු.
ප්‍රථමයෙන්ම hard disk එකේ තියෙන program එක main memory එකට රැගෙන යනවා. program එකක් යනු instruction සමුදායකි. මේ එක් එක් instruction එක processor එක මගින් ක්‍රියාත්මක කිරීම තමයි program එකක් execute කරනව කියල කරන්නෙ.
img1 1
img1 2
main memory එකේ දත්ත ගබඩා කර තැබිය හැකි ස්ථාන වලට memory locations කියල කියනවා. එක් එක් memory location එකට අනන්‍ය වූ address එකක් තියෙනවා. එමගින් අවශ්‍ය memory location එක හදුනාගන්න පුළුවන්. processer(cpu) එක ඇතුලෙ තියෙන program counter(pc) එක මගින් දැන් execute කල යුතු instruction එක තියෙන memory location එකේ memory address එක ගබඩා කරල තියාගන්නවා. මෙම instruction එක cpu එක ඇතුළට ගෙනත් instruction register කියල තැනක තැන්පත් කරනවා. register එකක් කියන්නෙත් memory location එකක් වගේම එකක්. බොහෝ වෙලාවට ඒවා තියෙන්නෙ cpu එක ඇතුලෙ. එම නිසා memory එකට වඩා ගොඩක් වේගවත්. ඉන් පස්සෙ පරිගණකය instruction register එකේ තියෙන instruction එක කියවල ඒක ක්‍රියාත්මක කරනවා. main memory එකේ ඇති දත්තයක් කියවීම main memory එකේ දත්තයක් තැනපත් කිරීම register වල ඇති දත්ත වලින් ගණිතකර්ම සිදු කිරීම වැනි විවිධ instructions මෙලෙස execute කළ හැකියි. එක් instruction එකක් execute කිරීමෙන් පසු ඊලග instruction එක cpu එකේ instruction register එකට ගෙන ආ යුතුයි. ඒ සදහා program counter එකෙහි මීලග instruction එක ඇති memory address එක සටහන් කල යුතුයි. ඉන්පසු පෙර පරිදිම මීලග instruction එක execute කල යුතුයි

Operating systems


02
අප ‍විසින් සකස් කරන program එකක් අවසන් වශයෙන් පරිගණකය තුළ execute වී‍ම සිදුවන ආකාරය පැහැදිලි කරන්නට මෙම ලිපියෙන් බලාපොරොත්තු වෙනවා. මේකෙදි කතා කරන්නෙ execute වී‍මට අවශ්‍ය මූලිකම ‍දේවල් ටිකක් ගැන විතරයි.
අපි program එකක් සකස් කළ විට ඒක ගොඩක් සංවිධානාත්මකව තියෙනවා. ඒක බලපු ගමන් අපට එයින් සිදුවන දේ පැහැදිලිව තේරුම් ගන්න පුළුවන්. නමුත් පරිගණකය‍ට ඒ දේ කරන්න බැහැ. එයට එකින් එක සිදු කල යුතු සියලුම දේවල් කියන්න ඕනි. මේ අපි තේරුම් ගත යුතු වැදගත්ම දෙයක්. කල යුතු ඉතාමත් සුළු පිය‍වරක් උනත් ප‍රිගණකය‍ට අපි විසින් කියන්න ඕනි. මේක මෙහෙම කියද්දි ‍හොදට දන්න දෙයක් කියල හිතුනත් ඒක එච්චර ලේසියෙන් තේරුම් යන්නෙ නෑ. ඒ ගැන හොදින් හිතල බලන්න. ඒත් ඔබ code එකක් ලියද්දි මේ හැම පියවරක්ම ලියන්නෙ නෑනෙ. ඒත් ඔබ code එක compile කලාම compiler එක ඔබ වෙනුවෙන් ඒ දේවල් සිදු කරල දෙනවා. Assembly code එකක් ලියද්දි ඔබ මේ කරුණ ගැන හරියටම තේරුම් අරගෙන තියෙන්න ඕනි. මොකද assembly code එකක් කියන්නෙ compile කලාට පස්සෙ ලැබෙන එකක්.
අපි සරල code එකක් භාවිතා කරල මේ ක්‍රියාවලිය පැහැදිලි කර ගනිමු.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main() {
 
 int a = 10;
 int b = 5;
 int c = add(a,b);
 return 0;
 
}
 
int add(int x, int y) {
 
 int z = x+y;
 return z;
 
}

ඉහත code එක compile කලාම කලින් කිව්ව විදියට compiler එක ඔබ වෙනුවෙන් අවශ්‍ය එකතු කිරීම් කරල RAM එක තුළ එක් එක් instruction එක තැබිය යුතු memory address දක්වාම වූ සියලු විස්තර file එකකට ලියනවා. එම program එක run වෙද්දි RAM එක තුළ දත්ත පහත විදියට විහිදෙනවා කියල හිතමු.
img2 1
assembly code ලිවීමේ දී සලකන විවිධ segment භාවිත කරන ක්‍රියාවලිය මදකට අමතක කරන්න. මේකෙ පැහැදිලි කරන්නෙ එක් method එකකට අදාල දත්ත එක තැනක තියෙනව කියල සලකලයි.
ඉහත පින්තූරයේ තියෙන විදියට memory address 1000-1050 වන තුරු main method එකත් 1100-1120 වන තුරු add method එකත් තියෙනව කියල හිතමු. Code එක compile කරන කොටම මොන memory address වලද program එක ලියවෙන්න ඕනි කියන එක file එකේ ලියවෙනවා. මොකද jump statement එකක් එහෙම තිබ්බොත් යන්න ඕනි මොන memory address එකටද කියන එක program එක දැනන් ඉන්න ඕනි. Code එක compile කරද්දිම memory address ලියවෙනවා නම් ප්‍රශ්නයක් තියෙනවා. Program එක compile කරන්නෙ එක වෙලාවක ඒත් ඊට පස්සෙ විවිධ වෙලා වලදි ඒක run කරනව. නමුත් ඒ හැම වෙලාවකදිම එකම memory එකේ ස්ථාන හිස්ව තියෙනවා කියල කියන්න බැහැ. මොකද එකම වෙලාවෙ program කිහිපයක් ‍වැඩ කරන්න පුළුවන්නෙ. නමුත් අපි දැනට සලකමු අපේ program එකට මුළු memory එකම භාවිත කරන්න පුළුවන් කියල. එහෙම උනොත් ඉහත code එකේ ගැටලුවක් එ‍න්නෙ නෑ. ඒත් ඉහත code එකේ main method එකත් add method එකත් ‍ file දෙකක ලියල තියෙනව නම් ඒ file දෙක වෙන වෙනම compile කරන්න පුළුවන්නෙ. එතකොට....????
එතකොට එක් file එකක් අනිත් file එක භාවිත කරන memory address පිළිබද අව‍බෝධයක් නැහැ. File දෙකම එකම memory address භාවිත කරන්න ඉඩ තියෙනවා. එවිට එම program එක run වෙන්න විදියක් නැහැ. මෙම තත්වය මග හරවා ගන්නෙ linker එක භාවිතයෙන්.
main.c
1
2
3
4
5
6
7
8
int main() {
 
 int a = 10;
 int b = 5;
 int c = add(a,b);
 return 0;
 
}

add.c
1
2
3
4
5
6
int add(int x, int y) {
 
 int z = x+y;
 return z;
 
}
img2 2
main method එක main.c file එකෙත් add method එක add.c file එකෙත් තියෙනව කියල හිතමු. compiler එකෙන් මේ file දෙක main.o add.o කියල file දෙකකට වෙන වෙනම compile කරනව කියල හිතමු. linker එකෙන් කරන්නෙ මේ file දෙකේ තියෙන දත්ත තනි file එකකට අලුතෙන් ලියන එක. එහෙම ලියද්දි memory address වල ගැටලුවක් වෙන්නෙ නැති විදියට memory එකේ තැන් දෙකකට එන විදියටයි ඒක ලියන්නෙ.
img2 3
 

Wednesday, August 8, 2012

Photoshop

හැඳින්වීම

Adobe Photoshop යනු ජායාරූප සංස්කරණය සහ රූපමය වෙළඳ දැන්වීම් නිර්මාණය සඳහා වැඩියෙන්ම භාවිතා කරන මෘදුකාංගයකි. මෙම මෘදුකාංගය නිවැරදි ලෙස භාවිතා කිරීමට ඉගෙන ගැනීමෙන් ඕනෑම කෙනෙකුට ඉතා පහසුවෙන් ජායාරූප සංස්කරණයක් හෝ තමාගේම graphic නිර්මාණයක් සිදු කළ හැක. Photoshop ඉගෙන ගැනීම සඳහා වන ආරම්භක පාඩම ලෙස පලමුවෙන්ම එහි අතුරු මුහුණත (User Interface) දෙස අවධානය යොමු කරමු.

1. මෙනු බාරය (Menu Bar)
භාවිතයේදී බොහෝ උපකාර වන මෙනු විස්තර මෙනු බාරයේ අඩංගු වේ. නව කැන්වසයක් සාදා ගැනීම, පින්තූරයක් විවෘත ගැනීමේ සිට අවශ්‍ය අවසාන ප්‍රතිඵලය ලබා ගැනීම සඳහා පින්තූර වලට විවිධ වෙනස්කම් කිරීමේ පහසුකම් මෙම මෙනු බාරය මගින් ලබා ගත හැක.
2. ටූල් පැලටය (Tool Palette)
ජායාරූපයක් සංස්කරණයේදී ප්‍රධාන වශයෙන්ම අවශ්‍ය වන tools අඩංගු පැලටයයි. ජායාරූපයක කොටසක් කරගැනීම, වර්ණ යෙදීම, අනවශ්‍ය කොටස් මකා දැමීම වැනි දේ සඳහා මෙහි විවිධ tools භාවිතා කළ හැක. ඇතැම් tools වල කෙලවරෙහි ඊ තුඩක් දක්නට ලැබෙන අතර ඒ මත click කරගෙන ඒ තුල සැගවී ඇති tools දැකගත හැක. tools පැලටය පිළිබඳව වැඩිදුර මීළග පාඩමෙන් සාකච්චා කරමු.
3. ඔප්‍ෂන් බාරය (Option Bar)
Tool එකක් භාවිතා කිරීමේදී එහි සැකසුම් අඩංගු කොටසයි. එකම tool එකකින් වුවද විවිධ සැකසුම් යටතේ භාවිතා කිරීමෙන් සම්පූර්ණයෙන් වෙනස් නිමවුම් ලබා ගත හැක. tools පැලටය මගින් tool එකක් තෝරා ගැනීමේදී ඔප්‍ෂන් බාරයද ඊට අදාල ලෙස ක්‍ෂනිකව වෙනස් වේ.
4. ටයිට්ල් බාරය (Title Bar)
සෑම කැන්වසයකටම Title එකක් හිමි අතර මෙහි එම කැන්වසයන්හි නම්, වර්ණ සැකසුම (colour mode) ආදී විස්තර පෙන්වයි. කැන්වස් අතර මාරු වීම, අනවශ්‍ය කැන්වස් වසා දැමීම මේ මගින් කළ හැක.
5. වින්ඩෝව් පැලටය (Window Palette)
විවිධ ප්‍රයෝජන ලබා ගත හැකි පැලට ගණනාවක්ම මෙහි අඩංගු වේ. photoshop තිරයේ වැඩ කිරීමට ඉඩ ලබා ගැනීම සඳහා අනවශ්‍ය පැලට හකුලා දමමින් අවශ්‍ය පැලට පමණක් දිග හැර ගැනීම එහි කුඩා අයිකන මගින් සිදු කල හැක.
6. කැන්වසය (Canvas)
කිසියම් පින්තූරයක් විවෘත කල විට නව කැන්වසයක් විවෘත වේ. කිසියම් නිර්මාණයක් සිදු කරන විට සියල්ල සිදු කළ යුත්තේ කැන්වසයක් තුලය. කැන්වසය මගින් පෙන්වන්නේ පින්තූරයක සත්‍ය ප්‍රමාණය නොවන බව මතක තබා ගත යුතුය. කුඩා පින්තූර එලෙස පෙන්විය හැකි වුවත් ප්‍රමානයෙන් විශාල පින්තූර සාපේක්‍ෂව කුඩා කර පෙන්වයි.

Photoshop

Tool Palette

lesson 2
Move tool
ජායාරූපයක තේරූ කොටසක්, අලුතෙන් එක් කල කොටසක්, Text එකක් වැනි දෙයක් move කිරීම සඳහා මෙම ටූලය භාවිතා කල හැක. එවැනි දෙයක් මත click කර drag කිරීමෙන් අවශ්‍ය තැනකට move කරගත හැක.
Marquee selection tools
Selection එකක් යනු පින්තූරයක් මත කරන විශේෂ තේරීමකි. පින්තූරයක කොටසක් select කරගැනීම සඳහා selection ටූලය පින්තූරය මත click කරගෙන drag කල යුතුය. selection එකක් ඇති විට ඔබ කරන වර්ණ වෙනස් කිරීමක්, පාට ගෑමක්, ෆිල්ටර් එකක් යෙදීමක් වැනි ඕනෑම වෙනස් කමක් සිදුවන්නේ select කර ඇති කොටසට පමණි. Marquee selection ටූලය මගින් චතුරස්‍රාකාර, වෘත්තාකාර, හරස් හෝ උස අතට තීරුවක් ලෙස අවශ්‍ය selection එකක් කරගත හැක.
Lasso tool
මෙයද selection tool එකකි. වෙනස වන්නේ මේ මගින් අපට අවශ්‍ය හැඩයකට selection එක කරගැනීමට හැකියාව ලබා දීමයි.
lasso ටූලය භාවිතා කරන්නේ නම් select කරගැනීම සඳහා පින්තූරය මත එක් තැනක සිට අවශ්‍ය කොටස වටා click කර drag කරගෙන ගොස් නැවත කිරීම පටන් ගත් ස්ථානයට පැමිණ අත හැරිය යුතුය.
polygonal lasso ටූලය මගින් ලැබෙන්නේ බහු කෝණී හැඩයකි. click කරන වාරයක් පාසාම කෝණාකාර සම්බන්දයකින් යුත් සරල රේඛීය ඉරි රූපයක් ලැබෙයි. click කිරීම අවසන් කිරීම සඳහා පටන්ගත් තැනට නැවත click කල යුතුය.
Magnetic lasso ටූලය නම් selection එකක් කිරීම සඳහා ඉතාමත් පහසු ටූලයකි. පින්තූරයක කොටස් රේඛා ලෙස හඳුනාගෙන කිරීමේදී එම රේඛා වලට අනුව selection එක කරගැනීමට මේ මගින් සලස්වයි.
උදාහරණයක් ලෙස යම් වස්තුවක් select කිරීමට අවශ්‍ය වූ විට මෙම ටූලය එම වස්තුව වටා click කරමින් රැගෙන යාමෙන් පහසුවෙන් select කිරීම කරගත හැක.
Quick selection/ Magic wand
මේ දෙකද ඉතා පහසුවෙන් එකක් කරගැනීම සඳහා යොදාගත හැකි දෙකකි. quick selection ටූලය නම් photoshop cs3 සංස්කරණයෙන් පසු හඳුන්වා දුන් ටූලයකි.
magic wand ටූලය මගින් සිදු කෙරෙන්නේ පින්තූරයක එකම වර්ණ පරාසයකින් යුතු කොටස් හඳුනාගෙන ඒවා select කර දීමයි. ඊට වඩා දියුණු ටූලයක් ලෙස quick selection ටූලය මගින් පින්තූරයක විවිධ කොටස් හඳුනාගෙන ඒවා select කර දීම සිදු කරයි.
Crop tool
මේ මගින් පින්තූරයක අවශ්‍ය චතුරස්‍රාකාර කොටසක් ඉතිරි වන සේ අනිත් කොටස් ඉවත් කර දැමීම කළ හැක. මෙහිදී තෝරාගත් කොටසට අනුරූපව කැන්වසයේ ප්‍රමාණයද වෙනස් වේ.
Healing brush / patch tool / red eye tool
මෙම ටූලයන් ප්‍රධාන වශයෙන් ජායාරූප සංස්කරණයේදී යොදා ගැනේ. විශේෂයෙන් පලුදු ලක්‍ෂණ ඇති පැරණි ජායාරූප සංස්කරණය සඳහා Healing brush / patch ටූල යොදාගන්නා අතර රාත්‍රී ජායාරූප වල බොහෝවිට දක්නට ලැබෙන red eye ඉවත් කිරීම සඳහා red eye ටූලය භාවිතා කල හැක.
Brush / pencil / colour replacement tools
නම් වල අරුතෙන්ම මෙම ටූල මගින් ඇඳීම හා පාට කිරීම කල හැකි බව අවබෝධ වේ. colour replacement ටූලය මගින් රූපයක කොටසක ඇති පාට වෙනුවට වෙනත් පාටක් යෙදිය හැක. උදාහරණයක් ලෙස යමෙකු ඇඳගෙන සිටිනා ඇඳුමක පාට වෙනස් කිරීම වැනි.
Clone stamp / pattern stamp
clone stamp ටූලය මගින් පින්තූරයක කොටසක් ඒ ආකාරයෙන්ම එම පින්තූරයේ තවත් තැනකට පිටපත් කල හැක. උදාහරණයක් ලෙස මිනිස් රූපයක ඇසක් මත alt සමග click කර නළල මත click කිරීමෙන් නළලෙහි ඇසක් ඇති ලෙස පෙන්විය හැක.
pattern stamp ටූලය මගින් කලින් සකසා ඇති රටා වර්ග පින්තූරයක් මතට යෙදිය හැක.
History brush/ Art history brush
History brush ටූලය මගින් පින්තූරයක් මත කළ සංස්කරණය කිරීම් මකා දැමිය හැකි අතර, Art history brush ටූලය මගින් රටාවකට අනුව එම මකා දැමීම සිදු කළ හැක.
Eraser / Magic eraser tool
Eraser ටූලය මගින් පින්තූරයද මැකෙන සේ මකා දැමීම සිදු කළ හැක. Magic eraser ටූලය මගින් Magic wand ටූලය මෙන් එකම වර්ණ පරාසයකින් යුත් ප්‍රදේශයක් තෝරා මකා දැමිය හැක.
Paint bucket / Gradient
Paint bucket ටූලය මගින් යම් කොටසකට වර්ණ පිරවීම කළ හැක. Gradient ටූලය මගින් එක් වර්ණයක සිට තවත් වර්ණයකට ඇදී යන සේ හෝ වර්ණ කීපයකට යන සේ රටා නිර්මාණය කළ හැක.
Blur / Sharpen / Smudge
බොඳ කිරීම, තියුණු කිරීම හා රූපයක් මත ඇගිල්ලකින් අදින්නාක් මෙන් සිදු කිරීම මෙම ටූල මගින් කළ හැක.
Dodge / Burn / Spong
පින්තූරයක කොටසක වර්ණ වැඩි කිරීම, අඩු කිරීම හා වර්ණ පිලිස්සී ඇති ලෙස කිරීම මෙම ටූල මගින් සිදු කළ හැක
Pen path tool
විවිධ හැඩ තල ඇඳීම මෙම ටූලය මගින් කළ හැක.
Type tool
පින්තූරයක් මතට වචන එක් කිරීම කළ හැක.
Shape tools
කලින් සකසා ඇති හැඩතල ඇඳීම මේ මගින් කළ හැක.
Eyedropper tool
පින්තූරයක යම් ස්ථානයක ඇති වර්ණයක සාම්පලයක් ගැනීම මේ මගින් සිදු කළ හැක.
Hand tool / Zoom tool
පින්තූරය විශාල කර බැලීම හා විශාල කළ පසු නොපෙනෙන තැන් දැක ගැනීම සඳහා පින්තූරයේ පෙනෙන කොටස එහා මෙහා කිරීම මේ මගින් සිදු කළ හැක.
Foreground colour
භාවිතයේ තිබෙන ප්‍රධාන වර්ණයි. ටූලයෙන් ඇඳීම වැනි ක්‍රියා වලදී භාවිතා වන වර්ණය මේ මගින් වෙනස් කල හැක.

Photoshop

Move Tool භාවිතා කිරීම

im2 move - Copy
මෙය භාවිතා වන ප්‍රධාන අවස්ථා කීපයකි
❃ object එකක් select කර ගැනීම
❃ එසේ තෝරා ගත් රූපයක් එහා මෙහා ගෙන යාම
❃ රූපයක් කැන්වසය මතට ගෙන්වා ගැනීම
❃ රූපයක පිටපතක්(copy) ලබා ගැනීම ❖ඕනෑම tool එකක සිට move tool එක භාවිතා කිරීමට ctrl යතුර භාවිතා කළ හැක.
❖රූපයක පිටපතක් ලබා ගැනීම සලකන විට එය සිදුකරන්නේ කිසියම ලේයරයක සිට යතුරු පුවරුවේ alt යතුර සමඟ drag කල විට එහි පිටපතක් නව ලේයරයක් වශයෙන් ලැබේ.

Move Tool Options


1◈ මෙහි දැක්වෙන move tool හි සළකුණ right click කළ විට reset tool හා reset all tools යනුවෙන් මෙනුවක් ලැබේ. photoshop මෘදුකාංගය වරක් භාවිතා කර නැවතත් අළුත් ගොනුවක් ලෙසින් විවෘත කළද කලින් භාවිතයේදි මෙහි ඇති tools වලට කරන ලද වෙනස් කම් ඒ ආකාරයෙන්ම පවතී. එබැවින් අළුතින් භාවිතා කරන විට එම tools තිබුනු තත්වයටම පත් කර ගැනීමට මෙම පහසුකම සළසා දී ඇත. මෙහි ඇති reset tool මගින් දැනට භාවිතා කරන tool එක පමණක්ද reset all tools මගින් සියළුම tools ද එහි මුල් තත්වයට පත් කර ගත හැක. photoshop භාවිතා කරන්නෙක් හැටියට නිර්මාණයක් ආරම්භයට ප්‍රථමයෙන් මේ ආකාරයට tool reset කර ගැනීම වඩා උචිත වේ.
2◈ අප සඳහන් කළ පරිදි මෙම move tool එක selecting සහ moving යන ක්‍රියාවලි 2ටම භාවිතා වේ. එබැවින් සාමාන්‍යය භාවිතයේදී යමක් select කිරීමට ctrl යතුර සමග අවශ්‍යය ලේයරය click කළ යුතුය. නමුත් අපට කෙලින්ම select කිරීම කල යුතුනම් මෙම Auto-Select යන්න active කළ යුතුයි.
3◈ මෙම drop down මෙනුවේ අංග 2ක් සහිත වේ. Group හා Layer යනු එම කොටස් 2යි. අපි නිර්මාණයක් කිරිමේදී විවිධ layers භාවිතා කිරීමට සිදුවේ. එම layers අපට group වශයෙන් තබා ගත හැක. අප කැන්වසය මත ඇති කිසියම් දෙයක් select කිරීමේදී තෝරා ගත යුත්තේ එය group එකක ඇත්නම් එම group එකද නැතිනම් ලේයරය පමණක්ද යන්න මෙමගින් වෙනස් කළ හැක.
4◈ මෙමගින් සිදු කරන්නේ අපි විසින් තෝරා ගන්නා object එකක් වටේ ඇති bounding box එක පෙන්වීම හෝ නැති කිරීම පාලනය කිරීමයි. සාමාන්‍යය භාවිතයේදී අපට select -> free transform (ctrl + T) භාවිතා කර මෙම transform controls ලබා ගත යුතු වේ.
5 - 10 දක්වා පෙන්නුම් කර ඇති විකල්ප භාවිතා කිරීමට ඔබට අවම වශයෙන් layers 2ක් වත් තිබිය යුතුය. ඒවායින් කිසියම් ලේයර කීපයක් පෙළගැස්වීම සඳහා භාවිතා කරනු ලබයි. (aligning)දැන් මේවා භාවිතා කරන ආකාරය බලමු.
මුලින්ම අළුත් පිටුවක් ලබා ගන්න.
t2 2
දැන් අලුත් layer එකක් ලබා ගන්න
im3
මීලඟට අපට භාවිතා කිරීමට රූපයක් නිර්මාණය කර ගත යුතුයි.මේ සඳහා tool box එකෙහි ඇති rectangular tool එක භාවිතා කරමු.එම tool එක තෝරාගෙන එහි options වල රූපයේ පෙන්වා ඇති විකල්පය තෝරා ගන්න.
im4
im5
දැන් අප අළුතින් ලබා ගත් ලේයරය තෝරගෙන කැන්වසය මත සෘජූකෝණාස්‍රයක් නිර්මාණය කරන්න. ඒ ආකාරයටම තවත් ලේයරයක් ලබාගෙන පෙර නිර්මාණය කළ සෘජුකෝණාස්‍රයට වඩා විශාලත්වයෙන් වෙනස් සෘජුකෝණාස්‍රයක් නිර්මාණය කරන්න.
im6
දැන් මෙම ලේයර දෙකම තෝරා ගත යුතුයි. ඒ සඳහා එක් ලේයරයක් තෝරාගෙන ctrl යතුර සමග අනිත් ලේයරයේ නම මත click කරන්න.
ඉන්පසු අපි විසින් තෝරා ගන්නා ලද ලේයර දෙකට 5-10 දක්වා පෙන්වා දී ඇති වෙනස් කම් කර බලන්න.
5◈ලේයර දෙකෙහි ඉහල දාරයන් එකම තිරස් මට්ටමට ගෙන එනු ලබයි
6◈ලේයර වල මධ්‍යය ලක්ෂයන් සමාන තිරස් මට්ටමක් කරා ගෙන එයි.
7◈ලේයරන්හි පහත මට්ටම් එකම තිරස් තලයකට ගෙන එනු ලබයි.
8◈මෙමඟින් ලේයර වල වම් අක්ශය එකම සිරස් මට්ටමක පිහිටුවයි.
9◈මෙහිදී ලේයර වල මධ්‍යය ලක්ෂයන් එකම සිරස් තලයකට ගෙන එයි.
10◈ලේයර වල දකුණු අක්ශය සිරස්ව එකම මට්ටමකට ගෙන එයි.
11-13◈ මෙම option මඟින්ද ඉහත සඳහන් කළ ආකාරයේම ක්‍රියාවක් සිදු කරනු ලබනවා. ඒවා භාවිතා කිරීමට object 2කට වඩා වැඩි ප්‍රමාණයක් අවශ්‍යය වන අතර පෙරදී සඳහන් කළ ආකාරයට තවත් රූපයක් මේ සඳහා නිර්මාණය කර ගන්න. දැන් එම රූප 3නම select කර 11-16 දක්වා පෙන්වා කර ඇති වෙනස් කම් කර බලන්න. පහත පරිදි වෙනස් වීම් ඔබට දැක බලා ගත හැක.
11◈ මෙමඟින් එම රූපවල ඉහළ අක්ශයන් අතර පරතරය සමාන කරගනු ලබයි. එය සිදු කරනු ලබන්නේ ඉහළම හා පහළම රූපයන්ගේ පරතරයට අනුරූපව ඒවා අතර පවතින් රූප සමබර කර ගැනීමකි. මෙයට සමාන ක්‍රීයවන් අනෙකුත් විකල්ප මඟින් සිදු කරයි.
12◈ රූපය්න්ගේ මධ්‍ය ලක්ෂයන්ගේ පරතරයන් සමාන කිරීම මේ තුලින් සිදුකරයි.
13◈ ඒ ආකාරයටම පහළ අක්ශයන්ගේ පරතරයන් සමාන කිරීම මෙහි අරමුණයි.
11,12,13 යන විකල්පයන්ගෙන් රූප වල තිරස් පරතරයන් පාලනය කෙරුනු අතර ඉතිරි option භාවිතා කර එහි සිරස් පරතරයන් පාලනය කරයි.
14◈ රූපයන්ගේ වම් පස අක්ෂයන්ගේ පරතරය සමාන කරයි.
15◈ රූප වල මධ්‍ය ලක්ෂ සමබර කරයි.
16◈ මෙයින් දකුණු පස අක්ෂ පිළියෙල කරයි.

Python පයිතන්



අද පටන් මම මෙම පාඩම් මාලාව Ubuntu මෙහෙයුම් පද්ධතිය පදනම් කරගෙන ඉදිරිපත් කිරීමට බලාපොරොත්තු වෙනවා. නමුත් windows භාවිතා කරන ඔබ හටත් එම කරුණුම වැඩි වෙනසක් නැතිව භාවිතා කල හැකි බවත් කිව යුතුයි. 
ඕනෑම වැඩසටහන් කරුවෙකුගේ මුල්ම වැඩසටහන වනුයේ සරල Hello world වැඩසටහනක්. එබැවින් මමත් ඔබහට මුලින්ම එවැනි වැඩසටහනක් ලියා run කරන්නේ කොහොමද කියා පැහැදිලි කරන්නම්.
Script Mode Programming:
මෙහිදී python interpreter වෙත ඔබ script parameter එකක් ලබා දුන් විට, එම script එකෙහි ආරම්භයේ සිට අවසානය දක්වා interpreter එක සම්බන්ධ වන අතර, script එකෙහි අවසානයත් සමග interpreter හි සක්‍රිය බවත් නැතිව යයි. මෙහෙම කීවට තේරුනේ නැති උනත් අද පාඩම අවසානයේ මෙහි අරුත ඔබටම වටහාගත හැකි වේවි.
සියල්ලටම කලින් අපි සරල වැඩසටහනක්, එහෙමත් නැත්නම් සරල script එකක් ලියන විදිය බලමු. ප්‍රථමයෙන් gedit හෝ එවැනි සරල text editor එකක් ගෙන පහත දැක්වෙන line කීපය ලියා, එය .py යන extension එක සහිතව save කර ගන්න.
hello_python
මෙහිදී මම ඔබේ python interpreter එක /user/bin කියන folder එක තුල තිබෙන බව අනුමාන කලා. දැන් save කරගත් .py file එක run කිරීමට පහත command එක enter කරන්න. නමුත් ඒ සියල්ලටම කලින් ඔබ එම file එක ඇති folder එක තුලට terminal එක හෝ command prompt එක හරහා ගොස් තිබිය යුතුයි. මම මෙම script එක test.py යන නමින් save කරගෙන තියෙනවා.
run_hello
එවිට ඔබට පහත ආකාරයේ output එකක දැක ගත හැකි වේවි.
output
මෙහි chmod යනුවෙන් ඇති command එක python command එකක් නොවන බව Linux භාවිතා කර පලපුරුදු ඔබ හටනම් පැහැදිලි කිරීමට අවශ්‍ය නැත. නමුත් Linux භාවිතා නොකරන හෝ ඊට ආධුනික ඔබ ඒ පිළිබඳව ලතැවීමට අවශ්‍ය නැත. Windows භාවිත කරන ඔබ එම line එක හැර දෙවන line එක පමණක් enter කරන්න.
Interactive Mode Programming:
මෙහිදී parameter එකක් ලෙස script file එකක් ලබා නොදී python interpreter එක භාවිතා කිරීම සලකා බැලේ. මේ සදහා terminal එක හෝ command prompt එකමත python යනුවෙන් type කර enter කරන්න. එවිට පහත ආකාරයේ වාක්‍ය කිපය සමග >>> යන symbol එක ලැබී තිබෙනු දක්නට ලැබෙනු ඇත.
python
දැන් print "Hello Python!" යනුවෙන් type කර enter කරන්න. එවිට පෙර මෙන්ම පහත ආකාරයේ result එකක් ලැබෙනු ඇත.
hello
මෙහිදී ඔබ python හි වඩා නව version එකක් භාවිතා කරනවා නම්, print යන statement එක සමග වරහන් ද භාවිතා කිරීමට සිදු වනු ඇත. එනම් මෙහිදී print ("Hello Python") ලෙස වෙනස් විය යුතුය.
දැන් ඔබට script mode එක මෙන්ම interactive mode එක භාවිතා කරන අකාරය පිළිබඳව සරල අවබෝධයක් ලැබෙන්නට ඇතැයි සිතමි. නමුත් ඉදිරියේදී වඩ වඩාත් සංකීර්ණ වැඩසටහන් ලියනනට ඔබට සිදුවන බවත් OOP concepts භාවිතා කිරිමට සිදුවන බවත් සිහියේ තබා ගන්න. දැන් අපි ඉදිරි පාඩම් මාලාවන් සදහා වැදගත් වන python හි තිබෙනා මූලික syntax කිපයක් වෙත අවධානය යොමු කරමු.
Python Identifiers:
Python හි variable, function, class, module හෝ වෙනත් objects හැදින්වීම සදහා භාවිතා කරන නමට පොදුවේ identifiers යනුවෙන් කියනු ලබයි. ඔබේ මනාපය පරිදි කැමති නමක් ‍තෝරා ගැනීමට හැකියව ඇතත්, ඒ සදහා ඔබ සරල නීති රීති කීපයකට එකග විය යුතුය.
මෙවැනි නමක් ඉංග්‍රිසි හෝඩියේ ඇති ඕනෑම අකුරකින් පටන් ගත හැකි අතර ඉලක්කමක් භවිතා කල හැක්කේ identifier ඒකක පලමු අකුරට පසුව පමණි.
නමුත් @, $ සහ % වැනි අකුරු python හි identifier එකක් සදහා භාවිතා කල නොහැකි බවත් සිහියේ තබා ගත යුතුය. Python යනු case sensitive programming language එකක් බැවින් Sadun යන නමත් sadun යන නමත් saDun යන නමත් එකිනෙකට වෙනස්ව python විසින් හදුනා ගනී. ඒ වගේම python හි ඊටම වෙන්වුනු වචන කීපයක් ඇති අතර, එවැනි වචනයක් python හි identifier එකක් ලෙස භාවිතා කල නොහැකි බවත් මතක තබා ගත යුතුය. මෙවැනි පද key words හෝ reserved word ලෙස හදුන්වනු ලබන අතර ඒ පිළිබඳව ඊලඟට සලකා බලමු. ඊට පෙර python identifier සදහා සම්මුතියක් ලෙස භාවිතා වන රීති කීපයක් හදුනා ගනිමු.
  • Identifier එකක් ඉංග්‍රිසි capital අකුරකින් අරම්භ කර අනෙකුත් අකුරු simple අකුරු ලෙස තැබිය යුතුය.
  • Private identifiers සදහා underscore එකකින් ආරම්භය ගත යුතුය.
  • Strongly private identifiers සදහා underscore දෙකකින් ආරම්භය ගත යුතුය.
එමෙන්ම identifier එකක මුලට මෙන්ම අවසානයටද underscore දෙකක් යොදනවා නම් එහි තේරුම වනුයේ එම identifier එක විශේෂ identifier එකක් බවයි. ඉස්සරහදී කරන උදාහරණ වලදී මේ පිළිබඳව වඩා හොදින් අවබෝධ වනු ඇත.
Reserved Words:
පහත දැක්වෙනුයේ python හි ඇති ඊටම වෙන්වුනු වචන කීපයකි. මේවා key word, එහෙමත් නැත්නම් reserved word, ලෙස හදුන්වනු ලබයි. මෙවැනි key words වල අන්තර්ගත වනුයේ ඉංග්‍රිසි හෝඩියේ simple අකුරු පමණි.
keywords
Comments in Python:
Python හි comments භාවිතා කිරීම සදහා # ලකුණ යොදාගනු ලබයි. මෙහිදී # ලකුණ යෙදීමෙන් පසුව නැවත new line එකක් එනතුරු පවතින සියලු දෑ python interpreter විසින් නොසලකා හරිනු ලබයි. එය වඩා ඔබේ හිතට කාවැදීම සදහා පහත උදාහරණය ඔබ විසින්ම සිදුකර ලැබෙන output එක පරික්ෂා කර බලන්න.
comments
Lines and Indentation:
මෙතන නම් ටිකක් හොදින් තේරුම් ගත යුතු තැනක්. මෙතෙක් අපි කථා කළ දේ වලට වඩා ටිකක් වෙනස් හා අමාරු වෙතැයි කියා සිතෙන තැනක්. එබැවින් අපි එම කොටස සවිස්තරව ඉගනගනිමු.
Python ඉගෙනගැනීමෙදී ඔබට හමුවෙන විශේෂම තැනකි මේ. එනම් python හි සඟල වරහන භාවිතා නොකිරීමයි. ඔබ මීට පෙර C, C++ හෝ java වැනි වෙනත් programming language එකක් භාවිතා කර ඇත්නම්, සඟල වරහනක් නොමතිව class, function, flow of control වැනි දේ වෙන් කරනුයේ කොහොමදැයි කියා සිතනු ඇත. නමුත් python හි ඊට වඩා සිත් ඇද ගන්නා සුළු ක්‍රමයක් හඳුන්වා දී ඇත. මෙහිදී space තැබීමේ ක්‍රමයක් මගින් පෙර සදහන් කල ආකාරයේ block වෙන් කරනු ලබයි. පෙර මෙන් අපි මෙහිදීද, උදාහරණයක් මගින් මෙම කරුණු වඩාත් හොදින් තේරුම් ගැනීමට බලමු.
indent
මෙහි පලමු print, statement දෙක if block එකට අයිති වන අතර තෙවන statement එක else block එකට අයිති වේ. මෙහිදි එකම block එකට අයිති දේ මුල සිට එකම space ගණනකින් පවතින බව ඔබට පෙනෙනු ඇත. නමුත් මෙහි print "False" යන statement එක එලෙස සමාන space ගණනකින් සමන්විත නැත. එබැවින් එය කිසිම block එකක නොපවතින බවත් ඔබට වැටහෙනු ඇත. මෙය run කිරීමට යාමේදී එම ස්ථානයේ error එකක් ඇති බව පෙන්වමින් පණිවිඩයක් ලැබෙනු ඇත. මෙහි if හා else පද පිළිබඳව පසුව විස්තර කරන බැවින් එම පද දෙක පිළිබඳව දැන්මම කරදර නොවන්න. තව තවත් ඉදිරියට යන විට මේ පිළිබඳව හොඳින් අවබෝධ කරගත හැකි වනු ඇත.
Quotation in Python:
පටන් ගත් වර්ගයෙන්ම අවසන් කරනවානම් ඔබට ඕනෑම වර්ගයක කොමාවන් (quotes) භාවිතා කල හැක. එනම් single ('), double (") සහ triple (''' හෝ """) quotes ඔබ හට අවශ්‍ය ස්ථාන වලදී භාවිතා කල හැක. නමුත් විශේෂ කරුණක් ලෙස ඔබ line කීපයක් පුරාවට වාක්‍ය කීපයක් ලිවීමේදී triple quotes භාවිතා කල හැකි බව සදහන් කල යුතුය. පහත උදාහරණයෙන් ඒ පිළිබඳව තවත් හොදින් අවබෝධ කර ගත හැක.
quotes
Using Blank Lines:
White space එනම් හිස් ඉඩ පමණක් ඇති line මෙන්ම comments කර ඇති line, Python Interpreter එක මගින් blank line ලෙස හදුනා ගනී. එමෙන්ම ඔබ interactive mode එකෙහි වැඩ කරන්නා විට, එහි multiline statement එකක් වෙන් කිරීම සදහා මෙවැනි blank line එකක් තැබිය යුතුය.

Tuesday, August 7, 2012

MySQL - Basics

MySQL - Basics
දැන් MySQL හි භාවිතා වන මූලික command ගැන සලකා බලමු.
show databases ;
දැනට පවතින MySQL Databases වල list එකක් ලබා ගැනීම සඳහා භාවිතා කරයි.
create database ;
අළුතින් database එකක් නිර්මාණය කිරීම සඳහා භාවිතා කරයි.
උදා : create database myDB ;
drop database ;
දැනට පවතින database එකක් delete කිරීම සඳහා භාවිතා කරයි.
උදා : drop database myDB ;
use ;
Database එකක් open කර ගැනීමට භාවිතා කරයි.
උදා : use myDB ;
show tables ;
දැනට Open කර ඇති database එකේ ඇති tables වල list එකක් ලබා ගැනීම සඳහා භාවිතා කරයි.
desc ;
දෙන ලද table එකක meta data ලබා ගැනීම සඳහා භාවිතා කරයි.
උදා : desc myTable ;
01
NOTE :
create සහ drop commands සඳහා if exists හෝ if not exists යන යෙදුම් භාවිතා කිරීමෙන් ඒවා‍ ක්‍රියාත්මක වීමේදී ඇතිවන errors නවතාලිය හැක. එසේ MySQL Script එකක් run කරවීමේදී ඇති විය හැකි errors අවම කලයුතු අතර මන්දයත්, මෙම errors නිසා සමහර විට අපගේ ඉතිරි commands run නොවීමට ඉඩ ඇති බැවිනි.
පැහැදිලි කිරීම :
create database myDB ; ලෙස ලබා දුන් විට දැනටමත් myDB ලෙස database එකක් පවතී නම් error එකක් ලබා දේ.
එවිට create database if not exist myDB; ලෙස ලබා දුන් විට myDB ලෙස database එකක් නැතිනම් පමණක් එය නිර්මාණය කරයි.
drop database myDB ; ලෙස ලබා දුන් විට දැනට myDB ලෙස database එකක් නැතිනම් error එකක් ලබා දේ.
එවිට drop database if exist myDB; ලෙස ලබා දුන් විට myDB ලෙස database එකක් තිබේ නම් පමණක් එය ඉවත් කරයි.

Tables නිර්මාණය කිරීම

මේ සඳහා create tablecommand එක භාවිතා කරයි.මෙහි syntax එක විස්තර කරනවාට වඩා උදාහරණ මගින් පැහැදිලි කරන විට වඩා හොඳින් අවබෝධ කරගත හැකි වනු ඇත.NOTE:
MySQL Scripts run කිරීම සඳහා අප භාවිතා කරන්නේ MySQL CommandLine Client බැවින් type කරන commands edit කර ගැනීම අපහසුය. එනිසා ඒවා වෙනම text file එකක type කර පසුව MySQL CommandLine Client හි paste කරන්න.එවිට type කල command එක දෝෂ සහගත වුවත් text file එකේ ඇති copy එක වෙනස් කර නැවත භාවිතා කල හැක.
සරල Table එකක් නිර්මාණය කිරීමට ලියා ඇති සරලම ආකාරයේ MySQL script එකක් පහත දැක්වේ.
(මෙය run කිරීමට පෙර ඔබට අවශ්‍ය database එක නිර්මාණය කර use command එක මගින් එය තුලට ඇතුලත් වී තිබිය යුතුය.)
create table student(student_id varchar(10) not null,student_name varchar(50) not null,age int(2) default 5);
මෙය කියවීමට අපහසු බැවින් පහත පරිදි එය පේලි වලට වෙන් කර type කිරීම සම්ප්‍රදායිකව සිදු කරනු ලබයි.
 create table student(
  student_id varchar(10) not null,
  student_name varchar(50) not null,
  age int(2) default 5
 );
පැහැදිලි කිරීම :
  • create table student - මෙහි student යනු නිර්මාණය වීමට අවශ්‍ය table එකේ name එක වේ.
  • ; - ඕනෑම MySQL command එකක් අවසානයේ semi-colon ( ; ) එකක් යෙදිය යුතුය.
  • student_id varchar(10) not null
    student_id යනු අදාල column එකේ name එකයි.
    varchar(10) හි varchar යනු student_id සඳහා ලබාදෙන data type එකයි. වරහන් තුල ලබා දී ඇත්තේ ඒ සඳහා තිබිය හැකි උපරිම අකුරු ගණන වේ.
    not null යන්නෙන් නිරූපණය වන්නේ student_id සඳහා අනිවාර්යෙන්ම value එකක් තිබිය යුතු බවයි.
  • student_name varchar(50) not null - ඉහත අයුරින්ම වේ.
  • age int default 5
    age යනු අදාල column එකේ name එකයි.
    int යනු age සඳහා ලබාදෙන data type එකයි.
    default 5 යන්නෙන් නිරූපණය වන්නේ age සඳහා value එකක් ලබා නොදුනහොත් ඒ සඳහා MySQL විසින් ලබාදිය යුතු default value එකයි.

Columns සඳහා යෙදිය හැකි ප්‍රධාන data types

varcharVariable Charactersඅකුරු, ඉලක්කම් වැනි ගණිතමය වටිනාකමක් රහිත විවිධ දිගින් යුත් text සඳහා භාවිතා කරයි.
උපරිම අකුරු ගණන 255 කි.

උදා :
varchar(10) ලෙස ඇති නම් උපරිම වශයෙන් අකුරු 10 කින් යුත් text සඳහා භාවිතා කරයි.
charCharactersදී ඇති නිශ්චිත දිගකින් යුත් අකුරු, ඉලක්කම් වැනි ගණිතමය වටිනාකමක් රහිත text සඳහා භාවිතා කරයි.
උපරිම අකුරු ගණන 255 කි.

උදා :
nic char(10) ලෙස ඇති නම් අනිවාර්යෙන් අකුරු 10 කින් යුත් text සඳහා භාවිතා කරයි.
intIntegersනිඛිල (Integers) ගබඩා කිරීමට භාවිතා කරයි.
-2147483648 සිට 2147483647 දක්වා හෝ 0 සිට 4294967295 දක්වා UNSIGNED (ධන සංඛ්‍යා පමණක්) වශයෙන් භාවිතා කලහැක.

උදා :
int points ලෙස ඇති නම්
int age unsigned ලෙස ඇති නම් තිබිය හැක්කේ ධන සංඛ්‍යා පමණි.

int(5) වශයෙන් ලියූ විට ZeroFill on කර තිබේ නම් ඉලක්කමක අනිවාර්යෙන් තිබිය යුතු ඉක්කම් ගණන නිරූපණය කලහැක.එම ඉලක්කම් ගණනට අඩුවෙන් ඉලක්කම් ඇති අගයක් දුන් විය ඉතිරිය 0 වලින් පිරේ.

උදා :
int(5) distance unsigned zerofill ලෙස ඇති විට එම column එකට 3 ඇතුලත් කල විට එය ගබඩා වන්නේ 00003 ලෙසයි.
doubleFloating Point Numbersදශම සංඛ්‍යා ගබඩා කිරීමට භාවිතා කරයි.
-1.7976931348623157E+308 සිට -2.2250738585072014E-308 දක්වා, 0, සහ 2.2250738585072014E-308 සිට 1.7976931348623157E+308 ඉලක්කම් භාවිතා කලහැක.
double(7,2) වශයෙන් ලියූ විට ගබඩා කලහැකි ඉලක්කම් වල උපරිම වශයෙන් සංඛ්‍යා 7ක් ද දශම තිතෙන් පසුව උපරිම වශයෙන් ඉලක්කම් 2 ක් ද තිබිය හැකි බව නිරූපණය කලහැක.

උදා :
qty double(6,2) ලෙස ඇති නම් උපරිම වශයෙන් ඉලක්කම්(දශම සංඛ්‍යාද ඇතුළුව) 6 ක් තිබිය හැකි අතර දශම කොටසේ ඉලක්කම් 2ක් උපරිම වශයෙන් තිබිය හැකි බව නිරූපණය කරයි.
booleanTrue/Falsetrue හෝ false ගබඩා කර ගබා ගනී.

උදා :
isProcessed boolean
dateDateYYYY-MM-DD ආකාරයේ දිනයක් ගබඩා කර ගබා ගනී.
'1000-01-01' සිට '9999-12-31' දක්වා දිනයන් ඇතුලත් කලහැක.

උදා :
joinedDate date
timeTimeHH:MM:SS ආකාරයේ වේලාවක් ගබඩා කර ගබා ගනී.
'-838:59:59' සිට '838:59:59' දක්වා වේලාවන් ඇතුලත් කලහැක.

උදා :
retunTime time
datetimeDate & TimeYYYY-MM-DD HH:MM:SS ආකාරයෙන් දිනයක් සහ වේලාවක එකතුවක් ගබඩා කර ගබා ගනී.
'1000-01-01 00:00:00' සිට '9999-12-31 23:59:59' දක්වා ඇතුලත් කලහැක.

උදා :
fileCreated datetime

MySQL - හැඳින්වීම

MySQL - හැඳින්වීම

mysql
MySQL යනු SQL(Structured Query Language) මගින් ව්‍යුත්පන්න වූ Free and Open DBMS(Database Management System) එකකි. මෙය Server එකක් ලෙස ක්‍රියා කරන බැවින් එය හා සම්බන්ධ වීමට අපට තවත් මෘදුකාංග ඉතා සහසුවෙන් භාවිතා කල හැක.තවද වෙනත් පරිගණක භාෂාවන් සමඟ වුවද ඉතාමත් පහසුවෙන් සම්බන්ධ කල හැකි නිසා අද වන විට ඉතාමත් ජනප්‍රිය වී ඇත.එමෙන්ම මෙය පරිගණක ජාලයක් තුල වුවද ඉතාමත් පහසුවෙන් ස්ථාපිත කර භාවිතා කලහැකි බැවින් Servers වල දත්ත කළමණාකරණය සදහා භාවිතා කරන ප්‍රභල මෙවලමක් වී ඇත.

MySQL හි විශේෂතා

  • MySQL Server එක සඳහා අවශ්‍ය වන ඉඩ ප්‍රමාණය අඩුය.(උපරිම වශයෙන් 100Mb)
  • ස්ථාපනය කිරීමට වෙනත් Software අනවශ්‍යයි.
  • වෙනත් පරිගණක භාෂා(Java,PHP) මගින් පහසුවෙන් MySQL Server එකට සම්බන්ධ විය හැක.
  • සාමාන්‍ය ඉංග්‍රීසි වචන භාවිතා වන නිසා ඉගෙන ගැනීම සහ භාවිතය පහසුය.

MySQL භාවිතා කිරීමට නම්....

  • පළමුව MySQL Server එක download කරගෙන install කරගත යුතුය.
  • Server Side Programming කිරීමට බලාපොරොත්තු වේ නම්(උදා:PHP) WAMP,XAMPP,LAMP වැනි Package එකක් වුවද install කර ගතහැක.
  • එය නිවැරදිය configure කරගත යුතුය.
  • Third Party Software අවශ්‍ය නම් ඒවාද install කර ගන්න.
  • උදා:
    • MySQL Query Browser
    • Heidi SQL
    • MySQL GUI Tools
    • MySQL Administrative Tools
    • PHPMyAdmin(PHP සහිත server එක්ක භාවිතා කරන්නේ නම් පමණි.)
  • දත්ත සමුදා කළමණාකරණය ගැන න්‍යායික දැනුම.
  • නිවැරදිව Database එකක් නිර්මාණය කර එය නිවැරදිව හා කාර්යක්ෂමව ක්‍රියා කරවීම සදහා න්‍යායික කරුණු අත්‍යාවශ්‍ය වේ

පර්යන්ත උපක‍්‍රම (Peripheral Devices)

පර්යන්ත උපක‍්‍රම (Peripheral Devices)
 
පරිගණක පද්ධතියට සම්බන්ධ/ඈඳුම් (connect) කර ඇති උපක‍්‍රම පර්යන්ත උපක‍්‍රම ලෙස හැඳින්වේ. මේවා ප‍්‍රධාන සැකසුම් ඒකකයේ (Central Processing Unit - CPU) පිටතින් පවතින නමුත් පරිගණකයේ පාලනය සතු වේ. පර්යන්ත උපක‍්‍රම ප‍්‍රධාන වශයෙන් කොටස් තුනකට බෙදා වෙන්කර දැක්විය හැකිය.
1. ආදාන උපක‍්‍රම (Input devices)
2. ප‍්‍රතිදාන උපක‍්‍රම (Output devices)
3. ගබඩා උපක‍්‍රම (Storage devices)


පරිගණක පද්ධතියකට සැකසීම (Process) සඳහා දත්ත ඇතුළත් කරන උපක‍්‍රම ආදාන උපක‍්‍රම ලෙස හැඳින්වේ. එසේ පරිගණකය මඟින් සකසන ලද දත්ත පරිගණකයෙන් පිට කිරීම (Output) සඳහා යොදාගන්නා උපක‍්‍රම ප‍්‍රතිදාන උපක‍්‍රම (Output devices) ලෙස හැඳින්වේ. ඇතැම් උපක‍්‍රම භාවිත කරන්නේ දත්ත ගබඩා කර තබාගැනීම පිණිසය. මේවා ගබඩා උපක‍්‍රම (Storage devices) ලෙස හැඳින්වේ.
ප‍්‍රදාන ප‍්‍රතිදාන ගබඩා
(input) (Output) (storage)
මූසිකය (mouse) මුද්‍රකය (Printer) දෘඩතැටිය (Hard disk)
යතුරු පුවරුව (Key board) ස්පීකරය (Speaker) නම්‍ය තැටිය (Floppy disk)
සංගෘහිත තැටි ධාවක(CD players)
නම්‍ය තැටි ධාවක (Floppy disk drive)






අප දැන් මුලින්ම ප‍්‍රදාන උපක‍්‍රම (Input devices) අධ්‍යයනය කරමු.

1. මූසිකය (Mouse)

පරිගණක තිරයේ ඇති කර්සරය (Curser) චලනය කිරීමට හෝ යමක් සක‍්‍රිය (Activate) කිරීමට අවශ්‍ය වූ විට මූසිකය යොදා ගනී. භාවිත කරන්නාගේ අතෙහි චලනය සහ තද කිරීම් (Click) සංවේදනය කර, ඒවා පරිගණකය වෙත සංඥා ලෙස ලබාදීම මෙමඟින් සිදුකරයි. එවිට පරිගණකය මඟින් ඊට අදාලව ඉක්මණින් ප‍්‍රතිචාර (Response) ලැබේ. මූසික ක‍්‍රියාත්මක වන ආකාරය අනුව දෙවර්ගයකි.
  • සාමාන්‍ය මූසිකය (Normal mouse)
  • ප‍්‍රකාශ මූසිකය (Optical mouse)

  • වර්තමානයේ ප‍්‍රකාශ මූසිකය ඉතා ප‍්‍රචලිත වී ඇත. ඊට හේතුව ඒවා ඕනෑම මුහුණතක් මත (Surface) තබා භාවිත කිරීමට හැකි වීමයි. නඩත්තු කිරීමේ අවශ්‍යතාවය අඩුවීම ද මෙහි ඇති වාසියකි.
    පරිගණක යතුරු පුවරු (Computer Keyboard)

  • යතුරු -101 වැඩි දියුණු කරන ලද යතුරු පුවරුව (101-Key Enhanced Keyboard)
  • යතුරු -104 වින්ඩෝස් යතුරු පුවරුව (104-Key Windows Keyboard)
  • යතුරු -82 ඇපල යතුරු පුවරුව (82-Key Apple Standard Keyboard)
  • යතුරු -108 ඇපල් දිගු යතුරු පුවරුව (108-Key Apple Extended Keyboard)

  • ඕනෑම යතුරු පුවරුවක පහත දැක්වෙන යතුරු ආකාර 4 පවතී.
  • ටයිප් කරන යතුරු (Typing Keys)
  • අංකමය යතුරු පුවරුව (Numeric Keypad)
  • ක‍්‍රියාකාරී යතුරු (Function Keys)
  • පාලන යතුරු (Control Keys)

ටයිප් කිරීම සඳහා අක්‍ෂර යතුරු (Letter keys) භාවිතා වේ. මෙම අක්‍ෂර වල පිහිටීම සමාන්‍ය යතුරු ලියනයක (Type writer) යතුරු වල පිහිටීම ගනී. බොහෝ යතුරු පුවරු (Qwerty) වින්‍යාසය ගනී. එනම්, යතුරු පුවරුවේ මුල් කොටසේ එක පිළිවෙලට ඇති අක්‍ෂර පිළිවෙල (Qwerty) යි. යතුරු 17 කින් සමන්විත අංක සහ කාරක (Operators) වලින් සැදුම් ලත් කොටස අංකමය යතුරු පුවරුවයි. (Numeric keypad) මෙහි අරමුණ වන්නේ ඉක්මණින් පරිගණකය වෙත දත්ත ඇතුළත් කිරීමයි. යතුරු පුවරුවේ ඉහළ කොටසේ එක පෙළට ඇති විශේෂ කි‍්‍රයාකාරී යතුරු (Function keys) ලෙස හැඳින්වේ. පරිගණකයේ මෙහෙයුම් පද්ධතියට (Operating system) මෙම යතුරු වලට විවිධ විධාන (Commands) පැවරීමට හැකියාව ඇත. කර්සරයේ (Curser) හා තිරයේ (Screen)ඇති යම් යම් දේ පාලනය කිරීමට පාලන යතුරු (Control keys) යොදා ගනී. කර්සරයේ පිහිටීම කුඩා අවකාශ (space)වල සිට විශාල පරතරයක් දක්වා වෙනස් කිරීමට ඊ සළකුණු යතුරු (Arrow keys) සහ (Tab) යතුර භාවිතා කළ හැක. තවද, ලිපි ලේඛනයක් (Document) කියවීමේ දී (Home, End, Page, up, Page down)වැනි පාලන යතුරු වල උපකාරය ද ලබාගත හැක. ඇතැම් වින්ඩෝස් යතුරු පුවරු වල අමතර පාලන යතුරු තිබේ. උදාහරණ ලෙස (Winkey) දැක්විය හැකිය. මෙය තද කිරීමෙන් ඔබට වින්ඩෝස් හි (‘Start menu’) ක්‍ෂණිකව විවෘත කරගැනීමට හැකිය. මීට අමතරව පරිගණකයේ ශබ්දය අඩු වැඩි කිරීමට, විද්‍යුත් තැපැල් ලිපි වලට යාමට සහ තවත් විවිධ කාර්යයන් සඳහා පාලන යුතුරු ඇතැම් යතුරු පුවරු වලට ඇතුළත් කර තිබේ.
යතුරු වර්ග උදාහරණ



  • ටයිප් කරන යතුරු A....Z, spacebar, tab,shift




  • අංකමය යතුරු 0-9, *, 1,




  • ක‍්‍රියාකාරී යතුරු F1 - F




  • පාලන යතුරු Home, End, Insert, Delete, Page up, Page down, Control, Alternate, Escape


  • නම්‍ය තැටි (Floppy Disk)

    නම්‍ය තැටි කැසට් පටයකට (Cassette tape) බොහෝ සෙයින් සමානය. එහි චුම්භකනය (Magnetize) කළ හැකි ද්‍රව්‍යයක් අලේපිත වෘත්තාකාර ප්ලාස්ටික් තහඩුවක් අඩංගු වේ. ප‍්‍රමාණයෙන් මේවා අඟල් 3 1/2 සිට අඟල් 5 1/2 ලෙස ලබාගත හැකි අතර, භාවිත කරන්නාට අවශ්‍ය නම් එහි අඩංගු දත්ත වෙනත් අයට භාවිතා කිරීමට හෝ වෙනස් කිරීමට (Modify)නොහැකි වන අන්දමින් එය යතුරු ලීමට (Lock) හැක. අඟල් 3 1/2 තැටියක ධාරිතාව මෙගා බයිට් 1.44 :1ග44 ඵඊ* වේ.

    තොරතුරු ක්‍ෂණිකව ගබඩා කරීමට ඇති හැකියාව, ඒවා මැකීමට :ෑර්ිැ* හැකිවීම, නැවත නැවතත් භාවිතා කිරීමට හැකි වීම (Reuse) , මිලෙන් අඩුවීම සහ භාවිතයට පහසු වීම නම්‍ය තැටි වල ඇති වාසි වේ.

    නමුත් ධාරිතාව අඩුවීම මේවායේ ඇති ප‍්‍රධාන අවාසියයි.