computer systems and networks · 2019-01-10 · computer systems and networks lecture 1:...
TRANSCRIPT
Computer Systems and Networks
LECTURE 1: INTRODUCTION AUGUST 28TH 2018
Dr.Pallipuram(Section1)([email protected])
University of the Pacific
Our Course Goals
Looks familiar?
How does a computer system execute this game? Let’s take a look at a bottom-up
picture
Bottom Up Picture
Memory cell Transistor
Level0:ElectronicsandCircuits(ECPE41,
131)
Bottom Up Picture
Level0:ElectronicsandCircuits(ECPE41,
131)
Level1:DigitalDesign(ECPE71,174)
What does it do? Write first few sequences
Bottom Up Picture
Level0:ElectronicsandCircuits(ECPE41,
131)
Level1:DigitalDesign(ECPE71,174)
How about this one?
Level2:ComputerOrganization(ECPE173)
Level0:ElectronicsandCircuits(ECPE41,131)
Level1:DigitalDesign(ECPE71,ECPE174)
Level2:ComputerOrganization(ECPE173)
Level3:Machinelevel(forARM,Intel,etc.)ECPE173
Level0:ElectronicsandCircuits(ECPE41,131)
Level1:DigitalDesign(ECPE71,ECPE174)
Level2:ComputerOrganization(ECPE173)
Level3:Machinelevel(ARM,Intel,etc.)ECPE173
Level4:OperatingSystemslevel
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
Course Goals Whatdoyou,asaprogrammer,needtoknowabouttheunderlyingsystem(softwareandhardware)towritemoreefficientcode?◦ Roleofthetools◦ Compiler,assembler,linker,profiler
◦ Roleoftheoperatingsystemanditsefficientusage◦ Assemblyprogramming(usingtheCPUefficiently)◦ Memoryhierarchyanditsimpactonperformance
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
Linux
Coursewillbetaught100%inLinux
Feedback from co-op employers and graduates: “More Linux/Unix skills please!”
Software companies work with some version of Unix. Why?
Virtual Machine
Coursewillbetaught100%fromavirtualmachinebootingLinuxthatyouinstall! Couldn’tyoujustgiveusremoteaccesstoaserversomeplacethatisalreadyconfigured?
Yes,but…◦ Byinstallingityourselfyouwillhavetheskillstouseitagaininthefuture
◦ Nomysterious“ProfessorPallipuram”softwareconfiguration
Version Control
Coursewilluseversioncontrol!◦ Onlywaytogetlabcodeorturninassignments
DidyouhavetomandateVCSforECPE170?
No,notreally,but…◦ ToomanyPacificgraduateswereavoidinglearningthisontheirown!
◦ Feedbackfromco-opemployersandgraduates:“Onlyn00bsworkwithoutversioncontrol!”
◦ Usedeverywhere:Sourcecodeofallkinds!(C++,Python,Matlab,VHDL/Verilog,…)
Course Mechanics
Websites
• http://ecs-network.serv.pacific.edu/ecpe-170
Mainwebsite(syllabus,schedule)
• http://canvas.pacific.edu
Canvaswebsite(gradebook)
• http://bitbucket.org
Bitbucket.org(versioncontrol)
Textbook Noofficialtextbook Optionalreferencebooks(usefulforthisclassandbeyond)◦ TheCProgrammingLanguage,2ndEdition
◦ SeeMIPSRun,2ndEdition
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
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.
Honor Code Allassignmentsaresubmittedindividually EncouragedActivities◦ Collaboratingwithyourclassmates(askingquestions,solvingproblemstogether)
◦ Searchingforsolutionsonline◦ Providedcodecopieddoesnotexceed25%oftotalassignmentlength◦ Providedyouclearlydocumentthiscopyinyoursourcecodeandlabreport◦ Whatdidyoucopy?Wherediditcomefrom?
Honor Code RiskyActivities◦ Havingyourclassmatestypeonyourcomputerorassignmentfile
ForbiddenActivities◦ Copyingsomeone’sworkverbatim(classmateorotherwise)◦ Copyingsomeone’sworkandobfuscatingitssource
NOTE:Yourcodewillbecheckedforsimilaritywithothersubmissions.Morethan30%matchonanon-trivialcodeisaredflag.
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
Lab 1 - Linux
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
Next Class - Linux Installfest TutorialDay Objectives◦ Followthe“VirtualMachineSetup”tutorialfromwebsitetoinstallLinux
◦ Debugindividualproblemsifneeded◦ VerifyOSworks◦ Emailmescreenshotasproofofsuccess
Next Class - Linux Installfest Iwantyoutobecomfortableasprofessionalsworkingindependentlytosolveproblems
Ifyoucompletethe“VirtualMachineSetup”tutorialindependently(andemailmeascreenshotbyThursdaymorning),youdon’tneedtoattendThursday’sclass.Sleepin!(Orcomehelpout)
Iwillstillbeheretoanswerallquestionsandsolveproblems
Next Class - Linux Installfest Warning:Don’tskipclassThursday,andthentellmenextTuesdayatLab#1thatyourOSdoesn’twork!
Lab 1 - Linux ThefirstlabisnextTuesday◦ Topic:Linux◦ Crashcourseincommand-lineusage
Lab1:Pre-Lab◦ ShowmetheworkingcommandpromptinyourLinuxinstall.Hopefullyyouwillhavethisdonebyend-of-classThursday
◦ Pre-Labisdueatthestartofthelab
Bring Laptop!
Every class – bring your laptop!
Questions?