%\documentclass[colorBG,slideColor,troispoints,pdf]{prosper} \documentclass[colorBG,total,slideColor,pdf]{prosper} %\documentclass[colorBG,slideColor,ps]{prosper} \usepackage{alltt,key,xr,cols,rcs,acro,nick,% graphicx,varioref,explanation,booktabs,multicol,moreverb} %\usepackage[nolineno,noindent]{lgrind} \usepackage[norule,bottom]{footmisc} %\definecolor{green}{rgb}{0,1,0} \RCS $Revision: 1.0 $ \renewcommand*{\bs}{\texttt{\char '134}} % Backslash `\' \newcommand*{\subject}{Operating Systems and Systems Integration} \newcommand*{\emphcolour}[1]{\emph{\red#1}} \providecommand*{\RPM}{\acro{RPM}\xspace} \providecommand*{\CD}{\acro{CD}\xspace} \providecommand*{\IPC}{\acro{IPC}\xspace} \providecommand*{\UID}{\acro{UID}\xspace} \providecommand*{\GID}{\acro{GID}\xspace} \providecommand*{\SMP}{\acro{SMP}\xspace} \providecommand*{\API}{\acro{API}\xspace} \providecommand*{\OK}{\acro{OK}\xspace} \providecommand*{\IETF}{\acro{OK}\xspace} \providecommand*{\MS}{\acro{MS}\xspace} \providecommand*{\IOS}{\acro{IOS}\xspace} \providecommand*{\NETBIOS}{Net\acro{BIOS}\xspace} \providecommand*{\SMTP}{\acro{SMTP}\xspace} \providecommand*{\RADIUS}{\acro{RADIUS}\xspace} \providecommand*{\NTP}{\acro{NTP}\xspace} \providecommand*{\NNTP}{\acro{NNTP}\xspace} \providecommand*{\POP}{\acro{POP}\xspace} \providecommand*{\IMAP}{\acro{IMAP}\xspace} \providecommand*{\IPX}{\acro{IPX}\xspace} \providecommand*{\CAT}{\acro{CAT}\xspace} \providecommand*{\BDC}{\acro{BDC}\xspace} \providecommand*{\ADS}{\acro{ADS}\xspace} \providecommand*{\ACL}{\acro{ACL}\xspace} \providecommand*{\NAS}{\acro{NAS}\xspace} \providecommand*{\XP}{\acro{XP}\xspace} \providecommand*{\VM}{\acro{VM}\xspace} \title{\mbox{}\blue{}Subject Summary} \subtitle{What You \emphcolour{Would} \blue{}have learned if you didn't skip classes\\{\footnotesize{}(True of only a small minority)}\\2002--2003} \author{Nick Urbanik \texttt{}\\ \footnotesize{}Copyright Conditions: GNU FDL (see \url{http://www.gnu.org/licenses/fdl.html})} \institution{A computing department} \slideCaption{OSSI --- Summary --- ver. \RCSRevision} %%\Logo{\includegraphics[width=15mm]{ict-logo-smaller}} \begin{document} \maketitle \begin{slide}{Main Topics} \begin{itemize} \item Shell Programming and \POSIX commands \item Free Software, Open Standards \item Operating System Structure, Open Standards %\item Booting an Operating System \item Processes and Threads \item Race Conditions, Locking and Deadlock \item Secure Shell \item Memory Management \item Input and Output \item Systems Integration \end{itemize} \end{slide} \begin{slide}{What did we Cover from Workshop Notes?} \begin{itemize} \item A burning question from \emphcolour{some} people in group W, and some \emphcolour{specific} people from other groups \item Answer is on the web site, reproduced here: \begin{itemize} \item Module 1, Overview \item Module 2, Basic Shell \item Module 3, Basic Tools \item Module 4, More Tools \item Module 5, Basic Filesystem \item Module 6, Finding Documentation \item Module 7, Administering User Accounts and Permissions \item Module 13, \SSH{} --- The Secure Shell \end{itemize} \end{itemize} \end{slide} \begin{slide}{Shell Programming, \POSIX commands} \begin{itemize} \item The first seven chapters of Workshop Notes introduced \POSIX commands \item The lectures on shell programming used these commands with the shell programming language \item You studied {\blue{}file permissions}, including \SUID, \SGID executables and \SGID directories %% \item You have (or should have) done a number of exercises in the %% laboratory and at home \item Study the lab exercises on shell programming \begin{itemize} \item There are solutions on the web site---examine them \emphcolour{closely} \end{itemize} \item {\mbox{}\green{}One exam question} relates to these topics \item {\mbox{}\green{}No need to memorise commands}: \emphcolour{appendices to exam} contain lots of information you can refer to, including an excerpt from lecture notes on the \texttt{sed} command. \end{itemize} \end{slide} \begin{slide}{Operating System Structure, Open Standards} \begin{itemize} \item We studied operating system structures: \begin{itemize} \item Monolithic kernel (Linux) \item Microkernel (Mach, Hurd, Windows \NT, 2000, \XP) \item Virtual Machine (Mainframes, Java \VM, VMware) \item Layered Architecture (Windows) \end{itemize} \item There was one lecture on Free Software and Open Standards \item We studied systems integration in two lectures \item Make sure you understand the lecture on the operating system kernel. \item {\mbox{}\green{}Most of an exam question} relates to these topics \end{itemize} \end{slide} \begin{slide}{Processes and Threads} \begin{itemize} \item In this long lecture, we covered many topics, including: \begin{itemize} \item Comparing processes and threads \begin{itemize} \item Make sure you understand the practical effect of the differences between threads and processes \end{itemize} \item Process states \item {\mbox{}\large\POSIX process creation --- \texttt{\red{}fork()}, \texttt{\red{}exec*()}, \texttt{\red{}wait()} and \texttt{\red{}exit()}} \begin{itemize} \item \ldots{} and using these to create a \emphcolour{simple interactive shell} \end{itemize} %% \item We covered the basics of Inter Process Communication (\IPC) %% in lectures, %% \begin{itemize} %% \item \ldots{} and in more detail in lab %% \item Don't miss that lab! %% \end{itemize} \end{itemize} \item {\mbox{}\green{}One exam question} relates to these topics \end{itemize} \end{slide} \begin{slide}{Locking, Race Conditions, Deadlock} \begin{itemize} \item The material came from the {\blue{}end of the lecture slides on Processes and Threads}, and a {\blue{}separate} lecture on Deadlock \begin{itemize} \item They really belong together \end{itemize} \item We covered \emphcolour{locking} mainly in relation to \POSIX threads \item We did a {\blue{}lab exercise} on Deadlock \item Understand the \emphcolour{purpose} of locking (understand, don't just memorise the notes) \item {\mbox{}\green{}One exam question} relates to these topics \end{itemize} \end{slide} \begin{slide}{Input and Output} \begin{itemize} \item This lecture focused on a number of things, including designing and partitioning hard disk systems with redundancy and flexibility. \begin{itemize} \item There is a case study involving {\blue{}\RAID and a volume manager} \end{itemize} \item {\mbox{}\green{}Half an exam question} relates to these topics \item For those who where out to lunch, \begin{itemize} \item I skipped the section of the notes on installing device drivers \end{itemize} \end{itemize} \end{slide} \begin{slide}{Secure Shell} \begin{itemize} \item We studied the lecture from Module 13 of the Workshop Notes \item We did a {\blue{}workshop} on the topic in the laboratory \begin{itemize} \item The main issues relate to the proper handling of keys \item Avoiding security risks \end{itemize} \item {\mbox{}\green{}Half an exam question} relates to this topic \end{itemize} \end{slide} \begin{slide}{Memory Management} \begin{itemize} \item We studied this topic in the lecture theatre \item We did a tutorial exercise on memory management\footnote{Except for Group W, who were ``out to lunch.''} \item {\mbox{}\green{}One exam question} relates to these topics \end{itemize} \end{slide} %% \begin{slide}{Systems Integration} %% \begin{itemize} %% \item We studied systems integration in two lectures %% \item Involves getting systems from many manufacturers to work %% together nicely, such as Windows, \UNIX, Linux and Macintosh %% \item We mentioned \LDAP %% \item We studied Samba in a workshop session, where we created a %% primary domain controller using Samba, adding Windows 2000 %% Professional to the domain %% \item {\mbox{}\green{}Part of one exam question} relates to these %% topics %% \end{itemize} %% \end{slide} \begin{slide}{Format of the Exam (2002--2003)} \begin{itemize} \item Has \emphcolour{six} questions \item Select \emphcolour{five} of them \item \emphcolour{All of equal value}, 20\% \end{itemize} \end{slide} \begin{slide}{Advice for the Exam} \begin{itemize} \item \emphcolour{Budget your time} wisely in the exam: \begin{itemize} \item Spend a few minutes to \emphcolour{decide which question} you will not attempt \item Divide remaining time by five \item Do \emphcolour{not} spend more than this time until you have answered five questions fully \end{itemize} \item {\mbox{}\green{}Show your working} \begin{itemize} \item A wrong answer with no working gets \emphcolour{zero} marks \item A wrong answer with some working that is on the right track gets \emphcolour{some} marks \end{itemize} \item If you are attempting the supplementary, study the solutions to the main exam on web site \texttt{:-)} \begin{itemize} \item but this is not enough to pass \texttt{:-(} \end{itemize} \end{itemize} \end{slide} \begin{slide}{Compared with past papers} \begin{itemize} \item This year's exam is different from past papers \item Teaching focusses on use of \emphcolour{C} and \emphcolour{system calls} much more than previously \begin{itemize} \item An appendix to the exam includes {\green{}function prototypes} for some system calls and library functions \end{itemize} \item Revising using previous exam papers: \begin{itemize} \item I will attempt to provide {\green{}solutions to previous exams} \item \mbox{}\emphcolour{Definitely not sufficient} for revision of whole course, however. \end{itemize} \end{itemize} \end{slide} \begin{slide}{Watch the Subject Web Site} \begin{itemize} \item Watch the web site for announcements: \item I will write and post \emphcolour{solutions} to problems as soon as I can. \item I made a \emphcolour{new icon} \raisebox{-0.25\totalheight}% {\includegraphics[scale=0.5]{new-solutions}} to highlight changes to solutions on the site, \begin{itemize} \item including solutions to problems I have written. \end{itemize} \end{itemize} \end{slide} \end{document}