<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Selliot3</id>
	<title>Soma-notes - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Selliot3"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php/Special:Contributions/Selliot3"/>
	<updated>2026-05-01T20:54:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6278</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6278"/>
		<updated>2010-12-02T14:13:17Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Contribution */ Editing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Presentation slides to go along with the paper: Trust and Protection in the Illinois Browser Operating System. http://www.cs.uiuc.edu/homes/stang6/ibos.html#slide1&lt;br /&gt;
&lt;br /&gt;
==Research Problem==&lt;br /&gt;
Modern browsers, such as Google Chrome and Mozilla Firefox, are constantly being revised and updated to keep up with the latest attacks, but continuously have hundreds of security vulnerabilities. Most of these attacks are simple, slightly harmful assaults on web applications, but many attacks are on the browser or even the operating system/libraries. A successful attack on a browser can have horrible repercussion because these occur lower on the shared storage stack than the attacks on the applications because it gives access to all the browser data for all the web application and also provides the attacker with the access to other system resources on the system which is being exploited. An attack on the operating system can be disastrous if it is successful and may cause serious damage to the entire system this is due to the fact that the attackers can access arbitrary states and events, allowing them to have full control over the system. The focus of this research is to prevent or/and to decrease the attacks on browser, libraries, operating systems and system services. &lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System (IBOS) is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting (XSS) has become the most common security vulnerability over the age old buffer overflow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks. Common web browsers run on top of commodity operating systems with shared system services and user-mode libraries, increasing the trusted code base. IBOS looks to solve this issue by exposing browser-level abstractions rather than just general-purpose abstractions. Important concepts such as cookies, HTTP connections and tabs for displaying pages are all brought into the browser abstraction layer. By using all of these methods, the IBOS system ultimately aims to reduce the computers Trusted Computing Base(TCB). &lt;br /&gt;
&lt;br /&gt;
===TCB===&lt;br /&gt;
The TCB is the hardware and software that is critical to the computer&#039;s security. Modern operating system/browser combinations have massive TCBs that may have several millions of lines of code. By extracting components such as device drivers from the kernel, one can lower a systems TCB considerably. If a device driver is outside of the TCB and becomes corrupted, the effects would not be too severe, but if the driver is left in the TCB, then the results could be cataclysmic. By removing elements from the TCB, the risk of having an attack get inside is greatly reduced.&lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
&lt;br /&gt;
IBOS has considerably smaller trusted code base compared to other modern browsers. Where both Chrome and Firefox come in at over 4 million plus lines of code in their trusted code base, IBOS has only about 42,000. Since IBOS is separated into lower level components, it was also able to prevent between 75-100% of vulnerabilities from affected components on a machine. Using Chrome, the researchers tested 175 known issues on the IBOS kernel which ranged from memory exploits to interface spoofing. Out of all the known issues, IBOS was able to prevent 135 or 77% of the issues whereas Chrome was only able to contain 83 of them. The issue is that Chrome is able to catch exploits in its rendering engine since it is in a sandbox but any exploits that took advantage of the browser kernel could not be prevented. This is not a problem for IBOS because many of the browser components inside the trusted code base in Chrome have been brought outside of the IBOS trusted code base limiting what can be done with exploitation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In terms of performance, IBOS is comparable to the two best performing web browsers out current: Firefox and Chrome. For websites such as Google Maps and Facebook, IBOS actually performs much better than Firefox while loading pages. For other sites like Wikipedia, Craigslist and Bing, IBOS performs on a level between Chrome and Firefox so essentially there will be a negligible change in the user&#039;s browsing experience based on the websites they view using IBOS.&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
This paper was very well organized and executed. It naturally flows and keeps order in what it is trying to explain without the need to flip back and reference another piece of content in the paper. Starting with the core mechanics of why it is needed to how the kernel is organized and working its way up to many high-level pieces of information it felt like a natural progression of ideas, giving you the information you need to understand upcoming concepts.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=6276</id>
		<title>Talk:COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=6276"/>
		<updated>2010-12-02T14:11:37Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Comments &amp;amp; Discussion=&lt;br /&gt;
