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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

هرگاه یک نرم‌افزار سطح کاربر نیاز به دسترسی به منابع سیستم و سخت افزار را داشته باشد، یکی از توابع درون سیستم عامل را فراخوانی می‌کند. که به این عمل فراخوان سیستمی (به انگلیسی: System Call یا Syscall) می‌گویند فراخوان سیستمی را گاه فراخوان هسته‌ای (kernel call) نیز مینامند چرا در اکثر پردازنده‌های مدرن (مثلا معماری x86), برای انجام فراخوان سیستمی پردازنده باید در حالت مد هسته (kernel mode) باشد. به زبانی دیگر هیچ برنامه‌ای حق دسترسی مستقیم به سخت‌افزار را ندارد و باید توسط واسطه‌ای که سیستم‌عامل در اختیارش قرار میدهد و نامش فراخوان سیستمی است به سخت‌افزار سیستم دسترسی پیدا نماید.

در حقیقت فراخوان سیستمی پس از مدیریت منابع (به انگلیسی:Resource Management)، دومین هدف اصلی یک سیستم عامل می‌باشد.

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

در صورت عدم وجود سیستم عامل، کاربر و یا برنامه نویس می‌بایست آشنایی کاملی با سخت افزارهای مختلف رایانه (مثل صفحه نمایش ،دیسکهای‌گردان، صفحه کلید و غیره) داشته باشد و روتین‌هایی برای خواندن و یا نوشتن آنها به زبانهای سطح-پائین بنویسد. از این جنبه گاه، به سیستم عامل با عنوان ماشین توسعه یافته (به انگلیسی: Extended machine) یا ماشین مجازی (به انگلیسی:Virtual machine) یاد می‌شود که واقعیت سخت افزار را از دید کاربران مخفی می‌سازد.[۱]

منابع[ویرایش]