تالار گفتمان مانشت
تبدیل ادرس از روی جدول قطعه - نسخه‌ی قابل چاپ

صفحه‌ها: ۱ ۲ ۳
تبدیل ادرس از روی جدول قطعه - armin_b00ter - 17 بهمن ۱۳۹۱ ۰۲:۴۲ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۲:۳۶ ب.ظ)fsi2013 نوشته شده توسط:  مگه نمیگیم قطعه ۰۲ هستش حالا باید با ادرس پایه جمع بشه که ادرس پایه ۰AFE هستش؟
چرا با ۴ جمع کردی؟؟؟!!! دلیلش چی بوده؟
هر مدخل جدول صفحه ۲ بایته ! پس برای هر کدوم باید ۲ بایت جلو بریم که میشه ۴ بایت.

RE: تبدیل ادرس از روی جدول قطعه - fsi2013 - 17 بهمن ۱۳۹۱ ۰۲:۵۷ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۱۲:۵۳ ب.ظ)armin_b00ter نوشته شده توسط:  اول واسه به دست آوردن آدرس جدول صفحه آدرس جدول قطعه را با ۰۲H * 2 با توجه به دوبایتی بودن هر مدخل جدول قطعه جمع میکنیم. که میشه ۰AFE + 04 = 0B02. حالا از این آدرس به اندازه ی ۲ بایت که اندازه ی مدخل جدول قطعه است می خونیم تا آدرس شروع جدول صفحه به دست بیاد که میشه ۰B08. حالا با توجه به ۴kb بودن صفحه که ۱۲ بیت واسه آدرس دهی می خواد و اینکه ۰۲ هم مربوط به ایندکس جدول قطعه است ایندکس جدول صفحه میشه ۰۰۳/ حالا با توجه به یک بایتی بودن مدخل جدول صفحه یک بایت از آدرس ۰B08 + 003 = 0B0B می خونیم تا شماره ی فریم رو پیدا کنیم که میشه C2. پس کل آدرس میشه C262A.

من سوال ۹۷ ای تی ۸۹ رو قبلا دیده بودم دقیقا مث همین بود
اونجا تو صورت سوال نوشته بود جدول قطعه ۳ بایتی هستش اتفاقا شماره قطعه هم ۰۲ هستش ادرس هم دقیقا همین ۰AFE هستش ولی مدرسان تو توضیح حل سوال نوشته اول باید ادرس پایه رو با شماره قاب جمع کنیم تا اینجا منم موافقم
بعدش گفته به خاطر ۳ بایتی بودن باید ۳ خونه به سمت پایین بیاییم
حالا با این تفاسیر با توجه به اینکه اینجا جدول قطعه ۲ بایتی هستش و ضربدر ۲ قراره بشه و قراره ۲ بار بیاییم پایین با اون حرکت ضرب که شما انجام دادید یکی میشه
ولی تو حالتی که جدول ۳ بایتی باشه اگ قرار باشه اول ضرب انجام بدیم انگار باید ۶ تا خونه بیاییم پایین ولی اگه با ۲ جمع کنیم بعد ۳ تا بیاییم پایین میشه کلا ۵ تا خونه میاییم پایین!!!! حالا کی درست میگه؟؟!!! ارمین دوباره من و گیج کردی !!! یا اینجا دلیل کارتو بگو تا من کاملا متوجه ش م مث منطقی یا هم باز گیج کردی مارو Smile

تبدیل ادرس از روی جدول قطعه - nina69 - 17 بهمن ۱۳۹۱ ۰۳:۰۸ ب.ظ

منم گیج شدم به خدا دقیقا مثل
یکی در سطح پایین توضیح بده

