DMA란?DMA란 CPU의 관여 없이 입출력장치가 메모리에 직접 접근하는 기능이다. 디바이스는 CPU의 관여 없이도 스스로 읽기/쓰기 명령을 수행할 수 있다.DMA의 장단점장점데이터 읽기와 쓰기는 시간이 많이 걸리는 작업이다. DMA를 사용하게 된다면 CPU는 데이터 읽기/쓰기와 같은 시간이 오래 걸리는 작업들을 하는 대신에 다른 중요한 작업들을 할 수 있다.단점DMA는 CPU를 거치지 않아 데이터 접근 시간이 단축될 수 있지만 CPU를 우회하기 때문에 보안 문제가 발생할 수 있다. DMA를 하기 위해서 별도의 설정을 해야하기 때문에 구현이 복잡할 수 있다.
소감1주일 간 Red Black Tree를 처음부터 끝까지 C로 구현해야했다. CLRS책을 참고하면서 모든 함수들을 구현했지만 테스트케이스에서 계속 실패가 떴다. 디버깅과정이 꽤 까다로웠다.Case1. 틀린 그림 찾기디버깅을 하면서 마주쳤던 버그 중에 하나는 틀린 그림 찾기다.위의 함수는 맞는 코드고 아래함수는 틀린코드다. 맞는 함수를 토대로 틀린 함수를 구현했다.확인 결과, 변수 초기화를 놓쳤다.결론! 디버깅 툴을 잘 쓰자!
1. 문제 https://www.acmicpc.net/problem/10989 2. 문제 해석 한줄로 구분되는 숫자를 입력 받은 후에 받은 숫자들을 정렬한 후 다시 한줄씩 출력하는 문제다. 입력 데이터의 개수는 1