개발하면서
-
드디어 IA-32e모드로 넘어갔다!!!!개발하면서/etc 2015. 2. 19. 22:41
아~!! 드디어 IA-32e 모드로 넘어갔다. 의지가 약해서 듬성듬성 하다보니까 오래걸렸다. 이젠 놀만큼 놀았다고 생각해서 우직하게 준비해야되는데 동기부여가 아직 덜 됐나보다. ImageMaker때문에 이틀정도 걸렸다... WriteKernelInformation 함수에 lseek부분에서 오류가 발생! 이틀동안 삽질하다가 포기하는 마음으로 #include 추가해줬더니 정상동작했다!! : ) asm이나 간단한 C소스는 직접 입력했는데 ImageMaker, makefile, elf_xxx.x파일은 복붙했다. 앞으로 뭐가 있나 다시 봤는데...타이핑하는게 더 줄것같다ㅋㅋㅋㅋㅋ 10장에서 IA-32e 모드에 스택을 지정하는 부분이 있는데 Stack Segment를 0x10으로 설정하고 주석으 다음과 같다. 스택..
-
QuickList개발하면서/코드보면서 2015. 2. 4. 22:53
2015년 1월 초에 unstable에 merge된 QuickList에 알아본다.https://matt.sh/redis-quicklist 에서 나온 얘기를 조금 하고 코드를 보자 Redis에 List 자료구조는 일반적인 Linked list와 메모리를 절약을 위한 Ziplist두개가 있다.포인터를 이용하여 리스트 구현한것과 배열을 이용하여 리스트를 구현한것이라고 생각하면 쉽다. list-max-ziplist-entries 512 list-max-ziplist-value 64 (노드 갯수가 512개 이상 || 저장하려는 값의 길이가 64 byte 초과)면 Linked list로 저장이 되고(노드 갯수가 512개 미만 && 저장하려는 값의 길이가 64 byte 이하)면 ziplist로 저장이 된다.재미진건 ..
-
BootLoader test개발하면서/etc 2015. 1. 25. 20:06
책산지는 거의 2년정도 된것같다. 혼자 커널을 공부하자니 막막해서 따라하기 식으로 하면 될것같아 덜컥 사버렸다. 1년전 시도했던것 같은데 환경 세팅하다가 흐지부지 됐던...으악!!! 진득하게 좀 하자!! 실습하면서 생긴 이슈나 깨달은것들을 남기기로 했다 나중을 위한것도 있지만 나 스스로에게 동기부여를 위해서?;;; 이번 포스트는 p.131까지 진행했다. p.59에 binutils 빌드를 하는데 아래와 같은 오류가 발생했다. intl이라는 라이브러리를 못찾겠다고 한다. 3년도 더 된 책이라 버젼이 많이 달라졌다. 뜨끔하면서 세월 더 지나가기전에 책 한번 봐야겠다는 의지가 생긴다. binutils빌드는 책보다 http://jsandroidapp.cafe24.com/xe/3171 보면서 하고, intl라이브러..
-
C++ 기초 익히기개발하면서/etc 2014. 11. 15. 21:11
요새 좀 보고싶은 오픈 소스들이 죄다 C++로 되어있어서 학습하고있다 http://www.learncpp.com 에서 후다닥 보고 있는데, 집중력이 20분을 못가네...ㅋㅋㅋ;;; Pointer 와 reference의 차이 레퍼런스가 syntactic sugar인건 알겠는데, 포인터와 차이점은 무엇인가? 포인터는 재할당이 되지만, 레퍼런스는 한번 초기화 하면 변경하지 못한다. 포인터는 null을 가리킬수 있지만, 레퍼런스는 꼭!어떤걸 참조 해야한다. 포인터 자체 주소값은 가져올수 있지만, 레퍼런스는 할수 없다. reference arithmetics가 없다. http://yosefk.com/c++fqa/ref.html (fqa가 갑이구나...) Constructor initialization lists ..
-
algospot] CLOCKSYNC개발하면서/Algorithm,DS,PS 2014. 11. 15. 19:34
CLOCKSYNC 1년전에 JM북에 나온대로 무식하게 풀기로 풀었는데 다른 풀이법을 보니 신기했었다 그걸 지금 정리해본다. 분명히 1년전에는 이해했었는데, 다시 이해하는데 꽤나 버벅거림...;;; 10개의 스위치중에 한개의 스위치로만 시침을 변경할수있는 시계가 존재한다 1번 스위치에 11번 시계가 그렇고, 4번 스위치에 8번 시계가 그렇다 1번이나 4번으로 각각의 시계를 12시로 맞춰놓는다 예를들어 4번 스위치로 8번시계를 12시로 맞춰놓았다고 하면 다음할건 4번 스위치를 제외한 9개의 스위치에서 한개의 스위치로만 변경되는 시계가 있는지 살핀다 2번의 10번 시계가 그렇다 icpc IRC에서 Being님이 설명해준걸 이해한 후에 충격과 공포!! int sync_switch[10][5] = { { 0, 1..
-
Geohash개발하면서/Algorithm,DS,PS 2014. 6. 27. 17:29
http://en.wikipedia.org/wiki/Geohash http://geohash.org/site/tips.html 어느 DB 프로젝트 issue를 보다가 GeoHash dataType 지원할 생각은 없냐는 글을 봤다. GeoHash? 처음 들어보는 hash다... 공부해보자. 공부라고 해봤자 wiki를 내 나름대로 정리하자는 거지 뭐... Geohash의 근간(?)이 되는 알고리즘은 1966년에 G.M. Morton 개발되었다고 한다. 간단히 살펴보면 지구를 커다란 네모로 보고 4등분을 한다. 그리고 나뉜 사각형 각각에 2개 비트를 할당한다. 00~11 총 4개 4개로 나뉜 사각형을 다시 한번 4등분 한다. 이때 첫 번째로 나누었을 때 비트는 두 번째, 첫 번째 비트에 값이 세팅되고 두 번째..