মূল কনটেন্টে যান

সূত্র, নিয়ম ও ফ্ল্যাশ কার্ড

দ্রুত রিভিশনের জন্য সূত্র, সাধারণ ভুল আর ফ্ল্যাশ কার্ড, এক জায়গায়।

৭টি সূত্র ও নিয়ম

অপারেটিং সিস্টেম

কফম্যানের ডেডলক ৪টি শর্ত মনে রাখার "M-H-N-C" নেমোনিক

Deadlock 4 Necessary Conditions: The "M-H-N-C" Mnemonic

সূত্র

Deadlock Occurs <=> (Mutual Exclusion) AND (Hold and Wait) AND (No Preemption) AND (Circular Wait). To Prevent Deadlock: Invalidate at least ONE of these 4 conditions.

নিয়ম ও সহজ উপায়

অপারেটিং সিস্টেমে ডেডলক ঘটার জন্য এডওয়ার্ড কফম্যানের ৪টি শর্ত একযোগে পূরণ হতে হয়। শর্টকাট নেমোনিক "M-H-N-C": - M: Mutual Exclusion (রিসোর্সটি নন-শেয়ারেবল, একবারে একজনই ব্যবহার করবে) - H: Hold and Wait (একটি রিসোর্স ধরে রেখে অন্য রিসোর্সের জন্য অপেক্ষা করা) - N: No Preemption (রিসোর্স জোর করে ছিনিয়ে নেওয়া যাবে না, প্রসেস স্বেচ্ছায় ছাড়বে) - C: Circular Wait (P0 অপেক্ষা করে P1-এর রিসোর্সের জন্য, P1 অপেক্ষা করে P2-এর জন্য... এবং Pn অপেক্ষা করে P0-এর জন্য)। ডেডলক প্রিভেনশন (Deadlock Prevention) নিশ্চিত করতে এই ৪টির যেকোনো একটি শর্তকে বাস্তবায়ন স্তরে অসম্ভব করে দিতে হয়। যেমন: সকল রিসোর্সে ক্রমিক নম্বর বরাদ্দ দিলে Circular Wait কখনো তৈরি হতে পারে না।

অপারেটিং সিস্টেম

ব্যাংকার্স অ্যালগরিদমের সেফ স্টেট টেস্ট ও Need ম্যাট্রিক্স সূত্র

Banker's Algorithm Safe State Condition: Need <= Work

সূত্র

Need[i][j] = Max[i][j] - Allocation[i][j]. Feasibility Test: If Need_i <= Available (Work), Process P_i can finish. New Work = Work + Allocation_i. If all processes complete -> Safe State.

নিয়ম ও সহজ উপায়

ব্যাংকার্স অ্যালগরিদমে সেফ সিকোয়েন্স বের করার ৩ ধাপের শর্টকাট: ১. Need Matrix বের করুন: Need = Max - Allocation। ২. বর্তমান Available রিসোর্সের সাথে তুলনা করুন: এমন একটি প্রসেস খুঁজুন যার Need <= Available। ৩. ওই প্রসেসটি সমাপ্ত হলে তার দখলকৃত সব Allocation রিসোর্স Available-এর সাথে ফেরত যোগ হবে: নতুন Available = পুরাতন Available + Allocation_i। এইভাবে সব প্রসেস সমাপ্ত করা সম্ভব হলে সিস্টেমটি "Safe State"-এ আছে এবং ডেডলক হবে না।

অপারেটিং সিস্টেম

বেলাডির অ্যানোমালি: কেন কেবল FIFO-তে ফ্রেম বাড়ালে পেজ ফল্ট বাড়ে

Belady's Anomaly: Why FIFO Suffers and Stack Algorithms Do Not

সূত্র

Belady's Anomaly: Increasing the number of physical page frames results in an INCREASE (not decrease) in page faults. Occurs in FIFO. NEVER occurs in Stack Algorithms (LRU, Optimal/MIN).

নিয়ম ও সহজ উপায়

