Formal Models of Operating System Kernels

Front Cover
Springer Science & Business Media, Mar 6, 2007 - Computers - 333 pages
The work that this book represents is something I have wanted to do since 1979. While in Ireland, probably in 2001, I sketched some parts of a small operating system speci?cation in Z but left it because of other duties. In 2002, I worked on the sketches again but was interrupted. Finally, in April, 2005, I decided to devote some time to it and produced what amounted to a ?rst version of the kernel to be found in Chapter 3 of this book. I even produced a few proofs, just to show that I was not on a completely insane tack. I decided to suggest the material as the subject of a book to Beverley Ford. The material was sent on a Thursday (I think). The following Monday, I received an email from her saying that it had gone out for review. The review process took less than 2 weeks; the response was as surprising as it was encouraging: a de?nite acceptance. So I got on with it. This book is intended as a new way to approach operating systems - sign in general, and kernel design in particular. It was partly driven by the old ambition mentioned above, by the need for greater clarity where it comes to kernels and by the need, as I see it, for a better foundation for operating systemsdesign.Securityaspects,too,playedapart—asnotedintheintrod- tory chapter, if a system’s kernel is insecure or unreliable, it will undermine attemptstoconstructsecuresoftwareontopofit.Securitydoesnototherwise play a part in this book.
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

Introduction 11 Introduction
1
12 Feasibility
2
13 Why Build Models?
4
14 Classical Kernels and Refinement
5
15 Hardware and Its Role in Models
11
16 Organisation of this Book
13
17 Choices and Their Justifications
14
Standard and Generic Components 21 Introduction 22 Generic Tables
17
461 Swap Disk
158
462 Swapper
163
463 Clock Process
173
464 Process Swapping
186
47 Process Creation and Termination
191
48 General Results
198
Using Messages in the Swapping Kernel 51 Introduction
203
52 Requirements
204

23 Queues and Their Properties
21
24 Hardware Model 241 CCS Model
27
242 Registers
29
243 Interrupt Flag
31
244 Timer Interrupts
32
245 Process Time Quanta
36
25 Processes and the Process Table
39
26 Context Switch
51
27 Current Process and Ready Queue
52
A Simple Kernel 31 Introduction 32 Requirements
55
33 Primary Types
56
34 Basic Abstractions
58
35 Priority Queue
71
36 Current Process and Prioritised Ready Queue
77
37 Messages and Semaphore Tables
81
38 Process Creation and Destruction
84
39 Concluding Remarks
85
A Swapping Kernel 41 Introduction 42 Requirements
87
43 Common Structures 431 Hardware
88
432 Queues
93
433 Process Queue
94
434 Synchronisation and IPC
97
44 Process Management
103
45 The Scheduler
126
46 Storage Management
144
53 MessagePassing Primitives
205
54 Drivers Using Messages
224
541 The Clock
225
55 Swapping Using Messages
228
56 Kernel Interface
231
Virtual Storage 61 Introduction 62 Outline
239
63 Virtual Storage
240
631 The Paging Disk Process
263
Demand Paging and LRU
267
633 On Page Fault
268
634 Extending Process Storage
288
64 Using Virtual Storage 641 Introduction
299
642 Virtual Addresses
300
643 Mapping Pages to Disk and Vice Versa
305
644 New User Process Allocation and Deallocation
306
65 Real and Virtual Devices
309
66 Message Passing in Virtual Store
310
67 Process Creation and Termination Swapping
311
Final Remarks 71 Introduction 72 Review
313
73 Future Prospects
316
References
318
List of Definitions
321
Index
330
Copyright

Other editions - View all

Common terms and phrases

References to this book

Bibliographic information