\relax \ifx\hyper@anchor\@undefined \global \let \oldcontentsline\contentsline \gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} \global \let \oldnewlabel\newlabel \gdef \newlabel#1#2{\newlabelxx{#1}#2} \gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} \AtEndDocument{\let \contentsline\oldcontentsline \let \newlabel\oldnewlabel} \else \global \let \hyper@last\relax \fi \@writefile{toc}{\pcontentsline{1}{Introduction}{2}{2}{1}} \@writefile{toc}{\pcontentsline{0}{What is a process?}{2}{3}{}} \newlabel{sld:what-is-a-process-2}{{3}{3}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{What is a process? --- 2}{3}{4}{}} \@writefile{toc}{\pcontentsline{0}{What is a thread?}{4}{5}{}} \@writefile{toc}{\pcontentsline{0}{Program counter}{5}{6}{}} \@writefile{toc}{\pcontentsline{0}{Environment of a process}{6}{7}{}} \@writefile{toc}{\pcontentsline{0}{Permissions of a Process}{7}{8}{}} \@writefile{toc}{\pcontentsline{1}{Multitasking}{8}{8}{1}} \@writefile{toc}{\pcontentsline{0}{Multitasking}{8}{9}{}} \@writefile{toc}{\pcontentsline{0}{Multitasking --- 2}{9}{10}{}} \@writefile{toc}{\pcontentsline{0}{Multitasking --- 3}{10}{11}{}} \@writefile{toc}{\pcontentsline{1}{Start of Process}{11}{11}{1}} \@writefile{toc}{\pcontentsline{0}{Birth of a Process}{11}{12}{}} \@writefile{toc}{\pcontentsline{0}{Process tree}{12}{13}{}} \@writefile{toc}{\pcontentsline{1}{Scheduler}{13}{13}{1}} \@writefile{toc}{\pcontentsline{0}{Scheduler}{13}{14}{}} \@writefile{toc}{\pcontentsline{0}{When to Switch Processes?}{14}{15}{}} \@writefile{toc}{\pcontentsline{0}{Scheduling statistics: \texttt {vmstat}}{15}{16}{}} \@writefile{toc}{\pcontentsline{0}{Interrupts}{16}{17}{}} \@writefile{toc}{\pcontentsline{1}{Process States}{17}{17}{1}} \newlabel{sld:process-states}{{17}{17}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{Process States}{17}{18}{}} \@writefile{toc}{\pcontentsline{0}{What is Most Common State?}{18}{19}{}} \newlabel{sld:most-processes-are-blocked}{{19}{19}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{Most Processes are Blocked}{19}{20}{}} \@writefile{toc}{\pcontentsline{0}{Linux Process States}{20}{21}{}} \@writefile{toc}{\pcontentsline{0}{Linux Process States --- 2}{21}{22}{}} \@writefile{toc}{\pcontentsline{0}{Linux Process States --- 3}{22}{23}{}} \@writefile{toc}{\pcontentsline{0}{Process States: \texttt {vmstat}}{23}{24}{}} \@writefile{toc}{\pcontentsline{0}{Tools for monitoring processes}{24}{25}{}} \@writefile{toc}{\pcontentsline{0}{Monitoring processes in Win 2000}{25}{26}{}} \@writefile{toc}{\pcontentsline{1}{top}{26}{27}{1}} \newlabel{sld:top}{{27}{27}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{Process Monitoring --- \texttt {top}}{27}{28}{}} \newlabel{sld:top-load-average}{{28}{28}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{load average}{28}{29}{}} \newlabel{sld:top-process-states}{{29}{29}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{\texttt {top}: process states}{29}{30}{}} \newlabel{sld:top-and-memory}{{30}{30}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{top and memory}{30}{31}{}} \@writefile{toc}{\pcontentsline{0}{Virtual Memory: suspended processes}{31}{32}{}} \@writefile{toc}{\pcontentsline{0}{Suspended Processes}{32}{33}{}} \@writefile{toc}{\pcontentsline{1}{Process Control Blocks}{33}{34}{1}} \newlabel{sld:process-control-blocks}{{34}{34}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{OS Process Control Structures}{34}{35}{}} \newlabel{sld:what-is-in-a-pcb}{{35}{35}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{What is in a PCB}{35}{36}{}} \newlabel{sld:context-switch}{{36}{36}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{Context Switch}{36}{37}{}} \newlabel{sld:execution-context}{{37}{37}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{Execution Context}{37}{38}{}} \newlabel{sld:program-counter-in-pcb}{{38}{38}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{Program Counter in PCB}{38}{39}{}} \newlabel{sld:process-control-blocks-example-2}{{39}{39}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{PCB Example}{39}{40}{}} \newlabel{sld:process-control-blocks-example-diagram}{{40}{40}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{PCB Example Diagram}{40}{41}{}} \@writefile{toc}{\pcontentsline{0}{PCB Example --- Continued}{41}{42}{}} \newlabel{sld:address-of-io-instructions}{{42}{42}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{Address of I/O instructions}{42}{43}{}} \@writefile{toc}{\pcontentsline{1}{System Calls}{43}{44}{1}} \newlabel{process-system-calls}{{44}{44}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{System Calls}{44}{45}{}} \@writefile{toc}{\pcontentsline{1}{IPC}{45}{46}{1}} \@writefile{toc}{\pcontentsline{0}{Problem with Processes}{46}{47}{}} \@writefile{toc}{\pcontentsline{0}{Interprocess Communication (IPC)}{47}{48}{}} \@writefile{toc}{\pcontentsline{0}{IPC --- Shared Memory}{48}{49}{}} \@writefile{toc}{\pcontentsline{0}{IPC --- Signals}{49}{50}{}} \@writefile{toc}{\pcontentsline{0}{Signals and the Shell}{50}{51}{}} \@writefile{toc}{\pcontentsline{1}{Threads}{51}{52}{1}} \@writefile{toc}{\pcontentsline{0}{Threads and Processes}{52}{53}{}} \@writefile{toc}{\pcontentsline{0}{Threads have own\dots }{53}{54}{}} \@writefile{toc}{\pcontentsline{0}{Threads share a lot}{54}{55}{}} \@writefile{toc}{\pcontentsline{0}{Problem with threads:}{55}{56}{}} \@writefile{toc}{\pcontentsline{1}{Race Condition}{56}{57}{1}} \@writefile{toc}{\pcontentsline{0}{Race Conditions}{57}{58}{}} \@writefile{toc}{\pcontentsline{0}{Critical Sections}{58}{59}{}} \@writefile{toc}{\pcontentsline{0}{Race Condition --- one possibility}{59}{60}{}} \@writefile{toc}{\pcontentsline{0}{Example --- another possibility}{60}{61}{}} \newlabel{sld:intro-to-synchronisation}{{61}{61}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{Solution: Synchronisation}{61}{62}{}} \newlabel{sld:file-locking}{{62}{62}{\relax }{section*.1}{}} \@writefile{toc}{\pcontentsline{0}{File Locking}{62}{63}{}} \@writefile{toc}{\pcontentsline{1}{Summary and References}{63}{64}{1}} \@writefile{toc}{\pcontentsline{0}{Summary --- Process States, Scheduling}{64}{65}{}} \@writefile{toc}{\pcontentsline{0}{Summary --- Processes and Threads}{65}{66}{}} \newlabel{sld:references}{{66}{66}{\relax }{section*.1}{}} \newlabel{last@page}{{}{66}{\relax }{}{}} \@writefile{toc}{\pcontentsline{0}{References}{66}{67}{}}