리눅스 커널 2.4에서 스케줄 선점 하는 방법없나요??

blueadol의 이미지

리눅스에서 동기화 문제를 해결하기 위해 여러가지 방법을 알아보고 있는 초보 프로그래머입니다.
check_again: pthread_mutex_lock(&mutex); //---------------------lock
// 소비자가 소비할 수 있는 조건인지를 검사함.
if (head == tail) { /* Buffer Empty */
// 계속 소비할 수 없을 경우 다른 생산자나 소비자가 lock을 사용할 수 있도록 lock을 풀어줌.
pthread_mutex_unlock(&mutex); //---------------------unlock
goto check_again; // 다시 lock을 얻기 위해 점프함.
}
if (buffer[tail] != out_value) {
//printf("error exprected:%d, read:%d\n", out_value, buffer[tail]);
error_count++;
}
out_value = buffer[tail] + 1;
tail = (tail + 1) % MAX_BUF_ENTRY;
// 소비작업을 모두 수행했으므로 생산자나 다른 소비자가 lock을 사용할 수 있도록 lock을 풀어줌.
pthread_mutex_unlock(&mutex); //---------------------unlock
}
여기서 뮤텍스 말고 스케줄링 선점 하는 방식으로 해볼려는데 2.5부터는 preempt_disable()함수를 쓰면 되는데 저희 실습 환경이 커널 2.4라서 안되네요 ㅡ.ㅡ 방법이 없을까요? 우선순위를 확 높인다거나 그럼 답변 바랍니다.

익명 사용자의 이미지

선점은 아니되옵고, 단지 우선순위를 쪼금 올리는 nice() 정도랄까요?

실습이라면, 만들어서 함이 타당하다고 봅니다.
시뮬레이터라도...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.