MINT64 OS에 대해서는 간만에 포스팅하는 것 같습니다. 그 동안 회사 일도 좀 바빴고, 컨디션 난조로 생각보다 진도가 잘 안 나가는 바람에 조금 늦어 졌습니다. 블로그에 포스팅하는 시간까지 아껴가며 집중해야 했기 때문이지요. ㅠㅠ 결국 어쨌거나 목표했던 기간은 맞췄습니다. ㅎㅎ
이번에는 시간에 관련된 디바이스에 대한 기능을 추가했습니다. 흔히들 많이 쓰는 PIT 컨트롤러와 RTC, 그리고 정밀한 시간 측정 시에 사용하는 Time Stamp Counter(TSC)에 관련된 기능을 추가한 것이지요. 그리고 덤으로 쉘에 이러한 정보를 출력할 수 있는 기능도 추가했습니다.
만들어 놓고 보니 뭔가 재미있는 게 없을까 하는 생각이 들더군요. 그래서 마침 PIT도 있고 TSC도 있겠다 싶어서 프로세서의 클럭을 간접적으로 측정하는 코드를 삽입했습니다. TSC가 프로세서의 클럭을 기반으로 동작하는 특성을 이용해서, 약 10초 동안에 TSC가 변화한 양을 구하고 그것을 10으로 나누면 얼추 비슷하게 클럭을 측정할 수 있습니다. 다음은 MINT64 OS에서 측정에 사용한 코드입니다. 아래 코드로 측정했을 때 2667MHz가 나왔는데 실제 PC의 클럭이 2.6GHz짜리이므로 큰 차이가 나지 않는 다는 것을 알 수 있습니다.
이걸로 또 한 고비를 넘었습니다. ;) 이제부터 몇 주 동안은 멀티 태스킹 기능을 작업하면서 정리해야 하는데, 갈길이 막막하네요. ^^;;;; 코드를 짜는 거야 이미 지겹도록 했으니 아무 문제 없는데... 정리가 만만치 않아서... 쿨럭..;;; 이것 참 큰일입니다. 에혀... 그래도 어쨌거나 해봐야지요. >>ㅑ~울~!!!
에궁~ 빡시게 달릴 이번 주를 위해 오늘은 좀 일찍 자야겠습니다. 다들 좋은 밤 되세요 ;)
'OS Kernel > MINT64 OS' 카테고리의 다른 글
웃차~ MINT64 OS에 라운드 로빈 스케줄러를 넣는 중입니다. (2) | 2009.02.27 |
---|---|
[MileStone] 기본적인 태스크 전환 기능을 추가했습니다. (2) | 2009.02.22 |
PIT 컨트롤러의 카운터를 직접 읽어 시간을 계산할 때 주의할 점 (2) | 2009.02.09 |
[MileStone] 어제 출판사에 다녀왔습니다. ;) + 쉘 기능 추가 (22) | 2009.02.01 |
헉... va_start(), va_arg(), va_end()는 라이브러리에 포함된 함수가 아니군요. ㅠㅠ (2) | 2009.01.30 |