WinCE 저전력 모드 프로그래밍 주의 사항 (윈도우 CE 스케줄링) WinCE 금지 사항 아래 코드는 좋지 않은 습관이다. CPU 파워와 배터리 소모를 유발하여 저전력을 위배한다. 여기서 윈도우 CE 전원 관리를 잠깐 살펴보자. 윈도우 CE는 운용시간의 90% 이상 모든 스레드가 블록 된 상태다. 이때는 WinCE OEM 추상 레이어(OAL, OEM Abstraction Layer로서 MS-DOS에서의 BIOS와 같다)를 호출해 저전력 대기 상태로 진입한다. 스레드 기반 환경에서 다음과 같은 코드를 사용하면 절대 안 된다. 1234while (bFlag == FALSE) { // 플래그에 새 값을 읽음}// 수행 계속cs 일반적으로 저전력 상태는 명령어 실행을 중단하는 CPU 정지(halt)를 뜻한다...
윈도우 CE 시스템 스케줄링에 대해 (WinCE Scheduler 스케줄러) 윈도우 CE의 스레드 스케줄링은 선점형 방식이다. 스레드는 퀀텀(quantum)이나 타임 슬라이스(time slice)라고 부르는 시간 동안 실행된다. 해당 시간이 지난 후 스레드가 실행 중인 상태라면 그 스레드는 일시 중단되고 다른 스레드가 실행된다. 예외적으로 실행을 마칠 때까지 계속되는 스레드도 있다. 윈도우 CE는 우선순위 스키마(scheme)에 따라 실행할 스레드를 고른다. 높은 우선순위 스레드는 낮은 우순선위 스레드 이전에 스케줄링 된다. 윈도우 CE가 스레드 간에 시간을 배분하는 규칙은 다른 윈도우 운영체제와는 꽤 다르다. 윈도우 CE 프로세스에는 우선순위 클래스가 없다. 데스크탑용 윈도우에서는 스레드 우선순위와 부..
유닉스/리눅스 계열에서 스케쥴링을 제공하는 Cron은 그 사용법이 간편해서 많은 사랑을 받고 있습니다. C#에서도 윈도우 스케쥴링을 위해 Cron을 기반의 Quartz 라이브러리가 제공됩니다. 타이머나 스레드를 이용할 필요 없이 C# 스케줄러 Quartz만 사용하면 스케쥴링 프로그래밍이 가능합니다. 이 포스트에선 쿼츠 이용하는 방법을 다룹니다. 먼저, Quartz.NET 사이트로 이동해 파일을 다운로드합니다. 링크 - Quartz.NET - Quartz Enterprise Scheduler .NET [클릭] 링크된 사이트로 이동한 뒤 오른쪽 빨간 박스 안의 Download를 클릭하세요. 그러면 소스 포지로 이동하는 링크를 볼 수 있습니다. 바로 이동하여 C# 스케줄러 다운로드하세요. 2017년 3월 현재..