۲
subtitle
ارسال: #۱
  
مفهوم نخ
با سلام ، خواستم راجع به مفهوم نخ در سیستم عامل سوال کنم ، راستش کار نخ رو تو سیستم عامل می دونم اینکه هیچ وقت بیکار نیست و خود سیستم عامل اگه ببینه حجم برنامه بالاست با الگوریتم های خاصی نخ تولید میکنه واسه سرعت بیشتر برای استفاده از پردازنده .
نخ، دنبالهای از دستورات است که اجرا میشود. برنامهای که بیشتر از یک دنباله از دستورات را برای اجرا دنبال میکند، چندنخی۲ است. بهعنوان مثال، اگر یک فایل بزرگ را بخواهیم بخوانیم و همزمان، کاربر قادر باشد که با کلیک بر روی گزینه کنسل در هر زمانی عملیات را متوقف کند، توسعهدهنده کد با افزودن یک نخ جدید، عملیات ورود داده را بهطور جداگانه انجام میدهد و با پیادهسازی چند نخ بهجای یک نخ، برنامه هنگام خواندن فایل، قفل نمیکند
ولی در واقعیت زیاد نخ یا چند نخی رو نمی فهمم ، ممنون میشم اگه یه منبع یا توضیحی در این باره بدین.
یه جوری که ملموس باشه (ممنون و سپاس فراوان )
نخ، دنبالهای از دستورات است که اجرا میشود. برنامهای که بیشتر از یک دنباله از دستورات را برای اجرا دنبال میکند، چندنخی۲ است. بهعنوان مثال، اگر یک فایل بزرگ را بخواهیم بخوانیم و همزمان، کاربر قادر باشد که با کلیک بر روی گزینه کنسل در هر زمانی عملیات را متوقف کند، توسعهدهنده کد با افزودن یک نخ جدید، عملیات ورود داده را بهطور جداگانه انجام میدهد و با پیادهسازی چند نخ بهجای یک نخ، برنامه هنگام خواندن فایل، قفل نمیکند
ولی در واقعیت زیاد نخ یا چند نخی رو نمی فهمم ، ممنون میشم اگه یه منبع یا توضیحی در این باره بدین.
یه جوری که ملموس باشه (ممنون و سپاس فراوان )
۴
ارسال: #۲
  
مفهوم نخ
کتاب استالینگز بحث رو خیلی جالب توصیف کرده.
نخ واحد اجرایی یک فرآیند هستش، در ابتدا فقط مفهوم فرآیند(Process) یا همان وظیفه task یا همان job (بیشتر در سیتم های دسته ای مطرح بود) وجود داشت، در حقیقت قسمت تملک منابع و واحد اجرایی در قالب یک واحد به نام فرآیند قرار داشت یعنی یک فرآیند تک نخی داشتیم، اما به تدریج که مفهوم همزمانی و پردازش موازی مطرح شد و برای افزایش سرعت سعی در اجرای فرآیند ها مفهوم نخ یا همان واحد اجرایی یک فرآیند مطرح شد، نخ های یک فرآیند واحد رویه یک سیستم چند پردازنده ای می تونن کاملا موازی اجرا شوند در نتیجه سرعت اجرا فرآیندها افزایش پیدا می کنه.
یک برنامه به واحد اجرایی به نام نخ تقسیم میشن تا بتونند از قابیلت اجرای موازی استفاده کنند، این نخ ها به دو طریق می تونند وجود داشته باشن که نخ های سطح کاربر و نخ های سطح هسته می باشند که در کتاب استالینگز دقیق توضیح داده شده و مزایا و معایب هر کدوم گفته شده.
در کل مفهوم نخ باعث ایجاد استقلال و تمایز بین واحد اجرایی و تملک منابع میشه، یعنی مسدود شدن و بلوکه شدن برای فرآیند معنا پیدا می کنه و پایان کوانتوم زمانی و ... برای نخ ، در نتیجه سیستم عامل رو میشه مولفه ای تر تعریف کرد و واحد های کنترل اجرا و کنترل منابع رو در مولفه های جداگانه قرار داد ---> یعنی نزدیک شدن به مفهوم ریز هسته یا همان Micro kernel .
در کل از دید مطالب درسی ما مفهوم نخ بیشتر از جهت ایجاد همزمانی و مولفه ای سازی هم برنامه و هم سیستم عامل مطرحه.
نخ واحد اجرایی یک فرآیند هستش، در ابتدا فقط مفهوم فرآیند(Process) یا همان وظیفه task یا همان job (بیشتر در سیتم های دسته ای مطرح بود) وجود داشت، در حقیقت قسمت تملک منابع و واحد اجرایی در قالب یک واحد به نام فرآیند قرار داشت یعنی یک فرآیند تک نخی داشتیم، اما به تدریج که مفهوم همزمانی و پردازش موازی مطرح شد و برای افزایش سرعت سعی در اجرای فرآیند ها مفهوم نخ یا همان واحد اجرایی یک فرآیند مطرح شد، نخ های یک فرآیند واحد رویه یک سیستم چند پردازنده ای می تونن کاملا موازی اجرا شوند در نتیجه سرعت اجرا فرآیندها افزایش پیدا می کنه.
یک برنامه به واحد اجرایی به نام نخ تقسیم میشن تا بتونند از قابیلت اجرای موازی استفاده کنند، این نخ ها به دو طریق می تونند وجود داشته باشن که نخ های سطح کاربر و نخ های سطح هسته می باشند که در کتاب استالینگز دقیق توضیح داده شده و مزایا و معایب هر کدوم گفته شده.
در کل مفهوم نخ باعث ایجاد استقلال و تمایز بین واحد اجرایی و تملک منابع میشه، یعنی مسدود شدن و بلوکه شدن برای فرآیند معنا پیدا می کنه و پایان کوانتوم زمانی و ... برای نخ ، در نتیجه سیستم عامل رو میشه مولفه ای تر تعریف کرد و واحد های کنترل اجرا و کنترل منابع رو در مولفه های جداگانه قرار داد ---> یعنی نزدیک شدن به مفهوم ریز هسته یا همان Micro kernel .
در کل از دید مطالب درسی ما مفهوم نخ بیشتر از جهت ایجاد همزمانی و مولفه ای سازی هم برنامه و هم سیستم عامل مطرحه.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close