📌 সফটওয়্যার কী?
কম্পিউটারের যেসব অংশ দেখা যায় না বা স্পর্শ করা যায় না, কিন্তু কম্পিউটারকে কার্যক্ষম করে তোলে — তাকে সফটওয়্যার (Software) বলে। সফটওয়্যার হলো প্রোগ্রাম, নির্দেশনা ও ডেটার সমষ্টি যা হার্ডওয়্যারকে নির্দিষ্ট কাজ করতে নির্দেশ দেয়।
| বৈশিষ্ট্য | হার্ডওয়্যার | সফটওয়্যার |
|---|---|---|
| ধরন | Physical Part (স্পর্শযোগ্য) | Logical Part (অস্পর্শযোগ্য) |
| উপমা | কম্পিউটারের শরীর | কম্পিউটারের প্রাণ/আত্মা |
| ক্ষতি | ভেঙে যায়, পুড়ে যায় | ভাইরাস দ্বারা ক্ষতিগ্রস্ত হয়, Corrupt হয় |
| প্রতিস্থাপন | নতুন যন্ত্রাংশ কিনতে হয় | পুনরায় ইনস্টল/ডাউনলোড করা যায় |
| উদাহরণ | Monitor, Keyboard, CPU, RAM | Windows, MS Word, Chrome, Photoshop |
Hardware = "Hard" = শক্ত, ধরা যায়
Software = "Soft" = নরম, ধরা যায় না, শুধু দেখা ও ব্যবহার করা যায়
"হার্ডওয়্যার ছাড়া সফটওয়্যার অচল, সফটওয়্যার ছাড়া হার্ডওয়্যার জড়"
📌 সফটওয়্যারের শ্রেণিবিভাগ
সফটওয়্যারকে প্রধানত দুই ভাগে ভাগ করা হয়:
সফটওয়্যার
├── ১. সিস্টেম সফটওয়্যার (System Software)
│ ├── অপারেটিং সিস্টেম (OS)
│ ├── ডিভাইস ড্রাইভার
│ ├── ইউটিলিটি সফটওয়্যার
│ ├── ল্যাঙ্গুয়েজ ট্রান্সলেটর (Compiler, Interpreter, Assembler)
│ └── ফার্মওয়্যার (BIOS, UEFI)
└── ২. অ্যাপ্লিকেশন সফটওয়্যার (Application Software)
├── General Purpose (MS Word, Chrome, VLC)
├── Custom / Tailor-made (Banking Software, Hospital System)
└── Utility Application (Calculator, Notepad, Paint)
📌 সিস্টেম সফটওয়্যার (System Software) — বিস্তারিত
যে সফটওয়্যার কম্পিউটারের হার্ডওয়্যার নিয়ন্ত্রণ ও পরিচালনা করে এবং অন্যান্য সফটওয়্যার চালানোর জন্য প্ল্যাটফর্ম তৈরি করে তাকে সিস্টেম সফটওয়্যার বলে। এটি ব্যবহারকারী ও হার্ডওয়্যারের মধ্যে সেতুবন্ধন।
| ধরন | বর্ণনা | উদাহরণ |
|---|---|---|
| অপারেটিং সিস্টেম (OS) | কম্পিউটারের সর্বপ্রধান সফটওয়্যার — হার্ডওয়্যার ও সফটওয়্যারের মধ্যে সমন্বয় করে | Windows, Linux, macOS, Android, iOS |
| ডিভাইস ড্রাইভার | নির্দিষ্ট হার্ডওয়্যারকে OS-এর সাথে যোগাযোগে সাহায্য করে — ড্রাইভার ছাড়া হার্ডওয়্যার কাজ করে না | Printer Driver, Graphics Driver, Audio Driver, Network Adapter Driver |
| ইউটিলিটি সফটওয়্যার | কম্পিউটারের রক্ষণাবেক্ষণ, মেরামত ও কর্মক্ষমতা বৃদ্ধি করে | Antivirus, Disk Cleanup, Disk Defragmenter, WinRAR, Backup Utility |
| ল্যাঙ্গুয়েজ ট্রান্সলেটর | প্রোগ্রামিং ভাষাকে মেশিন ভাষায় (0, 1) রূপান্তর করে | Compiler, Interpreter, Assembler |
| ফার্মওয়্যার | হার্ডওয়্যারে (ROM/Flash) স্থায়ীভাবে সংরক্ষিত সফটওয়্যার | BIOS, UEFI, Router Firmware, Washing Machine Chip |
- Antivirus = System Utility Software (Application নয়!)
- Device Driver = System Software
- Compiler/Interpreter = System Software (Language Translator)
- Firmware (BIOS) = System Software — হার্ডওয়্যার ও সফটওয়্যারের মধ্যবর্তী
- MS Office = Application Software (Not System!)
- DBMS (MySQL, Oracle) = Application Software
📌 ল্যাঙ্গুয়েজ ট্রান্সলেটর — বিস্তারিত
উচ্চস্তরের প্রোগ্রামিং ভাষায় (C, Java, Python) লেখা কোড কম্পিউটার সরাসরি বোঝে না। তাই ট্রান্সলেটর দিয়ে এগুলোকে মেশিন ভাষায় রূপান্তর করতে হয়।
| অনুবাদক | ইনপুট | আউটপুট | পদ্ধতি | উদাহরণ |
|---|---|---|---|---|
| Assembler | Assembly Language | Machine Code | ১ Mnemonic → ১ Machine Instruction | NASM, MASM, GAS |
| Compiler | পুরো Source Code | Object File (.exe/.obj) | সম্পূর্ণ প্রোগ্রাম একবারে অনুবাদ | C (GCC), C++, Java (javac) |
| Interpreter | এক লাইন Source Code | সরাসরি Execute | এক লাইন করে অনুবাদ ও সম্পাদন | Python, JavaScript, PHP, Ruby |
Compiler vs Interpreter — গুরুত্বপূর্ণ পার্থক্য
| বৈশিষ্ট্য | Compiler | Interpreter |
|---|---|---|
| অনুবাদ পদ্ধতি | সম্পূর্ণ প্রোগ্রাম একবারে অনুবাদ করে | এক লাইন করে অনুবাদ ও সম্পাদন করে |
| Execution Speed | দ্রুত (একবার Compile হলে বারবার চলে) | ধীর (প্রতিবার অনুবাদ করতে হয়) |
| Error প্রদর্শন | Compile-এর সময় সব Error একসাথে দেখায় | Error পেলে সেখানেই থেমে যায় |
| Object Code | আলাদা Object File (.exe) তৈরি করে | Object File তৈরি করে না |
| মেমরি | বেশি মেমরি প্রয়োজন (Object File রাখে) | কম মেমরি প্রয়োজন |
| Debugging | কঠিন (সব Error একসাথে) | সহজ (এক লাইন করে) |
| উদাহরণ | C, C++, Go, Rust, Java (partial) | Python, JavaScript, PHP, Ruby, BASIC |
Compiler = "বই অনুবাদক" — পুরো বই একবারে অনুবাদ করে দেয়, তারপর পড়ুন।
Interpreter = "দোভাষী" — বক্তার প্রতিটি বাক্য ধরে ধরে অনুবাদ করে।
🔑 Compiler → C language; Interpreter → Python (লাইন বাই লাইন)
- Linker: একাধিক Object File-কে একত্রিত করে একটি Executable File (.exe) তৈরি করে। Library Function যুক্ত করে।
- Loader: Executable File-কে Hard Disk থেকে RAM-এ Load করে Execute করার জন্য। OS-এর অংশ।
- ক্রম: Source Code → Compiler → Object Code → Linker → Executable → Loader → RAM-এ Execute
- Java বিশেষ কেস: javac (Compiler) → Bytecode (.class) → JVM (Interpreter) → Execute — তাই Java = Compiler + Interpreter
📌 অ্যাপ্লিকেশন সফটওয়্যার (Application Software)
ব্যবহারকারীর নির্দিষ্ট কাজ সম্পাদনের জন্য তৈরি সফটওয়্যারকে অ্যাপ্লিকেশন সফটওয়্যার বলে। এটি সিস্টেম সফটওয়্যারের উপর নির্ভর করে চালানো হয়।
| ধরন | বর্ণনা | উদাহরণ |
|---|---|---|
| General Purpose (সাধারণ) | সবার জন্য প্রযোজ্য, সাধারণ কাজে ব্যবহৃত | MS Word, Excel, Chrome, VLC, Adobe Photoshop |
| Custom / Tailor-made | নির্দিষ্ট প্রতিষ্ঠানের চাহিদা অনুযায়ী বিশেষভাবে তৈরি | Banking Software, Hospital Management, Railway Reservation |
| Utility Application | নির্দিষ্ট ছোট কাজ সম্পাদনে সহায়তা করে | Calculator, Notepad, Paint, File Manager |
| Web Application | ব্রাউজারে চলে, ইনস্টল দরকার নেই | Gmail, Facebook, Google Docs, YouTube |
| Mobile Application | স্মার্টফোনে চলে — Android/iOS App | WhatsApp, bKash, Uber, IMO |
| ERP Software | সমগ্র প্রতিষ্ঠানের সব বিভাগ একীভূত ব্যবস্থাপনা | SAP, Oracle ERP, Microsoft Dynamics |
📌 সফটওয়্যার লাইসেন্সিং ও বিতরণ পদ্ধতি
| ধরন | মূল্য | Source Code | বৈশিষ্ট্য | উদাহরণ |
|---|---|---|---|---|
| Open Source | বিনামূল্যে | উন্মুক্ত (পরিবর্তনযোগ্য) | যে কেউ দেখতে, পরিবর্তন ও বিতরণ করতে পারে | Linux, Firefox, LibreOffice, VLC, Android |
| Proprietary / Commercial | ক্রয় করতে হয় | বন্ধ (Closed) | কোম্পানির অনুমতি ছাড়া পরিবর্তন করা যায় না | Windows, MS Office, Adobe Photoshop, macOS |
| Freeware | বিনামূল্যে | বন্ধ | বিনামূল্যে ব্যবহার, কিন্তু Source Code দেওয়া হয় না | Skype, Adobe Acrobat Reader, WinRAR (trial) |
| Shareware | ট্রায়াল বিনামূল্যে | বন্ধ | নির্দিষ্ট সময় বিনামূল্যে ব্যবহার, এরপর কিনতে হয় | WinZip, Norton Antivirus (trial) |
| Malware | — | — | ক্ষতিকর সফটওয়্যার — ভাইরাস, ওয়ার্ম, ট্রোজান, র্যানসমওয়্যার | WannaCry, ILOVEYOU, Trojan Horse |
- Open Source-এর জনক: Richard Stallman — GNU Project (১৯৮৩) ও Free Software Foundation (FSF) প্রতিষ্ঠাতা
- GPL (General Public License): Richard Stallman-এর তৈরি ওপেন সোর্স লাইসেন্স — Linux, GCC, WordPress এই লাইসেন্সে
- Open Source ≠ বিনামূল্যে: "Free as in Freedom, not as in Free Beer" — Source Code উন্মুক্ত, কিন্তু সবসময় বিনামূল্যে নাও হতে পারে
- Linux = Open Source | Windows = Proprietary | Android = Open Source
📌 অপারেটিং সিস্টেম (Operating System) — পরিচিতি
অপারেটিং সিস্টেম (OS) হলো সবচেয়ে গুরুত্বপূর্ণ সিস্টেম সফটওয়্যার যা কম্পিউটারের হার্ডওয়্যার ও অন্যান্য সফটওয়্যারের মধ্যে সমন্বয় করে এবং ব্যবহারকারীকে কম্পিউটার ব্যবহারের সুবিধা দেয়। কম্পিউটার চালু হলে সবার আগে OS লোড হয়।
User Interface — ব্যবহারকারীর সাথে যোগাযোগ
| Interface | পূর্ণরূপ | বৈশিষ্ট্য | উদাহরণ |
|---|---|---|---|
| CLI | Command Line Interface | কমান্ড টাইপ করে নির্দেশ দিতে হয় — Text-based, দ্রুত কিন্তু কঠিন | DOS, Linux Terminal, Windows CMD/PowerShell |
| GUI | Graphical User Interface | মাউস দিয়ে আইকন, বাটন, মেনু ক্লিক করে কাজ — সহজ ও দৃশ্যমান | Windows, macOS, Ubuntu Desktop |
| NUI | Natural User Interface | Touch, Voice, Gesture দিয়ে নিয়ন্ত্রণ | Smartphone Touch, Siri, Kinect |
CLI = টাইপ করে কাজ (কঠিন, দ্রুত, Expert-দের জন্য) — "Command দাও, কাজ করো"
GUI = ক্লিক করে কাজ (সহজ, সবার জন্য) — "Icon দেখো, Click করো"
🔑 GUI প্রথম ব্যবহার করে: Apple Macintosh (১৯৮৪) | ধারণা: Xerox PARC (১৯৭০)
📌 অপারেটিং সিস্টেমের প্রধান কাজসমূহ
| কাজ | বর্ণনা | উপমা |
|---|---|---|
| Memory Management | RAM-এর কোন অংশে কোন প্রোগ্রাম থাকবে তা নির্ধারণ ও বরাদ্দ (Allocate/Deallocate) করে। Virtual Memory পরিচালনা করে। | হোটেলের ম্যানেজার — রুম বরাদ্দ করা |
| Process Management | কোন প্রোগ্রাম কখন CPU ব্যবহার করবে তা নিয়ন্ত্রণ — Process Creation, Scheduling, Termination। | ট্রাফিক পুলিশ — কাকে কখন যেতে দেবে |
| File Management | ফাইল ও ফোল্ডার তৈরি, মুছে ফেলা, সরানো, নাম পরিবর্তন, Permission নিয়ন্ত্রণ। File System (NTFS, FAT32, ext4) পরিচালনা করে। | লাইব্রেরিয়ান — বই সাজানো ও খোঁজা |
| Device Management | I/O Device (Printer, Mouse, Keyboard, USB) নিয়ন্ত্রণ ও Driver পরিচালনা করে। | রিসেপশনিস্ট — অতিথিদের সাথে যোগাযোগ |
| Security & Protection | Password, Firewall, User Permission, Encryption দিয়ে সিস্টেম সুরক্ষিত রাখে। অননুমোদিত প্রবেশ ঠেকায়। | নিরাপত্তা প্রহরী |
| User Interface | ব্যবহারকারীকে CLI/GUI-র মাধ্যমে কম্পিউটারের সাথে যোগাযোগের সুবিধা দেয়। | অভ্যর্থনা ডেস্ক |
Memory → Process → File → Device → Security → User Interface
মনে রাখুন: "My Phone Finds Devices Safely & Usefully"
📌 অপারেটিং সিস্টেমের প্রকারভেদ
| OS-এর ধরন | বৈশিষ্ট্য | উদাহরণ |
|---|---|---|
| Batch Processing OS | একই ধরনের কাজ একসাথে গ্রুপ (Batch) করে প্রক্রিয়া করে। সরাসরি Interact করা যায় না। | IBM OS/360, GM-NAA I/O |
| Multi-programming OS | একাধিক প্রোগ্রাম একই সময়ে RAM-এ থাকে। CPU এক প্রোগ্রাম I/O-তে গেলে অন্যটি চালায়। | THE, MCP |
| Time-sharing / Multitasking OS | একাধিক ব্যবহারকারী/প্রোগ্রাম সমান Time Slice/Quantum পায়। দ্রুত Switch করে মনে হয় সবাই একসাথে চলছে। | UNIX, Multics, Linux |
| Real-time OS (RTOS) | নির্দিষ্ট সময়ের মধ্যে কাজ সম্পন্ন — সময়ই সবচেয়ে গুরুত্বপূর্ণ। Hard RTOS (Deadline মিস = বিপদ) ও Soft RTOS (সামান্য দেরি সহনীয়)। | Missile System, Air Traffic Control, ATM, Medical Equipment, Robot |
| Distributed OS | একাধিক কম্পিউটার নেটওয়ার্কে যুক্ত থেকে একটি সিস্টেমের মতো কাজ করে। | LOCUS, Amoeba, Google's Borg |
| Network OS | সার্ভার-ভিত্তিক, নেটওয়ার্কে ফাইল/প্রিন্টার শেয়ারিং পরিচালনা করে। | Windows Server, Novell NetWare |
| Embedded OS | নির্দিষ্ট যন্ত্রের ভেতরে Built-in — সীমিত কাজ, কম রিসোর্স। | Washing Machine, Microwave, Smart Watch, Router |
| Mobile OS | স্মার্টফোন ও ট্যাবলেটের জন্য — Touch-based, কম পাওয়ার ব্যবহার। | Android, iOS, HarmonyOS |
- Real-time OS ব্যবহৃত হয় — Missile, ATM, Air Traffic Control, Medical Equipment-এ
- RTOS-এর ধরন: Hard RTOS (Deadline মিস = বিপর্যয়, যেমন Missile) | Soft RTOS (সামান্য দেরি গ্রহণযোগ্য, যেমন Video Streaming)
- Time-sharing OS-এ সবাই সমান CPU সময় (Time Quantum) পায় — Round Robin Scheduling
- UNIX = Time-sharing + Multi-user + Multi-tasking OS
- Embedded OS: রাউটার, ওয়াশিং মেশিন, মাইক্রোওয়েভে থাকে — ROM/Flash-এ সংরক্ষিত
- Multi-tasking: Single user অনেক কাজ | Multi-user: অনেক ব্যবহারকারী একসাথে
📌 জনপ্রিয় অপারেটিং সিস্টেম — বিস্তারিত
| OS | নির্মাতা | সাল | ধরন | বৈশিষ্ট্য |
|---|---|---|---|---|
| UNIX | Ken Thompson & Dennis Ritchie (Bell Labs) | ১৯৬৯ | Multi-user, CLI | প্রথম দিকের শক্তিশালী OS — C ভাষায় লেখা। সার্ভার ও বিশ্ববিদ্যালয়ে ব্যবহৃত। |
| MS-DOS | Microsoft | ১৯৮১ | Single-user, CLI | Microsoft-এর প্রথম OS — Command Line-ভিত্তিক। IBM PC-তে ব্যবহৃত। |
| Windows | Microsoft (Bill Gates) | ১৯৮৫ | GUI, Proprietary | সবচেয়ে বেশি ব্যবহৃত Desktop OS। প্রধান সংস্করণ: 95, XP, 7, 10, 11। |
| Linux | Linus Torvalds | ১৯৯১ | Open Source, CLI/GUI | বিনামূল্যে, ওপেন সোর্স। সার্ভারে সর্বাধিক ব্যবহৃত। Distribution: Ubuntu, Fedora, CentOS, Debian |
| macOS | Apple | ২০০১ | GUI, Proprietary | শুধু Apple Mac-এ চলে। UNIX-ভিত্তিক (Darwin Kernel)। |
| Android | Google (Andy Rubin) | ২০০৮ | Mobile, Open Source | Linux Kernel-ভিত্তিক। বিশ্বের সবচেয়ে বেশি ব্যবহৃত Mobile OS। |
| iOS | Apple | ২০০৭ | Mobile, Proprietary | শুধু iPhone/iPad-এ চলে। UNIX-ভিত্তিক। নিরাপদ ও দ্রুত। |
| Chrome OS | ২০১১ | Cloud-based, Open Source | Linux Kernel-ভিত্তিক, Chrome Browser কেন্দ্রিক। Chromebook-এ ব্যবহৃত। |
- UNIX-এর জনক: Ken Thompson ও Dennis Ritchie (Bell Labs, ১৯৬৯) — C ভাষায় লেখা প্রথম OS
- Linux-এর জনক: Linus Torvalds (ফিনল্যান্ড, ১৯৯১) — Open Source, সার্ভারে #1
- Windows-এর প্রতিষ্ঠাতা: Bill Gates (Microsoft) — ১৯৮৫ সালে প্রথম Windows
- Android: Linux Kernel-ভিত্তিক | macOS, iOS: UNIX-ভিত্তিক
- বিশ্বের প্রথম OS: GM-NAA I/O (১৯৫৬, General Motors & North American Aviation)
- MS-DOS: Microsoft-এর প্রথম OS — CLI-ভিত্তিক (১৯৮১)
- Linux Distribution: Ubuntu (Canonical), Fedora (Red Hat), CentOS, Debian, Kali Linux (Security)
📌 Process Management — বিস্তারিত ধারণা
RAM-এ চলমান যেকোনো প্রোগ্রামকে Process বলে। OS প্রতিটি Process-কে CPU সময় বরাদ্দ করে Scheduling Algorithm ব্যবহার করে।
Process-এর অবস্থা (Process States)
| State | বিবরণ |
|---|---|
| New | Process তৈরি হচ্ছে |
| Ready | CPU ব্যবহারের জন্য প্রস্তুত — Ready Queue-তে অপেক্ষায় |
| Running | CPU-তে Execute হচ্ছে |
| Waiting / Blocked | I/O বা কোনো ইভেন্টের জন্য অপেক্ষায় |
| Terminated / Exit | কাজ শেষ — মেমরি থেকে মুছে ফেলা হবে |
CPU Scheduling Algorithm — পরীক্ষায় আসে
| Algorithm | বৈশিষ্ট্য | সুবিধা/অসুবিধা |
|---|---|---|
| FCFS (First Come First Serve) | যে আগে আসবে সে আগে CPU পাবে — Queue (FIFO) নীতি | সহজ, কিন্তু Convoy Effect — ছোট কাজ বড় কাজের পেছনে আটকে যায় |
| SJF (Shortest Job First) | সবচেয়ে ছোট কাজ আগে — গড় Waiting Time সর্বনিম্ন | সর্বোত্তম গড় সময়, কিন্তু বড় কাজ অনির্দিষ্টকাল অপেক্ষা করতে পারে (Starvation) |
| Round Robin | প্রত্যেক Process-কে সমান সময় (Time Quantum) দেওয়া হয় — শেষ হলে Queue-তে ফিরে যায় | Time-sharing OS-এ ব্যবহৃত — ন্যায্য, কিন্তু Context Switching বেশি |
| Priority Scheduling | উচ্চ Priority-র Process আগে CPU পায় | গুরুত্বপূর্ণ কাজ আগে, কিন্তু Low Priority Starvation হতে পারে |
Deadlock = দুই বা ততোধিক Process পরস্পরের Resource-এর জন্য চিরকাল অপেক্ষায় থাকে — কেউই এগোতে পারে না।
উপমা: দুটি গাড়ি সংকীর্ণ সেতুতে দুই দিক থেকে এসে আটকে গেছে — কেউই পিছু হটে না!
🔑 Deadlock-এর ৪টি শর্ত: Mutual Exclusion, Hold & Wait, No Preemption, Circular Wait
📌 Memory Management — বিস্তারিত
OS মেমরির (RAM) কোন অংশে কোন Process থাকবে তা নির্ধারণ ও বরাদ্দ করে। RAM সীমিত — তাই দক্ষ ব্যবস্থাপনা জরুরি।
| ধারণা | বিবরণ |
|---|---|
| Logical Address | CPU তৈরি করে — প্রোগ্রামের দৃষ্টিতে Address (Virtual Addressও বলা হয়) |
| Physical Address | RAM-এর প্রকৃত Address — MMU (Memory Management Unit) Logical → Physical রূপান্তর করে |
| Paging | Process-কে সমান আকারের Page-এ ভাগ করে RAM-এর Frame-এ রাখা। External Fragmentation হয় না। |
| Segmentation | Process-কে অসমান আকারের Segment-এ ভাগ করে রাখা (Code, Data, Stack আলাদা) |
| Virtual Memory | RAM-এর চেয়ে বড় প্রোগ্রাম চালানোর কৌশল — RAM-এ না থাকা অংশ Hard Disk-এ (Swap Space) রাখে |
| Swapping | Process-কে RAM থেকে Disk-এ সরানো (Swap Out) এবং আবার RAM-এ আনা (Swap In) |
| Thrashing | অতিরিক্ত Swapping — CPU বেশিরভাগ সময় Page Fault Handle করতে ব্যয় করে, কাজ হয় না |
- FAT32 (File Allocation Table): পুরনো, সর্বোচ্চ ফাইল সাইজ 4 GB — USB/SD Card-এ এখনো ব্যবহৃত
- NTFS (New Technology File System): Windows-এর আদর্শ — বড় ফাইল, Security, Encryption, Permission সাপোর্ট
- ext4 (Extended File System 4): Linux-এর ডিফল্ট File System
- APFS (Apple File System): macOS ও iOS-এ ব্যবহৃত
- exFAT: FAT32-এর উন্নত সংস্করণ — বড় ফাইল সাপোর্ট, Cross-platform (USB-তে জনপ্রিয়)
📌 ফার্মওয়্যার, BIOS ও Booting Process
ফার্মওয়্যার (Firmware) হলো হার্ডওয়্যারের মধ্যে স্থায়ীভাবে সংরক্ষিত সফটওয়্যার। ROM বা Flash Memory-তে থাকে। হার্ডওয়্যার ও সফটওয়্যারের মধ্যবর্তী অবস্থা।
BIOS ও UEFI
| বৈশিষ্ট্য | BIOS | UEFI |
|---|---|---|
| পূর্ণরূপ | Basic Input/Output System | Unified Extensible Firmware Interface |
| সংরক্ষণ | ROM Chip-এ | Flash Memory-তে (SPI Flash) |
| Interface | Text-based, 16-bit | GUI-based, 32/64-bit — মাউস ব্যবহারযোগ্য |
| Boot Speed | ধীর | দ্রুত (Secure Boot সাপোর্ট) |
| Disk Support | MBR — সর্বোচ্চ 2 TB | GPT — সর্বোচ্চ 9.4 ZB (Zettabyte) |
| আধুনিক? | পুরনো (Legacy) | আধুনিক — বর্তমান কম্পিউটারে ব্যবহৃত |
Booting Process — ধাপে ধাপে
① Power ON → ② BIOS/UEFI কাজ শুরু → ③ POST (Power-On Self-Test — হার্ডওয়্যার পরীক্ষা) → ④ Boot Device খোঁজা (HDD/SSD/USB) → ⑤ Boot Loader (GRUB/Windows Boot Manager) → ⑥ OS Kernel Load → ⑦ OS Ready
এই পুরো প্রক্রিয়াকে Booting বলে।
| ধরন | বিবরণ | উদাহরণ |
|---|---|---|
| Cold Boot | কম্পিউটার বন্ধ থেকে চালু করা — Power Button চাপা | সকালে কম্পিউটার ON করা |
| Warm Boot | চালু থেকে Restart করা — RAM ক্লিয়ার হয়, BIOS আবার লোড হয় | Ctrl+Alt+Del → Restart |
- BIOS/UEFI সংরক্ষিত থাকে ROM/Flash Memory-তে
- POST = Power-On Self-Test — হার্ডওয়্যার ঠিক আছে কিনা পরীক্ষা করে
- POST ব্যর্থ হলে Beep Sound দেয় — বিভিন্ন Beep Code বিভিন্ন সমস্যা চিহ্নিত করে
- UEFI হলো BIOS-এর আধুনিক প্রতিস্থাপন — Secure Boot, দ্রুত, GUI সাপোর্ট
- MBR (BIOS) সর্বোচ্চ 4 Primary Partition ও 2 TB | GPT (UEFI) সর্বোচ্চ 128 Partition ও 9.4 ZB
- Cold Boot = Power ON | Warm Boot = Restart
- Booting-এর সময় OS লোড হয় Secondary Memory → RAM-এ
📌 Quick Revision — পরীক্ষায় বারবার আসা তথ্য
- সফটওয়্যার = প্রোগ্রাম ও নির্দেশনার সমষ্টি (Logical Part, অস্পর্শযোগ্য)
- সফটওয়্যার ২ প্রকার: System (OS, Driver, Utility, Translator, Firmware) ও Application
- Compiler: পুরো কোড একবারে (C, C++) | Interpreter: এক লাইন করে (Python, JS)
- Assembler: Assembly → Machine | Linker: Object Files → Executable | Loader: Disk → RAM
- Java = Compiler + Interpreter (javac → Bytecode → JVM Execute)
- Open Source: Source Code উন্মুক্ত (Linux, Firefox) | Proprietary: বন্ধ (Windows, MS Office)
- Richard Stallman: Open Source আন্দোলনের জনক, GNU, GPL License
- OS-এর কাজ: Memory, Process, File, Device Management ও Security
- CLI: কমান্ড টাইপ (DOS, Terminal) | GUI: মাউস ক্লিক (Windows, macOS)
- RTOS: Missile, ATM, Air Traffic Control | Embedded OS: Router, Washing Machine
- Round Robin Scheduling: Time-sharing OS-এ ব্যবহৃত — সমান Time Quantum
- Deadlock: Process পরস্পরের Resource-এর জন্য চিরকাল অপেক্ষা
- UNIX: Ken Thompson & Dennis Ritchie (১৯৬৯) | Linux: Linus Torvalds (১৯৯১)
- Android: Linux Kernel-ভিত্তিক Mobile OS | macOS/iOS: UNIX-ভিত্তিক
- প্রথম OS: GM-NAA I/O (১৯৫৬) | MS-DOS: Microsoft-এর প্রথম OS (১৯৮১)
- BIOS: Basic Input/Output System — ROM-এ থাকে | UEFI: আধুনিক প্রতিস্থাপন
- POST: Power-On Self-Test | Cold Boot: Power ON | Warm Boot: Restart
- NTFS: Windows | ext4: Linux | FAT32: সর্বোচ্চ 4 GB ফাইল
- Virtual Memory: RAM কম থাকলে Hard Disk-এর Swap Space ব্যবহার করে
- Paging: সমান আকারের Page/Frame | Thrashing: অতিরিক্ত Swapping-এ কর্মক্ষমতা কমে