سیستم عامل - درس 4 - نخ (Thread)
23 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

نخ ها چه قابلیت خاصی دارند که آنها را از برنامه های ترتیبی متمایز می کند؟

  • انجام همزمان چند کار (correct)
  • وجود کنترل ساده در هر نخ
  • امکان اجرای در زمان های مختلف
  • استفاده از منابع اختصاصی بدون محدودیت

کدام یک از موارد زیر دربارهٔ نخ ها نادرست است؟

  • نخ ها به عنوان فرایند سبک وزن شناخته می شوند.
  • نخ ها نمی توانند به خودی خود اجرا شوند.
  • هر نخ باید منابع مخصوص به خود را داشته باشد.
  • نخ ها می توانند در برنامه های مختلف اجرا شوند. (correct)

چند نخی به چه قابلیتی از سیستم عامل اشاره دارد؟

  • حمایت از چندین نخ اجرا در یک فرایند واحد (correct)
  • اجازه دادن به کاربران برای مدیریت چند کار به طور همزمان
  • اجرا کردن برنامه‌ها در یک محیط مجازی
  • حمایت از اجرای چند فرایند به صورت همزمان

لازم است هر نخ در حین اجرای برنامه چه منابعی را داشته باشد؟

<p>منابع مخصوص به خود (B)</p> Signup and view all the answers

کدام یک از سیستم عامل‌های زیر از چند نخی پشتیبانی نمی کند؟

<p>MS-DOS (C)</p> Signup and view all the answers

چرا به نخ ها، فرایندهای سبک وزن گفته می شود؟

<p>زیرا در بستر یک برنامه کامل اجرا می شوند (A)</p> Signup and view all the answers

کدام یک از این موارد بیانگر وضعیت اجرای نخ ها در هر لحظه است؟

<p>وجود یک نقطه اجرای یکتا (B)</p> Signup and view all the answers

نخ گاهی به چه چیزی نیز گفته می شود؟

<p>رد دستورالعمل (D)</p> Signup and view all the answers

کدام یک از سیستم عامل ها از فرایند های کاربران متعدد ولی فقط با یک نخ در هر فرایند حمایت می کند؟

<p>یونیکس (C)</p> Signup and view all the answers

نخ ها همانند کدام یک از ویژگی های برنامه نویسی ترتیبی هستند؟

<p>نقطه شروع، ترتیب اجرا و نقطه پایانی دارند (A)</p> Signup and view all the answers

کدام یک از موارد زیر جزو مزایای استفاده از نخ‌ها محسوب می‌شود؟

<p>پایان دادن به یک نخ بسیار سریعتر از پایان یک فرایند است. (C)</p> Signup and view all the answers

در محیط چند نخی، مشخصه زیر برای هر فرایند صحیح است:

<p>تمام نخ‌های فرایند از فضای آدرس‌های مشابه استفاده می‌کنند. (D)</p> Signup and view all the answers

کدام یک از موارد زیر در یک سیستم عامل چند پردازنده‌ای، ملاحظات طراحی اصلی نیست؟

<p>سازگاری با نرم‌افزارهای خارجی (C)</p> Signup and view all the answers

کدام یک از ویژگی‌های نخ‌های سطح کاربر به عنوان یک عیب شناخته می‌شود؟

<p>اجرای فراخوانی سیستم توسط یک نخ، تمام نخ‌های آن فرایند را مسدود می‌کند. (C)</p> Signup and view all the answers

کدام یک از روش‌های ترکیبی در سیستم‌های عامل درست است؟

<p>تولید نخ به طور کامل در فضای کاربر صورت می‌گیرد. (C)</p> Signup and view all the answers

کدام یک از موارد زیر در معانی و عملکرد نخ‌ها کاربرد ندارد؟

<p>حرکت از یک فرایند به فرایند دیگر (C)</p> Signup and view all the answers

کدام یک از گزینه‌های زیر درست است دربارهٔ مزایای نخ‌های سطح هسته؟

<p>هسته می‌تواند نخ‌های چندگانه یک فرایند را همزمان زمانبندی کند. (A)</p> Signup and view all the answers

کدام یک از موارد زیر در مورد صفات نخ‌ها صحیح است؟

<p>حالت معلق فقط برای فرایندها تعریف می‌شود. (B)</p> Signup and view all the answers

در یک سیستم عامل مختلط از چه نوع نخی استفاده می‌شود؟

<p>هر دو نوع نخ به صورت ترکیبی (D)</p> Signup and view all the answers

کدام یک از موارد زیر در ارتباط با نحوه کارکرد چند پردازش متقارن نادرست است؟

