본문 바로가기

전체 글58

FCFS 스케줄링 운영체제의 스케줄링 기법 중 가장 기초적인 스케줄링 기법이다.FCFS(First-Come First-Served)로 준비 큐에 먼저 도착한 프로세스를 먼저 서비스하는 방법이다. 예를 들어 프로세스가 A, B, C 순으로생성되면 준비 큐에 A, B, C 순서로 들어오게 되고 가장 먼저 준비 큐에 도착한 프로세스 A에게 CPU를 배정해 실행되도록 한다. 그 동안 프로세스 B와 C는 프로세스 A가 종료될 때까지 준비큐에서 기다린다. 프로세스 A가 종료되면 그다음 큐에 들어온 프로세스 B가 실행된다. 프로세스 CPU 처리 시간 A 30ms B 10ms C 2ms 위의 표와 같은 처리 시간이 걸린다고 할 때 FCFS 스케줄링기법을 이용한다면 프로세스 A의 대기시간은 0ms, 프로세스 B는 30ms, 프로세스 C는.. 2015. 10. 6.
AVL 트리 Binary Search Tree에서 트리에 삽입되는 순서에 의해서 한쪽으로 치우친 트리가 형성될 수 있다. 균형잡힌 이진트리의 경우 탐색에 O(logn)의 시간복잡도가 걸리지만 한쪽으로 치우칠 경우 O(n)의 시간복잡도가 걸리게 된다. 따라서 이러한 단점을 해결한 트리구조 중에는 AVL 트리가 있다. AVL트리에는 Balance Factor라는 것이 존재한다.이것은 왼쪽 서브 트리와 오른쪽 서브 트리의 높이 차이이다. 이 Balace Factor의 크기가 2이상일 경우 치우쳐진 트리라고 판단하고 흐트러진 균형을 맞추기위한 조치가 취해져야한다. 균형을 맞추기 위한 회전은 4가지 유형이 존재한다. 1. LL회전 2. RR회전 3. LR회전 4. RL회전 2015. 10. 5.
각도 Degree와 Radian 각도의 표기법으로는 우리가 흔히 쓰는 Degree과 Radian이 있습니다.DirectX에서는 표준으로 Radian을 사용하고 있기 때문에Degree를 Radian으로 변환하는 일이 잦습니다. 매번 까먹는 Degree To Radian 매크로#define DegToRad(x) (x*180/PI); 1 radian = 180 / PI 임을 숙지하자.. 2015. 10. 1.
충돌체크 - OBB AABB충돌의 경우 물체가 회전했을 경우에도 바운딩 박스는 고정된 상태로 충돌을 체크하기 때문에 정밀한 충돌체크가 불가능하다.따라서 좀 더 정밀한 충돌체크를하기 위해서 OBB 충돌체크 방법을 사용한다.OBB(Object Oriented Bounding Box) 한글로 풀어서 방향성이 있는 경계 상자이다.AABB와는 달리 두 바운딩 박스의 축이 모두 다를 수 있어 분리축 이론에 근거하여 각 변들을 분리축들에 모두 투영시켜 비교해봐야한다. 2015. 10. 1.