\documentclass[11pt]{article}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{epstopdf}
\DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `dirname #1`/`basename #1 .tif`.png}

\textwidth = 6.5 in
\textheight = 9 in
\oddsidemargin = 0.0 in
\evensidemargin = 0.0 in
\topmargin = 0.0 in
\headheight = 0.0 in
\headsep = 0.0 in
\parskip = 0.2in
\parindent = 0.0in

\newtheorem{theorem}{Theorem}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{definition}{Definition}

\title{Operating Systems Class Notes}
\author{Burton Rosenberg}
\begin{document}
\maketitle


\subsection{Introduction}

\begin{enumerate}

\item Definition of an Operating System
\begin{enumerate}
\item A resource allocator
\item A (command and) control program
\item A layer between hardware and application programs
\end{enumerate}

\item An implementation of software abstractions
\begin{enumerate}
\item Process
\item Memory
\item File
\item Device
\end{enumerate}

\item Software layers
\begin{enumerate}
\item Hardware
\item Firmware
\item Kernel (lower half of an Operating System)
\item System programs (upper half of an Operating System)
\item System services (OS specific or OS independent)
\item Application programs
\item Scripting Languages, Macros, Document formats
\end{enumerate}

\item Hardware
\begin{enumerate}
\item Memory (various flavors)
   \begin{enumerate}
   \item Hierarchy: speed, volatility, size
   \item Access and visibility: direct (linear or flat), mapped, mountable
   \item Bootstrap/flash, Princeton versus Harvard
   \item Virtual memory
   \end{enumerate}
\item CPU (one or more)
  \begin{enumerate}
  \item Uniprocessor. Pipelines, superscalar.
  \item Symmetric or asymmetric multiple processor (SMP)
  \item Clustering (and blade) (no longer a hardware architecture)
  \end{enumerate}
\item Buses
  \begin{enumerate}
  \item local buses
  \item bridges
  \item peripheral buses
  \end{enumerate}
\item Device Controllers (drivers)
  \begin{enumerate}
  \item Drivers, IO subsystems.
  \item Interrupts and DMA
  \end{enumerate}
\end{enumerate}

\item Processes
\begin{enumerate}
\item Multipgrogramming (no waiting --- efficient use of resources)
\item Multitasking (time-sharing) (simultaneous processes)
\item Scheduling, interrupts, preemption
\item Threads
\end{enumerate}

\item Memory
\begin{enumerate}
\item Virtual and Physical Memory
\item Paging and Swapping
\end{enumerate}

\item Storage
\begin{enumerate}
\item Files
\item Caching
\item Scheduling
\end{enumerate}

\item Protection
\begin{enumerate}
\item Traps, exceptions
\item Protection modes --- kernel and user
\end{enumerate}


\end{enumerate}




 \end{document} 