Introduc@on The slides are courtesy of Dr. Jeffrey Shafer - - PowerPoint PPT Presentation

introduc on
SMART_READER_LITE
LIVE PREVIEW

Introduc@on The slides are courtesy of Dr. Jeffrey Shafer - - PowerPoint PPT Presentation

Computer Systems and Networks ECPE 170 Vivek Pallipuram University of the Pacific Introduc@on The slides are courtesy of Dr. Jeffrey Shafer


slide-1
SLIDE 1

ì ¡

Computer ¡Systems ¡and ¡Networks ¡

ECPE ¡170 ¡– ¡Vivek ¡Pallipuram– ¡University ¡of ¡the ¡Pacific ¡

Introduc@on ¡

The ¡slides ¡are ¡courtesy ¡of ¡Dr. ¡Jeffrey ¡Shafer ¡
slide-2
SLIDE 2

ì ¡

  • Dr. ¡Venkittaraman ¡Vivek ¡

Pallipuram ¡Krishnamani ¡

slide-3
SLIDE 3

ì ¡

slide-4
SLIDE 4

ì ¡

Evolution ¡of ¡Dr. ¡Pallipuram’s ¡ Name ¡

slide-5
SLIDE 5

ì ¡

Originally: ¡Vivek ¡Raman ¡ Father’s ¡Name: ¡P.K.V. ¡Raman ¡

slide-6
SLIDE 6

ì ¡

School ¡Gave ¡the ¡Government ¡my ¡ name ¡as: ¡Vivek ¡P.K.V. ¡Raman ¡

slide-7
SLIDE 7

ì ¡ Government ¡took ¡my ¡name ¡as: ¡ Venkittaraman ¡Vivek ¡Pallipuram ¡ Krishnamani ¡

slide-8
SLIDE 8

ì ¡ Clemson ¡University ¡took ¡my ¡name ¡as: ¡ Vivek ¡Kris. ¡Pallipuram ¡

slide-9
SLIDE 9

ì ¡ ECE ¡Department ¡gave ¡me ¡several ¡ names: ¡Vivek, ¡Kris., ¡Krishna.. ¡

slide-10
SLIDE 10

ì ¡ As ¡if ¡it ¡wasn’t ¡enough, ¡a ¡doctorate ¡ added ¡‘Dr.’ ¡prefix ¡and ¡I ¡became: ¡

  • Dr. ¡Venkittaraman ¡Vivek ¡Pallipuram ¡

Krishnamani ¡

slide-11
SLIDE 11

My ¡Background ¡

ì Started ¡as ¡an ¡Instrumenta@on ¡and ¡Control ¡

Engineer ¡

ì Found ¡real ¡interest ¡in ¡compu@ng ¡

ì Master’s ¡degree ¡and ¡Doctorate ¡in ¡Computer ¡

Engineering ¡

ì Extensive ¡experience ¡in: ¡

ì Por@ng ¡scien@fic ¡applica@ons ¡on ¡supercomputers ¡ ì Performance ¡analysis ¡(predic@on ¡of ¡run@me ¡without ¡

running ¡an ¡applica@on) ¡using ¡probability ¡theory ¡

ì Probabilis@c ¡modeling ¡in ¡other ¡fields: ¡climate ¡modeling ¡

slide-12
SLIDE 12 Fall ¡2016 ¡ Computer ¡Systems ¡and ¡Networks ¡

12 ¡

What ¡is ¡this ¡machine? ¡

Charles ¡Babbage’s ¡Difference ¡Machine ¡circa ¡1847 ¡

slide-13
SLIDE 13

ENIAC ¡-­‑ ¡1946 ¡

slide-14
SLIDE 14

EDSAC ¡1 ¡-­‑ ¡1949 ¡

slide-15
SLIDE 15 Fall ¡2016 ¡ Computer ¡Systems ¡and ¡Networks ¡

15 ¡

Apollo ¡Guidance ¡ Computer ¡ Used ¡to ¡send ¡ man ¡on ¡the ¡ moon ¡ 64 ¡KB ¡memory ¡ Clock ¡speed: ¡43 ¡ KHz ¡

slide-16
SLIDE 16

A ¡Modern ¡Computer ¡– ¡iPad ¡Air ¡“2” ¡

Fall ¡2016 ¡ Computer ¡Systems ¡and ¡Networks ¡

16 ¡

Apple ¡A8X ¡Processor ¡ Clock ¡speed ¡– ¡1.5GHz ¡ 3 ¡cores ¡ 2GB ¡RAM ¡

