CS(76)
-
[CS] 다익스트라에 대한 나름의 이해
다익스트라에서 중요한 기준은 시작점이다. 모든 건 시작점을 기준으로 생각되어야 한다. 왜냐하면 시작점과 관계를 가지기 때문이다. 두번째 포인트는 현재 선택되어 있는 노드는 어떠한 경로로든 그 노드까지 가는게 그 순위라는 것이다. 예를 들어, 1번이 시작점이다. 그리고 차례대로 선택된 노드가 5, 2, 6번이라면 1번에서 5번으로 가는 길이 어떻게든 2번까지 가는 길보다 짧다는 것이다. 세번째 포인트는 현재 선택되어 있는 노드는 아직 선택되지 않은 다른 어떤 노드보다 출발점부터 가는길이 짧다는 것이다. 네번째 포인트는 선택되지 않은 노드는 두가지 선택점을 가진다는 것이다. 현재 선택된 노드에서 가는게 더 짧은 것인가 아니면 어떤 경로인지는 모르지만 최단 경로가 더 짧은 것이냐다. 일단 출발점에서 현재 선택..
2023.09.16 -
[Java] Thread에 관해 적을 만한 것
main thread가 끝나도 남아있는 thread가 있다면 끝나지 않는다.
2023.09.08 -
[CS] 가상 메모리에 대한 나름의 이해
물리 메모리만 사용하면 다 올려야 하는데 이때 여러 문제가 발생한다. ex) 물리 공간 부족, 메모리 공간 낭비 등등 이를 해결하기 위해 물리메모리를 관리해주는 걸 가상 메모리라고 한다.
2023.09.08 -
[CS] 페이징의 문제점
페이지의 크기를 줄이면 줄일수록 페이지 테이블의 정보도 늘어나게 되고 그에 따른 오버헤드가 증가한다. 그렇다고 페이지의 크기를 키우면 내부 단편화 문제가 커진다.
2023.09.07 -
[CS] 세그멘테이션의 문제
메모리가 차례차례 쌓이는 건 괜찮으나 제거되기 때문에 문제가 된다. 중간이 제거가 되면 빈공간이 생기기 때문이다.
2023.09.07 -
[CS] counting semaphore를 이용할 때 발생할 수 있는 문제점과 해결책
counting semaphore를 활용하여 프로세스를 critical section 안에 들이게 되면 context switching에 의한 침범이 발생할 수 있다. 따라서 이를 해결하기 위해서 그 안에서 한번 더 mutext를 거치게 하는 nested semaphore를 활용한다.
2023.09.06