এক DOS, বা ডিস্ক অপারেটিং সিস্টেম, হল একটি অপারেটিং সিস্টেম (OS) যা একটি ডিস্ক ড্রাইভ থেকে চলে। এই টার্মটি ডিস্ক অপারেটিং সিস্টেমের একটি নির্দিষ্ট পরিবারকে বোঝাতে ও পারে, সবচেয়ে সাধারণত MS-DOS (Microsoft DOS)। MS-DOS ১৯৯৫ വര্য পারসোনাল কম্পিউটার (PC)-এর জন্য প্রধান অপারেটিং সিস্টেম ছিল, যখন Windows 95 অপারেটিং সিস্টেমের আগমনের কারণে এর জনপ্রিয়তা কমে গেল — যা আরও ইউজার-ফ্রেন্ডলি, গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI)-ভিত্তিক ছিল।
DOS-এর ইতিহাস
১৯৪০ ও ১৯৫০ দশকের প্রারম্ভিক কম্পিউটারগুলোর ডিস্ক ড্রাইভ ছিল না। বরং সেগুলো হার্ড-ওয়ায়ার্ড ছিল নির্দিষ্ট কম্পিউটেশন চালানোর জন্য। পরে কম্পিউটারগুলো কম্পিউটারের মেমরিতে লোড করা ইনস্ট্রাকশন স্টোর করতে পারত পেপার-ভিত্তিক মিডিয়া (পাঞ্চ কার্ড) এবং পরে ম্যাগনেটিক টেপ ব্যবহার করে। কম্পিউটার মেমরি স্পেস সীমিত ছিল, এবং যখন কম্পিউটার কন্ট্রোল করার ইনস্ট্রাকশন একটি ডিস্ক ড্রাইভে (ফ্লপি ডিস্ক বা ইন্টারনাল হার্ড ডিস্ক ড্রাইভ - HDD) মুভ করা হয়, তখন সেটি কাটিং-এজ টেকনোলজি মনে হত।
একটি অপারেটিং সিস্টেম হল সফ্টওয়্যার যা কম্পিউটারের হার্ডওয়্যার কম্পোনেন্ট (মেমরি, প্রসেসর, ইত্যাদি) এবং পেরিফেরাল ডিভাইস কন্ট্রোল করার ইনস্ট্রাকশন প্রদান করে, সেই সাথে অন্যান্য সফ্টওয়্যার প্রোগ্রাম ফাংশন করতে দেয়। ইনস্ট্রাকশনগুলো HDD বা অন্যান্য স্টোরেজ মিডিয়াতে স্টোরড থাকতে পারে। একটি DOS হল OS-এর একটি নির্দিষ্ট টাইপ যা কম্পিউটারের HDD থেকে চলে এবং একটি কমান্ড-লাইন ইন্টারফেস (CLI) প্রদান করে যাতে ইউজাররা কীবোর্ড দিয়ে কমান্ড টাইপ করে সিস্টেম এবং এর বিভিন্ন কম্পোনেন্ট অ্যাক্সেস ও কন্ট্রোল করতে পারে। CLI-এর ব্যবহার হচ্ছে ডিস্ক অপারেটিং সিস্টেম এবং আধুনিক GUI-ভিত্তিক অপারেটিং সিস্টেমের মধ্যে মুখ্য পার্থক্য।
DOS টার্মটি একই ধরনের কমান্ড-লাইন ডিস্ক অপারেটিং সিস্টেমের няколкоটি বোঝাতে ও ব্যবহৃত হয়। প্রারম্ভিক কম্পিউটার যেমন Commodore 64, Atari 800, Apple II — সবগুলোর নিজস্ব ডিস্ক অপারেটিং সিস্টেম ছিল: Commodore Business Machines DOS, Atari DOS, Apple DOS। DOS/360 IBM মেইনফ্রেমের জন্য একটি OS ছিল, যা ১৯৬৬-এ প্রথম প্রদর্শিত হয়, কিন্তু ১৯৮০-এর দশকের ৮০৮৬-ভিত্তিক DOS (পারসোনাল কম্পিউটারে ব্যবহৃত) এর সাথে সম্পর্কিত নয়।
ডিস্ক অপারেটিং সিস্টেম কীভাবে কাজ করে
যখন একটি কম্পিউটার অন হয়, এটি বুট প্রসেস নামে বিভিন্ন স্টেপে যায়। ডিস্ক অপারেটিং সিস্টেম চালানোর সময় এই ছয়টি বুটিং স্টেপ স্ট্যান্ডার্ড:
- Read-only memory (ROM) বুটস্ট্র্যাপ লোডার Master Boot Record পড়ে এবং কন্ট্রোল পাস করে।
- বুট রেকর্ড ডিস্ক অপারেটিং সিস্টেমকে মেমরিতে লোড করে, যা মেশিনের কন্ট্রোল নেয়।
- কম্পিউটার ম্যাগনেটিক ডিস্কে স্টোরড ডেটা তার মেইন মেমরিতে, র্যান্ডম অ্যাক্সেস মেমরি (RAM)-এ ট্রান্সফার করে।
- এক্সটার্নাল ডিভাইস (কম্পিউটার স্ক্রিন বা প্রিন্টার) এও ডেটা ট্রান্সফার করে।
- কম্পিউটার বিভিন্ন অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস প্রদান করে: ক্যারেক্টার ইনপুট/আউটপুট (I/O), মেমরি ম্যানেজমেন্ট, প্রোগ্রাম লোডিং ও টার্মিনেশন, কীবোর্ড দিয়ে ইউজার ইনপুট হ্যান্ডলিং।
- OS ফাইল সিস্টেম ম্যানেজমেন্ট ও প্রদান করে যা স্টোরেজে ফাইল অর্গানাইজ, রিড ও রাইট করে। ম্যানেজমেন্ট সিস্টেম ডিরেক্টরি, সাবডিরেক্টরি এবং ফাইলের হায়ারার্কিক্যাল স্ট্রাকচার ব্যবহার করে।
DOS এবং কমান্ড-লাইন ইন্টারফেস
কারণ DOS-এ ক্যারেক্টার-ভিত্তিক ইন্টারফেস থাকে GUI-এর বদলে, এর ইউজাররা কমান্ড লাইনে টেক্সচুয়াল কমান্ড টাইপ করে ইঙ্গিত দেয় যে OS কী একশন নেবে, যেমন ফাইল খুঁজে বের করা বা নির্দিষ্ট প্রোগ্রাম চালানো। কমান্ড লাইন প্রসেস জটিল এবং ক্লান্তিকর, তাই নন-গ্রাফিক্যাল OS গুলো অপ্রচলিত হয়ে যাচ্ছে।
उस সত্ত্বেও, নন-গ্রাফিক্যাল OS মিনিমাল সিস্টেম রিসোর্স ব্যবহার করে; সেগুলো লাইটওয়েট, ফাস্ট এবং ফ্লেক্সিবল হতে পারে। এছাড়া, যেসব ইউজার অপারেটিং সিস্টেমের স্ট্যান্ডার্ড কমান্ড জানেন তারা GUI-ভিত্তিক OS-এর চেয়ে সহজ পেতে পারে, বিশেষ করে নিচের কাজগুলোর জন্য:
- হার্ডওয়্যার বা সফ্টওয়্যার ইস্যু ট্রাবলশুট করা।
- করাপ্ট HDD থেকে ডেটা রিকভার করা।
- HDD পার্টিশন তৈরি করা।
- অ্যান্টিভাইরাস সফ্টওয়্যার চালানো।
- লিগেসি সফ্টওয়্যার চালানো।
- সিস্টেম BIOS সেটআপ ও কনফিগার করা।
- ফাইল/ডেটা ব্যাকআপ সেটআপ করা।
- সিস্টেম ডেট/ক্লক সেটিংস আপডেট করা।
DOS-এর বৈশিষ্ট্য
সকল ডিস্ক অপারেটিং সিস্টেমের মূল বৈশিষ্ট্য:
- CLI: কোনো DOS-এ GUI নেই, তাই মাউস ইনপুট গ্রহণ করা হয় না। এটি একটি ক্যারেক্টার-ভিত্তিক ইন্টারফেস সিস্টেম যেখানে সকল কমান্ড কমান্ড-লাইন প্রম্পটে টেক্সট হিসেবে দেয়া হয়।
- প্রম্পট: ডিস্ক অপারেটিং সিস্টেম একটি ভিজ্যুয়াল মেসেজ প্রদান করে যাকে প্রম্পট বলা হয়, যা বর্তমান ডিরেক্টরি বা ফোল্ডারের লোকেশন দেখায় এবং ইউজারকে কীবোর্ড থেকে বিভিন্ন কমান্ড দেয়ার সুযোগ দেয়।
- ম্যানেজমেন্ট: DOS কম্পিউটারের ফাইল, I/O সিস্টেম এবং মেমরি ম্যানেজ করতে উপকারী।
- ব্যাচ ফাইল: ডিস্ক অপারেটিং সিস্টেম ব্যাচ ফাইল সাপোর্ট করে যা ম্যাক্রো যেনো কাজ করে, কমান্ডের গ্রুপ অটোমেট করতে ব্যবহার হয়, টাস্ক সহজ করে, সময় ও পরিশ্রম বাঁচায়।
- কার্নেল: DOS কার্নেল OS-এর ব্রেন হিসেবে কাজ করে; এটি কম্পিউটারের মৌলিক অপারেশন (মেমরি এলোকেশন, ফাইল অ্যাক্সেস, ইত্যাদি) ম্যানেজ করে এবং কম্পিউটার ও এর প্রোগ্রামের মধ্যে ইন্টারঅ্যাকশনের জন্য ইন্টারফেস প্রদান করে।
- ডেটা রিকভারি ক্যাপাবিলিটি: DOS থেকে কম্পিউটার বুট করলে অপ্রত্যাশিত ইভেন্ট (ক্র্যাশ বা হার্ড ড্রাইভ করাপশন) ঘটলে ডেটা রিকভার করতে সাহায্য করে।
DOS-এর সীমাবদ্ধতা
- বিল্ট-ইন সিকিউরিটি নেই: ফাইল অোনারশিপ এবং পারমিশনের মতো বিল্ট-ইন সিকিউরিটি নেই।
- মাল্টি-ইউজার বা মাল্টিটাস্কিং নেই: সিংগল-টাস্ক অপারেটিং সিস্টেম হলে ডিস্ক অপারেটিং সিস্টেম মাল্টি-ইউজার বা মাল্টিটাস্কিং সাপোর্ট করে না। তাই একবারে শুধু একটি প্রোগ্রাম চলে (বাড়তি করেও এটি বেসিক I/O সিস্টেম এবং আন্ডারলাইং হার্ডওয়্যারে ডায়রেক্ট অ্যাক্সেস দেয়)।
- চ্যালেঞ্জিং ইন্টারফেস: CLI-এ ইউজারকে কমান্ড টাইপ করতে হয়, প্রোগ্রাম চালানোর এবং অন্যান্য OS টাস্কের জন্য কমান্ড মনে রাখতে হয়।
- অনপেক্ষিত আউটপুট: কমান্ড টাইপে ছোট ভুল অনপেক্ষিত বা অনিচ্ছাকৃত ফলাফল আনে। উদাহরণ: বর্তমান ডিরেক্টরির ফাইল লিস্ট করতে চাইলে
cd \directory_nameটাইপ করলে করেন্ট ওয়ার্কিং ডিরেক্টরি চেঞ্জ হয়ে যায়। ফোল্ডারের কন্টেন্ট লিস্ট করতে হলেdirকমান্ড ব্যবহার করতে হয়। - ডিস্ক ডিরেক্টরি ইনফোরমেশন স্লো আপডেট: MS-DOS-এর মত কিছু ডিস্ক OS ফাইল অ্যাপ্লিকেশন দ্বারা ক্লোজ না হওয়া পর্যন্ত ডিস্ক ডিরেক্টরি ইনফোরমেশন আপডেট করে না, যা ফাইলকে অনসेफ স্টেটে রাখে এবং প্রোগ্রামিং ইস্যু সৃষ্টি করতে পারে।
সাধারণ DOS কমান্ড
MS-DOS কেস-সেনসিটিভ নয়, তাই কমান্ড বড় বা ছোট হাতের অক্ষরে টাইপ করা যায়। তবে অন্যান্য ডিস্ক অপারেটিং সিস্টেমের কেস-সেনসিটিভ CLI থাকে। DOS কমান্ডগুলো:
| Command | কী করে | Example |
|---|---|---|
| cd | ডিরেক্টরি চেঞ্জ করে | Type cd c:\techtarget in the command line to change the working directory to c:\techtarget. |
| cls | স্ক্রিনের সব কন্টেন্ট ক্লিয়ার করে, শুধু কমান্ড প্রম্পট রেখে | Type cls in the command line. |
| copy | এক বা একাধিক ফাইল অন্য লোকেশনে কপি করে | Type copy c:\techtarget\file.txt c:\techtarget\file2.txt to copy c:\techtarget\file.txt to c:\techtarget\file2.txt. |
| del | এক বা একাধিক ফাইল ডিলিট করে | Type del c:\techtarget\file2.txt to delete the file file.txt from the directory c:\techtarget. |
| deltree | কম্পিউটার থেকে সব ফাইল এবং সাবডিরেক্টরি ডিলিট করে | Type deltree c:\techtarget\drafts to delete the directory drafts, including all files and subdirectories contained in it. |
| dir | এক ডিরেক্টরিতে ফাইল ও ডিরেক্টরির লিস্ট দেখায় | Type dir c:\techtarget to display a list of files and directories in the directory c:\techtarget. |
| format | এক ডিস্ক ফরম্যাট করে DOS ফাইলের জন্য | Type format e: to format the disk in drive e: for use with DOS. |
| help | উপলব্ধ কমান্ড বা নির্দিষ্ট কমান্ডের বিস্তারিত দেখায় | Type help del to display information about the del command and how to use it. Most commands have optional switches that are explained in the help information. |
| mkdir বা md | নতুন সাবডিরেক্টরি তৈরি করে | Type mkdir c:\techtarget\drafts to create the subdirectory drafts in the c:\techtarget directory. |
| move | ফাইল বা ডিরেক্টরি এক ডিরেক্টরি থেকে অন্য ডিরেক্টরি বা এক ড্রাইভ থেকে অন্য ড্রাইভে মুভ করে | Type move c:\techtarget\file.txt c:\techtarget\drafts\file.txt to move c:\techtarget\file.txt to c:\techtarget\drafts\file.txt. |
| ren বা rename | ফাইল বা ডিরেক্টরির নাম চেঞ্জ করে | Type ren c:\techtarget\file.txt c:\techtarget\file2.txt to rename the file c:\techtarget\file.txt to c:\techtarget\file2.txt. |
| type | এক ফাইলের কন্টেন্ট স্ক্রিনে দেখায় | Type type c:\myfile.txt to show the contents of the myfile.txt file. |
| * | ওয়াইল্ডকার্ড ক্যারেক্টার যা এক বা একাধিক ক্যারেক্টার রিপ্রেজেন্ট করে যা একটি গ্রুপ ফাইলে কমন | Type copy c:\techtarget\*.txt c:\techtarget\drafts to copy all files with the extension of .txt to c:\techtarget\drafts. |
| ? | ওয়াইল্ডকার্ড ক্যারেক্টার যা একটি সিঙ্গল ক্যারেক্টার রিপ্রেজেন্ট করে যা একটি গ্রুপ ফাইলে কমন | Type copy c:\techtarget\document?.txt c:\techtarget\drafts to copy files named document1.txt, document2.txt and so on to c:\techtarget\drafts. |
DOS-এর আরও ইতিহাস ও ভবিষ্যত
১৯৭০ দশকে মাইক্রোপ্রসেসরের আগমন কম্পিউটিং রিভোলিউশন শুরু করে এবং পারসোনাল কম্পিউটার (PC) মার্কেট বুম পায়। IBM August 1981-এ IBM 5150 Personal Computer রিলিজ করে। এই নতুন কম্পিউটারের ডেভেলপমেন্ট দ্রুত করতে IBM বিভিন্ন কম্পোনেন্ট অন্য কোম্পানি থেকে লাইসেন্স করে।
IBM-এর OS-এর জন্য প্রথম পছন্দ ছিল Digital Research-এর CP/M-86 সফ্টওয়্যার, কিন্তু নন-ডিসক্লোজার এগ্রিমেন্ট এবং লাইসেন্সিং নিয়ে মতামত ভিন্নতার কারণে IBM Microsoft থেকে একটি CP/M-মত OS বেছে নেয় যা মূলত QDOS 86-DOS নামে জানা যেত।
Microsoft 1980-এ QDOS 86-DOS-এর মার্কেটিং রাইট কিনে। এই OS তৈরি করেছিল Seattle Computer Products (SCP)-এ টিম প্যাটারসন এবং মূলত QDOS (Quick and Dirty OS-এর এক্রোনিম) নামে জানা যেত। "৮৬" নম্বরটি ইঙ্গিত করে যে OSটি মূলত Intel 8086 প্রসেসরের সাথে ব্যবহার করার জন্য ডিজাইন করা হয়েছিল। 1981-এ SCP ছেড়ে Microsoft-এ যাওয়ার পর প্যাটারসন IBM-এর PC-এর জন্য PC-DOS ভার্সন 86-DOS-এ কাজ করেন। PC-DOS ছিল Intel 8086-তে চলা PC-তে ব্যাপকভাবে ইনস্টল হওয়া প্রথম DOS।
Microsoft নিজের প্রায় একই ভার্সন তৈরি করে PC-DOS-এর যাকে MS-DOS বলা হয়, যা 1981-এ প্রথম রিলিজ হয়। PC সেলস বেড়ার সাথে সাথে MS-DOS-এর বিস্তৃতিও বেড়ে। পরবর্তী ভার্সনগুলো উন্নত পারফরম্যান্স এবং অতিরিক্ত ফাংশনালিটি (বিদেশি ও এক্সটেন্ডেড ক্যারেক্টার সাপোর্ট, বড় HDD) দিয়ে আসে। MS-DOS-এর পরবর্তী ভার্সনগুলো মেমরি ম্যানেজমেন্ট এনহ্যান্স করে, উন্নত টেক্সট এডিটর ফিচার দিয়ে আসে, এবং নেটওয়ার্ক সাপোর্ট প্রদান করে।
যখন Microsoft প্রথম Windows চালু করে MS-DOS-এর জন্য একটি GUI হিসেবে, আর্লি ইউজাররা DOS প্রম্পটে "WIN" টাইপ করে Windows প্রোগ্রাম লঞ্চ করত। Windows তারপর MS-DOS-র অধীনে চলা একটি GUI প্রোগ্রাম থেকে একটি পূর্ণ OS-এ উন্নত হয়ে ডিফল্ট OS হিসেবে দায়িত্ব নেয়, যদিও Windows XP വരে কনজিউমার ভার্সন উইন্ডোজ DOS প্রোগ্রাম win.com-এ নির্ভর করত উইন্ডোজ কার্নেল বুটস্ট্র্যাপ করার জন্য।
MS-DOS-এর লাস্ট রিটেইল ভার্সন ছিল MS-DOS 6.22; PC-DOS 2000 ছিল PC-DOS-এর লাস্ট রিটেইল রিলিজ। MS-DOS এখনও উইন্ডোজের অংশ হিসেবে বান্ডেলড থাকত কিন্তু আলাদা সফ্টওয়্যার লাইসেন্স দরকার নেই। এটি এখনও উইন্ডোজের অধীনে একটি কমান্ড প্রসেসর দিয়ে চলে যা MS-DOS ইন্টারফেস অনুকরণ করে। একটি ওপেন সোর্স DOS ভার্সনও আছে যাকে FreeDOS বলা হয় যা MS-DOS-ভিত্তিক এবং কম্প্যাটিবল। অন্যান্য ভার্সন: DR-DOS, ROM-DOS, PTS-DOS (PhysTechSoft DOS)।
যেহেতু অনেক লিগেসি অ্যাপ্লিকেশন সাপোর্ট করে, ডিস্ক অপারেটিং সিস্টেম প্র ciutat'avenir-এও ব্যবহার করা থাকবে সম্ভবত। আজ সেগুলো সিম্পল এমবেডেড সিস্টেম বা অন্যান্য ইউজ কেসে ব্যবহার করা যায় কারণ সেগুলো মেশিন ইনডিপেন্ডেন্স প্রদান করে এবং লাইসেন্সিং কাস্ট শূন্য ফ্রি বা ওপেন সোর্স OS-এ।
उस সত্ত্বেও, এই লিগেসি OS গুলো ক্রিটিক্যাল সিকিউরিটি সমস্যা উপস্থাপন করে যা সেগুলোকে আধুনিক সাইবার আক্রমণ (SQL ইনজেকশন, ম্যান-ইন-দ্য-মিডল (MitM) আক্রমণ, জিরো-ডে ভালনারবিলিটি, এবং ভাইরাস, ওয়ার্ম, র্যানসমওয়্যার, ট্রোজ্যানের মতো পরিচিত আক্রমণ) থেকে রক্ষা করা কঠিন করে তোলে।
ডিস্ক অপারেটিং সিস্টেম পারসোনাল কম্পিউটিং-এর প্রাথমিক ডেভেলপমেন্টে উল্লেখযোগ্য ভূমিকা পালন করেছে। আজ, তাদের প্রাথমিক ডেভেলপমেন্টের ৫৫ বছর পরেও, সেগুলো কম্পিউটিং ইতিহাসের সবচেয়ে গুরুত্বপূর্ণ OS টাইপের মধ্যে একটি হিসেবে জায়গা দখল করেছে।
সর্বশেষ মাইক্রোসফট OS হল Windows 11। এই Windows 11 ক্র্যাশ কোর্স ডেস্কটপ অ্যাডমিন এবং Microsoft ইউজারের জন্য চেক আউট করুন, এবং Windows 11-এ আপগ্রেড করার পরিকল্পনা করার সময় কী কী জানতে হয় সেটি এক্সপ্লোর করুন।
নোট: Disk operating system-এর জন্য এক্রোনিম সবসময় DOS (তিন অক্ষর বড় হাতের)। ছোট হাতের "o" সহ DoS এক্রোনিম হল denial of service-এর সংক্ষিপ্ত রূপ, যা একটি নেটওয়ার্কড কম্পিউটারে অস্বাভাবিকভাবে বেশি রিকোয়েস্ট পাঠিয়ে আক্রমণ করার একটি মেথড যাতে জেনুইন ইউজার অ্যাক্সেস পায় না।