Introduction to Operating System Design and Implementation: The OSP 2 Approach (Undergraduate Topics in Computer Science)

Introduction to Operating System Design and Implementation: The OSP 2 Approach (Undergraduate Topics in Computer Science)

Language: English

Pages: 172

ISBN: 1846288428

Format: PDF / Kindle (mobi) / ePub


This book is an introduction to the design and implementation of operating systems using OSP 2, the next generation of the highly popular OSP courseware for undergraduate operating system courses. Coverage details process and thread management; memory, resource and I/0 device management; and interprocess communication. The book allows students to practice these skills in a realistic operating systems programming environment. An Instructors Manual details how to use the OSP Project Generator and sample assignments. Even in one semester, students can learn a host of issues in operating system design.

Computer Science and Educational Software Design: A Resource for Multidisciplinary Work in Technology Enhanced Learning

Introduction to Data Compression (4th Edition) (The Morgan Kaufmann Series in Multimedia Information and Systems)

Fuzzy Knowledge Management for the Semantic Web (Studies in Fuzziness and Soft Computing)

Essentials of Error-Control Coding

Practical Analysis of Algorithms (Undergraduate Topics in Computer Science)

Practical Text Mining with Perl (Wiley Series on Methods and Applications in Data Mining)

 

 

 

 

 

 

 

 

 

 

create(), i.e. the corresponding method name in the student package is prepended with the prefix do_. In general, we have the following naming convention. Methods in the OSP 2 API that are to be implemented by the student have the naming schema do_name, where name is the name of the wrapper in the IFL. There is an exception to this rule, namely the methods atError() and atWarning(), which are introduced below. This convention has several ramifications that the student must be aware of when

a thread and involves a sequence of steps similar to the steps for preempting threads: 1. The status of t is changed from ThreadReady to ThreadRunning. 2. PTBR is set to point to the page table of the task that owns t. The page table of a task can be obtained via the method getPageTable(), and the PTBR is set using the method setPTBR() of class MMU. 66 4. Threads: Management and Scheduling of Threads 3. The current thread of the above task must be set to t using the method setCurrentThread().

question then is what should be the return code for do handlePageFault(): SUCCESS or FAILURE? OSP 2 expects FAILURE in this case. In particular, if the page that caused the pagefault became valid before the thread was killed, the page should be made invalid again prior to returning from the pagefault handler. However, you should realize that a more optimized operating system might make a different decision and keep such a page valid, because it might be used by other threads of the same task.

the thread that issued the request. ⋄ public ThreadCB getCurrentThread() Returns the running thread of the currently running task. TaskCB ⋄ public RRB(ThreadCB thread, ResourceCB resource, int quantity) RRB A constructor for creating resource request blocks with the given parameters. ⋄ public final void grant() RRB Grants the request represented by this RRB. ⋄ final public void setStatus(int value) Sets the status of the RRB to Denied, Suspended, or Granted. RRB 9.6 Class ResourceCB 165 ⋄

your algorithms. ⋄ public void notifyThreads() Event Resumes all threads that might be waiting on this event. In the case of package Resources, the event would be an RRB and the single resumed thread would be the thread that issued the corresponding request. Summary of Class ResourceCB Instances of this class are used to represent individual non-shareable resources in the system. An individual resource has the following attributes: ID: The identity of the resource. This parameter can be

Download sample

Download