CS
-
Virtual Memory란?CS/면접준비 2022. 7. 18. 17:15
Virtual Memory란? OS에서 한정된 Memory(physical Memory)를 가상화시켜 더 효율적으로 사용하기 위해 나온 개념. 어떻게 가상화 시킨다는 것이 효율적일까? Program이 실행될 때에는 전체가 Memory에 있을 필요가 없고, 실행되는 부분만 Memory에 존재하면 된다. 이를 사용하여 Physical Memory에 더욱 더 많은 Program을 올릴 수 있는 것이다. 그렇다면 어떻게 실행될 위치를 아는 것일까? MMU(Memory Management Unit) 은 하드웨어 실제 Program별 Logical Memory를 통해 Phyiscal Memory를 변환하여 준다. 가상 메모리는 어떻게 관리되는가? Paging / Segmentation / Paging+segment..
-
Dynamic Programming이란?CS/면접준비 2022. 7. 18. 16:56
Dynamic Programming이란? 큰 문제를 작은 문제로 나누어 푸는 문제입니다. + 작은 문제가 중복되어 발생하는지 여부 및 작은 문제의 답이 동일 Devide&Conquer와 동일한 것이지 않는가? -> Devide&Conquer도 큰 문제를 작은 문제로 나누어 푸는 부분에서 동일합니다. 하지만 Devide&Conquer는 말 그대로 작은 문제로만 나누어서 풀 뿐 작은 문제가 중복해서 발생한다던지 하지 않습니다. Memoization 작은 문제가 중복으로 발생하다보니 동일한 연산을 중복으로 할 이유가 없습니다. 따라서 해당 문제의 답을 적어두는 것입니다. DP의 대표적인 예가 피보나치, ROD CUTTING(막대기 자르기) 등이 있습니다. 1,1,2,3,5,8 .... 은 다음 수열 = 이전 ..