Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role...

53
Lecture 1: Course Overview CSE 120: Principles of Opera;ng Systems UC San Diego: Summer Session I, 2009 Frank Uyeda

Transcript of Lecture 1: Course Overviewcseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture1.pdf · Recap: Role...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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