diff options
Diffstat (limited to 'slides/2019-it-intro-computer-systems/src')
4 files changed, 523 insertions, 0 deletions
diff --git a/slides/2019-it-intro-computer-systems/src/body.tex b/slides/2019-it-intro-computer-systems/src/body.tex new file mode 100644 index 0000000..2bdb372 --- /dev/null +++ b/slides/2019-it-intro-computer-systems/src/body.tex @@ -0,0 +1,430 @@ +\begin{frame} + \frametitle{Recall computers (or, last lecture in TL;DR format)} + \begin{columns} + \begin{column}{0.79\textwidth} + \begin{itemize} + \item A digital computing device that stores and processes data, + typically in binary form, according to arithmetic and locical + instructions given to it in a variable program + \item Binary data is `easy' to store and process digitally + \item Examples that we can express data as we know it in binary + \begin{itemize} + \item Converting between base 10 and base 2 + \item ASCII + \item Unicode + \end{itemize} + \item Hardware that composes a basic computer + \begin{itemize} + \item Processor + \item Memory + \item I/O devices + \item ... + \end{itemize} + \end{itemize} + \end{column} + \begin{column}{0.29\textwidth} + \centering\includegraphics[width=\textwidth]{img/binary} + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Learning outcome based on syllabus} + \begin{itemize} + \item Describe the role of software in relation to the hardware + (ISGA01) + \item Describe the relation of the software to the hardware + (ISGA06) + \item Describe the role of software in relation to the hardware + (ISGA90) + \end{itemize} + \vfill\centering + \smartdiagramset{ + sequence item height=1.75cm, + sequence item width=2.5cm, + sequence item text width = 2.4cm, + } + \smartdiagram[sequence diagram]{% + What is a computer system?,% + Hardware software relation,% + Trends and related systems% + } +\end{frame} + +\begin{frame} + \frametitle{Q: What is a computer system? \titlefloatright{A: Hardware + software}} + \begin{itemize} + \item Ett datorsystem \"{a}r ett system av h\aa{}rdvara och mjukvara som + behandlar data p\aa{} ett meningsfullt s\"{a}tt\footnote{% + \burl{https://sv.wikipedia.org/wiki/Datorsystem} + } + \begin{columns} + \begin{column}{0.49\textwidth} + \begin{description} + \item[\tno] mjukvara + \item[\tno] h\aa{}rdvara + \item[?] meningsfullt + \end{description} + \end{column} + \begin{column}{0.49\textwidth} + \begin{description} + \item[\tyes] programvara + \item[\tyes] maskinvara + \item[?] TBC + \end{description} + \end{column} + \end{columns} + \item Dator(er) med ansluten \textbf{maskinvara}, se dator. Ordet + anv\"{a}nds ibland synonymt med databehandlingssystem, vilket + d\"{a}rut\"{o}ver omfattar \textbf{programvara} samt eventuell + organisation f\"{o}r databehandling\footnote{% + \burl{https://www.ne.se/uppslagsverk/encyklopedi/l\%C3\%A5ng/datorsystem} + } + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Meaningful? Need combination of hardware, software, user, and + data\footnote{% + \tiny{Some define computer systems like this, see for example:} \burl{https://en.wikipedia.org/wiki/Category:Computer\_systems} + } + } + \begin{columns} + \begin{column}{0.59\textwidth} + \begin{itemize} + \item \textbf{Hardware} refers to physical components + \item \textbf{Software} refers to programs that instruct the hardware + what to do step-by-step + \item \textbf{Data} is supplied and interpreted by a \textbf{user} + \end{itemize} + \end{column} + \begin{column}{0.39\textwidth} + \vfill\centering + \input{img/computer-system} + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Computer systems are layered to increase usability} + \begin{columns} + \begin{column}{0.59\textwidth} + \begin{itemize} + \item Users use input and output devices to interact with application + software (data exchange) + \item Application software relies on system software while providing + functionality + \item System software coordinates the hardware + \end{itemize} + \end{column} + \begin{column}{0.39\textwidth} + \centering\input{img/layered} + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Users and application software exchange data via input and output + devices} + \begin{columns} + \begin{column}{0.33\textwidth} + \centering\includegraphics[height=0.25\textheight]{img/monitor} + \centering\includegraphics[height=0.25\textheight]{img/keyboard} + \centering\includegraphics[height=0.25\textheight]{img/mouse} + \centering\includegraphics[height=0.25\textheight]{img/headphones} + \end{column} + \begin{column}{0.33\textwidth} + \centering\includegraphics[height=0.25\textheight]{img/radio-tower}\\ + \centering\includegraphics[height=0.25\textheight]{img/ethernet}\\ + \centering\includegraphics[height=0.25\textheight]{img/hdd} + \end{column} + \begin{column}{0.33\textwidth} + \centering\includegraphics[height=0.25\textheight]{img/sensor} + \centering\includegraphics[height=0.25\textheight]{img/traffic-light}\\ + \vspace{12pt} + \centering\includegraphics[height=0.4\textheight]{img/kbuss} + \end{column} + \end{columns} +\end{frame} + +% more on what an application is next lecture +\begin{frame} + \frametitle{Application software helps a user perform a given task} + \centering\includegraphics[height=0.8\textheight]{img/apps2}\\ +\end{frame} + +\begin{frame} + \frametitle{System software provides a platform that application software + relies on} + \begin{columns} + \begin{column}{0.49\textwidth} + \centering\includegraphics[height=0.35\textheight]{img/os} + \begin{itemize} + \item Operating system software + \begin{itemize} + \item Program execution + \item Interrupts + \item System calls + \item ... + \end{itemize} + \item Drivers + \begin{itemize} + \item Bridge between OS and hardware + \end{itemize} + \end{itemize} + \end{column} + \begin{column}{0.49\textwidth} + \centering\includegraphics[height=0.35\textheight]{img/driver} + \begin{itemize} + \item Firmware + \begin{itemize} + \item Persistently stored program for low-level hardware control + \item Found on most components + \item Recall BIOS on the motherboard + \end{itemize} + \item Window management software + \item ... + \end{itemize} + \vfill + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Actual hardware finally stores and processes data} + \centering + \begin{tikzpicture}[ + entity/.style = { + draw, + rectangle, + minimum width=3cm, + minimum height=1cm, + top color = lightGray, + bottom color = white, + }, + arrow/.style = { + draw, + }, + ] + \node[entity] (Memory) at (0,0) {Memory}; + \node[entity, right=of Memory] (Processor) {Processor}; + \node[entity, right=of Processor] (IO) {IO devices}; + + \path[draw, ultra thick] + ($ (Memory) + (0,-2.1) $) -- + node[label, below]{Internal communication and coordination via buses} + ($ (IO) + (0,-2.1) $); + + \path[arrow, latex-latex] ($ (Memory.south) + (0,-0.1) $) -- ($ (Memory) + (0,-2) $); + \path[arrow, latex-latex] ($ (Processor.south) + (0,-0.1) $) -- ($ (Processor) + (0,-2) $); + \path[arrow, latex-latex] ($ (IO.south) + (0,-0.1) $) -- ($ (IO) + (0,-2) $); + + \end{tikzpicture} +\end{frame} + +\begin{frame} + \frametitle{Doh! The more you know, the more you know you don't know} + \centering\input{img/know-it-all} +\end{frame} + +\begin{frame} + \frametitle{But we can still say something about the hardware-software + relation} + \centering + \begin{tabular}{ccc} + \textbf{Hardware} & \textbf{Software} & \textbf{Outcome} \\ + \toprule + \tno & \tno & - \\ + \tno & \tyes & useless \\ + \tyes & \tno & unusable \\ + \tyes & \tyes & usable \\ + \bottomrule + \end{tabular} + \pause + \vfill\alert{System software abstracts the hardware away, thereby making it + easier to use} +\end{frame} + +\begin{frame} + \frametitle{Example: what happens on a mouse click?} + \begin{columns} + \begin{column}{0.89\textwidth} + \begin{enumerate} + \item A user provides input data by clicking the mouse + \item The click creates contact with electrical components in the mouse + \item The mouse creates an interrupt signal on the bus: + `I have data to send' + \item The interrupt signal eventually gets CPU priority + \begin{itemize} + \item Stop current task + \item Load and execute driver routine + \item Clear interrupt siginal + \item Context switch back to previous task + \end{itemize} + \end{enumerate} + \end{column} + \begin{column}{0.09\textwidth} + \centering\includegraphics[width=\textwidth]{img/mouseclick} + \end{column} + \end{columns} + \pause + \vfill\alert{Similar: what happens when you press a button on your keyboard?} +\end{frame} + +\begin{frame} + \frametitle{Example: PlayStation 4 is a computer system} + \centering + \includegraphics[height=0.5\textheight]{img/group} + \\\Huge{Interactive demo + whiteboard} +\end{frame} + +\begin{frame} + \frametitle{Trends of computer systems} + \begin{columns} + \begin{column}{0.39\textwidth} + \begin{itemize} + \item Thick client + \item Thin client + \item Outsourced computing + \end{itemize} + \end{column} + \begin{column}{0.59\textwidth} + \centering\input{img/trends} + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Major players that provide cloud services \titlefloatright{+ some + gossip!!}} + \includegraphics[height=0.2263\textheight]{img/mcloud} + \includegraphics[height=0.2263\textheight]{img/icloud} + \includegraphics[height=0.33\textheight]{img/aws} + \includegraphics[height=0.33\textheight]{img/gce} + \begin{columns} + \begin{column}{0.25\textwidth} + \begin{itemize} + \item Microsoft + \end{itemize} + \end{column} + \begin{column}{0.25\textwidth} + \begin{itemize} + \item Apple + \end{itemize} + \end{column} + \begin{column}{0.25\textwidth} + \begin{itemize} + \item Amazon + \end{itemize} + \end{column} + \begin{column}{0.25\textwidth} + \begin{itemize} + \item Google + \end{itemize} + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Trends of computer systems continued} + \begin{columns} + \begin{column}{0.39\textwidth} + Performance metrics: + \begin{itemize} + \item MIPS + \item MFLOPS + \item Bandwidth + \item Execution time + \item SPEC\footnotemark + \item ... + \end{itemize} + \end{column} + \begin{column}{0.59\textwidth} + \centering\input{img/performance} + \end{column} + \end{columns} + \vfill + \pause + \centering + \alert{Cause and effect?} + \pause + \alert{Hardware improves, software demands more...} + + \footnotetext[4]{% + \tiny{Details for those that are interested:} + \burl{https://www.spec.org/} + } +\end{frame} + +\begin{frame} + \frametitle{Systems that are closely related to computers? CS, IS, IT and ICT} + \begin{columns} + \begin{column}{0.49\textwidth} + \begin{itemize} + \item Information System (IS): the study of complementary networks that + people and organizations use to collect, filter, process, create, and + distribute data + \item Computer System (CS): subset of IS + \item Information Technology (IT): CS + everything around it in an + enterprise + \item Information Technology and Communication (ICT): IT + telecom% + \footnotemark + \end{itemize} + \end{column} + \begin{column}{0.49\textwidth} + \centering\includegraphics[width=\textwidth]{img/ict} + \alert{Figure that depicts these relations?} + \end{column} + \end{columns} + \footnotetext[5]{\tiny{The transmission of data using different types of + techniques and mediums, e.g., Ethernet and WiFi.}} + \pause + \vfill\centering\alert{Be warned: these definitions are no exact science...} +\end{frame} + +\begin{frame} + \frametitle{Given the status quo of Internet...difference between IT and ICT?} + \begin{columns} + \begin{column}{0.59\textwidth} + % Only briefly, forward ref to telecom lecture + Internet is a network of networks: + \begin{itemize} + \item `Nuts and bolt' + \item Protocol stack + \end{itemize} + \only<2>{\vspace{18pt}\centering\alert{Name an IT system without + telecommunication?}} + \end{column} + \begin{column}{0.39\textwidth} + \centering\includegraphics[height=0.8\textheight]{img/internet} + \end{column} + \end{columns} +\end{frame} + +% Focus on the stuff related to this lecture, not networking +% + show in browser links where they can read more +\begin{frame} + \frametitle{Example: what happens when you enter google.com in your browser + software?} + \includegraphics[height=0.8\textheight]{img/google} +\end{frame} + +% backup slide if too fast +\begin{frame} + \frametitle{Computer systems: present and future?} + \begin{columns} + \begin{column}{0.49\textwidth} + \begin{itemize} + \item Reality + \item Internet of things + \item Artificial intelligence + \item Anarchy + \item Monopolism + \item Opportunity contra risk + \end{itemize} + \end{column} + \begin{column}{0.49\textwidth} + \includegraphics[width=\textwidth]{img/reality} + \end{column} + \end{columns} +\end{frame} diff --git a/slides/2019-it-intro-computer-systems/src/preamble.tex b/slides/2019-it-intro-computer-systems/src/preamble.tex new file mode 100644 index 0000000..1ef1078 --- /dev/null +++ b/slides/2019-it-intro-computer-systems/src/preamble.tex @@ -0,0 +1,73 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Packages % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[ + lambda, advantage, operators, sets, adversary, landau, probability, notions, + logic, ff, mm, primitives, events, complexity, asymptotics, keys +]{cryptocode} + +\usepackage{graphicx} +\usepackage{mathtools} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{flowchart} +\usepackage{smartdiagram} +\usepackage{pifont} +\usepackage{graphicx} +\usepackage{color} +\usepackage{tikz} +\usepackage{tikz-qtree} +\usetikzlibrary{ + arrows,% + decorations.markings,% + backgrounds,% + calc,% + fit,% + positioning,% + shapes.misc,% + shadows,% + shapes.arrows,% + shapes,% + snakes,% +} +\usepackage{booktabs} +\usepackage{smartdiagram} +\usepackage{floatrow} +%\usepackage[position=bottom]{subfig} % environment for nested figures + +\usepackage{xcolor} +\definecolor{darkGreen}{HTML}{008000} +\definecolor{darkBlue}{HTML}{2809B2} +\definecolor{darkRed}{HTML}{CC0000} +\definecolor{darkGray}{HTML}{808080} +\definecolor{darkOrange}{HTML}{D77D00} +\definecolor{darkPurple}{HTML}{800080} +\colorlet{lightGray}{gray!33} +\colorlet{lightYellow}{yellow!50} +\definecolor{darkGreen}{HTML}{008000} +\definecolor{darkBlue}{HTML}{2809B2} +\definecolor{darkRed}{HTML}{CC0000} + +% Figures, tables and code +\usepackage{booktabs} +\usepackage{colortbl} +\usepackage{flowchart} +\usepackage{adjustbox} +\usepackage{listings} + +%\setbeamertemplate{itemize item}[circle] +%\setbeamertemplate{itemize subitem}[default] +%\setbeamertemplate{caption}[numbered] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Defines % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\makeatletter +\let\@@magyar@captionfix\relax %needed for \titlefloatright +\makeatother + +\newcommand{\tyes}{\textcolor{darkGreen}{\ding{51}}} +\newcommand{\tno}{\textcolor{darkRed}{\ding{55}}} +\newcommand{\burl}[1]{\tiny{\url{#1}}} +\newcommand{\TODO}[1]{\textcolor{red}{TODO}: #1} +\newcommand{\titlefloatright}[1]{\hspace{0pt plus 1 filll}#1$\;$} diff --git a/slides/2019-it-intro-computer-systems/src/questions.tex b/slides/2019-it-intro-computer-systems/src/questions.tex new file mode 100644 index 0000000..85cb2f3 --- /dev/null +++ b/slides/2019-it-intro-computer-systems/src/questions.tex @@ -0,0 +1,17 @@ +\begin{frame} + \frametitle{Any questions?} \label{frm:que} + \begin{columns} + \begin{column}{0.49\textwidth} + \centering + \includegraphics[width=0.75\textwidth]{img/qleft} + \end{column} + \begin{column}{0.49\textwidth} + \centering + \includegraphics[width=0.75\textwidth]{img/qright} + \end{column} + \end{columns} + + \centering + \vspace{-1cm} + \includegraphics[width=0.20\textwidth]{img/ty} +\end{frame} diff --git a/slides/2019-it-intro-computer-systems/src/titlepage.tex b/slides/2019-it-intro-computer-systems/src/titlepage.tex new file mode 100644 index 0000000..9b18039 --- /dev/null +++ b/slides/2019-it-intro-computer-systems/src/titlepage.tex @@ -0,0 +1,3 @@ +\begin{frame} + \titlepage +\end{frame} |