1 / 20

TDC 311

TDC 311. Introduction. 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. What will this course cover?.

milek
Download Presentation

TDC 311

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TDC 311 Introduction

  2. 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.

  3. 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!

  4. “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

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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).

  11. 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

  12. 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 • ?

  13. 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)

  14. Basic Computer Organization

  15. Also: Program Counter, Instruction Register

  16. Cache Almost as fast as CPU Most recently used instructions and data

  17. More Basic Terminology • Bits, bytes, words • RAM and ROM • SRAM – static RAM • DRAM – dynamic RAM • SDRAM – synchronous dynamic RAM

  18. 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

  19. 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

More Related