<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=Operating_Systems_2019F_Lecture_12</id>
	<title>Operating Systems 2019F Lecture 12 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=Operating_Systems_2019F_Lecture_12"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Operating_Systems_2019F_Lecture_12&amp;action=history"/>
	<updated>2026-05-18T21:41:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Operating_Systems_2019F_Lecture_12&amp;diff=22517&amp;oldid=prev</id>
		<title>Soma: Created page with &quot;==Video==  Video of the lecture given on October 11, 2019 [https://homeostasis.scs.carleton.ca/~soma/os-2019f/lectures/comp3000-2019f-lec12-20191011.m4v is now available].  ==...&quot;</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Operating_Systems_2019F_Lecture_12&amp;diff=22517&amp;oldid=prev"/>
		<updated>2019-10-11T21:51:49Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Video==  Video of the lecture given on October 11, 2019 [https://homeostasis.scs.carleton.ca/~soma/os-2019f/lectures/comp3000-2019f-lec12-20191011.m4v is now available].  ==...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Video==&lt;br /&gt;
&lt;br /&gt;
Video of the lecture given on October 11, 2019 [https://homeostasis.scs.carleton.ca/~soma/os-2019f/lectures/comp3000-2019f-lec12-20191011.m4v is now available].&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
[https://homeostasis.scs.carleton.ca/~soma/os-2019f/solutions/assign2-sol.txt Assignment 2 solutions]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Midterm study guide&lt;br /&gt;
&lt;br /&gt;
* environment variables&lt;br /&gt;
  - how they work&lt;br /&gt;
  - where they are in memory&lt;br /&gt;
* wait&lt;br /&gt;
  - when it waits&lt;br /&gt;
  - when it doesn&amp;#039;t&lt;br /&gt;
  - what it really is for&lt;br /&gt;
* I/O redirection&lt;br /&gt;
  - how to do it&lt;br /&gt;
* umask&lt;br /&gt;
  - how it affects open calls, which kinds (when you create a file)&lt;br /&gt;
* system calls versus library calls (open, opendir, etc)&lt;br /&gt;
  - how the names aren&amp;#039;t always the same&lt;br /&gt;
* tty&amp;#039;s and standard in/out/error, /proc/&amp;lt;PID&amp;gt;/fd&lt;br /&gt;
* signal handlers&lt;br /&gt;
  - how to define&lt;br /&gt;
  - when called&lt;br /&gt;
  - interrupting system calls&lt;br /&gt;
* cd, working directory&lt;br /&gt;
* globbing, who does it&lt;br /&gt;
* UNIX pipes basics&lt;br /&gt;
* hard links versus symbolic links&lt;br /&gt;
* object files versus executable files&lt;br /&gt;
* inodes&lt;br /&gt;
  - permissions&lt;br /&gt;
  - times&lt;br /&gt;
* where local vars, funciton arguments, global vars, stack, heap, environment/command line args are all in a process&amp;#039;s memory relative to each other&lt;br /&gt;
* process creation, running programs (fork, execve, exit, wait)&lt;br /&gt;
* 3000copy (mmap &amp;amp; rw), sequence of operations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Difference between base pointer (%rbp) and the stack pointer (%rsp) registers.&lt;br /&gt;
 * stack pointer is used to maintain the stack, is automatically changed by&lt;br /&gt;
   instructions like call and ret&lt;br /&gt;
 * base pointer register is good for doing relative addressing&lt;br /&gt;
   - so good for accessing local variables and parameters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soma</name></author>
	</entry>
</feed>