반응형
[ 메모리 관리 전략 ]
메모리 관리 전략에 대한 내용은 https://jhnyang.tistory.com/ 를 일부 참고하였습니다.
프로세스는 실행중인 프로그램이고, 각각의 프로세스는 독립된 메모리 공간을 갖고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제한이 걸려있다. 단지, 운영체제만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않는다.
따라서 우리가 컴퓨터를 잘 활용하려면, 가능한 가장 효율적인 방법으로 메인 메모리를 분할하고 할당해야 한다.
Dynamic Loading
Loading이란, 데이터를 메모리에 옮기는 것이다.
프로그램을 실행시키면, .exe
에 있는 파일이 메모리에 올라가야 실행이 되는 것과 같이 데이터를 메모리에 옮기는 것을 로딩 즉, 메모리에 적재 한다고 한다.
Dynamic Loading(동적 적재)이란, 프로세스가 시작될 때 그 프로세스의 주소 공간 전체를 메모리에 올려놓는 것이 아니라, 메모리를 좀 더 효율적으로 사용하기 위해 필요한 루틴이 호출될 때 해당 루틴을 메모리에 적재하는 방식.
즉, 필요한 시점에만 올리니까 메모리를 더 효율적으로 쓰이는게 가능하다.
특징은, 필요할 때만 적재되서 코드 양이 많을 때 자주 호출되지 않는 루틴(에러처리 루틴)에 효율적이며 OS
의 특별한 자원을 필요로 하지 않고 프로그래머의 재량에 따라 구현이 가능하다.
하지만 이는 옛날에 메모리가 부족했을때 사용된 방법이고, Virtual Memory Management
가 나오고 나서는 더이상 필요하기 않게 되었다.
반응형
'Computer Science > [ OS ]' 카테고리의 다른 글
[ OS ] 14. 메모리 관리 전략 - 연속 메모리 할당 (0) | 2021.06.03 |
---|---|
[ OS ] 13. 메모리 관리 전략 - Static Linking vs Dynamic Linking (0) | 2021.06.01 |
[ OS ] 11. 프로세스 동기화 - 데드락(Deadlock)과 해결방법 (0) | 2021.05.31 |
[ OS ] 10. 프로세스 동기화 - 전통적인 동기화 문제 (0) | 2021.05.31 |
[ OS ] 09. 프로세스 동기화 - 우선순위 역전(Priority Inversion)과 상속(Inheritance) (0) | 2021.05.30 |