تبدیل ادرس از روی جدول قطعه - armin_b00ter - 17 بهمن ۱۳۹۱ ۰۳:۰۹ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۲:۵۷ ب.ظ)fsi2013 نوشته شده توسط:  من سوال ۹۷ ای تی ۸۹ رو قبلا دیده بودم دقیقا مث همین بود
اونجا تو صورت سوال نوشته بود جدول قطعه ۳ بایتی هستش اتفاقا شماره قطعه هم ۰۲ هستش ادرس هم دقیقا همین ۰AFE هستش ولی مدرسان تو توضیح حل سوال نوشته اول باید ادرس پایه رو با شماره قاب جمع کنیم تا اینجا منم موافقم
بعدش گفته به خاطر ۳ بایتی بودن باید ۳ خونه به سمت پایین بیاییم
حالا با این تفاسیر با توجه به اینکه اینجا جدول قطعه ۲ بایتی هستش و ضربدر ۲ قراره بشه و قراره ۲ بار بیاییم پایین با اون حرکت ضرب که شما انجام دادید یکی میشه
ولی تو حالتی که جدول ۳ بایتی باشه اگ قرار باشه اول ضرب انجام بدیم انگار باید ۶ تا خونه بیاییم پایین ولی اگه با ۲ جمع کنیم بعد ۳ تا بیاییم پایین میشه کلا ۵ تا خونه میاییم پایین!!!! حالا کی درست میگه؟؟!!! ارمین دوباره من و گیج کردی !!! یا اینجا دلیل کارتو بگو تا من کاملا متوجه ش م مث منطقی یا هم باز گیج کردی مارو
اصولا دوستان حلال سوالات کنکور علاقه ی خاصی دارن به اینکه جوابارو بپیچونن و یه جوری به اون جواب مورد نظر برسن. شما اون چرت و پرتای مدرسان رو بریز دور چون اینجا به صورت اتفاقی درست در اومده. من بهت اطمینان میدم که این راه حلی که گفتم درسته. شما با این راه حل حلش کن اگه غلط بود من سرمو میدم Big Grin مطلب خیلی مشخصه ها. اگه دقت کنی حرفای من کاملا منطقیه. شما مگه مبحث آرایه ها تو ساختمان داده رو نخوندی ؟؟ اینجا هم ما یه آرایه ی یک بعدی داریم که اندازه ی هر عنصرش ۲ بایته. حالا آدرس عنصر i ام رو می خوایم به دست بیاریم که میشه آدرس شروع + ( ایندکس مورد نظر - حد پایین آرایه ) * اندازه ی عناصر. که اینجا حد پایین صفره و اندازه هم که ۲

RE: تبدیل ادرس از روی جدول قطعه - fsi2013 - 17 بهمن ۱۳۹۱ ۰۳:۲۵ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۳:۰۹ ب.ظ)armin_b00ter نوشته شده توسط:  
(17 بهمن ۱۳۹۱ ۰۲:۵۷ ب.ظ)fsi2013 نوشته شده توسط:  من سوال ۹۷ ای تی ۸۹ رو قبلا دیده بودم دقیقا مث همین بود
اونجا تو صورت سوال نوشته بود جدول قطعه ۳ بایتی هستش اتفاقا شماره قطعه هم ۰۲ هستش ادرس هم دقیقا همین ۰AFE هستش ولی مدرسان تو توضیح حل سوال نوشته اول باید ادرس پایه رو با شماره قاب جمع کنیم تا اینجا منم موافقم
بعدش گفته به خاطر ۳ بایتی بودن باید ۳ خونه به سمت پایین بیاییم
حالا با این تفاسیر با توجه به اینکه اینجا جدول قطعه ۲ بایتی هستش و ضربدر ۲ قراره بشه و قراره ۲ بار بیاییم پایین با اون حرکت ضرب که شما انجام دادید یکی میشه
ولی تو حالتی که جدول ۳ بایتی باشه اگ قرار باشه اول ضرب انجام بدیم انگار باید ۶ تا خونه بیاییم پایین ولی اگه با ۲ جمع کنیم بعد ۳ تا بیاییم پایین میشه کلا ۵ تا خونه میاییم پایین!!!! حالا کی درست میگه؟؟!!! ارمین دوباره من و گیج کردی !!! یا اینجا دلیل کارتو بگو تا من کاملا متوجه ش م مث منطقی یا هم باز گیج کردی مارو
اصولا دوستان حلال سوالات کنکور علاقه ی خاصی دارن به اینکه جوابارو بپیچونن و یه جوری به اون جواب مورد نظر برسن. شما اون چرت و پرتای مدرسان رو بریز دور چون اینجا به صورت اتفاقی درست در اومده. من بهت اطمینان میدم که این راه حلی که گفتم درسته. شما با این راه حل حلش کن اگه غلط بود من سرمو میدم Big Grin مطلب خیلی مشخصه ها. اگه دقت کنی حرفای من کاملا منطقیه. شما مگه مبحث آرایه ها تو ساختمان داده رو نخوندی ؟؟ اینجا هم ما یه آرایه ی یک بعدی داریم که اندازه ی هر عنصرش ۲ بایته. حالا آدرس عنصر i ام رو می خوایم به دست بیاریم که میشه آدرس شروع + ( ایندکس مورد نظر - حد پایین آرایه ) * اندازه ی عناصر. که اینجا حد پایین صفره و اندازه هم که ۲
دقیقا سوال منم همینه!من توضیحم اینه که اول قطعه شماره ۲ هستیم باید با افست جمع شه که برسیم به اول قطعه شماره ی ۲ حالا میایم و بایت سوم قطعه ی دوم رو میخونیم.
پس با توجه به این توضیحات اول ادرس پایه جدول قطعه STBA رو با شماره قطعه مشخص شده جمع میکنیم بعدش میریم و بایت دوم رو میخونیم
ولی شما اومدی از اول چون ۲ بایتی بوده اومدین تو ۲ ضرب کردین
سوالم از شما اینه اگه ۳ بایتی بود شما تو ۳ ضرب میکنید بعد با STBA جمع میکنید یا اول میرید ابتدای قطعه بعد بایت سوم رو میخونید من که فک کنم سیستم عامل از روش دوم استفاده کنه نظر شما چیه؟!

