Operating Systems and Middleware

Supporting Controlled Interaction


Operating Systems and Middleware
Operating Systems and Middleware
CC BY-SA

Book Details

Author Max Hailperin
Publisher Gustavus Adolphus College
Published 2019
Edition 1
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

PDF

Share this Book

[localhost]# find . -name "*Similar_Books*"


How To Code in Go

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

Defense against the Black Arts

Hacking

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

Linux

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

Docker Java

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

Building Secure and Reliable Systems

Can a system be considered truly reliable if it isn't fundamentally secure? Or can it be considered secure if it's unreliable? Security is crucial to the design and operation of scalable systems in production, as it plays an important part in product quality, performance, and availability. In this book, experts from Google share best practices to h