<p>روند زمان‌بندی تحت کنترل یک پردازنده منفرد است. (D)</p> Signup and view all the answers

کدام مورد زیر به عنوان یک رویکرد نادرست در مورد pthreads (کتابخانه‌های نخ) شناخته می‌شود؟

<p>تنها یک نخ می‌تواند در هر زمان اجرا شود. (A)</p> Signup and view all the answers

چه نوع داده‌ای در جریان دستورالعمل چندگانه داده‌های چندگانه وجود دارد؟

<p>چندین دستورالعمل روی چندین داده (C)</p> Signup and view all the answers

کدام یک از پیاده‌سازی‌های زیر برای برنامه‌های چندنخی کارایی بهتری دارد؟

<p>تخصیص زمانبندی متفاوت برای هر نخ به واسطه کد هسته. (D)</p> Signup and view all the answers

Flashcards

نخ

یک جریان یا دنباله ای از اجرای کد در یک برنامه است که می تواند منابع خود را مدیریت کند و می تواند به طور مستقل اجرا شود.

برنامه چند نخی

یک برنامه که به طور همزمان چندین کار را انجام می دهد و به طور معمول از چندین نخ استفاده میکند.

چند نخی

قابلیتی در سیستم عامل که اجازه می دهد چندین نخ در یک فرایند واحد اجرا شود.

فرایند سبک وزن

یک واحد اجرایی که در یک برنامه قرار دارد و مثل یک برنامه کامل رفتار می کند., اما حجم کمتری از منابع سیستم را مصرف می کند.

Signup and view all the flashcards

نیازهای منابع توسط نخ ها

هر نخ به منابع خاص خودش، مانند حافظه , فضای stack و registry نیاز دارد.

Signup and view all the flashcards

اجرای نخهای چندگانه

نخهای چندگانه در یک برنامه به طور مستقل از یکدیگر اجرا می شوند و می توانند بر روی CPU ها بصورت موازی اجرا شوند.

Signup and view all the flashcards

چند وظیفهای (چند نخی)

یک برنامه از چندین نخ برای توزیع کار استفاده می کند و به عنوان یک برنامه موازی اجرا می شود.

Signup and view all the flashcards

زمانبندی نخ ها

نخ ها به طور متناوب از CPU زمان دریافت می کنند و به اجرای خود ادامه می دهند.

Signup and view all the flashcards

ارتباط بین نخ ها

نخ ها برای ارتباط با یکدیگر از یک مکانیزم مشترک استفاده می کنند.

Signup and view all the flashcards

ایجاد نخ

نخ در برنامه های چند نخی برای انجام کارهای جدید ایجاد می شود.

Signup and view all the flashcards

اطلاعات مرتبط با فرایند

یک فضای آدرس مجازی که تصویر فرایند را در بر دارد، دسترسی محافظت شده به پردازنده ها، فرایندهای دیگر، پرونده ها و منابع ورودی/ خروجی

Signup and view all the flashcards

اطلاعات مرتبط با نخ

حالت اجرای نخ (اجرا، آماده، غیره)، متن نخ ذخیره شده (که در حال اجرا نیست)، پشته اجرا، مقداری حافظه ایستا برای متغیرهای محلی هر نخ، دسترسی به حافظه و منابع فرایند که مورد اشتراک تمام نخهای فرایند هستند

Signup and view all the flashcards

مزیت نخ ها (1)

ایجاد یک نخ جدید در یک فرایند موجود، سریع تر و کم هزینه تر از ایجاد یک وظیفه جدید است.

Signup and view all the flashcards

مزیت نخ ها (2)

پایان دادن به یک نخ، سریعتر از پایان دادن به یک وظیفه است.

Signup and view all the flashcards

مزیت نخ ها (3)

تعویض دو نخ داخل یک فرایند، کمتر وقت می گیرد.

Signup and view all the flashcards

مزیت نخ ها (4)

نخ های داخل یک فرایند در حافظه و پرونده ها شریک هستند، بنابراین می توانند بدون دخالت هسته با یکدیگر ارتباط برقرار کنند.

Signup and view all the flashcards

معایب نخ ها (1)

تعلیق نخ ها، نیازمند مبادله فضای آدرس ها است، در حالی که تمام نخ های یک فرایند از فضای آدرس مشترک استفاده می کنند.

Signup and view all the flashcards

معایب نخ ها (2)

پایان یافتن فرایند، موجب پایان یافتن تمام نخ های آن فرایند می شود.

Signup and view all the flashcards

