Newsgroups: comp.os.mach
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!caen!news.cs.indiana.edu!msi.umn.edu!cs.umn.edu!sctc.com!slone
From: slone@sctc.com (Brent Slone)
Subject: Mach Questions
Message-ID: <1991Apr1.223311.3607@sctc.com>
Organization: SCTC
Date: Mon, 1 Apr 1991 22:33:11 GMT
Lines: 38

I have a few basic Mach questions.  Some are quite simple so please
bear with me.


1. Please explain the nature of the use of VM_COPY, VM_READ, and
   VM_WRITE between tasks.  What exactly are they for and some examples of
   contexts where these services are perceived to be good solutions to
   a problem.

2. Exactly when does an external pager get into play in detemining
   access rights on an external object?  For example if Task A has a
   file, external object, mapped into its address space, and it wants
   to copy a page from that object to another tasks address space,
   will the external pager be asked to verify the read write privileges
   of the receiving task on that object?

   Similar but related question, if a Task A has an external object
   open and sets it's inheritance attributes to share, and then
   creates a new process is there any check to revalidate the access
   privileges to that object for the new task?

3. When a task maps an external object into its address space, when
   do the access privileges for that task to that object get set and
   by who?

4. From a Mach Unix process calling "creat" and later "write", could
   you trace the sequence of calls between the file system server, 
   mach kernel, pager, device driver, etc?

5. Is the default pager part of the kernel, ie. does it run with kernel
   view of resources and address map?  What about user-defined pagers?
   What about device drivers?

Thanks,
Brent Slone
slone@sctc.com