تبدیل ادرس از روی جدول قطعه - armin_b00ter - 17 بهمن ۱۳۹۱ ۰۳:۴۴ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۳:۲۵ ب.ظ)fsi2013 نوشته شده توسط:  دقیقا سوال منم همینه!من توضیحم اینه که اول قطعه شماره ۲ هستیم باید با افست جمع شه که برسیم به اول قطعه شماره ی ۲ حالا میایم و بایت سوم قطعه ی دوم رو میخونیم.
پس با توجه به این توضیحات اول ادرس پایه جدول قطعه STBA رو با شماره قطعه مشخص شده جمع میکنیم بعدش میریم و بایت دوم رو میخونیم
ولی شما اومدی از اول چون ۲ بایتی بوده اومدین تو ۲ ضرب کردین
سوالم از شما اینه اگه ۳ بایتی بود شما تو ۳ ضرب میکنید بعد با STBA جمع میکنید یا اول میرید ابتدای قطعه بعد بایت سوم رو میخونید من که فک کنم سیستم عامل از روش دوم استفاده کنه نظر شما چیه؟!
اخه اینجا قطعه ای در کار نیس که. این جدول قطعه اس. یه آرایه سادس. توضیحات من کامله. شما یا با سیستم قطعه بندی صفحه بندی مشکل داری یا با بحث آرایه ها وگرنه نقطه ی مبهمی تو حرفای من نیست.
در مورد سوالتم من ضرب در ۳ میکردم. من فکر می کنم شما با نحوه ی آدرس دهی تو این سیستم مشکل داری. حتما یه نگاه به این قسمت تو کتاب بکن.

RE: تبدیل ادرس از روی جدول قطعه - fsi2013 - 17 بهمن ۱۳۹۱ ۰۴:۰۷ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۳:۴۴ ب.ظ)armin_b00ter نوشته شده توسط:  
(17 بهمن ۱۳۹۱ ۰۳:۲۵ ب.ظ)fsi2013 نوشته شده توسط:  دقیقا سوال منم همینه!من توضیحم اینه که اول قطعه شماره ۲ هستیم باید با افست جمع شه که برسیم به اول قطعه شماره ی ۲ حالا میایم و بایت سوم قطعه ی دوم رو میخونیم.
پس با توجه به این توضیحات اول ادرس پایه جدول قطعه STBA رو با شماره قطعه مشخص شده جمع میکنیم بعدش میریم و بایت دوم رو میخونیم
ولی شما اومدی از اول چون ۲ بایتی بوده اومدین تو ۲ ضرب کردین
سوالم از شما اینه اگه ۳ بایتی بود شما تو ۳ ضرب میکنید بعد با STBA جمع میکنید یا اول میرید ابتدای قطعه بعد بایت سوم رو میخونید من که فک کنم سیستم عامل از روش دوم استفاده کنه نظر شما چیه؟!
اخه اینجا قطعه ای در کار نیس که. این جدول قطعه اس. یه آرایه سادس. توضیحات من کامله. شما یا با سیستم قطعه بندی صفحه بندی مشکل داری یا با بحث آرایه ها وگرنه نقطه ی مبهمی تو حرفای من نیست.
در مورد سوالتم من ضرب در ۳ میکردم. من فکر می کنم شما با نحوه ی آدرس دهی تو این سیستم مشکل داری. حتما یه نگاه به این قسمت تو کتاب بکن.
سوال اخر
اینا محتویات جدول قطعه ۲ نیست؟
سوال اخره اخر Smile
شروع قطعه دوم همون STBA هستش؟؟؟؟!!!!!!!!!!
اگر نیست پس شروع قطعه دوم چطوری بدست میاد؟

