Microsoft PowerPoint - o8.pptx

Similar documents
Microsoft PowerPoint - o8.pptx

Figure 9.01

Microsoft PowerPoint os9.ppt

Microsoft PowerPoint os8.ppt [호환 모드]

Microsoft PowerPoint - a2.ppt [호환 모드]

Deok9_Exploit Technique

The_IDA_Pro_Book

6.24-9년 6월

강의10

목 차

PRO1_09E [읽기 전용]

Microsoft PowerPoint - 06-IPAddress [호환 모드]

1217 WebTrafMon II

MS-SQL SERVER 대비 기능

Microsoft PowerPoint - a10.ppt [호환 모드]

슬라이드 1

Deok9_PE Structure

歯MW-1000AP_Manual_Kor_HJS.PDF

슬라이드 제목 없음

PowerPoint Presentation

슬라이드 1


<4D F736F F F696E74202D2037C0E52DC4B3BDC3BFCDB8DEB8F0B8AE>

hlogin7

SRC PLUS 제어기 MANUAL

Microsoft PowerPoint - 30.ppt [호환 모드]

hlogin2

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 부처명 교육과학기술부

Chap06(Interprocess Communication).PDF

리눅스커널-06

Xen으로 배우는 가상화 기술의 이해 - CPU 가상화

Index

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

BGP AS AS BGP AS BGP AS 65250

리뉴얼 xtremI 최종 softcopy

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20BCD2C7C1C6AEBFFEBEEEC6AFB7D03038B3E22E BC8A3C8AF20B8F0B5E55D>

untitled

7장. 교착상태(deadlock)

<3136C2F720C6F7B7B3BFF8B0ED2E687770>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

2 / 26

11장 포인터

2014밝고고운동요부르기-수정3

2005프로그램표지

CD-RW_Advanced.PDF

C# Programming Guide - Types

슬라이드 1

untitled

<3130C0E5>

Microsoft PowerPoint - eSlim SV [080116]

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

APOGEE Insight_KR_Base_3P11

PowerPoint 프레젠테이션

歯15-ROMPLD.PDF

PowerPoint 프레젠테이션

untitled

PowerPoint 프레젠테이션

bn2019_2

1

³»Áö¼öÁ¤

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

Microsoft Word - FunctionCall

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

T100MD+

BMP 파일 처리

solution map_....

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Sharing Memory Between Drivers and Applications

Microsoft PowerPoint - 27.pptx

4) CRC - 16bit MODBUS crc 4. MODBUS Exception Codes Code 01h 02h 03h 04h 05h 06h 10h 11h 12h 13h 14h Name ILLEGAL FUNCTION ILLEGAL DATA ADDRESS ILLEGA

Microsoft Word - ExecutionStack

6주차.key

초보자를 위한 분산 캐시 활용 전략

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

휠세미나3 ver0.4

PowerPoint Presentation

Microsoft Word - logic2005.doc

결과보고서

Microsoft PowerPoint - IOControl [호환 모드]

Microsoft PowerPoint - eSlim SV [ ]

Microsoft PowerPoint - 강의2.ppt

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

IDA 5.x Manual hwp

MicrocontrollerAcademy_Lab_ST_040709

PCServerMgmt7

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - System Programming Lab Week1.ppt [호환 모드]

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

PowerPoint 프레젠테이션

untitled

The Self-Managing Database : Automatic Health Monitoring and Alerting

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

untitled

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

歯RCM

Transcription:

메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit) V=1 (valid): legal page ( 페이지가프로세스의논리주소공간에있음 ) V=0 (invalid): illegal page frame no. P V 0 1 2 3 4 eo eo rw ro - 1 1 1 1 0 page table i386 page table entry Present 41

Page Table 에서의 Valid/Invalid bit physical logical PTBR(page table base register) PTLR(page table length register) 42

공유페이지 (Shared Pages) paging 의장점 코드를쉽게공유가능 공유코드 (Shared code) 재진입코드 (reentrant code) 는공유될수있음 재진입코드는수행동안변하지않는 (non-self-modifying) 읽기전용 (read-only) 코드임 두개이상의프로세스가같은코드를동시에실행할때에 물리적메모리에있는한개의코드공유 각프로세스의페이지테이블에서같은페이지프레임공유 프로세스마다별도의데이터저장공간사용 공유코드는모든프로세스의논리주소공간에서같은위치에있어야함 43

Shared Pages Example 44

