computer systems and networks · 2019-01-10 · computer systems and networks lecture 1:...

30
Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28 TH 2018 Dr. Pallipuram (Section 1) ([email protected]) University of the Pacific

Upload: others

Post on 15-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Computer Systems and Networks

LECTURE 1: INTRODUCTION AUGUST 28TH 2018

Dr.Pallipuram(Section1)([email protected])

University of the Pacific

Page 2: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Our Course Goals

Page 3: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Looks familiar?

How does a computer system execute this game? Let’s take a look at a bottom-up

picture

Page 4: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Bottom Up Picture

Memory cell Transistor

Level0:ElectronicsandCircuits(ECPE41,

131)

Page 5: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Bottom Up Picture

Level0:ElectronicsandCircuits(ECPE41,

131)

Level1:DigitalDesign(ECPE71,174)

What does it do? Write first few sequences

Page 6: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Bottom Up Picture

Level0:ElectronicsandCircuits(ECPE41,

131)

Level1:DigitalDesign(ECPE71,174)

How about this one?

Level2:ComputerOrganization(ECPE173)

Page 7: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Level0:ElectronicsandCircuits(ECPE41,131)

Level1:DigitalDesign(ECPE71,ECPE174)

Level2:ComputerOrganization(ECPE173)

Level3:Machinelevel(forARM,Intel,etc.)ECPE173

Page 8: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Level0:ElectronicsandCircuits(ECPE41,131)

Level1:DigitalDesign(ECPE71,ECPE174)

Level2:ComputerOrganization(ECPE173)

Level3:Machinelevel(ARM,Intel,etc.)ECPE173

Level4:OperatingSystemslevel

Page 9: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Level0:ElectronicsandCircuits(ECPE41,131)

Level1:DigitalDesign(ECPE71,ECPE174)

Level2:ComputerOrganization(ECPE173)

Level3:Machinelevel(ARM,Intel,etc.)ECPE173

Level4:OperatingSystemslevel

Level5:Assemblyprogramminglevel,humanreadable(MIPSAssembly)Assemblerstranslatethemtomachinelang.

Level6:High-LevelLanguage(C,C++,etc.)

Level7:UserApplication(e.g.:AgeofEmpires)

ECPE 170

Page 10: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Course Goals  Whatdoyou,asaprogrammer,needtoknowabouttheunderlyingsystem(softwareandhardware)towritemoreefficientcode?◦ Roleofthetools◦ Compiler,assembler,linker,profiler

◦ Roleoftheoperatingsystemanditsefficientusage◦ Assemblyprogramming(usingtheCPUefficiently)◦ Memoryhierarchyanditsimpactonperformance

Page 11: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

C Programming Language

CWhy 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!

Bay area companies want more C

Page 12: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Linux

 Coursewillbetaught100%inLinux

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

Software companies work with some version of Unix. Why?

Page 13: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Virtual Machine

 Coursewillbetaught100%fromavirtualmachinebootingLinuxthatyouinstall! Couldn’tyoujustgiveusremoteaccesstoaserversomeplacethatisalreadyconfigured?

 Yes,but…◦  Byinstallingityourselfyouwillhavetheskillstouseitagaininthefuture

◦  Nomysterious“ProfessorPallipuram”softwareconfiguration

Page 14: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Version Control

 Coursewilluseversioncontrol!◦  Onlywaytogetlabcodeorturninassignments

 DidyouhavetomandateVCSforECPE170?

 No,notreally,but…◦  ToomanyPacificgraduateswereavoidinglearningthisontheirown!

◦  Feedbackfromco-opemployersandgraduates:“Onlyn00bsworkwithoutversioncontrol!”

◦  Usedeverywhere:Sourcecodeofallkinds!(C++,Python,Matlab,VHDL/Verilog,…)

Page 15: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Course Mechanics

Page 16: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Websites

• http://ecs-network.serv.pacific.edu/ecpe-170

Mainwebsite(syllabus,schedule)

• http://canvas.pacific.edu

Canvaswebsite(gradebook)

• http://bitbucket.org

Bitbucket.org(versioncontrol)

Page 17: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Textbook  Noofficialtextbook Optionalreferencebooks(usefulforthisclassandbeyond)◦  TheCProgrammingLanguage,2ndEdition

◦  SeeMIPSRun,2ndEdition