حالت های نخ ها

نخ ها نیز مانند فرایندها دارای حالات اصلی اجرا، آماده، مسدود هستند. حالت معلق برای نخ بی معناست، چرا که تعلیق در سطح فرایند انجام می شود.

Signup and view all the flashcards

اعمال مرتبط با نخ ها

ایجاد زایش، مسدود شدن، رفع مسدود شدن، پایان دادن به نخ.

Signup and view all the flashcards

نخ های سطح کاربر

تمام کار مدیریت نخ ها توسط کاربر انجام می شود و هسته خبر از وجود نخ ها ندارد.

Signup and view all the flashcards

نخ های سطح هسته

نخ های سطح هسته، توسط هسته مدیریت و زمانبندی می شوند.

Signup and view all the flashcards

عیب نخ های سطح کاربر (1)

در یک سیستم عامل متداول، اکثر فراخوانی های سیستم، مسدود کننده هستند و اگر نخی یک فراخوانی سیستم را اجرا کند، تمام نخ های آن فرایند مسدود می شوند.

Signup and view all the flashcards

عیب نخ های سطح کاربر (2)

کاربرد چند نخی نمی تواند از امتیازات چند پردازشی استفاده کند، زیرا هسته در هر زمان فقط یک فرایند را به یک پردازنده نسبت می دهد و فقط یک نخ داخل فرایند می تواند اجرا شود

Signup and view all the flashcards

مزیت نخ های سطح کاربر (1)

تعویض نخ مستقل از هسته و در فضای کاربر انجام می شود، که این امر سرعت را افزایش می دهد.

Signup and view all the flashcards

مزیت نخ های سطح کاربر (2)

می توان زمانبندی خاص را متناسب با کاربرد انتخاب کرد، بدون اینکه باری برای سیستم عامل داشته باشد.

Signup and view all the flashcards

مزیت نخ های سطح کاربر (3)

می توان نخ های سطح کاربر را روی هر سیستم عاملی که نیاز به تغییر هسته ندارد، اجرا کرد.

Signup and view all the flashcards

عیب نخ های سطح هسته در مقابل سطح کاربر (1)

انتقال کنترل از یک نخ به نخ دیگر در داخل یک فرایند، نیازمند تغییر حالت به هسته است که این امر زمانبر است.

Signup and view all the flashcards

مزیت نخ های سطح هسته (1)

این رویکرد هر دو عیب نخ های سطح کاربر را رفع می کند، یعنی همزمان running چند نخ در چند پردازنده و اجرای نخ ها در حالت مسدود شدن یک نخ دیگر.

Signup and view all the flashcards

راهبرد ترکیبی

به طور کامل تولید نخ در فضای کاربر در داخل یک کاربرد صورت میگیرد. قسمت عمده زمانبندی و همگام سازی نخها در فضای کاربر صورت میگیرد.

Signup and view all the flashcards

رابطه چند به یک (نخ و فرایند)

یک فرایند شامل یک فضای آدرس و منابع اختصاصی است، و ممکن است شامل چندین نخ باشد.

Signup and view all the flashcards

رابطه یک به چند (نخ و فرایند)

ممکن است یک نخ از فضای یک فرایند به فضای فرایند دیگر مهاجرت کند.

Signup and view all the flashcards

رابطه چند به چند (نخ و فرایند)

ترکیبی از خصوصیات رابطه های چند به یک و یک به چند.

Signup and view all the flashcards

SISD

یک پردازنده جریان واحدی از دستورالعمل را برای عمل روی داده هایی که در یک حافظه قرار دارند اجرا می کند.

Signup and view all the flashcards

SIMD

یک دستورالعمل واحد از پردازنده، تعدادی از عناصر پردازشی را بر اساس پیشروی یکسان کنترل می کند. هر یک از عناصر پردازشی، حافظه مربوط به خود را (برای داده هایش) دارد. بنابراین هر دستورالعمل توسط پردازنده های مختلف روی مجموعه های متفاوتی از داده ها اجرا می شود.

Signup and view all the flashcards

MISD

دنباله ای از داده ها به مجموعه ای از پردازنده ها که هر یک دنباله متفاوتی از دستورالعمل ها را اجرا می کنند، فرستاده می شود.

Signup and view all the flashcards

MIMD

مجموعه ای از پردازنده ها به طور همزمان، دنباله های متفاوتی از دستورالعمل ها را روی مجموعه های متفاوتی از داده ها اجرا می کنند.

Signup and view all the flashcards

استفاده از نخ ها در سیستم تک کاربره چند پردازشی

