DistOS 2014W Lecture 1

From Soma-notes
Revision as of 23:14, 7 January 2014 by Cdelahou (talk | contribs) (Cleaned up what is an os section)

What is an OS? Here are some ideas of what it could mean:

  • a hardware abstraction
  • Consistent execution environment. (ie. code written to interface -- think portable code)
  • manages I/O
  • Resource management/Multiplexing

An OS can be defined as the role it plays in the programming of systems. It takes care of resource management and creates abstraction. An OS turns hardware into the computer/api/interface you WANT to program.

This is similar to how the browser is becoming the OS of the web. The browser is the key abstraction needed to run web apps. It is the interface web developers target. It doesn't matter what you consume a given website on (ie. a phone, tablet, etc.), the browser abstracts the device's hardware and OS away.


So, what's a distributed OS? Anil prefers to think of this 'logically' than functionally/physically. This is because systems today have multiple cores, distributed multiplet resources. "What's running on your phone follows the D.O.S. model of the 80s".

But the tradition definition is .... Tradition TCP/IP definition ... LOOK UP

A lot of these definitions are hard to define because simplicity always gets in the way of truth. These concepts to do fit into well defined classes.

Anil's defitinion: taking the distributed pieces of a system you have and turning it into the system you WANT.



The traditional kernel-process model is a dictatorship. Authoritarian model of control. The kernel controls what lives or dies. The internet, by contrast, is decentralised (eg. DNS) Distributed systems may have distributed policies.

KEEP IN MIND THROUGOUT SEMESTER: Who's in control?