LIS-3353

Hardware

The software has to run on something...


(remember big rules)

  1. Math/Numbers
  2. Instructions

The software has to run on something...


Let’s tighten up our definition of computer a bit:

It needs the ability to have changeable instructions


Broad definition: Computer, by parts


Input
Processor
Output

Slightly Less Basic


INPUT
PROCESSOR
STORAGE
OUTPUT
(power)
(“gluing it all together”)

PROCESSOR (CPU)

Brains of the operation.
“Does” the things.
(which is really, does the math)



PROCESSOR (GPU)

VERY similar to a CPU.
These days


Power / Electricity

Lately, not a lot. At all.
Even old computers - generally less than a lamp.


..touch it. ☺

Except, of course:

Bitcoin Farm? Wasting electricity to show value. What?


STORAGE

PERMANENT


The “Board.” That's about it.
Reliance on this layer is increasingly rare, for obvious reasons.

(ROM used to mean this precisely: Read Only Memory...now it usually means the next thing...)

Semi-Permanent Storage

(Firmware)
Much of what you think of as “permanent” is more likely “firmware”

That is, technically changeable, but you don't do it a whole lot, only when you want to make deep, fundamental changes/updates to how the hardware operates.

“Changeable” storage

( YET another badly named thing in computing)


So, imagine you're in the library using books to work on a paper like it's ancient history or something...

RAM




RAM

(when people say “memory”)
- what you're working on now


(short term memory)

DRIVES (hard, solid-state, CD, etc.)

All (usually local) information that you can get to

(long term memory)

I won’t be putting movies on the quiz, but...


Hard drive was accidentally erased;

he's trying to recover it. His RAM is fine.


All data was preserved,

but his hard drive is now read only.

Daily Hard Drive Swaps


“Drives”

Old school

Today

“Spinny circle thing and a pointy thing”


Vinyl Records, Floppies, Laserdiscs.

Any “disc,” really….

To further confuse the issue:

This is "Memory/RAM"

To further confuse the issue:

And this is an SSD


Not a coincidence

SSDs and RAM are very similar..
..so similar that you can expect them to converge.



INPUT - OUTPUT

Human Input
Human Output
Digital Input
Digital Output

Analog v Digital


Analog

For us humans, literally *everything* is eventually Analog.


Digital

Watch for "where the conversion happens"


The good: Digital usually means "better quality" and definitely means "doesn't degrade"

Watch for "where the conversion happens"


The good and bad:
Digital means can be converted/encrypted.

Good when we can keep secrets from "enemies;"
Bad when "enemies" can keep things from you...more in a bit


Human Input (classic analog)

Keyboard
Touchscreen
Webcam
Microphone
Motion-Sensor
Mouses/Buttons/Sticks...and


Human Input (modern analog)

Thermometers?
Smoke detectors?
Motion detection?
Heart Monitors? etc etc
(and other “Internet of things” stuff”)

Human Output (classic analog)

Screen*
Speakers*/Headphones*
Paper

Human Output (classic analog)

“Internet of things” stuff here too?
Oculus Rift, Drones, lights/temp in your house, etc.


*but what are the “wires” lately? More to come

Digital Input/Output

General purpose:
Old-school – Serial and Parallel

Digital Input/Output

New hotness: Universal Serial Bus! (USB)
Input, output, charging, various sizes

