dstewart@fas.ri.cmu.edu (David B Stewart) (03/01/90)
For all you real-time wizards, put on your thinking caps for this one: It is generally accepted by real-time experts that "Priority Inheritance Semaphores" are an acceptable solution for the priority inversion problem. After looking at these semaphores carefully (we have intentions on incorporating them into our Real-Time OS), we have one major problem to deal with: Our scheduler uses dynamic priorities (i.e. the priority of a task is a function of time, and can change at every time quantum) based on a task's deadline and laxity. My question is the following: Priority Inheritance Semaphore solutions currently proposed only work with static priorities. How can they be modified to work with dynamic priorities? For example, how are deadlines and laxities inherited? Add them? Subtract them? Take the shortest or longest? etc.? I honestly have no answers to the above questions yet. If you do, or know of any papers on that subject, I would like to know about them. If you are doing any kind of research related to real-time semaphores or resource allocation, then they are questions you should consider, in which case I would like to hear your thoughts, even if you don't have any solutions. Feel free to either send email or to post, which would enhance further discussion on the subject. ~dave -- David B. Stewart, Dept. of Elec. & Comp. Engr., and The Robotics Institute, Carnegie Mellon University, email: stewart@faraday.ece.cmu.edu The following software is now available; ask me for details CHIMERA II, A Real-time OS for Sensor-Based Control Applications