11 KiB
ITGK Teori-kurs
Note: Introduksjon
⏺ OBS: Opptak
Note: PVV sin youtube-kanal
selv-introduksjon
Angående forelesningen
Planen min er å gå over alle temaene nevnt i pensum. Kommer til å nevne en del biter som ikke nødvendigvis er viktig for pensum, men som er viktig for å forstå innholdet
Generelt
Hva er IT
Kort Historie
Folk som er viktige
- Von Neumann
Et par begreper:
- PC
- Operativsystem
- Abstraksjon
- Transistorer
- IC
- Hardware
- Software
- Kernel
- WWW/Internet
- High level/Low level
- bit
Note: Operativsystem -> Ressursallokering -> Kernel -> Grafisk brukergrensesnitt
-
PC
Enhet | Størrelse |
---|---|
byte | 8 bits |
kilobyte | \(1000\) bytes |
megabyte | \(10^6\) bytes |
gigabyte | \(10^9\) bytes |
terabyte | \(10^{12}\) |
petabyte | \(10^{15}\) |
exabye | \(10^{18}\) |
Enhet | Størrelse |
---|---|
byte | 8 bits |
kilobyte | \(1000\) bytes |
megabyte | \(10^6\) bytes |
gigabyte | \(10^9\) bytes |
terabyte | \(10^{12}\) |
petabyte | \(10^{15}\) |
exabye | \(10^{18}\) |
Datatyper
- Integer
- Character
- Float
- Array
- String
Note:
char -> ASCII 7b, Extended ASCII 8b, UTF-8
Finnes flere, men disse
Objekter
Tallsystemer
Note:
Forventet å kunne octal, binær, heksadesimal
går tom for siffer
delbarhet
hexadesimal i 4 binær chunks om gangen octal i 3 binær chunks om gangen revers
lurt å trene på
brukt ca. 20 min
Slide med konversjon fra binær til octal og heksadesimal
Negative tall
Signed magnitude
bruker første biten
0000 = 1000 kaster bort en plass
Løsning: Twos complement:
0001 = 1 0000 = 0 1111 = -1
1000 = MIN_INT
Algoritme:
- finn ut hva minste negative tall er
- ta resten av bitsene, og konverter til desimal
- regn ut offsett
Flyttall
>>> 0.1 + 0.2
0.30000000000000004
\[ (+,\ \ 4,\ \ 1949284) = +1.949284 \cdot 10^4 = 19492.84 \]
Note:
Matematisk tilnærming
Signed bit, exponent - 2^?, signifikant?
består av 3 biter, kan gi rare utregninger iblant
Opphøyd i 10, men i virkeligheten opphøyd i 2
Ikke veldig viktig, men kan være oppklarende.
Hardware
- Datamaskin
Datamaskin
Note:
Består av mange forskjellige biter. datamaskin er bare et begrep vi bruker. Kan gå galt på veldig mange lag i prosessen. Moores law, antall transistorer i en IC dobles hver 2. år.
Hovedkort (Motherboard)
Note:
Limet som fester alle de andre bitene sammen. Inneholder litt logikk for konfigurasjon av alle bitene, men lite ellers.
CPU
Note:
Viktigste biten. Gjør alle beregningene. Består av 3 biter, kontrollenhet, minneenhet, ALU Kjører raskt, gHz Har et visst sett med ting den kan gjøre, kalt et instruksjonssett. Setter du disse på rad, så har du et program.
Fetch Decode Execute Cycle (De 5 stegene)
Note: 5 steg hver gang den skal kjøre en instruksjon
PC - program counter Branching - hopp til andre steder/loop Kjører en instruksjon for hver klokkesykel, men gjør flere steg samtidig. Verdt å merke seg.
Minne
Primary
- Volatile
- Random Access
Secondary
- Nonvolatile
- Sequential Access?
Note:
Primær - RAM tilfeldig access - kan nå hvor som helst øyeblikkelig volatilt - uten strøm så forsvinner dataen.
Sekundær - Harddisk Tregt - cd som spinner Sekvensiell aksess - Må lete for å lese på riktig sted. ikke volatilt - holder på data uten strøm SSD - Nesten random access, ligner på ram, men er ikke volatil CD, DVD, Ekstern harddisk, USB, osv.
Digital Representasjon
Analog/Digital
-
ADC - inn på computeren
-
DAC - ut fra computeren
Note:
Analog kan du måle bortimot så nøyaktig du vil Digital har et visst sett med 0 og 1
Piksler
Note:
Piksler er en måte å representere bilder En piksel er en liten bit av bildet, med en farge. Ofte tilsvarer 1 piksel 1 LED på skjermen Den fargen er representert som en sammensetning av 3 farger Pleier ofte å være RGB
RGB
Hver verdi er mellom 0 og 255
Kan derfor representeres som et hexadecimal med 6 tegn
Farge | Rød | Grønn | Blå |
---|---|---|---|
#283681 | 28\(_{16}\) | 36\(_{16}\) | 81\(_{16}\) |
#FF0000 | FF\(_{16}\) | 00\(_{16}\) | 00\(_{16}\) |
#C0FFEE | C0\(_{16}\) | FF\(_{16}\) | EE\(_{16}\) |
#FFFFFF | FF\(_{16}\) | FF\(_{16}\) | FF\(_{16}\) |
#000000 | 00\(_{16}\) | 00\(_{16}\) | 00\(_{16}\) |
Farge | Rød | Grønn | Blå |
---|---|---|---|
#283681 | \(40_{10}\) | \(54_{10}\) | \(129_{10}\) |
#FF0000 | \(255_{10}\) | \(0_{10}\) | \(0_{10}\) |
#C0FFEE | \(192_{10}\) | \(255_{10}\) | \(238_{10}\) |
#FFFFFF | \(255_{10}\) | \(255_{10}\) | \(255_{10}\) |
#000000 | \(0_{10}\) | \(0_{10}\) | \(0_{10}\) |
Note:
Regn ut 1920x1080 x 24 bits
PAUSE
Lyd
-
Bør være dobbelt så ofte som høyeste frekvensen
-
Bitdybde (16 bit er standard)
\[ 16\ bits \cdot 44100\ Hz \cdot (3 \cdot 60)s \cdot 2\ kanaler \]
Note:
tegn en bølge, og vis frekvensen
Encoding og Komprimering
- "Hvordan tolke dataen"
- Lossless vs lossy
Note:
Alt er 1 og 0, men det kan tolkes på forskjellige måter.
Grunnen til at de ofte diskuteres sammen
Eksempel på komprimering
\[ AAAAAAABBBBAAAAABB \]
\[ A6B4A5B2 \]
Note:
Rart for tekst, men gir mening for bilder -> Runlength encoding
Eksempel på lossy komprimering
Dette er en eksempelsetning.
Dte e en eksmplstnig
Note: ikke vanlig for tekst, men akseptabelt for video/lyd/bilde Gjøres ofte på tjenester som messenger.
Algoritmer
Note: Beskriver stegvis og nøyaktig hvordan man løser et problem Uten tolkning Pseudokode
(Eksempel på pseudokode)
Kompleksitet
\[ \mathcal{O}(1) \] |
|
\[ \mathcal{O}(n) \] |
|
\[ \mathcal{O}(n^2) \] |
|
Note: brukes mer om dere skal programmere mye
Sorteringsalgortimer:
- Bubble sort: \(\mathcal{O}(n^2)\)
- Merge sort : \(\mathcal{O}(n\ log\ n)\)
Nettverk
Internett
- Hva er det
Historie
- ARPAnet
Note: Sponset av Dep. of defense, USA Kjellermaskiner, matte Ble ikke brukt aktivt hele tiden Overføre instruksjoner Maksimal utnyttelse Flere universiteter koblet seg på Ikke veldig planlagt
5 lags modellen
Note: pakker pakket inn i hverandre
Physical layer
Note: Medium for kommunikasjon mellom 2 eller flere endrepunkter
Data link layer
Note: Etablert: Kommunikasjonsmedium
Stabil overføring, og kontakt med andre ender
Network layer
Note: Etablert: Flere computere er koblet sammen
Kommunikasjon gjennom flere computere.
Oppfører seg litt som postkontorer
Transport layer
Note: Etablert: Link over mange computere.
Stabil og sikker kommunikasjon til tross for forsvunnede pakker,
Application layer
Etablert: Stabil og sikker kommunikasjon.
Applikasjonsspesifikk data.
Programvareutvikling
Note:
Løs tidligere eksamener
Crash course