Weblog

All | General | Java | Music
« Booting Solaris x86... | Main | Solaris on EFI (iMac... »
20050614 Tuesday June 14, 2005

Solaris Devfs Solaris originated from BSD and SVR4 UNIX. Over the years, many enhancements have been made to address business needs. One area of big change is the I/O framework and device name management.
Traditional UNIX kernel configures all devices at boot time. Device access is supported via two indexed arrays, bdevsw[] and cdevsw[], for block and character devices, respectively. The array elements contain references to driver entry points compiled into the kernel. Applications access device by opening device special files, created via the mknod(2) syscall. A device special file has a type (block or char) and a device number (dev_t). The type informs the kernel whether to use bdevsw[] or cdevsw[]. The device number contains two parts, major and minor. The major number is used to index into the arrays, and minor number is used by driver only, typically to determine which device instance to access.
Solaris modified and extended the model in many ways.

The current Solaris I/O framework is flexible and scales well from a single CPU system to high-end servers with 100+ CPUs and 1000+ devices. In addition, I/O devices can be reconfigured dynamically without rebooting the system. This functionality is also referred to as Dynamic Reconfiguration or hotplugging. In a future blog entry, I hope to explain in more detail the inner workings of devfs and the kernel device tree. ( Jun 14 2005, 08:38:19 AM PDT ) Permalink Comments [2]

Trackback URL: http://blogs.sun.com/szhou/entry/solaris_devfs
Comments:

Sorry to post a "support" like question here but what is the best way to troubleshoot a Solaris 10 SPARC hard lockup during a "devfsadm" operation? I'm not too familiar with dtrace. Feel free to e-mail me directly. I'd summarize back with a comment here for everyone else.

Posted by Lyle on June 27, 2005 at 06:58 AM PDT #

Question: I am new to devfs and I am wondering if I could mount devfs in Solaris 10. I need to mount it from a chroot environment. Do you have any suggestions? Ivar

Posted by I. Janmaat on October 17, 2005 at 03:24 PM PDT #

Post a Comment:

Name:
E-Mail:
URL:

Your Comment:

HTML Syntax: NOT allowed

Calendar

RSS Feeds

Search

Links

Navigation

Referers