The directory that Linux installations use that contains a lot of information is /proc [as in the process filesystem] -- it contains info on bus devices, memory, cpu, etc., as well as providing a means for accessing the open files of a running process by ID. On May 09, 2005, at 02:45, Kuestner, Bjoern wrote: > Different devices: > > - No hd*, disk0s[1-9] instead, disk0 exists > - tty[p-w]* instead of tty[C,D,X,S,R]* > - bpf, console, cu.modem, fd, fsevents, klog, kmem, mem, vn* exist The names of devices in /dev typically give you some clue as to how the system views the devices themselves. For example, Linux uses /dev/hd* for IDE disk drives, but used / dev/sd* for both SCSI disks and for accessing IDE drives in SCSI emulation mode. The first IDE disk is a, the next is b, and so on. But, since IDE buses are limited to 2 drives per bus, the first bus has a/b [if either exists], while the second bus has c/d [if either exists], the 3rd bus has e/f, etc. So, with /dev/hd?, you know that you are accessing a particular drive on a particular bus. Finally, partitions are numeric in nature, with 1-4 being primary partitions and 5-??? being "logical" partitions. All of this is due to the origins of Linux as an x86-based OS. Under OS X, the presentation of volumes is more elegant. All media, regardless of type, appears as a /dev/disk* The number of the disk is dependent on the order in which the device was "discovered" by the kernel. So, in a single hard-drive installation [which is typical of consumer machines and laptops], you have a disk0 only [until you insert a CD-ROM, or plug in a FW/USB drive]. For example, here's my 17" PB with 3 drives attached: -ipmonger at amicus.delamancha.org:~ 21% df /dev/disk0s3 / /dev/disk1s1s2 /Volumes/hp aio installer /dev/disk2s3 /Volumes/Panther Boot /dev/disk2s5 /Volumes/FW Data Drive 1 There's no need for the application to care about the fact that disk0 is an IDE drive, while disk1 is a CD-ROm and disk2 is a FW HD. These are fundamental differences in system design, which is not atypical for unices. Each vendor decides what they think is the "best" way to handle these issues and makes the appropriate modifications to their system. > But more generally I considered the /dev directory something that's > very > close to the kernel. And isn't that where OS X differs a good bit > from the > rest? /dev is a "unix thing". Anyone who's presenting a Unix interface would implement /dev, albeit with some differences between implementations. For a truly radical understanding of what Mach allows, you should consider that it's possible to present an *alternate* view of the devices via a different interface. When DEC was all gung ho about working with Microsoft back in 1992, there was talk of using Mach as the kernel, with a Unix-style, a VMS-style and Windows-style interface to the system. Of course, for an actual extant system, you should google on "Perq" --- a workstation produced by Three Rivers Systems in the late 1980s/early 1990s. It used Mach as the core of it's kernel and presented multiple interface views to the user, one of which was a Lisp-workstation. > I just find it awkward to rely on information which might look > similar but > actually isn't. You should learn the system you're using. That's the key to doing system administration effectively. >> Would somebody please give an intro to what what can be learnt >> about the >> system by looking at the /dev directory? >> > > What are the tools for instance to read information from /dev > beyond "ls"? > "cat disk0" for instance has some output but not very valuable it > seems. > What tools are fit to explore and learn about /dev entries? You should not be accessing /dev entries directly using cli tools [except possibly dd/diskutil for copying]. The Unix API gives you the proper interfaces for dealing with devices in a consistent fashion. > I simply could not find any info page about /dev in OS X. I tried > Google. > But something like "os x cu.modem fsevents klog kmem" or "os x '/dev' > -developer" is about as explicit as my Google-skills go, and it still > doesn't turn out with anything useful. That's because the relevant information is more likely to be found on the Apple developer site: http://developer.apple.com --jon