Newsgroups: comp.os.minix
Path: utzoo!utgpu!watserv1!watmath!watmsg!sccowan
From: sccowan@watmsg.uwaterloo.ca (S. Crispin Cowan)
Subject: Re: An FS idea - good or bad?
Message-ID: <sccowan.648978120@watmsg>
Sender: daemon@watmath.waterloo.edu (Owner of Many System Processes)
Organization: University of Waterloo
References: <1766@ccadfa.adfa.oz.au>
Date: 26 Jul 90 07:42:00 GMT
Lines: 44

wkt@rodos2.cs.adfa.oz.au (Warren Toomey) writes:
[describes an administator FS task]
>Eventually, the FS will receive a reply from a device task, and then it
>can reply to the requesting process that has been blocked all the time.
>At this point, it can note that the device task is now `waiting for a
>request'.

>The problem is of course, what should the FS do if it needs to send a request
>to a device task that _isn't_ `waiting for a request'? If it does so, it will
>block.
What you're looking for here is the concept of a 'courier' task.  A
courier is just a small task that you hand an asynchronous request to,
and let the courier block, instead of blocking the file system.  Courier
tasks can be thought of as user-managed buffers:  a task becomes a
thread of execution wrapped around a data structure.

>Can anybody suggest ways around this problem? Or is it just a bad idea?!

Check out the following paper, where Gentleman describes this kind of
administrator task.  This is a really good paper, and should be
considered essential reading for anyone seriously interested in using
tasks in this way.

@article
  (
    gen81,
    title = "{Message Passing Between Sequential Processes:
	the Reply Primitive and the Administrator Concept}",
    author = "W. Morven Gentleman",
    journal = "Software --- Practice and Experience",
    year = 1981,
    volume = 11,
    pages = "435-466",
  )

Crispin
-----
(S.) Crispin Cowan, CS grad student, University of Waterloo
Work:  DC3548, x3934, watmath!watmsg!sccowan, sccowan@watmsg.waterloo.edu
Home:  60 Overlea Drive, Kitchener, N2M 1T1,  570-2517
Quote:  "You can have peace.  Or you can have freedom.  Don't ever count
on having both at once."	--Lazarus Long
"You can't separate peace from freedom because no one can be at peace
unless he has his freedom."	--Malcolm X