تبدیل ادرس از روی جدول قطعه - armin_b00ter - 17 بهمن ۱۳۹۱ ۰۴:۱۷ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۴:۰۷ ب.ظ)fsi2013 نوشته شده توسط:  سوال اخر
اینا محتویات جدول قطعه ۲ نیست؟
سوال اخره اخر Smile
شروع قطعه دوم همون STBA هستش؟؟؟؟!!!!!!!!!!
اگر نیست پس شروع قطعه دوم چطوری بدست میاد؟
جدول قطعه ی دویی وجود نداره. واسه هر فرآیند فقط یک جدول قطعه داریم و STBA هم آدرس شروع جدول قطعه برای فرآیند در حال اجراست !!!
شروع قطعه ی دوم هم میشه صفحه ی اول قطعه ی دوم که از طریق محتویات جدول قطعه و جدول صفحه باید شماره ی فریم مربوط به اون رو استخراج کرد.

RE: تبدیل ادرس از روی جدول قطعه - fsi2013 - 17 بهمن ۱۳۹۱ ۰۴:۴۸ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۴:۱۷ ب.ظ)armin_b00ter نوشته شده توسط:  
(17 بهمن ۱۳۹۱ ۰۴:۰۷ ب.ظ)fsi2013 نوشته شده توسط:  سوال اخر
اینا محتویات جدول قطعه ۲ نیست؟
سوال اخره اخر Smile
شروع قطعه دوم همون STBA هستش؟؟؟؟!!!!!!!!!!
اگر نیست پس شروع قطعه دوم چطوری بدست میاد؟
جدول قطعه ی دویی وجود نداره. واسه هر فرآیند فقط یک جدول قطعه داریم و STBA هم آدرس شروع جدول قطعه برای فرآیند در حال اجراست !!!
شروع قطعه ی دوم هم میشه صفحه ی اول قطعه ی دوم که از طریق محتویات جدول قطعه و جدول صفحه باید شماره ی فریم مربوط به اون رو استخراج کرد.

خوب حالا رسیدیم اول بحث بیا من از صفر شروع میکنم حل کردن سوال تو هرجا اشتبا گفتم بگو
از اونجا که با توچه به ادرس ۰۲۰۰۳۶۲A ما قراره به قطعه دوم بریم چون فرمت ادرس قطعه بندی صفحه بندی همون طوری که ازاد گفت
S P# , OFFSSET# ,
حالا S# که همون SEGMENT یا قطعه هستش شده ۰۲
کلا باید STBA رو با شماره قطعه جمع کنیم تا برسیم به اول قطعه ی شماره ی ۲ تا اینجارو درست گفتم یا نه Sad

منم فک کنم باید مث شما همین روش و حفظ کنم دیگ

تبدیل ادرس از روی جدول قطعه - armin_b00ter - 17 بهمن ۱۳۹۱ ۰۵:۲۵ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۴:۴۸ ب.ظ)fsi2013 نوشته شده توسط:  کلا باید STBA رو با شماره قطعه جمع کنیم تا برسیم به اول قطعه ی شماره ی ۲ تا اینجارو درست گفتم یا نه
من احساس می کنم اصلا به چیزایی که گفتم توجه نکردی. آخرین جواب !! STBA رو با ۲ * ۲ جمع میکنیم. به اون چیزی که در مورد آرایه ها گفتم دقت کن و البته به اینکه اولویت ضرب از جمع بیشتره !!