I&#039;ve added to the Contribution part of the essay. I&#039;ve basically explained as much as I thought was pertinent in what the section was asking for but don&#039;t be shy to add more!&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 14:11, 2 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IBOS is designed to talk directly to the hardware. That&#039;s why they have everything at the lower level. All that extra TCB in other browsers was for all the extra stuff like services, OS components blah blah. I get their drift and how less code is secure but I don&#039;t get how they did it! From where do they get the services they claim to have taken out but still operates the same as any other browser. There is a catch somewhere but I can&#039;t find it in the paper or maybe I&#039;m blind. I&#039;ve been reading a lot of text but I got nowhere, its either too complex or not close to what I&#039;m looking for. &lt;br /&gt;
&lt;br /&gt;
--[[User:Ymoussou|Youcef M.]] 04:19, 2 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Brief description of the research problem below. (Still Needs expanding/fleshing out. can anyone help expand on why exactly shrinking the TCB will be more secure. I&#039;m fuzzy on that)&lt;br /&gt;
 &lt;br /&gt;
The IBOS attempts to improve the security of web browsers. The writers argue that the large size of the trusted code bases (TCB) which modern web browsers make use of increases the possibility of a security hole. For example a hijacked window manager could be used to draw a fake phishing website overtop a web browser. The researchers solution is drastically shrinking the size of the TCB. The TCB is shrunk by turning the web browser into an operating system in itself with direct access to hardware abstractions. &lt;br /&gt;
&lt;br /&gt;
Meanwhile, the IBOS must still support existing web applications while maintaining security.&lt;br /&gt;
&lt;br /&gt;
[[User:Atubman|Atubman]] 03:36, 2 December 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
EDIT: I&#039;ve pretty much explained the background concept behind IBOS and I kind of added the way it&#039;s executed near the end. Feel free to move that into the research section.&lt;br /&gt;
&lt;br /&gt;
I can work on the background of IBOS&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 23:03, 22 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems we only have 5/7 members. We should start splitting up the tasks and assign who gets what. So if everybody writes what section they would like to work on that would be great.&lt;br /&gt;
&lt;br /&gt;
--[[User:Ymoussou|Youcef M.]] 15:19, 20 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;ll do the contribution section. I&#039;ll be reading through the paper thoroughly today and taking notes as I go. I&#039;ll post them later on this page as a sort of cheat-sheet/reminder. --[[User:Gsmith6|Gsmith6]] 17:45, 25 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Group Members=&lt;br /&gt;
&lt;br /&gt;
Leave your name and e-mail address if you are assigned to this question.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Ymoussou|Youcef M.]] moussoud@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am alive and still in the class, selliot3@connect.carleton.ca&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 18:12, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Still in the class, andrewtubman84@gmail.com&lt;br /&gt;
&lt;br /&gt;
[[User:Atubman|Atubman]]&lt;br /&gt;
&lt;br /&gt;
I&#039;m here. I have received an email reply from John Vanden Heuvel as well (he may not see this) gsmith0413@gmail.com&lt;br /&gt;
--[[User:Gsmith6|Gsmith6]] 22:31, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[User:vviveka2|vG]]&lt;br /&gt;
&lt;br /&gt;
I am here... and replied to the email&lt;br /&gt;
&lt;br /&gt;
=Question 2 members=&lt;br /&gt;
&lt;br /&gt;
Elliott Charles selliot3&lt;br /&gt;
&lt;br /&gt;
Moussoud Youcef ymoussou&lt;br /&gt;
&lt;br /&gt;
Pharand Alexandre apharan2&lt;br /&gt;
&lt;br /&gt;
Smith Geoffrey gsmith6&lt;br /&gt;
&lt;br /&gt;
Tubman Andrew   atubman&lt;br /&gt;
&lt;br /&gt;
Vanden Heuvel John jvheuvel&lt;br /&gt;
&lt;br /&gt;
Vivekanandarajah Vijitharan vviveka2&lt;br /&gt;
&lt;br /&gt;
=Raw Information=&lt;br /&gt;
&lt;br /&gt;
The web itself is ubiquitous which a person can use for communication; banking, business, social networking and it can be useful for other purposes. There are different type of vulnerabilities web applications, browser, OS and library vulnerabilities. Insecure web browsers are monolithic, and they are easy to exploit. Secure  web browser such as chrome isolate web applications and it still contain huge trusted computing base (TCB). Browser abstractions as the first-class OS, contains reduced TCB for web browser and it also have protection to withstand attacks to most components. [[User:vviveka2|vG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Extra Resources=&lt;br /&gt;
http://www.cs.uiuc.edu/homes/stang6/ibos.html#slide1&lt;br /&gt;
I found some presentation slides by Shuo Tang, Haohui Mai and Sam King, the authors and developers of IBOS&lt;br /&gt;
--[[User:Gsmith6|Gsmith6]] 22:35, 25 November 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6273</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6273"/>
		<updated>2010-12-02T14:07:03Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Contribution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Presentation slides to go along with the paper: Trust and Protection in the Illinois Browser Operating System. http://www.cs.uiuc.edu/homes/stang6/ibos.html#slide1&lt;br /&gt;
&lt;br /&gt;
==Research Problem==&lt;br /&gt;
Modern browsers, such as Google Chrome and Mozilla Firefox, are constantly being revised and updated to keep up with the latest attacks, but continuously have hundreds of security vulnerabilities. Most of these attacks are simple, slightly harmful assaults on web applications, but many attacks are on the browser or even the operating system/libraries. A successful attack on a browser can have horrible repercussion because these occur lower on the shared storage stack than the attacks on the applications because it gives access to all the browser data for all the web application and also provides the attacker with the access to other system resources on the system which is being exploited. An attack on the operating system can be disastrous if it is successful and may cause serious damage to the entire system this is due to the fact that the attackers can access arbitrary states and events, allowing them to have full control over the system. The focus of this research is to prevent or/and to decrease the attacks on browser, libraries, operating systems and system services. &lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System (IBOS) is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting (XSS) has become the most common security vulnerability over the age old buffer overflow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks. Common web browsers run on top of commodity operating systems with shared system services and user-mode libraries, increasing the trusted code base. IBOS looks to solve this issue by exposing browser-level abstractions rather than just general-purpose abstractions. Important concepts such as cookies, HTTP connections and tabs for displaying pages are all brought into the browser abstraction layer. By using all of these methods, the IBOS system ultimately aims to reduce the computers Trusted Computing Base(TCB). &lt;br /&gt;
&lt;br /&gt;
===TCB===&lt;br /&gt;
The TCB is the hardware and software that is critical to the computer&#039;s security. Modern operating system/browser combinations have massive TCBs that may have several millions of lines of code. By extracting components such as device drivers from the kernel, one can lower a systems TCB considerably. If a device driver is outside of the TCB and becomes corrupted, the effects would not be too severe, but if the driver is left in the TCB, then the results could be cataclysmic. By removing elements from the TCB, the risk of having an attack get inside is greatly reduced.&lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
&lt;br /&gt;
IBOS has considerably smaller trusted code base compared to other modern browsers. Where both Chrome and Firefox come in at over 4 million plus lines of code in their trusted code base, IBOS has only about 42,000. Since IBOS is separated into lower level components, it was also able to prevent between 75-100% of vulnerabilities from affected components on a machine. Using Chrome, the researchers tested 175 known issues on the IBOS kernel which ranged from memory exploits to interface spoofing. Out of all the known issues, IBOS was able to prevent 135 or 77% of the issues whereas Chrome was only able to contain 83 of them. The issue is that Chrome is able to catch exploits in its rendering engine since it is in a sandbox but any exploits that took advantage of the browser kernel could not be prevented. This is not a problem for IBOS because many of the browser components inside the trusted code base in Chrome have been brought outside of the IBOS trusted code base limiting what can be done with exploitation.&lt;br /&gt;
&lt;br /&gt;
In terms of performance, IBOS is comparable to the two best performing web browsers out current: Firefox and Chrome. For websites such as Google Maps and Facebook, IBOS actually performs much better than Firefox while loading pages. For other sites like Wikipedia, Craigslist and Bing, IBOS performs on a level between Chrome and Firefox so essentially there will be a negligible change in the user&#039;s browsing experience based on the websites they view using IBOS.&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
This paper was very well organized and executed. It naturally flows and keeps order in what it is trying to explain without the need to flip back and reference another piece of content in the paper. Starting with the core mechanics of why it is needed to how the kernel is organized and working its way up to many high-level pieces of information it felt like a natural progression of ideas, giving you the information you need to understand upcoming concepts.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6270</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6270"/>
		<updated>2010-12-02T13:57:20Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Background Concepts */ Fixed grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Presentation slides to go along with the paper: Trust and Protection in the Illinois Browser Operating System. http://www.cs.uiuc.edu/homes/stang6/ibos.html#slide1&lt;br /&gt;
&lt;br /&gt;
==Research Problem==&lt;br /&gt;
Modern browsers, such as Google Chrome and Mozilla Firefox, are constantly being revised and updated to keep up with the latest attacks, but continuously have hundreds of security vulnerabilities. Most of these attacks are simple, slightly harmful assaults on web applications, but many attacks are on the browser or even the operating system/libraries. A successful attack on a browser can have horrible repercussion because these occur lower on the shared storage stack than the attacks on the applications because it gives access to all the browser data for all the web application and also provides the attacker with the access to other system resources on the system which is being exploited. An attack on the operating system can be disastrous if it is successful and may cause serious damage to the entire system this is due to the fact that the attackers can access arbitrary states and events, allowing them to have full control over the system. The focus of this research is to prevent or/and to decrease the attacks on browser, libraries, operating systems and system services. &lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System (IBOS) is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting (XSS) has become the most common security vulnerability over the age old buffer overflow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks. Common web browsers run on top of commodity operating systems with shared system services and user-mode libraries, increasing the trusted code base. IBOS looks to solve this issue by exposing browser-level abstractions rather than just general-purpose abstractions. Important concepts such as cookies, HTTP connections and tabs for displaying pages are all brought into the browser abstraction layer. By using all of these methods, the IBOS system ultimately aims to reduce the computers Trusted Computing Base(TCB). &lt;br /&gt;
&lt;br /&gt;
===TCB===&lt;br /&gt;
The TCB is the hardware and software that is critical to the computer&#039;s security. Modern operating system/browser combinations have massive TCBs that may have several millions of lines of code. By extracting components such as device drivers from the kernel, one can lower a systems TCB considerably. If a device driver is outside of the TCB and becomes corrupted, the effects would not be too severe, but if the driver is left in the TCB, then the results could be cataclysmic. By removing elements from the TCB, the risk of having an attack get inside is greatly reduced.&lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
&lt;br /&gt;
IBOS has considerably smaller trusted code base compared to other modern browsers. Where both Chrome and Firefox come in at over 4 million plus lines of code in their trusted code base, IBOS has only about 42,000. Since IBOS is separated into lower level components, it was also able to prevent between 75-100% of vulnerabilities from affected components on a machine. Using Chrome, the researchers tested 175 known issues on the IBOS kernel which ranged from memory exploits to interface spoofing. Out of all the known issues, IBOS was able to prevent 135 or 77% of the issues whereas Chrome was only able to contain 83 of them. The issue is that Chrome is able to catch exploits in its rendering engine since it is in a sandbox but any exploits that took advantage of the browser kernel could not be prevented. This is not a problem for IBOS because many of the browser components inside the trusted code base in Chrome have been brought outside of the IBOS trusted code base limiting what can be done with exploitation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
This paper was very well organized and executed. It naturally flows and keeps order in what it is trying to explain without the need to flip back and reference another piece of content in the paper. Starting with the core mechanics of why it is needed to how the kernel is organized and working its way up to many high-level pieces of information it felt like a natural progression of ideas, giving you the information you need to understand upcoming concepts.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6269</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6269"/>
		<updated>2010-12-02T13:55:14Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Contribution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Presentation slides to go along with the paper: Trust and Protection in the Illinois Browser Operating System. http://www.cs.uiuc.edu/homes/stang6/ibos.html#slide1&lt;br /&gt;
&lt;br /&gt;
==Research Problem==&lt;br /&gt;
Modern browsers, such as Google Chrome and Mozilla Firefox, are constantly being revised and updated to keep up with the latest attacks, but continuously have hundreds of security vulnerabilities. Most of these attacks are simple, slightly harmful assaults on web applications, but many attacks are on the browser or even the operating system/libraries. A successful attack on a browser can have horrible repercussion because these occur lower on the shared storage stack than the attacks on the applications because it gives access to all the browser data for all the web application and also provides the attacker with the access to other system resources on the system which is being exploited. An attack on the operating system can be disastrous if it is successful and may cause serious damage to the entire system this is due to the fact that the attackers can access arbitrary states and events, allowing them to have full control over the system. The focus of this research is to prevent or/and to decrease the attacks on browser, libraries, operating systems and system services. &lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System (IBOS) is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting (XSS) has become the most common security vulnerability over the age old buffer overflow, it is basically a form of script injection into a web application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks. Common web browsers run on top of commodity operating systems with shared system services and user-mode libraries, increasing the trusted code base. IBOS looks to solve this issue by exposing browser-level abstractions rather than just general-purpose abstractions. Important concepts such as cookies, HTTP connections and tabs for displaying pages are all brought into the browser abstraction layer. By using all of these methods, the IBOS system ultimately aims to reduce the computers Trusted Computing Base(TCB). &lt;br /&gt;
&lt;br /&gt;
===TCB===&lt;br /&gt;
The TCB is the hardware and software that is critical to the computer&#039;s security. Modern operating system/browser combinations have massive TCBs that may have several millions of lines of code. By extracting components such as device drivers from the kernel, one can lower a systems TCB considerably. If a device driver is outside of the TCB and becomes corrupted, the effects would not be too severe, but if the driver is left in the TCB, then the results could be cataclysmic. By removing elements from the TCB, the risk of having an attack get inside is greatly reduced. &lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
&lt;br /&gt;
IBOS has considerably smaller trusted code base compared to other modern browsers. Where both Chrome and Firefox come in at over 4 million plus lines of code in their trusted code base, IBOS has only about 42,000. Since IBOS is separated into lower level components, it was also able to prevent between 75-100% of vulnerabilities from affected components on a machine. Using Chrome, the researchers tested 175 known issues on the IBOS kernel which ranged from memory exploits to interface spoofing. Out of all the known issues, IBOS was able to prevent 135 or 77% of the issues whereas Chrome was only able to contain 83 of them. The issue is that Chrome is able to catch exploits in its rendering engine since it is in a sandbox but any exploits that took advantage of the browser kernel could not be prevented. This is not a problem for IBOS because many of the browser components inside the trusted code base in Chrome have been brought outside of the IBOS trusted code base limiting what can be done with exploitation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
This paper was very well organized and executed. It naturally flows and keeps order in what it is trying to explain without the need to flip back and reference another piece of content in the paper. Starting with the core mechanics of why it is needed to how the kernel is organized and working its way up to many high-level pieces of information it felt like a natural progression of ideas, giving you the information you need to understand upcoming concepts.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6267</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6267"/>
		<updated>2010-12-02T13:42:18Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Contribution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Presentation slides to go along with the paper: Trust and Protection in the Illinois Browser Operating System. http://www.cs.uiuc.edu/homes/stang6/ibos.html#slide1&lt;br /&gt;
&lt;br /&gt;
==Research Problem==&lt;br /&gt;
Modern browsers, such as Google Chrome and Mozilla Firefox, are constantly being revised and updated to keep up with the latest attacks, but continuously have hundreds of security vulnerabilities. Most of these attacks are simple, slightly harmful assaults on web applications, but many attacks are on the browser or even the operating system/libraries. A successful attack on a browser can have horrible repercussion because these occur lower on the shared storage stack than the attacks on the applications because it gives access to all the browser data for all the web application and also provides the attacker with the access to other system resources on the system which is being exploited. An attack on the operating system can be disastrous if it is successful and may cause serious damage to the entire system this is due to the fact that the attackers can access arbitrary states and events, allowing them to have full control over the system. The focus of this research is to prevent or/and to decrease the attacks on browser, libraries, operating systems and system services. &lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System (IBOS) is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting (XSS) has become the most common security vulnerability over the age old buffer overflow, it is basically a form of script injection into a web application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks. Common web browsers run on top of commodity operating systems with shared system services and user-mode libraries, increasing the trusted code base. IBOS looks to solve this issue by exposing browser-level abstractions rather than just general-purpose abstractions. Important concepts such as cookies, HTTP connections and tabs for displaying pages are all brought into the browser abstraction layer. By using all of these methods, the IBOS system ultimately aims to reduce the computers Trusted Computing Base(TCB). &lt;br /&gt;
&lt;br /&gt;
===TCB===&lt;br /&gt;
The TCB is the hardware and software that is critical to the computer&#039;s security. Modern operating system/browser combinations have massive TCBs that may have several millions of lines of code. By extracting components such as device drivers from the kernel, one can lower a systems TCB considerably. If a device driver is outside of the TCB and becomes corrupted, the effects would not be too severe, but if the driver is left in the TCB, then the results could be cataclysmic. By removing elements from the TCB, the risk of having an attack get inside is greatly reduced. &lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
&lt;br /&gt;
IBOS has considerably smaller trusted code base compared to other modern browsers. Where both Chrome and Firefox come in at over 4 million plus lines of code in their trusted code base, IBOS has only about 42,000. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
This paper was very well organized and executed. It naturally flows and keeps order in what it is trying to explain without the need to flip back and reference another piece of content in the paper. Starting with the core mechanics of why it is needed to how the kernel is organized and working its way up to many high-level pieces of information it felt like a natural progression of ideas, giving you the information you need to understand upcoming concepts.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6264</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=6264"/>
		<updated>2010-12-02T13:37:20Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Critique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Presentation slides to go along with the paper: Trust and Protection in the Illinois Browser Operating System. http://www.cs.uiuc.edu/homes/stang6/ibos.html#slide1&lt;br /&gt;
&lt;br /&gt;
==Research Problem==&lt;br /&gt;
Modern browsers, such as Google Chrome and Mozilla Firefox, are constantly being revised and updated to keep up with the latest attacks, but continuously have hundreds of security vulnerabilities. Most of these attacks are simple, slightly harmful assaults on web applications, but many attacks are on the browser or even the operating system/libraries. A successful attack on a browser can have horrible repercussion because these occur lower on the shared storage stack than the attacks on the applications because it gives access to all the browser data for all the web application and also provides the attacker with the access to other system resources on the system which is being exploited. An attack on the operating system can be disastrous if it is successful and may cause serious damage to the entire system this is due to the fact that the attackers can access arbitrary states and events, allowing them to have full control over the system. The focus of this research is to prevent or/and to decrease the attacks on browser, libraries, operating systems and system services. &lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System (IBOS) is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting (XSS) has become the most common security vulnerability over the age old buffer overflow, it is basically a form of script injection into a web application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks. Common web browsers run on top of commodity operating systems with shared system services and user-mode libraries, increasing the trusted code base. IBOS looks to solve this issue by exposing browser-level abstractions rather than just general-purpose abstractions. Important concepts such as cookies, HTTP connections and tabs for displaying pages are all brought into the browser abstraction layer. By using all of these methods, the IBOS system ultimately aims to reduce the computers Trusted Computing Base(TCB). &lt;br /&gt;
&lt;br /&gt;
===TCB===&lt;br /&gt;
The TCB is the hardware and software that is critical to the computer&#039;s security. Modern operating system/browser combinations have massive TCBs that may have several millions of lines of code. By extracting components such as device drivers from the kernel, one can lower a systems TCB considerably. If a device driver is outside of the TCB and becomes corrupted, the effects would not be too severe, but if the driver is left in the TCB, then the results could be cataclysmic. By removing elements from the TCB, the risk of having an attack get inside is greatly reduced. &lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
This paper was very well organized and executed. It naturally flows and keeps order in what it is trying to explain without the need to flip back and reference another piece of content in the paper. Starting with the core mechanics of why it is needed to how the kernel is organized and working its way up to many high-level pieces of information it felt like a natural progression of ideas, giving you the information you need to understand upcoming concepts.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5419</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5419"/>
		<updated>2010-11-23T00:06:55Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Critique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System (IBOS) is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting has become the most common security vulnerability over the age old buffer overflow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks. Common web browsers run on top of commodity operating systems with shared system services and user-mode libraries, increasing the trusted code base. IBOS looks to solve this issue by exposing browser-level abstractions rather than just general-purpose abstractions. Important concepts such as cookies, HTTP connections and tabs for displaying pages are all brought into the browser abstraction layer.&lt;br /&gt;
&lt;br /&gt;
=Research problem=&lt;br /&gt;
What is the research problem being addressed by the paper? How does this problem relate to past related work?&lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
This paper was very well organized and executed. It naturally flows and keeps order in what it is trying to explain without the need to flip back and reference another piece of content in the paper. Starting with the core mechanics of why it is needed to how the kernel is organized and working its way up to many high-level pieces of information it felt like a natural progression of ideas, giving you the information you need to understand upcoming concepts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!! Don&#039;t forget to erase this !!&#039;&#039;&#039; &#039;&#039;What is good and not-so-good about this paper? You may discuss both the style and content; be sure to ground your discussion with specific references. Simple assertions that something is good or bad is not enough - you must explain why.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=5417</id>
		<title>Talk:COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=5417"/>
		<updated>2010-11-22T23:59:25Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Comments &amp;amp; Discussion=&lt;br /&gt;
&lt;br /&gt;
EDIT: I&#039;ve pretty much explained the background concept behind IBOS and I kind of added the way it&#039;s executed near the end. Feel free to move that into the research section.&lt;br /&gt;
&lt;br /&gt;
I can work on the background of IBOS&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 23:03, 22 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems we only have 5/7 members. We should start splitting up the tasks and assign who gets what. So if everybody writes what section they would like to work on that would be great.&lt;br /&gt;
&lt;br /&gt;
--[[User:Ymoussou|Youcef M.]] 15:19, 20 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Group Members=&lt;br /&gt;
&lt;br /&gt;
Leave your name and e-mail address if you are assigned to this question.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Ymoussou|Youcef M.]] moussoud@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am alive and still in the class, selliot3@connect.carleton.ca&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 18:12, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Still in the class, andrewtubman84@gmail.com&lt;br /&gt;
&lt;br /&gt;
[[User:Atubman|Atubman]]&lt;br /&gt;
&lt;br /&gt;
I&#039;m here. I have received an email reply from John Vanden Heuvel as well (he may not see this) gsmith0413@gmail.com&lt;br /&gt;
--[[User:Gsmith6|Gsmith6]] 22:31, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[User:vviveka2|vG]]&lt;br /&gt;
&lt;br /&gt;
I am here... and replied to the email&lt;br /&gt;
&lt;br /&gt;
=Question 2 members=&lt;br /&gt;
&lt;br /&gt;
Elliott Charles selliot3&lt;br /&gt;
&lt;br /&gt;
Moussoud Youcef ymoussou&lt;br /&gt;
&lt;br /&gt;
Pharand Alexandre apharan2&lt;br /&gt;
&lt;br /&gt;
Smith Geoffrey gsmith6&lt;br /&gt;
&lt;br /&gt;
Tubman Andrew   atubman&lt;br /&gt;
&lt;br /&gt;
Vanden Heuvel John jvheuvel&lt;br /&gt;
&lt;br /&gt;
Vivekanandarajah Vijitharan vviveka2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The web itself is ubiquitous which a person can use for communication; banking, business, social networking and it can be useful for other purposes. There are different type of vulnerabilities web applications, browser, OS and library vulnerabilities. Insecure web browsers are monolithic, and they are easy to exploit. Secure  web browser such as chrome isolate web applications and it still contain huge trusted computing base (TCB). Browser abstractions as the first-class OS, contains reduced TCB for web browser and it also have protection to withstand attacks to most components. [[User:vviveka2|vG]]&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5416</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5416"/>
		<updated>2010-11-22T23:58:07Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Background Concepts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System (IBOS) is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting has become the most common security vulnerability over the age old buffer overflow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks. Common web browsers run on top of commodity operating systems with shared system services and user-mode libraries, increasing the trusted code base. IBOS looks to solve this issue by exposing browser-level abstractions rather than just general-purpose abstractions. Important concepts such as cookies, HTTP connections and tabs for displaying pages are all brought into the browser abstraction layer.&lt;br /&gt;
