메모리 관리
·
Linux
제6장 메모리 관리 리눅스 운영체제의 메모리 관리는 기본적으로 페이징을 기반으로 한 가상 메모리 시스템(Virtual Memeory System)을 지원한다.가상 메모리 시스템의 특징 ▪ 실제 물리적 메모리의 크기에 관계없이 CPU의 형태에 따른 주소 공간을 사용할 수 있다. 예를 들면 32bit 주소 공간을 제공하는 CPU의 경우 4GB의 공간에서 커널이 가상적으로 차지하는 1Gb의 공간을 제외한 3GB의 공간에 해당하는 크기의 프로그램을 실행시킬 수 있다. ▪ CPU의 명령어 수행 시마다 계산되는 가상 주소는 MMU(Memory Management Unit) 하드웨어와 커널의 기능으로 실제 물리 메모리 주소로 변환된다. ▪ 프로그램들의 크기가 크고 또한, 여러 실행 중인 프로세스의 공간은 실제 메모리..
프로세스와 쓰레드
·
Linux
제3장 프로세스(Process)와 쓰레드(Thread) 프로세스란 일반적으로 현재 실행 중인 프로그램을 말하며 라는 일반적인 용어도 사용된다.실행 중인 프로그램의 의미를 가지는 프로세스는 실행되는 동안 커널이 가진 자원(CPU, Memory, Devices, Files)을 독자적으로 차지해야 할 경우가 많다. 따라서 프로세스는 항상 커널의 자원을 차지하기 위해 경쟁하고 커널은 이들에게 효율적으로 자원을 스케줄링하여 할당하고 회수하는 역할을 한다. 프로세스는 커널이 가진 여러 가지 자원의 할당 및 사용을 위해 커널 함수를 호출하여야 하는데,이러한 커널 함수들을 일반적으로 시스템 호출(system call)이라 한다. 따라서 동작 중인 컴퓨터 시스템은 커널과 프로세스 간의 관계에 의해 모든 것이 결정되는 것..
김 정출
'프로세스' 태그의 글 목록