Difference between revisions of "DistOS 2014W Lecture 1"

From Soma-notes
Jump to navigation Jump to search
(Rough Draft of notes. Will clean up)
 
(Cleaned up what is an os section)
Line 1: Line 1:
What is an OS?
'''What is an OS?''' Here are some ideas of what it could mean:
* Hardware abstraction
* a hardware abstraction
* Consistent execution environment (think portable code)
* Consistent execution environment. (ie. code written to interface -- think portable code)
* manages I/O
* manages I/O
* Resource management/Multiplexion
* Resource management/Multiplexing


Really, the answer is resource management and abstractions. Turns hardware into
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.
the computer/api you WANT to program. It is more about the role it plays in the
programming of systems.


This is similar to how the browser is becoming the OS of the web. The browser is
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 we target.
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.




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

Revision as of 19:14, 7 January 2014

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?