CS/운영체제 & 네트워크
1. 프로세스의 개념프로그램 : 저장장치에 저장되어 있는 정적인 상태프로세스 : 실행을 위해 메모리에 올라온 동적인 상태 2. 프로세스 상태프로세스 상태new(생성) : 프로세스가 메모리에 올라와 실행 준비 완료. 메모리 할당, PCB 생성ready(준비) : 생성된 프로세스가 CPU를 얻을 때 까지 기다리는 상태. PCB는 Ready Queue에서 대기. CPU 스케줄러에 의해서 관리runnng(실행) : 준비 상태에 있는 프로세스가 CPU를 얻어 실제 작업을 수행. 타임 슬라이스 동안 작업terminated(완료) : 실행 상태의 프로세스가 주어진 타임 슬라이스 내에 작업을 마침. 프로세스 종료, PCB 폐기waiting(대기) : 실행 상태의 프로세스가 입출력을 요청하면 입출력이 완료될 때 까지 ..
멀티 스레드 환경의 프로그램에서 공유 자원 접근에 대한 제어를 하는 것은 중요하다. 특히 순서가 중요한 일련의 과정에서의 임계구역에 대한 접근은 엄격하게 이루어져야 한다. 임계 영역과 상호 배제 임계 영역은 멀티 스레드(프로세스) 환경에서, 둘 이상의 스레드가 동시에 접근해서는 안되는 공유 자원을 사용하는 코드 영역을 지칭한다. 해당 임계 영역에 대한 접근을 해결하는 방법 중 하나는 상호 배제(Mutex)이다. 상호 배제는 공유자원을 어느 시점에서 무조건 한 개의 스레드만이 사용할 수 있으며 다른 스레드들을 접근하지 못하게 제어하는 방법이다. 다른 프로세스가 번갈아 가면서 공유 자원을 사용하는 것을 목표로 한다. 교착 상태(Deadlock) 상호 배제에서 나타날 수 있는 문제점은 교착 상태이다. 나는 교..