Download free course Operating Systems and Middleware, pdf file on 559 pages by Max Hailperin.
Suppose you sit down at your computer to check your email. One of the messages includes an attached document, which you are to edit. You click the attachment, and it opens up in another window. After you start editing the document, you realize you need to leave for a trip. You save the document in its partially edited state and shut down the computer to save energy while you are gone. Upon returning, you boot the computer back up, open the document, and continue 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, your email program retrieves new mail from the server, using the Internet to bridge space. Second, your email program provides the attachment to the word processor, using the operating system's services to couple the two application pro grams. Third, the invocation of the word processor that is running before your trip provides the partially edited document to the invocation running after your return, using disk storage to bridge time.
In this book, you will learn about all three kinds of interaction. In all three cases, interesting software techniques are needed in order to bring the computations into contact, yet keep them sufficiently at arm's length that they don't compromise each other's reliability. The exciting challenge, then, is supporting controlled interaction. This includes support for computations that share a single computer and interact with one another, as your email and word processing programs do. It also includes support for data storage and network communication. This 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.
Table of contentsIntroduction
Threads
Scheduling
Synchronization and Deadlocks
Atomic Transactions
Virtual Memory
Processes and Protection
Files and Other Persistent Storage
Networking
Messaging, RPC, and Web Services
Security
Stacks
Others related eBooks about Operating Systems and Middleware
Exploring Cloud Computing
Download free course Exploring Cloud Computing, pdf file on 121 pages by Michael Wittig, Andreas Wittig....
Everything Is Distributed
Download free course Everything Is Distributed, pdf file on 38 pages by Courtney Nash, Mike Loukides....
Pro Git
Download free course Pro Git, pdf file on 419 pages by Scott Chacon, Ben Straub....
Reinforcement Learning: An Introduction, Second Edition
Reinforcement Learning (RL), one of the most active research areas in artificial intelligence, is a computational approach to learning whereby an agent tries to maximize the total amount of reward it receives while interacting with a complex, uncertain environment. In Reinforcement Learning, Richard...
Ernst Denert Award for Software Engineering 2019
Download free course Ernst Denert Award for Software Engineering 2019, pdf file on 142 pages by Michael Felderer, Wilhelm Hasselbring, Heiko Koziolek, Florian Matthes, Lutz Prechelt, Ralf Reussner, Bernhard Rumpe, Ina Schaefer....
LDAP for Rocket Scientists
This book is about LDAP, OpenLDAP 2.x and ApacheDS on Linux and the BSD's (FreeBSD, OpenBSD and NetBSD). It is meant for newbies, Rocket Scientist wannabees and anyone in between:...
Ionic 4 Succinctly
Ionic 4 takes the original Ionic toolkit from a mobile-centric framework based on Angular ..., download free Ionic 4 tutorial in PDF (101 pages) created by Ed Freitas ....
Exploring the Data Jungle
Some people like to believe that all data is ready to be used immediately. Not so! Data in..., download free Data Jungle tutorial in PDF (101 pages) created by ....
Docker Succinctly
Download free course Docker Succinctly, pdf file on 98 pages by Elton Stoneman....
Functional Programming in OCaml
This book is about making you a better programmer. It gives you the opportunity to now learn a new language from scratch and reflect along the way about the difference between programming and programming in a language....