One of the most challenging aspects of understanding Solaris hardware is the device names and references used by Solaris to manage devices. Solaris uses a very specific set of naming conventions to associate physical devices with instance names on the operating system. For administrators who are new to Solaris, this can be incredibly confusing. In addition, devices can also be referred to by their device name, which is associated with a device file created in the /dev directory after configuration. For example, a hard disk may have the physical device name /pci@1f,0/pci@1,1/ide@3/dad@0,0, which is associated with the device file /dev/dsk/c0t0d0. In Microsoft Windows, disks are simply labeled by their drive letter (C:, D:, E: and so forth), while in Linux, device files are much simplified (for example, /dev/hda for an IDE hard disk, or /dev/sda for a SCSI hard disk). The benefit of the more complex Solaris logical device names and physical device references is that it is easy to interpret the characteristics of each device by simply looking at its name. For the disk example given above, we can see that the IDE hard drive is located on a PCI bus at target 0. When we view the amount of free disk space on the system, for example, it is easy to identify slices on the same disk by looking at the device name:
# df -k Filesystem kbytes used avail capacity Mounted on /proc 0 0 0 0% /proc /dev/dsk/c0t0d0s0 1982988 615991 1307508 33% / fd 0 0 0 0% /dev/fd /dev/dsk/c0t0d0s3 1487119 357511 1070124 26% /usr swap 182040 416 181624 1% /tmp
Here, we can see that /dev/dsk/c0t0d0s0 and /dev/dsk/c0t0d0s3 are slice 0 and slice 3 of the disk /dev/dsk/c0t0d0.