1. CS225
    1. OOP
      1. Inheritance
      2. R-Value References
    2. Misc Notes
    3. Size/Offsets of Structs/Classes
    4. Week 4
  2. CS200
    1. Introduction
    2. Scan Conversion
    3. Quiz 01
  3. GAM200
    1. Notes
  4. CS180
    1. Introduction
    2. Midterm Revision
    3. Finals Revision
    4. Memory
    5. ELF Format
    6. History of Computers
    7. Stuff to Research
    8. Quiz To-Do
    9. OS Architectures
    10. Week 3
    11. Week 4
    12. Week 5
    13. Week 6 (Threads)
    14. Week 7 (Scheduling)
    15. Week 8 (Thread Scheduling)
    16. Week 9 (Memory Management)

History of Computers

History of Computers

Originally (1950s) had to manually load in punch cards

Stuff needed to be automated because computers were extremely expensive and so was idle time.

Batching data is putting a bunch of instructions and data together in order to save time via automation

Tapes can be run in parallel, unlike punchcards
Problem with tapes is that it's sequential access and not random access

Disks are random access, and allow for Simultaneous Peripheral Operation On-Line (SPOOL) which leads to multiprogramming, which leads to less CPU idle time.
Multiprogramming is used for the CPU to swap in and out of programs. It does NOT necessarily mean multicore (multiple CPUs).

Difference between Hardware and Software
Hardware - once fabricated, no change
Software - programs

Moore's law - Number of transistors doubles every 1.5 years per silicon die area
It stopped after 2003 (3 GHz) because the clock speed was getting higher, computers were getting too hot.