프로세스: 실행 중인 프로그램으로 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 프로그램을 말하며, 운영체제로부터 주소 공간, 파일, 메모리 등을 할당 받는다.Process in memory:Text(Code): binary program instruct
프로세스를 이용하여 동시에 처리하던 일을 스레드로 구현할 경우 메모리 공간과 시스템 자원 소모가 줄어들게 된다. 스레드 간의 통신이 필요한 경우에도 별도의 자원을 이용하는 것이 아니라 전역 변수의 공간 또는 동적으로 할당된 공간인 Heap 영역을 이용하여 데이터를 주고
프로세스를 스케줄링하기 위한 Queue 에는 세 가지 종류가 존재한다.Job Queue: 현재 시스템 내에 있는 모든 프로세스의 집합Ready Queue: 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합Device Queue: Device
스케줄링 대상은 Ready Queue에 있는 프로세스들이다.특징먼저 온 순서대로 처리비선점형(Non-Preemptive) 스케줄링: 일단 CPU를 잡으면 CPU burst가 완료될 때까지 CPU를 반환하지 않는다. 할당되었던 CPU가 반환될 때만 스케줄링이 이루어진다.
일반적으로 동기와 비동기의 차이는 메소드를 실행시킴과 동시에 반환 값이 기대되는 경우를 동기라고 표현하고 그렇지 않은 경우에 대해서 비동기라고 표현한다. 동시에라는 말은 실행되었을 때 값이 반환되기 전까지는 blocking 되어 있다는 것을 의미한다. 비동기의 경우,