&lt;br /&gt;
=Research problem=&lt;br /&gt;
What is the research problem being addressed by the paper? How does this problem relate to past related work?&lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
What is good and not-so-good about this paper? You may discuss both the style and content; be sure to ground your discussion with specific references. Simple assertions that something is good or bad is not enough - you must explain why.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5412</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5412"/>
		<updated>2010-11-22T23:47:51Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Background Concepts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
The Illinois Browser Operating System is not just a new browser to improve security, it is also a full operating system. It’s main goal is to expose browser-level abstractions at the lowest possible software layer, reducing the trusted computing base for web browsers. Many websites and web applications have become major targets for attackers and hackers. Just recently, cross-site scripting has become the most common security vulnerability over the age old buffer overflow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plenty of research has gone in to improving security among the various web browsers on the market today but all browsers still remain susceptible to attacks on the lower layers. Compromised Ethernet drivers can send sensitive HTTP packets to third parties, compromised storage modules can send persistent data to unwanted viewers and compromised window managers can overlay fake interfaces common in phishing attacks.&lt;br /&gt;
&lt;br /&gt;
=Research problem=&lt;br /&gt;
What is the research problem being addressed by the paper? How does this problem relate to past related work?&lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
What is good and not-so-good about this paper? You may discuss both the style and content; be sure to ground your discussion with specific references. Simple assertions that something is good or bad is not enough - you must explain why.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5410</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5410"/>
		<updated>2010-11-22T23:28:51Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;University of Illinois at Urbana-Champaig&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
Explain briefly the background concepts and ideas that your fellow classmates will need to know first in order to understand your assigned paper.&lt;br /&gt;
&lt;br /&gt;
=Research problem=&lt;br /&gt;
What is the research problem being addressed by the paper? How does this problem relate to past related work?&lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
What is good and not-so-good about this paper? You may discuss both the style and content; be sure to ground your discussion with specific references. Simple assertions that something is good or bad is not enough - you must explain why.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5409</id>
		<title>COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_2_2010_Question_2&amp;diff=5409"/>
		<updated>2010-11-22T23:28:31Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Paper=&lt;br /&gt;
&#039;&#039;&#039;Trust and Protection in the Illinois Browser Operating System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://www.usenix.org/events/osdi10/tech/full_papers/Tang.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuo Tang, Haohui Mai, Samuel T. King&lt;br /&gt;
University of Illinois at Urbana-Champaig&lt;br /&gt;
&lt;br /&gt;
=Background Concepts=&lt;br /&gt;
Explain briefly the background concepts and ideas that your fellow classmates will need to know first in order to understand your assigned paper.&lt;br /&gt;
&lt;br /&gt;
=Research problem=&lt;br /&gt;
What is the research problem being addressed by the paper? How does this problem relate to past related work?&lt;br /&gt;
&lt;br /&gt;
=Contribution=&lt;br /&gt;
What are the research contribution(s) of this work? Specifically, what are the key research results, and what do they mean? (What was implemented? Why is it any better than what came before?)&lt;br /&gt;
&lt;br /&gt;
=Critique=&lt;br /&gt;
What is good and not-so-good about this paper? You may discuss both the style and content; be sure to ground your discussion with specific references. Simple assertions that something is good or bad is not enough - you must explain why.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
You will almost certainly have to refer to other resources; please cite these resources in the style of citation of the papers assigned (inlined numbered references). Place your bibliographic entries in this section.&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=5404</id>
		<title>Talk:COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=5404"/>
		<updated>2010-11-22T23:03:40Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Comments &amp;amp; Discussion=&lt;br /&gt;
&lt;br /&gt;
I can work on the background of IBOS&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 23:03, 22 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems we only have 5/7 members. We should start splitting up the tasks and assign who gets what. So if everybody writes what section they would like to work on that would be great.&lt;br /&gt;
&lt;br /&gt;
--[[User:Ymoussou|Youcef M.]] 15:19, 20 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=Group Members=&lt;br /&gt;
&lt;br /&gt;
Leave your name and e-mail address if you are assigned to this question.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Ymoussou|Youcef M.]] moussoud@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am alive and still in the class, selliot3@connect.carleton.ca&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 18:12, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Still in the class, andrewtubman84@gmail.com&lt;br /&gt;
&lt;br /&gt;
[[User:Atubman|Atubman]]&lt;br /&gt;
&lt;br /&gt;
I&#039;m here. I have received an email reply from John Vanden Heuvel as well (he may not see this) gsmith0413@gmail.com&lt;br /&gt;
--[[User:Gsmith6|Gsmith6]] 22:31, 15 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[User:vviveka2|vG]]&lt;br /&gt;
&lt;br /&gt;
I am here... and replied to the email&lt;br /&gt;
&lt;br /&gt;
=Question 2 members=&lt;br /&gt;
&lt;br /&gt;
Elliott Charles selliot3&lt;br /&gt;
&lt;br /&gt;
Moussoud Youcef ymoussou&lt;br /&gt;
&lt;br /&gt;
Pharand Alexandre apharan2&lt;br /&gt;
&lt;br /&gt;
Smith Geoffrey gsmith6&lt;br /&gt;
&lt;br /&gt;
Tubman Andrew   atubman&lt;br /&gt;
&lt;br /&gt;
Vanden Heuvel John jvheuvel&lt;br /&gt;
&lt;br /&gt;
Vivekanandarajah Vijitharan vviveka2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The web itself is ubiquitous which a person can use for communication; banking, business, social networking and it can be useful for other purposes. There are different type of vulnerabilities web applications, browser, OS and library vulnerabilities. Insecure web browsers are monolithic, and they are easy to exploit. Secure  web browser such as chrome isolate web applications and it still contain huge trusted computing base (TCB). Browser abstractions as the first-class OS, contains reduced TCB for web browser and it also have protection to withstand attacks to most components. [[User:vviveka2|vG]]&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=4991</id>
		<title>Talk:COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=4991"/>
		<updated>2010-11-15T18:12:36Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Group Members=&lt;br /&gt;
Leave your name and e-mail address if you are assigned to this question.&lt;br /&gt;
&lt;br /&gt;
[[User:Ymoussou|Youcef M.]] moussoud@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am alive and still in the class, selliot3@connect.carleton.ca&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 18:12, 15 November 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=4990</id>
		<title>Talk:COMP 3000 Essay 2 2010 Question 2</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_2_2010_Question_2&amp;diff=4990"/>
		<updated>2010-11-15T18:12:23Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Group Members=&lt;br /&gt;
Leave your name and e-mail address if you are assigned to this question.&lt;br /&gt;
&lt;br /&gt;
[[User:Ymoussou|Youcef M.]] moussoud@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am alive and still in the class&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 18:12, 15 November 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_1_2010_Question_4&amp;diff=2842</id>
		<title>COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_1_2010_Question_4&amp;diff=2842"/>
		<updated>2010-10-10T19:27:35Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Motivation */ Made a small change to the wording of the first paragraph&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Question=&lt;br /&gt;
