본문 바로가기
728x90

Virtual Memory3

[pintos] Project 3_Virtual Memory(가상 메모리)_2 [pintos] Project 3_Virtual Memory(가상 메모리)_2 Memory mapped files mmap and munmap System Call void *mmap (void *addr, size_t length, int writable, int fd, off_t offset); // systcall.c void syscall_handler (struct intr_frame *f UNUSED) { // TODO: Your implementation goes here. switch (f->R.rax) ... case SYS_MMAP: f->R.rax = (uint64_t) mmap ((void*) f->R.rdi, (size_t) f->R.rsi, (int) f->R.rdx, (int).. 2021. 10. 27.
[three_easy_pieces] 가상 메모리(Virtual memory)_주소 변환의 원리 [three_easy_pieces] 가상 메모리(Virtual memory)_주소 변환의 원리 가상 메모리를 물리적 메모리로 매핑하는 과정을 이해하는 것은 중요하다. 이를 주소 변환이라 한다. 코드 void func(){ int x = 3000; x = x + 3; // 우리가 관심있는 코드 } 어셈블리어 128 : movl 0x0(\%ebx), \%eax ; 0+ebx를 eax에 저장 132 : addl \$0x03, \%eax. ; eax 레지스터에 3을 더한다 135 : movl \%eax, 0x0(\%ebx) ; eax를 메모리 (스택)에 다시 저장 레지스터 (Register) ebx (extended base address register) : 메모리 주소 저장을 위한 레지스터 - x 주소 저장.. 2021. 10. 7.
[Operating System 운영체제] Virtual Memory(가상 메모리) [Operating System 운영체제] Virtual Memory(가상 메모리) Non-Continuous allocation Virtual Storagy(Memory) - Physical or RAM memory + swap memory - Non-continuous allocation - 사용자 프로그램을 여러 개의 block으로 분할 - 실행 시, 필요한 block들만 메모리에 적재, 나머지는 swap device(가상 메모리)에 존재 - 기법들 Paging system Segmentation system Hybrid paging/segmentation system Address Mapping - Relative address(상대주소) : 프로그램의 시작 주소를 0으로 가정한 주소 - Relo.. 2021. 9. 10.
728x90