scott@coyote.trw.com (Scott Simpson) (05/30/91)
Jeff Dalton writes: > in Lisp. Buf if, for example, I want to write a Unix command, > I shouldn't write it in Common Lisp, because the runtime overheads > are too great. This brings up an interesting issue. Suppose I wish to rewrite all the Unix commands in Lisp. Some have said that making each Unix Lisp process a heavyweight process would be too much of a burden on memory, the CPU, etc. I agree with them. There would be multiple versions of the garbage collector, CLOS, etc. Now suppose we take the opposite approach and make every process lightweight. Now we have one garbage collector and version of CLOS. This is the Symbolics approach. Unfortunately this gives up security. In a Symbolics workstation, you can break right into the operating system and modify it. Now let's try a different approach. Divide the processes into two heavyweight processes: one for user jobs and one for kernel jobs. No we have concurrency problems and difficult issues with user access. How do we differentiate between users in the user heavyweight process and how do we protect and control access to resources in this heavyweight process? -- Scott Simpson TRW scott@coyote.trw.com