(1) Is /proc always present on all linux systems or is it an option somewhere (e.g. kernel compile, boot, etc)?
(2) What determines what sub-directories are present in /proc? Are these always the same or are they configurable and/or creatable by user-space programs (presumably run as root)?
(3) I noticed that /dev/shm was present on my system without having to mount it nor is it present in /etc/fstab. Is this automatic or does something create it? Conversely, I have to mount /dev/mqueue. Shouldn't this be auto mounted as well?
(4) What is the normal/best way to determine programatically if a device or directory is mounted? Should one just look for open errors or is there an API call for this.
Thanks.