fix error in lec 5, partway done lec 19
authorKyle Spaans <kspaans@student.math.uwaterloo.ca>
Wed, 15 Jul 2009 17:41:08 +0000 (13:41 -0400)
committerKyle Spaans <kspaans@student.math.uwaterloo.ca>
Wed, 15 Jul 2009 17:41:08 +0000 (13:41 -0400)
lec05-0519.tex
lec19-0714.tex [new file with mode: 0644]

index 3159ec4..d4b05e6 100644 (file)
@@ -28,10 +28,11 @@ gets context switched to was put to sleep from \texttt{thread\_sleep()} then
 it will eventually turn interrupts back on after continuing from the return
 from \texttt{thread\_sleep()}.
 
-Note that \texttt{thread\_wakeup()} will choose only a single thread to wakeup
-if there are more than one thread sleeping on a particular address. Also
+Note that \texttt{thread\_wakeup()} will wakeup every thread
+if there is more than one thread sleeping on a particular address. Also
 remember that \texttt{thread\_wakeup()} will not cause a context switch, it
-only moves thread to the ready queue, out of the sleeping queue.
+only moves thread to the ready queue, out of the sleeping queue. It is
+non-blocking.
 
 \subsection*{Implementing Locks}
 It should not be very hard to implement them, we just need to make sure that
diff --git a/lec19-0714.tex b/lec19-0714.tex
new file mode 100644 (file)
index 0000000..d5ec745
--- /dev/null
@@ -0,0 +1,37 @@
+\documentclass{article}
+\usepackage{fullpage}
+\usepackage{amsmath}
+\author{Kyle Spaans}
+\date{July 14, 2009}
+\title{Operating Systems Lecture Notes}
+\begin{document}
+\maketitle 
+
+\section*{Lecture 19 -- Disk Drives}
+The unit of access is a \textbf{block} (or sector) of a set size (usually
+512 bytes). Therefore the disk, or block device, can be thought of as an array
+of blocks. Internally though, the hard drive has geometry: sectors, tracks,
+platters, cylinders. The way it all works (spinning platters with moving
+read/write heads) has performance implications for the kernel. For example,
+sequential access is more efficient than random access. Knowing these details,
+and having information out where the data is on disk means the kernel can
+optimize requests to the disk drive for performance. This is similar to how
+the kernel masks the block size from user programs who are perfectly allowed
+to request single bytes.
+
+\subsection*{Seek Latency}
+Read/write heads have to \textbf{seek} to the correct cylinder on the platter
+before data can be read. This implies seek latency for most kinds of requests.
+We can model seek latency linearly, assuming that moving across $n$ cylinders
+takes $nt$ time no matter where the heads are on the platter.
+
+\subsection*{Sectors per track}
+Some hard drives have the same number of sectors per track on the inside and
+outside of the platter. These are called constant linear density drives or
+something like that. Other drives do not have a constant number of sectors
+per track. They will have a higher density towars the outside of the platter,
+and therefore higher transfer rates on that part of the disk.
+
+\subsection*{Rotational Latency}
+Rotational Latency is the amount of time the read/write heads
+\end{document}