Page 18: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Grading  30%-Exams◦  15%-Mid-termexam◦  15%-Finalexam

 65%-Labs◦  Pointsassignedtoeachlabwillvarybasedoncomplexity◦  Eachlabbeginsasanin-classactivity◦  Unfinishedworkbecomeshomework/project◦  Labsarelarge–assume“theusual”amountofhomework/projectsfora4-creditclass

◦  Tip:Thebeststudentslastsemesterstartedthelabsoutsideofclass,andfinishedthemasanin-classactivity

◦  2%penaltyperlateday.Nomorethan7latedays

 5%-In-classparticipation 

Page 19: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Class Attendance – See schedule on the website

Strong attendance requirement may entail significant portion covered in the lecture and/or in-class participation problem

Moderate attendance requirement entails significant lab activity Must be present for at least one hour of work Skip no more than two consecutive moderate classes

Recommended attendance requirement entails that students have the option of performing their work outside of the class, as long as they are confident in performing the required task on their own.

Page 20: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Honor Code  Allassignmentsaresubmittedindividually EncouragedActivities◦ Collaboratingwithyourclassmates(askingquestions,solvingproblemstogether)

◦ Searchingforsolutionsonline◦  Providedcodecopieddoesnotexceed25%oftotalassignmentlength◦  Providedyouclearlydocumentthiscopyinyoursourcecodeandlabreport◦ Whatdidyoucopy?Wherediditcomefrom?

Page 21: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Honor Code  RiskyActivities◦ Havingyourclassmatestypeonyourcomputerorassignmentfile

 ForbiddenActivities◦  Copyingsomeone’sworkverbatim(classmateorotherwise)◦  Copyingsomeone’sworkandobfuscatingitssource

 NOTE:Yourcodewillbecheckedforsimilaritywithothersubmissions.Morethan30%matchonanon-trivialcodeisaredflag.

Page 22: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Lab Topics 1.  Linux2.  VersionControl3.  CProgramming4.  CProgrammingProject5.  Performance

Measurement6.  PerformanceOptimization

(compilerandprogrammertechniques)

7.  PerformanceOptimization(Memorysystems)

8.  NetworkProgramming1(Python)

9.  NetworkProgramming2

10. AssemblyProgramming1(MIPS)

11. AssemblyProgramming212. AssemblyProgramming3

Page 23: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Lab 1 - Linux

Page 24: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Homework  Beforethenextclass1.  Skim“VirtualMachineSetup”tutorialinstructionsonwebsite◦  http://ecs-network.serv.pacific.edu/ecpe-170/tutorials/vm_setup

2.  Decideonwhatcomputersystemyouwanttouseforthisclass

3.  Downloadallsoftware◦  Virtualmachineinstaller(VMWarePlayer)◦  Linux.isoimage(installer)–64-bitversion

Page 25: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Next Class - Linux Installfest  TutorialDay Objectives◦ Followthe“VirtualMachineSetup”tutorialfromwebsitetoinstallLinux

◦ Debugindividualproblemsifneeded◦ VerifyOSworks◦ Emailmescreenshotasproofofsuccess

Page 26: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Next Class - Linux Installfest  Iwantyoutobecomfortableasprofessionalsworkingindependentlytosolveproblems

 Ifyoucompletethe“VirtualMachineSetup”tutorialindependently(andemailmeascreenshotbyThursdaymorning),youdon’tneedtoattendThursday’sclass.Sleepin!(Orcomehelpout)

 Iwillstillbeheretoanswerallquestionsandsolveproblems

Page 27: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Next Class - Linux Installfest  Warning:Don’tskipclassThursday,andthentellmenextTuesdayatLab#1thatyourOSdoesn’twork!

Page 28: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Lab 1 - Linux  ThefirstlabisnextTuesday◦  Topic:Linux◦  Crashcourseincommand-lineusage

 Lab1:Pre-Lab◦  ShowmetheworkingcommandpromptinyourLinuxinstall.Hopefullyyouwillhavethisdonebyend-of-classThursday

◦  Pre-Labisdueatthestartofthelab

Page 29: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Bring Laptop!

Every class – bring your laptop!

Page 30: Computer Systems and Networks · 2019-01-10 · Computer Systems and Networks LECTURE 1: INTRODUCTION AUGUST 28TH 2018 Dr. Pallipuram (Section 1) (vpallipuramkrishnamani@pacific.edu)

Questions?