کارهای پیش زمینه و پس زمینه، پردازش محاسبات آسنکرون، اجرای سریع، ساختار مؤلفه ای و ماژولر برنامه

Signup and view all the flashcards

چند پردازشی متقارن (SMP)

هسته می تواند بر روی هر پردازنده ای اجرا شود. هر پردازنده از نخ ها و فرایندهای موجود برای خود زمانبندی می کند. هسته می تواند به صورت فرایندهای چندگانه با نخ های چندگانه ساخته شود.

Signup and view all the flashcards

موضوعات طراحی SMP

موضوعات سازمان فیزیکی، ساختارهای اتصال داخلی، ارتباط بین پردازنده ها....

Signup and view all the flashcards

مالحظات طراحی سیستم عامل های چند پردازنده ای

همزمانی نخ ها یا فرایند ها، زمانبندی، همگام سازی، مدیریت حافظه، قابلیت اطمینان وتحمل خرابی

Signup and view all the flashcards

همزمانی در سیستم عامل های چندپردازنده ای

نخ ها یا فرایندها همزمان اجازه دسترسی به منابع را دارند.

Signup and view all the flashcards

زمانبندی در سیستم عامل های چندپردازنده ای

الگوریتم زمانبندی برای تخصیص منابع به نخ ها یا فرایندهای آماده.

Signup and view all the flashcards

همگام سازی در سیستم عامل های چندپردازنده ای

کنترل منابع مشترک بین نخ ها یا فرایندها.

Signup and view all the flashcards

مدیریت حافظه در سیستم عامل های چندپردازنده ای

مدیریت حافظه در یک محیط موازی و تخصیص منابع به فرایندها و نخ ها.

Signup and view all the flashcards

تحمل خرابی در سیستم عامل های چندپردازنده ای

قابلیت ادامه کار سیستم حتی پس از بروز خطا or نقص در یک بخش از سیستم.

Signup and view all the flashcards

قابلیت اطمینان در سیستم عامل های چندپردازنده ای

قابلیت اطمینان در سیستم عامل های چندپردازنده ای

Signup and view all the flashcards

Study Notes

سیستم عامل - درس 4 - نخ (Thread)

  • نخ‌ها می‌توانند دو یا چند کار را به طور همزمان انجام دهند.
  • نخ‌ها ساختارهای مشابه برنامه نویسی ترتیبی دارند شامل: نقطه شروع، ترتیب اجرا، نقطه پایانی.
  • در حین اجرای نخ‌ها، در هر لحظه فقط یک نقطه اجرای منحصر به فرد وجود دارد.
  • یک نخ به تنهایی یک برنامه نیست و مستقیماً اجرا نمی شود، بلکه در داخل یک برنامه اجرا می‌شود.
  • برخی از متون به جای "نخ" از عبارت "فرایند سبک وزن" استفاده می‌کنند.
  • نخ شبیه یک فرایند واقعی است و هر دو از نوعی کنترل ترتیبی ساده بهره می‌برند. با این حال، نخ یک فرایند سبک‌وزن است زیرا در داخل یک برنامه كامل اجرا می‌شود و از منابع اختصاص داده شده به آن برنامه و محیط برنامه استفاده می‌كند.
  • نخ گاهی به عنوان رد دستورالعمل شناخته می‌شود.
  • به دلیل کنترل جریان ترتیبی، هر نخ باید در حین اجرای برنامه، منابع اختصاصی مربوط به خود را داشته باشد.
  • شکل‌ها روابط بین نخ‌ها و فرایندها را نشان می‌دهند.
  • در یک زمان می‌توان چندین نخ در یک برنامه در حال اجرا با انجام وظایف متفاوت بودند.
  • در سیستم چند نخی، هر فرایند چندین نخ دارد.
  • MS-DOS فقط از فرایندهای تک کاربره و نخ واحد حمایت می‌کند.
  • محیط زمان اجرا جاوا، نمونه‌ای از سیستم فرایند و چند نخ است.
  • یونیکس از فرایندهای کاربران متعدد اما فقط یک نخ در هر فرایند پشتیبانی می‌کند.
  • ویندوز 2000، لینوکس و ... از فرایندهای چند نخی پشتیبانی می‌کنند.