Used ¡for? ¡

slide-17
SLIDE 17

Applications ¡

Computer ¡Systems ¡and ¡Networks ¡

17 ¡

Fall ¡2016 ¡
slide-18
SLIDE 18

Application ¡– ¡Angry ¡Birds ¡

ì Wri_en ¡in ¡a ¡high ¡level ¡language ¡(Objec@ve ¡C) ¡ ì What ¡resources ¡does ¡Angry ¡Birds ¡need ¡to ¡run? ¡

(i.e. ¡what ¡does ¡the ¡Angry ¡Birds ¡executable ¡file ¡need ¡ to ¡execute?) ¡

ì Hardware ¡

ì Processor(s) ¡– ¡Run ¡program, ¡display ¡graphics, ¡… ¡ ì Memory ¡– ¡Store ¡programs, ¡store ¡data ¡ ì I/O ¡– ¡Touch ¡screen, ¡storage, ¡network, ¡ ¡3-­‑axis ¡gyro, ¡… ¡

ì Sogware ¡-­‑ ¡Opera@ng ¡system ¡

Computer ¡Systems ¡and ¡Networks ¡

18 ¡

Fall ¡2016 ¡
slide-19
SLIDE 19

Software ¡-­‑ ¡Operating ¡System ¡

ì Apple ¡iOS ¡– ¡Used ¡in ¡iPads, ¡iPhones, ¡iPods, ¡Apple ¡TV ¡

ì Variant ¡of ¡Mac ¡OS ¡X ¡opera@ng ¡system ¡used ¡on ¡

tradi@onal ¡Macs ¡ ì What ¡are ¡some ¡jobs ¡of ¡this ¡operaHng ¡system? ¡

ì Manage ¡hardware ¡ ì Manage ¡applica@ons ¡(mul@tasking) ¡

ì Wri_en ¡in ¡high-­‑level ¡languages ¡

ì C, ¡C++, ¡Objec@ve ¡C ¡(varies ¡by ¡component) ¡ ì Can ¡we ¡run ¡this ¡code ¡directly ¡on ¡the ¡processor? ¡

Computer ¡Systems ¡and ¡Networks ¡

19 ¡

Fall ¡2016 ¡
slide-20
SLIDE 20

Software ¡-­‑ ¡Compilers ¡/ ¡Interpreters ¡

ì These ¡are ¡programs ¡that ¡build ¡other ¡programs! ¡ ì Goal: ¡Convert ¡high-­‑level ¡languages ¡into ¡machine ¡code ¡

that ¡can ¡be ¡directly ¡executed ¡by ¡hardware ¡

ì Examples ¡ ¡

ì

Apple ¡Xcode ¡

ì

Microsog ¡Visual ¡ Studio ¡ ì What’s ¡the ¡difference ¡

between ¡a ¡compiler ¡ ¡ and ¡interpreter? ¡

Computer ¡Systems ¡and ¡Networks ¡

20 ¡

Fall ¡2016 ¡
slide-21
SLIDE 21

Hardware ¡

Computer ¡Systems ¡and ¡Networks ¡

21 ¡

h_ps://www.ifixit.com/Teardown/iPad+Air+2+Teardown/30592 ¡

Fall ¡2016 ¡
slide-22
SLIDE 22

Hardware ¡

Computer ¡Systems ¡and ¡Networks ¡

22 ¡

Apple ¡A8X ¡64-­‑bit ¡Processor ¡ RAM ¡(2GB) ¡ NAND ¡Flash ¡Memory ¡(16+ ¡GB) ¡ ¡ NFC ¡Controller ¡ Audio ¡ MoHon ¡

Fall ¡2016 ¡
slide-23
SLIDE 23

iPad ¡Air ¡“2” ¡Processor ¡

ì Apple ¡A8X ¡Processor ¡

ì Clock ¡speed ¡– ¡1.5GHz ¡ ì 3 ¡cores ¡ ì 2GB ¡RAM ¡

ì What ¡does ¡a ¡processor ¡do? ¡

ì Executes ¡machine ¡language ¡instruc@ons ¡

ì Machine ¡language? ¡

ì How ¡does ¡the ¡processor ¡execute ¡the ¡instrucHons? ¡

Spring ¡2016 ¡ Computer ¡Systems ¡and ¡Networks ¡

23 ¡

What ¡do ¡these ¡mean? ¡

slide-24
SLIDE 24

Microarchitecture ¡

Computer ¡Systems ¡and ¡Networks ¡

24 ¡

Fall ¡2016 ¡
slide-25
SLIDE 25

How ¡Does ¡It ¡Work? ¡

ì Apple ¡won’t ¡tell ¡us ¡– ¡trade ¡

secret! ¡

ì Experts ¡can ¡dissolve ¡(with ¡

acid), ¡burn, ¡or ¡grind ¡off ¡

  • uter ¡protec@ve ¡layers ¡of ¡

chip ¡and ¡then ¡peer ¡inside: ¡

ì

Need ¡a ¡really ¡good ¡ microscope! ¡

ì

Reverse ¡Engineering ¡in ¡ the ¡Semiconductor ¡ Industry: ¡

h_p://www.scribd.com/doc/ 53742174/Reverse-­‑Engineering ¡ ¡

Computer ¡Systems ¡and ¡Networks ¡

25 ¡

Fall ¡2016 ¡
slide-26
SLIDE 26 Computer ¡Systems ¡and ¡Networks ¡

26 ¡

Can ¡see ¡this ¡ level ¡of ¡detail ¡ with ¡your ¡own ¡ eyes… ¡ Divided ¡into ¡logic ¡ blocks ¡with ¡different ¡ func@ons: ¡ ¡

  • Processor ¡
  • Cache ¡memory ¡
  • Memory ¡

Controller ¡

  • Video ¡(GPU) ¡
Fall ¡2016 ¡
slide-27
SLIDE 27 Computer ¡Systems ¡and ¡Networks ¡

27 ¡

SEM ¡Cross-­‑Sec@on ¡of ¡(older) ¡Apple ¡A5 ¡

Fall ¡2016 ¡
slide-28
SLIDE 28

Digital ¡Logic ¡

Computer ¡Systems ¡and ¡Networks ¡

28 ¡

Memory ¡cell ¡ Transistor ¡

Fall ¡2016 ¡
slide-29
SLIDE 29

Transistors ¡

Computer ¡Systems ¡and ¡Networks ¡

29 ¡

ì You ¡can ¡s@ll ¡make ¡

assump@ons ¡at ¡this ¡level ¡that ¡ the ¡transistor ¡is ¡either ¡ “on” ¡(1) ¡or ¡“off” ¡(0) ¡

ì But ¡below ¡this ¡are ¡analog ¡

circuits ¡

Fall ¡2016 ¡
slide-30
SLIDE 30

The ¡Computer ¡Level ¡Hierarchy ¡

ì Level ¡6: ¡The ¡User ¡Level ¡– ¡“Angry ¡Birds” ¡

ì Program ¡execu@on ¡and ¡user ¡interface ¡level ¡

ì Level ¡5: ¡High-­‑Level ¡Language ¡Level ¡– ¡“Objec@ve ¡C” ¡

ì Programming ¡languages ¡like ¡C++, ¡Java, ¡Python, ¡… ¡

ì Level ¡4: ¡Assembly ¡Language ¡Level ¡– ¡“ARM ¡

Assembly” ¡

ì Program ¡directly ¡at ¡this ¡level, ¡or ¡… ¡ ì Use ¡a ¡compiler/interpreter ¡to ¡process/convert ¡high-­‑

level ¡code ¡

Computer ¡Systems ¡and ¡Networks ¡

30 ¡

User ¡Level ¡ High-­‑Level ¡ Language ¡ Assembly ¡

Fall ¡2016 ¡
slide-31
SLIDE 31

The ¡Computer ¡Level ¡Hierarchy ¡

ì Level ¡3: ¡System ¡So`ware ¡Level ¡-­‑ ¡“iOS” ¡

ì Controls ¡ac@ve ¡programs ¡and ¡manages ¡system ¡

resources ¡

ì Assembly ¡language ¡instruc@ons ¡ogen ¡pass ¡through ¡

Level ¡3 ¡without ¡modifica@on ¡ ì Level ¡2: ¡Machine ¡Level ¡

ì Instruc@on ¡Set ¡Architecture ¡(ISA) ¡Level ¡ ì Instruc@ons ¡are ¡par@cular ¡to ¡the ¡architecture ¡of ¡the ¡

specific ¡machine ¡(i.e. ¡Intel ¡processors, ¡ARM ¡ processors, ¡IBM ¡processors…) ¡

Computer ¡Systems ¡and ¡Networks ¡

31 ¡

User ¡Level ¡ High-­‑Level ¡ Language ¡ Assembly ¡ System ¡ Machine ¡

Fall ¡2016 ¡
slide-32
SLIDE 32

The ¡Computer ¡Level ¡Hierarchy ¡

ì Level ¡1: ¡Control ¡Level ¡

ì Decodes ¡and ¡executes ¡instruc@ons ¡and ¡moves ¡data ¡

through ¡the ¡system ¡

ì ECPE ¡173 ¡– ¡Computer ¡OrganizaHon ¡& ¡Architecture ¡

ì Level ¡0: ¡Digital ¡Logic ¡Level ¡

ì Digital ¡circuits, ¡gates ¡and ¡wires ¡implement ¡the ¡

mathema@cal ¡logic ¡of ¡all ¡other ¡levels ¡

ì ECPE ¡71 ¡– ¡Digital ¡Design ¡

ECPE ¡174 ¡– ¡Advanced ¡Digital ¡Design ¡

Computer ¡Systems ¡and ¡Networks ¡

32 ¡

User ¡Level ¡ High-­‑Level ¡ Language ¡ Assembly ¡ System ¡ Machine ¡ Control ¡ Digital ¡Logic ¡

These ¡levels ¡are ¡too ¡hardware-­‑oriented ¡for ¡ECPE ¡170… ¡

Fall ¡2016 ¡
slide-33
SLIDE 33

ì ¡

Course ¡Overview ¡

Computer ¡Systems ¡and ¡Networks ¡

33 ¡

Fall ¡2016 ¡
slide-34
SLIDE 34

Motivating ¡Question ¡

ì What ¡do ¡you, ¡as ¡a ¡programmer, ¡need ¡to ¡know ¡

about ¡the ¡underlying ¡system ¡(so`ware ¡and ¡ hardware) ¡to ¡write ¡more ¡efficient ¡code? ¡

ì Role ¡of ¡the ¡tools ¡

ì Compiler, ¡assembler, ¡linker, ¡profiler ¡

ì Role ¡of ¡the ¡opera@ng ¡system ¡and ¡its ¡efficient ¡usage ¡ ì Assembly ¡programming ¡(using ¡the ¡CPU ¡efficiently) ¡ ì Memory ¡hierarchy ¡and ¡its ¡impact ¡on ¡performance ¡

Computer ¡Systems ¡and ¡Networks ¡

34 ¡

Fall ¡2016 ¡

General ¡Theme: ¡Professor ¡Pallipuram ¡will ¡be ¡the ¡General ¡Manager ¡ YOU ¡are ¡the ¡sogware ¡engineer ¡

slide-35
SLIDE 35

Course ¡Goals ¡

ì Present ¡a ¡complete ¡view ¡of ¡how ¡computer ¡systems ¡are ¡

constructed ¡

ì

From ¡the ¡CPU ¡assembly ¡programming ¡level ¡ to ¡the ¡user ¡applica@on ¡level ¡ ì Understand ¡the ¡rela@onship ¡between ¡computer ¡

sogware ¡and ¡hardware ¡

ì Lay ¡the ¡founda@on ¡for ¡future ¡courses ¡

ì

Advanced ¡Digital ¡design ¡/ ¡VLSI ¡

ì

Opera@ng ¡systems ¡

ì

Computer ¡networking ¡

ì

Applica@on ¡development ¡

35 ¡

Computer ¡Systems ¡and ¡Networks ¡ Fall ¡2016 ¡
slide-36
SLIDE 36

C ¡Programming ¡Language ¡

ì Why ¡not ¡Python, ¡Java, ¡

Ruby, ¡Perl, ¡PHP, ¡…? ¡

ì High-­‑level ¡languages ¡

(especially ¡interpreted, ¡ managed ¡code…) ¡try ¡to ¡hide ¡ the ¡underlying ¡machine ¡ from ¡you ¡

ì ECPE ¡170 ¡wants ¡to ¡reveal ¡

the ¡underlying ¡machine ¡to ¡ you! ¡

Computer ¡Systems ¡and ¡Networks ¡

36 ¡

C

Fall ¡2016 ¡
slide-37
SLIDE 37

Linux ¡

ì Course ¡will ¡be ¡taught ¡100% ¡

in ¡Linux ¡

ì

Did ¡you ¡have ¡to ¡choose ¡Linux ¡for ¡ECPE ¡ 170? ¡ ¡

ì

No, ¡not ¡really, ¡but… ¡

ì

Too ¡many ¡Pacific ¡graduates ¡were ¡ escaping ¡without ¡a ¡working ¡knowledge! ¡

ì

Feedback ¡from ¡co-­‑op ¡employers ¡and ¡ graduates: ¡“More ¡Linux/Unix ¡skills ¡ please!” ¡

Computer ¡Systems ¡and ¡Networks ¡

37 ¡

Fall ¡2016 ¡
slide-38
SLIDE 38

Linux ¡

ì Who ¡here ¡has ¡used ¡a ¡Linux ¡desktop/

laptop/server ¡before? ¡

ì Who ¡here ¡has ¡used ¡a ¡Linux ¡“device” ¡

before? ¡

ì

I’d ¡be ¡surprised ¡if ¡it ¡isn’t ¡everyone… ¡

ì

Android ¡runs ¡a ¡Linux ¡kernel ¡

ì

Amazon ¡Kindle ¡runs ¡a ¡Linux ¡kernel ¡

ì

TiVO ¡runs ¡a ¡Linux ¡kernel ¡

Computer ¡Systems ¡and ¡Networks ¡

38 ¡

Fall ¡2016 ¡
slide-39
SLIDE 39

Discussion ¡

ì What ¡is ¡open-­‑source? ¡ ì What ¡is ¡an ¡operaHng ¡system ¡kernel? ¡

ì Is ¡the ¡kernel ¡everything ¡you ¡need ¡from ¡an ¡OS? ¡

ì What ¡is ¡Linux? ¡ ì What ¡is ¡Ubuntu ¡Linux? ¡(RedHat? ¡Debian? ¡…) ¡

¡

ì à

à ¡Show ¡family ¡tree ¡of ¡distribuHons ¡ß ß ¡

Computer ¡Systems ¡and ¡Networks ¡

39 ¡

Fall ¡2016 ¡
slide-40
SLIDE 40

Virtual ¡Machine ¡

ì Course ¡will ¡be ¡taught ¡100% ¡

from ¡a ¡virtual ¡machine ¡ booHng ¡Linux ¡that ¡you ¡install! ¡

ì

Couldn’t ¡you ¡just ¡give ¡us ¡remote ¡access ¡to ¡ a ¡server ¡someplace ¡that ¡is ¡already ¡ configured? ¡

ì

Yes, ¡but… ¡

ì

By ¡installing ¡it ¡yourself ¡you ¡will ¡have ¡the ¡ skills ¡to ¡use ¡it ¡again ¡in ¡the ¡future ¡

ì

No ¡mysterious ¡“Professor ¡Pallipuram/ Shafer” ¡sogware ¡configura@on ¡

Computer ¡Systems ¡and ¡Networks ¡

40 ¡

Fall ¡2016 ¡
slide-41
SLIDE 41

Discussion ¡

ì What ¡is ¡a ¡Virtual ¡Machine? ¡

ì Is ¡this ¡the ¡same ¡thing ¡as ¡a ¡Java ¡virtual ¡machine? ¡

ì How ¡is ¡it ¡different ¡from ¡dual ¡booHng? ¡ ì Which ¡comes ¡first, ¡the ¡virtual ¡machine, ¡or ¡the ¡OS? ¡

ì Answer: ¡It ¡depends! ¡ ì Typical ¡desktop ¡install: ¡hosted ¡virtualiza@on ¡ ì Typical ¡server ¡install: ¡bare-­‑metal ¡virtualiza@on ¡

Computer ¡Systems ¡and ¡Networks ¡

41 ¡

Fall ¡2016 ¡
slide-42
SLIDE 42

Hosted ¡Virtualization ¡

Computer ¡Systems ¡and ¡Networks ¡

42 ¡

Recommended ¡ technique ¡for ¡ECPE ¡ 170 ¡

Fall ¡2016 ¡
slide-43
SLIDE 43

Bare-­‑Metal ¡Virtualization ¡

Computer ¡Systems ¡and ¡Networks ¡

43 ¡

More ¡ efficient, ¡but ¡ not ¡as ¡easy ¡ to ¡install. ¡ ¡ The ¡virtual ¡ machine ¡ monitor ¡acts ¡ like ¡an ¡

  • pera@ng ¡

system ¡ itself! ¡

Fall ¡2016 ¡
slide-44
SLIDE 44

Version ¡Control ¡

ì Course ¡will ¡use ¡version ¡control! ¡ ¡

ì

