মাল্টিপ্রোগ্রামিং এনভায়রনমেন্ট একাধিধক প্রসেস নির্দিষ্ট কিছু রিসোর্স ব্যবহার করার জন্য একপ্রকার যুদ্ধ করে থাকে। :-p প্রথমে একটি প্রসেস রিসোর্সকে রিকুয়েস্ট করে, যদি রিসোর্সটি ফাঁকা না থাকে তাহলে রিসোর্স ফাঁকা না হওয়া পর্যন্ত প্রোসেসটি ওয়েটিং স্টেটে থাকে। অনেক সময় প্রোসেসটিকে আজীবন অপেক্ষা করতে হতে পারে। এধরনের অবস্থাকে ডেডলক বলে। System Model একটি সিস্টেমে কিছু নির্দিষ্ট সংখ্যক […]
Tag: Study Notes
Single-Processor সিস্টেমে একই সময়ে শুধুমাত্র ১টি প্রসেস রান করতে পারে। অন্য প্রসেসগুলোকে তখন CPU free না হওয়া পর্যন্ত অপেক্ষা করতে হয়ে। যেহেতু আমাদেরকে সবসময় CUP Utilization ম্যাক্সিমাম রাখার চেষ্টা করতে হয়, তাই কোন প্রসেসের পর কোন প্রসেস রান করবে তা সিন্ধান্ত নিতে হয়। এবং এটি Process Scheduling এর মাধ্যমে নেওয়া হয়। CPU-I/O Burst Cycle একটি […]
সাধারণত একটি প্রসেস হলো একটি প্রোগ্রাম এক্সিকিউশন। তবে প্রসেস শুধুমাত্র প্রোগ্রাম কোড ছাড়াও আরও অনেক কিছু বোঝায়, এটিকে অনেক সময় Text Section বলা হয়। এছাড়াও একটি প্রসেসে বর্তমান অ্যকটিভিটি একটি ইন্টিজার ভ্যালু হিসেবে থাকে, একে Program Counter বলে। এছাড়াও একটি প্রসেসে Stack নামক টেম্পরারি জায়গা থাকে, যেখানে বিভিন্ন ফাংশন প্যারামিটার, রিটার্ন ভ্যালু ও লোকাল ভ্যারিয়েবলের মান স্টোর থাকে। প্রসেসে গ্লোবাল ভ্যারিয়েবল […]
মাল্টিথ্রেডিং প্রোগ্রামিং এর একটি ক্লাসিক উদাহরন হলো Producer – Consumer প্রোগ্রাম। এই প্রোগ্রামের মূল উদ্দেশ্য হলো Producer নামে একটি থ্রেড কোনো ডাটা প্রোডিউস করবে এবং একই সাথে Consumer নামক একটি থ্রেড থাকবে যা Producer এর উৎপন্ন করা ডাটা কনজিউম করবে / ভোগ করবে। এই প্রোগ্রামে buffer নামক একটি অ্যারে থাকে যেখানে Producer ডাটা জমা রাখে এবং Consumer […]
Recent Comments