Tech Desk

About Computer Operating System Nowdays 2020 2021

আজকে অপারেটিং সিস্টেম নিয়ে লিখছি। তবে, গল্পে গল্পে খুব সহজভাবেই লিখবো যাতে করে সবাই বুঝতে পারে। শুরু করা যাক।

মনে করুন- আপনি একটি বিল্ডিং বানাবেন। TECH DOC BDটাকা, ইঞ্জিনিয়ার, শ্রমিক ইত্যাদি সবই আছে কিন্তু, এমন একজন আছেন যিনি ব্যতীত আপনার বিল্ডিং বানানোর কাজ মোটেও হবে না। প্রচলিত বাংলায় যাকে বলা হয়- কন্টেক্টার। এই কনটেক্টার সাহেব শ্রমিকদেরকে পরিচালনা করে আপনার বিল্ডিং প্রস্তুত করবেন।
কম্পিউটারেও একজন কনটেক্টার সাহেব লাগে। আর, এই কন্টেক্টার সাহেবের নাম-ই হচ্ছে অপারেটিং সিস্টেম যেমনঃ Windows, Kali Linux ইত্যাদি। আপনি যখন কম্পিউটার চালু করেন তখন BIOS নামক hard-code কিছু পরীক্ষা করার পর এই অপারেটিং সিস্টেমকে লোড করে। ইঞ্জিনিয়ার সাহেব কিন্তু শ্রমিকদের সাথে সরাসরি হাতে- কলমে দেখিয়ে দিয়ে বিল্ডিং বানান না; মাঝখানে একজন কনটেক্টার সাহেব থাকে। ঠিক তেমনিই, আপনি কম্পিউটারের গ্রাফিক্যাল ইন্টারফেসে কোথাও ক্লিক করলে নির্দিষ্ট কাজ হয়ে গেলেও সেই application সরাসরি আপনার কম্পিউটারের হার্ডওয়্যার যেমনঃ RAM, CPU ইত্যাদির সাথে যোগাযোগ করে না। বরং, আপনার কম্পিউটারের application এবং হার্ডওয়্যারের মাঝখানে একজন কনটেক্টার সাহেব তথা, অপারেটিং সিস্টেম রয়েছে, যাকে system call করার মাধ্যমে কম্পিউটারের যাবতীয় কাজ সম্পন্ন হয়।
আমি আজকে Windows অপারেটিং সিস্টেমের ব্যাপারে লিখবো।
কম্পিউটারে আপনি যখন কোন কাজ করেন তখন CPU এর মধ্যে multi programming অথবা, multi tasking পদ্ধতিতে কাজটি process বা, সম্পন্ন হয়ে থাকে।TECH DOC BD
আপনি নিশ্চই আপনার কম্পিউটারের হার্ড-ড্রাইভে অডিও, ভিডিও ইত্যাদি বিভিন্ন file সংরক্ষণ করেন। এসব file সংরক্ষণ ও উদ্ধার করার জন্য উইন্ডোজের কিছু নিয়ম রয়েছে। সেই নিয়ম অনুযায়ী কম্পিউটারকে পরিচালনা করার জন্য রয়েছে ফাইল সিস্টেম। উইন্ডোজে বিভিন্ন প্রকারের ফাইল সিস্টেম আছে। যেমনঃ NTFS, FAT32, exFAT, ReFS ইত্যাদি। তবে, Windows 10 –এ default ফাইল সিস্টেম হিসেবে NTFS ব্যাবহার করা করা হয়।
NTFS ব্যাবহার করে আপনি একটি file এর নাম সর্বোচ্চ ২৫৫ টি অক্ষর দিয়ে লিখতে পারবেন। আর, ReFS ফাইল সিস্টেম ব্যাবহার করলে একটি file এর নাম সর্বোচ্চ ৩২৭৬৮ টি অক্ষর দিয়ে লিখতে পারবেন। সেইসাথে একটি file সর্বোচ্চ কতো size এর হতে পারবে সেটিও ফাইল সিস্টেমে নির্ধারন করা আছে। আপনার কম্পিউটারের অডিও, ভিডিও কিন্তু আনলিমিটেড মেগাবাইটের হতে পারবে না; একটি সর্বোচ্চ সীমা রয়েছে। NTFS ফাইল সিস্টেমে একটি file সর্বোচ্চ 1,000,000 GB হতে পারবে; যেখানে ReFS ফাইল সিস্টেমে একটি file সর্বোচ্চ 35,000,000 GB পর্যন্ত হতে পারে! সর্বপ্রথম উইন্ডোজ অপারেটিং সিস্টেম Windows NT তে-ও এই NTFS ব্যাবহার করা হয়েছিলো। মূলত, কম্পিউটারের কাছে সবকিছুই file এমনকি folder গুলোও কম্পিউটারের কাছে বিশেষ file।TECH DOC BD
উইন্ডোজে একটি কাজ অটোমেটিক ভাবে হয়, তা হচ্ছে mount করা। ফাইল সিস্টেম mount পদ্ধতির মাধ্যমে আপনি কম্পিউটারের file (অডিও, ভিডিও ইত্যাদি) access করতে পারেন। কম্পিউটারে USB পেনড্রাইভ প্রবেশ করালেও পেনড্রাইভে থাকা file গুলোতে access করতে mount করতে হয়। তবে, উইন্ডোজ অটোমেটিকভাবেই mount করে দেয়। আপনি হয়তো লক্ষ্য করেছেন- আপনার কম্পিউটারে USB flashdrive (পেনড্রাইভ) প্রবেশ করালে কম্পিউটারে হালকা কিছু কাজ শুরু হয়। তখনই mount করা হয়। আবার, আপনি যখন USB পেনড্রাইভ eject করেন তখন unmount হয়ে যায় ফলে, তখন আর আপনি পেনড্রাইভের কোন file –ই access করতে পারবেন না। বলাবাহুল্য, আপনি যদি Windows ব্যাবহার না করে Kali Linux ব্যাবহার করতেন তাহলে টার্মিনালে নিচের মতো command দিয়ে mount করতে হতো-
sudo mount /dev/sdb1 /my_usb/
আপনার কম্পিউটারে থাকা বিভিন্ন ড্রাইভ যেমনঃ C: drive, D: drive ইত্যাদিতে যদি গোপন কিছু থাকে এবং আপনি যদি সেই drive কে hide করে রাখতে চান তাহলে, Drive Management –এ গিয়ে সেই drive কে unmount করলেই তা hide হয়ে যাবে এবং পুনরায় mount করার আগে সেই drive এর কোনকিছুই কেউ access করতে পারবে না। তবে ভয় নেই, unmount করলে কোনকিছু delete হয়ে যাবে না। আপনি যখন আবার mount করবেন তখন আবার access করতে পারবেন। আর, এর গুরুত্ব অনেক। কারন, আপনার কম্পিউটার চালু হওয়ার সময় আপনার কাছে password চায়। সেই password দিলে আপনার কম্পিউটারের desktop চলে আসে। কিন্তু, এমন কিছু প্রোগ্রাম আছে যার মাধ্যমে এই password ছাড়াই অন্য কেউ আপনার কম্পিউটারে access করতে পারবে। সেক্ষেত্রে, আপনার কম্পিউটারের নির্দিষ্ট drive -এ থাকা গোপন তথ্য সবই জেনে যাবে। তাই, আপনার পার্সোনাল তথ্য যেই drive এ আছে সেই ড্রাইভ যদি unmount করে দেন তাহলেই তা hide হয়ে যাবে। ফলে, প্রাথমিকভাবে হলেও সেই drive এর তথ্য নিরাপদ থাকবে।
তবে হ্যাঁ, C: drive কখনো unmount করতে যাবেন না। কারন, সেখানে Windows রয়েছে; unmount করলে আপনার কম্পিউটার ভিন-জগতের প্রাণীর মতো আচরণ শুরু করবে এবং পুনরায় mount করা সাধারন কম্পিউটার ব্যাবহারকারীর জন্য কঠিন হয়ে যাবে।
আর হ্যাঁ, অপারেটিং সিস্টেম বিষয়ক লেখাগুলো পড়ে এটা ভাববেন না যে- ‘কম্পিউটারে আমরা যা কিছু করি, তার সবকিছুই অপারেটিং সিস্টেমের মাধ্যমেই হয়’। না, আপনি যেই app ব্যাবহার করছেন সেই app এর নিজস্ব কিছু প্রোগ্রাম আছে, যেই প্রোগ্রাম সে নিজের মধ্যেই সম্পন্ন করে যাকে user level বলে। কিন্তু, যখন কোন কাজ process করার প্রয়োজন হবে তখন অবশ্যই অপারেটিং সিস্টেমের প্রয়োজন হবে।
এইবার একটি পরিচিত বিষয়ে কথা বলা যাক। অনেক সময় এমন হয় যে, আপনি কম্পিউটারে কাজ করছেন আর হুঠ করে কারেন্ট চলে গেলো। অথচ, সেই সময় কম্পিউটারের মধ্যে অনেক কাজ হচ্ছিলো অথচ, মাঝ পথে বন্ধ হয়ে গেলো! সবকিছু তাল- গোল পেঁকে আপনার কম্পিউটার তো নষ্ট হয়ে যাওয়ার কথা। অথচ, কারেন্ট আসার পর কম্পিউটার চালু করলে ঠিকভাবেই কাজ করে। এর কারন কি? Windows কি তাহলে সবকিছু save করে রেখেছিলো? জি হ্যাঁ, ঠিক ধরেছেন। NTFS ফাইল সিস্টেমে Journaling নামের একটি feature রয়েছে, যা আপনার কম্পিউটারে প্রতিনিয়ত পরিবর্তিত হওয়া data সম্বন্ধে .JNT ফাইলে note করে রাখে। ফলে, কারেন্ট চলে যাবার সময় কি কি পরিবর্তন হচ্ছিলো তার সবই Journal থেকে জেনে নিয়ে আপনার কম্পিউটার সঠিকভাবে চালু হতে পারে। যদিও, এমন ক্ষেত্রে কম্পিউটার চালু হতে হালকা দেরি হতে পারে। তবে, সবসময়ই যে হুঠ করে কারেন্ট চলে গেলেও আপনার কম্পিউটার সঠিকভাবেই চালু হবে, তা কিন্তু না। অনেকসময়, কারেন্ট চলে যাওয়ায় হুঠ করে কম্পিউটার বন্ধ হয়ে গেলে আপনার অপারেটিং সিস্টেম crash করতে পারে। তখন নতুন করে Windows ইন্সটল করতে হবে। বিশেষ করে, কোনকিছু update দেওয়ার সময় দেখবেন কম্পিউটারে লেখা থাকে যে, ‘update শেষ হওয়ার আগে কম্পিউটার shut down করবেন না’। সাধারণত এমন ক্ষেত্রে কারেন্ট চলে গেলে বা, কম্পিউটার shut down করলে উইন্ডোজ crash করার সম্ভাবনাই বেশি। কারন, আপনি যখন কম্পিউটারে কিছু download দেন তখন সেই data বাইনারি সংখ্যা 1 ও 0 হিসেবে আপনার কম্পিউটারের হার্ড-ড্রাইভে জমা হতে থাকে। মনে করুন, download করার আগে হার্ড-ডিস্কের মধ্যে store করা data নিচের মতো ছিলো-
100100011010010001
100100011
001110110
লক্ষ্য করুন, প্রথম লাইনের তুলনায় নিচের দুই লাইনের সংখ্যার পরিমান কিছুটা কম। হার্ড-ড্রাইভে এগুলো ফাঁকা জায়গা হিসেবে থাকে। এই ফাঁকা জায়গা তখন তৈরী হয়, যখন আপনি কোন কিছু delete করেন কিংবা, কোনকিছু cut করে অন্য জায়গায় paste করেন। এসকল ক্ষেত্রে সেই delete করা বা, cut করা ফাইলটি হার্ড-ডিস্কের যেখানে ছিলো, সেখানে ফাঁকা হয়ে যায়।
তো, আপনি যখন কোনকিছু download করেন, তখন সেই data –র কিছু অংশ এই ফাঁকা জায়গাগুলোতে আলাদা আলাদা করে store হতে থাকে। এই পদ্ধতিকে fragmentation বলে। আবার, হার্ড-ডিস্কের বিভিন্ন জায়গায় থাকা এই ফাঁকা স্থানগুলোকে সরিয়ে এক জায়গায় নিয়ে গিয়ে একটি ফাঁকা স্থান তৈরী করা হয় আর, download করা data যেসকল ফাঁকা স্থানে আলাদা আলাদা হয়ে store হয়েছিলো, সেগুলোকে এক জায়গায় আনা হয়। এই পদ্ধতিকে defragmentation বলে। এখন আপনার কম্পিউটারে এতো কাজ হতে থাকবে আর, সবকিছু log হিসেবে ফাইল সিস্টেমের Journaling –এ জমা হতে থাকবে। এই ধরণের ক্রিটিক্যাল মুহূর্তে হঠাৎ কারেন্ট চলে গেলে তো উইন্ডোজের হার্ট এটাক হতেই পারে! মানে, উইন্ডোজ crash করতে পারে। তখন, আবার Windows ইন্সটল করতে হবে।
আর, হ্যাঁ। Fragmentation এর সময় data গুলো এলোমেলোভাবে store হলেও একটি file এর data কোথায় কোথায় ছড়িয়ে আছে তার সবকিছুরই খবর রাখে ফাইল সিস্টেম (উপরে এ নিয়ে আলোচনা করা হয়েছে)। সেইসাথে, আপনার কম্পিউটারে অনেক অডিও, ভিডিও থাকলেও সেগুলো কিন্তু হার্ড-ড্রাইভে একসাথেই থাকে। কিন্তু, এই ফাইল সিস্টেমই আলাদা আলাদা ফাইলকে আলাদা আলাদা আইডি দিয়ে রাখে। ফলে, আপনি প্রত্যেকটি অডিও, ভিডিওকে আলাদাভাবে দেখতে পারেন।
কম্পিউটার বিষয়ে পারদর্শীদের জন্য এক কথায় বলবো- data লজিক্যাল ব্লকে বিভক্ত করে হার্ড-ডিস্কের বিভিন্ন সেক্টরে map করে store করার সময় সেই তথ্য save করে রাখা এবং সেই file যখন fetch করা হবে তখন mapping এর তথ্য অনুযায়ী সঠিকভাবে নিয়ে আসাই হচ্ছে ফাইল সিস্টেমের কাজ।
আচ্ছা, এইবার পরিচয়পর্বে যাওয়া যাক। কলেজে প্রথম দিন তো সবার সাথে পরিচিত হওয়ার জন্য একটি অনুষ্ঠানের আয়োজন করা হয়। এখন মনে করুন- আপনার কম্পিউটারে যেসব software, app, tool আছে সেগুলো install করলেও তো Windows এর data গুলোর সাথে তাদের পরিচিত হওয়া দরকার! তা না হলে সেই software গুলো কিভাবে কাজ করবে? আর, এই পরিচিত হওয়ার কাজ করিয়ে দেওয়ার দায়িত্ব পালন করে WMI নামক একটি ফিচার (feature)। WMI একটি পথ তৈরী করে, যার মাধ্যমে software গুলো উইন্ডোজ অপারেটিং সিস্টেমের বর্তমান অবস্থা ও তার data সম্বন্ধে জানতে চেয়ে request পাঠাতে পারে। আর, request পাওয়ার পর WMI Providers সেই তথ্য প্রদান (provide) করে। আপনি চাইলে নিজে থেকেও (manually) এই WMI ব্যাবহার করতে পারেন এবং এমন কিছু তথ্য পেতে পারবেন যা সাধারনভাবে উইন্ডোজ কম্পিউটারে দেখা যায় না।
আচ্ছা, একটি বিষয় কেউ লক্ষ্য করেছেন কি? WMI Providers যেহেতু software কে প্রয়োজনীয় information দেয়; তো এই information গুলো দেওয়ার সময় মাঝপথে কোন সমস্যা হতে পারে। আপনার কম্পিউটারের ব্যাকগ্রাউন্ডে চলতে থাকা এমন অনেক কাজই মাঝপথে সমস্যায় পড়তে পারে। আর, তখন দেখবেন- আপনার কম্পিউটার screen হয়তো লাফাচ্ছে কিংবা, এমনই কোন আজব কিছু দেখতে পাবেন। আপনি হয়তো ভাববেন- কম্পিউটার নষ্ট হয়ে গিয়েছে। কিন্তু, যারা tech savvy (প্রযুক্তি বিষয়ে এক্সপার্ট) তারা এমন পরিস্থিতিতে প্রথমেই কম্পিউটার restart দেয় এবং restart হওয়ার পর কম্পিউটার পুরোপুরি ঠিক হয়ে যায়! কিন্তু, কেনো? চলুন একটি দৃষ্টান্ত দেওয়া যাক-
আমি চট্টগ্রাম যাচ্ছিলাম। এমন সময় দেখতে পেলাম, একটি ব্রীজ ভেঙ্গে গিয়েছে। তাই, গাড়ি উল্টা ঘুরিয়ে নিয়ে কিছুদুর পেছনে গিয়ে অন্য রাস্তা দিয়ে ভাঙ্গা ব্রীজের ঐ পাড়ে গিয়ে উঠলাম। কম্পিউটারের ক্ষেত্রেও এমন হয়। কোন একটি কাজ করার সময় হয়তো মাঝপথে ব্রীজ ভেঙ্গে যাওয়ার মতো অবস্থা হয় ফলে, সেই কাজ আর finish করতে পারে না কিন্তু, বারবার চেষ্টায় থাকে। তখন কম্পিউটার অনেকটা লাফালাফি শুরু করে দেয়। কিন্তু, আপনি যখন কম্পিউটার restart দেন তখন কাজটি নতুনভাবে শুরূ হয়ে সফলভাবে শেষ হয়।
এতোকিছু বললাম, password এর কথাটাও বলে দেই। উইন্ডোজের SAM নামক ডাটাবেজে user এর password সংরক্ষণ করা হয়। Windows SAM File –এ password গুলো hash করে সংরক্ষণ করা হয়। এই file গুলো নিচের location বা, file path –এ থাকে-C:WindowsSystem32Config
এটি registry –তেও থাকে। তবে, এখন আবার কেউ ভাববেন না যে, “আমি তো হ্যাকার হয়ে গেলাম। এখন থেকে সবার কম্পিউটারের SAM file থেকে তাদের সব password নিয়ে নিবো”! না, এতো আশা করে লাভ নেই। কেননা normal boot up –এ আপনি এই SAM file –এ প্রবেশ বা, access করতে পারবেন না। এখানে access করতে অনেক জটিল কাজ করতে হয়। আর হ্যাঁ, এই SAM file –কে BAM format এর বোন বলা হয়। এটিও SAM এর অনুরূপ (same) তথ্য সংগ্রহ করে তবে, বাইনারি ফর্মে। তাই, SAM হচ্ছে human readable আর, BAM হচ্ছে computer readable।
Windows অপারেটিং সিস্টেমের আলোচনায় file এর বিষয়েই বেশি আলোচনা করলাম কারন, অপারেটিং সিস্টেমের কাছে সবকিছুই হচ্ছে file। এমনকি, স্টোরেজ সাব-সিস্টেমে (হার্ড-ডিস্ক ও কন্ট্রোলার) থাকা file গুলো ছাড়াও keyboard, mouse ইত্যাদিও আপনার কম্পিউটারের অপারেটিং সিস্টেমের কাছে file! অবাক হওয়ার কারন নেই; কারন, file মানে যে শুধু ডকুমেন্ট, অডিও, ভিডিও তা না। বরং, এগুলো হচ্ছে data files। আর, data files ছাড়াও আরও অনেক ধরনের file আছে যেমনঃ
১। Text file: এই টেক্সট ফাইলে শুধু text থাকে যেমন MS Word document।
২। Application file: কোন প্রোগ্রাম install করার পর কম্পিউটারে কিছু executable file create হয়। এগুলোতে double click করলে নির্দিষ্ট কাজ করা শুরু করে। এগুলোই হচ্ছে application file। আবার, Program files নামের file গুলোও এরকম executable হয়ে থাকে।
৩। Configuration file: কম্পিউটারের কিছু প্রোগ্রামের initial settings কনফিগার করার জন্য এক ধরণের file ব্যাবহৃত হয়। এদেরকে বলে configuration file। যেমনঃ INI ফাইল।
যাই হোক, অনেক কিছুই বলে ফেললাম। যদিও আরও অনেক ব্যাসিক বিষয় যেমনঃ registry, VFS, OSes functions, file attributes/ metadata, directory, identifier, host & guest OS, operations on files, PCB, metadata::set এবং metadata::get ইত্যাদি বিষয়ে কিছুই লিখি নি।
তবে, আশা করি- আমার দেওয়া তথ্য দিয়ে অনেকেরই উপকার হবে। এই আশা রেখে এখানেই ইতি টানছি।।

Related Articles

Leave a Reply