Linux에서 OS가 프로그램을 실행하기로 결정했을 때 프로그램은 어떻게 메모리에로드됩니까?


2

아시다시피 Linux는 페이지 캐시를 구현하여 잠재적으로 사용될 파일 조각의 코드 또는 데이터를 저장합니다. 내 질문 중 하나는 vim과 같은 프로그램이 실행될 때 해당 데이터와 코드가 먼저 해당 페이지 캐시에로드되는 것입니다.

그리고 나는 또 다른 이해가 확실하지 않습니다. OS가 프로그램이 시작될 때 즉시 사용할 코드 조각을로드하는지 여부 아니면 OS가 한 번에 모두로드합니까? OS는 파일의 페이스 캐시를 사용하여로드 된 코드와 데이터를 저장합니다. OS는 코드 로딩을 ​​수행하기 위해 어떤 종류의 모듈 기능을 사용합니까?

답변:


0

데이터와 코드가 먼저 해당 페이지 캐시에로드됩니다.

예.

OS가 프로그램이 시작될 때 즉시 사용할 코드 조각을로드하는지 여부 아니면 OS가 한 번에 모두로드합니까?

일부 조각. 실제로 코드가 실제로 실행될 때-page_fault가 발생하고 관련 파일에서 페이지가 메모리 (page_cache)로 이동합니다

OS는 코드 로딩을 ​​수행하기 위해 어떤 종류의 모듈 기능을 사용합니까?

load_elf_binary http://lxr.free-electrons.com/source/fs/binfmt_elf.c#L663

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.