RE: تبدیل ادرس از روی جدول قطعه - ۸Operation - 17 بهمن ۱۳۹۱ ۰۵:۲۹ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۱۲:۵۳ ب.ظ)armin_b00ter نوشته شده توسط:  حالا از این آدرس به اندازه ی ۲ بایت که اندازه ی مدخل جدول قطعه است می خونیم تا آدرس شروع جدول صفحه به دست بیاد که میشه ۰B08.
آرمین جان من این سوالارو از روی یکی دوتا کتاب تست یادگرفته بودم که روشش به قول شما فک کنم سرکاری بود!این روش شما رو روی سوال مطرح شده قبول دارم(والبته روش آزاد عزیز) اما با این روش یکم توی سوال IT89 گیر کردم میشه لطف کنی فقط مراحل پیداکردن آدرس رو توی سوال پایین توضیح بدی!گیر من دقیقه بعد محاسبه ۰B04 هستش.
[تصویر:  os_91.jpg]
مرسی

تبدیل ادرس از روی جدول قطعه - armin_b00ter - 17 بهمن ۱۳۹۱ ۰۵:۴۴ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۵:۲۹ ب.ظ)۸Operation نوشته شده توسط:  آرمین جان من این سوالارو از روی یکی دوتا کتاب تست یادگرفته بودم که روشش به قول شما فک کنم سرکاری بود!این روش شما رو روی سوال مطرح شده قبول دارم(والبته روش آزاد عزیز) اما با این روش یکم توی سوال IT89 گیر کردم میشه لطف کنی فقط مراحل پیداکردن آدرس رو توی سوال پایین توضیح بدی!گیر من دقیقه بعد محاسبه ۰B04 هستش.
ببین برای محاسبه ی آدرس page table باید فقط مقدار PTBA ( Page Table Base Address ) رو از تو حافظه ی مربوط به جدول قطعه بخونی یعنی فقط ۲بایت که میشه ۰B09. حالا این رو به علاوه ی ۳ که اندیس جدول صفحه اس میکنی که میشه ۰B0C که مقدار این آدرس میشه ۰A. پس آدرس فیزیکی میشه ۰A456
limit برای این به کار میره که ما از محدوده ی اون قطعه ی مورد نظر تجاوز نکنیم. و کاربردی تو آدرس دهی نداره.

تبدیل ادرس از روی جدول قطعه - ۸Operation - 17 بهمن ۱۳۹۱ ۰۵:۵۱ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۵:۴۴ ب.ظ)armin_b00ter نوشته شده توسط:  limit برای این به کار میره که ما از محدوده ی اون قطعه ی مورد نظر تجاوز نکنیم. و کاربردی تو آدرس دهی نداره.
مرسی آرمین جان واقعا از این روشهای بی اساس برخی نویسنده ها کلافه شده بودم!!!!عالی بود توضیحت!ایشالله ۱ بشی!!!
میگم من فقط یه ابهام برام پیش اومده بود این ۰BH جلوی ۰B04H الان Limit نیست؟!

تبدیل ادرس از روی جدول قطعه - armin_b00ter - 17 بهمن ۱۳۹۱ ۰۵:۵۹ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۵:۵۱ ب.ظ)۸Operation نوشته شده توسط:  مرسی آرمین جان واقعا از این روشهای بی اساس برخی نویسنده ها کلافه شده بودم!!!!عالی بود توضیحت!ایشالله ۱ بشی!!!
ممنونم ایشالا تو هم به اون چیزی که براش تلاش کردی و لیاقتشو داری می رسی.

(۱۷ بهمن ۱۳۹۱ ۰۵:۵۱ ب.ظ)۸Operation نوشته شده توسط:  میگم من فقط یه ابهام برام پیش اومده بود این ۰BH جلوی ۰B04H الان Limit نیست؟!
نه اولین بایتی که می خونیم پر ارزش ترین بایته. در حالی که Limit کم ارزش ترین بایته.

تبدیل ادرس از روی جدول قطعه - ۸Operation - 17 بهمن ۱۳۹۱ ۰۶:۱۵ ب.ظ

(۱۷ بهمن ۱۳۹۱ ۰۵:۵۹ ب.ظ)armin_b00ter نوشته شده توسط:  ممنونم ایشالا تو هم به اون چیزی که براش تلاش کردی و لیاقتشو داری می رسی.
مرسی...انشالله...
(۱۷ بهمن ۱۳۹۱ ۰۵:۵۹ ب.ظ)armin_b00ter نوشته شده توسط:  نه اولین بایتی که می خونیم پر ارزش ترین بایته. در حالی که Limit کم ارزش ترین بایته.
درسته اما Limit چنده الان؟!آخه من فکر می کردم داخل مستطیلی همون بایت سومه که طبق سوال میشه Limit!