SlideShare una empresa de Scribd logo
1 de 29
Emmett Witchel Krste Asanović MIT Lab for Computer Science Hardware Works, Software Doesn’t: Enforcing Modularity with Mondriaan Memory Protection
HW Works, SW Doesn’t — Negative ,[object Object],Hardware Software
[object Object],HW Works, SW Doesn’t — Positive Software Hardware
[object Object],HW Works, SW Doesn’t — Positive Hardware Software
Software is Growing, Becoming Modular ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Code Data
Modular Software is Failing ,[object Object],[object Object],[object Object],[object Object]
Safe Languages (More SW) Not Answer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Both Hardware and Software Needed ,[object Object],[object Object],[object Object],[object Object],[object Object]
Current Hardware Broken ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mondriaan Memory Protection ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MMP In Action Kernel ide.o Kernel loader establishes initial permission regions Kernel calls mprotect(buf0, RO, 2); 1 2 Memory Addresses 0xC00… 0xFFF… No perm Read-write Read-only Execute-read Multiple protection domains mprotect(buf1, RW, 2); mprotect(printk, EX, 2); ide.o calls mprotect(req_q, RW, 1); mprotect(mod_init, EX, 1); nfs.o ipip.o 3 4
How Much Work to Use MMP? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Trusted Computing Base of MMP ,[object Object],[object Object],[object Object],[object Object]
Memory Supervisor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],MMP Supervisor Core Kernel Memory Allocators Kernel Modules 0 1 2,..,N N+1,… Kernel Protection Domains (PD-IDs)
Memory Supervisor API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Managing Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1 2
Call and Return Gates ,[object Object],[object Object],[object Object],call mi ret mi: PD K PD M Addr Space PD M R mov add jne xor push
Architectural Support for Gates ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],PD M R
Are Gate Semantics Useful? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Stack Headache ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Finding Modularity in the OS ,[object Object],[object Object],[object Object],[object Object]
Using Symbol Information ,[object Object],[object Object],[object Object],[object Object],[object Object]
Measuring OS Modularity ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Size of Kernel Modules ,[object Object]
Number of Imported Call Gates ,[object Object]
Size of Imported Data (KB) ,[object Object],[object Object]
Measuring Cross-Domain Calls ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Additional Applications ,[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusion ,[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

7496_Hall 070204 Research Faculty Summit
7496_Hall 070204 Research Faculty Summit7496_Hall 070204 Research Faculty Summit
7496_Hall 070204 Research Faculty Summitwebuploader
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom BoardPatrick Bellasi
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Arm based controller - basic bootcamp
Arm based controller - basic bootcampArm based controller - basic bootcamp
Arm based controller - basic bootcampRoy Messinger
 
Multiprocessor architecture and programming
Multiprocessor architecture and programmingMultiprocessor architecture and programming
Multiprocessor architecture and programmingRaul Goycoolea Seoane
 
Multi core-architecture
Multi core-architectureMulti core-architecture
Multi core-architecturePiyush Mittal
 
Multicore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash PrajapatiMulticore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash PrajapatiAnkit Raj
 
Implementation of RISC-Based Architecture for Low power applications
Implementation of RISC-Based Architecture for Low power applicationsImplementation of RISC-Based Architecture for Low power applications
Implementation of RISC-Based Architecture for Low power applicationsIOSR Journals
 

La actualidad más candente (20)

7496_Hall 070204 Research Faculty Summit
7496_Hall 070204 Research Faculty Summit7496_Hall 070204 Research Faculty Summit
7496_Hall 070204 Research Faculty Summit
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Arm based controller - basic bootcamp
Arm based controller - basic bootcampArm based controller - basic bootcamp
Arm based controller - basic bootcamp
 
Linux Network Management
Linux Network ManagementLinux Network Management
Linux Network Management
 
Multiprocessor architecture and programming
Multiprocessor architecture and programmingMultiprocessor architecture and programming
Multiprocessor architecture and programming
 
Threads
ThreadsThreads
Threads
 
Embedded Software Design
Embedded Software DesignEmbedded Software Design
Embedded Software Design
 
Multi core-architecture
Multi core-architectureMulti core-architecture
Multi core-architecture
 
Multicore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash PrajapatiMulticore processor by Ankit Raj and Akash Prajapati
Multicore processor by Ankit Raj and Akash Prajapati
 
L4 Microkernel :: Design Overview
L4 Microkernel :: Design OverviewL4 Microkernel :: Design Overview
L4 Microkernel :: Design Overview
 
Implementation of RISC-Based Architecture for Low power applications
Implementation of RISC-Based Architecture for Low power applicationsImplementation of RISC-Based Architecture for Low power applications
Implementation of RISC-Based Architecture for Low power applications
 
Embedded Storage Management
Embedded Storage ManagementEmbedded Storage Management
Embedded Storage Management
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Construct an Efficient and Secure Microkernel for IoT
Construct an Efficient and Secure Microkernel for IoTConstruct an Efficient and Secure Microkernel for IoT
Construct an Efficient and Secure Microkernel for IoT
 
Mem hierarchy
Mem hierarchyMem hierarchy
Mem hierarchy
 
Multicore computers
Multicore computersMulticore computers
Multicore computers
 
Linux Porting
Linux PortingLinux Porting
Linux Porting
 
Toolchain
ToolchainToolchain
Toolchain
 
Embedded systemppt2343
Embedded systemppt2343Embedded systemppt2343
Embedded systemppt2343
 

Destacado

Presentation Of Sandra
Presentation Of SandraPresentation Of Sandra
Presentation Of Sandrasandra jhoana
 
Seo uisstudenter261010-1
Seo uisstudenter261010-1Seo uisstudenter261010-1
Seo uisstudenter261010-1Ingeborg Dirdal
 
Vevdronningen offentlig virksomhet i sosiale medier, bare enkelt
Vevdronningen offentlig virksomhet i sosiale medier, bare enkeltVevdronningen offentlig virksomhet i sosiale medier, bare enkelt
Vevdronningen offentlig virksomhet i sosiale medier, bare enkeltIngeborg Dirdal
 

Destacado (6)

Photo shoot
Photo shootPhoto shoot
Photo shoot
 
Presentation Of Sandra
Presentation Of SandraPresentation Of Sandra
Presentation Of Sandra
 
Green marketing
Green marketingGreen marketing
Green marketing
 
invert720 gallery
invert720 galleryinvert720 gallery
invert720 gallery
 
Seo uisstudenter261010-1
Seo uisstudenter261010-1Seo uisstudenter261010-1
Seo uisstudenter261010-1
 
Vevdronningen offentlig virksomhet i sosiale medier, bare enkelt
Vevdronningen offentlig virksomhet i sosiale medier, bare enkeltVevdronningen offentlig virksomhet i sosiale medier, bare enkelt
Vevdronningen offentlig virksomhet i sosiale medier, bare enkelt
 

Similar a Mmp hotos2003-slides

Similar a Mmp hotos2003-slides (20)

Oct2009
Oct2009Oct2009
Oct2009
 
Evolution of the Windows Kernel Architecture, by Dave Probert
Evolution of the Windows Kernel Architecture, by Dave ProbertEvolution of the Windows Kernel Architecture, by Dave Probert
Evolution of the Windows Kernel Architecture, by Dave Probert
 
Walking around linux kernel
Walking around linux kernelWalking around linux kernel
Walking around linux kernel
 
2337610
23376102337610
2337610
 
Software for embedded systems complete
Software for embedded systems completeSoftware for embedded systems complete
Software for embedded systems complete
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
What Have We Lost - A look at some historical techniques
What Have We Lost - A look at some historical techniquesWhat Have We Lost - A look at some historical techniques
What Have We Lost - A look at some historical techniques
 
Os note
Os noteOs note
Os note
 
Embedded os
Embedded osEmbedded os
Embedded os
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Ijaprr vol1-2-13-60-64tejinder
Ijaprr vol1-2-13-60-64tejinderIjaprr vol1-2-13-60-64tejinder
Ijaprr vol1-2-13-60-64tejinder
 
os
osos
os
 
4.Process.ppt
4.Process.ppt4.Process.ppt
4.Process.ppt
 
The Cell Processor
The Cell ProcessorThe Cell Processor
The Cell Processor
 
Bab 4
Bab 4Bab 4
Bab 4
 
Interview Question of Aspdotnet
Interview Question of AspdotnetInterview Question of Aspdotnet
Interview Question of Aspdotnet
 
Binary translation
Binary translationBinary translation
Binary translation
 
Linux Internals - Interview essentials - 1.0
Linux Internals - Interview essentials - 1.0Linux Internals - Interview essentials - 1.0
Linux Internals - Interview essentials - 1.0
 
L05 parallel
L05 parallelL05 parallel
L05 parallel
 
Ecoz presentation
Ecoz presentationEcoz presentation
Ecoz presentation
 

Más de MUHAMMAD UMAIR

My Own Demography 2 Population Composition.pptx
My Own Demography 2 Population Composition.pptxMy Own Demography 2 Population Composition.pptx
My Own Demography 2 Population Composition.pptxMUHAMMAD UMAIR
 
My Own Demography 3 Population Pyramid.pptx
My Own Demography 3 Population Pyramid.pptxMy Own Demography 3 Population Pyramid.pptx
My Own Demography 3 Population Pyramid.pptxMUHAMMAD UMAIR
 
Demography 1 Introduction.pptx
Demography 1 Introduction.pptxDemography 1 Introduction.pptx
Demography 1 Introduction.pptxMUHAMMAD UMAIR
 
My Own Demography 4 Demographic transition.pptx
My Own Demography 4 Demographic transition.pptxMy Own Demography 4 Demographic transition.pptx
My Own Demography 4 Demographic transition.pptxMUHAMMAD UMAIR
 
OIL AND GAS DEVELOPMENT CORPORATION PAKISTAN(OGDCL)
OIL AND GAS DEVELOPMENT CORPORATION PAKISTAN(OGDCL)OIL AND GAS DEVELOPMENT CORPORATION PAKISTAN(OGDCL)
OIL AND GAS DEVELOPMENT CORPORATION PAKISTAN(OGDCL)MUHAMMAD UMAIR
 
Site talk world_domination_jan_2011
Site talk world_domination_jan_2011Site talk world_domination_jan_2011
Site talk world_domination_jan_2011MUHAMMAD UMAIR
 
Unaico business information_training
Unaico business information_trainingUnaico business information_training
Unaico business information_trainingMUHAMMAD UMAIR
 

Más de MUHAMMAD UMAIR (20)

MPH1.pptx
MPH1.pptxMPH1.pptx
MPH1.pptx
 
My Own Demography 2 Population Composition.pptx
My Own Demography 2 Population Composition.pptxMy Own Demography 2 Population Composition.pptx
My Own Demography 2 Population Composition.pptx
 
My Own Demography 3 Population Pyramid.pptx
My Own Demography 3 Population Pyramid.pptxMy Own Demography 3 Population Pyramid.pptx
My Own Demography 3 Population Pyramid.pptx
 
Demography 1 Introduction.pptx
Demography 1 Introduction.pptxDemography 1 Introduction.pptx
Demography 1 Introduction.pptx
 
My Own Demography 4 Demographic transition.pptx
My Own Demography 4 Demographic transition.pptxMy Own Demography 4 Demographic transition.pptx
My Own Demography 4 Demographic transition.pptx
 
Crescent Fibres
Crescent FibresCrescent Fibres
Crescent Fibres
 
Wind energy(Pakistan)
Wind energy(Pakistan)Wind energy(Pakistan)
Wind energy(Pakistan)
 
OIL AND GAS DEVELOPMENT CORPORATION PAKISTAN(OGDCL)
OIL AND GAS DEVELOPMENT CORPORATION PAKISTAN(OGDCL)OIL AND GAS DEVELOPMENT CORPORATION PAKISTAN(OGDCL)
OIL AND GAS DEVELOPMENT CORPORATION PAKISTAN(OGDCL)
 
Site talk world_domination_jan_2011
Site talk world_domination_jan_2011Site talk world_domination_jan_2011
Site talk world_domination_jan_2011
 
Unaico business information_training
Unaico business information_trainingUnaico business information_training
Unaico business information_training
 
Why men die early
Why men die earlyWhy men die early
Why men die early
 
Unconditional love
Unconditional loveUnconditional love
Unconditional love
 
Tomorrow
TomorrowTomorrow
Tomorrow
 
Put mouse on nose
Put mouse on nosePut mouse on nose
Put mouse on nose
 
Luckier
LuckierLuckier
Luckier
 
Look into this
Look into thisLook into this
Look into this
 
Kids
KidsKids
Kids
 
Friendship
FriendshipFriendship
Friendship
 
Friends
FriendsFriends
Friends
 
Food[1]
Food[1]Food[1]
Food[1]
 

Mmp hotos2003-slides

  • 1. Emmett Witchel Krste Asanović MIT Lab for Computer Science Hardware Works, Software Doesn’t: Enforcing Modularity with Mondriaan Memory Protection
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. MMP In Action Kernel ide.o Kernel loader establishes initial permission regions Kernel calls mprotect(buf0, RO, 2); 1 2 Memory Addresses 0xC00… 0xFFF… No perm Read-write Read-only Execute-read Multiple protection domains mprotect(buf1, RW, 2); mprotect(printk, EX, 2); ide.o calls mprotect(req_q, RW, 1); mprotect(mod_init, EX, 1); nfs.o ipip.o 3 4
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.