일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ethereum
- 가벼운갤럭시
- error
- test
- 스트리밍
- 스탠바이미2총평
- kotlin
- 스탠바이미2단점
- Gradle
- convert
- 스탠바이미2장점
- Glide
- 컴파일
- 스탠바이미2리뷰
- 닌텐도스위치2게임
- C
- 스탠바이미2사용후기
- 스탠바이미2세대
- 닌텐도스위치2출시
- 스탠바이미2후기
- 닌텐도2
- firebase
- Exception
- 다윈
- 스탠바이미2실사용
- Android
- 스탠바이미2출시
- log
- 안드로이드
- Realm
- Today
- Total
날마다 새롭게 또 날마다 새롭게
메모리 이야기 본문
메모리 이야기
메모리 영역
운영체제와 사용자 프로그램이 조화롭게 공존할 수 있도록 사용자 공간과 커널공간으로 나눈다.
리눅스 32비트 환경에서는 사용자 영역을 3G, 커널 영역을 1G로 나누어 사용한다.
특권 레벨
메모리 공간에 접근할 수 있는 권한을 말한다. CPU에서 특권 레벨은 0~3까지 4가지 레벨을 제공한다.
특권 레벨 0 : Core
특권 레벨 1,2 : 서브시스템
특권 레벨 3 : 사용자 응용프로그램
세그먼트 디스크립터(Segment Descriptor)
운영체제가 해당 레벨에 사용할 메모리 영역을 지정하기 위한 특별한 자료구조를 말한다.
GDT(Global Descriptor Table)
메모리 전체의 사용 영역을 서술하는 테이블이다.
(IA-32 Intel(R) Architecture Software Developer's Manual 에서 자세한 구조를 볼 수 있다.)
이 자료구조에는 DPL과 Type필드가 있다.
DPL(Descriptor Privilege Level) : 특권 레벨 지정에 쓰임
Type 필드 : 코드 영역인지 데이터 영역인지 읽기/쓰기 권한, 실행 권한을 지정하는데 쓰임
시스템 호출
사용자 영역에서 커널 영역에 있는 함수를 호출하는 것을 말한다.
CALL 명령
CPU가 하위 레벨에서 상위 레벨로 접근할 수 있는 콜게이트를 제공하는 명령어
CPL(Current Privilege Level)
CPU에서 현재 실행 중인 특권레벨을 저장하는데 쓰임
RPL(Requested Privilege Level)
CPU 내에서 요청하는 쪽의 권한을 기록하고 추적하기 위한 용도로 사용함