ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

نخ ها Threads

 
Post new topic   Reply to topic    ParsX.com Forum Index -> مفاهيم اوليه سيستم عامل / Linux
View previous topic :: View next topic  
Author Message
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Wed Apr 07, 2010 7:37 pm    Post subject: نخ ها Threads Reply with quote

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

درمحیط چند نخی مثل محیط تک نخی یک بلوک کنترل فرآیند و یک فضای آدرس کاربر مربوط به آن فرآیند وجود دارد . اما برای هر نخ پشته های جداگانه و همچنین بلوک کنترل جداگانه شامل : تصویر ثبات ها، اولویت و دیگر اطلاعات مربوط به حالت آن نخ نیز وجود دارد.
تمام نخ های یک فرآیند :
    o در حالت و منابع آن فرآیند شریک هستند.
    o آنها در یک فضای آدرس هستند و به داده های یکسان دسترسی دارند.
    o هنگامی که نخی یک عنصر داده را در حافظه تغییر دهد دیگر نخ ها در دسترسی به آن عنصرحاصل تغییر را می بینند.
    o اگر نخی پرونده ای را برای خواندن بازکند دیگر نخ های آن فرآیند نیز می توانند از آن پرونده بخوانند.
منافع کلیدی نخ ها ، حاصل نقش آنها در کارایی است :
     ایجاد یک نخ جدید در فرآیند موجود، از ایجاد یک وظیفه جدید بسیار کمتر وقت می گیرد.
     پایان دادن به یک نخ سریعتر است.
     تعویض دو نخ در یک فرآیند کمتر وقت می گیرد.
بنابراین اگر کاربر یا عملی بتواند به صورت مجموعه ای از واحدهای اجرای مرتبط پیاده سازی شود در این صورت انجام آن توسط مجموعه ای از نخ ها بسیار کارامدتر از مجموعه ای از فرآیندهای جداگانه است.
در اکثر سیستم های عامل ارتباط بین فرآیندهای مختلف مستلزم دخالت هستند برای حفاظت و تهیه راهکارهای موردنیاز ارتباط است . ولی نظر به اینکه نخ های داخل یک فرآیند در حافظه و پرونده ها شریک هستند می توانند بدون دخالت هسته با یکدیگر ارتباط برقرارکنند.
استالینگ مشکینانی.
Cool
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> مفاهيم اوليه سيستم عامل / Linux All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum