memory management (4) 썸네일형 리스트형 [운영체제] Memory management(4) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 1) CPU가 segment table의 번호인 s와, s에서 얼마나 떨어져 있는지 나타내는 offset값 d를 전달. segment table에는 물리적 메모리의 시작으로부터 얼마나 떨어져 있는지 나타내는 base와, 그 엔트리의 크기인 limit 값이 저장되어 있음. STBR(Segment Table Base Register): segment table이 메모리의 어디에 위치해있는지 나타냄(시작 위치) STLR(Segment Table Length Regist): segment table의 전체 길이(크기)인 s의 값. segment는 실제적으로 나눠지는 수가 많지 않음. table을 위한 memory 낭비는 segment.. [운영체제] Memory management(3) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) TLB를 통해 페이지 테이블 접근에 필요한 속도를 효과적으로 줄일 수 있기 때문에 다단계 페이징을 사용해도 실제로 페이지 테이블에 접근하는 데 소요되는 시간이 엄청 크지는 않음. 페이지 테이블-> 사용 가능한 메모리의 크기만큼 존재함. 때문에 사용되지 않는 페이지에 대한 주소 역시 페이지 테이블에는 존재함. 사용 가능한 페이지에 대한 주소에는 valid bit, 사용하지 않는 페이지에 대한 주소에는 invalid bit. 즉, 실제로 물리적 메모리에 올라가지 않는 논리적 주소는 invalid bit가 입력됨 Protection bit: page에 대한 접근 권한. 페이지 테이블 -> 프로세스마다 독립적으로 존재. 본인의 페이지.. [운영체제] Memory management(2) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) page table: 논리적 페이지들이 물리적 메모리의 어느 곳에 위치하는지 저장. 논리적 페이지의 주소만큼 엔트리가 존재 p: 논리적 페이지 번호 d: 해당 페이지에서 얼마나 떨어져 있는지 논리적 주소이든 물리적 주소이든, 어차피 같은 크기의 frame으로 나눠지기 때문에 d의 상대적 위치는 변하지 않음. 페이지 테이블의 용량이 크기 때문에 레지스터에 저장은 불가능. 페이지 테이블은 프로그램마다 존재하는데, 이 페이지 테이블을 메모리에 저장하게 됨. 즉, 메모리에 접근하기 위해 주소가 필요한데 주소 접근을 하려면 메모리에 접근을 해야 하기 때문에 결과적으로 메모리에 두 번 접근하게 됨. 테이블의 시작 위치를 나타내는 PTBR.. [알고리즘] Memory management(1) 이 글은 개인의 학습을 목적으로 정리한 글입니다. 이점 참고하고 읽어주세요;) 메모리 = 주소를 통해 접근하는 매체 프로그램은 실행될 때 독자적인 메모리 주소를 가지게 됨. 이게 Logical address(virtual address) 메모리에 실제 올라가는 위치를 Physical address 물리적인 메모리는 0번부터 통으로 관리. 아랫부분에는 커널, 상위 부분에는 여러 프로그램들이 섞여서 존재 프로그램이 실제로 물리적인 메모리의 어떤 주소에 위치할지를 결정하는 것이 주소 바인딩 * Symbolic Address: 프로그래머가 숫자로 된 주소를 사용하지 않고 함수, 변수 등을 이용해서 프로그램을 만들고 또 메모리를 이용하는 것. 이게 컴파일이 되면 숫자 주소인 Logical address가 됨. -.. 이전 1 다음