User:Delimiter/Presentations/Mathematics

From ConShell
Jump to navigation Jump to search

Introduction

This page is a syllabus for my class on Computer Mathematics- "Numbers, Units and Time for Computing"

The audience is Beginner. Give them a basis for interpreting the numbers, numerical units and timestamps seen on a modern-day operating system.

Disclaimer

  • I am not a math teacher
  • The class is about numbers and units used by computers (thus humans)
    • It is not about using computers for math - visualization, analysis, spreadsheets and so on.
  • Solid understanding of these concepts will help anyone succeed in working with computers & network administration

About me

Mark Foster is a technical expert with nearly 20 years of system/network administration and programming. More can be found at http://mark.foster.cc

Base number systems

Decimal Numbers

  • 0-9 just add more columns for powers of 10
  • In other words, Base-10
  • 10^1, 10^2
  • The meaning of 0 (Zero)
  • Computers start counting at 0, not 1

Binary Numbers

  • Let's start small
  • 0-1
  • Base-2


Hexadecimal Numbers

  • 0-9,A-F
  • Base-16

Octal

  • 0-7
  • Base-8

Time & Clocks

  • Day = 24 hours = 0-23
  • Hour = 60 minutes = 0-59
  • Minute = 60 seconds = 0-59
  • Second = 1000 milliseconds (ms)
  • Millisecond = 1000 microseconds (us)
  • Microsecond = 1000 nanoseconds (ns)
DD:HH:MM:SS:xxxyyyzzz

Bits, Bytes and Megabytes

Representations of binary number units and lengths

  • bit
  • nibble
  • byte
  • octet - different than octal
  • word
  • Kilo, Mega, Giga, Tera, Peta
  • Megapixels (Cameras)
  • 720p, 1080p (Televisions)
  • Common VGA resolutions (LCD/CRT Monitors)
  • Common Video resolutions i.e. miniDV

Putting it together

  • Octet vs. Byte (word-size)
  • Signed vs. Unsigned
  • Bit-shifting
  • Shorts, Longs
  • Floating point
  • Block sizes
  • Little-endian vs. Big-endian
  • Interesting #s in computers
2^16 - 1 = 65535 <-- Maximum value for a unsigned 16-bit #
2^32 - 1 = 4294967295 <-- Maximum value for a unsigned 32-bit #
2^64 - 1 = 18446744073709551615 <-- Maximum value for a unsigned 64-bit #

Networking

OSI Layers

MAC Addresses

IPv4

IP Address representation = 32 bits or 4 octets (8-bit bytes)

Netmasks (traditional, hex and CIDR)

  • Class A, B, C and E
  • /8 /16 /24 /32
  • /255.255.255.0 (FFFFFFFFFFFF0000)
  • What makes these special? 0.0.0.0 255.255.255.255?
  • What are routers. Where is my router? Can I ping it?
  • Trivia IP to decimal, a neat trick albeit useless.

IPv6

IP Address representation - 128 bits

Time representation

  • Timestamps alterative representation of a moment in time, usually the second
  • The Epoch aka Unix time Dec 31 1969 is zero, "Now" is the # of seconds since
  • Timezones UTC/GMT, PSTPDT=-0800 or -0700 depending on the time of year
  • Daylight savings
  • Accuracy: Seconds (s, sec), milliseconds (ms, msec), microseconds (us, usec) and nanoseconds (ns, nsec)
  • NTP - network time protocol

Cool Tools

Further reading...