هسته (سیستم‌عامل): تفاوت میان نسخه‌ها

از ویکی‌پدیا، دانشنامهٔ آزاد
محتوای حذف‌شده محتوای افزوده‌شده
FreshmanBot (بحث | مشارکت‌ها)
جز اصلاح فاصله مجازی + اصلاح نویسه با استفاده از AWB
خط ۲: خط ۲:
{{تغییرمسیر|کرنل}}
{{تغییرمسیر|کرنل}}
[[تصویر:Kernel Layout-fa.svg|انگشتی|چپ|نقش هسته در [[سیستم‌عامل]]. واسطه‌ای میان برنامه‌های کاربری و سخت‌افزار است.]]
[[تصویر:Kernel Layout-fa.svg|انگشتی|چپ|نقش هسته در [[سیستم‌عامل]]. واسطه‌ای میان برنامه‌های کاربری و سخت‌افزار است.]]
در [[علوم رایانه]]، '''هسته'''<ref>'''هسته''' برابرنهاد «واژه‌نامه مرجع برای ترجمه محیط لینوکس» برای واژهٔ کرنل {{انگلیسی|Kernel}} است.</ref> (که کرنل نیز خوانده می‌شود) یک برنامه رایانه است که هسته مرکزی یک [[سیستم‌عامل|سیستم عامل]] رایانه را تشکیل می‌دهد و کنترل تمام چیزهایی را که در سیستم اتفاق می‌افتد را در دست دارد؛<ref name="Linfo">{{cite web | url=http://www.linfo.org/kernel.html | title=Kernel | website=Linfo | publisher=Bellevue Linux Users Group | accessdate=15 September 2016}}</ref> به همین علت اولین برنامه‌ای است که در آغاز به کار سیستم، در حافظه بار می‌شود و بعد از آن بقیه شروع به کار سیستم را مدیریت می‌کند، همچنین کنترل درخواستهای ورودی و خروجی توسط [[نرم‌افزار|نرم افزارها]] و ترجمه آنها به ساختارهای قابل [[پردازش رایانه‌ای داده‌ها|پردازش]] برای [[واحد پردازش مرکزی]] را به عهده دارد. علاوه بر آن مدیریت حافظه و ارتباط با [[دستگاه جانبی|دستگاه‌های جانبی]] (مثل چاپگرها) هم بر عهده این برنامه است. هسته قسمت اساسی سیستم عاملهای مدرن امروزی است.<ref name="Wulf74">Wulf 1974 pp.337–345</ref>
در [[علوم رایانه]]، '''هسته'''<ref>'''هسته''' برابرنهاد «واژه‌نامه مرجع برای ترجمه محیط لینوکس» برای واژهٔ کرنل {{انگلیسی|Kernel}} است.</ref> (که کرنل نیز خوانده می‌شود) یک برنامه رایانه است که هسته مرکزی یک [[سیستم‌عامل|سیستم عامل]] رایانه را تشکیل می‌دهد و کنترل تمام چیزهایی را که در سیستم اتفاق می‌افتد را در دست دارد؛<ref name="Linfo">{{cite web | url=http://www.linfo.org/kernel.html | title=Kernel | website=Linfo | publisher=Bellevue Linux Users Group | accessdate=15 September 2016}}</ref> به همین علت اولین برنامه‌ای است که در آغاز به کار سیستم، در حافظه بار می‌شود و بعد از آن بقیه شروع به کار سیستم را مدیریت می‌کند، همچنین کنترل درخواستهای ورودی و خروجی توسط [[نرم‌افزار|نرم افزارها]] و ترجمه آن‌ها به ساختارهای قابل [[پردازش رایانه‌ای داده‌ها|پردازش]] برای [[واحد پردازش مرکزی]] را به عهده دارد. علاوه بر آن مدیریت حافظه و ارتباط با [[دستگاه جانبی|دستگاه‌های جانبی]] (مثل چاپگرها) هم بر عهده این برنامه است. هسته قسمت اساسی سیستم عاملهای مدرن امروزی است.<ref name="Wulf74">Wulf 1974 pp.337–345</ref>


هسته به مولفه‌هایی تقسیم شده‌است که هر کدام، وظیفه خاصی بر عهده دارد.
هسته به مولفه‌هایی تقسیم شده‌است که هر کدام، وظیفه خاصی بر عهده دارد.
خط ۲۰: خط ۲۰:


جنبه‌های کلیدی لازم در مدیریت منابع، تعریف دامنه (فضای آدرس) و مکانیسم‌های حفاظت به واسطهٔ دسترسی به منابع در یک دامنه استفاده می‌شود.
جنبه‌های کلیدی لازم در مدیریت منابع، تعریف دامنه (فضای آدرس) و مکانیسم‌های حفاظت به واسطهٔ دسترسی به منابع در یک دامنه استفاده می‌شود.
هسته نیز معمولاً روش‌هایی برای هماهنگ سازی و ارتباط بین فرایندها به نام (IPC) را فراهم می‌کند.
هسته نیز معمولاً روش‌هایی برای هماهنگ‌سازی و ارتباط بین فرایندها به نام (IPC) را فراهم می‌کند.


=== مدیریت حافظه ===
=== مدیریت حافظه ===
خط ۳۷: خط ۳۷:
یک فراخوان سیستمی رابط بین فرایند و سیستم عامل است.
یک فراخوان سیستمی رابط بین فرایند و سیستم عامل است.
فراخوان سیستمی یک مکانیسم است که توسط برنامه نرم‌افزار به درخواست یک سرویس از سیستم عامل استفاده می‌شود.
فراخوان سیستمی یک مکانیسم است که توسط برنامه نرم‌افزار به درخواست یک سرویس از سیستم عامل استفاده می‌شود.
به طور کلی سیستم عامل یک کتابخانه است که بین سیستم عامل و برنامه‌های عادی می‌باشد.
به‌طور کلی سیستم عامل یک کتابخانه است که بین سیستم عامل و برنامه‌های عادی می‌باشد.
برای فراخوانی‌های سیستمی چند راه وجود دارد:
برای فراخوانی‌های سیستمی چند راه وجود دارد:
# با استفاده از یک وقفهٔ نرم‌افزاری
# با استفاده از یک وقفهٔ نرم‌افزاری

نسخهٔ ‏۵ آوریل ۲۰۱۸، ساعت ۰۴:۱۲

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

در علوم رایانه، هسته[۱] (که کرنل نیز خوانده می‌شود) یک برنامه رایانه است که هسته مرکزی یک سیستم عامل رایانه را تشکیل می‌دهد و کنترل تمام چیزهایی را که در سیستم اتفاق می‌افتد را در دست دارد؛[۲] به همین علت اولین برنامه‌ای است که در آغاز به کار سیستم، در حافظه بار می‌شود و بعد از آن بقیه شروع به کار سیستم را مدیریت می‌کند، همچنین کنترل درخواستهای ورودی و خروجی توسط نرم افزارها و ترجمه آن‌ها به ساختارهای قابل پردازش برای واحد پردازش مرکزی را به عهده دارد. علاوه بر آن مدیریت حافظه و ارتباط با دستگاه‌های جانبی (مثل چاپگرها) هم بر عهده این برنامه است. هسته قسمت اساسی سیستم عاملهای مدرن امروزی است.[۳]

هسته به مولفه‌هایی تقسیم شده‌است که هر کدام، وظیفه خاصی بر عهده دارد.

کارکردهای هسته

کارکردهای اصلی هسته را می‌توان به قسمت‌هایی برای مدیریت منابع سیستم تقسیم کرد، از جمله:

کنترل واحد پردازشگر مرکزی

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

مدیریت حافظه تصادفی

حافظه تصادفی برای ذخیره موقت ساختارهای برنامه و همچنین اطلاعات به کار می‌رود.

مدیریت ورودی و خروجی

دستگاه‌های ورودی/خروجی شامل لوازم جانبی به عنوان موس، صفحه کلید، دیسک سخت، چاپگر، اداپتورهای شبکه و دستگاه‌های صفحه نمایش می‌باشد. هسته درخواست برنامه‌های کاربردی به یک دستگاه مناسب و اختصاص یک I/O مناسب را می‌کند.

جنبه‌های کلیدی لازم در مدیریت منابع، تعریف دامنه (فضای آدرس) و مکانیسم‌های حفاظت به واسطهٔ دسترسی به منابع در یک دامنه استفاده می‌شود. هسته نیز معمولاً روش‌هایی برای هماهنگ‌سازی و ارتباط بین فرایندها به نام (IPC) را فراهم می‌کند.

مدیریت حافظه

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

مدیریت دستگاه‌ها

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

فراخوان سیستمی

مقاله اصلی: فراخوان سیستمی

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

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

  1. با استفاده از یک وقفهٔ نرم‌افزاری
  2. با استفاده از یک دروازهٔ پاسخ
  3. با استفاده از یک دستتورالعمل سیستم پاسخ خاص
  4. با استفاده از یک صف مبتنی بر حافظه

جستارهای وابسته

منابع

  1. هسته برابرنهاد «واژه‌نامه مرجع برای ترجمه محیط لینوکس» برای واژهٔ کرنل (به انگلیسی: Kernel) است.
  2. "Kernel". Linfo. Bellevue Linux Users Group. Retrieved 15 September 2016.
  3. Wulf 1974 pp.337–345