Mondriaan Memory Protection ??? - PowerPoint PPT Presentation

About This Presentation
Title:

Mondriaan Memory Protection ???

Description:

... 1 PLB: ... MMP Read-only text, read-only data, ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 30
Provided by: acjp
Category:

less

Transcript and Presenter's Notes

Title: Mondriaan Memory Protection ???


1
Mondriaan Memory Protection???
  • ???? ????

2
??????
  • ??????????????????????
  • ??????????????? ?????????????????????
    ????????????

3
????
  • E. Witchel, J. Cates and K. AsanovicMondrian
    Memory ProtectionIn proc. of ASPLOS 2002.
  • E. Witchel and K. AsanovicHardware Works,
    Software Doesnt Enforcing Modularity with
    Mondriaan Memory ProtectionIn proc. of HotOS
    2003.
  • E. Witchel, J. Rhee and K. AsanovicMondrix
    Memory Isolation for Linux using Mondriaan Memory
    ProtectionIn proc. of SOSP 2005.

4
??????????
  • 1???????????????????????????
  • ????1?????1????????????

5
?? Mondriaan ?
  • Piet Mondriaan (1872-1944)

Composition with Red, Yellow and Blue (1921)
6
???????????
  • Permissions Table ?????
  • Permissions Table
  • ???????????????????????
  • ?????????????????
  • (???????????)
  • ??? ISA ??????
  • Permissions Table ??????????

7
MMP (Mondriaan Memory Protection)System ???
8
Sidecar ????????? ??1
????????????????????????
??????????????????????
9
PLB ????????? ??2
Protection Lookaside BufferTLB??????(???)
PLB ???
10
Permissions Table
?????????????
11
????????
  • Permissions Table ????????
  • ??????????3?
  • SST Sorted Segment Table
  • MLPT Multi-level Permissions Table
  • MLPT SST

12
SST Sorted Segment Table
  • ????( ?????)??????????

0x00000000
SST ????
0x00100020
???????
Perm ?????
13
SST ???
  • Table??????????(?)
  • Table ???? ???????

00000000
00
01
00
11
SST ????
00
11
00
01
00
10
00
10
00
01
00
SST
???????
14
SST ???
  • Table??????????? ( O(log n))
  • Table ??????

2. ????????????
00000000
00
01
1. ?????????????? (???????)
???????????????????
00
11
00
11
00
01
10
00
00
10
00
10
????????? ???????????
00
01
00
SST
???????
15
MLPT Multi-level Protection Table
  • ??????????????

??????
Perm Table Base
Table ???????? 32 bit
1???????????? (32 / 2) ? 16 ?
????????? (64 / 16) ??? 4 ??? 1 ???
MLPT????
16
MLPT ???
  • Table ????? ( O(1))
  • ????3?????????????????????

Perm Table Base
17
MLPT ???
  • ??? table ??????

MLPT ???
???? 2? (???????? 2???????????????)
0x01000
?????????????
SST ???
0x08000
???? 1? (?????????? PLB ?????????)
???????
18
SST ? MLPT ???
  • SST
  • ???????(?)
  • ????????
  • ?????(???????)
  • ?????
  • MLPT
  • ??????????
  • ???????
  • ?????(O(1))
  • ?????

19
MLPT SST(?????)????????????
  • SST
  • ???????(?)
  • ????????
  • ?????(???????)
  • ?????
  • MLPT
  • ??????????
  • ???????
  • ?????(O(1))
  • ?????

20
MLPT SST
  • MLPT ?????? SST ?????????

mini-SST ????
Perm Table Base
21
MLPT with mini-SST ???
  • ???????
  • ???????????????????????????
  • (PLB ?????????????)

mini-SST ????
22
MLPT with mini-SST ???
  • Table ??????
  • 1????????????????????????

?????????????????
mini-SST ????
23
??????
  • MMP ??????????????
  • ?????????????????????????
  • 2?????
  • ?????? MMP ????????????????
  • Read-only text, read-only data, read-write data
    and stacks
  • ?????? MMP ????????????????
  • malloc ???????????????????(?????????????????2????
    ???????)
  • ???????????????????????
  • MIPS???????????

24
?????????
Refs ????????? (load
store) Segments ?????????? ( malloc
??2) Refs/Update ????????? / Table ????? Cs
???????????????????
25
?????? MMP ??????????????
X-ref Table ???????? / ??????????????? Space
Table ???? / ???????????????????? l/k
Table ????????????? / Table ????
26
?????? MMP ??????????????
SST vs. MLTP with mini-SST
Space Table ???? / ???????????????????? X-ref
Table ???????? / ??????????????? upd
Table ????????????? / Table ??????????????? ld/lk
Table ????????????? / Table ????
27
?????? MMP ??????????????
MLPT vs. MLPT with mini-SST
Space Table ???? / ???????????????????? X-ref
Table ???????? / ??????????????? upd
Table ????????????? / Table ??????????????? ld/lk
Table ????????????? / Table ????
28
???
  • MMP ???? Linux ????? (Mondrix)
  • Linux ????1?????
  • (??? x86 ???????, SOSP 2005)

29
???
  • Mondriaan Memory Protection ????????????????????
    ??????????
Write a Comment
User Comments (0)
About PowerShow.com