두 용어의 개념이 굉장히 비슷해서 차이를 모르겠습니다.
혹시 같은 의미를 뜻하는 용어인지 궁금합니다.
안녕하세요 길벗수험서 운영팀입니다.
기본적으로 우리가 사용하는 대부분의 PC 응용프로그램은 가상 메모리를 사용합니다.
가상 메모리는 메모리 관리 장치(MMU)의 통제를 받아 수행되는데, 오버레이 기법은 이 메모리 관리 장치가 없는 임베디드 환경에서 주로 사용됩니다.
프로그래머의 입장에서도 차이가 있습니다.
일반적으로 프로그래머는 소프트웨어를 개발할 때 소프트웨어가 설치될 시스템의 메모리 크기를 고려하지 않고 개발하여도, MMU에 의해 알아서 일반 적재 또는 가상 메모리를 사용합니다.
이에 반해 임베디드 소프트웨어를 개발할 때는 소프트웨어가 사용될 환경이 고정되어 있으므로, 해당 환경의 메모리를 고려하여 소프트웨어가 메모리보다 크기가 커질 것 같다면, 프로그램의 각 부분을 분할하여 어떻게 적재하여 실행할지 계획하고 코딩해야 하죠. (MMU가 없는 환경 한정, 임베디드 시스템도 최근에는 MMU가 포함되어 있는 경우가 많습니다.)
두 용어의 각 설명에서 차이가 분명한 용어들을 중심으로 확실히 구분하여 암기해두세요.
원리 자체는 비슷하다보니, 분류(페이징, 세그먼트), 프로그래머의 역할 등으로 구분하는 것이 편합니다.
행복한 하루되세요 :)
-
관리자2019-10-31 15:41:41
안녕하세요 길벗수험서 운영팀입니다.
기본적으로 우리가 사용하는 대부분의 PC 응용프로그램은 가상 메모리를 사용합니다.
가상 메모리는 메모리 관리 장치(MMU)의 통제를 받아 수행되는데, 오버레이 기법은 이 메모리 관리 장치가 없는 임베디드 환경에서 주로 사용됩니다.
프로그래머의 입장에서도 차이가 있습니다.
일반적으로 프로그래머는 소프트웨어를 개발할 때 소프트웨어가 설치될 시스템의 메모리 크기를 고려하지 않고 개발하여도, MMU에 의해 알아서 일반 적재 또는 가상 메모리를 사용합니다.
이에 반해 임베디드 소프트웨어를 개발할 때는 소프트웨어가 사용될 환경이 고정되어 있으므로, 해당 환경의 메모리를 고려하여 소프트웨어가 메모리보다 크기가 커질 것 같다면, 프로그램의 각 부분을 분할하여 어떻게 적재하여 실행할지 계획하고 코딩해야 하죠. (MMU가 없는 환경 한정, 임베디드 시스템도 최근에는 MMU가 포함되어 있는 경우가 많습니다.)
두 용어의 각 설명에서 차이가 분명한 용어들을 중심으로 확실히 구분하여 암기해두세요.
원리 자체는 비슷하다보니, 분류(페이징, 세그먼트), 프로그래머의 역할 등으로 구분하는 것이 편합니다.
행복한 하루되세요 :)