Date: Sun, 19 Jan 2020 06:41:51 +0100 From: Polytropon <freebsd@edvax.de> To: Ihor Antonov <ihor@antonovs.family> Cc: freebsd-questions@freebsd.org Subject: Re: sysctl and /sysfs Message-ID: <20200119064151.7f781748.freebsd@edvax.de> In-Reply-To: <4538784.31r3eYUQgx@t800> References: <4538784.31r3eYUQgx@t800>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 18 Jan 2020 20:27:27 -0800, Ihor Antonov wrote: > Hi everyone, > > I am coming to FreeBSD from Linux and I have questions about > system structure. > > I noticed that FreeBSD makes heavy use of `sysctl` to read and > write kernel > parameters. Linux has /proc and /sys filesystems that represent > various kernel > data structures, some of which could be writable. > > In the spirit of Unix philosophy "everything is a file" [...] In context of Linux... https://www.youtube.com/watch?v=9-IWMbJXoLM#t=8m20s Sorry, couldn't resist. ;-) > [...] I was wondering if > FreeBSD provides a view into kernel's parameters similar to > sysfs on linux? I hope not. :-) > It feels a bit strange that instead of naturally exposing > hierarchical kernel > data structures in a form of filesystem one has to use sysctl > and text values > in a "parend.child.subchild" pattern. So the question is why? The primary reason is that this is historically grown, and brought forward through decades of kernel and system parts development. > It is possible that I am missing something or maybe FreeBSD has > a different > view on this problem - I would love to understand! The core "problem" (which actually isn't a problem at all) is that exposing _everything_ as a file or a hierarchical filesystem doesn't seem to work for each and every case. That's why different approaches have been taken that worked out in a better way. With sysctl, direct access to kernel system information has been unified. There is still some kind of hierarchy preserved. See "man 3 sysctl" and "man 1 sysctl" for details. Sidenote: Watching "What UNIX Cost Us" by Benno Rice at "linux.conf.au" (LCA) 2020 does actually help understanding _why_ the use of the "everything is a file" metaphor doesn't always work. -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200119064151.7f781748.freebsd>