<?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-18</id>
	<title>DistOS 2023W 2023-01-18 - 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-18"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2023W_2023-01-18&amp;action=history"/>
	<updated>2026-04-08T03:25:32Z</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-18&amp;diff=24296&amp;oldid=prev</id>
		<title>Soma: Created page with &quot;==Notes==  &lt;pre&gt; Lecture 4 ---------  Ideas/thoughts from group discussion on Unix  - simpler, cheaper than Multics  - pipes were there at the beginning and still are used     - oldest form of IPC  - much less emphasis on security than now (no ASLR!)  - built to be modular, easy to enhance, change  - programming-friendly environment  - software as composition  - invented inodes, had a filesystem hierarchy (which as pretty new)  - kernel, shell, utilities, interesting spl...&quot;</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2023W_2023-01-18&amp;diff=24296&amp;oldid=prev"/>
		<updated>2023-01-18T19:12:57Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Notes==  &amp;lt;pre&amp;gt; Lecture 4 ---------  Ideas/thoughts from group discussion on Unix  - simpler, cheaper than Multics  - pipes were there at the beginning and still are used     - oldest form of IPC  - much less emphasis on security than now (no ASLR!)  - built to be modular, easy to enhance, change  - programming-friendly environment  - software as composition  - invented inodes, had a filesystem hierarchy (which as pretty new)  - kernel, shell, utilities, interesting spl...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Notes==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Lecture 4&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
Ideas/thoughts from group discussion on Unix&lt;br /&gt;
 - simpler, cheaper than Multics&lt;br /&gt;
 - pipes were there at the beginning and still are used&lt;br /&gt;
    - oldest form of IPC&lt;br /&gt;
 - much less emphasis on security than now (no ASLR!)&lt;br /&gt;
 - built to be modular, easy to enhance, change&lt;br /&gt;
 - programming-friendly environment&lt;br /&gt;
 - software as composition&lt;br /&gt;
 - invented inodes, had a filesystem hierarchy (which as pretty new)&lt;br /&gt;
 - kernel, shell, utilities, interesting split&lt;br /&gt;
   - abstraction in general&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Where was networking in Unix?&lt;br /&gt;
 - terminals, time sharing, but no networking&lt;br /&gt;
 - still being invented!&lt;br /&gt;
   (roughly at the same time)&lt;br /&gt;
 - and in fact Unix was used to build much of the early Internet&lt;br /&gt;
&lt;br /&gt;
Unix took over not just because it was Unix, but because it became BSD Unix which was the foundation of the early (but not earliest) Internet&lt;br /&gt;
&lt;br /&gt;
If you look at networking on Unix, it is different than everything else&lt;br /&gt;
 - whole separate interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How are the abstractions of Unix related to running on a single computer?&lt;br /&gt;
 - a process is fundamentally a creature of a single computer&lt;br /&gt;
    - memory is unified&lt;br /&gt;
 - pipes allow for IPC, but communication is continuous and perfect&lt;br /&gt;
   - except for broken pipes&lt;br /&gt;
   - if data gets through, it hasn&amp;#039;t been corrupted&lt;br /&gt;
 - minimal support for mutual exclusion&lt;br /&gt;
   - no standard file locking&lt;br /&gt;
   - made implementation simpler, and programmers would know better&lt;br /&gt;
 - in general, casual assumptions of consistency and easy communications&lt;br /&gt;
   - signals in particular, no accounting for multithreaded operation&lt;br /&gt;
&lt;br /&gt;
Original Unix was very minimalistic, modern Unix not so much&lt;br /&gt;
 - lots of stuff bolted on over time&lt;br /&gt;
&lt;br /&gt;
Having to deal with Unix compatibility is a huge issue for later distibuted operating systems&lt;br /&gt;
&lt;br /&gt;
This has been such a burden that modern systems mostly avoid Unix semantics&lt;br /&gt;
 - it is there on individual systems but not there in the distributed context&lt;br /&gt;
&lt;br /&gt;
Remember Unix was made for systems we wouldn&amp;#039;t even put in a watch today&lt;br /&gt;
 - very, very low powered by today&amp;#039;s standard&lt;br /&gt;
 - thus very important to pick the right abstractions that allowed&lt;br /&gt;
   for minimal code&lt;br /&gt;
    - minimalism wasn&amp;#039;t just an aesthetic, it was a necessity&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soma</name></author>
	</entry>
</feed>