everettm@merlin.think.com (Mark J. Everett) writes:If you look at top or ps for SVr4, you'll see that using /proc involves you in system-specific struct declarations, which are not even exactly the same for different versions of SVr4. Although Linux might be able to provide a compatibility-mode /proc of some sort for use with SVr4 emulation, it's unlikely that any real Linux ps or other program would really want to use the SVr4 struct declarations. So I don't think doing /proc the same way as SVr4 would buy you much. Note that SVr4's /proc is not part of the "mainstream Unix" that Linux normally tries to implement. Linux normally tries to implement POSIX, plus other features that are present in enough Unix implementations that portable code is likely to use them. /proc is a definite SVr4'ism. What Linus has done with /proc is in my opinion far more interesting than SVr4. He's using it as an general window into the kernel, so that software that needs kernel status doesn't have to real /dev/kmem, and doesn't have to be modified as new information is added. Thus it's used only only by ps and top, but by the network code and other software. Because the actual kernel structures are different than in BSD or System 5, the software that uses /proc would not be portable from other systems in any case. /proc just makes it easier to do Linux versions. Making information about a process a directory makes it easier to add information without causing problems to old software. Using text where possible allows human beings to look at the data, makes it possible to write status programs as small shell or perl scripts, and makes it easier to add new information without causing problems. In general, the Linux /proc implementation is very much in the spirit of the original Unix design, unlike many of the frobs that have been added to Unix in the last few years.
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Tony Lindgren | [PATCH 37/90] ARM: OMAP: MPUIO wake updates |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Miklos Szeredi | -rt doesn't compile for UML |
git: | |
| Florian Weimer | Re: Handling large files with GIT |
| Dana How | [PATCH] Prevent megablobs from gunking up git packs |
| Denis Bueno | Recovering from repository corruption |
| Peter Stahlir | Git as a filesystem |
| Richard Stallman | Real men don't attack straw men |
| Brian A. Seklecki | sshd_config(5) PermitRootLogin yes |
| Theo de Raadt | Re: dmesg IBM x3650 OpenBSD 4.3 |
| Stuart Henderson | Re: Actual BIND error - Patching OpenBSD 4.3 named ? |
| Auke Kok | [PATCH 5/6] e1000: Secondary unicast address support |
| Jon Nelson | tg3: strange errors and non-working-ness |
| Indan Zupancic | Re: Realtek 8111C transmit timed out |
| Brandeburg, Jesse | RE: 2.6.24 BUG: soft lockup - CPU#X |
| Shared swap partition | 7 minutes ago | Linux general |
| usb mic not detected | 4 hours ago | Applications and Utilities |
| Problem in Inserting a module | 5 hours ago | Linux kernel |
| Treason Uncloaked | 10 hours ago | Linux kernel |
| high memory | 2 days ago | Linux kernel |
| semaphore access speed | 2 days ago | Applications and Utilities |
| the kernel how to power off the machine | 2 days ago | Linux kernel |
| Easter Eggs in windows XP | 3 days ago | Windows |
| Root password | 3 days ago | Linux general |
| Where/when DNOTIFY is used? | 3 days ago | Linux kernel |
