Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!haven!mimsy!chris From: chris@mimsy.UUCP (Chris Torek) Newsgroups: comp.unix.wizards Subject: Re: kernel questions Message-ID: <15948@mimsy.UUCP> Date: 14 Feb 89 23:53:28 GMT References: <885@ncr-sd.SanDiego.NCR.COM> Distribution: usa Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Lines: 21 In article <885@ncr-sd.SanDiego.NCR.COM> kit@falstaf.SanDiego.NCR.COM (Kit Chow) writes: >1) If a user process can be 'nailed' into memory, is there still a >need to copyin(k) data from user virtual address space into kernel >address space? If no, could the kernel then access the user data >in the user virtual address space with minimum overhead? A) no, and b) yes, and in fact this is what `raw I/O' does. The details are quite machine-dependent, however. For instance, some hardware requires that all I/O addresses be physically contiguous, which will probably be false in a demand-paging system. Other hardware can only talk to a specific (limited) address space. >2) What exactly does wakeup(k) do to move processes from the >SLEEP state to the READY state? Mark it runnable and put it into the run queue. This is another place that things are likely to vary between different kernels. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris