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