(oh, and also whatever Apple's things are that should probably just be USB )

Digital Input/Output

Internet Data Oriented:

Diversity of layers (OSI)

(preview of later..)
Application (HTTP, telnet, etc)
Presentation (framework MIME)
Session (pipe,SOCKS)
Transport (reliable packet delivery, TCP)
Network (nodes and address, IP)
Data (PPP)
Physical (wires, radio, USB)


Diversity of transmission media:

- telephone lines (modem/DSL)
- tv cable
- wireless (802.11)
- satellites
- radio
- lasers (pointless, but true)
- fiber

Digital/Analog Stuff

Generally, the wires going to the outputs are moving from analog to digital.

Advantage: Signal Quality.

(Monster Cables are definitely a ripoff here)


Disadvantage:
Sometimes, reduced interoperability, opportunity for DRM.

Audio


Analog: “RCA” – usually the “1/8” in jack, sometimes 1/4

(The best standard ever created, stop being suckers*
*fine, this is just my opinion but its totally true)

Digital: Bluetooth, USB, occasionally Ethernet and others

Video - Analog

TV Video:

Computer Video

(yeah, these are almost gone. ALMOST)

Video - Digital

DVI
HDMI

Digital Input/Output

Internet Data Oriented:


“glue”

Motherboards. Where it all comes together.

Today, yeah it can all be on one tiny thing



Ridiculous computing factoids



So what?

Raw computing power got extremely CHEAP and PLENTIFUL for most real-world applications:

THE DEVICES


OLPC

A failure, but a big deal anyway

PDAs (but this AND a phone?)


MP3 Players

Ipod

Blackberry

AKA THE LAST CELL PHONE MAKER EVER ☺



Nokia N900


iPhone

Darwin/POSIX Compliant (but basically closed)

Android

Linux Kernel , Weird OS

So what?

Raw computing power got extremely CHEAP and PLENTIFUL for most real-world applications:

Moore's Law?


Roughly:
"Computer devices double in power and halve in price..
..every 18 months."

(have we hit the limit?)

The software has to run on something...


Let’s tighten up our definition of computer a bit:

It needs the ability to have changeable instructions


The software follows orders; but WHOSE?

Hopefully, yours?

Or someone that ACTUALLY CARES about you?

Or someone who can be relied on to do the right thing for you, maybe because you pay them, or they are required to by law?

(please feel free to freak out at the fact that it’s increasingly none of the above)

What is a computer?

What if it’s made of “general purpose computer” parts...

...but then, someone thinks that NOT you
(or NOT someone you trust)
(or NOT someone you pay)
(or NOT even some paid public servant or figure)

should be able to write your own instructions for it?

We know about these:


e.g.
Macs
Dells
etc.

What about these?

Nintendo
Xbox
Router
mp3 player
ipad
...

Oven...


Here comes a rant....


Moore’s Law got weird:

OLD SCHOOL – computers are expensive, so only build in functionality you need.

TODAY – computers are basically free, so f*** it. Throw the cheapest one in right NOW!!! Also


So what?

The bad:
Companies will pretend that “hardware” and “software” can’t be separated to jack up prices
(i.e. non-changeable instructions)


Rant Continued

If you have to manually root, jailbreak, unlock, or letterbomb it to make it do exactly what you want (or even worse, if you can't) maybe it shouldn't be considered a computer.

Perhaps, an appliance.

Don't get me started on the idea that a private company (as opposed to public law) can dictate what I do with legally obtained data or software...

...also, environmental impact

(if you agree, check out the "Right to Repair" movements.)

Imagine:

“I’m sorry, this is a ‘chair’ hammer. You cannot build tables with it. This violates the warranty. Also, it is strongly suggested that you don’t tell other people how to build tables with it; and we will delete that discussion from the internet. Also, you talk to much about it, we may try to have you arrested.





So what?

The Internet of Things

The S in IoT stands for security :)

Internet of ****

IoT security is garbage, because you throw an
ultracheap, untested computer in your toaster
to rush to market, and now your toaster is attacking your family.


Also — "THE CLOUD"


There is no cloud, it's just somebody elses computer

A computer (possibly virtual), probably running Linux

Yep. Usually.

Funny, it's not talked about that much. Or enough.
Again, not the part that makes people Rich, or even popular

Why do we even use "cloud?"


After all, email is "cloud" and yet we never used that word.

Probably a B2B thing — this was the first time the SERVERS were freed from the bare metal


On Virtual

Many different ways to do "Virtual" and "Virtual-like," but roughly:

Pure Virtual

i.e. literally fake the whole computer. You have to install the OS, etc.


Containers

This is "Docker" et al:

You don't fake the whole computer;
you wrap up and "package" the stuff you need to use;
and try to wall it off from everything else.

When you get big, you have to think about this large scale

e.g. KVM
Kubernetes
and other tools for managing A BUNCH OF THESE.

Also, there's the Proton/Wine thing



But may be big in the future in terms of Linux killing windows;
given that games are usually the hardest thing to emulate.



So what?

The good news:
This means we can all buy cheap computers to play and learn with.

Before Thursday


Think about "how you will do Linux Exercises"
Possibilities include:

I can already do this...i.e.

If this makes no sense to you, don't worry..

"I already am running Linux on one of my machines, and I have root (i.e. I can do sudo)"

( This includes "virtual")

I have an old computer I can completely wipe


Really? Cool.

I'm going to buy a Raspberry Pi


Cool, go for it., if you can get one?

ANY model works

either the 4 or the 400 (same thing, but with a keyboard included) is best

I want to install a virtual machine on my computer


This is free and also cool. I will demo

I need something else.


Looking into it. Not sure about this here "WSL..."





Backlinks: FSU Courses:LIS3353:Raw LIS3353 Slides