운영체제에서 스케줄링 관련해서 개발을 하고 있는데, 몇가지 궁금한 점이 있어서 질문드립니다.
글쓴이: blackaqua2 / 작성시간: 목, 2008/10/16 - 8:07오후
다름이 아니라 제가 이번에 RTOS를 이용하여 스케줄링 부분을 조금 수정하려고 합니다.
그런데 모든 운영체제에서 나오는 프로세스(Task) 마감시간(Deadline)이 프로세스마다 다르게 존재한다고
이론적으로는 알고 있지만, 이것을 누가 결정하는지가 궁금합니다.
주변 사람의 대답으로는 아래 두가지인데 이것도 확실하지가 않아요. (아는 사람이 아무도 없다는 거죠.)
1 - 개발자가 소프트웨어를 개발하면서 무수히 많은 실험을 통해 이 프로그램은 꼭 이 시간안에 모든 수행을 마쳐야 한다고 판단 후 결정
(이 부분은 하드웨어적인 부분에서 수행시간이 차이를 어떻게 하는지도 모르겠네요. ;;)
2 - 운영체제에서 수행시간을 대충 어림잡은 후 결정
(이건 대책없는 답변이라... 어디서 이런 대답을 들었는지 알수가 없네요 ;;)
프로세스의 Deadline은 누가 결정하고 어떻게 그 값을 설정하는지도 모르겠고, 여기저기 찾아봐도 자세히 설명되어 있는 부분이 없어서
이렇게 질문을 드립니다. 혹시 아시는 분은 자세한 답변이나 출처 부탁드립니다.
개발하는데 꼭 필요한 부분이라 그냥 지나칠 수가 없네요. ㅜㅜ
Forums:
공부한지 오래된 내용이라 가물가물 하지만...
데드라인이란게 프로그램 전체가 리얼타임으로 분할되서 처리될때 그 한 조각이 처리되는데 걸리는 시간이 맞는지요?
맞다면...
질문하신 부분 (스케쥴링) 관련해서 학교에서 텀프로젝트를 한 경험이 있는데
제 기억으로는 그게 공식이 있었습니다.
그 내용은 정확한 기억은 안나지만 (사실 나긴 하는데 설명해 드릴만큼 확실치 않아서 자신이 없네요;;;)
대신 참고 문헌을 알려드리겠습니다.
Computers as Components - Wayne Wolf
이 책에 스케쥴링에 관련한 내용이 나왔던 것으로 기억합니다.
http://knuth.cafe24.com
답변 감사합니다. ^^
책을 한번 봐야겠네요 ㅎㅎ
댓글 달기