පරිගණක මෘදුකාංග (Software) යනු කුමක්ද?
පරිගණකයේ "ආත්මය" ලෙස ක්රියා කරන, දෘඩාංගවලට පණ පොවන මෘදුකාංග ලෝකය පිළිබඳ සවිස්තරාත්මක විග්රහයක්.
අපගේ පසුගිය ලිපියෙන්, අපි පරිගණකයක භෞතික ශරීරය වන **දෘඩාංග (Hardware)** පිළිබඳව ගැඹුරින් අධ්යනය කළෙමු. CPU, RAM, Motherboard වැනි ඒ සියලුම කොටස් තිබුණද, ඒවාට කුමක් කළ යුතුදැයි කියන උපදෙස් මාලාවක් නොමැතිව, ඒවා හුදෙක් පණ නැති ඉලෙක්ට්රොනික උපකරණ ගොඩක් පමණි. අන්න ඒ උපදෙස් මාලාවට, එනම් පරිගණකයේ "සිතුවිලි", "දැනුම" සහ "ආත්මය" ට තමයි අපි **මෘදුකාංග (Software)** යැයි කියන්නේ.
පරිගණකයක් යනු පොතක් නම්, දෘඩාංග යනු එහි කඩදාසි, කවරය සහ තීන්තයි. මෘදුකාංග යනු එම පොතේ ලියා ඇති කතාව, අදහස් සහ භාෂාවයි. කතාවක් නොමැති පොතකින් වැඩක් නැති සේම, දෘඩාංගවලටද මෘදුකාංග නොමැතිව කිසිදු කාර්යයක් කළ නොහැක. මේ දෙකේම පරිපූර්ණ සංකලනයෙන් තමයි අද අප භාවිතා කරන බලවත් පරිගණක පද්ධති නිර්මාණය වන්නේ.
මෙම ලිපියෙන්, අපි මෘදුකාංග ලෝකය තුළට කිමිදී, එහි ප්රධාන වර්ග, එක් එක් වර්ගයේ කාර්යභාරය, සහ ඒවා අපගේ ඩිජිටල් ජීවිතයට බලපාන ආකාරය පිළිබඳව සවිස්තරාත්මකව ඉගෙන ගනිමු.
මෙම ලිපියෙන් ආවරණය වන දේ:
- මෘදුකාංග යනු සැබවින්ම කුමක්ද?
- මෘදුකාංගවල ප්රධාන වර්ග දෙක: පද්ධති මෘදුකාංග (System Software) සහ යෙදුම් මෘදුකාංග (Application Software).
- පරිගණකයේ රජු වන මෙහෙයුම් පද්ධතිය (Operating System) පිළිබඳ ගැඹුරු විග්රහයක්.
- අප එදිනෙදා භාවිතා කරන විවිධ යෙදුම් මෘදුකාංග සහ ඒවායේ කාර්යයන්.
- මෘදුකාංග බෙදාහරින ආකාරය: Proprietary, Open-Source, Freeware සහ Shareware.
1. මෘදුකාංගවල ප්රධාන කුළුණු දෙක (The Two Main Pillars of Software)
සියලුම පරිගණක මෘදුකාංග, ඒවායේ ක්රියාකාරීත්වය සහ අරමුණ අනුව, ඉතා පැහැදිලි ප්රධාන කාණ්ඩ දෙකකට වෙන් කළ හැක. මෙම වෙනස තේරුම් ගැනීම මෘදුකාංග ලෝකය අවබෝධ කර ගැනීමේ පළමු පියවරයි.
1. පද්ධති මෘදුකාංග (System Software)
මෙය පරිගණකයේ දෘඩාංග (Hardware) කළමනාකරණය කිරීමට සහ පාලනය කිරීමට නිර්මාණය කර ඇති මෘදුකාංග වර්ගයයි. එය පරිශීලකයා සහ දෘඩාංග අතර මෙන්ම, යෙදුම් මෘදුකාංග සහ දෘඩාංග අතරද අතරමැදියෙකු ලෙස ක්රියා කරයි. මෙය වේදිකාව සකසන, තිරය පිටුපස සිටින කළමනාකරු වැනිය.
2. යෙදුම් මෘදුකාංග (Application Software)
මෙය පරිශීලකයාගේ (end-user) නිශ්චිත කාර්යයක් ඉටු කර ගැනීම සඳහා නිර්මාණය කර ඇති මෘදුකාංග වර්ගයයි. අපි පරිගණකයෙන් "වැඩක්" කරගන්නවා යැයි කියන විට, අපි සෘජුවම භාවිතා කරන්නේ යෙදුම් මෘදුකාංගයි. මෙය වේදිකාව මත රඟ දක්වන, අපට පෙනෙන නළුවා වැනිය.
2. තිරය පිටුපස කළමනාකරු: පද්ධති මෘදුකාංග (System Software) 🖥️
පද්ධති මෘදුකාංග නොමැතිව, පරිගණකය යනු පණ ගැන්වීමටවත් නොහැකි ලෝහ සහ ප්ලාස්ටික් ගොඩකි. යෙදුම් මෘදුකාංගවලට ක්රියාත්මක වීමට අවශ්ය මූලික වේදිකාව සහ පරිසරය සකසා දෙන්නේ පද්ධති මෘදුකාංග මගිනි.
2.1 මෙහෙයුම් පද්ධතිය (The Operating System - OS)
මෙහෙයුම් පද්ධතිය යනු පරිගණකයේ ඇති **වඩාත්ම වැදගත් සහ මූලිකම** පද්ධති මෘදුකාංගයයි. එය පරිගණකයේ සියලුම දෘඩාංග සම්පත් (CPU, Memory, Storage) සහ අනෙකුත් සියලුම මෘදුකාංග කළමනාකරණය කරන ප්රධාන වැඩසටහනයි.
OS එකක මූලික කාර්යයන් (Core Functions of an OS)
- ක්රියාවලි කළමනාකරණය (Process Management): ඔබ එකවර Word, Chrome, සහ VLC Media Player ක්රියාත්මක කරන විට, ඒ සෑම එකක් සඳහාම CPU එකේ කාලය සාධාරණව බෙදා දී, ඒවා එකිනෙක ගැටීමකින් තොරව ක්රියාත්මක කරවන්නේ OS එක මගිනි.
- මතක කළමනාකරණය (Memory Management): පරිගණකයේ RAM මතකය, ක්රියාත්මක වන වැඩසටහන් සඳහා අවශ්ය පරිදි වෙන් කිරීම, ඒවා අවසන් වූ පසු එම මතකය නිදහස් කිරීම, සහ එක් වැඩසටහනකට තවත් වැඩසටහනක මතකයට අනවසරයෙන් පිවිසීමට ඉඩ නොදී ආරක්ෂා කිරීම OS එකේ වගකීමකි.
- ගොනු කළමනාකරණය (File Management): ඔබගේ සියලුම files සහ folders, Hard Drive එකේ ක්රමවත් ලෙස ගබඩා කිරීම, ඒවා නම් කිරීම, පිටපත් කිරීම, මැකීම, සහ ඒවායේ ආරක්ෂාව තහවුරු කිරීම සිදු කරයි.
- උපාංග කළමනාකරණය (Device Management): යතුරුපුවරුව, මවුසය, මුද්රණ යන්ත්රය වැනි දෘඩාංග උපාංග, Device Drivers නම් කුඩා මෘදුකාංග හරහා පාලනය කර, ඒවා යෙදුම් මෘදුකාංග සමඟ සන්නිවේදනය කරවයි.
- පරිශීලක අතුරුමුහුණත (User Interface - UI): පරිශීලකයාට පරිගණකය සමඟ ගනුදෙනු කිරීමට මාර්ගයක් සලසා දෙයි.
- GUI (Graphical User Interface): Icons, Windows, Menus වැනි චිත්රක අංග භාවිතා කරයි. (උදා: Windows, macOS).
- CLI (Command Line Interface): පෙළ (text) විධාන ටයිප් කිරීම මගින් ක්රියා කරයි. (උදා: MS-DOS, Linux Terminal).
2.2 උපයෝගිතා මෘදුකාංග (Utility Software)
මේවා පරිගණකය නඩත්තු කිරීමට, එහි ක්රියාකාරීත්වය ප්රශස්ත කිරීමට (optimize), සහ ආරක්ෂා කිරීමට උදව් වන කුඩා වැඩසටහන් වේ.
- ප්රති-වයිරස මෘදුකාංග (Antivirus Software): පරිගණකයට හානි කළ හැකි වෛරස්, වර්ම්ස්, ට්රෝජන් වැනි අනිෂ්ට මෘදුකාංග (Malware) වලින් පරිගණකය ආරක්ෂා කරයි. (උදා: Kaspersky, Avast, Norton).
- ගොනු සංකෝචන මෙවලම් (File Compression Tools): ගොනුවක ප්රමාණය අඩු කර, ගබඩා කිරීමට සහ අන්තර්ජාලය හරහා යැවීමට පහසු කරයි. (උදා: WinRAR, 7-Zip).
- උපස්ථ මෘදුකාංග (Backup Software): ඔබගේ වැදගත් දත්තවල පිටපත් (backups) නිර්මාණය කර, දෘඪ තැටියට හානියක් වුවහොත් එම දත්ත නැවත ලබා ගැනීමට (restore) ඉඩ සලසයි.
- තැටි කළමනාකරණ මෙවලම් (Disk Management Tools): දෘඪ තැටියේ ඇති අනවශ්ය ගොනු ඉවත් කිරීමට (Disk Cleanup) සහ ගොනු ක්රමවත්ව සකස් කර වේගය වැඩි කිරීමට (Disk Defragmenter) උදව් වේ.
3. වේදිකාවේ නළුවා: යෙදුම් මෘදුකාංග (Application Software) 👨💻
යෙදුම් මෘදුකාංග (Apps) යනු අප පරිගණකයක් භාවිතා කරන ප්රධානතම හේතුවයි. ලිපියක් ලිවීමේ සිට, චිත්රපටයක් නැරඹීම, මිතුරන් සමඟ කතා කිරීම, සහ අන්තර්ජාලයේ සැරිසැරීම දක්වා අප කරන සෑම කාර්යයක් සඳහාම යෙදුම් මෘදුකාංගයක් පවතී.
යෙදුම් මෘදුකාංග වර්ග සහ උදාහරණ
- වදන් සැකසුම් (Word Processing): ලිපි, වාර්තා, සහ ලේඛන නිර්මාණය කිරීමට සහ සංස්කරණය කිරීමට. (උදා: Microsoft Word, Google Docs, LibreOffice Writer).
- විතුරුම් පත් (Spreadsheet): දත්ත වගුගත කිරීමට, සංකීර්ණ ගණනය කිරීම් කිරීමට, සහ ප්රස්තාර (charts) නිර්මාණය කිරීමට. (උදා: Microsoft Excel, Google Sheets, LibreOffice Calc).
- ඉදිරිපත් කිරීම් (Presentation): දේශන සහ ඉදිරිපත් කිරීම් සඳහා slides නිර්මාණය කිරීමට. (උදා: Microsoft PowerPoint, Google Slides, Apple Keynote).
- වෙබ් බ්රව්සර් (Web Browsers): අන්තර්ජාලයේ ඇති වෙබ් අඩවි වලට පිවිසීමට සහ තොරතුරු ලබා ගැනීමට. (උදා: Google Chrome, Mozilla Firefox, Microsoft Edge).
- බහුමාධ්ය (Multimedia Software):
- Media Players: වීඩියෝ සහ සංගීතය වාදනය කිරීමට (උදා: VLC Media Player, Windows Media Player).
- Photo Editors: ඡායාරූප සංස්කරණය කිරීමට (උදා: Adobe Photoshop, GIMP).
- Video Editors: වීඩියෝ සංස්කරණය කිරීමට (උදා: Adobe Premiere Pro, DaVinci Resolve).
- සන්නිවේදන (Communication Software):
- Email Clients: විද්යුත් තැපැල් කළමනාකරණයට (උදා: Microsoft Outlook, Gmail).
- Instant Messaging: ක්ෂණික පණිවිඩ යැවීමට (උදා: WhatsApp, Telegram, Facebook Messenger).
4. මෘදුකාංග නිර්මාණය සහ බෙදාහැරීම (Software Creation & Distribution)
මෘදුකාංගයක් යනු පරිගණක ක්රමලේඛකයන් (programmers) විසින් C++, Java, Python වැනි ක්රමලේඛන භාෂාවක් (programming language) භාවිතා කර ලියන ලද කේතයකි. මෙම මෘදුකාංග අප වෙත ලැබෙන ආකාරය සහ ඒවා භාවිතා කිරීමේ නීති රීති අනුවද වර්ගීකරණයක් පවතී.
හිමිකාරී මෘදුකාංග (Proprietary Software)
මෙම මෘදුකාංගවල කතු අයිතිය (copyright) පුද්ගලයෙකුට හෝ සමාගමකට අයත් වේ. එහි මූල කේතය (source code) රහසිගතව තබා ගන්නා අතර, පරිශීලකයාට එය භාවිතා කිරීමට බලපත්රයක් (license) මිලදී ගැනීමට සිදු වේ. ඔබට එය වෙනස් කිරීමට හෝ පිටපත් කර බෙදා හැරීමට නීතිමය අවසරයක් නැත.
- උදාහරණ: Microsoft Windows, Microsoft Office, Adobe Photoshop.
නිදහස් හා විවෘත මූලාශ්ර මෘදුකාංග (Free and Open-Source Software - FOSS)
මෙහි "Free" යන්නෙන් "නිදහස" අදහස් කෙරේ. මෙම මෘදුකාංගවල මූල කේතය (source code) ඕනෑම කෙනෙකුට බැලීමට, අධ්යනය කිරීමට, වෙනස් කිරීමට, සහ බෙදා හැරීමට සම්පූර්ණ නිදහස ඇත. මේවා බොහෝ විට ප්රජා සහභාගීත්වයෙන් (community-driven) දියුණු කෙරේ.
- උදාහරණ: Linux මෙහෙයුම් පද්ධතිය, Mozilla Firefox වෙබ් බ්රව්සරය, VLC Media Player, GIMP photo editor.
Freeware සහ Shareware
- Freeware: මෙම මෘදුකාංග නොමිලයේ භාවිතා කළ හැකි නමුත්, ඒවා හිමිකාරී (proprietary) වන අතර, මූල කේතය ලබා නොදේ. (උදා: Google Chrome, Skype).
- Shareware: මෙය "මිලදී ගැනීමට පෙර අත්හදා බලන්න" (try-before-you-buy) ක්රමයයි. ඔබට নির্দিষ্ট කාලයක් (උදා: දින 30ක්) නොමිලයේ භාවිතා කර, ඉන්පසු දිගටම භාවිතා කිරීමට අවශ්ය නම් මුදල් ගෙවා බලපත්රයක් ලබා ගත යුතුය.
සාරාංශය (Conclusion) ✨
මෘදුකාංග යනු පරිගණක දෘඩාංගවලට පණ දී, ඒවා අපට ප්රයෝජනවත් මෙවලම් බවට පත් කරන අදෘශ්යමාන බලවේගයයි. එය නොමැතිව, ලොව බලවත්ම සුපිරි පරිගණකය පවා හුදෙක් නිෂ්ඵල යකඩ ගොඩක් පමණි.
අපි මෙම ලිපියෙන් ඉගෙන ගත් පරිදි:
- පද්ධති මෘදුකාංග යනු දෘඩාංග කළමනාකරණය කරන, තිරය පිටුපස ක්රියාත්මක වන පදනමයි. මෙහෙයුම් පද්ධතිය (OS) එහි ප්රධානියා වේ.
- යෙදුම් මෘදුකාංග යනු අපගේ එදිනෙදා කාර්යයන් සඳහා අප සෘජුවම භාවිතා කරන, වේදිකාව මත ක්රියාත්මක වන මෙවලම් වේ.
- දෘඩාංග යනු ශරීරය නම්, මෘදුකාංග යනු එහි ආත්මයයි. මේ දෙකේම පරිපූර්ණ එකමුතුවෙන් තොරව පරිගණක පද්ධතියක් පැවතිය නොහැක.
පරිගණකයක භෞතික සහ තාර්කික කොටස් වන දෘඩාංග සහ මෘදුකාංග පිළිබඳව දැන් ඔබට මනා අවබෝධයක් ඇත. අපගේ මීළඟ ලිපියෙන්, මෙම පරිගණක පද්ධති එකිනෙක සම්බන්ධ වී ලෝකයම එකට යා කරන **අන්තර්ජාලය (Internet)** පිළිබඳ මූලික කරුණු ගවේෂණය කරමු!