운영체제 만들기를 공부하다보니 배울 것이 참 많았다. 그래서 블로그로 정리해본다.우선 참고한 책은 [ 64비트 멀티코어 OS원리와 구조 ]이다.이 책의 개발환경은 윈도우에서 cygwin을 이용했다. 그리고 64bit환경을 지원하기 위해 x86-64 크로스 컴파일러를 만들어서 쓰고 있다.나도 시도해봤는데, 크로스 컴파일러 만들기에 실패했다. 나중에 알게된 사실인데 이미 gcc가 32, 64bit를 지원한다.굳이 cygwin을 쓸 필요가 없을 것 같아서, 나는 virtual box를 이용해서 개발할 예정이다.ubuntu 16.04 LTS, 64bit 운영체제를 깔아서 썼다. 그리고 nasm과 qemu도 깔아썻다. 설치는 아주 쉽다. 예) sudo apt-get install nasm, sudo apt-get..
다익스트라 알고리즘에 대해 자세히 설명된 곳을 추천한다.http://www.playsw.or.kr/repo/cast/105 우선 위 주소로 가서 다익스트라 알고리즘이 어떻게 동작하는지 한번 살펴보길 추천한다. 단계별로 설명되어 있기 때문이 차근 차근 읽어보면 쉽게 이해할 수 있다. 내가 이해한 다익스트라 알고리즘은 출발지로부터 갈 수 있는 노드의 최단 거리를 모든 노드를 방문할 때까지 계속 갱하는 방법이다. 1. 먼저, 집에서 갈 수 있는 곳을 그림의 표에서 거리 칸에 써 넣는다. 2. 그리고 집에서 갈 수 있는 곳은 미용실, 슈퍼마켓, 영어학원 중에서 최단거리인 미용실로 간다. 3.다시 미용실에서 갈 수 있는 곳은 슈퍼마켓, 은행이다.(집은 이미 방문했으니 패스~)여기서 슈퍼마켓으로 가는 경로는 집에서..
[ Install OpenCV on Raspberry Pi ]OpenCV를 Raspberry pi에 설치하는 것은 많은 시간이 소요된다. 그리고 설치하기 전에 파일 스스템을 확장해 놓아야 한다. OpenCV의 크기가 크기 때문에 파일 시스템을 확장해 두지 않으면 용량 부족으로 아까운 시간을 낭비하게 될 것이다. 설치과정은 단순히 명령어들은 순서대로 나열하겠다. [ sudo apt-get update ] [ sudo apt-get upgrade ] [ sudo apt-get -y install build-essential cmake cmake-curses-gui pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev zlib1g-dbg..