[자료구조] 큐의 응용..
컴퓨터의 여러 분야에서 발생한 순서대로 문제를 해결하는 경우에 선입선출 운

영 구조의 큐를 사용한다. 컴퓨터 운영체제에서 실행을 요청한 작업들을 순서

대로 처리하기 위해서 버퍼 큐와 프로세스 스케줄링 큐를 사용하고, 산업공학

등의 분야에서는 최적의 시스템을 설계하기 위한 시뮬레이션에서 대기 행렬 큐

를 사용한다.

1. 운영체제의 작업 큐

큐는 각기 다른 속도로 실행되는 작업의 처리 시간을 조화시키기 위해 사용할

수 있다. 프린터를 사용하여 출력하는 경우를 생각해보자. cpu에서 데이터를

내보내는 출력속도는 프린터의 출력 속도보다 훨씬 빠르다. 만약 cpu가 프린터

의 출력이 끝날때까지 기다렸다가 다음 데이터를 내보낸다면 기다리는 시간만

큼 cpu도 다른 작업을 수행 할 수 없게 되어 작업 효율이 떨어지게 된다. 그래

서 운영체제에서 프린터 버퍼 큐 를 사용하게 한다. cpu는 출력으로 내보네는

데이터를 프린터 버퍼 큐에 삽입하고 프린터가 버퍼 큐에 있는 작업을 순서대

로 처리하면서 처리가 끝난 작업은 버퍼 큐에서 삭제한다. 이처럼 처리 속도가

다른 처리기 사이에서 처리 속도를 맞추기 위해 큐를 사용하는데, 이를 버퍼 큐

라고 한다.

컴퓨터 운영체제에서는 cpu를 사용하고자 하는 프로세스들에 대해 cpu 사용

스케줄을 관리하기 위해서 스케줄링 큐를 사용한다. 스케줄링 큐는 준비 큐

와 대기 큐로 구성한다. cpu를 사용하고자 하는 프로세슫르을 준비 큐에 삽이

하면순서대로 준비큐에서 꺼내서cpu를 사용하게 한다. cpu를 사용하던 프로세

스가다른 처리를 기다리는 대기 상태가 되면 대기 큐에 삽이하여 대기 상태의

프로세스들을 순서대로 관리한다.

2. 시뮬레이션에서의 큐잉 시스템

시뮬레이션이란 실제로 일을 실행하기 전에 미리 실험해보는 것이다. 시뮬레이

션을 하려면 먼저 시스템에 대한 수학적인 모델링 작업을 해야한다. 예를 들어,

공항을 새로 만들면서 입국심사 창구를 몇개 만들어야 할지를 시뮬레이션한다

고 하면 "비행기가 몇 분마다 도착하는가?", "한 명을 심사하는데 시간이 얼마나
소요되는가?", "어느 때에 가장 입국자가 많은가?"등을 모델링해야 하는데,

이러한 모델링에 사용되는 통계적인 이론이 큐잉 이론 이다. 큐잉 이론에서는

서비스를 받기 위해 기다리는 대기 행렬과 대기 시간을 실험하는데 큐를 사용

한다. 공항에 도착하는 입국자는 큐로 만든 대기 행렬에 순서대로 들어가고,

입국 심사관은 큐에 있는 입국자들을 순서대로 처리하게 된다. 모든 서비스가

끝나서 대기 행렬 큐가 공백이 되기까지의 평균 대기 시간을 여러 상황에 대해

시뮬레이션 하여 최적의 시스템을 설계 한다.

[자료구조] 큐의 응용..[자료구조] 큐의 응용..[자료구조] 큐의 응용..
Posted by 바람처럼..
|