본문 바로가기

스케줄링

CPU 스케줄링 기법 CPU 스캐줄링 컴퓨터의 자원을 효율적으로 상용하기 위해서 정책을 계획하는 것이다. 특정 자원을 요청하고 있는 프로세스를 대상으로 CPU 자원을 할당해 주는 순서를 정해주는 것이다. 사용 목적은 다음과 같다. CPU 활용 극대화 : CPU의 유휴 시간 최소화 응답시간 단축 : 프로세스 평균 응답 시간 단축 공평한 자원 활용 : 주어진 기간 동안 특정 자원 사용 효율화 Multi-tasking 효율화 : 다중 프로세스의 공평한 처리 스케줄러 역할에 따른 구분 장기 스케줄러 상위 스케줄링으로 어떤 작업이 시스템의 자원들을 차지할 것인지 결정한다. 결정된 작업은 큐에 적재된다. 중기 스케줄러 어떤 프로세스들이 CPU를 할당받을 것인지 결정한다. CPU를 사용하려는 프로세스 간 중재하여 일시적으로 보류하거나 재.. 더보기
프로세스 관리(Process Management) 프로세스 레지스터, 스택, 포인터, 실행중인 프로그램, 데이터 등의 집합체이다. 프로그램과 프로세스의 차이점은 현재 메모리에 적재되어 있는지이다. 즉, 아직 메모리에 적재되지 않고 보조기억장치에 존재하는 데이터의 경우는 프로그램이다. 여기서 해당 프로그램이 메모리에 적재되면 프로세스가 된다. 프로세서에 의해 수행되는 프로그램의 단위로 현재 실행 주잉거나 곧 실행 가능한 PCB(Process Control Block)를 가진 프로그램이다. 자원 할당을 위한 기본 구분 단위로 사용된다. 스레드(Thread) 제어의 흐름을 의미한다. 프로세스에서 실행의 개념만 분리한 것이다. 프로세스의 구성을 크게 두 가지로 나눌 때 제어의 흐름 부분과 실행 부분으로 나눌 수 있다 이때, 스레드는 실행부분을 의미한다. 해당 .. 더보기