목록2017/11/13 (2)
Inor
- 스케줄링 알고리즘 다중 프로그래밍 환경에서 여러 개의 프로세스가 있을때, 어떤 프로세스에게 컴퓨터의 자원을 언제 할당할지 정하는 알고리즘을 스케줄링 알고리즘이라고 합니다. CPU의 응답시간, 처리량, 효율성 등을 증대 시키기 위해서 자원을 효율적으로 할당해야 합니다. 스케줄링 알고리즘은 프로세스가 CPU를 점유하고 있을 때, 다른 프로세스가 CPU를 강탈할 수 있는지 여부에 따라서 비선점, 선점 알고리즘으로 나뉘어집니다. - 비선점 알고리즘 비선점 알고리즘의 특징은 한번 CPU를 사용하면 프로세스가 종료될 때까지 CPU의 사용 권한을 반환하지 않습니다. 일괄 처리 방식에 용이합니다. 하나의 프로세스가 종료될 경우에만 문맥 교환(Context Switch)이 일어납니다. 그래서 문맥 교환(Context..
한 줄로 이어진 톱니바퀴를 회전 시키는 문제입니다. 하나의 톱니바퀴를 회전 시키도록하는 명령어가 들어왔을때, 양 옆의 톱니바퀴에게 영향을 줄 수 있는지를 확인해서 같이 회전 시키도록하는 것이 문제의 핵심입니다. 4개의 톱니바퀴가 회전해야하는 방향을 담을 수 있는 배열을 선언했습니다. 최초로 회전 명령을 받은 톱니바퀴를 시작으로 배열을 너비 탐색했습니다. 문제의 조건에 따라 너비 탐색으로 탐색된 양 옆의 톱니바퀴의 회전 유무를 판단했습니다. 아래는 문제의 링크와 소스 코드입니다. - 문제 : https://www.acmicpc.net/problem/14891 - 소스 코드 import java.util.LinkedList; import java.util.Queue; import java.util.Scann..