Computer Science/OS
2021. 11. 16.
은행가 알고리즘 코드, 시간복잡도, 회복 알고리즘
은행가 알고리즘 다시보기 가상으로 자원 할당을 해보기 그중에서 safety를 확인해야 합니다. 1단계 - 초과하지 않아야 다음단계로 이동합니다. n: 프로세스 수 m: 자원 유형 수 Request와 Need의 자원 유형이 같으니 비교할 수 있습니다. 이 알고리즘의 시간복잡도는? 1단계 부터 봅시다. 모든 프로세스가 필요치를 측정해야 하니 O(n)이 필요할 거 같습니다. 아니였습니다. Pi가 자원 요청하는 것을 가정하는 것 입니다. ex) Pi가 B를 요청한다 하면 Request는 0100이 됩니다. 길이가 m인 벡터를 하나씩 비교해야 합니다. Request, Need보다 남은 자원량이 큰지를 확인해야 합니다. 즉, O(m) 입니다. 길이가 m인 것을 비교하는 시간입니다. 2단계 에서 걸리는 시간 마찬가지..