본문 바로가기

Java/Java

[리뷰] 정렬 / 스케줄 정리

반응형

1. 정렬 알고리즘

버블 정렬 데이터를 인접 요소끼리 비교해, swap 연산을 수행하면서 정렬
선택 정렬 대상에서 크거나 작은 데이터를 찾고, 선택을 반복하면서 정렬
삽입 정렬 대상을 선택해 정렬된 영역에서 선택 데이터의 위치를 찾아 삽입하면서 정렬
퀵 정렬 pivot 값을 선정해 해당 값을 기준으로 정렬
병합 정렬 이미 정렬된 부분들을 효율적으로 병합해 전체를 정렬
기수 정렬 데이터의 자릿수를 바탕으로 비교해 정렬

 


#운영체제 목적  처리 능력(Throughput)  응답 시간(Turnaround Time)  신뢰도(Reliability)  사용 가능도(availability)

(1) 메모리 관리

-> 프로그램을 실행하거나 참조하려면, 반드시 메인 메모리에 적재를 한 다음 사용한다.

: 메인 메모리의 공간이 부족하므로, 관리해야 한다.

(2) 프로세스 스케줄링

-> 자원의 효율적 사용과, 프로세스 간 공정성을 위해 사용

 

2. 스케줄링 알고리즘 [선점과 비선점]

 FIFO / SJF / 우선순위 알고리즘 -> 에이징 / 라운드 로빈 [시분할 시스템 -> 시간 할당량] / HRN [가변적 우선순위]

-> MLQ 다단계 큐 여러개의 큐로 분류하고, 절대적인 우선순위를 설정한다.

-> 다단계 피드백큐 : 일반적으로 사용하는 스케줄링 방법으로, 매우 복잡하다. 이전의 큐사이를 오고가면서 유연하게 동작

 

실시간 시스템을 위해서는 -> 선점이 가능한, 우선순위 기반 알고리즘이 필요 

반응형