Operating Systems and Middleware
Supporting Controlled Interaction
Book Details
| Author | Max Hailperin |
| Publisher | Gustavus Adolphus College |
| Published | 2019 |
| Edition | 1st |
| Paperback | 559 pages |
| Language | English |
| License | Creative Commons Attribution-ShareAlike |
Book Description
The scenario describes a user sitting down at a computer to check email. One of the messages includes an attached document to be edited. The user clicks the attachment, and it opens in another window. After starting to edit the document, the user realizes they need to leave for a trip. They save the document in its partially edited state and shut down the computer to save energy. Upon returning, the user boots the computer back up, opens the document, and continues editing.
This scenario illustrates that computations interact. In fact, it demonstrates at least three kinds of interactions between computations. In each case, one computation provides data to another. First, the email program retrieves new mail from the server, using the Internet to bridge space. Second, the email program provides the attachment to the word processor, using the operating system's services to couple the two application programs. Third, the invocation of the word processor that was running before the trip provides the partially edited document to the invocation running after the return, using disk storage to bridge time.
In all three cases, interesting software techniques are needed to bring the computations into contact while keeping them sufficiently isolated so they do not compromise each other's reliability. The exciting challenge, therefore, is supporting controlled interaction. This includes support for computations that share a single computer and interact with one another, as the email and word processing programs do. It also includes support for data storage and network communication. The book describes how all these kinds of support are provided both by operating systems and by additional software layered on top of operating systems, which is known as middleware.
This book is available under a Creative Commons Attribution-ShareAlike license (CC BY-SA), which means that you are free to copy, distribute, and modify it, as long as you credit the original author and license any derivative works under the same terms.
If you enjoyed the book and would like to support the author, you can purchase a printed copy (hardcover or paperback) from official retailers.
Download and Read Links
Share this Book
[localhost]# find . -name "*Similar_Books*"
How To Code in Go
This book is designed to introduce you to writing programs with the Go programming language. You'll learn how to write useful tools and applications that can run on remote servers, or local Windows, macOS, and Linux systems for development. The topics that it covers include how to: - Install and set up a local Go development environment on Windows,
A Treatise on Systems (volume 2)
This 2d volume describes the systematic application of Promise Theory to systems, representing a significant step forward in describing functional systems with both dynamics and semantics. By combining quantitative and qualitative descriptions in a single framework, Promise Theory provides the first impartial language for multiscale system phenomen
Operating Systems: From 0 to 1
This book helps you gain the foundational knowledge required to write an operating system from scratch. Hence the title, 0 to 1. After completing this book, at the very least you will learn: - How to write an operating system from scratch by reading hardware datasheets. In the real world, it works like that. You won't be able to consult Google for
Defense against the Black Arts
As technology has developed, computer hackers have become increasingly sophisticated, mastering the ability to hack into even the most impenetrable systems. The best way to secure a system is to understand the tools hackers use and know how to circumvent them. Defense against the Black Arts: How Hackers Do What They Do and How to Protect against It
Linux Appliance Design
Modern appliances are complex machines with processors, operating systems, and application software. While there are books that will tell you how to run Linux on embedded hardware, and books on how to build a Linux application, Linux Appliance Design is the first book to demonstrate how to merge the two and create a Linux appliance. You'll see for
Docker for Java Developers
There are efforts like the Open Container Initiative (OCI) that aim to create an industry standard around container formats and runtime. Docker is the first container implementation based on OCI specifications, and is unarguably the most popular container format. Docker nicely complements the Java programming model by allowing you to package your a