검색어 입력폼

RM & EDF 스케줄링을 C언어로 구현

저작시기 2013.03 | 등록일 2013.06.06 | 최종수정일 2020.05.19 워드파일 MS 워드 (docx) | 16페이지 | 가격 5,000원

목차

없음

본문내용

T_pointer cur;
T_pointer New_task;
//포인터 동적할당
New_task = (T_pointer)malloc(sizeof(struct Task));

//들어온 번호로 task의 번호를 지정
New_task->num = no;
New_task->T=T[no-1];//fscanf로 주기 배열에 저장한 내용을 저장하기 위해선 들어온번호-1을 해야함
New_task->C=C[no-1];//fscanf로 실행시간 배열에 저장한 내용을 저장하기 위해선 들어온번호-1을 해야함
New_task->priority = New_task->T;//우선순위는 주기로 지정
New_task->stat = ready;//상태는ready

<중 략>

for(i=0; i<LCM; i++) {//주기의 최소공배수동안 루프 수행

current = task_list;
run = NULL;

while(1){
if(current == NULL) break;//task가 없으면 break
if(current->stat == ready){//상태가 ready일 때
top = current->priority;//top에는 우선순위저장
run = current;//실행중인 task는 현재 task로
break;
}

<중 략>

int main()
{
fp1= fopen("input.txt","r");
fp2 = fopen("output.txt", "w");
Task_lnit(); // 태스크 초기화

//스케줄러 선택 후 실행
if(cpu==0)
RM_algorithm();
else
EDF_algorithm();
fclose(fp1);
fclose(fp2); // 파일 닫기
exit(0);
}

참고 자료

없음
다운로드 맨위로