Sysctl: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۱۳:
در بیاسدی، همانطور که در [[صفحه راهنما|صفحه راهنمای]] sysctl(3){{چر}} تشریح شده، فراخوان سیستمی sysctl(){{چر}} مستقیما در [[هسته سیستمعامل]] پیادهسازی شده است. در لینوکس، فراخوان سیستمی sysctl(){{چر}}، به صورت یک پوشاننده برای رویههای سیستمفایل که برای دسترسی به محتویات دایرکتوری {{چر}}/proc استفاده میشوند، نوشته شده است. به عبارت دیگر، این فراخوان سیستمی در لینوکس، در حقیقت فایلهای موجود در شاخه {{چر}}/proc/sys را باز کرده، محتوای آنها را تغییر میدهد و سپس فایل را میبندد. تاثیر این کار را به راحتی میتوان در هنگام استفاده از ابزارهای نظارت بر سیستم مشاهده کرد. برای مثال، در لینوکس، اجرای برنامه [[top]] و سپس فشردن و نگهداشتن کلید space به منظور تازه کردن لحظه به لحظه اطلاعات، باعث میشود تا زمان زیادی از [[پردازنده]] استفاده شود. در سیستمهای بیاسدی اینگونه نیست. البته در لینوکس از فراخوان سیستمی sysctl(){{چر}} به ندرت به چنین شکلی استفاده میشود و این مسئله یک نگرانی مهم محسوب نمیشود.
== مثال ==
با فعال کردن IP forwarding، سیستم به صورت یک [[مسیریاب]] عمل میکند و [[بسته شبکه|بستههای شبکه]] میتوانند در بین کارتهای شبکه سیستم جابجا شوند و پیمایش کنند. در بیاسدی، این قابلیت با 1 کردن پارامتر net.inet.ip.forwarding فعال میشود. نام این پارامتر در لینوکس net.ipv4.ip_forward است. در بیشتر سیستمها، استفاده از دستور sysctl -w parameter=1 باعث میشود تا تنظیمات تا راهاندازی مجدد سیستم حفظ شوند. اگر بخواهیم این پارامتر همیشه در همگام [[بوت]] شدن سیستم فعال شود، باید چیزی مانند parameter=1 را به فایل {{چر}}/etc/sysctl.conf اضافه کنیم. به علاوه، برخی از پارامترها به صورت فقط-خواندنی هستند و نمیتوان آنها را تغییر داد. تنها را تغییر دادن اینگونه پارامترها این است که انها را به فایل {{چر}}/boot/loader.conf اضافه کنیم و یا انها را به شکل ثابت در هسته فعال کنیم (این کار با کامپایل مجدد هسته امکانپذیر است)
== منابع ==
|