উইন্ডোজ অপারেটিং সিস্টেম অনেক গুলো ফাইল এবং প্রোগ্রামের সমন্বয়ে তৈরি। এগুলোর কিছু সবসময় চলে, অন্যগুলো অপারেটিং সিস্টেম দ্বারা কখনও কখনও কল করা হয়।
প্রায় সকল মূল উইন্ডোজ অপারেটিং সিস্টেম ফাইলগুলো ফোল্ডারগুলোতে সংরক্ষিত থাকে C:\Windows\System এবং C:\Windows\System32 (আপনার কম্পিউটারে, ড্রাইভ লেটার ভিন্ন হতে পারে)। উইন্ডোজ ফোল্ডার নিজেও অনেক অপরিহার্য ফাইল ধারণ করে।
আপনার কম্পিউটারে ইনস্টল করা সকল প্রোগ্রাম সাধারণত তাদের এক্সিকিউটেবল এবং সম্পর্কিত ফাইলগুলো সংরক্ষণ করে C:\Program Files বা C:\Program Files (x86)-এ।
সাধারণভাবে, আপনি কখনও এই ডিরেক্টরিগুলোর যেকোনো উইন্ডোজ সিস্টেম ফাইল মডিফাই, ডিলিট, বা মুভ করতে চাবেন না। যাইহোক, কিছু ফাইল আছে যা অপারেটিং সিস্টেমের ফাংশনের জন্য মূল। যদি এই ফাইলগুলো ডিলিট বা অন্যথায় করাপ্ট হয়, আপনাকে আপনার উইন্ডোজ অপারেটিং সিস্টেম রিস্টোর করতে হবে।
Ntoskrnl.exe
এই এক্সিকিউটেবল হল কার্নেল ইমেজ। এর মানে এটি মূলত মূল কোড (দ এক্সিকিউটিভ) যা অপারেটিং সিস্টেমকে সঠিকভাবে কাজ করতে দেয়।
এই কোড হার্ডওয়্যার ম্যানেজমেন্ট, সিস্টেম প্রসেস, এবং মেমরি ম্যানেজমেন্ট হ্যান্ডেল করে। এটি সে কোড যা শিডিউল করে কোন অ্যাপ্লিকেশনগুলোকে সিস্টেম প্রসেসর এক্সেস मिलবে এবং কতটুকু মেমরি (এবং মেমরি অ্যাড্রেস) তাদের ব্যবহারের জন্য অ্যালোকেট করা হবে।
এই এক্সিকিউটেবল Task Manager-এ System এবং Registry নামে দেখায়। এটি একটি হেভিলি প্রোটেক্টেড ফাইল, তাই ম্যালওয়্যারের মত যেকোনো অ্যাপ্লিকেশনের জন্য এই ফাইল করাপ্ট বা ডিলিট করা কঠিন।
পুরনো ভার্সন উইন্ডোজে, আপনি যদি অনেক অ্যাপ্লিকেশন খুলতেন, Ntoskrnl.exe বড় পরিমাণ মেমরি কনসিউম করা শুরু করত। উইন্ডোজ ১০ থেকে, Ntoskrnl.exe এখন অনইউজড পেজগুলো মেমরিতে সংরক্ষণ করার বদলে কমপ্রেস করে। এটি মেমরি খরচ কমায়, কিন্তু আপনি যদি একসাথে অনেক অ্যাপ্লিকেশন চালান তবে CPU ব্যবহার বাড়াতে পারে।
Ntkrnlpa.exe
এই প্রসেস মাইক্রোসফট উইন্ডোজ কার্নেল এবং সিস্টেম কোডের একটি মূল সফ্টওয়্যার কম্পোনেন্ট। নামটি står করে New Technology Kernel Process Allocator। Ntoskrnl.exe-এর পাশাপাশি, এটি শিডিউলিং এবং মেমরি ম্যানেজমেন্ট কন্ট্রোল করে।
এটি নন-কোর অ্যাপ্লিকেশন এবং সার্ভিসগুলোকেও অপারেটিং সিস্টেমের মূল এলাকাগুলো থেকে অ্যাক্সেস করতে বাধা দেয়, যা OS কে সিস্টেম মেমরির একটি প্রোটেক্টেড এলাকায় নিরাপদে চালিয়ে যেতে সাহায্য করে।
যেহেতু Ntkrnlpa.exe অ্যাপ্লিকেশনগুলোক প্রোটেক্টেড সিস্টেম মেমরি অ্যাক্সেস করতে বাধা দায়িত্বে রয়েছে, অনেক ব্যবহারকারী স다고 করে মনে করে উইন্ডোজ সিস্টেম ফেইলারের জন্য দায়ী Ntkrnlpa.exe। কারণ Ntkrnlpa.exe হল वह প্রসেস যা এরর রিটার্ন করে।
সাধারণত এর কারণ আসলে কোনো ম্যালওয়্যার যা প্রোটেক্টেড সিস্টেম মেমরি অ্যাক্সেস করার চেষ্টা করে, Ntkrnlpa.exe এররগুলোকে ট্রিগার করে।
Hal.dll
সিস্টেম কার্নেল এবং কোর সিস্টেমের সাথে সম্পর্কিত আরেকটি মূল ফাইল Hal.dll। এই DLL ফাইলের নাম står করে Hardware Abstraction Layer।
এই ফাইল মূল কোড ধারণ করে যা অ্যাপ্লিকেশনগুলোক কম্পিউটার হার্ডওয়্যারের সাথে ইন্টারঅ্যাক্ট করতে দেয় সিম্পল প্রোগ্রাম ফাংশন ব্যবহার করে জটিল মেশিন কোডের বদলে।
সঠিক নামকরণ করা হয়েছে, এটি কম্পিউটার হার্ডওয়্যারের সাথে যোগাযোগ ও নিয়ন্ত্রণের জটিলতা দূর করে।
এই এক্সিকিউটেবল RAM মেমরির ভেতরে চলে এবং System32 ডিরেক্টরিতে অবস্থিত।
Hal.dll সাধারণত কম্পিউটারের সাথে কোনো সমস্যা সৃষ্টি করে না, যাইহোক কিছু ম্যালওয়্যার অ্যাপ্লিকেশন তাদের এক্সিকিউটেবলকে একই নাম দিয়ে ক্লোক করার চেষ্টা করে। যাইহোক, আপনি এটিকে নকল অ্যাপ্লিকেশন হিসেবে সনাক্ত করতে পারবেন যখন এটি System32-től ভিন্ন ফোল্ডারে অবস্থিত।
Hal.dll টাস্ক কখনও বন্ধ করবেন না কারণ এটি আপনার সিস্টেমকে নন-ফাংশনাল করে দেবে এবং আপনাকে উইন্ডোজ অপারেটিং সিস্টেম রিস্টোর করতে বাধ্য করতে পারে।
Win32k.sys
এই ফাইলটি যা পরিচিত به بعنوان Multi-User Win32 ড্রাইভার ফাইল, মূলত উইন্ডোজ XP অপারেটিং সিস্টেমের অংশ হিসেবে রিলিজ করা হয়েছিল। এটি প্রতিটি নতুন উইন্ডোজ রিলিজের মাধ্যমে আপগ্রেড করা হয়েছে, উইন্ডোজ ১০ সহ।
এটি একটি গ্রাফিক্স ড্রাইভার ইন্টারফেস যা মনিটর এবং অন্যান্য আউটপুট ডিভাইসে গ্রাফিক্স পাঠানো ম্যানেজ করে। কোডটি উইন্ডোজ ১০-এ gdi32.dll-এর দ্বারা এক্সিকিউট করা হয়।
দুর্ভাগ্যক্রমে, যেহেতু Win32k.sys এইতদীর্ঘ উইন্ডোজ অপারেটিং সিস্টেমের একটি দীর্ঘস্থায়ী মূল অংশ, এবং কারণ এটি একটি ফোল্ডারে থাকে (Program Files) যা সাধারণত System32 ফোল্ডারের মতো ভালো প্রোটেক্টেড নয়, ম্যালওয়্যার প্রায়শই এই ফাইলকে করাপ্ট করার জন্য লক্ষ্য করে।
অতিরিক্তভাবে, এটি ম্যালওয়্যারের জন্য একটি সাধারণ নাম যা তাদের নিজস্ব ফাইলগুলোর জন্য বেছে নেয়, যাতে ব্যবহারকারীরা ফাইলটিকে কম্পিউটার ইনফেকশনের অংশ হিসেবে সন্দেহ না করে।
Ntdll.dll
এই ফাইল System এবং System32 সিস্টেম ডিরেক্টরিতে অবস্থিত। ফাইলের বর্ণনা হল NT Layer DLL। এটি মূলত একটি DLL ফাইল যা মূল NT কার্নেল ফাংশন ধারণ করে।
এর মানে এতে সে মেশিন লেভেল কোড থাকে যা কোর অপারেটিং সিস্টেমকে সঠিকভাবে কাজ করতে দেয়। কোর কার্নেল প্রোগ্রাম Ntdll.dll-এ ধারিত ফাংশনগুলো অ্যাক্সেস করে, এবং এই ফাইল সে মেশিন লেভেল ফাংশনগুলো প্রসেস করে।
যদি আপনি Ntdll.dll প্রসেস থেকে যেকোনো এরর মেসেজ দেখেন, এটি সাধারণত হয় করাপ্ট Ntdll.dll ফাইলের কারণে, বা আপনার কম্পিউটারের হার্ডওয়্যার সমস্যার কারণে যা প্রসেসকে ক্র্যাশ করাচ্ছে।
সাধারণত, এরর সৃষ্টিকারী হার্ডওয়্যার ড্রাইভার রিইনস্টল করলে এররটি সমাধান হয়। যদি সমস্যা একটি করাপ্ট Ntdll.dll ফাইল হয়, অ্যান্টিভাইরাস সফ্টওয়্যার সমস্যাটি রিপেয়ার করতে সক্ষম। যদি না পারে, উইন্ডোজ রিস্টোর দরকার হতে পারে।
Kernel32.dll
এই DLL ফাইল উইন্ডোজ অপারেটিং সিস্টেম কার্নেলের অংশ হিসেবে পাওয়া যায়। এটি মেমরি ম্যানেজ করে, মেমরি ইন্টারাপ্টসহ। এটি সকল ইনপুট এবং আউটপুট অপারেশনও ম্যানেজ করে।
Kernel32.dll আরেকটি ফাইল যা প্রোটেক্টেড মেমরি স্পেসে লোড হয় যেখানে রেগুলার ইউজার অ্যাপ্লিকেশন অপারেট করতে পারে না।
যদি আপনি কখনো Kernel32.dll সম্পর্কিত কোনো এরর দেখেন, এটি সাধারণত হয় ম্যালওয়্যার বা করাপ্ট হার্ডওয়্যার ড্রাইভার (বা ফল্টি হার্ডওয়্যার) প্রোটেক্টেড মেমরিতে লিখতে চেষ্টা করার কারণে যেখানে Kernel32.dll অবস্থিত। সাধারণত হার্ডওয়্যার ড্রাইভার রিইনস্টল করলে বা নতুন হার্ডওয়্যার ব্যবহার করলে এই এররগুলো সমাধান হয়।
Advapi32.dll
এই DLL ফাইল উইন্ডোজ অপারেটিং সিস্টেমের আরেকটি মূল কম্পোনেন্ট। এর নাম står করে Advanced Application Programming Interface, বা Advanced API। এটি সিস্টেম সিকিউরিটি কল এবং সিস্টেম রেজিস্ট্রির বিপরীতে কল হ্যান্ডেল করে।
এই DLL উইন্ডোজ শুরু ও বন্ধ করা ম্যানেজ করে, উইন্ডোজ রেজিস্ট্রি ম্যানেজ করে, ইউজার অ্যাকাউন্ট এবং অ্যাকাউন্ট সিকিউরিটি হ্যান্ডেল করে, এবং উইন্ডোজ সার্ভিসের ম্যানেজমেন্ট করে।
যদিও এই ফাইল উইন্ডোজ বুট করার জন্য আবশ্যক নয়, তবে অধিকাংশ অ্যাপ্লিকেশন এবং হার্ডওয়্যারের সঠিক অপারেশনের জন্য এটি আবশ্যক। যদি এই উইন্ডোজ সিস্টেম ফাইল ডিলিট বা করাপ্ট হয়, সিস্টেম রেজিস্ট্রি বা সিকিউরিটি অ্যাক্সেস করার অ্যাপ্লিকেশন API কলগুলো ফেল হবে এবং আপনি অনেক এরর মেসেজ দেখবেন।
User32.dll
আরেকটি মূল DLL, এই উইন্ডোজ সিস্টেম ফাইলতে ইউজার অ্যাপ্লিকেশনগুলো অপারেটিং সিস্টেমের সাথে যোগাযোগ করার জন্য অধিকাংশ মূল উইন্ডোজ API থাকে। এটি উইন্ডোজ অ্যাপ্লিকেশন দ্বারা প্রদর্শিত অধিকাংশ নেটিভ উইন্ডো এবং কন্ট্রোল হ্যান্ডেল করে।
যেকোনো অ্যাপ্লিকেশন যেটির গ্রাফিক্যাল ইউজার ইন্টারফেস আছে, সাধারণত User32.dll ফাইল দ্বারা অফার করা কম্পোনেন্ট ব্যবহার করে।
যাইহোক, অধিকাংশ কেসে, উইন্ডোজ অ্যাপ্লিকেশনগুলো উইন্ডোজ .NET ফ্রেমওয়ার্কে বিল্ট-ইন লাইব্রেরি ব্যবহার করে, যা পরিবর্তে User32.dll-এর সাথে যোগাযোগ ম্যানেজ করে।
যে কোনো কেসে, User32.dll সাধারণ, সহজে বোঝা যায় এমন অ্যাপ্লিকেশন কোডকে সে মেশিন লেভেল কমান্ডে অনুবাদ করে যা উইন্ডোজ অপারেটিং সিস্টেম দ্বারা আবশ্যক।
Gdi32.dll
User32.dll-এর মতোই, Gdi32.dll ফাংশন ধারণ করে যা অ্যাপ্লিকেশনগুলোক মনিটরে গ্রাফিক্যাল ইউজার ইন্টারফেস তৈরি করতে দেয়।
Gdi32.dll ফাংশন ধারণ করে যা অ্যাপ্লিকেশনগুলোক স্ক্রিনে ২-ডাইমেনশনাল অবজেক্ট তৈরি করতে দেয়। এটি উইন্ডোজ অ্যাপ্লিকেশন বা সার্ভিস থেকে কোড গ্রহণ করে এবং মনিটরে ভিজুয়াল অবজেক্ট ডিসপ্লে করার জন্য আবশ্যক মেশিন কোড এক্সিকিউট করে।
যদিও একটি উইন্ডোজ অপারেটিং সিস্টেম এই DLL করাপ্ট বা ডিলিট হওয়া সত্ত্বেও বুট হতে পারে, অপারেটিং সিস্টেমের ডিসপ্লে সঠিকভাবে কাজ করবে না।
অন্যান্য গুরুত্বপূর্ণ উইন্ডোজ সিস্টেম ফাইল
উপরোক্তগুলো হল উইন্ডোজ অপারেটিং সিস্টেমের সঠিক ফাংশনিংয়ের জন্য আবশ্যক মূল উইন্ডোজ সিস্টেম ফাইল এবং এক্সিকিউটেবল, কিন্তু কম্পিউটার সিস্টেমের নন-ক্রিটিক্যাল ফাংশনগুলো সঠিকভাবে কাজ করার জন্য কিছু অতিরিক্ত ফাইল আছে।
- Pagefile.sys: অপারেটিং সিস্টেমকে RAM মেমরি স্পেস ম্যানেজ করতে এবং সিস্টেম পারফরম্যান্স উন্নত করতে সাহায্য করে।
- Swapfile.sys: এটি একটি নতুন সিস্টেম ফাইল যা আধুনিক উইন্ডোজ অ্যাপগুলোকে হার্ড ড্রাইভে সরাতে সাহায্য করে যখন সেগুলো হাইবারনেশন স্টেটে থাকে।
- Crss.exe: এটি একটি ক্লায়েন্ট সার্ভার রানটাইম প্রসেস যা কনসোল উইন্ডো এবং উইন্ডোজ শাট ডাউন প্রসেস হ্যান্ডেল করে।
- Shell32.dll: উইন্ডোজ শেল API ফাংশন ধারণ করে যা ওয়েব ব্রাউজার এবং অন্যান্য অ্যাপ্লিকেশনকে অপারেটিং সিস্টেমের এলিমেন্ট যেমন টাস্কবার, ডেস্কটপ, এবং Start মেনু সঠিকভাবে ডিসপ্লে করতে দেয়।
- Smss.exe: সেশন ম্যানেজার সাবসিস্টেম ইউজার সেশন হ্যান্ডেল করে, উইন্ডোজ লগন এবং ইউজার সিস্টেম সেটিংস সহ।
- Sxs.dll: এটি উইন্ডোজ অপারেটিং সিস্টেমের একটি গুরুত্বপূর্ণ কম্পোনেন্ট যা ম্যানিফেস্ট ফাইল হ্যান্ডেল করে। এগুলো সে ফাইলগুলো যা উইন্ডোজকে বলে একটি সফ্টওয়্যার অ্যাপ্লিকেশন লঞ্চ হওয়ার সময় কীভাবে হ্যান্ডেল করতে হবে।
উইন্ডোজ অপারেটিং সিস্টেমের অংশ হিসেবে অনেক আরও কম ক্রিটিক্যাল সিস্টেম ফাইল আছে, কিন্তু উপরের লিস্টের যেগুলো সে সবচেয়ে সাধারণ। এই কারণে সেগুলো প্রায়শ ম্যালওয়্যার দ্বারা লক্ষ্য করা হয় ব্যবহারকারীদের ঠকাতে ম্যালওয়্যার ফাইলগুলো ليজিটিমেট বলে মনে করাতে।
অधিকাংশ অ্যান্টিভাইরাস অ্যাপ্লিকেশন একটি নকল উইন্ডোজ সিস্টেম ফাইল সনাক্ত করতে সক্ষম এবং সাধারণত সেগুলো আপনার সিস্টেম থেকে ক্লিন করে দেয় আপনি তাদের অস্তিত্ব জানতে পারার আগে।