티스토리 뷰
Virtual Storage (Memory)
- Non-continuous allocation
- 사용자 프로그램을 여러 개의 block으로 분할
- 실행 시, 필요한 block들만 메모리에 적재
- 나머지 block 들은 swap device에 존재
- 기법들
- Paging system
- Segmentation system
- Hybrid paging/segmentation system
Address Mapping
Continuous allocation
- Relative address (상대 주소)
- 프로그램의 시작 주소를 0으로 가정한 주소
- Relocation (재배치)
- 메모리 할당 후, 할당된 주소(allocation address)에 따라 상대 주소들을 조정하는 작업
Non-continuous allocation
- Virtual address (가상주소) = relative address
- Logical address (논리주소)
- 연속된 메모리 할당을 가정한 주소
- Real address (실제주소) = absolute (physical)
- 실제 메모리에 적재된 주소
- Address mapping
- Virtual address -> real address
Block Mapping
- 사용자 프로그램을 block 단위로 분할/관리
- 각 block에 대한 address mapping 정보 유지
- Virtual address : v = (b,d)
- b = block number (block의 번호)
- d = displacement(offset) in a block(bl
Block map table (BMT)
- Address mapping 정보 관리
- Kernel 공간에 프로세스마다 하나의 BMT를 가짐
- Residence bit: 해당 블록이 메모리에 적재되었는지 여부 (0/1)
- 프로세스의 BMT에 접근
- BMT에서 block b에 대한 항목(entry)를 찾음
- Residence bit 검사
- Residence bit = 0 경우
swap device에서 해당 블록을 메모리로 가져 옴
BTM 업데이트 후 3-2 단계 수행 - Residence bit = 1 경우,
BMT에서 b에 대한 real address 값 a 확인
- Residence bit = 0 경우
- 실제 주소 r 계산 (r = a + d)
- r을 이용하여 메모리에 접근
강의
www.youtube.com/watch?v=YCfP9I4K-8Y&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=27
'운영체제' 카테고리의 다른 글
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Variable allocation
- Replacement Strategies
- RAID Architecture
- 빅데이터 플랫폼
- SPARK
- Disk System
- JSON
- I/O Services of OS
- maven
- File Protection
- 하둡
- vmware
- mapreduce
- Free space management
- aop
- SQL
- oracle
- Allocation methods
- jdbc
- HDFS
- hadoop
- I/O Mechanisms
- Java
- linux
- 빅데이터
- springboot
- Spring
- Flume
- Disk Scheduling
- gradle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함