زمان کنونی: ۳۱ فروردین ۱۴۰۳, ۰۶:۴۲ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

سوال هشتم از فصل دوم

ارسال:
۰۶ شهریور ۱۳۹۰, ۱۲:۰۲ ق.ظ
سوال هشتم از فصل دوم
اگر ۲ فرایند با کد زیر به صورت همروند اجرا شوند و SUM متغییر مشترک و I متغییر محلی باشد با فرض اینکه مقدار اولیه SUM صفر است پس از اجرای ۲ فرایند به طور کامل کدام گزینه حداقل مقدار SUM را نشان میدهد
کد:
[align=left]
for(i=0;i<10;i++)
sum =sum +1;

۱/۲
۲/۱۰
۳/۵
۴/۲۰

چرا ؟

برای مدیر " کامیابی " یک سفر است نه یک مقصد
یافتن تمامی ارسال‌های این کاربر
 سپاس‌گزاری شده توسط: - rasool - , ehsan_nekooee
ارسال:
۰۷ شهریور ۱۳۹۰, ۰۲:۴۰ ق.ظ
سوال هشتم از فصل دوم
فک میکنم باید گزینه ۴ درست باشه.
به این دلیل که متغییر I محلیه و هر فرایند به صوررت جداگانه این حلقه رو تکرار میکنن. در نتیجه متغییر sum که مشترک هست باید بیست بار یعنی به تعداد دوتا حلقه با یک جمع بشه.

یا علی جان تربت زهرا کجاست؟
یادگار غربت زهرا کجاست؟
تا ز نورش دیده را روشن کنم
بر مزارش شعله‌ها بر تن کنم
یافتن تمامی ارسال‌های این کاربر
ارسال:
۲۰ شهریور ۱۳۹۰, ۰۲:۲۰ ق.ظ (آخرین ویرایش در این ارسال: ۰۴ آبان ۱۳۹۰ ۱۱:۵۱ ق.ظ، توسط رضا_ایرانی.)
سوال هشتم از فصل دوم
بیست مقدار حداکثر این اجراست.
در این مورد باید اسمبلی فکر کرد:
عبارت sum=sum+1 رو یه صورت اسمبلی میشه نوشت:
mov ax,sum
inc ax
mov sum,ax

فرض کنیم فرایند اول مقدار sum رو برمیداره (مقدار صفر) و داخل ax میزاره. قبل از انجام عمل inc وقفه اتفاق میفته و مقدار صفر در ریجستر ax باقی میمونه.
فرایند دوم میاد و با ۹ دور اجرای حلقه for خودش مقدار ۹ رو در متغیر sum میزاره و باز با یک وقفه CPU به فرایند اول برمیگرده و مقادیر رجیسترها احیا میشه. حالا مقدار صفر در ax قرار داره (چون هر فرایند ریجستر خودشو داره و با تعویض متن رجیسترها احیا میشن با مقادیر همون فرایند) و با یک بار اجرا شدن فرایند اول مقدار یک در sum میشینه. حالا باز وقفه میاد و سراغ فرایند دوم میریم، که با اجرای دستور mov ax,sum مقدار یک در ax فرایند دوم میشینه وقبل از اجرای دستور inc و mov sum,ax باز وقفه میاد، و فرایند اول cpu رو میگیره و نه دور باقی مونده شو انجام میده و مقدار Sum رو میزاره ده و کارش تموم میشه. حالا cpu به فرایند دوم برمیگرده که مقدار ریجستر axش بود یک، و تنها یک دور باقی مونده شو میزنه و مقدار sum رو میزاره دو.

خدایا مرا ببخش به خاطر تمام درهایی که کوبیدم و خانه ی تو نبود...
یافتن تمامی ارسال‌های این کاربر


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Information فصل یک تا پنج پایان نامه αɾια ۵ ۴,۸۸۱ ۲۶ بهمن ۱۴۰۰ ۰۴:۱۶ ب.ظ
آخرین ارسال: HoseinMos
  فصل Np , Np hard nazanin2020 ۱ ۱,۷۸۹ ۲۱ آذر ۱۴۰۰ ۱۰:۴۵ ب.ظ
آخرین ارسال: nazanin2020
  درخواست ارائه تکمیل ظرفیت دکتری نیمسال دوم دانشگاه ازاد alireza6660 ۱ ۳,۹۰۷ ۱۷ بهمن ۱۳۹۹ ۱۱:۵۲ ب.ظ
آخرین ارسال: hmaryam567
Smile فروش کتابهای دست دوم و ارزان آمادگی ارشد انفورماتیک پزشکی qizilbash ۱ ۴,۲۶۳ ۲۸ آبان ۱۳۹۹ ۱۱:۳۴ ب.ظ
آخرین ارسال: zeilabi69
  مشکل در حل تست ۲۲ فصل اول کتاب گسسته یوسفی pure.yaser ۷ ۸,۴۲۳ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۵۴ ب.ظ
آخرین ارسال: mohsentafresh
  فصل HEAP از کتاب ساختمان داده طورانی (پارسه) tourani ۳۷ ۳۶,۳۸۴ ۱۲ اسفند ۱۳۹۸ ۰۵:۱۹ ب.ظ
آخرین ارسال: hossein4070
  خرید کتابهای دست دوم پوران پژوهش همه دروس ارشد فناوری اطلاعات sherwod7 ۳ ۵,۱۹۳ ۲۱ دى ۱۳۹۸ ۰۸:۱۶ ب.ظ
آخرین ارسال: roxana.r
  مهمترین فصل های ذخیره و بازیابی مقسمی enofcom ۱۰ ۵,۵۱۷ ۲۵ آبان ۱۳۹۸ ۰۵:۲۳ ب.ظ
آخرین ارسال: alma1988
  درج عبارت "نوبت دوم" در مدرک دکتری siiib70 ۳ ۳,۵۸۷ ۲۸ مهر ۱۳۹۸ ۰۲:۵۰ ق.ظ
آخرین ارسال: marvelous
  ساختمان داده پوران، فصل اول، راهنمایی برای حل یک مثال ساده marvelous ۲ ۲,۶۳۶ ۲۲ مرداد ۱۳۹۸ ۰۳:۳۰ ب.ظ
آخرین ارسال: marvelous

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close