<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=DistOS_2023W_2023-01-09</id>
	<title>DistOS 2023W 2023-01-09 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=DistOS_2023W_2023-01-09"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2023W_2023-01-09&amp;action=history"/>
	<updated>2026-04-08T03:22:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2023W_2023-01-09&amp;diff=24259&amp;oldid=prev</id>
		<title>Soma: Created page with &quot;Video from today&#039;s lecture is available on Brightspace, in Zoom-&gt;Cloud Recordings.  ==Notes==  &lt;pre&gt; Lecture 1 ---------  What is a distributed operating system?  First, it is an operating system  - the code that transforms the computer that you have into the one you want    to program    - abstraction, resource management in the service of applications  A distributed OS is one that runs across multiple computers connected via a network (or networks)  So, why do we need...&quot;</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2023W_2023-01-09&amp;diff=24259&amp;oldid=prev"/>
		<updated>2023-01-10T21:58:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Video from today&amp;#039;s lecture is available on Brightspace, in Zoom-&amp;gt;Cloud Recordings.  ==Notes==  &amp;lt;pre&amp;gt; Lecture 1 ---------  What is a distributed operating system?  First, it is an operating system  - the code that transforms the computer that you have into the one you want    to program    - abstraction, resource management in the service of applications  A distributed OS is one that runs across multiple computers connected via a network (or networks)  So, why do we need...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Video from today&amp;#039;s lecture is available on Brightspace, in Zoom-&amp;gt;Cloud Recordings.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Lecture 1&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
What is a distributed operating system?&lt;br /&gt;
&lt;br /&gt;
First, it is an operating system&lt;br /&gt;
 - the code that transforms the computer that you have into the one you want&lt;br /&gt;
   to program&lt;br /&gt;
   - abstraction, resource management in the service of applications&lt;br /&gt;
&lt;br /&gt;
A distributed OS is one that runs across multiple computers connected via a network (or networks)&lt;br /&gt;
&lt;br /&gt;
So, why do we need a separate class on this?  Why can&amp;#039;t this be covered in a regular OS class?&lt;br /&gt;
 - what&amp;#039;s so hard about making an OS distributed?&lt;br /&gt;
&lt;br /&gt;
Networking is hard!&lt;br /&gt;
 - but why?&lt;br /&gt;
&lt;br /&gt;
State management&lt;br /&gt;
 - yes, but why?&lt;br /&gt;
&lt;br /&gt;
In a single-system OS, if we have a significant hardware or software issue,&lt;br /&gt;
the system crashes/fails and we&amp;#039;re fine with it&lt;br /&gt;
&lt;br /&gt;
In a distributed OS, individual computers can fail, be disconnected, etc&lt;br /&gt;
 - but the system should go on!&lt;br /&gt;
 - we have to, because at scale errors are common, cannot be avoided&lt;br /&gt;
&lt;br /&gt;
Failures make state a much harder problem&lt;br /&gt;
 - because when we try to synchronize state, it can fail, and then&lt;br /&gt;
   what do we do?&lt;br /&gt;
 - and, state sync is inherently slow over a network&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The problem of this semester is that generally-used single-system operating systems (UNIX-like, Windows, etc) use abstractions that are fundamentally incompatible with large-scale distributed operation&lt;br /&gt;
  - we can&amp;#039;t keep the abstractions and also distribute the computation&lt;br /&gt;
  - we CAN keep using them, but only on individual systems&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soma</name></author>
	</entry>
</feed>