summaryrefslogtreecommitdiffstats
path: root/LaTeX/ProcessAnalysis
diff options
context:
space:
mode:
Diffstat (limited to 'LaTeX/ProcessAnalysis')
-rw-r--r--LaTeX/ProcessAnalysis/.gitignore288
-rw-r--r--LaTeX/ProcessAnalysis/HandOffProcess.pngbin0 -> 153020 bytes
-rw-r--r--LaTeX/ProcessAnalysis/ProcessAnalysis.tex123
3 files changed, 411 insertions, 0 deletions
diff --git a/LaTeX/ProcessAnalysis/.gitignore b/LaTeX/ProcessAnalysis/.gitignore
new file mode 100644
index 0000000..237f49e
--- /dev/null
+++ b/LaTeX/ProcessAnalysis/.gitignore
@@ -0,0 +1,288 @@
+## Core latex/pdflatex auxiliary files:
+*.aux
+*.lof
+*.log
+*.lot
+*.fls
+*.out
+*.toc
+*.fmt
+*.fot
+*.cb
+*.cb2
+.*.lb
+
+## Intermediate documents:
+*.dvi
+*.xdv
+*-converted-to.*
+# these rules might exclude image files for figures etc.
+# *.ps
+# *.eps
+# *.pdf
+
+## Generated if empty string is given at "Please type another file name for output:"
+.pdf
+
+## Bibliography auxiliary files (bibtex/biblatex/biber):
+*.bbl
+*.bcf
+*.blg
+*-blx.aux
+*-blx.bib
+*.run.xml
+
+## Build tool auxiliary files:
+*.fdb_latexmk
+*.synctex
+*.synctex(busy)
+*.synctex.gz
+*.synctex.gz(busy)
+*.pdfsync
+
+## Build tool directories for auxiliary files
+# latexrun
+latex.out/
+
+## Auxiliary and intermediate files from other packages:
+# algorithms
+*.alg
+*.loa
+
+# achemso
+acs-*.bib
+
+# amsthm
+*.thm
+
+# beamer
+*.nav
+*.pre
+*.snm
+*.vrb
+
+# changes
+*.soc
+
+# comment
+*.cut
+
+# cprotect
+*.cpt
+
+# elsarticle (documentclass of Elsevier journals)
+*.spl
+
+# endnotes
+*.ent
+
+# fixme
+*.lox
+
+# feynmf/feynmp
+*.mf
+*.mp
+*.t[1-9]
+*.t[1-9][0-9]
+*.tfm
+
+#(r)(e)ledmac/(r)(e)ledpar
+*.end
+*.?end
+*.[1-9]
+*.[1-9][0-9]
+*.[1-9][0-9][0-9]
+*.[1-9]R
+*.[1-9][0-9]R
+*.[1-9][0-9][0-9]R
+*.eledsec[1-9]
+*.eledsec[1-9]R
+*.eledsec[1-9][0-9]
+*.eledsec[1-9][0-9]R
+*.eledsec[1-9][0-9][0-9]
+*.eledsec[1-9][0-9][0-9]R
+
+# glossaries
+*.acn
+*.acr
+*.glg
+*.glo
+*.gls
+*.glsdefs
+*.lzo
+*.lzs
+
+# uncomment this for glossaries-extra (will ignore makeindex's style files!)
+# *.ist
+
+# gnuplottex
+*-gnuplottex-*
+
+# gregoriotex
+*.gaux
+*.glog
+*.gtex
+
+# htlatex
+*.4ct
+*.4tc
+*.idv
+*.lg
+*.trc
+*.xref
+
+# hyperref
+*.brf
+
+# knitr
+*-concordance.tex
+# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
+# *.tikz
+*-tikzDictionary
+
+# listings
+*.lol
+
+# luatexja-ruby
+*.ltjruby
+
+# makeidx
+*.idx
+*.ilg
+*.ind
+
+# minitoc
+*.maf
+*.mlf
+*.mlt
+*.mtc[0-9]*
+*.slf[0-9]*
+*.slt[0-9]*
+*.stc[0-9]*
+
+# minted
+_minted*
+*.pyg
+
+# morewrites
+*.mw
+
+# newpax
+*.newpax
+
+# nomencl
+*.nlg
+*.nlo
+*.nls
+
+# pax
+*.pax
+
+# pdfpcnotes
+*.pdfpc
+
+# sagetex
+*.sagetex.sage
+*.sagetex.py
+*.sagetex.scmd
+
+# scrwfile
+*.wrt
+
+# sympy
+*.sout
+*.sympy
+sympy-plots-for-*.tex/
+
+# pdfcomment
+*.upa
+*.upb
+
+# pythontex
+*.pytxcode
+pythontex-files-*/
+
+# tcolorbox
+*.listing
+
+# thmtools
+*.loe
+
+# TikZ & PGF
+*.dpth
+*.md5
+*.auxlock
+
+# todonotes
+*.tdo
+
+# vhistory
+*.hst
+*.ver
+
+# easy-todo
+*.lod
+
+# xcolor
+*.xcp
+
+# xmpincl
+*.xmpi
+
+# xindy
+*.xdy
+
+# xypic precompiled matrices and outlines
+*.xyc
+*.xyd
+
+# endfloat
+*.ttt
+*.fff
+
+# Latexian
+TSWLatexianTemp*
+
+## Editors:
+# WinEdt
+*.bak
+*.sav
+
+# Texpad
+.texpadtmp
+
+# LyX
+*.lyx~
+
+# Kile
+*.backup
+
+# gummi
+.*.swp
+
+# KBibTeX
+*~[0-9]*
+
+# TeXnicCenter
+*.tps
+
+# auto folder when using emacs and auctex
+./auto/*
+*.el
+
+# expex forward references with \gathertags
+*-tags.tex
+
+# standalone packages
+*.sta
+
+# Makeindex log files
+*.lpz
+
+# xwatermark package
+*.xwm
+
+# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
+# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
+# Uncomment the next line to have this generated file ignored.
+#*Notes.bib
diff --git a/LaTeX/ProcessAnalysis/HandOffProcess.png b/LaTeX/ProcessAnalysis/HandOffProcess.png
new file mode 100644
index 0000000..7dd1cd6
--- /dev/null
+++ b/LaTeX/ProcessAnalysis/HandOffProcess.png
Binary files differ
diff --git a/LaTeX/ProcessAnalysis/ProcessAnalysis.tex b/LaTeX/ProcessAnalysis/ProcessAnalysis.tex
new file mode 100644
index 0000000..17b6c16
--- /dev/null
+++ b/LaTeX/ProcessAnalysis/ProcessAnalysis.tex
@@ -0,0 +1,123 @@
+\documentclass{article}
+\usepackage[style=mla,backend=biber]{biblatex}
+
+%for Copyleft Symbol
+\usepackage{graphicx}
+
+%for URL embedding
+\usepackage{hyperref}
+\hypersetup{
+ colorlinks=true,
+ urlcolor=blue,
+ pdfborderstyle={/S/U/W 1},
+ citecolor=black
+}
+
+
+%
+%Margin - 1 inch on all sides
+%
+\usepackage[letterpaper]{geometry}
+\geometry{top=1.0in, bottom=1.0in, left=1.0in, right=1.0in}
+
+%
+%Doublespacing
+%
+\usepackage{setspace}
+\doublespacing
+
+%
+%Babel package for multiple language typesetting
+%
+%\usepackage[T1]{fontenc}
+%\usepackage[latin1]{inputenc}
+
+%
+%Setting the font
+%
+\usepackage{times}
+
+%
+%Rotating tables (e.g. sideways when too long)
+%
+\usepackage{rotating}
+
+%
+%For multiple rows in tables
+%
+\usepackage{multirow}
+
+%
+%Sexy, Sexy images...
+%
+\usepackage{graphicx}
+
+%
+%Line numbering in verse environment
+%
+\usepackage{lineno}
+
+
+%Bibliography File
+\addbibresource{Biblio.bib}
+
+\newcommand{\secheader}[1]{\textbf{#1}}
+
+
+\begin{document}
+\begin{flushleft}
+
+%%%%Title
+\begin{center}
+The GNU/Linux Operating System's Shutdown Process
+\end{center}
+
+
+%%%%Changes paragraph indentation to 0.5in
+\setlength{\parindent}{0.5in}
+
+%%%%Begin body of paper here
+
+The shutdown process is a process that happens when one opts to cease using a computer. GNU/Linux is a libre operating system that, like many operating systems, has a shutdown process built into it. The shutdown process goes through many phases usually starting with the mass termination of processes and ending in a total power off. Figure 1 shows this process occurring.
+\includegraphics{HandOffProcess.png}
+\newline
+Figure 1: msglm - Shutdown Stages
+\newline
+\newline
+\secheader{Userland}
+\newline
+ The shutdown process generally starts with the init system being told to initialize a shutdown. The init system proceeds from that by moving to runlevel 0 (where runlevels are a defined set of scripts that traditionally are used for system clean up and start up program configuration). Runlevel 0 generally consists of mass termination signals to all currently running programs along with other "system cleanup" scripts that unmount drives, save hardware clock time locally, turn off internet, and disable modifications to the main file system. Once this part is completed, and depending upon the nature of the clean up scripts and process termination, this may take an indeterminate amount of time, the init system calls upon the Linux Kernel to take over shutting down the computer before killing itself.
+\newline
+\newline
+ \secheader{Kernel Space}
+\newline
+ Once the Linux Kernel takes over shutting the computer down, the processes in question become much more streamlined as it is based on already set configurations that came with the compiling of the kernel. The Kernel then calls upon a function that orders the CPUs to start shutting themselves down. This process depends on CPU architecture, thus, going forward, it will be assumed an AMD processor will be used.
+\pagebreak
+\newline
+\newline
+ \secheader{CPU Shutdown}
+\newline
+ In chronological order the disabling of the CPU happens as follows: CPU Interrupts (or requests for input from a piece of software) are disabled, Other CPUs the computer currently has in use are disabled, The controller that allows for multiprocessor systems is disabled (APIC), The APIC as a whole is then disconnected from the system that allows for CPU Interrupts, The High Precision Event Timer is then disabled, and CPU Input-Output Memory Management is disabled (a system that allows the virtual memory locations to be translated to physical memory). This entire series of disabling effectively kills the CPU, however keeps power running.
+\newline
+\newline
+ \secheader{Halting Computer}
+\newline
+ In most cases, a power off signal is send and this instead avoids turning the CPU off. Instead it figures out the architecture of the CPU and directly gives information to the CPU that tells itself to terminate. As this is CPU dependent, a concise description of the process is not possible. Though, generally, some form of information the CPU can read is sent. In cases where the Linux Kernel doesn't have instructions for a CPU, a custom shutdown method is used to force a power off.
+\newline
+\newline
+
+%%%%Works cited
+
+\printbibliography
+
+\end{flushleft}
+
+\scriptsize{
+ \begin{center}
+ \vspace*{\fill}
+ Copyright \copyright \the\year{} msglm -
+ This work is licensed under the \href{https://creativecommons.org/licenses/by-sa/4.0/}{CC-BY-SA 4.0} with a willingness to sell exceptions.
+ \end{center}
+}
+\end{document}
+