Search
Search titles only
By:
Search titles only
By:
Log in
Register
Search
Search titles only
By:
Search titles only
By:
Menu
Install the app
Install
Forums
New posts
All threads
Latest threads
New posts
Trending threads
Trending
Search forums
What's new
New posts
New ads
New profile posts
Latest activity
Free Ads
Latest reviews
Search ads
Members
Current visitors
New profile posts
Search profile posts
Contact us
Latest ads
Google Pixel 9 Pro
vgp
Updated:
Yesterday at 5:57 PM
Ad icon
Jobreceive.com for sale
Blogerwiki
Updated:
Tuesday at 8:55 PM
Post Your Vehicle for Sale — FREE! - https://libro.lk
Kalu_Puth
Updated:
Tuesday at 7:38 PM
ඔයාගෙ Assignment හෝ Thesis එක හරියට හදාගමු
ErMurazor
Updated:
Saturday at 10:52 PM
Ad icon
BlackWall V2ray servers
hu KANNA
Updated:
Sep 23, 2026
Electronics
Vehicles
Property
Search
Reply to thread
Forums
General
ElaKiri Help
IT ගුරු ගෙදර
Get the App
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
<blockquote data-quote="codegeek" data-source="post: 15178212" data-attributes="member: 405480"><p><span style="font-size: 22px">පරිගණක මෙහෙයුම් පද්ධතිය (Operating System) අර්ථ දක්වා පරිගණක පද්ධතියක් තුල එහි අවශ්යතාව විමර්ශනය කිරීම.</span></p><p><span style="font-size: 22px">උපුටා ගැනීම <a href="http://www.fit2school.com/2013/04/61-operating-system.html" target="_blank">http://www.fit2school.com/2013/04/61-operating-system.html</a></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">පරිඝණකයකින් වැඩ කර ගැනීම සඳහා මෙහෙයුම් පද්ධතියක් (OS) අත්යාවශ්ය බව අපි හැමෝම දන්නවා. පරිඝණක වල පමණක් නොවේ, Smart phone වලින් Tablet PC වලින් හා සංකීර්ණ යන්ත්ර සූත්ර වලින් වැඩ ගන්නත් OS අවශ්ය වෙනවා. සංකීර්ණ යන්ත්ර සූත්ර මෙහෙයවන programs හැඳින්වෙන්නේ Embedded Systems කියායි. මේ OS කියන්නෙ මොකක්ද, පරිඝණකයක් කොහොමද OS එකකින් වැඩ ගන්න පුලුවන් තත්වයට පත්වෙන්නෙ, OS වර්ග මොනවාද, ඇයි අපිට OS එකක් ඇත්තටම අවශ්ය යන කරුණු ගැන වැඩිදුර විස්තර අපි මේ ලිපියෙන් විමසා බලමු.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">OS එකක් යනු පරිශීලකයා හා පරිඝණකයේ දෘඩාංග අතර සන්නිවේදනය සිදු කරන අතුරුමුහුණතයි (interface). ප්රධාන වශයෙන් එය විධි 2කට දකින්න පුලුවන්.</span></p><p><span style="font-size: 22px">සම්පත් කළමණාකරණය (resource manager)</span></p><p><span style="font-size: 22px">එකම සම්පතට අයැදුම් (request) 2ක් ආ විට කාර්යක්ෂමතාව හා සාධාරණ භාවිතය පිලිබඳ සලකා බලා එය වෙන් කරයි</span></p><p><span style="font-size: 22px">පාලන ක්රමලේඛයක් (control program)</span></p><p><span style="font-size: 22px">දෝෂ වැලැක්වීම සඳහා හා පරිඝණකය අවිධිමත් භාවිතයෙන් වලක්වා ගැනීම සඳහා ක්රමලේඛවල (programs) ක්රියාකාරීත්වය පාලනය කිරීම.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">වම් පස රූපයෙන් දැක්වෙන්නේ පරිඝණක පද්ධතියක් ප්රධාන කොටස් 4 වන පරිශීලකයා (user), යෙදුම් ක්රමලේඛ (application program), OS එක හා දෘඩාංග (hardware) යන ඒවා එකිනෙකට සම්බන්ධ වන ආකාරයයි. මේ අනුව යෙදුමකට යම් hardware එකක් භාවිතා කිරීමට අවශ්ය නම් එය කිරීමට සිදුවන්නේ OS එක හරහායි. OS එකක හරය වන්නේ එයි කර්නලයයි (kernel). කර්නලය, ආම්පන්න ධාවක (device drivers), වැඩතල පරිසරය (desktop environment) සහ තවත් දෑ එකතු වෙලා තමයි OS එක හැදෙන්නේ. අපි දන්නා OS කිහිපයක kernel පහත දැක්වෙනවා.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">WindowsNT kernel – Windows NT, 2000, XP, Vista, 7, 8</span></p><p><span style="font-size: 22px">Linux kernel – ලිනක්ස් පාදක OS වල (Linux, Ubuntu, Fedora, Android ආදිය)</span></p><p><span style="font-size: 22px">XNU kernel – Mac OS X, iOS</span></p><p><span style="font-size: 22px">Unix kernel- UNIX</span></p><p><span style="font-size: 22px">DOS kernel - මුල්ම කාලයේ Windows OS වල </span></p><p><span style="font-size: 22px">Windows 9x kernel - Windows 95, 98, ME</span></p><p> <span style="font-size: 22px">Note: Linux, BSD kernels ලියැවුනේ Unix kernel එක පාදක කරගෙනයි. XNU kernel එක ලියැවුනේ Mach kernel එක හා BSD kernel එක පාදක කරගෙනයි.</span></p><p><span style="font-size: 22px">OS එකක් සඳහා තියෙන්න ඕන ගති ලක්ෂණ පිලිබඳ එක් නිශ්චිත නිර්වචනයක් නෑ. ඒකට හේතුව දැනට ලෝකයේ තියෙන OS එකින් එකට වෙනස් ගති ලක්ෂණ පෙන්වනවා. ඉතා අඩු මතකයක් භාවිතා කරන OS එකක පරිශීලක හිතෛෂී (user friendly) නොවෙන interface එකක් තියෙන්න පුලුවන්. ඒ වගේම ගිගා බයිට් ගානක මතකයක් භාවිතා කරන OS එකක user friendly interface එකක් තියෙන්න පුලුවන්. කොටින්ම OS එකක් තෝරගනු ලබන්නේ පරිශීලකයාගේ රුචිය අනුවයි. </span></p><p> <span style="font-size: 22px"></span></p><p><span style="font-size: 22px">පරිඝණක ඇරඹුම් ක්රියාවලිය (Computer Boot Process)</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">පරිඝණකයක් බල ගැන්වූ මොහොතේ සිට තිරයේ අයිකන මතුවන මොහොත දක්වා සිදුවන්නේ කුමක්දැයි ඔයාලා කවදා හරි සිතා බැලුවාද?</span></p><p><span style="font-size: 22px">එහෙනම් අපි දැන් ඒ ගැන සොයා බලමු.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">Boot Process</span></p><p><span style="font-size: 22px">පරිඝණකයේ ස්විචය ක්රියාත්මක කල විගස ස්පන්දකය (system clock) ක්රියාත්මක වී එහි ස්පන්ද (clock signals/pulses) මඟින් මධ්ය සැකසුම් ඒකකය (CPU) ක්රියාරම්භ (initialize) වෙනවා. CPU එක initialize වීමේ එක් කොටසක් වනුයේ මූලික ආදායක/ ප්රතිදායක පද්ධතියේ (BIOS) ඇති ඇරඹුම් ක්රමලේඛයේ (startup program) පළමුවන උපදෙස (instruction) සොයා ගැනීමයි. මෙය Power-On Self Test (POST) වැඩසටහන ධාවනය කිරීම සඳහා උපදෙසයි. BIOS මඟින් මෙම උපදෙස standard memory location එහෙක රඳවනවා. </span></p><p><span style="font-size: 22px">ඉන්පසු CMOS (Complementary Metal Oxide Semiconductor) මතකය පරීක්ෂා කිරීම මඟින් POST වැඩසටහන ආරම්භ වනවා. බැටරිය ඇනහිට නොමැති නම් POST වැඩසටහන දිගටම ක්රියාත්මක වෙනවා. POST මඟින් පරිඝණකයට සවි කර ඇති සියළුම දෘඩාංග පරීක්ෂා කර බලා ඒවා නියමිත පරිදි ක්රියාත්මක වන බවට තහවුරු කරගන්නවා.</span></p><p><span style="font-size: 22px">ඊට පසු BIOS මඟින් පරිඝණකයේ පාලනය ස්වාරම්භක වැඩසටහනට (bootstrap program/ bootstrap loader) ලබාදෙනවා. මෙම වැඩසටහන මඟින් කලින් POST වැඩසටහනෙන් හඳුනා ගත් ආචයන ආම්පන්න (storage devices) එකින් එක ඇරඹුම් පටිපාටියේ (boot sequence) පිලිවෙලට සොයා බලනවා. ඒ Master Boot Record (MBR) එක සඳහා.</span></p><p><span style="font-size: 22px">මේ විදියට හමුවන MBR එකක් සහිත පලමුවන storage device එක ඇරඹුම් ධාවකය (boot drive) වනවා. එහි ඇති MBR එක සසම්භාවී ප්රවේශ මතකයට (RAM) ප්රවේශනය කරනවා (load). ඒකෙන් OS එකෙහි kernel එක ආචිත ස්ථානය (stored location) සඳහන් වෙනවා.</span></p><p><span style="font-size: 22px">මෙම ස්ථානයෙන් kernel එක RAM එකට ප්රවේශනය (load) කරගෙන execute කරනු ලබනවා. පරිඝණකය ධාවනය වෙනවා යනුවෙන් හඳුන්වන්නේ මේ අවස්ථාවේදියි.</span></p><p><span style="font-size: 22px">මීලඟට පරිඝණකයේ පාලනය සම්පූර්ණයෙන්ම OS එක ලබාගන්නවා.</span></p><p><span style="font-size: 22px">මින්පසු OS එක විසින් නැවතත් දෘඩාංග සෙවුමක් (hardware search) ක්රියාත්මක කරනවා. මෙම සෙවුම මඟින් memory හා එහි වැඩෙහි යෙදිය හැකි ප්රමාණය නිර්ණය කරනවා. ඒ වගේම මවු පුවරුවට (mother board) සම්බන්ධව ඇති සියළුම පර්යන්ත ආම්පන්න (peripheral devices) පාලනය සඳහා අවශ්ය ආම්පන්න ධාවක (device drivers) load කරගනු ලබනවා.</span></p><p><span style="font-size: 22px">OS එක මුලින් ක්රියාත්මක කල යුතු විධානයන් ක්රියාත්මක කර චිත්රක පරිශීලක අතුරුමුහුණත (GUI) තිරයේ දිස් කොට userගේ විධානයක් බලාපොරොත්තුවෙන් සිටිනවා.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">එතැනින් ඒක අවසන්. මේ සම්පූර්ණ ක්රියාවලිය හැඳින්වෙන්නේ ඇරඹුම් ක්රියාවලිය (boot process) ලෙසයි. කෙටියෙන් කියනවනම් ඇරඹුම (booting) යනු OS එකක් පරිඝණකයේ RAM එකට load කරගැනීමයි. Smart Phone හා Tablet PC වල boot process එක මඳක් වෙනස් වුවත් මෙයට බොහෝ සමානයි. Android ගැන උනන්දු අයට එහි boot process එක ගැන වැඩිදුර විස්තර මෙතැනින් බලා ගන්න පුලුවන්.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">කලින් සඳහන් කල BIOS වැඩසටහන පිහිටා ඇත්තේ පඨන මාත්ර මතකයෙහියි (ROM). එයට ROM එකක් යොදා ගැනීම සඳහා හේතු වශයෙන්</span></p><p><span style="font-size: 22px">එය ස්ථීර මතකයක් වීම (RAM තාවකාලිකයි)</span></p><p><span style="font-size: 22px">එය initialize කිරීමට අවශ්ය නොවීම</span></p><p><span style="font-size: 22px">වෛරසයන්ට පහසුවෙන් එයට ලඟා වීමට හැකි නොවීම දැක්විය හැකිය.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">බහුලව භාවිතා වන bootstrap loaders වන්නේ මේවායි.</span></p><p><span style="font-size: 22px">GNU grand unified boot loader (GRUB): ලිනක්ස් පාදක OS සඳහා විවෘත කේත (open source) bootstrap program එකක්.</span></p><p><span style="font-size: 22px">NT loader (NTLDR): Windows NT සිට Windows XP දක්වා වූ bootstrap program එක. </span></p><p><span style="font-size: 22px"></span></p><p> <span style="font-size: 22px"></span></p><p><span style="font-size: 22px">මෙහෙයුම් පද්ධති වර්ගීකරණය</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">තනි පරිශීලක - තනි කාර්ය (single user – single task)</span></p><p><span style="font-size: 22px">එක වෙලාවකට එක පරිශීලකයෙකු පමණයි. එම පරිශීලකයාට කල හැක්කේද එක වැඩකි.</span></p><p><span style="font-size: 22px">උදා: පාම් අත් පරිගණකයේ (Palm hand held computer) Palm OS එක</span></p><p><span style="font-size: 22px">තනි පරිශීලක - බහු කාර්ය (single user – multi task)</span></p><p><span style="font-size: 22px">එක වෙලාවකට එක පරිශීලකයෙකුට වැඩ කිහිපයක් කල හැකියි. අද බහුලව ඩෙස්ක්ටොප් පරිඝණකයේ හෝ ලැප්ටොප් පරිඝණකයේ භාවිතා වන OS මේවාට අයිති වේ. CPU එක ඇත්තටම හසුරුවන්නේ වරකට එක් ක්රමලේඛයක් වුවත් එහි වේගය හා කාර්යක්ෂමතාවය නිසා අපට පේන්නේ ක්රමලේඛ සමගාමීව ධාවනය වෙන ලෙසයි. මෙවැනි OS නිර්මාණය වී ඇත්තේ පරිශීලක හිතෛෂී බාවය සිත්හි තබාගෙනයි. සම්පත් භාවිතය පිලිබඳ වැඩි අවධානයක් මෙහි යොමු කර නැහැ.</span></p><p><span style="font-size: 22px">උදා: Microsoft Windows, Apple Macintosh, Google Android</span></p><p><span style="font-size: 22px">බහු පරිශීලක - බහු කාර්ය (multi user – multi task)</span></p><p><span style="font-size: 22px">මේ වර්ගයේ OS බොහෝ විට භාවිතා වන්නේ මහා පරිඝණක (Mainframe computers) වලයි. ජාලගත පද්ධති මඟින් බොහෝ පරිශීලකයන්ට එකවර Mainframe computer එකෙන් වැඩ ගන්නට පුළුවන්. මෙහෙයුම් පද්ධතිය මඟින් පරිඝණකයේ සම්පත් පරිශීලකයන්ට වෙන් කර දෙනවා. CPU එක වරකට හසුරුවන්නේ එක් පරිශීලකයෙකු පමණක් නමුත් එහි වේගය හා කාර්යක්ෂමතාවය නිසා අපට පේන්නේ එකවර පරිශීලකයන් ගොඩක් හසුරුවන ආකාරයටයි. සම්පත් කාර්යක්ෂමව භාවිතා කිරීම ගැන වැඩි අවධානයක් මේ OS යොමු කරනවා.</span></p><p><span style="font-size: 22px">උදා: Unix, Windows Server</span></p><p><span style="font-size: 22px">බහුපොට (multithreading)</span></p><p><span style="font-size: 22px">එක් මෘදුකාංගයක කොටස් වෙන් වෙන් වශයෙන් සමගාමීව ධාවනය කිරීම සිදුවෙනවා. අද භාවිතා වන මෙහෙයුම් පද්ධති සියල්ලම වාගේ multithreading සඳහා ආධාර කරනවා.</span></p><p><span style="font-size: 22px">තථ්ය කාල (real time operating system - RTOS)</span></p><p><span style="font-size: 22px">RTOS යොදා ගැනෙන්නේ තථ්ය කාල යෙදුම් අයැදුම් (application requests) ඉටු කිරීම සඳහායි. එයට ආදානයක් (input) ලැබුනු විගස අන්තරා පමාවකින් (buffering delay) තොරව දත්ත සැකසීමේ හැකියාව තිබිය යුතුයි. මේවා බොහෝ විට යොදා ගන්නේ යන්තසූත්ර, කාර්මික පද්ධති, විද්යාත්මක පද්ධති වැනි සංකීර්ණ පද්ධති පාලනය කිරීම සඳහායි.</span></p><p><span style="font-size: 22px">උදා: ATM system</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">මෙහෙයුම් පද්ධතියක අවශ්යතාවය</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">පරිඝණකය හා පරිශීලකයා අතර අතුරු මුහුණත</span></p><p><span style="font-size: 22px">පරිඝණකයට තේරෙන්නෙ එක භාෂාවක් (machine language), අපිට තේරෙන්නෙ තව භාෂාවක්. අපි පරිඝණකයක් භාවිතා කරන්නේ අපේ කුමක් හෝ කාර්යයක් ඉටු කර ගැනීම සඳහායි. ඒ සඳහා අප විසින් පරිඝණකයට නොයෙකුත් විධාන (commands) ලබා දීම සිදු කරනවා. මේ විධාන machine language එකෙන් ලබා දුන්නොත් මෙන්න මේ විධියට දිස් වේවි.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">මුකුත් තේරෙන්නෙ නෑ නේ? පරිශීලක අතුරුමුහුණත් (user interface) කරලියට ආවේ මේ හේතුව හින්දයි. පරිශීලක අතුරුමුහුණත් වර්ග 2ක් තියෙනවා.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">විධාන පේලි අතුරුමුහුණත (Command Line Interface/ CLI) </span></p><p><span style="font-size: 22px">යතුරු පුවරුව භාවිතයෙන් තමයි විධාන ලබා දෙන්නෙ.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">චිත්රක පරිශීලක අතුරුමුහුණත (Graphical User Interface/ GUI)තිරයේ දිස්වන චිත්රක හරහා ගොස් අවශ්ය කාර්යය ඉටු කරගත හැකියි.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px"> </span></p><p><span style="font-size: 22px">දෘඩාංග පාලනය හා මෘදුකාංග කළමණාකරණය </span></p><p><span style="font-size: 22px">මෙය පොදුවේ සම්පත් කළමණාකරණය (resource management) ලෙස හැඳින්විය හැකියි. Program කිහිපයක් එකවර මුද්රකයට (printer) යමක් මුද්රණය කලොත් කුමක් වේවිද? පලවෙනි program එකෙන් පේලි කිහිපයක්, දෙවෙනි program එකෙන් පේලි කිහිපයක්, තෙවෙනි program එකෙන් පේලි කිහිපයක් යනාදි වශයෙන් මුද්රණය වුනොත් එයින් අපිට කිසිම ප්රයෝජනයක් ගන්න බැහැ. මේ අවස්ථාවේදී OS එක විසින් මුද්රණය කල යුතු ප්රතිදාන (output) පිලිවෙලට තැටියේ අන්තරා (buffer) කරනවා. ඉන්පසු එකින් එක තැටියෙන් printerයට පිටපත් කර මුද්රණය කරනවා. Resource Management යනු මෙයයි. </span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">Resource management ආකාර 2කට සිදුවෙනවා, කාලය හා අවකාශය (Time and Space) ලෙසින්. </span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">කාලය මඟින් සම්පතක් කළමණාකරණයේදී එක් එක් program එකට හෝ userට එම resource එක භාවිතා කිරීමට කාලයක් වෙන් වෙනවා. එම කාලය ඉක්මවූ පසු ඊළඟ program එකට හෝ userට අවස්ථාව හිමිවෙනවා. ඊළඟ program එක හෝ user කවුද යැයි තීරණය කරනු ලබන්නේ OS එක විසිනුයි. මෙය හඳුන්වන්නේ ක්රියායන උපලේඛනය (process scheduling) ලෙසයි. සියල්ලන් විසින් එම resource එක භාවිතා කිරීම අවසන් වන තෙක් මේ ක්රියාවලිය වක්රාකාරව දිගටම සිදුවෙනවා. මේ අයුරින් කාලය මඟින් Resource management වලට උදාහරණ ලෙස CPU එක දක්වන්න පුලුවන්. </span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">අවකාශය මඟින් සම්පත් කළමණාකරණයේදී යම් resource එකක් භාවිතා කරන සෑම program එකකටම හෝ user කෙනෙකුටම එම resource එකෙන් කොටසක් හිමිවෙනවා. මෙයට උදාහරණ ලෙස ප්රධාන මතකය (main memory) හා දෘඩ තැටිය (hard disk) දක්වන්න පුලුවන්. ප්රධාන මතකයක් සාමාන්යයෙන් ක්රමලේඛ කිහිපයක් රඳවා ගැනීමට තරම් විශාල නිසා එය කාලය මඟින් program අතර බෙදා වෙන් කිරීම කාර්යක්ෂම නෑ. ඒවගේම hard disk එකෙත් එකවර පරිශීලකයන් කිහිප දෙනෙකුගේ ගොනු (files) රඳවා තබා ගත හැකියි. ඒ සඳහා අවකාශය වෙන් කිරීම හා එක් එක් user භාවිතා කරන තැටි කොටස (disk block) ගැන සටහන් තබා ගැනීම සම්පත් කළමණාකරණයට අයිති වැඩකි. මෙලෙසින් අවකාශය බෙදා වෙන් කරන කොට මතුවන සාධාරණත්වය, ආරක්ෂාව පිලිබඳ ගැටළු වලට විසඳුම් සෙවීම OS එක සතු තවත් කාර්ය භාරයකි.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">පරිශීලකයන් ගොඩක් පරිඝණකයක් හෝ ජාලයක් (network) භාවිතා කරන විට main memory, ආදාන ප්රතිදාන ආම්පන්න (input/output devices) සහ අනෙකුත් සම්පත් කළමණාකරණය හා ආරක්ෂා කිරීම ඉතා වැදගත් වනවා. නැත්නම් එක් user කෙනෙක් තව කෙනෙකුට බාධාවක් වන්න පුලුවන්. Hardware පමණක් නොවෙයි, පරිශීලකයන්ට files, දත්ත සමුදායන් (data bases) වැනි තොරතුරු පවා බෙදා ගැනීමට අවශ්ය වෙනවා. කොටින්ම සම්පත් කළමණාකරණයේදී OS එක කවුරු කුමන resource එක භාවිතා කරයිද, resource සඳහා වන request වලට අවසර ලබා දීම, භාවිතය පාලනය කිරීම හා විවිධ programs හා users අතර ඇතිවන ගැටළුකාරී අයැදුම් සඳහා විසඳුම් සෙවීම යන ක්රියා වල නිරත වෙනවා.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">පරිඝණකය ක්රමලේඛගත කිරීම සඳහා අතථ්ය යන්ත්රයක් ලබා ගැනීම</span></p><p><span style="font-size: 22px">පරිඝණකය hardware level එකෙන් ගත් කල ඉතා සංකීර්ණ පද්ධතියකි. එම නිසා එය program කිරීමද අපහසු කාර්යයකි. Programmerට program කිරීම පහසු කිරීම සඳහා පරිඝණකය හා සමාන එහි විහිදුවන ලද යන්ත්රයක් (extended machine) හෙවත් අතථ්ය යන්ත්රයක් (virtual machine) ලබා දීම OS එක මඟින් සිදු කරනවා.</span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">Hard disk එකක් කියවීම (read) හෝ ලිවීම (write) වැනි සරල විධානයක් පවා ඇත්තටම ගත් කල ඉතා සංකීර්ණ ක්රියා දාමයක්. අපි පරිඝණකය ඇතුලටම ගොස් බැලුවොත් Hard disk එකේ මෝටරය ක්රියාත්මක කිරීමේ පටන් read කරන්නේ හෝ write කරන්නේ කුමන තැටි පථයේ (track) කුමන ඛණ්ඩකයේ (sector) කුමන කොටස් (block) ටිකද යන්නත්, අවසානයේ මෝටරය ක්රියා විරහිත කිරීම දක්වා සියළු commands programmer විසින් පරිඝණකයට ලබා දිය යුතු වෙනවා. මෙය ඉතාම නීරස හා වෙහෙසකාරී ක්රියාවක්. </span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">මේ ආකාරයෙන් program කරන්න ගියොත් programmerගේ කාලය නාස්ති වනවා පමණක් නොව ඔහු අතින් වෙන්න පුලුවන් වැරදි ප්රමාණයත් වැඩී. එම වැරදි හැදීම ඊටත් වඩා අසීරු වෙනවා. ඒ වෙනුවට programmer කෙනෙකුට අවශ්ය වන්නේ සරල, ඉහළ මට්ටමේ සාරාංශයක් (high level abstraction) පමණි. ඉහත උදාහරණය ගත්තොත් programmer කෙනෙකුට අවශ්ය වන්නේ file එකක් විවෘත කර එය read කර හෝ එයට write කර අවසානයේ file එක වසා දැමීම පමණයි. </span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">OS එක විසින් hardware ගැන ඇත්ත සඟවා programmerට අවශ්ය මෙම සරල, ඉහළ මට්ටමේ සාරාංශය ලබා දෙනවා. ඉහත උදාහරණය ගත් කල programmer ඇත්තටම commands ලබා දෙන්නේ OS එක විසින් ලබා දෙන ගොනු ව්යුහය (file structure) එක උපයෝගී කරගෙනයි. </span></p><p><span style="font-size: 22px"></span></p><p><span style="font-size: 22px">මේ අයුරින් OS එක අපට හැසිරවීමට අපහසු බාධා (interrupts), කාලමාපක (timers), මතක කළමණාකරණය (memory management) සහ අනෙකුත් පහළ මට්ටමේ අංගයන් සඟවනවා. මෙසේ ලබා දෙන abstraction view එක virtual machine එක ලෙසින් හැඳින්වෙනවා. Programs වලට පරිඝණකයෙන් ලබා ගත යුතු විවිධ සේවාවන් ලබා ගැනීම සඳහා OS එක විසින් System Calls යන විශේෂ instructions ලබා දෙනවා. read හා write යනු එවැනි System calls 2කි. System calls ගැන වැඩිදුර විස්තර පසුවට විමසා බලමු.</span></p><p><span style="font-size: 22px">Posted by Lihini Senanayake </span></p></blockquote><p></p>
[QUOTE="codegeek, post: 15178212, member: 405480"] [SIZE="6"]පරිගණක මෙහෙයුම් පද්ධතිය (Operating System) අර්ථ දක්වා පරිගණක පද්ධතියක් තුල එහි අවශ්යතාව විමර්ශනය කිරීම. උපුටා ගැනීම [URL="http://www.fit2school.com/2013/04/61-operating-system.html"]http://www.fit2school.com/2013/04/61-operating-system.html[/URL] පරිඝණකයකින් වැඩ කර ගැනීම සඳහා මෙහෙයුම් පද්ධතියක් (OS) අත්යාවශ්ය බව අපි හැමෝම දන්නවා. පරිඝණක වල පමණක් නොවේ, Smart phone වලින් Tablet PC වලින් හා සංකීර්ණ යන්ත්ර සූත්ර වලින් වැඩ ගන්නත් OS අවශ්ය වෙනවා. සංකීර්ණ යන්ත්ර සූත්ර මෙහෙයවන programs හැඳින්වෙන්නේ Embedded Systems කියායි. මේ OS කියන්නෙ මොකක්ද, පරිඝණකයක් කොහොමද OS එකකින් වැඩ ගන්න පුලුවන් තත්වයට පත්වෙන්නෙ, OS වර්ග මොනවාද, ඇයි අපිට OS එකක් ඇත්තටම අවශ්ය යන කරුණු ගැන වැඩිදුර විස්තර අපි මේ ලිපියෙන් විමසා බලමු. OS එකක් යනු පරිශීලකයා හා පරිඝණකයේ දෘඩාංග අතර සන්නිවේදනය සිදු කරන අතුරුමුහුණතයි (interface). ප්රධාන වශයෙන් එය විධි 2කට දකින්න පුලුවන්. සම්පත් කළමණාකරණය (resource manager) එකම සම්පතට අයැදුම් (request) 2ක් ආ විට කාර්යක්ෂමතාව හා සාධාරණ භාවිතය පිලිබඳ සලකා බලා එය වෙන් කරයි පාලන ක්රමලේඛයක් (control program) දෝෂ වැලැක්වීම සඳහා හා පරිඝණකය අවිධිමත් භාවිතයෙන් වලක්වා ගැනීම සඳහා ක්රමලේඛවල (programs) ක්රියාකාරීත්වය පාලනය කිරීම. වම් පස රූපයෙන් දැක්වෙන්නේ පරිඝණක පද්ධතියක් ප්රධාන කොටස් 4 වන පරිශීලකයා (user), යෙදුම් ක්රමලේඛ (application program), OS එක හා දෘඩාංග (hardware) යන ඒවා එකිනෙකට සම්බන්ධ වන ආකාරයයි. මේ අනුව යෙදුමකට යම් hardware එකක් භාවිතා කිරීමට අවශ්ය නම් එය කිරීමට සිදුවන්නේ OS එක හරහායි. OS එකක හරය වන්නේ එයි කර්නලයයි (kernel). කර්නලය, ආම්පන්න ධාවක (device drivers), වැඩතල පරිසරය (desktop environment) සහ තවත් දෑ එකතු වෙලා තමයි OS එක හැදෙන්නේ. අපි දන්නා OS කිහිපයක kernel පහත දැක්වෙනවා. WindowsNT kernel – Windows NT, 2000, XP, Vista, 7, 8 Linux kernel – ලිනක්ස් පාදක OS වල (Linux, Ubuntu, Fedora, Android ආදිය) XNU kernel – Mac OS X, iOS Unix kernel- UNIX DOS kernel - මුල්ම කාලයේ Windows OS වල Windows 9x kernel - Windows 95, 98, ME Note: Linux, BSD kernels ලියැවුනේ Unix kernel එක පාදක කරගෙනයි. XNU kernel එක ලියැවුනේ Mach kernel එක හා BSD kernel එක පාදක කරගෙනයි. OS එකක් සඳහා තියෙන්න ඕන ගති ලක්ෂණ පිලිබඳ එක් නිශ්චිත නිර්වචනයක් නෑ. ඒකට හේතුව දැනට ලෝකයේ තියෙන OS එකින් එකට වෙනස් ගති ලක්ෂණ පෙන්වනවා. ඉතා අඩු මතකයක් භාවිතා කරන OS එකක පරිශීලක හිතෛෂී (user friendly) නොවෙන interface එකක් තියෙන්න පුලුවන්. ඒ වගේම ගිගා බයිට් ගානක මතකයක් භාවිතා කරන OS එකක user friendly interface එකක් තියෙන්න පුලුවන්. කොටින්ම OS එකක් තෝරගනු ලබන්නේ පරිශීලකයාගේ රුචිය අනුවයි. පරිඝණක ඇරඹුම් ක්රියාවලිය (Computer Boot Process) පරිඝණකයක් බල ගැන්වූ මොහොතේ සිට තිරයේ අයිකන මතුවන මොහොත දක්වා සිදුවන්නේ කුමක්දැයි ඔයාලා කවදා හරි සිතා බැලුවාද? එහෙනම් අපි දැන් ඒ ගැන සොයා බලමු. Boot Process පරිඝණකයේ ස්විචය ක්රියාත්මක කල විගස ස්පන්දකය (system clock) ක්රියාත්මක වී එහි ස්පන්ද (clock signals/pulses) මඟින් මධ්ය සැකසුම් ඒකකය (CPU) ක්රියාරම්භ (initialize) වෙනවා. CPU එක initialize වීමේ එක් කොටසක් වනුයේ මූලික ආදායක/ ප්රතිදායක පද්ධතියේ (BIOS) ඇති ඇරඹුම් ක්රමලේඛයේ (startup program) පළමුවන උපදෙස (instruction) සොයා ගැනීමයි. මෙය Power-On Self Test (POST) වැඩසටහන ධාවනය කිරීම සඳහා උපදෙසයි. BIOS මඟින් මෙම උපදෙස standard memory location එහෙක රඳවනවා. ඉන්පසු CMOS (Complementary Metal Oxide Semiconductor) මතකය පරීක්ෂා කිරීම මඟින් POST වැඩසටහන ආරම්භ වනවා. බැටරිය ඇනහිට නොමැති නම් POST වැඩසටහන දිගටම ක්රියාත්මක වෙනවා. POST මඟින් පරිඝණකයට සවි කර ඇති සියළුම දෘඩාංග පරීක්ෂා කර බලා ඒවා නියමිත පරිදි ක්රියාත්මක වන බවට තහවුරු කරගන්නවා. ඊට පසු BIOS මඟින් පරිඝණකයේ පාලනය ස්වාරම්භක වැඩසටහනට (bootstrap program/ bootstrap loader) ලබාදෙනවා. මෙම වැඩසටහන මඟින් කලින් POST වැඩසටහනෙන් හඳුනා ගත් ආචයන ආම්පන්න (storage devices) එකින් එක ඇරඹුම් පටිපාටියේ (boot sequence) පිලිවෙලට සොයා බලනවා. ඒ Master Boot Record (MBR) එක සඳහා. මේ විදියට හමුවන MBR එකක් සහිත පලමුවන storage device එක ඇරඹුම් ධාවකය (boot drive) වනවා. එහි ඇති MBR එක සසම්භාවී ප්රවේශ මතකයට (RAM) ප්රවේශනය කරනවා (load). ඒකෙන් OS එකෙහි kernel එක ආචිත ස්ථානය (stored location) සඳහන් වෙනවා. මෙම ස්ථානයෙන් kernel එක RAM එකට ප්රවේශනය (load) කරගෙන execute කරනු ලබනවා. පරිඝණකය ධාවනය වෙනවා යනුවෙන් හඳුන්වන්නේ මේ අවස්ථාවේදියි. මීලඟට පරිඝණකයේ පාලනය සම්පූර්ණයෙන්ම OS එක ලබාගන්නවා. මින්පසු OS එක විසින් නැවතත් දෘඩාංග සෙවුමක් (hardware search) ක්රියාත්මක කරනවා. මෙම සෙවුම මඟින් memory හා එහි වැඩෙහි යෙදිය හැකි ප්රමාණය නිර්ණය කරනවා. ඒ වගේම මවු පුවරුවට (mother board) සම්බන්ධව ඇති සියළුම පර්යන්ත ආම්පන්න (peripheral devices) පාලනය සඳහා අවශ්ය ආම්පන්න ධාවක (device drivers) load කරගනු ලබනවා. OS එක මුලින් ක්රියාත්මක කල යුතු විධානයන් ක්රියාත්මක කර චිත්රක පරිශීලක අතුරුමුහුණත (GUI) තිරයේ දිස් කොට userගේ විධානයක් බලාපොරොත්තුවෙන් සිටිනවා. එතැනින් ඒක අවසන්. මේ සම්පූර්ණ ක්රියාවලිය හැඳින්වෙන්නේ ඇරඹුම් ක්රියාවලිය (boot process) ලෙසයි. කෙටියෙන් කියනවනම් ඇරඹුම (booting) යනු OS එකක් පරිඝණකයේ RAM එකට load කරගැනීමයි. Smart Phone හා Tablet PC වල boot process එක මඳක් වෙනස් වුවත් මෙයට බොහෝ සමානයි. Android ගැන උනන්දු අයට එහි boot process එක ගැන වැඩිදුර විස්තර මෙතැනින් බලා ගන්න පුලුවන්. කලින් සඳහන් කල BIOS වැඩසටහන පිහිටා ඇත්තේ පඨන මාත්ර මතකයෙහියි (ROM). එයට ROM එකක් යොදා ගැනීම සඳහා හේතු වශයෙන් එය ස්ථීර මතකයක් වීම (RAM තාවකාලිකයි) එය initialize කිරීමට අවශ්ය නොවීම වෛරසයන්ට පහසුවෙන් එයට ලඟා වීමට හැකි නොවීම දැක්විය හැකිය. බහුලව භාවිතා වන bootstrap loaders වන්නේ මේවායි. GNU grand unified boot loader (GRUB): ලිනක්ස් පාදක OS සඳහා විවෘත කේත (open source) bootstrap program එකක්. NT loader (NTLDR): Windows NT සිට Windows XP දක්වා වූ bootstrap program එක. මෙහෙයුම් පද්ධති වර්ගීකරණය තනි පරිශීලක - තනි කාර්ය (single user – single task) එක වෙලාවකට එක පරිශීලකයෙකු පමණයි. එම පරිශීලකයාට කල හැක්කේද එක වැඩකි. උදා: පාම් අත් පරිගණකයේ (Palm hand held computer) Palm OS එක තනි පරිශීලක - බහු කාර්ය (single user – multi task) එක වෙලාවකට එක පරිශීලකයෙකුට වැඩ කිහිපයක් කල හැකියි. අද බහුලව ඩෙස්ක්ටොප් පරිඝණකයේ හෝ ලැප්ටොප් පරිඝණකයේ භාවිතා වන OS මේවාට අයිති වේ. CPU එක ඇත්තටම හසුරුවන්නේ වරකට එක් ක්රමලේඛයක් වුවත් එහි වේගය හා කාර්යක්ෂමතාවය නිසා අපට පේන්නේ ක්රමලේඛ සමගාමීව ධාවනය වෙන ලෙසයි. මෙවැනි OS නිර්මාණය වී ඇත්තේ පරිශීලක හිතෛෂී බාවය සිත්හි තබාගෙනයි. සම්පත් භාවිතය පිලිබඳ වැඩි අවධානයක් මෙහි යොමු කර නැහැ. උදා: Microsoft Windows, Apple Macintosh, Google Android බහු පරිශීලක - බහු කාර්ය (multi user – multi task) මේ වර්ගයේ OS බොහෝ විට භාවිතා වන්නේ මහා පරිඝණක (Mainframe computers) වලයි. ජාලගත පද්ධති මඟින් බොහෝ පරිශීලකයන්ට එකවර Mainframe computer එකෙන් වැඩ ගන්නට පුළුවන්. මෙහෙයුම් පද්ධතිය මඟින් පරිඝණකයේ සම්පත් පරිශීලකයන්ට වෙන් කර දෙනවා. CPU එක වරකට හසුරුවන්නේ එක් පරිශීලකයෙකු පමණක් නමුත් එහි වේගය හා කාර්යක්ෂමතාවය නිසා අපට පේන්නේ එකවර පරිශීලකයන් ගොඩක් හසුරුවන ආකාරයටයි. සම්පත් කාර්යක්ෂමව භාවිතා කිරීම ගැන වැඩි අවධානයක් මේ OS යොමු කරනවා. උදා: Unix, Windows Server බහුපොට (multithreading) එක් මෘදුකාංගයක කොටස් වෙන් වෙන් වශයෙන් සමගාමීව ධාවනය කිරීම සිදුවෙනවා. අද භාවිතා වන මෙහෙයුම් පද්ධති සියල්ලම වාගේ multithreading සඳහා ආධාර කරනවා. තථ්ය කාල (real time operating system - RTOS) RTOS යොදා ගැනෙන්නේ තථ්ය කාල යෙදුම් අයැදුම් (application requests) ඉටු කිරීම සඳහායි. එයට ආදානයක් (input) ලැබුනු විගස අන්තරා පමාවකින් (buffering delay) තොරව දත්ත සැකසීමේ හැකියාව තිබිය යුතුයි. මේවා බොහෝ විට යොදා ගන්නේ යන්තසූත්ර, කාර්මික පද්ධති, විද්යාත්මක පද්ධති වැනි සංකීර්ණ පද්ධති පාලනය කිරීම සඳහායි. උදා: ATM system මෙහෙයුම් පද්ධතියක අවශ්යතාවය පරිඝණකය හා පරිශීලකයා අතර අතුරු මුහුණත පරිඝණකයට තේරෙන්නෙ එක භාෂාවක් (machine language), අපිට තේරෙන්නෙ තව භාෂාවක්. අපි පරිඝණකයක් භාවිතා කරන්නේ අපේ කුමක් හෝ කාර්යයක් ඉටු කර ගැනීම සඳහායි. ඒ සඳහා අප විසින් පරිඝණකයට නොයෙකුත් විධාන (commands) ලබා දීම සිදු කරනවා. මේ විධාන machine language එකෙන් ලබා දුන්නොත් මෙන්න මේ විධියට දිස් වේවි. මුකුත් තේරෙන්නෙ නෑ නේ? පරිශීලක අතුරුමුහුණත් (user interface) කරලියට ආවේ මේ හේතුව හින්දයි. පරිශීලක අතුරුමුහුණත් වර්ග 2ක් තියෙනවා. විධාන පේලි අතුරුමුහුණත (Command Line Interface/ CLI) යතුරු පුවරුව භාවිතයෙන් තමයි විධාන ලබා දෙන්නෙ. චිත්රක පරිශීලක අතුරුමුහුණත (Graphical User Interface/ GUI)තිරයේ දිස්වන චිත්රක හරහා ගොස් අවශ්ය කාර්යය ඉටු කරගත හැකියි. දෘඩාංග පාලනය හා මෘදුකාංග කළමණාකරණය මෙය පොදුවේ සම්පත් කළමණාකරණය (resource management) ලෙස හැඳින්විය හැකියි. Program කිහිපයක් එකවර මුද්රකයට (printer) යමක් මුද්රණය කලොත් කුමක් වේවිද? පලවෙනි program එකෙන් පේලි කිහිපයක්, දෙවෙනි program එකෙන් පේලි කිහිපයක්, තෙවෙනි program එකෙන් පේලි කිහිපයක් යනාදි වශයෙන් මුද්රණය වුනොත් එයින් අපිට කිසිම ප්රයෝජනයක් ගන්න බැහැ. මේ අවස්ථාවේදී OS එක විසින් මුද්රණය කල යුතු ප්රතිදාන (output) පිලිවෙලට තැටියේ අන්තරා (buffer) කරනවා. ඉන්පසු එකින් එක තැටියෙන් printerයට පිටපත් කර මුද්රණය කරනවා. Resource Management යනු මෙයයි. Resource management ආකාර 2කට සිදුවෙනවා, කාලය හා අවකාශය (Time and Space) ලෙසින්. කාලය මඟින් සම්පතක් කළමණාකරණයේදී එක් එක් program එකට හෝ userට එම resource එක භාවිතා කිරීමට කාලයක් වෙන් වෙනවා. එම කාලය ඉක්මවූ පසු ඊළඟ program එකට හෝ userට අවස්ථාව හිමිවෙනවා. ඊළඟ program එක හෝ user කවුද යැයි තීරණය කරනු ලබන්නේ OS එක විසිනුයි. මෙය හඳුන්වන්නේ ක්රියායන උපලේඛනය (process scheduling) ලෙසයි. සියල්ලන් විසින් එම resource එක භාවිතා කිරීම අවසන් වන තෙක් මේ ක්රියාවලිය වක්රාකාරව දිගටම සිදුවෙනවා. මේ අයුරින් කාලය මඟින් Resource management වලට උදාහරණ ලෙස CPU එක දක්වන්න පුලුවන්. අවකාශය මඟින් සම්පත් කළමණාකරණයේදී යම් resource එකක් භාවිතා කරන සෑම program එකකටම හෝ user කෙනෙකුටම එම resource එකෙන් කොටසක් හිමිවෙනවා. මෙයට උදාහරණ ලෙස ප්රධාන මතකය (main memory) හා දෘඩ තැටිය (hard disk) දක්වන්න පුලුවන්. ප්රධාන මතකයක් සාමාන්යයෙන් ක්රමලේඛ කිහිපයක් රඳවා ගැනීමට තරම් විශාල නිසා එය කාලය මඟින් program අතර බෙදා වෙන් කිරීම කාර්යක්ෂම නෑ. ඒවගේම hard disk එකෙත් එකවර පරිශීලකයන් කිහිප දෙනෙකුගේ ගොනු (files) රඳවා තබා ගත හැකියි. ඒ සඳහා අවකාශය වෙන් කිරීම හා එක් එක් user භාවිතා කරන තැටි කොටස (disk block) ගැන සටහන් තබා ගැනීම සම්පත් කළමණාකරණයට අයිති වැඩකි. මෙලෙසින් අවකාශය බෙදා වෙන් කරන කොට මතුවන සාධාරණත්වය, ආරක්ෂාව පිලිබඳ ගැටළු වලට විසඳුම් සෙවීම OS එක සතු තවත් කාර්ය භාරයකි. පරිශීලකයන් ගොඩක් පරිඝණකයක් හෝ ජාලයක් (network) භාවිතා කරන විට main memory, ආදාන ප්රතිදාන ආම්පන්න (input/output devices) සහ අනෙකුත් සම්පත් කළමණාකරණය හා ආරක්ෂා කිරීම ඉතා වැදගත් වනවා. නැත්නම් එක් user කෙනෙක් තව කෙනෙකුට බාධාවක් වන්න පුලුවන්. Hardware පමණක් නොවෙයි, පරිශීලකයන්ට files, දත්ත සමුදායන් (data bases) වැනි තොරතුරු පවා බෙදා ගැනීමට අවශ්ය වෙනවා. කොටින්ම සම්පත් කළමණාකරණයේදී OS එක කවුරු කුමන resource එක භාවිතා කරයිද, resource සඳහා වන request වලට අවසර ලබා දීම, භාවිතය පාලනය කිරීම හා විවිධ programs හා users අතර ඇතිවන ගැටළුකාරී අයැදුම් සඳහා විසඳුම් සෙවීම යන ක්රියා වල නිරත වෙනවා. පරිඝණකය ක්රමලේඛගත කිරීම සඳහා අතථ්ය යන්ත්රයක් ලබා ගැනීම පරිඝණකය hardware level එකෙන් ගත් කල ඉතා සංකීර්ණ පද්ධතියකි. එම නිසා එය program කිරීමද අපහසු කාර්යයකි. Programmerට program කිරීම පහසු කිරීම සඳහා පරිඝණකය හා සමාන එහි විහිදුවන ලද යන්ත්රයක් (extended machine) හෙවත් අතථ්ය යන්ත්රයක් (virtual machine) ලබා දීම OS එක මඟින් සිදු කරනවා. Hard disk එකක් කියවීම (read) හෝ ලිවීම (write) වැනි සරල විධානයක් පවා ඇත්තටම ගත් කල ඉතා සංකීර්ණ ක්රියා දාමයක්. අපි පරිඝණකය ඇතුලටම ගොස් බැලුවොත් Hard disk එකේ මෝටරය ක්රියාත්මක කිරීමේ පටන් read කරන්නේ හෝ write කරන්නේ කුමන තැටි පථයේ (track) කුමන ඛණ්ඩකයේ (sector) කුමන කොටස් (block) ටිකද යන්නත්, අවසානයේ මෝටරය ක්රියා විරහිත කිරීම දක්වා සියළු commands programmer විසින් පරිඝණකයට ලබා දිය යුතු වෙනවා. මෙය ඉතාම නීරස හා වෙහෙසකාරී ක්රියාවක්. මේ ආකාරයෙන් program කරන්න ගියොත් programmerගේ කාලය නාස්ති වනවා පමණක් නොව ඔහු අතින් වෙන්න පුලුවන් වැරදි ප්රමාණයත් වැඩී. එම වැරදි හැදීම ඊටත් වඩා අසීරු වෙනවා. ඒ වෙනුවට programmer කෙනෙකුට අවශ්ය වන්නේ සරල, ඉහළ මට්ටමේ සාරාංශයක් (high level abstraction) පමණි. ඉහත උදාහරණය ගත්තොත් programmer කෙනෙකුට අවශ්ය වන්නේ file එකක් විවෘත කර එය read කර හෝ එයට write කර අවසානයේ file එක වසා දැමීම පමණයි. OS එක විසින් hardware ගැන ඇත්ත සඟවා programmerට අවශ්ය මෙම සරල, ඉහළ මට්ටමේ සාරාංශය ලබා දෙනවා. ඉහත උදාහරණය ගත් කල programmer ඇත්තටම commands ලබා දෙන්නේ OS එක විසින් ලබා දෙන ගොනු ව්යුහය (file structure) එක උපයෝගී කරගෙනයි. මේ අයුරින් OS එක අපට හැසිරවීමට අපහසු බාධා (interrupts), කාලමාපක (timers), මතක කළමණාකරණය (memory management) සහ අනෙකුත් පහළ මට්ටමේ අංගයන් සඟවනවා. මෙසේ ලබා දෙන abstraction view එක virtual machine එක ලෙසින් හැඳින්වෙනවා. Programs වලට පරිඝණකයෙන් ලබා ගත යුතු විවිධ සේවාවන් ලබා ගැනීම සඳහා OS එක විසින් System Calls යන විශේෂ instructions ලබා දෙනවා. read හා write යනු එවැනි System calls 2කි. System calls ගැන වැඩිදුර විස්තර පසුවට විමසා බලමු. Posted by Lihini Senanayake [/SIZE] [/QUOTE]
Insert quotes…
Verification
Hata thunen beduwama keeyada? (60 bedeema thuna)
Post reply
Top
Bottom