Concurrent Euclid, The UNIX system, and TUNIS

My Reading Lists:

Create a new list

Check-In

×Close
Add an optional check-in date. Check-in dates are used to track yearly reading goals.
Today


Buy this book

Last edited by ImportBot
August 18, 2020 | History

Concurrent Euclid, The UNIX system, and TUNIS

This edition doesn't have a description yet. Can you add one?

Publish Date
Publisher
Addison-Wesley
Language
English
Pages
323

Buy this book

Previews available in: English

Edition Availability
Cover of: Concurrent Euclid, The UNIX system, and TUNIS
Concurrent Euclid, The UNIX system, and TUNIS
1983, Addison-Wesley
in English

Add another edition?

Book Details


First Sentence

"This book introduces the art of concurrent programming. (Preface) Concurrent programming means writing programs that have several parts in execution at the same time. (Chapter 1)"

Table of Contents

. 1 Concurrent Programming and Operating Systems, 1
Examples of Concurrency, 1
Operating Systems, 4
Communication in Operating Systems, 5
Operating Systems and Monolithic Monitors, 7
Basing an Operating System on a Kernel, 8
An Example Operating System, 10
Processes, Processors and Procedures, 11
Summary, 12
Bibliography, 13
Exercises, 14
. 2 Concurrency Problems and Languge Features, 17
Specifying Concurrent Execution, 17
Disjoint and Overlapping Processes, 19
Critical Sections, 23
Mutual Exclusion by Busy Waiting, 24
Synchronization Primitives: Semaphores, 28
Other Synchronization Primitives, 32
Message Passing, 33
The Blocking Send, 36
The Rendezvous, 37
Communicating Sequential Processes, 39
Monitors, 41
The Deadlock Problem, 43
Detecting Deadlock, 45
Summary, 51
Bibliography, 51
Exercises, 53
. 3 Concurrent Euclid: Sequential Features, 59
History, 59
Goals of Concurrent Euclid, 60
Comparison with Pascal, 60
Basic Data Types, 61
Structured Data Types, 62
Literal Values, 63
The I/O Package, 64
A Complete CE Program, 66
Other Control Constructs, 67
Running Under Unix, 69
A Simple Procedure, 70
Nesting of Constructs, 70
An Example Module, 71
Naming Conventions, 73
Running on a Bare Microprocessor, 74
Non-Manifest Array Bounds, 75
Functions and Side Efects, 76
Points and Collections, 78
Aliasing and the Bind Statement, 80
Type Converters, 81
Separate Compilation, 84
Linking Programs Under Unix, 85
Summary, 86
Bibliography, 88
Exercises, 89
. 4 Concurrent Euclid: Concurrency Features, 93
Specifying Concurrency, 93
Re-Entrant Procedures, 94
Mutual Exclusion, 96
Waiting and Signaling, 98
Details of Signaling, Waiting, and Conditions, 99
Assert Statements, 100
Priority Conditions, 100
An Example Program: Managing a Circular Buffer, 101
Simulation Mode and Kernels, 103
Basic Device Management, 104
Simulation and the Busy Statement, 105
Simulated Time and Process Utilization, 107
Process Statistics, 108
Summary, 109
Bibliography, 110
Exercises, 112
. 5 Examples of Concurrent Programs, 115
Dining Philosophers, 115
Readers and Writers, 122
Scheduling Disks, 127
A Disk Arm Scheduler, 129
Buffer Allocation for Large Messages, 134
Summary, 137
Bibliography, 138
Exercises, 139
. 6 Unix: User Interface and File System, 145
History and Overview of Unix, 145
Typical Configurations, 147
Major Layers of Unix, 147
Systems that are Unix-Compatible, 148
Logging In and Simple Commands, 148
Creating, Listing and Deleting Files, 149
The Directory Hierarchy, 151
Special Files, 153
File Protection, 154
System Calls to Manipulate Files, 155
Internal Format of Files, 157
Mounting Disk Packs, 158
Summary, 159
Bibliography, 161
Exercises, 162
. 7 Unix: User Processes and the Shell, 163
The Address Space of a User Process, 163
Manipulation of User Processes, 165
Implementing the Shell, 167
Input/Output Re-Direction, 168
Background Processing, 169
Pipes and Filters, 170
System Calls to Support Pipes, 170
Files Containing Commands, 171
System Initialization, 172
Summary, 173
Bibliography, 174
Exercises, 175
. 9 Tunis: A Unix-Compatible Nucleus, 195
Tenents of Software Engineering, 196
The Layer Structure of Tunis, 198
The Major Layers, 199
The Abstraction of Address Spaces, 202
The Assassin Process, 202
An Example Module, 203
Programming Conventions, 206
Entry Points of the Tunis Kernel, 206
The Envelope as Guardian Angel, 207
Summary, 208
Bibliography, 209
Exercises, 210
. 10 Implementing a Kernel, 213
Structure of a Kernel, 213
Process/Device Communication
Queue Management, 216
Entries into the Kernel, 218
Simplifying Assumptions, 219
A Kernel for Single CPU Systems, 220
Handling Input and Output, 224
A Kernel for the PDP-11, 225
A Kernel for Multiple CPU Systems, 230
Supporting the Kernel's Virtual Processor, 233
Implementing Kernel Enter/Exit, 234
Kernels for CE and Tunis, 236
Summary, 237
Bibliography, 238
Exercises, 238
. Appendix: Specification of Concurrent Euclid, 243
The SE Language, 245
Concurrency Features, 264
Separate Compilation, 269
Collected Syntax of Concurrent Euclid, 272
Keywords and Predefined Identifiers, 283
Input/Output in Concurrent Euclid, 284
PDP-11 Implementation Notes, 290
CE Implementation Notes, 294
. Index, 299

Edition Notes

Includes bibliographies and index.

Published in
Reading, Mass
Series
Addison-Wesley series in computer science

Classifications

Dewey Decimal Class
001.64/2
Library of Congress
QA76.73.C64 H64 1983, QA76.6

The Physical Object

Pagination
323 p. :
Number of pages
323

ID Numbers

Open Library
OL3493828M
Internet Archive
concurrenteuclid00holt
ISBN 10
0201106949
LCCN
82013742
OCLC/WorldCat
8667265
Goodreads
1416917

Community Reviews (0)

Feedback?
No community reviews have been submitted for this work.

History

Download catalog record: RDF / JSON
August 18, 2020 Edited by ImportBot import existing book
February 14, 2020 Edited by MARC Bot remove fake subjects
November 17, 2018 Edited by MARC Bot import existing book
January 25, 2012 Edited by BorrowBot Adding to In library
December 10, 2009 Created by WorkBot add works page