2014-04-13 4 views
4

나는 리눅스 커널을 해킹하려고하고 궁금입니다. 기본 Linux 프로세스 스케줄러를 다른 것으로 변경하려면 어떻게합니까? 그리고 모든 프로세스를 실시간 프로세스로 설정할 수 있습니까? 리눅스 커널 변경 기본 CPU 스케줄러

+0

스케줄러를 변경하려면 여기를 참조하십시오. http://stackoverflow.com/questions/1009577/selecting-a-linux-io-scheduler – brokenfoot

+1

@brokenfoot/O 스케줄러와 CPU 스케줄러는 같은가요? 나는 그들이 –

+1

당신에게 프로세스의 싶어 변화 스케줄링 정책 또는 완전히 다른 스케줄링 알고리즘을 수행 다른 생각? 기본 스케줄러는 CFS입니다. 그렇습니다. 모든 프로세스를 실시간 프로세스로 설정할 수 있습니다. 일부 변경을 수행하여 커널에서이를 적용 할 수 있습니다. – Sasi

답변

2

이 게시물 일자 조금 감사합니다,하지만 어쨌든 나는 비슷한 문제를 가지고 내가 RR 기본 CPU 스케줄러 수 있도록 리눅스 커널에 대한 해킹을 구현 ...이 도움이 될 수 있기를 바랍니다. 결국 해킹은 이전 코멘트에서 지적한 바와 같이 기본적으로 shed_fork 함수를 변경합니다. 다음은이를 구현하기 위해 만든 코드입니다. https://aelseb.wordpress.com/2016/01/06/change-linux-cpu-default-scheduler/

+2

안녕을 확인 스택 오버플로에 오신 것을 환영합니다. 답변을 링크로 게시하지 마십시오. 링크가 변경되거나 오프라인 상태가되면 쓸모 없게됩니다. 대신 정보와 코드를 사용하여 답변을 작성하고 참조 용으로 만 링크를 사용하십시오. 감사. – Cthulhu

+0

안녕하세요, 감사합니다. 답변 형식에 대해 사과드립니다. –

+0

기본적으로 커널/sched/core.c의 sched_fork 함수에서 변경해야합니다. p-> policy 속성 (예 : SCHED_RR) 및 그에 따른 우선 순위를 수정해야합니다. 이 변경으로 인해 모든 프로세스가 선택된 스케줄링 도메인에 배치됩니다. 우선 순위 속성을 수정하여 기본 프로세스 우선 순위를 변경할 수도 있습니다. –