مفاهیم چند نخی

  • چندنخی به قابلیتی از سیستم عامل گفته می‌شود كه از وجود چند نخ اجرا در یك فرایند واحد پشتیبانی می‌کند.
  • در محیط‌های چند نخی، برای هر فرایند یک یا چندین نخ وجود خواهد داشت.
  • هر نخ، فضای آدرس مجازی مختص به خود را دارد که تصویر فرایند را در بر می‌گیرد.
  • نخ‌ها می‌توانند به پردازنده، فرایندهای دیگر، پرونده‌ها و منابع ورودی و خروجی دسترسی محافظت شده داشته باشند.
  • هر نخ دارای حالت اجرای خود (مانند اجرا، آماده، غیرفعال...) است.
  • متن نخ در حافظه ذخیره می‌شود وقتی در حال اجرا نیست.
  • هر نخ دارای پشته اجرایی مختص به خود است.
  • نخ‌ها به متغیرهای محلی خود و به منابعی که فرایند به آن دسترسی دارد (به اشتراک گذاشته) دسترسی دارند.

مزایای نخ‌ها

  • ایجاد یک نخ جدید در یک فرایند موجود از ایجاد یک وظیفه جدید سریع‌تر است.
  • پایان دادن به یك نخ سریع‌تر از پایان دادن به یك فرایند است.
  • تعویض دو نخ داخل یك فرایند سریع‌تر از تعویض دو فرایند است.
  • نخ‌ها ارتباط بین برنامه‌های در حال اجرا را بهبود می‌دهند.
  • نخ‌ها می‌توانند به اشتراک منابع بدون نیاز به دخالت هسته بپردازند.
  • نخ‌ها بهبود دهنده عملکرد هستند.

عیب نخ‌ها

  • تعلیق در نخ‌ها باعث مبادله فضای آدرس مربوط به فضای اصلی می‌شود که این عمل زمان‌بر است.
  • پایان یافتن فرایند باعث پایان یافتن همه نخ‌های آن فرایند می‌شود.
  • نخ‌های سطح کاربر نمی‌توانند از فواید چند پردازشی استفاده کنند.
  • در هر لحظه، هسته فقط یک فرایند را به یک پردازنده اختصاص می‌دهد، بنابراین فقط یک نخ از یک فرایند می‌تواند در هر لحظه در حال اجرا باشد.

انواع نخ‌ها

  • نخ‌های سطح کاربر
  • نخ‌های سطح هسته
  • نخ‌های ترکیبی (مخلوط)

معماری پردازنده‌های موازی

  • پردازنده‌های موازی می‌توانند از معماری‌های مختلفی بهره ببرند (مانند SIMD و MIMD).
  • معماری‌های SIMD دستورالعمل‌های واحد را روی داده‌های چندگانه اجرا می‌کنند.
  • معماری‌های MIMD می‌توانند دستورالعمل‌های چندگانه را روی داده‌های چندگانه اجرا کنند که در پردازش‌های موازی مفید است.

مزایای نخ‌های سطح کاربر

  • تعویض نخ‌ها سریع‌تر از عوض شدن فرایند است زیرا نیازی به تغییر حالت به هسته نیست.
  • نخ‌ها می‌توانند بر روی هر سیستم عاملی اجرا شوند.
  • تغییری در هسته برای پشتیبانی از نخ‌های سطح كاربر لازم نیست، زیرا کتابخانه‌های نخ در سطح كاربرد قرار دارند.

چند پردازشی متقارن (SMP)

  • هسته می‌تواند بر روی هر پردازنده‌ای اجرا شود.
  • هر پردازنده می‌توانند نُخ‌ها و فرایندهای موجود را زمان‌بندی كند.
  • هسته می‌تواند به صورت فرایندهای چندگانه با نخ‌های چندگانه طراحی شود.
  • طراحی SMP دشوار است.

انواع ساختارهای کامپیوتری (SISD، SIMD، MISD، MIMD)

  • SISD: دستورالعمل واحد، داده واحد
  • SIMD: دستورالعمل واحد، داده‌های چندگانه
  • MISD: دستورالعمل‌های چندگانه، داده واحد (وجود ندارد)
  • MIMD: دستورالعمل‌های چندگانه، داده‌های چندگانه

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

این آزمون به بررسی مفاهیم نخ و عملکرد آنها در سیستم عامل می‌پردازد. شما با ویژگی‌های نخ و تفاوت‌های آن با فرایندها آشنا خواهید شد. همچنین این درس به کنترل جریان و ارتباط بین نخ‌ها اشاره دارد.

More Like This

Threads in Operating Systems
34 questions

Threads in Operating Systems

LawAbidingEuphonium avatar
LawAbidingEuphonium
Threads in Operating Systems
41 questions

Threads in Operating Systems

ImpressiveKineticArt avatar
ImpressiveKineticArt
Use Quizgecko on...
Browser
Browser