Only ¡way ¡to ¡get ¡lab ¡code ¡or ¡turn ¡in ¡ assignments ¡

ì

Did ¡you ¡have ¡to ¡mandate ¡VCS ¡for ¡ECPE ¡170? ¡ ¡

ì

No, ¡not ¡really, ¡but… ¡

ì

Too ¡many ¡Pacific ¡graduates ¡were ¡avoiding ¡ learning ¡this ¡on ¡their ¡own! ¡

ì

Feedback ¡from ¡co-­‑op ¡employers ¡and ¡ graduates: ¡“Only ¡n00bs ¡work ¡without ¡ version ¡control!” ¡

ì

Used ¡everywhere: ¡Source ¡code ¡of ¡all ¡kinds! ¡ (C++, ¡Python, ¡Matlab, ¡VHDL/Verilog, ¡…) ¡

Computer ¡Systems ¡and ¡Networks ¡

44 ¡

Fall ¡2016 ¡
slide-45
SLIDE 45

Version ¡Control ¡

ì Who ¡here ¡has ¡used ¡a ¡version ¡control ¡

system ¡before? ¡

ì

What ¡system? ¡

ì

Where ¡at? ¡

ì

What ¡purpose? ¡

Computer ¡Systems ¡and ¡Networks ¡

45 ¡

Fall ¡2016 ¡
slide-46
SLIDE 46

Questions? ¡

ì ¡Ques@ons? ¡ ì ¡Concerns? ¡

Computer ¡Systems ¡and ¡Networks ¡

46 ¡

Fall ¡2016 ¡
slide-47
SLIDE 47

ì ¡

Course ¡Mechanics ¡

Computer ¡Systems ¡and ¡Networks ¡

47 ¡

Fall ¡2016 ¡
slide-48
SLIDE 48

Websites ¡

Computer ¡Systems ¡and ¡Networks ¡

48 ¡

  • h_p://ecs-­‑network.serv.pacific.edu/ecpe-­‑170 ¡ ¡

Main ¡website ¡ ¡(syllabus, ¡schedule) ¡

  • h_p://canvas.pacific.edu ¡

Canvas ¡website ¡ ¡(gradebook) ¡

  • h_p://bitbucket.org ¡ ¡

Bitbucket.org ¡(version ¡control) ¡

Fall ¡2016 ¡
slide-49
SLIDE 49

Textbook ¡

ì No ¡official ¡textbook ¡

ì Op@onal ¡reference ¡books ¡

(useful ¡for ¡this ¡class ¡and ¡ beyond) ¡

ì

The ¡C ¡Programming ¡ Language, ¡2nd ¡Edi@on ¡

ì

See ¡MIPS ¡Run, ¡2nd ¡Edi@on ¡ ì Please ¡suggest ¡useful ¡online ¡

  • r ¡print ¡references ¡

throughout ¡the ¡semester ¡

Computer ¡Systems ¡and ¡Networks ¡

49 ¡

Fall ¡2016 ¡
slide-50
SLIDE 50

Grading ¡

ì 30% ¡-­‑ ¡Exams ¡

ì

15% ¡-­‑ ¡Mid-­‑term ¡exam ¡

ì

15% ¡-­‑ ¡Final ¡exam ¡ ì 70% ¡-­‑ ¡Labs ¡

ì

Points ¡assigned ¡to ¡each ¡lab ¡will ¡vary ¡based ¡on ¡complexity ¡

ì

Each ¡lab ¡begins ¡as ¡an ¡in-­‑class ¡ac@vity ¡

ì Unfinished ¡work ¡becomes ¡homework/project ¡ ì Labs ¡are ¡large ¡– ¡assume ¡“the ¡usual” ¡amount ¡of ¡

homework/projects ¡for ¡a ¡4-­‑credit ¡class ¡

ì

Tip: ¡The ¡best ¡students ¡last ¡semester ¡started ¡the ¡labs ¡

  • utside ¡of ¡class, ¡and ¡finished ¡them ¡as ¡an ¡in-­‑class ¡acHvity ¡
Computer ¡Systems ¡and ¡Networks ¡

50 ¡

Fall ¡2016 ¡
slide-51
SLIDE 51

Honor ¡Code ¡

ì All ¡assignments ¡are ¡submiqed ¡individually ¡ ì Encouraged ¡AcHviHes ¡

ì Collabora@ng ¡with ¡your ¡classmates ¡ ¡

(asking ¡ques@ons, ¡solving ¡problems ¡together) ¡