8.6 Page Table 구조 Page Table의크기 ( 예 ) 32비트논리주소공간, 4KB 페이지크기 2 32 / 2 12 = 2 20 (1M) page table entries page table entry크기가 32-bit(4B) 이면 page table 크기는 2 20 * 4B = 2 22 = 4MB 1024 page 크기 최신컴퓨터시스템은 2 32 2 64 정도의커다란논리주소공간을사용 page table의크기가상당히커진다 연속메모리공간을사용하는 page table은 page size보다훨씬큼 해결책 Hierarchical Paging Hashed Page Tables 45

Hierarchical Page table (Multilevel Paging) 다단계 page table page table 을하나의연속적메모리를사용하지않고 여러개의작은조각 ( 대개 1 page 크기 ) 으로나누어서계층적으로구현 p1 10 10 12 p2 d logical address PTBR f page directory f d physical address page table main memory 46

Two-Level Page-Table Scheme (page directory) (inner) 47

(Example) Two-level paging - 80386 the page table is paged the page number is divided into (1) a 10-bit index into page directory (2) a 10-bit index into page table page size = 2 12 = 4KB, page table size = page directory size = 2 10 x 4B/entry = 4KB 48

Multilevel Paging Three-level paging 예 2 nd outer page outer page p1 p2 32-bit 10-bit innner page p3 10-bit d offset 12-bit page larger than page size page size 64-bit logical address를 32-bit physical address로변환하는데 4번의메모리접근이발생할수있음 64-bit architecture에서는 hierarchical page table이부적합함 49

(Example) x86-64 long mode paging 50

Hashed Page Tables 주소공간이 32비트보다커지면 hashed page table을사용 hashed page table 논리주소의 page number 의 hash function 값을 hashed page table 의 index 로사용함 hash table 의각 entry 는연결리스트를저장 같은 hash function 값을갖는 page 들의 paging 정보저장 연결리스트원소형식 : <page, page frame, next pointer> hashed page table 을사용한주소변환 논리주소의 page number와해쉬된위치의연결리스트원소들의 page 번호들과차례대로비교함 match되면 page를대응되는 page frame으로변환함 clustered page table page table의각entry가한개의page가아닌여러page에대한주소변환정보를저장함 논리주소공간을 sparse하게사용하는경우유용함 51

Hashed Page Tables( 계속 ) a chain of elements (virtual, physical) 52

clustered page table virtual page number 의상위부분을 hash function 의입력으로사용 하위부분은 page table entry 를선택하는데 block offset 으로사용 53

8.4 Segmentation 프로그램은세그먼트의집합임 사용자관점의메모리 세그먼트는프로그램의논리적단위 main program, procedure, function, local variables, global variables, common block, stack, symbol table, arrays 세그먼테이션 (segmentation) 논리주소 = <segment number, offset> 2차원주소 주소맵핑을세그먼트단위로수행하는메모리관리방식 2차원논리주소를 1차원물리주소로변환 54

Logical View of Segmentation 1 1 4 subroutine 2 stack 3 main 4 symbol table 2 3 user space physical memory space 55

Segmentation 구조 Segment table 프로그램의각세그먼트의주소변환정보저장 table entry 형식 base 세그먼트의 starting physical address limit 세그먼트의길이 세그먼트길이가가변이므로메모리할당은동적할당방법을사용 Segment-table base register (STBR) 현재프로세스의 segment table의시작주소 Segment-table length register (STLR) 현재프로세스의 segment 개수 segment number s 에대해서 s < STLR 이면 s는합법적 56

Segmentation 하드웨어와주소변환 STBR STLR 57

Segmentation 예 58

8.7 Example - Intel IA-32 (Pentium) segmentation 과 segmentation with paging 을지원 (in protected addressing mode) 주소변환과정 logical address : <segment, offset> 2차원주소 linear address : 1차원주소 paging을사용하지않으면 physical address와같음 physical address 59

Segmentation 과 Paging segmentation: two segment tables LDT(local descriptor table) GDT(global descriptor table) s: segment g: GDT/LDT p: privilege level selector s g p offset 13 1 2 32 translate 46-bit logical address into 32-bit linear address paging a two-level paging scheme. dir page offset 10 10 12 translate 32-bit linear address into 32-bit physical address 60

IA-32 14 32 GDTR LDTR 32 segmentation 32 10 10 12 paging CR3 61

IA-32 paging multiple page sizes 4KB, 4MB page 32-bit entry, 20-bit page frame 12-bit offset 22-bit offset 62

Page Address Extensions (PAE) 2 9 9 12-bit offset 64-bit entry, 24-bit page frame 24 + 12 = 36 bit physical address 63

ARM paging architecture Multiple page sizes 64