
프로세스 - 수행 중인 프로그램 - 보조기억 장치에 단순히 저장되어 있는 프로그램은 프로세스가 아님 - 데이터를 기본으로 정상적인 실행을 위해 필요한 환경을 시스템으로부터 부여받은 능동적인 존재 스레드 - 프로세스 안에서 실행되는 여러 흐름 단위 - 큰 틀 : 프로세스 / 세분된 작은 일 : 스레드 - 프로세스마다 최소 1대의 스레드 소유 (메인 스레드 포함) - 프로세스는 각각 별도의 공간을 할당 -> 독립적 Code - 코드 자체를 구성하는 메모리 영역(프로그램 명령) Data - 전역변수, 정적변수, 배열 등 : 초기화 된 데이터는 data 영역에 저장 / 초기화되지 않은 데이터는 bss 영역에 저장 Heap - 동적 할당 시 사용 (new(), malloc() 등) Stack - 지역변수, 매개변..

김주균, OS? Oh Yes! (휴먼싸이언스, 2008) 프로그램을 짜고, 실행시키면서 프로그램 용량이 커서 메모리에 들어가지 못할 것이라는 걱정을 하는 사람은 없음 ➡ 시스템이 사용자 프로그램을 메모리의 어디에, 어떻게 넣을지, 수용 공간까지 알아서 해결 운영체제는 메모리 크기 아래 프로그램을 작은 조각으로 나누어 일부분만을 메모리에 적재 ➡ 보다 많은 사용자 수용, 사용자가 메모리 크기로부터 자유로움 ➡ 제한적인 크기지만 엄청나게 큰 메모리가 있는 것처럼 여겨지기 때문에 가상(Virtual) 메모리라고 함 8.1 가상 메모리 (Virtual Memory)를 위해서는 프로그램은 작은 조각으로 이루어짐 조각 크기 같도록 ➡ 페이지(Page) 조각 크기 다르게 ➡ 세그먼트(Segment) 이 크기가 메모리..