A kernel does all kind of commonly needed stuff for you:

* interacting with hardware and provide a standardized interface (so you don't have to write separate code for - as an example - each different sound card in each program that wants to use sound)
* make sure your programs don't mess with each other, like overwriting each others memory
* providing mechanisms for controlled communication between programs and components (eg. your program wants to send a message to the notification area, which is another program)
* other useful functionality (getting random numbers, implementing common communication protocols, and so on)
කර්නලයක් ඔබ වෙනුවෙන් පොදුවේ අවශ්‍ය සියලුම දේවල් කරයි: * දෘඪාංග සමඟ අන්තර් ක්‍රියා කිරීම සහ ප්‍රමිතිගත අතුරු මුහුණතක් ලබා දීම (එබැවින් ඔබට ශබ්දය භාවිතා කිරීමට අවශ්‍ය එක් එක් වැඩසටහනේ එක් එක් විවිධ ශබ්ද කාඩ්පත් සඳහා - උදාහරණයක් ලෙස - වෙනම කේතයක් ලිවීමට අවශ්‍ය නොවේ. ) * ඔබේ වැඩසටහන් එකිනෙකා සමඟ පටලවා නොගන්නා බවට වග බලා ගන්න, එකිනෙකා මතකය උඩින් ලිවීම * වැඩසටහන් සහ සංරචක අතර පාලිත සන්නිවේදනය සඳහා යාන්ත්‍රණ සැපයීම (උදා. ඔබේ වැඩසටහනට දැනුම් දීමේ ප්‍රදේශයට පණිවිඩයක් යැවීමට අවශ්‍ය වේ, එය වෙනත් වැඩසටහනකි) * වෙනත් ප්‍රයෝජනවත් ක්‍රියාකාරිත්වය (අහඹු අංක ලබා ගැනීම, පොදු සන්නිවේදන ප්‍රොටෝකෝල ක්‍රියාත්මක කිරීම සහ යනාදිය)