الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]مسجلات البروسسور

بدأه C++er في 25 أكتوبر 2009 · 4 رد · 907 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اثناء عملى اقوم بتشغيل حوالى 5 او 6 برامج، بالطبع كل منهم يستخدم مسجلات البروسسور و سؤالى هو حيث ان مسجلات البروسسور مشتركه ما بين كل تلك التطبيقات، كيف تتم عملية تنفيذ تلك البرامج و كيف يتم التفرقه بينهم اثناء تعاملهم مع تلك المسجلات.

ارجو ان يكون السؤال واضحاً.

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#2

الفكرة،

multi-tasking

فيه تكون مسجلات المعالج مشتركة وهذا صحيح لأنها بالأساس أماكن تخزين في المعالج لا تتغير من برنامج لآخر..

لكن في نفس الوقت المعالج لا يقوم بتشغيل كل البرامج التي تستثمرها في نفس اللحظة، فهو يقوم بتشغيل task (process) لفترة زمنية ما ثم يقرر إيقافها، ويقوم بحفظ نسخة مما يسمى اختصاراً بـ TSS -Task State Segment- والتي تكون خاصة بكل task (غير مشتركة)، ومن ثم يقوم بتشغيل task آخر لبعض الوقت ثم يقرر إيقافه مؤقتاً ويحفظ نسخة TSS خاصة بهذا الـ task أيضاً، ثم يقوم بتشغيل الـ task السابق وتحميل نسخته من TSS كل جزء منها إلى مكانه المناسب وهكذا...

http://en.wikipedia.org/wiki/Task_State_Segment

لمزيد من المعلومات راجع

Intel® 64 and IA-32 Architectures Software Developer's ManualVolume 3A: System Programming Guide

اقتباس
Describes the operating-system support environment of an IA-32 and Intel® 64 architectures, including: memory management, protection, task management, interrupt and exception handling, multi-processor support, and thermal and power management features. This volume also contains the table of contents for both Volumes 3A and 3B.

http://www.intel.com/products/processor/manuals/index.htm

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

نسيت أذكر أن TSS تحمل نسخة من كافة مسجلات المعالج حتى يدرك القارئ لماذا ذكرتها كجواب.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

كلام جميل اذا كيف يتم تفسير عملية الـ Debug لبرنامج معين حيث وقتها يتم تعديل قيم المسجلات بوقت عشوائى لهذا البرنامج ؟

مدونتي: C++ Tips and Tricks

#5

ربنا معاك أخى الكريم

مواضيع مشابهة