دایره امن ترجنس

۲ مطلب با کلمه‌ی کلیدی «پروسس» ثبت شده است

  • ۰
  • ۰

pcb

 

سیستم‌‎های امروزی عموما مالتی پراسس هستند. یعنی در هر لحظه پراسس‌های زیادی در حال اجرا می‌باشند. یکی از وظایف سیستم‌عامل این است که پراسس‌های موجود برروی سیستم را مدیریت کند. برای مدیریت پراسس‌ها نیاز است اطلاعاتی درمورد آن‌ها داشته باشیم (جلوتر توضیح میدیم که چرا نیاز هست). این اطلاعات در جایی به نام PCB ذخیره می‌شود.

 

PCB به زبان ساده

 

یک شرکت بزرگ را در نظر بگیرید. این شرکت از بخش‌های زیادی تشکیل شده است که همگی این بخش‌ها زیر نظر مدیریت، فعالیت می‌کنند. مدیریت این شرکت برای اینکه بتواند شرکت را کنترل کند، نیاز به اطلاعاتی جامع درمورد هر یک از بخش‌های شرکت دارد. باید شماره هر بخش را داشته باشد، اسم آن را بداند، زیرمجموعه‌های هر بخش را بشناسد و... . درغیر این صورت مدیریت این شرکت ممکن نخواهد بود.

 

یک کامپیوتر نیز همانند یک شرکت بزرگ است که مدیریت آن به عهده سیستم‌عامل می‌باشد. درون این شرکت پراسس‌های زیادی هستند که تحت نظارت سیستم‌عامل، فعالیت می‌کنند. سیستم‌عامل نیز برای مدیریت این پراسس‌ها نیاز به اطلاعاتی جامع درمورد آن‌ها دارد. مثلا اینکه در هر لحظه چه پراسس‌هایی با چه PID فعال هستند، والد (پدر) هر پراسس کیست، State هر پراسس به چه صورت است و اطلاعات مشابه دیگر.

 

همگی این اطلاعات در PCB ذخیره می‌شوند. بنابراین هر موقع سیستم‌عامل بخواهد درمورد یکی از پراسس‌ها اطلاعاتی را به‌دست‌آورد، به سراغ PCB مربوط به آن پراسس می‌رود و اطلاعات را می‌خواند.

 

PCB به زبان فنی‌تر

 

در هر لحظه، درون کرنل سیستم‌عامل لیستی از پراسس‌های زنده وجود دارد. لیستی که نشان می‌دهد چه پراسس‌هایی در هر لحظه موجود هستند. این لیست با نام Process List شناخته می‌شود. درون این لیست به ازای هر پراسس، یک اشاره‌گر وجود دارد. این اشاره‌گرد به PCB هر پراسس اشاره می‌کند:

 

pcb

 

 

برای مثال، در شکل بالا 100 پراسس درون سیستم وجود دارد.

 

به ازای هر کدام از این پراسس‌ها درون Process List، یک رکورد وجود دارد.

 

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

 

پس متوجه ساختار کلی Process List و PCB شدیم. توجه کنید که تمام موارد ذکر شده، یعنی هم Process List و هم PCB درون کرنل (Kernel Space) قرار دارند.

 

 

درون PCB چه چیزهایی قرار دارد؟

 

می‌توان گفت تمامی اطلاعات مربوط به یک پراسس درون PCB قرار دارد. یکی از این موارد PID مربوط به هر پراسس می‌باشد. ID منحصر به فردی که به هر پراسسی که درون سیستم وجود دارد، داده می‌شود تا دسترسی به آن راحت‌تر باشد (به‌جای کار کردن با اسامی پراسس‌ها، با ID آن‌ها کار می‌کنیم).

 

باید توجه داشته باشیم که برخی از مقادیر ذخیره شده درون PCB، از جنس اشاره‌گر هستند. برای مثال یک اشاره‌گر درون PCB وجود دارد با نام kstack. وظیفه آن این است که به Kernel Stack پراسس اشاره کند.

 

