About#Prof.#van#Renesse • Research(Interests:( scalability,#fault#tolerance,# CS#4410/4411 security,#OSs,#and#more Operating#Systems ! Has#worked#on#Amoeba#and#Plan#9#operating# systems Professor'Bracy &'Van'Renesse ! Best#known#research#artifacts:#Chain#Replication,# Fall'2015 Scuttlebutt#(used#in#Cassandra,# etc.) Cornell'University • Other(Interests:( Playing#music#(trad.#jazz),# swing#dancing,#unicycling The'slides'are'the'product'of'many'rounds'of'teaching'CS'4410' by'Professors'Sirer,'Bracy,'George,'and'Van'Renesse. CS#4410:#Introduction 2 About#Prof.#Bracy About#You… • Professional#Interests:# • Demographics,# etc. ! Teaching: intro#to#programming,#digital#design,# computer#architecture,#system#software,# ! Research: computer#architecture,#instruction#fusion,# hardware#support#for#thread#synchronization • New#to#Cornell ! Previously#@#Washington#University#in#St.#Louis ! Prior#to#that:#research#@#Intel#Labs ! Also#teaching#3410#this#semester#(and#will#be#teaching# both#again#next#semester) • Other(Interests: at#the#moment#…unpacking CS#4410:#Introduction 3 CS#4410:#Introduction 4
What’s#This#Course#About? What#Kind#of#a#Course#Is#This? • Ostensibly: operating#systems • Constructive,#top]down ! architecting#complex#software ! Start#from#first#principles#and#re] ! identifying#needs#and#priorities derive#the#design#of#every# ! separating#concerns component# of#a#complex#system ! implementing#artifacts#with#desired#properties • Deconstructive,#bottom]up ! Dissect#existing#systems,#learn#what# • Actually: software#design#principles tradeoffs#they#make,#what#patterns# ! OSes illustrate#important#organizational#principles# they#use and#design#patterns • Warning: lots#of#new#jargon,# ! Could#also#teach,#say,#building#browsers,#as#an# excuse#for#teaching#these#principles terms,#etc.#to#be#learned CS#4410:#Introduction 5 CS#4410:#Introduction 6 Course#Objective What#is#an#Operating#System? • Establish#a#foundation#for#building#complex# • An#OS#provides#a#virtual#execution# programs environment#on#top#of#hardware#that#is#more# convenient#than#the#raw#hardware#interface ! Architect#systems ! Identify#desirable#properties ! “All#of#the#code#you#did#not#write” ! Build#large#systems ! Simpler Applications ! Debug#complex#systems ! More#reliable ! More#secure Operating • Understand#all#layers#of#the# software(stack( ! More#portable System ! More#efficient between#hardware#and#applications Hardware CS#4410:#Introduction 7 CS#4410:#Introduction 8
OS:#a#collection#of# abstractions Abstractions#are# designed • Processes ( abstract4CPUs ) • Not#a#consequence#of#logical#reasoning • Files ( abstract4disks ) • A#good#abstraction • Network#Endpoints ( abstract4NICs ) ! is#portable#and#hides#implementation#details ! has#an#intuitive#and#easy]to]use# interface • Windows ( abstract4screens ) ! can#be#instantiated#many#times • … ! is#efficient#and#reasonably#easy#to#implement you#can#think#of#these#as#objects#with#state#and# methods CS#4410:#Introduction 9 CS#4410:#Introduction 10 What'do'OS'abstractions'do? What#Resources? • Manage#physical#resources • Physical#Resources • Provide#virtual#resources ! CPU,#memory,#disks,#screen,#keyboard,#mouse,# networks,#I/O#devices,#… • Implement#mechanisms#and#enforce#policies# to#arbitrate#access#to#resources • Virtual#Resources • Mediate#the#interaction#of#mutually# ! Files,#directories,#sockets,# windows,#names,#… distrusting#applications • Provide#an#extensible,#general]purpose# platform#for#a#variety#of#applications CS#4410:#Introduction 11 CS#4410:#Introduction 12
Issues#in#OS#Design More#Issues • Structure: how#is#an#OS#organized? • Reliability: how#do#we#deal#with#failures? • Concurrency: how#are#parallel#activities# • Portability:#how#to#write#once,#run#anywhere? created#and#controlled? • Extensibility: how#do#we#add#new#features? • Sharing: how#are#resources#shared? • Communication: how#do#we#exchange# • Naming: how#are#resources#named#by#users? information? • Protection: how#are#distrusting#parties# • Scale: what#happens#as#demands#increase? protected#from#each#other? • Persistence: how#do#we#make#information# • Security: how#to#authenticate,#authorize#and# outlast#the#processes#that#created#it? ensure#privacy? • Accounting: who#pays#the#bills#and#how#do#we# • Performance: how#to#make#fast? control#resource#usage? CS#4410:#Introduction 13 CS#4410:#Introduction 14 Why#Learn#Operating#Systems? Fact Cons: • There#has#never#been#as#exciting#a#time#to# • OS#jobs#<#1%#of#jobs#out#there work#on#systems#hardware#and#software#as# now!!! Pros: • Course#concepts#apply#to#building#correct,#high] performance#applications#(clients#of#OSes),#and# building#reusable#platforms • World#is#increasingly#dependent#on#computer# • Course#goes#far#beyond#OS#design:#computer# systems organization,#concurrency,#synchronization,# ! Connected,# networked,#interlinked input/output,#filesystems,#networking,#routing,# distributed#systems#and#so#forth • Don’t#be#a#poser • People#don’t#know#how#to#build#r obust( systems The4ayes4have4it! CS#4410:#Introduction 15 CS#4410:#Introduction 16
BSOD BSOD CS#4410:#Introduction 17 CS#4410:#Introduction 18 BSOD Therac]25 A'safetyLcritical'system'with'software'interlocks • Beam'controlled'entirely'through'a'custom'OS • CS#4410:#Introduction 19 CS#4410:#Introduction 20
Therac]25 Therac]25#Outcome • Old#system#used#a#hardware#interlock • Beam#killed#one#person#directly,#burned# others,#and#may#have#given#inadequate# ! Lever#could#either#be#in#“zap”#or#“x]ray”#position • New#system#was#computer#controlled treatment#to#cancer#patients • A#synchronization#failure#was#triggered#when# • Problem#was# very difficult#to#diagnose;#initial# competent#nurses#used#the#back#arrow#to# fix#involved#removal#of#the#back#arrow#key# change#the#data#on#the#screen#“too#quickly” from#the#keyboard • People#died#because#a#programmer#could#not# write#correct#code#for#a#concurrent#system CS#4410:#Introduction 21 CS#4410:#Introduction 22 Denver#airport USS#Yorktown########### • The#most#modern,#most#expensive#(>>$2B)# airport#in#recent#history • Modern#guided#missile#cruiser#off#of#Norfolk,# • Highly#automated#luggage#handling#system# VA#in#1998 was#supposed#to#deliver#your#luggage#to#you# • Crew#member#entered#0#for#a#data#value at#arrival • Cascade#of#failures#led#to#a#failure#of#the# • Lack#of#persistence#caused#luggage#carts#to# propulsion#system “forget”#their#contents,#sprinkling#the#luggage# • Yorktown#was#dead#in#the#water#for#a#couple# on#the#runway of#hours CS#4410:#Introduction 23 CS#4410:#Introduction 24
(Concurrency)#Bugs#in#Databases Failures#in#the#Cloud • April#21]25,#2011:#Amazon’s#EBS#down#due#to# operator#error#and#various# Mandelbugs • July#2,#2009#(6#hours):#Google’s#GFS#Mandelbug causes#outage#of#App#Engine “Mandelbugs account4for4between4154and4804 percent4of4all4software4faults4detected4after4 release” Mostly#“independent” Vandiver 2007 Michael#Grottke,#Kishor S.#Trivedi:#Fighting#Bugs:#Remove,#Retry,# Replicate,#and#Rejuvenate.#IEEE#Computer#40(2):#107]109#(2007) Many#machines# " many#faults CS#4410:#Introduction 25 CS#4410:#Introduction 26 Bitcoin#Banks Other#Faulty#Systems • There#is#a#new#crop#of#systems#for#holding# • FAA#air#traffic#control#system data#known#as#NoSQL databases • IRS#data#management#system • Folks#@#Cornell#and#in#OS#community# • IBM#“Microkernel” cautioned#about#the#errors#people#were# • Pentagon#data#security committing#with#NoSQL#systems • Many#others,#too#numerous#to#list • Simplest#attack—simultaneous#withdrawals— ! Google#“software#bug”#on#the#News#tab… actually#works!#Attackers#stole#millions#of# dollars#from#Bitcoin banks ! One#bank#lost#a#million#and#folded ! Another#lost#$500K,#took#losses CS#4410:#Introduction 27 CS#4410:#Introduction 28
Summary Philosophy • We#lack#the#necessary#technologies#and#know] • Not#your#grandparents’#OS#course how#to#build#robust#computer#systems • We#believe#that#the#following#topics#are# critical#for#every#software#engineer • There#is#huge#demand#for#people#who#deeply# ! Building#concurrent#systems ! Architecting#networked# components understand#and#can#build#robust#systems ! Building#transactional#systems • Not#widely#shared,#the#course#is#unique CS#4410:#Introduction 29 CS#4410:#Introduction 30 Logistics Communication • Lectures • Web#Page:# ! Tuesday,# Thursday# 2:55]4:10pm,# Ives(305 http://www.cs.cornell.edu/Courses/cs4410 ! 4411:#Friday#3:35]4:25pm# (~every#2#wks) ,#Gates#G01 ! Office#hours,#assignments,# lectures,#and#other# • Instructors supplemental#materials#will#be#on#the#web#site ! Prof.#Bracy,#bracy at#cs.cornell.edu • Piazza:# http://piazza.com/cornell/fall2015/cs4410 ! Prof.#van#Renesse,# robbert.vanrenesse at# ! 95%#of#communication cornell.edu ! Public(posts: for#everyone ! Office#Hours ! Private(posts: for#instructor/TA#eyes#only • Prof.#van#Renesse:#??? • Prof.#Bracy:#Wed/Fri#9]10am • CMS • TAs#– a#small#army#at#your#disposal ! Dissemination#of#code,#grades CS#4410:#Introduction 31 CS#4410:#Introduction 32
Recommend
More recommend