aboutsummaryrefslogtreecommitdiff
path: root/slides/2019-it-intro-computer-systems/src
diff options
context:
space:
mode:
authorRasmus Dahlberg <rasmus@rgdd.se>2024-10-15 15:35:20 +0200
committerRasmus Dahlberg <rasmus@rgdd.se>2024-10-15 15:35:45 +0200
commit76bae02bcd7d6b3ec9eea428e5e95da184a8dbfb (patch)
tree410ab71c78c99d35aecd46733958a5699cdf5204 /slides/2019-it-intro-computer-systems/src
parent883a67439aff566962adafeb0385c6ae972073a3 (diff)
Rescue some slides from old private mono repos
Diffstat (limited to 'slides/2019-it-intro-computer-systems/src')
-rw-r--r--slides/2019-it-intro-computer-systems/src/body.tex430
-rw-r--r--slides/2019-it-intro-computer-systems/src/preamble.tex73
-rw-r--r--slides/2019-it-intro-computer-systems/src/questions.tex17
-rw-r--r--slides/2019-it-intro-computer-systems/src/titlepage.tex3
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}