یا برای مثال، یک اشاره‌گر درون PCB با نام context وجود دارد. این اشاره‌گر به یک قسمتی از همان Kernel Stack اشاره می‌کند که درون آن اطلاعاتی در رابطه با رجیسترهای پردازنده ذخیره شده است.

 

یا مثلا اشاره‌گری با نام ofile، به لیستی از فایل‌های باز شده توسط پراسس اشاره می‌کند.

 

pcb state

 

 

در تصویر بالا، مختصر وضعیتی از PCB و اشاره‌گرهای درون آن را مشاهده می‌کنید. البته این شکل برای بهتر نمایش دادن ساختار مورد بحث کشیده شده است. در سیستم‌های امروزی، PCB فیلدهای بیشتری دارد ولی ساختار کلی آن همانند شکل بالا می‌باشد.

 

 

 

 

آکادمی ترجنس

دایره امن ترجنس

ویدئوهای رایگان امنیت و هک

ویدئوها در آپارات

 

  • thregence security
  • ۰
  • ۰

process

 

پراسس را می‌توان یکی از مهم‌ترین مفاهیم در یک سیستم‌عامل در نظر گرفت که نتیجه استفاده از مفهوم انتزاع یا Abstraction می‌باشد. در نوشته قبلی با عنوان "مجازی سازی یا Virtualization چیست؟ | مقدمات مجازی‌سازی در سیستم‌عامل" به مفاهیم پایه‌ای درمورد سیستم‌عامل پرداختیم. همچنین مفهوم انتزاع یا Abstraction را به زبان بسیار ساده توضیح دادیم.

حالا که با مقدمات سیستم‌عامل و همچنین مفهوم انتزاع (Abstraction) آشنا شدیم، می‌توانیم به راحتی معنی و مفهوم پراسس را نیز درک کنیم.

پراسس یا Process به زبان ساده

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

پس به زبان ساده، پراسس یک برنامه در حال اجرا است.

اما جلوتر خواهیم گفت که درون مفهوم پراسس، از مفهوم انتزاع یا Abstraction استفاده شده است. در حالیکه در تعریف ساده‌ای که الان ارائه دادیم، نشانی از انتزاع وجود نداشت.

پس به‌نظر می‌رسد باید تعریف خود را دقیق‌تر کنیم.

پراسس یا Process به زبان فنی‌تر

وقتی شما می‌خواهید از اتومبیل استفاده کنید تا شما را به حرکت در آورد، لزومی ندارد که از ساختار موتور، پیستون‌ها، سیستم برق‌رسانی و... اتومبیل خبر داشته باشید. به همین دلیل یک لایه انتزاعی مثل فرمان، دنده، پدال‌گاز و... در اختیار شما قرار می‌گیرد، تا بتوانید با استفاده از آن‌ها به ماشین فرمان بدهید.

در اینجا هم یک برنامه (Program) از پیچیدگی‌های CPU و Memory خبر ندارد ولی می‌تواند به واسطه مفهومی به نام پراسس (Process) با آن‌ها کار کند.

پس پراسس یک لایه انتزاعی برای یک برنامه (Program) به حساب می‌آید. لایه‌ای که بین برنامه‌ها و سخت‌افزارِ موجود قرار می‌گیرد. این لایه انتزاعی به برنامه در 2 زمینه اصلی توهم (Illusion) می‌دهد! یکی استفاده از CPU یکی هم استفاده از RAM.

این توهم چیست و چه کاربردی برای یک برنامه دارد؟

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

به بیان دیگر، برنامه فکر می‌کند به‌صورت کاملا جداگانه برای او یک CPU و Memory خریده‌ایم و به آن گفته‌ایم که این CPU و Memory مخصوص تو است و برنامه دیگری از آن استفاده نخواهد کرد!

بنابراین، پراسس خود یک Abstraction می‌باشد که بین برنامه (Program) و سخت‌افزار قرار می‌گیرد. وظیفه آن این است که به برنامه کمک کند تا راحت‌تر بتواند از CPU و Memory استفاده کند.

 

آکادمی ترجنس

دایره امن ترجنس

ویدئوهای رایگان امنیت و هک

ویدئوها در آپارات

 

 

  • thregence security