From: utzoo!decvax!yale-com!leichter Newsgroups: net.unix-wizards,net.lang.c Title: Re: printf(3) as a system call - Uck! Article-I.D.: yale-com.1216 Posted: Thu Apr 7 16:20:58 1983 Received: Fri Apr 8 01:18:05 1983 References: linus.20111 Stephen Hemminger proposes to make library routines "available as common shareable text pages ... [not] inviting the do everything in the kernal [sic] method so popular with DEC operating systems." Hate to disabuse you of your prejudices, but most DEC operating systems do exactly this. In RSTS, the shared text goes under the names of RunTime System or Shared Library; on RSX it is one of several kinds of shared library; and in VMS, where this was built in from the start, essentially all the library routines get used this way through "global sections". In this area, at least, it's Unix that ought to get on the ball and catch up with what everyone else has known is "the right approach" for years... -- Jerry decvax!yale-comix!leichter leichter@yale PS If you are thinking about designing such a system, one nice thing to design in is the use of a transfer vector to get to the library routines. If you do this, you can actually run programs that were linked against an old library using a new library with no changes at all. VMS does this - they've actually gotten more sophisticated about it over the years; it used to be that you would have to re-link when the library grew enough to force some vectors to move. This is no longer a problem, because the program start- up code does some last-minute "relocation" of vector addresses. The older PDP-11 OS's didn't, in general, have this, requiring you to re-link with each new version of a library. P/OS, on the other hand, is going to such a scheme... -- J