운영체제란? 시스템의 자원과 동작을 관리하는 소프트웨어 프로세스, 저장장치, 네트워킹, 사용자, 하드웨어를 관리 메모리 구조 Code : 실행할 프로그램의 코드 Data : 전역 변수, 정적 변수 할당 Stack : 지역 변수, 매개 변수 (컴파일 타임에 크기가 결정됨) Heap : 사용자의 데이터 동적 할당 (런타임에 크기가 결정됨) 프로세스, 스레드 프로세스 : 실행중인 프로그램 (= 여러개의 스레드로 구성된 실행체) 독립된 영역이므로 메모리와 CPU를 프로세스 마다 할당 받음 스레드 : 프로세스 안의 실행 단위 프로세스 안에서 메모리와 CPU를 공유해서 사용한다 CPU 스케쥴러 ready queue에 있는 프로세스에 대해 CPU 할당 받는 방법 비선점 스케쥴링 (순서를 뺏지 않음) FCFS(Fisr..