| sysfs(5) | File Formats Manual | sysfs(5) |
نام (NAME)
sysfs - یک سیستمفایل برای صادر کردن اشیاء هسته
توضیحات (DESCRIPTION)
سیستمفایل sysfs یک سیستمفایل کاذب (pseudo-filesystem) است که یک رابط برای ساختارهای داده هسته فراهم میکند. (بهطور دقیقتر، فایلها و دایرکتوریها در sysfs نمایی از ساختارهای kobject تعریفشده در درون هسته را ارائه میدهند.) فایلهای زیرمجموعه sysfs اطلاعاتی درباره دستگاهها، ماژولهای هسته، سیستمهای فایل و دیگر مؤلفههای هسته ارائه میدهند.
سیستمفایل sysfs معمولاً در مسیر /sys سوار (mount) میشود. بهطور معمول، سیستم آن را بهصورت خودکار سوار میکند، اما همچنین میتواند بهصورت دستی با استفاده از دستوری مانند زیر سوار شود:
mount -t sysfs sysfs /sys
بسیاری از فایلهای موجود در سیستمفایل sysfs فقطخواندنی هستند، اما برخی از فایلها قابل نوشتن میباشند و امکان تغییر متغیرهای هسته را فراهم میکنند. برای جلوگیری از افزونگی، پیوندهای نمادین بهطور گسترده برای پیوند دادن مدخلها در سراسر درخت سیستمفایل استفاده میشوند.
فایلها و دایرکتوریها (Files and directories)
فهرست زیر برخی از فایلها و دایرکتوریهای موجود در سلسلهمراتب /sys را شرح میدهد.
- /sys/block
- این زیردایرکتوری شامل یک پیوند نمادین به ازای هر دستگاه بلوکی است که روی سیستم شناسایی شده است. این پیوندهای نمادین به دایرکتوریهای متناظر در /sys/devices اشاره میکنند.
- /sys/bus
- این دایرکتوری شامل یک زیردایرکتوری برای هر یک از انواع گذرگاهها در هسته است. درون هر یک از این دایرکتوریها دو زیردایرکتوری وجود دارد:
- /sys/class
- این زیردایرکتوری شامل یک لایه از زیردایرکتوریهای بعدی برای هر یک از کلاسهای دستگاه ثبتشده در سیستم است (مانند پایانهها، دستگاههای شبکه، دستگاههای بلوکی، دستگاههای گرافیکی، دستگاههای صوتی و غیره). درون هر یک از این زیردایرکتوریها، پیوندهای نمادین برای هر یک از دستگاههای این کلاس قرار دارد. این پیوندهای نمادین به مدخلهایی در دایرکتوری /sys/devices اشاره دارند.
- /sys/class/net
- هر یک از مدخلهای این دایرکتوری یک پیوند نمادین است که نمایانگر یکی از دستگاههای شبکهای واقعی یا مجازی است که در فضاینام شبکه (network namespace) فرآیندی که به دایرکتوری دسترسی دارد، قابل مشاهده میباشد. هر یک از این پیوندهای نمادین به مدخلهایی در دایرکتوری /sys/devices اشاره میکند.
- /sys/dev
- این دایرکتوری شامل دو زیردایرکتوری block/ و char/ است که به ترتیب متناظر با دستگاههای بلوکی و نویسهای در سیستم هستند. درون هر یک از این زیردایرکتوریها، پیوندهای نمادینی با نامهایی به فرم major-ID:minor-ID وجود دارند که در آنها مقادیر شناسه متناظر با شناسه اصلی و فرعی یک دستگاه خاص است. هر پیوند نمادین به دایرکتوری sysfs مربوط به یک دستگاه اشاره میکند. بنابراین، پیوندهای نمادین درون /sys/dev راهکاری آسان برای جستجوی رابط sysfs با استفاده از شناسههای دستگاه بازگرداندهشده از فراخوانی stat(2) (یا مشابه آن) فراهم میکنند.
- نشست پوسته زیر یک نمونه از /sys/dev را نشان میدهد:
-
$ stat -c "%t %T" /dev/null; 1 3 $ readlink /sys/dev/char/1\:3; ../../devices/virtual/mem/null $ ls -Fd /sys/devices/virtual/mem/null; /sys/devices/virtual/mem/null/ $ ls -d1 /sys/devices/virtual/mem/null/*; /sys/devices/virtual/mem/null/dev /sys/devices/virtual/mem/null/power/ /sys/devices/virtual/mem/null/subsystem@ /sys/devices/virtual/mem/null/uevent
- /sys/devices
- این دایرکتوری شامل بازنمایی سیستمفایلی از درخت دستگاههای هسته است، که سلسلهمراتبی از ساختارهای device درون هسته میباشد.
- /sys/firmware
- این زیردایرکتوری شامل رابطهایی برای مشاهده و دستکاری اشیاء و ویژگیهای مخصوص سفتافزار است.
- /sys/fs
- این دایرکتوری شامل زیردایرکتوریهایی برای برخی از سیستمهای فایل است. یک سیستمفایل تنها در صورتی یک زیردایرکتوری در اینجا خواهد داشت که ایجاد صریح آن زیردایرکتوری را برگزیده باشد.
- /sys/fs/cgroup
- این دایرکتوری بهطور سنتی به عنوان نقطه سوار کردن برای یک سیستمفایل tmpfs(5) استفاده میشود که حاوی نقاط سوار کردن برای سیستمهای فایل cgroups(7) است.
- /sys/fs/smackfs
- این دایرکتوری شامل فایلهای پیکربندی برای LSM مربوط به SMACK است. پرونده منبع هسته Documentation/admin-guide/LSM/Smack.rst را ببینید.
- /sys/hypervisor
- [در آینده مستند خواهد شد]
- /sys/kernel
- این زیردایرکتوری شامل فایلها و زیردایرکتوریهای گوناگونی است که اطلاعاتی درباره هسته در حال اجرا ارائه میدهند.
- /sys/kernel/cgroup/
- برای کسب اطلاعات درباره فایلهای موجود در این دایرکتوری، cgroups(7) را ببینید.
- /sys/kernel/debug/tracing
- نقطه سوار کردن برای سیستمفایل tracefs که توسط سازوکار ftrace هسته استفاده میشود. (برای کسب اطلاعات درباره ftrace، پرونده منبع هسته Documentation/trace/ftrace.rst را ببینید.)
- /sys/kernel/mm
- این زیردایرکتوری شامل فایلها و زیردایرکتوریهای گوناگونی است که اطلاعاتی درباره زیرسیستم مدیریت حافظه هسته ارائه میدهند.
- /sys/kernel/mm/hugepages
- این زیردایرکتوری شامل یک زیردایرکتوری برای هر یک از اندازههای صفحات بزرگ (huge page) پشتیبانیشده توسط سیستم است. نام زیردایرکتوری نشاندهنده اندازه صفحه بزرگ است (مانند hugepages-2048kB). درون هر یک از این زیردایرکتوریها مجموعهای از فایلها وجود دارند که میتوان از آنها برای مشاهده و (در برخی موارد) تغییر تنظیمات مرتبط با آن اندازه صفحه بزرگ استفاده کرد. برای کسب اطلاعات بیشتر، پرونده منبع هسته Documentation/admin-guide/mm/hugetlbpage.rst را ببینید.
- /sys/module
- این زیردایرکتوری شامل یک زیردایرکتوری به ازای هر ماژول بارگذاریشده در هسته است. نام هر دایرکتوری، همان نام ماژول است. در هر یک از این زیردایرکتوریها، فایلهای زیر ممکن است وجود داشته باشند:
- در هر یک از این زیردایرکتوریها، زیردایرکتوریهای زیر ممکن است وجود داشته باشند:
- drivers
- [در آینده مستند خواهد شد]
- holders
- [در آینده مستند خواهد شد]
- notes
- [در آینده مستند خواهد شد]
- parameters
- این دایرکتوری شامل یک فایل برای هر پارامتر ماژول است، که هر فایل حاوی مقدار پارامتر متناظر میباشد. برخی از این فایلها قابل نوشتن هستند و امکان تغییر پارامترها را فراهم میکنند.
- sections
- این زیردایرکتوری شامل فایلهایی با اطلاعات مربوط به بخشهای (sections) ماژول است. این اطلاعات عمدتاً برای اشکالزدایی استفاده میشوند.
[در آینده مستند خواهد شد]
- /sys/power
- [در آینده مستند خواهد شد]
استانداردها (STANDARDS)
لینوکس.
تاریخچه (HISTORY)
لینوکس 2.6.0.
نکات (NOTES)
این صفحه راهنما ناقص و احتمالاً نادرست است، و از آن دسته مواردی است که باید مکرراً بهروزرسانی شود.
همچنین ببینید (SEE ALSO)
P. Mochel (2005). The sysfs filesystem. Proceedings of the 2005 Ottawa Linux Symposium.
پرونده منبع هسته Documentation/filesystems/sysfs.rst و پروندههای مختلف دیگر در Documentation/ABI و Documentation/*/sysfs.rst.
| 2026-02-08 | Linux man-pages 6.19 |