&lt;br /&gt;
What &amp;quot;operating systems&amp;quot; have been implemented in the following languages: LISP, Modula-3, Smalltalk, Java? To what extent do these systems match the capabilities of operating systems implemented in C and C++?&lt;br /&gt;
&lt;br /&gt;
=Team Note (to be removed by delivery date)=&lt;br /&gt;
&lt;br /&gt;
Please use the [[Talk:COMP_3000_Essay_1_2010_Question_4|discussion page]] for any planning and comments.&lt;br /&gt;
&lt;br /&gt;
=Answer=&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Not so long ago people believed the Earth was a flat world at the center of the universe. This essay addresses a more recent falsehood: that all operating systems are written in assembly language and C. It&#039;s not surprising that students of computing in this century would genuflect at the academic altars of Kernighan &amp;amp;amp; Ritchie. After all we grew up with our computer worlds already pre-formed into the conceptual continents of Apple OS, UNIX, and Windows. The more historically curious among us are vaguely aware that other island cultures do exist but they represent civilizations defeated in the marketplace. Explorations into these ancient worlds resemble documentaries about archeologists decoding rediscovered languages etched in stone. But scratch the surface of any of our so-called modern operating systems and you&#039;ll find echoes of these ancient languages in our own familiar worlds. Ellen Ullman said it best when she wrote, &amp;lt;blockquote&amp;gt;&#039;&#039;We build our computer systems like we build our cities: over time, without a plan, on top of ruins.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the sections below we present our explorations into a few truly foundational operating systems. We will also see some brand new ones that prove we stand, as one twelfth century scholar put it, [http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants on the shoulders of giants].&lt;br /&gt;
&lt;br /&gt;
The following is a short list of operating systems written partially or completely with the given language. We will go into more detail in the language-specific sections below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
|+ &#039;&#039;&#039;Operating Systems By Language&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Language&lt;br /&gt;
!width=&amp;quot;85%&amp;quot;|OS List&lt;br /&gt;
|-&lt;br /&gt;
! Lisp&lt;br /&gt;
| MIT&#039;s Lisp Machines, Genera&lt;br /&gt;
|-&lt;br /&gt;
! Modula-3&lt;br /&gt;
| SPIN OS&lt;br /&gt;
|-&lt;br /&gt;
! Smalltalk&lt;br /&gt;
| Smalltalk-80 on Xerox Alto, Squeak&lt;br /&gt;
|-&lt;br /&gt;
! Java&lt;br /&gt;
| JavaOS, JNode, JX, Android&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Lisp Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Modula-3 Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Smalltalk Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The best way to predict the future is to invent it. -- Alan Kay&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your PC has a GUI with overlapping windows, a menu system, desktop icons, and a mouse pointer then you owe a debt to Alan Kay, the inventor of Smalltalk. Some of those ideas had appeared elsewhere in one form or another, but the first time they came together in a demonstrable form was in the early 1970s at Xerox&#039;s Palo Alto Research Center (Xerox PARC).&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Java Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
Java is used on a plethora of devices and systems throughout the industry from cell phones to web applets. With Java being a language that creates a virtual machine for each application, one would think that it is already suited to be an operating system in itself but this is not the case. Java is built to run on top of other operating systems such as Microsoft Windows, Mac OS X and Ubuntu Linux rather than being a standalone system. This section will discuss various operating systems that are written in Java such as JavaOS, Android, JNode and JX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://java.sun.com/developer/products/JavaOS/ JavaOS] is Sun Microsystems very own creation. This system runs on different layers to make a scalable and easily updateable operating system &amp;lt;sup&amp;gt;[http://java.sun.com/developer/products/JavaOS/OverView/index.html ]&amp;lt;/sup&amp;gt;. The first layer is the microkernel which handles the memory architecture, booting, interrupt handling, threading, traps and DMA handling. The Java Virtual Machine is also compiled into native code for the system and is run on top of the microkernel. The second layer consists of the JavaOS for Business software which extends the memory module to optimize for systems with limited memory&amp;lt;sup&amp;gt;[http://java.sun.com/developer/products/JavaOS/OverView/index.html ]&amp;lt;/sup&amp;gt;. All device drivers for the system are written and run in Java and are what the third layer is consisted of. Finally, the fourth layer is a stand-alone JDK runtime environment used to run user applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.android.com/  Android] was created by a very ambitious team at Google for use with cell phones. It is basically an operating system running on top of another minimalistic operating system. At the very lowest end of Android, a Linux 2.6 kernel is what powers it. All device drivers are written and compiled for the native hardware or compiled using Google’s Native Development Kit and core system libraries such as libc, OpenGL | ES and SQLite are dynamically linked in per application &amp;lt;sup&amp;gt;[http://developer.android.com/guide/basics/what-is-android.html]&amp;lt;/sup&amp;gt;. In the Android runtime, the Dalvik Virtual Machine (DVM) controls applications similar to the Java Virtual Machine. Dalvik is similar to the aforementioned JavaOS as it relies on the kernel to manage threading and low-level memory management. Running on top of the DVM are core libraries and application frameworks for the Android operating system. These frameworks include resource management, window management, notification manage just to name a few. Applications are then built on top of these frameworks and are the end result in which the user will actually interact with.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.jnode.org/ JNode] began as the Java Bootable System (JBS) in 1995. Ewout Prangsma, the creator, was unhappy with the amount of native C and assembly used for the system so he began a new project, JNode. JNode only uses a small amount of assembly code for booting the system now compared to the initial JBS &amp;lt;sup&amp;gt;[http://www.jnode.org/node/174]&amp;lt;/sup&amp;gt;. The rest of the system is completely written in Java including its graphical user interface. Applications in JNode are referred to as plugins &amp;lt;sup&amp;gt;[http://www.jnode.org/node/175]&amp;lt;/sup&amp;gt; including the device drivers, filesystems, networking and user applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www4.informatik.uni-erlangen.de/Projects/JX/index.html JX] was created at the University of Erlangen. At it’s base is a microkernel that the basic Java Virtual Machine runs on which is similar to JavaOS. The system runs on the idea of domains where the microkernel runs at domain level zero and subsequent programs run in domain A, B, C, etc. Domains contain their own threads, heap and garbage collector and can communicate with other domains using portals. A portal is essentially the same as inter-process communication but using domains as processes instead &amp;lt;sup&amp;gt;[http://www.usenix.org/events/usenix02/full_papers/golm/golm.pdf]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
&lt;br /&gt;
Java is a powerful language that already contains the code necessary for running on many different platforms. With the concept of virtual machines for each individual application it provides a layer of security that not every operating system has. Each virtual machine has it’s own heap which keeps other processes from accessing and writing over already allocated memory since the kernel manages the memory paging. With the use of just-in-time (JIT) compilers, these operating systems can almost achieve comparable run times when compared to native compiled applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since all Java applications are compiled into the same set of bytecode, third-parties can develop their own implementation of the Java runtime. For example, Google has created the Dalvik Virtual Machine for use with the Android platform so it will run more efficiently on small devices while reducing the memory footprint &amp;lt;sup&amp;gt;[http://developer.android.com/guide/basics/what-is-android.html]&amp;lt;/sup&amp;gt;. Google has just recently released Android 2.2 which includes a new JIT compiler for their Dalvik Virtual Machine which can improve speeds of applications up to 2-5 times &amp;lt;sup&amp;gt;[http://android-developers.blogspot.com/2010/05/dalvik-jit.html]&amp;lt;/sup&amp;gt;. IBM also has their own version of the Java Virtual Machine, J9, that is used in many of their own pieces of software and also includes its own implementation of a JIT compiler.&lt;br /&gt;
&lt;br /&gt;
===Achievements===&lt;br /&gt;
&lt;br /&gt;
Android is probably one of the most well-known and mainstream Java based operating system currently on the market. Even though it’s the youngest of the operating systems discussed, it has become one of the newest standards for smartphones. With over 150 devices and counting, Android continues to grow and develop.&lt;br /&gt;
&lt;br /&gt;
===Problems===&lt;br /&gt;
&lt;br /&gt;
One major issue with using Java for an operating system is completely relying on the operating system and kernel to manage memory. Since Java is a garbage collecting language, developers do not have direct access to the memory and have to rely on the operating system to clean up after any objects have been left behind. This can be an issue with lower memory systems while running multiple applications at the same time.&lt;br /&gt;
&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
Each operating system has been created or worked on in the last ten years but some have either halted development or have not seen a major stable release in quite a while. JavaOS is still being maintained by Oracle after they had purchased Sun Microsystems. JNode has not seen an update in over a year and a half &amp;lt;sup&amp;gt;[http://sourceforge.net/projects/jnode/files/]&amp;lt;/sup&amp;gt;. JX also seems to be at a stand still in development with only a minor update after its 0.1 release &amp;lt;sup&amp;gt;[http://www4.informatik.uni-erlangen.de/Projects/JX/download-sources.html]&amp;lt;/sup&amp;gt;. Finally, Android is the most active with minor or major updates coming out every few months. The current state Android is in is Android 2.2 with Android 3.0 currently being hinted for quarter four of 2010 &amp;lt;sup&amp;gt;[http://www.techradar.com/news/phone-and-communications/mobile-phones/android-3-0-details-you-need-to-know-706243]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2841</id>
		<title>Talk:COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2841"/>
		<updated>2010-10-10T19:22:58Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: /* Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Discussion ==&lt;br /&gt;
I&#039;ve posted what I have written so far for the Java section, if anyone has any suggestion/corrections feel free to post them.&lt;br /&gt;
EDIT: I&#039;ve added the other sections of the Java based operating system.&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 16:50, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Re: Motivation. I had Smalltalk in mind when I roughed out the headings and it&#039;s pretty much what you suggested. But the headings are only a guideline. If you prefer a different structure for your sections feel free to improvise. As for format I am assuming an essay style.&lt;br /&gt;
&lt;br /&gt;
Re: SPIN. The ACM site has some stuff. You&#039;ll need your student card handy to get through the Carleton Library proxy.&lt;br /&gt;
&lt;br /&gt;
Here are a couple of links (you can find a TON more if you search for SPIN at the top of the portal): &lt;br /&gt;
&lt;br /&gt;
[http://portal.acm.org.proxy.library.carleton.ca/citation.cfm?id=380921.380940&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=108110330&amp;amp;CFTOKEN=12401653 Distributed LTL model-checking in SPIN]&lt;br /&gt;
&lt;br /&gt;
[http://portal.acm.org.proxy.library.carleton.ca/citation.cfm?id=380921.380935&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=108110330&amp;amp;CFTOKEN=12401653 Using SPIN for feature interaction analysis—a case study]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:25, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is all I could find on SPIN&lt;br /&gt;
&lt;br /&gt;
SPIN-An extensible microkernel for application-specific operating system devices [http://www.dtic.mil/cgi-bin/GetTRDoc?Location=U2&amp;amp;doc=GetTRDoc.pdf&amp;amp;AD=ADA293537]&lt;br /&gt;
&lt;br /&gt;
Extensibility, Safety and Performance in the SPIN Operating System [http://cseweb.ucsd.edu/~savage/papers/Sosp95.pdf]&lt;br /&gt;
&lt;br /&gt;
SPIN-Operating System [http://cs-pub.bu.edu/fac/richwest/cs591_w1/notes/spin.pdf]&lt;br /&gt;
&lt;br /&gt;
Lecture 9: SPIN operating system [http://www.youtube.com/watch?v=YE9uztJ_CFg]&lt;br /&gt;
&lt;br /&gt;
--[[User:Ymoussou|Youcef M.]] 16:06, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What is meant by &amp;quot;Motivation&amp;quot;? Would that be motivation to use the language for an operating system? Also, what format should we be doing this in? I&#039;m pretty much writing in an essay style for the overview to explain all of the operating systems in Java with an introduction and a paragraph for each of the systems. Then, I would fill out a paragraph or two for Motivation, Problems, etc. Does that seem fine? &lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:13, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a link to the main [http://www-spin.cs.washington.edu/ SPIN website].&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:40, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;ll start right away, but the reference link doesn&#039;t work...&lt;br /&gt;
 &lt;br /&gt;
--Youcef M. 15:06, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Welcome, Youcef. It would probably be best if you focused on one operating system for now. Nobody has claimed SPIN yet, the OS in Modula-3. Do you think you could dig into that? There&#039;s a good reference below.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 15:02, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hey guys I&#039;m in the group, sorry for not adding something yet. I&#039;ve been working on a table which has all the operating systems in those languages and comparing them to each other. But it was harder than I thought, I was trying to find where the OS&#039;s are similar and where they are different. It got a little bit long and random; I can find a lot of info on one OS but almost none on the other. Do you guys think its worth the trouble to finish it or should just forget about and keep up with you guys?&lt;br /&gt;
&lt;br /&gt;
--Youcef M. 14:41, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Particular to Squeak: [http://portal.acm.org.proxy.library.carleton.ca/ft_gateway.cfm?id=263754&amp;amp;type=pdf&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=107940135&amp;amp;CFTOKEN=78771329 Back to the Future - The Story of Squeak, A Practical Smalltalk Written in Itself]&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:29, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From an interview with Alan Kay, founder of Smalltalk, I tracked down a very useful history:&lt;br /&gt;
[http://portal.acm.org.proxy.library.carleton.ca/results.cfm?coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=107940135&amp;amp;CFTOKEN=78771329 The Early History of Smalltalk]. There happen to be some important foundational points in here (with references) that relate to other systems as well. For instance he explains how LISP was a vital part of how he came to understand the power of languages. Warning: it&#039;s quite long and I don&#039;t understand half of it.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:02, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;d be fine doing LISP, among throwing out anything good for the other languages I happen to come across.&lt;br /&gt;
&lt;br /&gt;
--[[User:ScottG|ScottG]] 21:27, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Okay, lets all put down our preferences here and set a reasonable deadline of Saturday at 23:59 for a cutoff. Smalltalk would be my top choice. Of course any contributions to any language will be welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:07, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I would love to do the Java section. I`ve done quite a bit of development on Android and have also read a complete book on how the Android operating system works. Of course, there are other OS`s to look at but I`m a big fan of Android so I`m always happy to write about it haha.&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:44, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I recommend we use the habit of putting more recent comments at the top in case this gets to be a longish list. I&#039;ve gone ahead and stubbed out a proposed structure. Please comment (thumbs up/down). If we all agree we can start dividing up the parts so we don&#039;t do the same work. We&#039;re lucky as a team to have such a nicely partitioned essay to write!&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:23, 8 October 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera (LISP) - http://en.wikipedia.org/wiki/Genera_(operating_system) &amp;lt;-- only for a reference for now&amp;lt;br&amp;gt;&lt;br /&gt;
SPIN (Modula) - http://www-spin.cs.washington.edu%2Fexternal%2Foverview.html&amp;lt;br&amp;gt;&lt;br /&gt;
Squeak (SmallTalk) - http://en.wikipedia.org/wiki/Squeak &amp;lt;-- only a reference, says it&#039;s a programming language but can be used as an OS&amp;lt;br&amp;gt;&lt;br /&gt;
JavaOS (Java) - http://java.sun.com/developer/products/JavaOS/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 00:16, 6 October 2010 (UTC) or Charles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Not a great site, but gives a nice breakdown of the main points of Squeak - http://www.visoracle.com/squeak/overview.html &amp;lt;br&amp;gt;&lt;br /&gt;
And a much longer, more in-depth Squeak page - http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/smalltalk1.html &amp;lt;br&amp;gt;&lt;br /&gt;
A nice breakdown for JavaOS - http://www.operating-system.org/betriebssystem/_english/bs-javaos.htm &amp;lt;br&amp;gt;&lt;br /&gt;
And a very nice PDF for Genera - http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=183015&amp;amp;tag=1 &amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:ScottG|ScottG]] 13:08, 6 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Java section: [http://developer.android.com/guide/basics/what-is-android.html What is Android] shows the limited role of DVM (Android&#039;s JVM).&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 14:31, 7 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_1_2010_Question_4&amp;diff=2840</id>
		<title>COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_1_2010_Question_4&amp;diff=2840"/>
		<updated>2010-10-10T19:21:57Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Question=&lt;br /&gt;
&lt;br /&gt;
What &amp;quot;operating systems&amp;quot; have been implemented in the following languages: LISP, Modula-3, Smalltalk, Java? To what extent do these systems match the capabilities of operating systems implemented in C and C++?&lt;br /&gt;
&lt;br /&gt;
=Team Note (to be removed by delivery date)=&lt;br /&gt;
&lt;br /&gt;
Please use the [[Talk:COMP_3000_Essay_1_2010_Question_4|discussion page]] for any planning and comments.&lt;br /&gt;
&lt;br /&gt;
=Answer=&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Not so long ago people believed the Earth was a flat world at the center of the universe. This essay addresses a more recent falsehood: that all operating systems are written in assembly language and C. It&#039;s not surprising that students of computing in this century would genuflect at the academic altars of Kernighan &amp;amp;amp; Ritchie. After all we grew up with our computer worlds already pre-formed into the conceptual continents of Apple OS, UNIX, and Windows. The more historically curious among us are vaguely aware that other island cultures do exist but they represent civilizations defeated in the marketplace. Explorations into these ancient worlds resemble documentaries about archeologists decoding rediscovered languages etched in stone. But scratch the surface of any of our so-called modern operating systems and you&#039;ll find echoes of these ancient languages in our own familiar worlds. Ellen Ullman said it best when she wrote, &amp;lt;blockquote&amp;gt;&#039;&#039;We build our computer systems like we build our cities: over time, without a plan, on top of ruins.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the sections below we present our explorations into a few truly foundational operating systems. We will also see some brand new ones that prove we stand, as one twelfth century scholar put it, [http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants on the shoulders of giants].&lt;br /&gt;
&lt;br /&gt;
The following is a short list of operating systems written partially or completely with the given language. We will go into more detail in the language-specific sections below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
|+ &#039;&#039;&#039;Operating Systems By Language&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Language&lt;br /&gt;
!width=&amp;quot;85%&amp;quot;|OS List&lt;br /&gt;
|-&lt;br /&gt;
! Lisp&lt;br /&gt;
| MIT&#039;s Lisp Machines, Genera&lt;br /&gt;
|-&lt;br /&gt;
! Modula-3&lt;br /&gt;
| SPIN OS&lt;br /&gt;
|-&lt;br /&gt;
! Smalltalk&lt;br /&gt;
| Smalltalk-80 on Xerox Alto, Squeak&lt;br /&gt;
|-&lt;br /&gt;
! Java&lt;br /&gt;
| JavaOS, JNode, JX, Android&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Lisp Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Modula-3 Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Smalltalk Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;The best way to predict the future is to invent it. -- Alan Kay&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your PC has a GUI with overlapping windows, a menu system, desktop icons, and a mouse pointer then you owe a debt to Alan Kay, the inventor of Smalltalk. Some of those ideas had appeared elsewhere in one form or another, but the first time they came together in a demonstrable form was in the early 1970s at Xerox&#039;s Palo Alto Research Center (Xerox PARC).&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Java Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
Java is used on a plethora of devices and systems throughout the industry from cell phones to web applets. With Java being a language that creates a virtual machine for each application, one would think that it is already suited to be an operating system in itself but this is not the case. Java is built to run on top of other operating systems such as Microsoft Windows, Mac OS X and Ubuntu Linux rather than being a standalone system. This section will discuss various operating systems that are written in Java such as JavaOS, Android, JNode and JX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://java.sun.com/developer/products/JavaOS/ JavaOS] is Sun Microsystems very own creation. This system runs on different layers to make a scalable and easily updateable operating system &amp;lt;sup&amp;gt;[http://java.sun.com/developer/products/JavaOS/OverView/index.html ]&amp;lt;/sup&amp;gt;. The first layer is the microkernel which handles the memory architecture, booting, interrupt handling, threading, traps and DMA handling. The Java Virtual Machine is also compiled into native code for the system and is run on top of the microkernel. The second layer consists of the JavaOS for Business software which extends the memory module to optimize for systems with limited memory&amp;lt;sup&amp;gt;[http://java.sun.com/developer/products/JavaOS/OverView/index.html ]&amp;lt;/sup&amp;gt;. All device drivers for the system are written and run in Java and are what the third layer is consisted of. Finally, the fourth layer is a stand-alone JDK runtime environment used to run user applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.android.com/  Android] was created by a very ambitious team at Google for use with cell phones. It is basically an operating system running on top of another minimalistic operating system. At the very lowest end of Android, a Linux 2.6 kernel is what powers it. All device drivers are written and compiled for the native hardware or compiled using Google’s Native Development Kit and core system libraries such as libc, OpenGL | ES and SQLite are dynamically linked in per application &amp;lt;sup&amp;gt;[http://developer.android.com/guide/basics/what-is-android.html]&amp;lt;/sup&amp;gt;. In the Android runtime, the Dalvik Virtual Machine (DVM) controls applications similar to the Java Virtual Machine. Dalvik is similar to the aforementioned JavaOS as it relies on the kernel to manage threading and low-level memory management. Running on top of the DVM are core libraries and application frameworks for the Android operating system. These frameworks include resource management, window management, notification manage just to name a few. Applications are then built on top of these frameworks and are the end result in which the user will actually interact with.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.jnode.org/ JNode] began as the Java Bootable System (JBS) in 1995. Ewout Prangsma, the creator, was unhappy with the amount of native C and assembly used for the system so he began a new project, JNode. JNode only uses a small amount of assembly code for booting the system now compared to the initial JBS &amp;lt;sup&amp;gt;[http://www.jnode.org/node/174]&amp;lt;/sup&amp;gt;. The rest of the system is completely written in Java including its graphical user interface. Applications in JNode are referred to as plugins &amp;lt;sup&amp;gt;[http://www.jnode.org/node/175]&amp;lt;/sup&amp;gt; including the device drivers, filesystems, networking and user applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www4.informatik.uni-erlangen.de/Projects/JX/index.html JX] was created at the University of Erlangen. At it’s base is a microkernel that the basic Java Virtual Machine runs on which is similar to JavaOS. The system runs on the idea of domains where the microkernel runs at domain level zero and subsequent programs run in domain A, B, C, etc. Domains contain their own threads, heap and garbage collector and can communicate with other domains using portals. A portal is essentially the same as inter-process communication but using domains as processes instead &amp;lt;sup&amp;gt;[http://www.usenix.org/events/usenix02/full_papers/golm/golm.pdf]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
&lt;br /&gt;
Java is a powerful language that already contains the code necessary for running on many different platforms. With the concept of virtual machines for each individual application it provides a layer of security that not every operating system has. Each virtual machine has it’s own heap and with the use of just-in-time (JIT) compilers can almost achieve comparable run times when compared to native compiled applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since all Java applications are compiled into the same set of bytecode, third-parties can develop their own implementation of the Java runtime. For example, Google has created the Dalvik Virtual Machine for use with the Android platform so it will run more efficiently on small devices while reducing the memory footprint &amp;lt;sup&amp;gt;[http://developer.android.com/guide/basics/what-is-android.html]&amp;lt;/sup&amp;gt;. Google has just recently released Android 2.2 which includes a new JIT compiler for their Dalvik Virtual Machine which can improve speeds of applications up to 2-5 times &amp;lt;sup&amp;gt;[http://android-developers.blogspot.com/2010/05/dalvik-jit.html]&amp;lt;/sup&amp;gt;. IBM also has their own version of the Java Virtual Machine, J9, that is used in many of their own pieces of software and also includes its own implementation of a JIT compiler.&lt;br /&gt;
&lt;br /&gt;
===Achievements===&lt;br /&gt;
&lt;br /&gt;
Android is probably one of the most well-known and mainstream Java based operating system currently on the market. Even though it’s the youngest of the operating systems discussed, it has become one of the newest standards for smartphones. With over 150 devices and counting, Android continues to grow and develop.&lt;br /&gt;
&lt;br /&gt;
===Problems===&lt;br /&gt;
&lt;br /&gt;
One major issue with using Java for an operating system is completely relying on the operating system and kernel to manage memory. Since Java is a garbage collecting language, developers do not have direct access to the memory and have to rely on the operating system to clean up after any objects have been left behind. This can be an issue with lower memory systems while running multiple applications at the same time.&lt;br /&gt;
&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
Each operating system has been created or worked on in the last ten years but some have either halted development or have not seen a major stable release in quite a while. JavaOS is still being maintained by Oracle after they had purchased Sun Microsystems. JNode has not seen an update in over a year and a half &amp;lt;sup&amp;gt;[http://sourceforge.net/projects/jnode/files/]&amp;lt;/sup&amp;gt;. JX also seems to be at a stand still in development with only a minor update after its 0.1 release &amp;lt;sup&amp;gt;[http://www4.informatik.uni-erlangen.de/Projects/JX/download-sources.html]&amp;lt;/sup&amp;gt;. Finally, Android is the most active with minor or major updates coming out every few months. The current state Android is in is Android 2.2 with Android 3.0 currently being hinted for quarter four of 2010 &amp;lt;sup&amp;gt;[http://www.techradar.com/news/phone-and-communications/mobile-phones/android-3-0-details-you-need-to-know-706243]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_1_2010_Question_4&amp;diff=2804</id>
		<title>COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_1_2010_Question_4&amp;diff=2804"/>
		<updated>2010-10-10T16:52:32Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Question=&lt;br /&gt;
&lt;br /&gt;
What &amp;quot;operating systems&amp;quot; have been implemented in the following languages: LISP, Modula-3, Smalltalk, Java? To what extent do these systems match the capabilities of operating systems implemented in C and C++?&lt;br /&gt;
&lt;br /&gt;
=Team Note (to be removed by delivery date)=&lt;br /&gt;
&lt;br /&gt;
Please use the [[Talk:COMP_3000_Essay_1_2010_Question_4|discussion page]] for any planning and comments.&lt;br /&gt;
&lt;br /&gt;
=Answer=&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Not so long ago people believed the Earth was a flat world at the center of the universe. This essay addresses a more recent falsehood: that all operating systems are written in assembly language and C. It&#039;s not surprising that students of computing in this century would genuflect at the academic altars of Kernighan &amp;amp;amp; Ritchie. After all we grew up with our computer worlds already pre-formed into the conceptual continents of Apple OS, UNIX, and Windows. The more historically curious among us are vaguely aware that other island cultures do exist but they represent civilizations defeated in the marketplace. Explorations into these ancient worlds resemble documentaries about archeologists decoding rediscovered languages etched in stone. But scratch the surface of any of our so-called modern operating systems and you&#039;ll find echoes of these ancient languages in our own familiar worlds. Ellen Ullman said it best when she wrote, &amp;lt;blockquote&amp;gt;&#039;&#039;We build our computer systems like we build our cities: over time, without a plan, on top of ruins.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the sections below we present our explorations into a few truly foundational operating systems. We will also see some brand new ones that prove we stand, as one twelfth century scholar put it, [http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants on the shoulders of giants].&lt;br /&gt;
&lt;br /&gt;
The following is a short list of operating systems written partially or completely with the given language. We will go into more detail in the language-specific sections below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
|+ &#039;&#039;&#039;Operating Systems By Language&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Language&lt;br /&gt;
!width=&amp;quot;85%&amp;quot;|OS List&lt;br /&gt;
|-&lt;br /&gt;
! Lisp&lt;br /&gt;
| MIT&#039;s Lisp Machines, Genera&lt;br /&gt;
|-&lt;br /&gt;
! Modula-3&lt;br /&gt;
| SPIN OS&lt;br /&gt;
|-&lt;br /&gt;
! Smalltalk&lt;br /&gt;
| Smalltalk-80 on Xerox Alto, Squeak&lt;br /&gt;
|-&lt;br /&gt;
! Java&lt;br /&gt;
| JavaOS, JNode, JX, Android&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Lisp Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Modula-3 Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Smalltalk Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Java Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
Java is used on a plethora of devices and systems throughout the industry from cell phones to web applets. With Java being a language that creates a virtual machine for each application, one would think that it is already suited to be an operating system in itself but this is not the case. Java is built to run on top of other operating systems such as Microsoft Windows, Mac OS X and Ubuntu Linux rather than being a standalone system. This section will discuss various operating systems that are written in Java such as JavaOS, Android, JNode and JX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://java.sun.com/developer/products/JavaOS/ JavaOS] is Sun Microsystems very own creation. This system runs on different layers to make a scalable and easily updateable operating system &amp;lt;sup&amp;gt;[http://java.sun.com/developer/products/JavaOS/OverView/index.html ]&amp;lt;/sup&amp;gt;. The first layer is the microkernel which handles the memory architecture, booting, interrupt handling, threading, traps and DMA handling. The Java Virtual Machine is also compiled into native code for the system and is run on top of the microkernel. The second layer consists of the JavaOS for Business software which extends the memory module to optimize for systems with limited memory&amp;lt;sup&amp;gt;[http://java.sun.com/developer/products/JavaOS/OverView/index.html ]&amp;lt;/sup&amp;gt;. All device drivers for the system are written and run in Java and are what the third layer is consisted of. Finally, the fourth layer is a stand-alone JDK runtime environment used to run user applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.android.com/  Android] was created by a very ambitious team at Google for use with cell phones. It is basically an operating system running on top of another minimalistic operating system. At the very lowest end of Android, a Linux 2.6 kernel is what powers it. All device drivers are written and compiled for the native hardware or compiled using Google’s Native Development Kit and core system libraries such as libc, OpenGL | ES and SQLite are dynamically linked in per application &amp;lt;sup&amp;gt;[http://developer.android.com/guide/basics/what-is-android.html]&amp;lt;/sup&amp;gt;. In the Android runtime, the Dalvik Virtual Machine (DVM) controls applications similar to the Java Virtual Machine. Dalvik is similar to the aforementioned JavaOS as it relies on the kernel to manage threading and low-level memory management. Running on top of the DVM are core libraries and application frameworks for the Android operating system. These frameworks include resource management, window management, notification manage just to name a few. Applications are then built on top of these frameworks and are the end result in which the user will actually interact with.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.jnode.org/ JNode] began as the Java Bootable System (JBS) in 1995. Ewout Prangsma, the creator, was unhappy with the amount of native C and assembly used for the system so he began a new project, JNode. JNode only uses a small amount of assembly code for booting the system now compared to the initial JBS &amp;lt;sup&amp;gt;[http://www.jnode.org/node/174]&amp;lt;/sup&amp;gt;. The rest of the system is completely written in Java including its graphical user interface. Applications in JNode are referred to as plugins &amp;lt;sup&amp;gt;[http://www.jnode.org/node/175]&amp;lt;/sup&amp;gt; including the device drivers, filesystems, networking and user applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www4.informatik.uni-erlangen.de/Projects/JX/index.html JX] was created at the University of Erlangen. At it’s base is a microkernel that the basic Java Virtual Machine runs on which is similar to JavaOS. The system runs on the idea of domains where the microkernel runs at domain level zero and subsequent programs run in domain A, B, C, etc. Domains contain their own threads, heap and garbage collector and can communicate with other domains using portals. A portal is essentially the same as inter-process communication but using domains as processes instead &amp;lt;sup&amp;gt;[http://www.usenix.org/events/usenix02/full_papers/golm/golm.pdf]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
&lt;br /&gt;
Java is a powerful language that already contains the code necessary for running on many different platforms. With the concept of virtual machines for each individual application it provides a layer of security that not every operating system has. Each virtual machine has it’s own heap and with the use of just-in-time (JIT) compilers can almost achieve comparable run times when compared to native compiled applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since all Java applications are compiled into the same set of bytecode, third-parties can develop their own implementation of the Java runtime. For example, Google has created the Dalvik Virtual Machine for use with the Android platform so it will run more efficiently on small devices while reducing the memory footprint &amp;lt;sup&amp;gt;[http://developer.android.com/guide/basics/what-is-android.html]&amp;lt;/sup&amp;gt;. Google has just recently released Android 2.2 which includes a new JIT compiler for their Dalvik Virtual Machine which can improve speeds of applications up to 2-5 times &amp;lt;sup&amp;gt;[http://android-developers.blogspot.com/2010/05/dalvik-jit.html]&amp;lt;/sup&amp;gt;. IBM also has their own version of the Java Virtual Machine, J9, that is used in many of their own pieces of software and also includes its own implementation of a JIT compiler.&lt;br /&gt;
&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2800</id>
		<title>Talk:COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2800"/>
		<updated>2010-10-10T16:50:11Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Discussion ==&lt;br /&gt;
I&#039;ve posted what I have written so far for the Java section, if anyone has any suggestion/corrections feel free to post them.&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 16:50, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Re: Motivation. I had Smalltalk in mind when I roughed out the headings and it&#039;s pretty much what you suggested. But the headings are only a guideline. If you prefer a different structure for your sections feel free to improvise. As for format I am assuming an essay style.&lt;br /&gt;
&lt;br /&gt;
Re: SPIN. The ACM site has some stuff. You&#039;ll need your student card handy to get through the Carleton Library proxy.&lt;br /&gt;
&lt;br /&gt;
Here are a couple of links (you can find a TON more if you search for SPIN at the top of the portal): &lt;br /&gt;
&lt;br /&gt;
[http://portal.acm.org.proxy.library.carleton.ca/citation.cfm?id=380921.380940&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=108110330&amp;amp;CFTOKEN=12401653 Distributed LTL model-checking in SPIN]&lt;br /&gt;
&lt;br /&gt;
[http://portal.acm.org.proxy.library.carleton.ca/citation.cfm?id=380921.380935&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=108110330&amp;amp;CFTOKEN=12401653 Using SPIN for feature interaction analysis—a case study]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:25, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is all I could find on SPIN&lt;br /&gt;
&lt;br /&gt;
SPIN-An extensible microkernel for application-specific operating system devices [http://www.dtic.mil/cgi-bin/GetTRDoc?Location=U2&amp;amp;doc=GetTRDoc.pdf&amp;amp;AD=ADA293537]&lt;br /&gt;
&lt;br /&gt;
Extensibility, Safety and Performance in the SPIN Operating System [http://cseweb.ucsd.edu/~savage/papers/Sosp95.pdf]&lt;br /&gt;
&lt;br /&gt;
SPIN-Operating System [http://cs-pub.bu.edu/fac/richwest/cs591_w1/notes/spin.pdf]&lt;br /&gt;
&lt;br /&gt;
Lecture 9: SPIN operating system [http://www.youtube.com/watch?v=YE9uztJ_CFg]&lt;br /&gt;
&lt;br /&gt;
--[[User:Ymoussou|Youcef M.]] 16:06, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What is meant by &amp;quot;Motivation&amp;quot;? Would that be motivation to use the language for an operating system? Also, what format should we be doing this in? I&#039;m pretty much writing in an essay style for the overview to explain all of the operating systems in Java with an introduction and a paragraph for each of the systems. Then, I would fill out a paragraph or two for Motivation, Problems, etc. Does that seem fine? &lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:13, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a link to the main [http://www-spin.cs.washington.edu/ SPIN website].&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:40, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;ll start right away, but the reference link doesn&#039;t work...&lt;br /&gt;
 &lt;br /&gt;
--Youcef M. 15:06, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Welcome, Youcef. It would probably be best if you focused on one operating system for now. Nobody has claimed SPIN yet, the OS in Modula-3. Do you think you could dig into that? There&#039;s a good reference below.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 15:02, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hey guys I&#039;m in the group, sorry for not adding something yet. I&#039;ve been working on a table which has all the operating systems in those languages and comparing them to each other. But it was harder than I thought, I was trying to find where the OS&#039;s are similar and where they are different. It got a little bit long and random; I can find a lot of info on one OS but almost none on the other. Do you guys think its worth the trouble to finish it or should just forget about and keep up with you guys?&lt;br /&gt;
&lt;br /&gt;
--Youcef M. 14:41, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Particular to Squeak: [http://portal.acm.org.proxy.library.carleton.ca/ft_gateway.cfm?id=263754&amp;amp;type=pdf&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=107940135&amp;amp;CFTOKEN=78771329 Back to the Future - The Story of Squeak, A Practical Smalltalk Written in Itself]&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:29, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From an interview with Alan Kay, founder of Smalltalk, I tracked down a very useful history:&lt;br /&gt;
[http://portal.acm.org.proxy.library.carleton.ca/results.cfm?coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=107940135&amp;amp;CFTOKEN=78771329 The Early History of Smalltalk]. There happen to be some important foundational points in here (with references) that relate to other systems as well. For instance he explains how LISP was a vital part of how he came to understand the power of languages. Warning: it&#039;s quite long and I don&#039;t understand half of it.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:02, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;d be fine doing LISP, among throwing out anything good for the other languages I happen to come across.&lt;br /&gt;
&lt;br /&gt;
--[[User:ScottG|ScottG]] 21:27, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Okay, lets all put down our preferences here and set a reasonable deadline of Saturday at 23:59 for a cutoff. Smalltalk would be my top choice. Of course any contributions to any language will be welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:07, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I would love to do the Java section. I`ve done quite a bit of development on Android and have also read a complete book on how the Android operating system works. Of course, there are other OS`s to look at but I`m a big fan of Android so I`m always happy to write about it haha.&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:44, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I recommend we use the habit of putting more recent comments at the top in case this gets to be a longish list. I&#039;ve gone ahead and stubbed out a proposed structure. Please comment (thumbs up/down). If we all agree we can start dividing up the parts so we don&#039;t do the same work. We&#039;re lucky as a team to have such a nicely partitioned essay to write!&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:23, 8 October 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera (LISP) - http://en.wikipedia.org/wiki/Genera_(operating_system) &amp;lt;-- only for a reference for now&amp;lt;br&amp;gt;&lt;br /&gt;
SPIN (Modula) - http://www-spin.cs.washington.edu%2Fexternal%2Foverview.html&amp;lt;br&amp;gt;&lt;br /&gt;
Squeak (SmallTalk) - http://en.wikipedia.org/wiki/Squeak &amp;lt;-- only a reference, says it&#039;s a programming language but can be used as an OS&amp;lt;br&amp;gt;&lt;br /&gt;
JavaOS (Java) - http://java.sun.com/developer/products/JavaOS/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 00:16, 6 October 2010 (UTC) or Charles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Not a great site, but gives a nice breakdown of the main points of Squeak - http://www.visoracle.com/squeak/overview.html &amp;lt;br&amp;gt;&lt;br /&gt;
And a much longer, more in-depth Squeak page - http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/smalltalk1.html &amp;lt;br&amp;gt;&lt;br /&gt;
A nice breakdown for JavaOS - http://www.operating-system.org/betriebssystem/_english/bs-javaos.htm &amp;lt;br&amp;gt;&lt;br /&gt;
And a very nice PDF for Genera - http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=183015&amp;amp;tag=1 &amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:ScottG|ScottG]] 13:08, 6 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Java section: [http://developer.android.com/guide/basics/what-is-android.html What is Android] shows the limited role of DVM (Android&#039;s JVM).&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 14:31, 7 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_1_2010_Question_4&amp;diff=2798</id>
		<title>COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=COMP_3000_Essay_1_2010_Question_4&amp;diff=2798"/>
		<updated>2010-10-10T16:49:04Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Question=&lt;br /&gt;
&lt;br /&gt;
What &amp;quot;operating systems&amp;quot; have been implemented in the following languages: LISP, Modula-3, Smalltalk, Java? To what extent do these systems match the capabilities of operating systems implemented in C and C++?&lt;br /&gt;
&lt;br /&gt;
=Team Note (to be removed by delivery date)=&lt;br /&gt;
&lt;br /&gt;
Please use the [[Talk:COMP_3000_Essay_1_2010_Question_4|discussion page]] for any planning and comments.&lt;br /&gt;
&lt;br /&gt;
=Answer=&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Not so long ago people believed the Earth was a flat world at the center of the universe. This essay addresses a more recent falsehood: that all operating systems are written in assembly language and C. It&#039;s not surprising that students of computing in this century would genuflect at the academic altars of Kernighan &amp;amp;amp; Ritchie. After all we grew up with our computer worlds already pre-formed into the conceptual continents of Apple OS, UNIX, and Windows. The more historically curious among us are vaguely aware that other island cultures do exist but they represent civilizations defeated in the marketplace. Explorations into these ancient worlds resemble documentaries about archeologists decoding rediscovered languages etched in stone. But scratch the surface of any of our so-called modern operating systems and you&#039;ll find echoes of these ancient languages in our own familiar worlds. Ellen Ullman said it best when she wrote, &amp;lt;blockquote&amp;gt;&#039;&#039;We build our computer systems like we build our cities: over time, without a plan, on top of ruins.&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the sections below we present our explorations into a few truly foundational operating systems. We will also see some brand new ones that prove we stand, as one twelfth century scholar put it, [http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants on the shoulders of giants].&lt;br /&gt;
&lt;br /&gt;
The following is a short list of operating systems written partially or completely with the given language. We will go into more detail in the language-specific sections below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
|+ &#039;&#039;&#039;Operating Systems By Language&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!width=&amp;quot;15%&amp;quot;|Language&lt;br /&gt;
!width=&amp;quot;85%&amp;quot;|OS List&lt;br /&gt;
|-&lt;br /&gt;
! Lisp&lt;br /&gt;
| MIT&#039;s Lisp Machines, Genera&lt;br /&gt;
|-&lt;br /&gt;
! Modula-3&lt;br /&gt;
| SPIN OS&lt;br /&gt;
|-&lt;br /&gt;
! Smalltalk&lt;br /&gt;
| Smalltalk-80 on Xerox Alto, Squeak&lt;br /&gt;
|-&lt;br /&gt;
! Java&lt;br /&gt;
| JavaOS, JNode, JX, Android&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Lisp Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Modula-3 Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Smalltalk Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
===Motivation===&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
==Java Based==&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
Java is used on a plethora of devices and systems throughout the industry from cell phones to web applets. With Java being a language that creates a virtual machine for each application, one would think that it is already suited to be an operating system in itself but this is not the case. Java is built to run on top of other operating systems such as Microsoft Windows, Mac OS X and Ubuntu Linux rather than being a standalone system. This section will discuss various operating systems that are written in Java such as JavaOS, Android, JNode and JX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://java.sun.com/developer/products/JavaOS/ JavaOS] is Sun Microsystems very own creation. This system runs on different layers to make a scalable and easily updateable operating system &amp;lt;sup&amp;gt;[http://java.sun.com/developer/products/JavaOS/OverView/index.html ]&amp;lt;/sup&amp;gt;. The first layer is the microkernel which handles the memory architecture, booting, interrupt handling, threading, traps and DMA handling. The Java Virtual Machine is also compiled into native code for the system and is run on top of the microkernel. The second layer consists of the JavaOS for Business software which extends the memory module to optimize for systems with limited memory&amp;lt;sup&amp;gt;[http://java.sun.com/developer/products/JavaOS/OverView/index.html ]&amp;lt;/sup&amp;gt;. All device drivers for the system are written and run in Java and are what the third layer is consisted of. Finally, the fourth layer is a stand-alone JDK runtime environment used to run user applications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.android.com/  Android] was created by a very ambitious team at Google for use with cell phones. It is basically an operating system running on top of another minimalistic operating system. At the very lowest end of Android, a Linux 2.6 kernel is what powers it. All device drivers are written and compiled for the native hardware or compiled using Google’s Native Development Kit and core system libraries such as libc, OpenGL | ES and SQLite are dynamically linked in per application &amp;lt;sup&amp;gt;[http://developer.android.com/guide/basics/what-is-android.html]&amp;lt;/sup&amp;gt;. In the Android runtime, the Dalvik Virtual Machine (DVM) controls applications similar to the Java Virtual Machine. Dalvik is similar to the aforementioned JavaOS as it relies on the kernel to manage threading and low-level memory management. Running on top of the DVM are core libraries and application frameworks for the Android operating system. These frameworks include resource management, window management, notification manage just to name a few. Applications are then built on top of these frameworks and are the end result in which the user will actually interact with.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.jnode.org/ JNode] began as the Java Bootable System (JBS) in 1995. Ewout Prangsma, the creator, was unhappy with the amount of native C and assembly used for the system so he began a new project, JNode. JNode only uses a small amount of assembly code for booting the system now compared to the initial JBS &amp;lt;sup&amp;gt;[http://www.jnode.org/node/174]&amp;lt;/sup&amp;gt;. The rest of the system is completely written in Java including its graphical user interface. Applications in JNode are referred to as plugins &amp;lt;sup&amp;gt;[http://www.jnode.org/node/175]&amp;lt;/sup&amp;gt; including the device drivers, filesystems, networking and user applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www4.informatik.uni-erlangen.de/Projects/JX/index.html JX] was created at the University of Erlangen. At it’s base is a microkernel that the basic Java Virtual Machine runs on which is similar to JavaOS. The system runs on the idea of domains where the microkernel runs at domain level zero and subsequent programs run in domain A, B, C, etc. Domains contain their own threads, heap and garbage collector and can communicate with other domains using portals. A portal is essentially the same as inter-process communication but using domains as processes instead &amp;lt;sup&amp;gt;[http://www.usenix.org/events/usenix02/full_papers/golm/golm.pdf]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Motivation===&lt;br /&gt;
&lt;br /&gt;
Java is a powerful language that already contains the code necessary for running on many different platforms. With the concept of virtual machines for each individual application it provides a layer of security that not every operating system has. Each virtual machine has it’s own heap and with the use of just-in-time (JIT) compilers can almost achieve comparable run times when compared to native compiled applications. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since all Java applications are compiled into the same set of bytecode, third-parties can develop their own implementation of the Java runtime. For example, Google has created the Dalvik Virtual Machine for use with the Android platform so it will run more efficiently on small devices while reducing the memory footprint &amp;lt;sup&amp;gt;[http://developer.android.com/guide/basics/what-is-android.html]&amp;lt;/sup&amp;gt;. Google has just recently released Android 2.2 which includes a new JIT compiler for their Dalvik Virtual Machine which can improve speeds of applications up to 2-5 times &amp;lt;sup&amp;gt;[http://android-developers.blogspot.com/2010/05/dalvik-jit.html]&amp;lt;/sup&amp;gt;. IBM also has their own version of the Java Virtual Machine that is used in many of their own pieces of software and also includes its own implementation of a JIT compiler.&lt;br /&gt;
&lt;br /&gt;
===Achievements===&lt;br /&gt;
===Problems===&lt;br /&gt;
===Current Status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2773</id>
		<title>Talk:COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2773"/>
		<updated>2010-10-10T15:20:27Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Discussion ==&lt;br /&gt;
What is meant by &amp;quot;Motivation&amp;quot;? Would that be motivation to use the language for an operating system? Also, what format should we be doing this in? I&#039;m pretty much writing in an essay style for the overview to explain all of the operating systems in Java with an introduction and a paragraph for each of the systems. Then, I would fill out a paragraph or two for Motivation, Problems, etc. Does that seem fine? &lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:13, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a link to the main [http://www-spin.cs.washington.edu/ SPIN website].&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:40, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;ll start right away, but the reference link doesn&#039;t work...&lt;br /&gt;
 &lt;br /&gt;
--Youcef M. 15:06, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Welcome, Youcef. It would probably be best if you focused on one operating system for now. Nobody has claimed SPIN yet, the OS in Modula-3. Do you think you could dig into that? There&#039;s a good reference below.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 15:02, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hey guys I&#039;m in the group, sorry for not adding something yet. I&#039;ve been working on a table which has all the operating systems in those languages and comparing them to each other. But it was harder than I thought, I was trying to find where the OS&#039;s are similar and where they are different. It got a little bit long and random; I can find a lot of info on one OS but almost none on the other. Do you guys think its worth the trouble to finish it or should just forget about and keep up with you guys?&lt;br /&gt;
&lt;br /&gt;
--Youcef M. 14:41, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Particular to Squeak: [http://portal.acm.org.proxy.library.carleton.ca/ft_gateway.cfm?id=263754&amp;amp;type=pdf&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=107940135&amp;amp;CFTOKEN=78771329 Back to the Future - The Story of Squeak, A Practical Smalltalk Written in Itself]&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:29, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From an interview with Alan Kay, founder of Smalltalk, I tracked down a very useful history:&lt;br /&gt;
[http://portal.acm.org.proxy.library.carleton.ca/results.cfm?coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=107940135&amp;amp;CFTOKEN=78771329 The Early History of Smalltalk]. There happen to be some important foundational points in here (with references) that relate to other systems as well. For instance he explains how LISP was a vital part of how he came to understand the power of languages. Warning: it&#039;s quite long and I don&#039;t understand half of it.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:02, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;d be fine doing LISP, among throwing out anything good for the other languages I happen to come across.&lt;br /&gt;
&lt;br /&gt;
--[[User:ScottG|ScottG]] 21:27, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Okay, lets all put down our preferences here and set a reasonable deadline of Saturday at 23:59 for a cutoff. Smalltalk would be my top choice. Of course any contributions to any language will be welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:07, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I would love to do the Java section. I`ve done quite a bit of development on Android and have also read a complete book on how the Android operating system works. Of course, there are other OS`s to look at but I`m a big fan of Android so I`m always happy to write about it haha.&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:44, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I recommend we use the habit of putting more recent comments at the top in case this gets to be a longish list. I&#039;ve gone ahead and stubbed out a proposed structure. Please comment (thumbs up/down). If we all agree we can start dividing up the parts so we don&#039;t do the same work. We&#039;re lucky as a team to have such a nicely partitioned essay to write!&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:23, 8 October 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera (LISP) - http://en.wikipedia.org/wiki/Genera_(operating_system) &amp;lt;-- only for a reference for now&amp;lt;br&amp;gt;&lt;br /&gt;
SPIN (Modula) - http://www-spin.cs.washington.edu%2Fexternal%2Foverview.html&amp;lt;br&amp;gt;&lt;br /&gt;
Squeak (SmallTalk) - http://en.wikipedia.org/wiki/Squeak &amp;lt;-- only a reference, says it&#039;s a programming language but can be used as an OS&amp;lt;br&amp;gt;&lt;br /&gt;
JavaOS (Java) - http://java.sun.com/developer/products/JavaOS/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 00:16, 6 October 2010 (UTC) or Charles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Not a great site, but gives a nice breakdown of the main points of Squeak - http://www.visoracle.com/squeak/overview.html &amp;lt;br&amp;gt;&lt;br /&gt;
And a much longer, more in-depth Squeak page - http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/smalltalk1.html &amp;lt;br&amp;gt;&lt;br /&gt;
A nice breakdown for JavaOS - http://www.operating-system.org/betriebssystem/_english/bs-javaos.htm &amp;lt;br&amp;gt;&lt;br /&gt;
And a very nice PDF for Genera - http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=183015&amp;amp;tag=1 &amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:ScottG|ScottG]] 13:08, 6 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Java section: [http://developer.android.com/guide/basics/what-is-android.html What is Android] shows the limited role of DVM (Android&#039;s JVM).&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 14:31, 7 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2771</id>
		<title>Talk:COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2771"/>
		<updated>2010-10-10T15:13:34Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Discussion ==&lt;br /&gt;
What is meant by &amp;quot;Motivation&amp;quot;? Would that be motivation to use the language for an operating system?&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:13, 10 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a link to the main [http://www-spin.cs.washington.edu/ SPIN website].&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:40, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;ll start right away, but the reference link doesn&#039;t work...&lt;br /&gt;
 &lt;br /&gt;
--Youcef M. 15:06, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Welcome, Youcef. It would probably be best if you focused on one operating system for now. Nobody has claimed SPIN yet, the OS in Modula-3. Do you think you could dig into that? There&#039;s a good reference below.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 15:02, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hey guys I&#039;m in the group, sorry for not adding something yet. I&#039;ve been working on a table which has all the operating systems in those languages and comparing them to each other. But it was harder than I thought, I was trying to find where the OS&#039;s are similar and where they are different. It got a little bit long and random; I can find a lot of info on one OS but almost none on the other. Do you guys think its worth the trouble to finish it or should just forget about and keep up with you guys?&lt;br /&gt;
&lt;br /&gt;
--Youcef M. 14:41, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Particular to Squeak: [http://portal.acm.org.proxy.library.carleton.ca/ft_gateway.cfm?id=263754&amp;amp;type=pdf&amp;amp;coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=107940135&amp;amp;CFTOKEN=78771329 Back to the Future - The Story of Squeak, A Practical Smalltalk Written in Itself]&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:29, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From an interview with Alan Kay, founder of Smalltalk, I tracked down a very useful history:&lt;br /&gt;
[http://portal.acm.org.proxy.library.carleton.ca/results.cfm?coll=ACM&amp;amp;dl=ACM&amp;amp;CFID=107940135&amp;amp;CFTOKEN=78771329 The Early History of Smalltalk]. There happen to be some important foundational points in here (with references) that relate to other systems as well. For instance he explains how LISP was a vital part of how he came to understand the power of languages. Warning: it&#039;s quite long and I don&#039;t understand half of it.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:02, 9 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;d be fine doing LISP, among throwing out anything good for the other languages I happen to come across.&lt;br /&gt;
&lt;br /&gt;
--[[User:ScottG|ScottG]] 21:27, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Okay, lets all put down our preferences here and set a reasonable deadline of Saturday at 23:59 for a cutoff. Smalltalk would be my top choice. Of course any contributions to any language will be welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 16:07, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I would love to do the Java section. I`ve done quite a bit of development on Android and have also read a complete book on how the Android operating system works. Of course, there are other OS`s to look at but I`m a big fan of Android so I`m always happy to write about it haha.&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:44, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I recommend we use the habit of putting more recent comments at the top in case this gets to be a longish list. I&#039;ve gone ahead and stubbed out a proposed structure. Please comment (thumbs up/down). If we all agree we can start dividing up the parts so we don&#039;t do the same work. We&#039;re lucky as a team to have such a nicely partitioned essay to write!&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:23, 8 October 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera (LISP) - http://en.wikipedia.org/wiki/Genera_(operating_system) &amp;lt;-- only for a reference for now&amp;lt;br&amp;gt;&lt;br /&gt;
SPIN (Modula) - http://www-spin.cs.washington.edu%2Fexternal%2Foverview.html&amp;lt;br&amp;gt;&lt;br /&gt;
Squeak (SmallTalk) - http://en.wikipedia.org/wiki/Squeak &amp;lt;-- only a reference, says it&#039;s a programming language but can be used as an OS&amp;lt;br&amp;gt;&lt;br /&gt;
JavaOS (Java) - http://java.sun.com/developer/products/JavaOS/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 00:16, 6 October 2010 (UTC) or Charles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Not a great site, but gives a nice breakdown of the main points of Squeak - http://www.visoracle.com/squeak/overview.html &amp;lt;br&amp;gt;&lt;br /&gt;
And a much longer, more in-depth Squeak page - http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/smalltalk1.html &amp;lt;br&amp;gt;&lt;br /&gt;
A nice breakdown for JavaOS - http://www.operating-system.org/betriebssystem/_english/bs-javaos.htm &amp;lt;br&amp;gt;&lt;br /&gt;
And a very nice PDF for Genera - http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=183015&amp;amp;tag=1 &amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:ScottG|ScottG]] 13:08, 6 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Java section: [http://developer.android.com/guide/basics/what-is-android.html What is Android] shows the limited role of DVM (Android&#039;s JVM).&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 14:31, 7 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2549</id>
		<title>Talk:COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2549"/>
		<updated>2010-10-08T15:44:34Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Discussion ==&lt;br /&gt;
&lt;br /&gt;
I would love to do the Java section. I`ve done quite a bit of development on Android and have also read a complete book on how the Android operating system works. Of course, there are other OS`s to look at but I`m a big fan of Android so I`m always happy to write about it haha.&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 15:44, 8 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I recommend we use the habit of putting more recent comments at the top in case this gets to be a longish list. I&#039;ve gone ahead and stubbed out a proposed structure. Please comment (thumbs up/down). If we all agree we can start dividing up the parts so we don&#039;t do the same work. We&#039;re lucky as a team to have such a nicely partitioned essay to write!&lt;br /&gt;
&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 13:23, 8 October 2010 (UTC) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera (LISP) - http://en.wikipedia.org/wiki/Genera_(operating_system) &amp;lt;-- only for a reference for now&amp;lt;br&amp;gt;&lt;br /&gt;
SPIN (Modula) - http://www-spin.cs.washington.edu%2Fexternal%2Foverview.html&amp;lt;br&amp;gt;&lt;br /&gt;
Squeak (SmallTalk) - http://en.wikipedia.org/wiki/Squeak &amp;lt;-- only a reference, says it&#039;s a programming language but can be used as an OS&amp;lt;br&amp;gt;&lt;br /&gt;
JavaOS (Java) - http://java.sun.com/developer/products/JavaOS/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 00:16, 6 October 2010 (UTC) or Charles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Not a great site, but gives a nice breakdown of the main points of Squeak - http://www.visoracle.com/squeak/overview.html &amp;lt;br&amp;gt;&lt;br /&gt;
And a much longer, more in-depth Squeak page - http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/smalltalk1.html &amp;lt;br&amp;gt;&lt;br /&gt;
A nice breakdown for JavaOS - http://www.operating-system.org/betriebssystem/_english/bs-javaos.htm &amp;lt;br&amp;gt;&lt;br /&gt;
And a very nice PDF for Genera - http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=183015&amp;amp;tag=1 &amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:ScottG|ScottG]] 13:08, 6 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Java section: [http://developer.android.com/guide/basics/what-is-android.html What is Android] shows the limited role of DVM (Android&#039;s JVM).&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Jjpwilso|Jjpwilso]] 14:31, 7 October 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2378</id>
		<title>Talk:COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2378"/>
		<updated>2010-10-06T00:16:16Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Discussion ==&lt;br /&gt;
&lt;br /&gt;
Genera (LISP) - http://en.wikipedia.org/wiki/Genera_(operating_system) &amp;lt;-- only for a reference for now&amp;lt;br&amp;gt;&lt;br /&gt;
SPIN (Modula) - http://www-spin.cs.washington.edu%2Fexternal%2Foverview.html&amp;lt;br&amp;gt;&lt;br /&gt;
Squeak (SmallTalk) - http://en.wikipedia.org/wiki/Squeak &amp;lt;-- only a reference, says it&#039;s a programming language but can be used as an OS&amp;lt;br&amp;gt;&lt;br /&gt;
JavaOS (Java) - http://java.sun.com/developer/products/JavaOS/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Selliot3|Selliot3]] 00:16, 6 October 2010 (UTC) or Charles&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2375</id>
		<title>Talk:COMP 3000 Essay 1 2010 Question 4</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Talk:COMP_3000_Essay_1_2010_Question_4&amp;diff=2375"/>
		<updated>2010-10-06T00:13:59Z</updated>

		<summary type="html">&lt;p&gt;Selliot3: Created page with &amp;#039;Genera (LISP) - http://en.wikipedia.org/wiki/Genera_(operating_system) &amp;lt;-- only for a reference for now&amp;lt;br&amp;gt; SPIN (Modula) - http://www-spin.cs.washington.edu%2Fexternal%2Fovervie…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Genera (LISP) - http://en.wikipedia.org/wiki/Genera_(operating_system) &amp;lt;-- only for a reference for now&amp;lt;br&amp;gt;&lt;br /&gt;
SPIN (Modula) - http://www-spin.cs.washington.edu%2Fexternal%2Foverview.html&amp;lt;br&amp;gt;&lt;br /&gt;
Squeak (SmallTalk) - http://en.wikipedia.org/wiki/Squeak &amp;lt;-- only a reference, says it&#039;s a programming language but can be used as an OS&amp;lt;br&amp;gt;&lt;br /&gt;
JavaOS (Java) - http://java.sun.com/developer/products/JavaOS/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
- Charles&lt;/div&gt;</summary>
		<author><name>Selliot3</name></author>
	</entry>
</feed>