সাধারণত পেজ ফ্রেম সংখ্যা বাড়ালে পেজ ফল্ট কমে যাওয়ার কথা। কিন্তু FIFO (First-In, First-Out) এবং এর সমগোত্রীয় অ্যালগরিদমে নির্দিষ্ট রেফারেন্স স্ট্রিং-এ ফ্রেম ৩ থেকে ৪ করলে পেজ ফল্ট বেড়ে যেতে পারে—এটিই বেলাডির অ্যানোমালি। - বেলাডির অ্যানোমালি ঘটে: FIFO, Second Chance, Random Replacement-এ। - কখনো ঘটে না (Stack Algorithms): LRU (Least Recently Used), Optimal (Belady's Min), LFU-তে। কারণ স্ট্যাক অ্যালগরিদমে m ফ্রেমের সেট সর্বদা m+1 ফ্রেমের সাবসেট থাকে।

অপারেটিং সিস্টেম

লিনাক্স ফাইল পারমিশনের অক্টাল শর্টকাট: ৪-২-১ নিয়ম

Linux Octal Permissions Shortcut: The 4-2-1 Mental Math Rule

সূত্র

Read (r) = 4, Write (w) = 2, Execute (x) = 1. Three octal digits represent: [Owner/User] [Group] [Others]. chmod XYZ = (r_u+w_u+x_u, r_g+w_g+x_g, r_o+w_o+x_o).

নিয়ম ও সহজ উপায়

লিনাক্সে ফাইল পারমিশনের ৩টি শ্রেণি থাকে: Owner, Group, Others। প্রতিটি শ্রেণির জন্য ৩টি বিট: Read (৪), Write (২), Execute (১)। - 7 = 4 + 2 + 1 = rwx (সব অধিকার) - 6 = 4 + 2 + 0 = rw- (পড়া ও লেখা) - 5 = 4 + 0 + 1 = r-x (পড়া ও রান করা) - 4 = 4 + 0 + 0 = r-- (কেবল পড়া) - 0 = --- (কোনো অধিকার নেই) উদাহরণ: - chmod 755 -> rwxr-xr-x (মালিক সব পারবে, গ্রুপ ও অন্যরা শুধু পড়তে ও চালাতে পারবে) - chmod 644 -> rw-r--r-- (মালিক পড়তে ও লিখতে পারবে, বাকিরা শুধু পড়তে পারবে)।

অপারেটিং সিস্টেম

CPU শিডিউলিং সময় গণনার দ্রুত সূত্র: TAT, WT ও RT

CPU Scheduling Time Formulas: Completion, Turnaround & Waiting Time

সূত্র

Turnaround Time (TAT) = Completion Time (CT) - Arrival Time (AT). Waiting Time (WT) = Turnaround Time (TAT) - Burst Time (BT). Response Time (RT) = First CPU Allocation Time - Arrival Time (AT).

নিয়ম ও সহজ উপায়

শিডিউলিং অংক দ্রুত নির্ভুল করার সিকোয়েন্স: ১. প্রথমে Gantt Chart আঁকুন এবং প্রতিটি প্রসেসের সমাপ্তি সময় (CT) লিখুন। ২. TAT বের করুন: TAT = CT - AT (প্রসেসটি সিস্টেমে মোট কতক্ষণ কাটাল)। ৩. WT বের করুন: WT = TAT - BT (মোট সময়ের মধ্যে সে কতক্ষণ শুধুই বসে বসে অপেক্ষা করল)। ৪. নন-প্রিম্পটিভ (Non-preemptive) শিডিউলিংয়ে প্রসেস সিপিইউ পাওয়া মাত্রই নির্বাহ শেষ করে, তাই নন-প্রিম্পটিভে Response Time সর্বদা Waiting Time-এর সমান হয় (RT == WT)।

অপারেটিং সিস্টেম

ভার্চুয়াল অ্যাড্রেস থেকে ফিজিক্যাল অ্যাড্রেস রূপান্তর: অফসেট অপরিবর্তিত রাখার নিয়ম

Paging Address Translation Shortcut: Preserving the Offset

সূত্র

Given Page Size = 2^k bytes: Page Offset = k bits (Identical in both Virtual and Physical address). Virtual Address = (Page Number, Offset). Physical Address = (Frame Number * Page Size) + Offset.

নিয়ম ও সহজ উপায়

পেজিং সিস্টেমে লজিক্যাল (ভার্চুয়াল) অ্যাড্রেস থেকে ফিজিক্যাল অ্যাড্রেসে রূপান্তরের সময় অফসেট (Offset) কখনো পরিবর্তিত হয় না! - যদি পেজ সাইজ 4 KB (2^12 bytes) হয়, তবে অফসেট হবে ১২ বিট। - ভার্চুয়াল অ্যাড্রেসের উপরের বিটগুলো হলো Page Number (p) এবং নিচের ১২ বিট হলো Offset (d)। - Page Table-এ p-তম এন্ট্রিতে গিয়ে Frame Number (f) খুঁজে নিন। - ফিজিক্যাল অ্যাড্রেস = ফ্রেম নম্বরটিকে সামনে বসিয়ে পেছনে ঠিক আগের অফসেটটি (d) অবিকল যুক্ত করে দিন: Physical Address = (f, d)।

অপারেটিং সিস্টেম

থ্র্যাশিং শনাক্তকরণ ও ওয়ার্কিং সেট মডেল সূত্র

Thrashing Indicator & Working Set Principle

সূত্র

Thrashing occurs when: Sum of all processes' Working Set Sizes (Sum WSS_i) > Total Physical Frames (D). Symptoms: Page fault rate sky-rockets, CPU utilization drops near zero, OS thrashes pages to/from swap disk.

নিয়ম ও সহজ উপায়

থ্র্যাশিং হলো এমন একটি বিশৃঙ্খল অবস্থা যখন অপারেটিং সিস্টেম প্রসেসের নির্দেশাবলী এক্সিকিউট করার চেয়ে পেজ সোয়াপিং (Disk I/O) করতেই বেশি ব্যস্ত থাকে। - মূল লক্ষণ: উচ্চ পেজ ফল্ট রেট এবং নাটকীয়ভাবে কমে যাওয়া CPU ইউটিলাইজেশন। - পিটার ডেনিংয়ের Working Set Model: প্রতিটি প্রসেসের সাম্প্রতিক সময়ের রেফারেন্স করা পেজের সংখ্যা হলো তার Working Set Size (WSS)। যদি সব প্রসেসের WSS-এর যোগফল উপলব্ধ ফিজিক্যাল মেমোরি ফ্রেমের চেয়ে বেশি হয়, তবেই থ্র্যাশিং ঘটে। - সমাধান: Degree of Multiprogramming সাময়িকভাবে কমানো (কিছু প্রসেস সাসপেন্ড করা) অথবা ফিজিক্যাল র‍্যাম বাড়ানো।