lecture 1: course overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/lecture1.pdf · recap: role...
TRANSCRIPT
![Page 1: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/1.jpg)
Lecture1:CourseOverviewCSE120:PrinciplesofOpera;ngSystems
UCSanDiego:SummerSessionI,2009FrankUyeda
![Page 2: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/2.jpg)
GoalsforToday
• Introduc;ontocourse:– Personnel,policiesandadministra;on
• Providehigh‐leveloverviewofcoursematerial– Specificgoals
• Defineanopera;ngsystem– Iden;fyitsrole
• Iden;fythehardwaremechanismsavailabletotheOpera;ngSystem
• Note:someslidecontentandimagesareadaptedfromAlvinAuYoung,GeoffVoelker,AlexSnoeren(UCSanDiego)andAnthonyJoseph(UCBerkeley)
Lecture1:Courseoverview
![Page 3: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/3.jpg)
WhoamI?
• PhDcandidateinCSEdepartment– UCSDundergrad(Warrencollege)andUCSDgraduatestudent
– WorkingwithProfessorGeorgeVarghese&AminVahdatinSystemsandNetworkinggroup
– Conductresearchandpublishpapersinarea
• Iamfascinatedbythistopic,andwouldliketosharemyexcitementforitwithyou.
Lecture1:Courseoverview
![Page 4: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/4.jpg)
BasicInforma;on
• Instructor:FrankUyeda– E‐mail:[email protected]– OfficeHours:Tues2‐4p,CSE2126
• Orbyappointment
• TA:MatusTelgarsky– E‐mail:[email protected]– OfficeHours:Wed?
• Mee;ng;mes:– Lecture:MWF,4p‐5:50p,Center201– Discussion:Thursday@??– FinalExam:Saturday,August1,3pm
Lecture1:Courseoverview
![Page 5: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/5.jpg)
DiscussionSec;on
• Survey:Whenwouldyouliketohavediscussionsec;on?– Thursday11a–12p– Thursday12p–1p– Thursday1p–2p
Lecture1:Courseoverview
![Page 6: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/6.jpg)
PurposeofthisCourse
• Goalistohelpyouunderstandstructureanddesignofmodernopera;ngsystems:– Lecturesandreadingstodis;llinforma;on– Homeworksetsandprogrammingprojectstoreinforceideas
• Attheendofthecourseyoushouldbeableto:– Iden;fycommondesignchallengesforanOS– Understandtradi;onalmechanismsandpoliciesusedtoaddressthesechallenges
– Hypothesizehowchangesintechnologywillimpactexis;ngOSmechanismsorpolicies
Lecture1:Courseoverview
![Page 7: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/7.jpg)
Prerequisites
• Courses– CSE100(DataStructures),CSE101(Algorithms)required
– CSE141(notrequiredbutuseful)• Programming– Java‐basedprojects.CSE100shouldbeadequate.
• Hoursperweek– Studentsaveraged12hours/weekinregularterm(CAPEevalua;ons)
– ≈24hours/weekinsummer?
Lecture1:Courseoverview
![Page 8: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/8.jpg)
Homework
• Purpose– Reinforceconceptsthroughprac;ce(therearechallengingconceptsinthisclass)
• Threehomeworkassignments– AssignmentsdueonMonday’satthebeginningofclass.
– Nolateassignments– Collabora;onencouraged,butmustbecompletedindividually
– Allanswersmustbelegible–ifwecan’treadit,youdon’tgetcredit.
Lecture1:Courseoverview
![Page 9: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/9.jpg)
PeerWise
• Submitpoten;altestques;onsandanswers.• Readandrateques;onssubmikedbyothers.• hkp://peerwise.cs.auckland.ac.nz/
• Assignment:– Submit1ques;onandreview10others.– DueeveryTuesdayandThursday@11:59pm.
• Iwillshowsomeofthebest/worstques;onsinclass.• Atleastoneques;onsubmikedthroughPeerWisewillshowupontheFinal!
Lecture1:Courseoverview
![Page 10: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/10.jpg)
Projects
• Purpose– Hands‐onexperience:implemen;ngismuchtrickierthandiscussingconcepts.
• Nachos– Instruc;onal‐basedOpera;ngSystemdevelopedatUCBerkeley(TomAnderson),runningonmachinesimulator
– You’llexpandNachosin3projectcomponents.– Significantpor;onofcourse(very;meconsuming)– Nolateassignmentsaccepted(3slipdaysallowed)
Lecture1:Courseoverview
![Page 11: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/11.jpg)
Projects(2)
• Roughoutline:– Project1:Concurrencyandsynchroniza;on– Project2:Mul;programming– Project3:VirtualMemory
• Groups– Projectsmaybedoneonyourownorwithapartner.– Youwillhavethesamepartnerforthewholecourse.
– Pleaseiden;fyyourpartnerearlyandno;fymeviaemail.
Lecture1:Courseoverview
![Page 12: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/12.jpg)
Exams
• Midterm– Date:Wednesday,7/17/09,4p‐5:20p
– Loca;on:Center201
• Final– Date:Saturday,8/01/08,3p‐6p– Loca;on:Center201
• Make‐uppolicy– Onlyunderextreme,university‐approvedcircumstances
Lecture1:Courseoverview
![Page 13: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/13.jpg)
ClassResources
• ClassWebpage– hkp://www.cs.ucsd.edu/classes/su09/cse120– announcementsandscheduleupdates
• Messageboard– hkp://webct.ucsd.edu– Forumtodiscussissuerelatedtotheprojects.
• Textbooks– (Required)Silberschatz,GalvinandGagne,Opera&ngSystemsConcepts,7thedi;on,WileyandSons• Bookstorecurrentlycarriesthe8thedi;on(thisisfine,too).
– (Op;onal)Tanenbaum,ModernOpera&ngSystems,3rdedi;on,Pren;ceHall
Lecture1:Courseoverview
![Page 14: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/14.jpg)
ClassResources(2)
• Labs– YoushouldhaveaccesstoaLinuxaccountandlabmachinesinbasementofEBU3B
• Youarefreetoworkfromhome– NachosworksonEclipse/Windows– WewillgradeonLinuxmachines,somakesurecoderunsonlabmachinesaswell
Lecture1:Courseoverview
![Page 15: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/15.jpg)
Grading
• Homeworkassignments(15%)• PeerWisepar;cipa;on(5%)• Programmingprojects(30%)• Midtermexam(20%)• Finalexam(30%)
• Gradeswillassignedonastraightscale:– A:>90;B:>80;C:>70;etc…– +’sand–’sgivenatthediscre;onofinstructor
Lecture1:Courseoverview
![Page 16: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/16.jpg)
CommonCSE120Pitalls
• Don’tspend;meonthehomework– It’sonly15%ofmygrade
– Conceptsmayseemeasy,butactuallyrequiresignificantprac;cetofullyunderstand
– Masteryofconceptscomeinhandyforprojectsandexams
• Putofftheproject– I’vegotbe=erthingstodo,ormypartnerwilldoit– Hardlyanybodyfinishesthemearly–tes;ngalonewillrequiresignificant;me
– Project‐relatedques;onsmayendupontheexam
Lecture1:Courseoverview
![Page 17: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/17.jpg)
CommonCSE120Pitalls(2)
• Don’taskques;ons– Idon’twanttolookstupid– MatusandIareheretohelp– Chancesaremanyotherpeoplehavethesameques;on
– Puungoffques;onswilljustcreatemoreques;ons
Lecture1:Courseoverview
![Page 18: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/18.jpg)
ModernComputerSystems
Lecture1:Courseoverview
Telema;cssystems
Cellphonesandhandhelddevices
Gamingconsoles
Sensornodes
Routers
![Page 19: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/19.jpg)
ComputerOrganiza;on
Lecture1:Courseoverview
CPUVideo
controllerUSB
controllerDisk
controller
Memory
MonitorScanner
Keyboard
Printer
Diskdrive
WhatistheOpera;ngSystem?
Systembus
![Page 20: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/20.jpg)
WhatisanOpera;ngSystem?
Lecture1:Courseoverview
Applica;ons
Opera;ngSystems
Hardware
)
VM
TheOSis“allthecodeyoudidn’thavetowrite”toimplementyourapplica;ons.
![Page 21: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/21.jpg)
WhatisanOpera;ngSystem?
Lecture1:Courseoverview
Applica;ons
Opera;ngSystems
Hardware
Games(CSE125)Compilers(CSE130,131)Databases(CSE132A,B)WebApps(CSE134A,B)…
PrinciplesofOpera5ngSystems(CSE120)AdvancedOpera;ngSystems(CSE121))
Architecture(CSE141/L)DigitalSystems(CSE140/L)
TheOSis“theprogramthatisalwaysrunning”.
![Page 22: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/22.jpg)
WhyStudyOpera;ngSystems?
• Understandwhatyouuse– Whichopera;ngsystemisrightforme?– MycomputerisslowandI’mnotsurewhy!– AmIprotectedagainstworms,viruses,andothersecurityvulnerabili;es?
• Learnthepastbeforeyoucreatethefuture– Pervasiveabstrac;ons(e.g.,threadsandsynchroniza;on)– Evolu;onofOSeshavefollowedadvancesintechnology
• Developexperiencedevelopingcomplexsystem– Largesystemwithmanymovingparts(HW,SW)– Manydesigngoals(efficiency,flexibility,security,…)
Lecture1:Courseoverview
![Page 23: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/23.jpg)
CourseContent
• RoleofanOpera;ngSystem• ConcurrencyandSynchroniza;on
– Whatarethechallengestosupportmul;tasking?• CPUScheduling
– WhogetstheCPUandwhendotheygetit?• MemoryManagement
– Howdoprogramssharefinitememory?• FileSystemsandStorageManagement
– Howisdatastoredandwhathappenswhenthingsfail?• Selec;onofSpecialTopics(;mepermiung)
– Security,VirtualMachineMonitors,…..
Lecture1:Courseoverview
Midterm
![Page 24: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/24.jpg)
RoleofanOpera;ngSystem
Lecture1:Courseoverview
Applica;ons
Opera;ngSystems
Hardware
)
VM
Provideabstrac;onstoeaseapplica;ondevelopment
![Page 25: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/25.jpg)
RoleofanOpera;ngSystem
Lecture1:Courseoverview
Applica;ons
Hardware
VM
Provideabstrac;onstoeaseapplica;ondevelopment
1.Userinputdata
2.CPUcomputesnextframe
3.Renderimageonmonitor
• Anapplica;onneedstobeabletotalktoeachdevice:– Whatifaresourceisbusy/fails?– Whatifthehardwarechanges?
• Everyapplica;onwillbeextremelycomplex– Redundant,error‐pronecode– Notportable(hardwarelimita;ons)
![Page 26: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/26.jpg)
RoleofanOpera;ngSystem
Lecture1:Courseoverview
Applica;ons
Opera;ngSystems
Hardware
)
VM
Managesresourceaccessamongapplica;ons
• OSschedulesresourceaccess– Significantperformanceimpact– Flexiblesharingpolicies
• OScanprovideprotec;onmechanisms– Privacy(filepermissions)– Flexiblepolicies(groups)
• OScanprovidecoordina;onmechanisms– Communica;on(pipes,cut+paste)– Synchroniza;on(monitors,
semaphores)
![Page 27: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/27.jpg)
Recap:RoleofanOpera;ngSystem
• Provideabstrac;ons• Manageresources• Asaresult:
– Hardtoproperlydefineboundaries– OSesbecomingincreasinglycomplex
![Page 28: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/28.jpg)
Breakfor5Minutes
• WhatbelongsintheOpera;ngSystemvs.Applica;ons?– Getuserinputfromperipheraldevice
• OS–centralmanagementfordevicedriversandcommoninterfaceexposedtouserprograms
– Setthesystem;me/date• OS‐allotherprograms/userssharethisvalue.
– Renderawebpage• Dependswhoyouask!
Lecture1:Courseoverview
![Page 29: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/29.jpg)
WhatIsn’tanOpera;ngSystem?
• UnitedStatesvMicrosoz(2000)– MicrosozbundledIEwithWindows– USDOJbringsan;‐trustcaseagainstMicrosoz
• Outcome– Basicques;on:isbrowserpartoftheOS?– CSacademicstes;fied“no”– Seklement
• MicrosozmustshareAPIwiththird‐partycompanies
Difficulttodefineboundaries
![Page 30: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/30.jpg)
RoleofanOpera;ngSystem
0.00
10.00
20.00
30.00
40.00
50.00
60.00
WindowsNT3.1
WindowsNT3.5
WindowsNT3.51
WindowsNT4.0
Windows2000 WindowsXP WindowsServer
WindowsVistaBeta
1993 1994 1995 1996 1999 2001 2003 2006
Source:LarryO’Brien,knowing.net(2008)
SLOC(m
illions)
OSesbecomingincreasinglycomplex
![Page 31: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/31.jpg)
RoleofanOpera;ngSystem
0.00
10.00
20.00
30.00
40.00
50.00
60.00
70.00
80.00
90.00
100.00
WindowsNT3.1
WindowsNT3.5
WindowsNT3.51
WindowsNT4.0
Windows2000
RedHatLinux6.2
Debian2.2WindowsXP
RedHatLinux7.1
WindowsServer
MacOSX WindowsVistaBeta
1993 1994 1995 1996 1999 2000 2000 2001 2001 2003 2005 2006
Sources: debian‐coun;ng,escet.urjc.es(2002),SteveJobsWWDCkeynote(2006)
SLOC(m
illions)
OSesbecomingincreasinglycomplex
![Page 32: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/32.jpg)
HardwareSupport
• Whydoweneedtodiscusshardware?– KeygoaloftheOSistoprovideresourcesharing.– WithgoodOSdesign,applica;onscanbeoblivioustoHWdetails(abstrac;on).
– TheOSstandsbetweentheHWandtheapplica;ons,soitmustconsidertherequirementsofboth.
![Page 33: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/33.jpg)
HardwareSupport
• Earlyprocessorsofferedlikleinthewayofprotec;on– Aprocesscouldaccessanymemoryloca;on– Aprocesscouldaccessanyhardwaredevice– Couldimplementprotec;oninsozware,butreallyslow…
• HardwarefeaturesevolvetomeetneedsofOS– Ex.TLB,Testandsetinstruc;on,Noexecutebit
![Page 34: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/34.jpg)
TypesofHardwareSupport
• Protec;on– OSwantstocontrolhardwareaccess– OSwantstokeeppar;culardata(registers,memory)privateandisolated
• Eventhandling– OSneedstobeawareofexternalevents– OSneedsawaytorespondtoexternalevents
• Performanceimprovements– Commonlyusedthreadsynchroniza;onprimi;ves
– Memoryaccess/Diskaccessspeed‐ups
Laterinthecourse
![Page 35: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/35.jpg)
Protec;on
• Hardwarefeatures– Protec;onlevels,privilegedinstruc;ons(CPU)– VirtualMemory(MMU)
• Whatdoweneedtoprotect?– Directaccesstopar;culardevices,suchasstoragedevices,orinput/outputperipherals.(why?)
– Memorystate,suchaspagetableentries,TLBentries– Specialopera;ons,suchaschangingprotec;onlevel,interrupthandling,hal;ngthemachine
Markpar;cularinstruc;onsasprivileged
![Page 36: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/36.jpg)
Suppor;ngPrivilegedInstruc;ons
• Hardware(CPU)offersprotec;onlevels– Processorsactuallyprovidemanylevels:x86architecture
supportsatleastfourmodes(“rings”)– Linuxandmostopera;ngsystemsusetwomodes:userand
kernelmode
• HowdoesanOSorCPUuseprotec;onlevels?– ThereisaspecialregisterontheCPUindica;ngthemode– CPUchecksmodebitwhenexecu;ngprivilegedinstruc;ons
– Userprogramsexecuteinusermode– OSexecutesinkernelmode
• Fornow,thinkofthekernelasequivalenttoanOS
![Page 37: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/37.jpg)
UserandKernelMode
• Privilegedinstruc;onscanonlybeexecutedwhileinkernelmode– Whichinstruc;onsareprivileged?
• Examplesofprivilegedinstruc;ons:– Manipula;ngmemorystate,directaccesstoHW
• Examplesofnon‐privilegedinstruc;ons– Anythingthatcan’tbotherotherprograms/apps/processes
• Whydon’twejustmakeeveryinstruc;onprivileged?
![Page 38: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/38.jpg)
UnixOrganiza;on
UserMode
KernelMode
Hardware
Applica;ons
StandardLibs
![Page 39: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/39.jpg)
Example:MemoryProtec;on
• Remember:OSmustprotectprogramsfromeachotherandprotectitselffromprograms
• We’vetalkedabouttheCPU,butwhataboutMemory?– Containsalotofprogramstate– MemoryManagementUnit(MMU)providesprotec;on
• Baseandlimitregisters,segments,pagetables,TLB,VirtualMemory
• Manipula;onofthesestructuresareprotected
– Thepar;cularsofthesestructureswillmakemoresensewhenwetalkaboutmemorymanagement
![Page 40: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/40.jpg)
Events
• Aneventisanunnaturalchangeincontrolflow– Eventscanstoporchangecurrentexecu;onpath– Eventscanchangemachinestate(protec;onlevel,registers,etc…)
• Kerneldefinesahandlerforeacheventtype– Eventhandlersruninkernelmode– Eventsaretheonlyentryintothekernel
![Page 41: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/41.jpg)
Events
• Twotypesofevents– Interrupts:causedbyexternalevent– Excep;ons:causedbyaninstruc;on
• Eventscanbe:– Unexpected– Deliberate
Lecture1:Courseoverview
Unexpected Deliberate
Excep5on(sync) Fault Syscalltrap
Interrupt(async) Interrupt SozwareInterrupt
![Page 42: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/42.jpg)
Interrupts
• AsignalissenttotheOSonaphysicalwire(Interrupt‐requestline)
• Hardwareinterrupts– Generallytheseeventsareasynchronous– e.g.,Networkpacketarrival,DMAcomple;on
• Hardware/SozwareTimers– Specialtypeofevent– AllowOStoregaincontrol(why?)
![Page 43: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/43.jpg)
HandlingInterrupts
• Polling– Kernelbusy‐waitsforsignal
• Note:textbookusesslightlydifferentdefini;onanddis;nguishesitcompletelyfromIRQ
– Canbeinefficientdependingonfrequency
• InterruptHandler– Interruptcausesprocessortotrapintokernel– Kernelinvokesappropriateinterrupthandler– Interrupthandlersavesprocessstate,processesinterrupt,restoresstateandreturns
![Page 44: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/44.jpg)
IssueswithInterrupts
• Whatifaninterruptoccurswhileinaninterrupthandler?– Canmaskinterrupts(seeNachos)– Interruptpriority(supportdifferentpolicies)
• Whatcangowrong?– Faultydriver
• Ininterruptchaining,OSquerieseachdriver’sinterrupthandler• Falseposi;vecancreatefloodofinterrupts
– Badstate(LiveLock)• Receiverlive‐lock:toomanypacketscreatetoomuchoverhead,noprogresscanbemade
– Possiblesolu;ons• Disableinterrupts• Pollingmode
![Page 45: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/45.jpg)
Excep;ons
• Traps– Systemcallorexecu;onofaprivilegedinstruc;on– Note:textbookcallsthisa“sozwareinterrupt”
• Faults– e.g.,Pagefaults,segmenta;onfault,dividebyzero
– SimilartoJavaExcep;onhandling– Notneededforcorrectness,butaperformanceop;miza;on
![Page 46: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/46.jpg)
SystemCalls
• Applica;oninvokesasystemcalltoexecuteaprivilegedopera;on– Raisesanexcep;on,whichinvokeskernelhandler– Passesparameterstohandler
• PredefinedSystemCallcode,anyotherarguments…
– Kernelhandlerdoestherest• savescallercontext(state)• callspropersystemcallrou;ne• restorescalledstateandreturns
![Page 47: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/47.jpg)
SystemCallexample:read()1.Userapp:read(file_reference,buffer_addr,n_bytes)
Userspace
Kernelspace
n_bytes
buffer_addr
file_reference
Userstack 2.Pushargumentsontostack
3.CallLibraryprocedureforread()readsyscallcode
inregister
4.Traptokernel
5.KernelHandler 6.readsyscallhandler
7.returntocaller
8.Returnfromread()call
![Page 48: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/48.jpg)
SystemCalls(2)
• Howdoesthekernelreturnparameterstousermode?– Whatisfile_referenceinread()syscall?
• Ifit’sthefilename,thenkernelhastoresolvefilenameandlocatefileeach;me
– Whatifkerneljustpasses“address”or“pointer”tothefile?• Userwouldbereferencingakernelobject(bad)
– Unixsolu;on:filedescriptors• Anobjecthandleuniquetoaprocess(literallyaninteger)• Essen;allyacapabilitytousearesource
![Page 49: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/49.jpg)
Excep;ons
• Traps– Systemcallorexecu;onofaprivilegedinstruc;on– Note:textbookcallsthisa“sozwareinterrupt”
• Faults– e.g.,Pagefaults,segmenta;onfault,dividebyzero
– SimilartoJavaExcep;onhandling– Notneededforcorrectness,butaperformanceop;miza;on
![Page 50: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/50.jpg)
Faults
• SomefaultsarefixedsilentlybytheOS– Processresumeswithoutknowledgeoffault– Faulthandlerhandlesinstruc;onresump;on
• Otherfaultsneedtobehandledbyapplica;on– Insteadofreturningcontrolfromthefaul;nginstruc;on,OSfaulthandlerreturnscontroltoauser‐levelhandler
– Applica;onsregisteruser‐levelhandlerswithOS• Unixsignals• WindowsNTAsynchronousProcedureCalls
![Page 51: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/51.jpg)
![Page 52: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/52.jpg)
Faults(2)
• Fatalfaults– FaultsthatarenothandledbyOSoruserapplica;on
• corefilescontainprocessstateforcrashedcprograms
– ThistypeoffaultwithinthekernelresultsinanOScrash(WindowsBSOD,Unixkernelpanic)
![Page 53: Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role of an Operang System ... Steve Jobs WWDC keynote (2006)](https://reader035.vdocuments.mx/reader035/viewer/2022071103/5fdcdecf240ef942946d016c/html5/thumbnails/53.jpg)
NextTime
• ReadChapters1and2(thislecture),3,13.1‐13.5(next)
• Startthinkingaboutprojectgroups.– UseWebCTdiscussionboardtofindpartners.
• HomeworkandProjectwillbepostedtomorrow.• FirstPeerWiseques;on&reviewsdueonThursday.
• CheckWebsiteforcourseannouncements– hkp://www.cs.ucsd.edu/classes/su09/cse120
Lecture1:Courseoverview