TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF,...

20
TDC 311 Introduction

Transcript of TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF,...

Page 1: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

TDC 311

Introduction

Page 2: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

Other NT/TDC/CINS courses

The other courses teach– protocols (TCP/IP, OSPF, HTTP, ARP,…)– standards (Ethernet, USB,…)– network administration– security– wireless– routers– VoIP– etc.

Page 3: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

What will this course cover?

Imagine that we are going to take a network server and tear it apart completely

What will we see?– Power supplies (voltages, current, resistance, diodes)– Memories (RAM, ROM)– Buses, clocks, timing signals– Operating systems (paging, threads, synchronization)– CPUs (registers, program counter, ALU)– I/O devices (disk drives)– and more

What are we waiting for? Let’s get started!

Page 4: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

“Layers” of a Computer

Problem oriented language level (Java, C, etc.)|

Assembly language level|

Operating system machine level|

Instruction set architecture level|

Microarchitecture level|

Digital logic level |

Basic electronic circuits

Page 5: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

0th Generation (1642 - 1940's)

Notable characteristics and events included: Mechanical gears and electromechanical relays In 1642 Blaise Pascal creates mechanical calculating machine

using gears, hand powered, performs + and -. In 1834 Charles Babbage creates the Difference Engine which

runs a single algorithm to compute tables of numbers. Output was punched copper plates. Never completed. Instead, began work on Analytical Engine, a programmable machine. Never completed. Was assisted by Ada Lovelace (first programmer) to write code for machine.

In 1930's Konrad Zuse builds a series of automatic calculating machines (Z1) similar to Babbage’s but using electromechanical relays. Destroyed in 1944 by allied bombing of Berlin.

Page 6: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

1st Generation (1940's - early 50's)

Vacuum tubes Absolute machine language using wired plug boards No programming languages or operating systems Programmer signed up for a block of time and brought own plug boards Serial processing In 1930's, John Atanasoff at Iowa State College designs and builds special

purpose computer using vacuum tubes. First electronic computer but still debated. First computer to use RAM.

In 1943, Alan Turing designs and builds a computer (COLUSSUS) to help crack Germany’s secret war code (ENIGMA).

In 1946, John Mauchly and J.Presper Eckert design and build first general purpose electronic computer, the ENIAC. 18,000 vacuum tubes, 1500 relays, and 30 tons. Hard-wired programs.

In 1946, John von Neumann writes paper on stored program concept. In 1951 Eckert and Mauchly complete the first commercially sold computer, the

UNIVAC I. Used to predict the winner of presidential election 1952. IBM creates Model 650. Slow, but used punch cards.

Page 7: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

2nd Generation (1955 - 1965)

Transistor hardware, more reliable, sold commercially Programmer would write program in FORTRAN, punch cards Operator (or programmer) reads in program card deck + FORTRAN compiler

card deck - Wasteful! So... Developed BATCH SYSTEM - operator batched all FTN programs together with

compiler, ran them, then batched all COBOL programs together with compiler and ran them, etc. But this still needed a human, so...

Developed RESIDENT MONITOR - a program which kept the jobs running, one after another; produced dumps; used simple JCL: $FTN $ASM $JOB ..... Still slow, so...

Developed BUFFERING - input device reads multiple records, trying to “be ready” for CPU.

FORTRAN introduced in 1957. COBOL introduced in 1960. DEC PDP-1 introduced in 1961. First mini, with 4K RAM, $120,000. 50 sold. IBM introduces model 1401 business computer in 1961. IBM introduces model 7094 scientific computer in 1962. CDC introduces 6600 parallel processor number cruncher in 1964.

Page 8: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

3rd Generation (1965 - 1980?)

IC technology IBM S/360 series of computers (family) created - one operating system ran on all models.

OS was humongous! (Read Brooks - Mythical Man Month). Developed MULTIPROGRAMMING - CPU switches from one job to next very quickly

when: I/O needed, job finishes (errs). Developed SPOOLING (Simultaneous Peripheral Operation On-Line) - used with disk

system. Input cards are read to disk, OS gets next job/data from disk, writes output records to disk. Jobs are then printed from disk. Overlaps I/O of one job with computation of other jobs. Job pool - may have multiple jobs on disk ready to run - leads to JOB SCHEDULING.

Developed TIME SHARING - multiprogramming with time slices. In a batch system, there is no interaction. Good for large jobs. In a time sharing system, each program is given a time slice. When time slice expires, CPU switches to next job. Gives illusion many jobs are running at once. CPU now switches from job to job when: I/O needed, job finishes (errs), time slice expires.

MULTICS OS developed - large complex OS running on a large complex computer (GE 645). Performed address translation, memory management (paging and segmentation), protection features.

Ken Thompson wrote UNICS/UNIX based upon concepts in MULTICS. Dennis Ritchie helped him rewrite UNIX in C.

Page 9: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

3rd Generation (1965 - 1980?)

Developed REAL-TIME OS - SABRE airline reservation system. Developed VIRTUAL MEMORY - looks like unlimited memory since

disk system is used (PAGING and SEGMENTATION). Developed concept of PROCESS - concept of “job” did not fit. Job

had improper synchronization failed mutual exclusion, deadlocks. Process helped to solve these problems - executable program + associated data + associated files + registers + ...

Intel introduces 8080 microprocessor in 1974. General purpose 8-bit 64K RAM.

Motorola introduces 6800 in 1974. Altair 8800 introduced in 1974. Bill Gates rewrites BASIC for microcomputer. First programming

language on a micro. (1974) Gary Kildall creates CP/M in 1974. Steve Jobs and Steve Wozniak create Apple computer (1974-1975). Apple II comes out in 1977.

Page 10: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

4th Generation (1980 - ? )

Personal computers, LSI technology, single-user OS. Developed NETWORK OS - loosely connected computers, each doing its own

thing. Developed DISTRIBUTED OS - more tightly connected computers, working

together on a large problem. SECURITY continued to improve, including access control, information flow

control, certification. SYSTEM STRUCTURE evolved into a layered or hierarchical design VAX VMS OS/2 UNIX MVS simplified Windows NT Concept of THREAD developed (lightweight process) - thread includes program

counter, register set, stack space. Shares code section, data section and OS resources.

IBM introduces IBM PC with 64K, 8088 processor (1981). Apple introduces LISA 68000 based (1984).

Page 11: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

4th Generation (1980 - ? )

SUN introduces its own microprocessor based on RISC technology-the SPARC (Scalable Processor ARChitecture).

Windows 3 (May 1990) introduced, lots of 3rd party support (unlike previous versions) and modern look

Apple Mac 7 (May 1991) - TrueType fonts allowed for powerful use of ink-jet printers, first virtual memory in consumer pc

Early 1990s - virtual reality Digital’s Alpha architecture (1992) - 64-bit RISC Linux (1992-93) PowerPC (1993) - very powerful RISC processor Apple Newton (1993) - first PDA, weighed 1 pound, 20 MHz Acorn RISC Intel Pentium (1993) - CISC can run fast, 3.1 million transistors, 60 MHz Apple’s Power Mac (March 1994) - first mainstream RISC pc World Wide Web OS/2 Warp (October 1994) - Third try, IBM finally got it right, second most

popular OS after Windows Windows 95 – first really successful Microsoft Windows product

Page 12: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

4th Generation (1980 - ? )

Toy Story – First all digital movie NetWare v. 4, then 6 Windows Server NT (followed by much better 2000, 2003, 2008) Linux IPv6 Multi-core processors Apple’s iPhone Cloud computing ?

Page 13: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

Binary Arithmetic

Read the Handout on Binary Arithmetic on my website base 10, 2, and 16 number systems (and others?) binary arithmetic (add long strings of binary/hex digits – arithmetic

check) conversion from one form to another integer representation signed and unsigned integers largest values, positive values, negative values 2's complement and 1’s complement floating point fraction (mantissa) and exponent floating point representation binary coded decimal (BCD) character encoding (ASCII, EBCDIC, and Unicode)

Page 14: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

Basic Computer Organization

Page 15: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

Also: Program Counter,Instruction Register

Page 16: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

Cache Almost as fastas CPU

Most recently used instructions and data

Page 17: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.
Page 18: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

More Basic Terminology

Bits, bytes, words RAM and ROM SRAM – static RAM DRAM – dynamic RAM SDRAM – synchronous dynamic RAM

Page 19: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

More Basic Terminology

Magnetic tape Disk drives

– Total average access time Ta = Ts + 1/2r +b/r*N– where Ts=avg seek time = m*n+s where

m=constant that depends on drive; n=#tracks traversed; s=startup time

– r = rotational speed in RPS– b = # of bytes transferred– N = # of bytes on track

Page 20: TDC 311 Introduction. Other NT/TDC/CINS courses The other courses teach – protocols (TCP/IP, OSPF, HTTP, ARP,…) – standards (Ethernet, USB,…) – network.

More Basic Terminology

CD-ROM – hold ~700 Mbytes CD-R (recordable once) CD-RW (rewritable) DVD-ROM, DVD-Audio, DVD-RAM, DVD-

RW, DVD-R, DVD+RW Blu-Ray DVD, (HD DVD obsolete) More details on these in a later lecture