-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex-spring2012.html
119 lines (117 loc) · 4.64 KB
/
index-spring2012.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<html>
<head>
<title>EECS 338, Spring 2012</title>
<link href="base-style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="nav.js"></script>
</head>
<body onLoad="nav('nav')">
<center>
<div class="content">
<div>
<h1>EECS 338: Operating Systems</h1>
<h2>Spring, 2012</h2>
</div>
<div>
<table cellspacing="20px">
<COLGROUP width="20%" />
<COLGROUP width="80%" />
<tr>
<td id="nav" valign="top"></td>
<td valign="top">
<!--
<h3>03/29/11: Java Threading</h3>
<p>
Java version of the Readers-Writers simulation is posted
<a href="https://github.com/cwru-eecs338/JavaThreader" >here</a>.
</p>
<h3>03/28/11: POSIX</h3>
<p>
Example using POSIX Semaphores and POSIX Threads Posted
<a href="https://github.com/cwru-eecs338/PosixExample">here</a>.
</p>
-->
<h3>03/20/12: Homework 4 Prep</h3>
<p>
We are going to review homework 4. Talk about what you are going to do and how
you are going to do it. The assignment sheet is a little unclear, so ask a
friend if you miss it!
</p>
<h3>03/06/12: Midterm Review</h3>
<p>
Bring questions.
</p>
<h3>02/28/12: System V Message Queues and Semaphore Review</h3>
<p>
We'll review writing semaphore-based algorithms for written assignments and introduce the API for message queues in
System V Unix, using the example code for a
<a href="https://github.com/cwru-eecs338/msg_chatbot">chatbot</a>.
</p>
<h3>02/21/12: System V Shared Memory and Monitors in Java</h3>
<p>
First, we'll review semaphores and introduce the API for shared memory in
System V Unix, using the same example code for the
<a href="https://github.com/cwru-eecs338/semaphores">bounded buffer problem</a>.
Then, we'll look at how monitors are implemented in Java, with example code for the
<a href="https://github.com/cwru-eecs338/java_monitors">dining philosophers problem</a>.
</p>
<h3>02/14/12: System V Semaphores</h3>
<p>
Introduce API for semaphores in System V Unix, with example code for the
<a href="https://github.com/cwru-eecs338/semaphores">bounded buffer problem</a>.
</p>
<h3>02/07/12: Pipes</h3>
<p>
Today, we'll talk about named and unnamed pipes in Unix. First, I'll show how
pipes can be used to implement communication between processes, with
<a href="https://github.com/cwru-eecs338/mario_pipe">this code example</a>.
Next, I'll talk about using pipes in the shell, with a brief introduction to
shell scripts. Then, I'll show how shell pipes can be implemented in C using
unnamed pipes and the <code>dup()</code> call, with
<a href="https://github.com/cwru-eecs338/pipes">this example</a>. Finally, I'll
show how to create and use named pipes from the shell.
</p>
<p>
With any remaining time, I'll discuss
<a href="https://github.com/cwru-eecs338/structs_getpwuid">structured types in C</a>,
which will be used in future assignments.
</p>
<h3>01/31/12: System Calls</h3>
<p>
The second recitation will focus on system calls. First, we will discuss how they
are implemented in the kernel, with
<a href="https://github.com/cwru-eecs338/hello_syscalls">an example</a> of
writing to standard out as a system call. Then, I will review an example of
<a href="https://github.com/cwru-eecs338/fork_and_exec"><code>fork()</code> and
<code>exec()</code></a>,
which will be required for your first assignment.
</p>
<p>
Other code examples from previous years describe
<a href="https://github.com/cwru-eecs338/syscall_examples">environment variable</a>
system calls, and
<a href="https://github.com/cwru-eecs338/organization_example">how you can organize</a>
a C program that consists of several files.
</p>
<p>
Some slides are available <a href="slides/C_and_System_Calls.pdf">here</a>, or
more generally, from the <a href="slides.html">slides page</a>.
</p>
<h3>01/24/12: First Recitation</h3>
<p>An <a href="intro.html">introduction to Linux</a>, which will be used for the
programming assignments. I reviewed <a href="https://github.com/cwru-eecs338/hello338">a very simple C program</a>, and
<a href="https://github.com/cwru-eecs338/c_basics">a description of some of the basics of C</a> for those of you used
to Java.</p>
<h3>Summary</h3>
<p>
This site will be updated with materials for the course during the semester.
Currently, any code will be hosted at <a href="https://github.com/cwru-eecs338">GitHub</a>
for easy access.
</p>
</td>
</tr>
</table>
</div>
</div>
</center>
</body>
</html>