থ্রেডগুলি সমস্ত কিছু ভাগ করে দেয় [1]। পুরো প্রক্রিয়াটির জন্য একটি ঠিকানা ঠিকানা রয়েছে।
প্রতিটি থ্রেডের নিজস্ব স্ট্যাক এবং রেজিস্টার রয়েছে তবে সমস্ত থ্রেডের স্ট্যাকগুলি ভাগ করা ঠিকানার জায়গায় দৃশ্যমান।
যদি কোনও থ্রেড তার স্ট্যাকের উপর কিছু বস্তু বরাদ্দ করে এবং অন্য থ্রেডটিতে ঠিকানাটি প্রেরণ করে তবে তাদের উভয়কেই সেই বস্তুর সমান অ্যাক্সেস থাকবে।
আসলে, আমি কেবল একটি বিস্তৃত সমস্যা লক্ষ্য করেছি: আমি মনে করি আপনি বিভাগটি শব্দের দুটি ব্যবহারকে বিভ্রান্ত করছেন ।
এক্সিকিউটেবল (উদাহরণস্বরূপ, ELF) এর জন্য ফাইল ফর্ম্যাটটিতে পৃথক বিভাগ রয়েছে, যা সংকলিত কোড (পাঠ্য), আর্কিডাইজড ডেটা, লিংক প্রতীক, ডিবাগ তথ্য, ইত্যাদি সম্বলিত অংশ হিসাবে উল্লেখ করা যেতে পারে সেখানে কোনও হিপ বা স্ট্যাক সেগমেন্ট নেই There এখানে, যেহেতু সেগুলি কেবলমাত্র রানটাইম-এর নির্মাণ।
এই বাইনারি ফাইল অংশগুলি পৃথক অনুমতি সহ প্রসেসের ঠিকানা স্পেসে ম্যাপ করা যেতে পারে (উদাহরণস্বরূপ, কোড / পাঠ্যের জন্য কেবল পঠনযোগ্য এক্সিকিউটেবল এবং প্রারম্ভিক ডেটার জন্য অনুলিপি-অন-লিখনের জন্য) copy
এই ঠিকানার জায়গার অঞ্চলগুলি বিভিন্ন উদ্দেশ্যে যেমন হিপ বরাদ্দ এবং থ্রেড স্ট্যাকগুলি ব্যবহার করে কনভেনশন করে (আপনার ভাষা রানটাইম লাইব্রেরি দ্বারা প্রয়োগ করা হয়)। যদিও এটি ভার্চুয়াল ৮০ mode mode মোডে চালাচ্ছেন না এগুলি সমস্তই মেমোরি এবং সম্ভবত সেগমেন্টেড নয়। প্রতিটি থ্রেডের স্ট্যাকটি থ্রেড তৈরির সময় বরাদ্দ করা মেমরির একটি অংশ, বর্তমান স্ট্যাকের শীর্ষ ঠিকানাটি একটি স্ট্যাক পয়েন্টার রেজিস্টারে সঞ্চিত থাকে এবং প্রতিটি থ্রেড তার নিজস্ব স্ট্যাক পয়েন্টারটিকে তার অন্যান্য রেজিস্টারের সাথে রাখে।
[1] ঠিক আছে, আমি জানি: সংকেত মুখোশ, টিএসএস / টিএসডি ইত্যাদি ঠিকানার স্থানটি এর ম্যাপযুক্ত প্রোগ্রামের সমস্ত অংশ সহ এখনও ভাগ করা আছে।