Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!noose.ecn.purdue.edu!mentor.cc.purdue.edu!mace.cc.purdue.edu!abe From: abe@mace.cc.purdue.edu (Vic Abell) Newsgroups: comp.sys.next Subject: Re: NeXTStep 2.0 kernel questions Keywords: u area, VCHR vnode Message-ID: <7320@mace.cc.purdue.edu> Date: 24 Apr 91 22:35:29 GMT References: <7276@mace.cc.purdue.edu> <1500@toaster.SFSU.EDU> Organization: Purdue University Computing Center Lines: 22 In article <1500@toaster.SFSU.EDU> eps@cs.SFSU.EDU (Eric P. Scott) writes: >In article <7276@mace.cc.purdue.edu> abe@mace.cc.purdue.edu (Vic Abell) writes: >>Is there anyone on the net who could give me some clues about some >>structures in the NS 2.0 kernel? > >Warning: Mach is *not* UNIX inside! > >u areas? I'd say "none of the above"--the table() call performs >most of the kernel peeking one needs nlist() for on UNIX. The BSD that is layered on top of MACH does have traditional kernel structures, sometimes in slightly altered form. After much poking and head scratching I now know that _allproc is the head of a list of process structures. Each process structure has a task pointer. The task area to which it points has a pointer to a utask area that has many of the familiar user.h values, including the familiar u_ofile pointer set in a slightly different form. The u_ofile pointers address traditional file structures, which point in turn to rnodes, sockets and vnodes. Where is table() documented?