تبدیل ادرس از روی جدول قطعه
دوستان من این روند تبدیل ادرس مجازی در سیستم های قطعه بندی
نمیفهمم
اگه بلدید تو رو خدا توضح بدید
نمونه اش این تست پارسه
(۱۷ بهمن ۱۳۹۱ ۱۲:۵۳ ب.ظ)armin_b00ter نوشته شده توسط: اول واسه به دست آوردن آدرس جدول صفحه آدرس جدول قطعه را با ۰۲H * 2 با توجه به دوبایتی بودن هر مدخل جدول قطعه جمع میکنیم. که میشه ۰AFE + 04 = 0B02. حالا از این آدرس به اندازه ی ۲ بایت که اندازه ی مدخل جدول قطعه است می خونیم تا آدرس شروع جدول صفحه به دست بیاد که میشه ۰B08. حالا با توجه به ۴kb بودن صفحه که ۱۲ بیت واسه آدرس دهی می خواد و اینکه ۰۲ هم مربوط به ایندکس جدول قطعه است ایندکس جدول صفحه میشه ۰۰۳/ حالا با توجه به یک بایتی بودن مدخل جدول صفحه یک بایت از آدرس ۰B08 + 003 = 0B0B می خونیم تا شماره ی فریم رو پیدا کنیم که میشه C2. پس کل آدرس میشه C262A.
(۱۷ بهمن ۱۳۹۱ ۱۲:۵۳ ب.ظ)armin_b00ter نوشته شده توسط: اول واسه به دست آوردن آدرس جدول صفحه آدرس جدول قطعه را با ۰۲H * 2 با توجه به دوبایتی بودن هر مدخل جدول قطعه جمع میکنیم. که میشه ۰AFE + 04 = 0B02. حالا از این آدرس به اندازه ی ۲ بایت که اندازه ی مدخل جدول قطعه است می خونیم تا آدرس شروع جدول صفحه به دست بیاد که میشه ۰B08. حالا با توجه به ۴kb بودن صفحه که ۱۲ بیت واسه آدرس دهی می خواد و اینکه ۰۲ هم مربوط به ایندکس جدول قطعه است ایندکس جدول صفحه میشه ۰۰۳/ حالا با توجه به یک بایتی بودن مدخل جدول صفحه یک بایت از آدرس ۰B08 + 003 = 0B0B می خونیم تا شماره ی فریم رو پیدا کنیم که میشه C2. پس کل آدرس میشه C262A.
(۱۷ بهمن ۱۳۹۱ ۰۱:۳۲ ب.ظ)azad_ahmadi نوشته شده توسط: آقا حق با شما. اما من که گفتم کارم دوباره کاریه. بعدش می تونی تبدیل به بایتش کنی. ایراد از من بود. شما ببخش.من نگرفتم
فهمیدم که نیازی به اون ضرب نیست و کافیه به اندازه همون یک بایت یا دو بایت در جدول صفحه یا قطعه حرکت کنی و ادرس رو بدست بیاری.
(۱۷ بهمن ۱۳۹۱ ۰۱:۴۰ ب.ظ)atti joon نوشته شده توسط: اقای armin میشه این قسمت و توضیح بدید؟یعنی که آدرس ۰B02 و ۰B03 که مقادیرشون برابر ۰B و ۰۸ می خونیم و می چسبونیم به هم که میشه ۰B08
(حالا از این آدرس به اندازه ی ۲ بایت که اندازه ی مدخل جدول قطعه است می خونیم تا آدرس شروع جدول صفحه به دست بیاد که میشه ۰B08)
من نفهمیدم؟؟؟؟؟؟؟؟؟؟؟؟
(۱۷ بهمن ۱۳۹۱ ۰۲:۵۷ ب.ظ)fsi2013 نوشته شده توسط: من سوال ۹۷ ای تی ۸۹ رو قبلا دیده بودم دقیقا مث همین بوداصولا دوستان حلال سوالات کنکور علاقه ی خاصی دارن به اینکه جوابارو بپیچونن و یه جوری به اون جواب مورد نظر برسن. شما اون چرت و پرتای مدرسان رو بریز دور چون اینجا به صورت اتفاقی درست در اومده. من بهت اطمینان میدم که این راه حلی که گفتم درسته. شما با این راه حل حلش کن اگه غلط بود من سرمو میدم
اونجا تو صورت سوال نوشته بود جدول قطعه ۳ بایتی هستش اتفاقا شماره قطعه هم ۰۲ هستش ادرس هم دقیقا همین ۰AFE هستش ولی مدرسان تو توضیح حل سوال نوشته اول باید ادرس پایه رو با شماره قاب جمع کنیم تا اینجا منم موافقم
بعدش گفته به خاطر ۳ بایتی بودن باید ۳ خونه به سمت پایین بیاییم
حالا با این تفاسیر با توجه به اینکه اینجا جدول قطعه ۲ بایتی هستش و ضربدر ۲ قراره بشه و قراره ۲ بار بیاییم پایین با اون حرکت ضرب که شما انجام دادید یکی میشه
ولی تو حالتی که جدول ۳ بایتی باشه اگ قرار باشه اول ضرب انجام بدیم انگار باید ۶ تا خونه بیاییم پایین ولی اگه با ۲ جمع کنیم بعد ۳ تا بیاییم پایین میشه کلا ۵ تا خونه میاییم پایین!!!! حالا کی درست میگه؟؟!!! ارمین دوباره من و گیج کردی !!! یا اینجا دلیل کارتو بگو تا من کاملا متوجه ش م مث منطقی یا هم باز گیج کردی مارو
(۱۷ بهمن ۱۳۹۱ ۰۳:۰۹ ب.ظ)armin_b00ter نوشته شده توسط:دقیقا سوال منم همینه!من توضیحم اینه که اول قطعه شماره ۲ هستیم باید با افست جمع شه که برسیم به اول قطعه شماره ی ۲ حالا میایم و بایت سوم قطعه ی دوم رو میخونیم.(17 بهمن ۱۳۹۱ ۰۲:۵۷ ب.ظ)fsi2013 نوشته شده توسط: من سوال ۹۷ ای تی ۸۹ رو قبلا دیده بودم دقیقا مث همین بوداصولا دوستان حلال سوالات کنکور علاقه ی خاصی دارن به اینکه جوابارو بپیچونن و یه جوری به اون جواب مورد نظر برسن. شما اون چرت و پرتای مدرسان رو بریز دور چون اینجا به صورت اتفاقی درست در اومده. من بهت اطمینان میدم که این راه حلی که گفتم درسته. شما با این راه حل حلش کن اگه غلط بود من سرمو میدم
اونجا تو صورت سوال نوشته بود جدول قطعه ۳ بایتی هستش اتفاقا شماره قطعه هم ۰۲ هستش ادرس هم دقیقا همین ۰AFE هستش ولی مدرسان تو توضیح حل سوال نوشته اول باید ادرس پایه رو با شماره قاب جمع کنیم تا اینجا منم موافقم
بعدش گفته به خاطر ۳ بایتی بودن باید ۳ خونه به سمت پایین بیاییم
حالا با این تفاسیر با توجه به اینکه اینجا جدول قطعه ۲ بایتی هستش و ضربدر ۲ قراره بشه و قراره ۲ بار بیاییم پایین با اون حرکت ضرب که شما انجام دادید یکی میشه
ولی تو حالتی که جدول ۳ بایتی باشه اگ قرار باشه اول ضرب انجام بدیم انگار باید ۶ تا خونه بیاییم پایین ولی اگه با ۲ جمع کنیم بعد ۳ تا بیاییم پایین میشه کلا ۵ تا خونه میاییم پایین!!!! حالا کی درست میگه؟؟!!! ارمین دوباره من و گیج کردی !!! یا اینجا دلیل کارتو بگو تا من کاملا متوجه ش م مث منطقی یا هم باز گیج کردی مارومطلب خیلی مشخصه ها. اگه دقت کنی حرفای من کاملا منطقیه. شما مگه مبحث آرایه ها تو ساختمان داده رو نخوندی ؟؟ اینجا هم ما یه آرایه ی یک بعدی داریم که اندازه ی هر عنصرش ۲ بایته. حالا آدرس عنصر i ام رو می خوایم به دست بیاریم که میشه آدرس شروع + ( ایندکس مورد نظر - حد پایین آرایه ) * اندازه ی عناصر. که اینجا حد پایین صفره و اندازه هم که ۲
(۱۷ بهمن ۱۳۹۱ ۰۳:۲۵ ب.ظ)fsi2013 نوشته شده توسط: دقیقا سوال منم همینه!من توضیحم اینه که اول قطعه شماره ۲ هستیم باید با افست جمع شه که برسیم به اول قطعه شماره ی ۲ حالا میایم و بایت سوم قطعه ی دوم رو میخونیم.اخه اینجا قطعه ای در کار نیس که. این جدول قطعه اس. یه آرایه سادس. توضیحات من کامله. شما یا با سیستم قطعه بندی صفحه بندی مشکل داری یا با بحث آرایه ها وگرنه نقطه ی مبهمی تو حرفای من نیست.
پس با توجه به این توضیحات اول ادرس پایه جدول قطعه STBA رو با شماره قطعه مشخص شده جمع میکنیم بعدش میریم و بایت دوم رو میخونیم
ولی شما اومدی از اول چون ۲ بایتی بوده اومدین تو ۲ ضرب کردین
سوالم از شما اینه اگه ۳ بایتی بود شما تو ۳ ضرب میکنید بعد با STBA جمع میکنید یا اول میرید ابتدای قطعه بعد بایت سوم رو میخونید من که فک کنم سیستم عامل از روش دوم استفاده کنه نظر شما چیه؟!
(۱۷ بهمن ۱۳۹۱ ۰۳:۴۴ ب.ظ)armin_b00ter نوشته شده توسط:سوال اخر(17 بهمن ۱۳۹۱ ۰۳:۲۵ ب.ظ)fsi2013 نوشته شده توسط: دقیقا سوال منم همینه!من توضیحم اینه که اول قطعه شماره ۲ هستیم باید با افست جمع شه که برسیم به اول قطعه شماره ی ۲ حالا میایم و بایت سوم قطعه ی دوم رو میخونیم.اخه اینجا قطعه ای در کار نیس که. این جدول قطعه اس. یه آرایه سادس. توضیحات من کامله. شما یا با سیستم قطعه بندی صفحه بندی مشکل داری یا با بحث آرایه ها وگرنه نقطه ی مبهمی تو حرفای من نیست.
پس با توجه به این توضیحات اول ادرس پایه جدول قطعه STBA رو با شماره قطعه مشخص شده جمع میکنیم بعدش میریم و بایت دوم رو میخونیم
ولی شما اومدی از اول چون ۲ بایتی بوده اومدین تو ۲ ضرب کردین
سوالم از شما اینه اگه ۳ بایتی بود شما تو ۳ ضرب میکنید بعد با STBA جمع میکنید یا اول میرید ابتدای قطعه بعد بایت سوم رو میخونید من که فک کنم سیستم عامل از روش دوم استفاده کنه نظر شما چیه؟!
در مورد سوالتم من ضرب در ۳ میکردم. من فکر می کنم شما با نحوه ی آدرس دهی تو این سیستم مشکل داری. حتما یه نگاه به این قسمت تو کتاب بکن.
(۱۷ بهمن ۱۳۹۱ ۰۴:۰۷ ب.ظ)fsi2013 نوشته شده توسط: سوال اخرجدول قطعه ی دویی وجود نداره. واسه هر فرآیند فقط یک جدول قطعه داریم و STBA هم آدرس شروع جدول قطعه برای فرآیند در حال اجراست !!!
اینا محتویات جدول قطعه ۲ نیست؟
سوال اخره اخر![]()
شروع قطعه دوم همون STBA هستش؟؟؟؟!!!!!!!!!!
اگر نیست پس شروع قطعه دوم چطوری بدست میاد؟
(۱۷ بهمن ۱۳۹۱ ۰۴:۱۷ ب.ظ)armin_b00ter نوشته شده توسط:(17 بهمن ۱۳۹۱ ۰۴:۰۷ ب.ظ)fsi2013 نوشته شده توسط: سوال اخرجدول قطعه ی دویی وجود نداره. واسه هر فرآیند فقط یک جدول قطعه داریم و STBA هم آدرس شروع جدول قطعه برای فرآیند در حال اجراست !!!
اینا محتویات جدول قطعه ۲ نیست؟
سوال اخره اخر![]()
شروع قطعه دوم همون STBA هستش؟؟؟؟!!!!!!!!!!
اگر نیست پس شروع قطعه دوم چطوری بدست میاد؟
شروع قطعه ی دوم هم میشه صفحه ی اول قطعه ی دوم که از طریق محتویات جدول قطعه و جدول صفحه باید شماره ی فریم مربوط به اون رو استخراج کرد.
(۱۷ بهمن ۱۳۹۱ ۰۴:۴۸ ب.ظ)fsi2013 نوشته شده توسط: کلا باید STBA رو با شماره قطعه جمع کنیم تا برسیم به اول قطعه ی شماره ی ۲ تا اینجارو درست گفتم یا نهمن احساس می کنم اصلا به چیزایی که گفتم توجه نکردی. آخرین جواب !! STBA رو با ۲ * ۲ جمع میکنیم. به اون چیزی که در مورد آرایه ها گفتم دقت کن و البته به اینکه اولویت ضرب از جمع بیشتره !!
(۱۷ بهمن ۱۳۹۱ ۱۲:۵۳ ب.ظ)armin_b00ter نوشته شده توسط: حالا از این آدرس به اندازه ی ۲ بایت که اندازه ی مدخل جدول قطعه است می خونیم تا آدرس شروع جدول صفحه به دست بیاد که میشه ۰B08.آرمین جان من این سوالارو از روی یکی دوتا کتاب تست یادگرفته بودم که روشش به قول شما فک کنم سرکاری بود!این روش شما رو روی سوال مطرح شده قبول دارم(والبته روش آزاد عزیز) اما با این روش یکم توی سوال IT89 گیر کردم میشه لطف کنی فقط مراحل پیداکردن آدرس رو توی سوال پایین توضیح بدی!گیر من دقیقه بعد محاسبه ۰B04 هستش.
(۱۷ بهمن ۱۳۹۱ ۰۵:۲۹ ب.ظ)۸Operation نوشته شده توسط: آرمین جان من این سوالارو از روی یکی دوتا کتاب تست یادگرفته بودم که روشش به قول شما فک کنم سرکاری بود!این روش شما رو روی سوال مطرح شده قبول دارم(والبته روش آزاد عزیز) اما با این روش یکم توی سوال IT89 گیر کردم میشه لطف کنی فقط مراحل پیداکردن آدرس رو توی سوال پایین توضیح بدی!گیر من دقیقه بعد محاسبه ۰B04 هستش.ببین برای محاسبه ی آدرس page table باید فقط مقدار PTBA ( Page Table Base Address ) رو از تو حافظه ی مربوط به جدول قطعه بخونی یعنی فقط ۲بایت که میشه ۰B09. حالا این رو به علاوه ی ۳ که اندیس جدول صفحه اس میکنی که میشه ۰B0C که مقدار این آدرس میشه ۰A. پس آدرس فیزیکی میشه ۰A456
(۱۷ بهمن ۱۳۹۱ ۰۵:۴۴ ب.ظ)armin_b00ter نوشته شده توسط:برادر شرمنده باز سوال! شما گفتی که ۲ رو در ۳ ضرب میکنیم بعد با PTBA جمع میکنیم محتویات PTBA رو به افست میچسپونیم درسته؟(17 بهمن ۱۳۹۱ ۰۵:۲۹ ب.ظ)۸Operation نوشته شده توسط: آرمین جان من این سوالارو از روی یکی دوتا کتاب تست یادگرفته بودم که روشش به قول شما فک کنم سرکاری بود!این روش شما رو روی سوال مطرح شده قبول دارم(والبته روش آزاد عزیز) اما با این روش یکم توی سوال IT89 گیر کردم میشه لطف کنی فقط مراحل پیداکردن آدرس رو توی سوال پایین توضیح بدی!گیر من دقیقه بعد محاسبه ۰B04 هستش.ببین برای محاسبه ی آدرس page table باید فقط مقدار PTBA ( Page Table Base Address ) رو از تو حافظه ی مربوط به جدول قطعه بخونی یعنی فقط ۲بایت که میشه ۰B09. حالا این رو به علاوه ی ۳ که اندیس جدول صفحه اس میکنی که میشه ۰B0C که مقدار این آدرس میشه ۰A. پس آدرس فیزیکی میشه ۰A456
limit برای این به کار میره که ما از محدوده ی اون قطعه ی مورد نظر تجاوز نکنیم. و کاربردی تو آدرس دهی نداره.
(۱۷ بهمن ۱۳۹۱ ۰۵:۴۴ ب.ظ)armin_b00ter نوشته شده توسط: limit برای این به کار میره که ما از محدوده ی اون قطعه ی مورد نظر تجاوز نکنیم. و کاربردی تو آدرس دهی نداره.مرسی آرمین جان واقعا از این روشهای بی اساس برخی نویسنده ها کلافه شده بودم!!!!عالی بود توضیحت!ایشالله ۱ بشی!!!
(۱۷ بهمن ۱۳۹۱ ۰۵:۵۱ ب.ظ)۸Operation نوشته شده توسط: مرسی آرمین جان واقعا از این روشهای بی اساس برخی نویسنده ها کلافه شده بودم!!!!عالی بود توضیحت!ایشالله ۱ بشی!!!ممنونم ایشالا تو هم به اون چیزی که براش تلاش کردی و لیاقتشو داری می رسی.
(۱۷ بهمن ۱۳۹۱ ۰۵:۵۱ ب.ظ)۸Operation نوشته شده توسط: میگم من فقط یه ابهام برام پیش اومده بود این ۰BH جلوی ۰B04H الان Limit نیست؟!نه اولین بایتی که می خونیم پر ارزش ترین بایته. در حالی که Limit کم ارزش ترین بایته.
(۱۷ بهمن ۱۳۹۱ ۰۵:۵۹ ب.ظ)armin_b00ter نوشته شده توسط: ممنونم ایشالا تو هم به اون چیزی که براش تلاش کردی و لیاقتشو داری می رسی.مرسی...انشالله...
(۱۷ بهمن ۱۳۹۱ ۰۵:۵۹ ب.ظ)armin_b00ter نوشته شده توسط: نه اولین بایتی که می خونیم پر ارزش ترین بایته. در حالی که Limit کم ارزش ترین بایته.درسته اما Limit چنده الان؟!آخه من فکر می کردم داخل مستطیلی همون بایت سومه که طبق سوال میشه Limit!