ì Searching ¡for ¡solu@ons ¡online ¡

ì Provided ¡code ¡copied ¡does ¡not ¡exceed ¡25% ¡of ¡total ¡

assignment ¡length ¡

ì Provided ¡you ¡clearly ¡document ¡this ¡copy ¡in ¡your ¡

source ¡code ¡and ¡lab ¡report ¡

ì What ¡did ¡you ¡copy? ¡Where ¡did ¡it ¡come ¡from? ¡

Computer ¡Systems ¡and ¡Networks ¡

51 ¡

Fall ¡2016 ¡
slide-52
SLIDE 52

Honor ¡Code ¡

ì Risky ¡AcHviHes ¡

ì Having ¡your ¡classmates ¡type ¡on ¡your ¡computer ¡or ¡

assignment ¡file ¡ ì Forbidden ¡AcHviHes ¡

ì Copying ¡someone’s ¡work ¡verba@m ¡(classmate ¡or ¡

  • therwise) ¡

ì Copying ¡someone’s ¡work ¡and ¡obfusca@ng ¡its ¡source ¡

Computer ¡Systems ¡and ¡Networks ¡

52 ¡

Fall ¡2016 ¡
slide-53
SLIDE 53

Lab ¡Topics ¡

1.

Linux ¡

2.

Version ¡Control ¡

3.

C ¡Programming ¡

4.

C ¡Programming ¡Project ¡

5.

Performance ¡Measurement ¡

6.

Performance ¡Op@miza@on ¡ (compiler ¡and ¡programmer ¡ techniques) ¡

7.

Performance ¡Op@miza@on ¡ (Memory ¡systems) ¡

8.

Network ¡Programming ¡1 ¡ (Python) ¡

9.

Network ¡Programming ¡2 ¡

  • 10. Assembly ¡Programming ¡1 ¡

(MIPS) ¡

  • 11. Assembly ¡Programming ¡2 ¡
  • 12. Assembly ¡Programming ¡3 ¡
Computer ¡Systems ¡and ¡Networks ¡

53 ¡

Fall ¡2016 ¡
slide-54
SLIDE 54

Class ¡Time ¡

ì The ¡goal* ¡in ¡designing ¡this ¡course: ¡

Computer ¡Systems ¡and ¡Networks ¡

54 ¡

* ¡Actual ¡@me ¡in ¡any ¡specific ¡class ¡may ¡vary ¡

0% ¡ 25% ¡ 50% ¡ 75% ¡ 100% ¡ Me ¡Talking ¡ You ¡Doing ¡ (Hands-­‑on ¡ac@vi@es) ¡

Fall ¡2016 ¡
slide-55
SLIDE 55

ì ¡

Lab ¡1 ¡-­‑ ¡Linux ¡

Computer ¡Systems ¡and ¡Networks ¡

55 ¡

Fall ¡2016 ¡
slide-56
SLIDE 56

Homework ¡

ì Before ¡the ¡next ¡class ¡

1.

Skim ¡“Virtual ¡Machine ¡Setup” ¡tutorial ¡instrucHons ¡

  • n ¡website ¡

ì h_p://ecs-­‑network.serv.pacific.edu/ecpe-­‑170/

tutorials/vm_setup ¡ ¡ 2.

Decide ¡on ¡what ¡computer ¡system ¡you ¡want ¡to ¡use ¡ for ¡this ¡class ¡

3.

Download ¡all ¡so`ware ¡

ì Virtual ¡machine ¡installer ¡(VMWare ¡Player) ¡ ì Linux ¡.iso ¡image ¡(installer) ¡– ¡64-­‑bit ¡version ¡

Computer ¡Systems ¡and ¡Networks ¡

56 ¡

Fall ¡2016 ¡
slide-57
SLIDE 57

Next ¡Class ¡-­‑ ¡Linux ¡Installfest ¡ ¡

ì Tutorial ¡Day ¡ ì Objec@ves ¡

ì Follow ¡the ¡“Virtual ¡Machine ¡Setup” ¡tutorial ¡from ¡

website ¡to ¡install ¡Linux ¡

ì Debug ¡individual ¡problems ¡if ¡needed ¡ ì Verify ¡OS ¡works ¡ ì Email ¡me ¡screenshot ¡as ¡proof ¡of ¡success ¡

Computer ¡Systems ¡and ¡Networks ¡

57 ¡

Fall ¡2016 ¡
slide-58
SLIDE 58

Next ¡Class ¡-­‑ ¡Linux ¡Installfest ¡

ì I ¡want ¡you ¡to ¡be ¡comfortable ¡as ¡professionals ¡

working ¡independently ¡to ¡solve ¡problems ¡

ì If ¡you ¡complete ¡the ¡“Virtual ¡Machine ¡Setup” ¡

tutorial ¡independently ¡(and ¡email ¡me ¡a ¡screenshot ¡ by ¡Thursday ¡morning), ¡you ¡don’t ¡need ¡to ¡a_end ¡ Thursday’s ¡class. ¡Sleep ¡in! ¡(Or ¡come ¡help ¡out) ¡

ì I ¡will ¡s@ll ¡be ¡here ¡to ¡answer ¡all ¡ques@ons ¡and ¡solve ¡

problems ¡

Computer ¡Systems ¡and ¡Networks ¡

58 ¡

Fall ¡2016 ¡
slide-59
SLIDE 59

Next ¡Class ¡-­‑ ¡Linux ¡Installfest ¡

ì Warning: ¡Don’t ¡skip ¡class ¡Thursday, ¡and ¡

then ¡tell ¡me ¡next ¡Tuesday ¡at ¡Lab ¡#1 ¡that ¡ your ¡OS ¡doesn’t ¡work! ¡

Computer ¡Systems ¡and ¡Networks ¡

59 ¡

Fall ¡2016 ¡
slide-60
SLIDE 60

Lab ¡1 ¡-­‑ ¡Linux ¡

ì The ¡first ¡lab ¡is ¡next ¡Tuesday ¡

ì Topic: ¡Linux ¡ ì Crash ¡course ¡in ¡command-­‑line ¡usage ¡

ì Lab ¡1: ¡Pre-­‑Lab ¡

ì Show ¡me ¡the ¡working ¡command ¡prompt ¡in ¡your ¡

Linux ¡install. ¡Hopefully ¡you ¡will ¡have ¡this ¡done ¡by ¡ end-­‑of-­‑class ¡Thursday ¡

ì Pre-­‑Labs ¡are ¡always ¡due ¡at ¡the ¡start ¡of ¡the ¡lab ¡

Computer ¡Systems ¡and ¡Networks ¡

60 ¡

Fall ¡2016 ¡
slide-61
SLIDE 61

Bring ¡Laptop! ¡

Computer ¡Systems ¡and ¡Networks ¡

61 ¡

Every ¡class ¡– ¡bring ¡your ¡laptop ¡

Fall ¡2016 ¡
slide-62
SLIDE 62

Bring ¡Laptop! ¡

Computer ¡Systems ¡and ¡Networks ¡

62 ¡

Every ¡class ¡– ¡bring ¡your ¡laptop! ¡

Fall ¡2016 ¡
slide-63
SLIDE 63

Bring ¡Laptop! ¡

Computer ¡Systems ¡and ¡Networks ¡

63 ¡

Every ¡class ¡– ¡bring ¡your ¡laptop!! ¡

(*) ¡Maybe ¡not ¡this ¡one, ¡but ¡you ¡get ¡the ¡idea… ¡

Fall ¡2016 ¡
slide-64
SLIDE 64

Bring ¡Laptop! ¡

Computer ¡Systems ¡and ¡Networks ¡

64 ¡

Every ¡class ¡– ¡bring ¡your ¡laptop!! ¡ Just ¡assume ¡we’ll ¡do ¡at ¡least ¡some ¡lab ¡ acHvity ¡in ¡class ¡unless ¡it’s ¡been ¡made ¡ crystal ¡clear ¡in ¡advance ¡that ¡a ¡day ¡will ¡ be ¡all ¡lecture/discussion ¡instead… ¡

Fall ¡2016 ¡
slide-65
SLIDE 65

Bring ¡Laptop! ¡

ì No ¡laptop? ¡ ¡Let’s ¡try ¡installing ¡Linux ¡to ¡a ¡USB ¡sQck ¡

and ¡dual ¡boot ¡the ¡classroom ¡computers. ¡

ì See ¡me ¡a@er ¡class ¡to ¡sign-­‑out ¡hardware… ¡

Computer ¡Systems ¡and ¡Networks ¡

65 ¡

Fall ¡2016 ¡
slide-66
SLIDE 66

Questions? ¡

ì ¡Ques@ons? ¡ ì ¡Concerns? ¡

Computer ¡Systems ¡and ¡Networks ¡

66 ¡

Fall ¡2016 ¡