[운영체제] C언어로 FCFS 스케줄링 구현
- 최초 등록일
- 2020.10.08
- 최종 저작일
- 2019.12
- 13페이지/ 어도비 PDF
- 가격 3,000원
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
- 운영체제 A+ 레포트
- 내용: C언어를 사용해 FCFS 스케줄링 구현 (함수로 나누어 구현)
- 각 함수의 기능 및 파라미터 상세 표기
- 한글 주석이 포함된 소스코드
- 실행 결과에 대한 간트 차트와 상세 설명 포함
목차
1. 함수의 기능 및 파라미터
1.1 구조체
1.2 7 가지 함수
2. 전체 흐름
2.1 Flow Chart
3. 소스코드
3.1 소스코드
3.2 실행결과
3.2.1 Visual Studio
3.2.2 Ubuntu
3.3 타 코드와의 차별점
본문내용
100. int main() {
101. int limit; //프로세스 개수
102. int avwt = 0, avtat = 0; //평균 대기시간, 평균 반환시간
103. int pos=0; //정렬함수에서 쓰이는 대상 인덱스
104. int sum = 0; //전체 시간
105. int i = 0; //for문에서 쓰이는 구조체 번호
106.
107. limit = get_numOfProcess(); //프로세스 개수 입력받아 limit에 전달
108.
109. p = (struct process*)malloc(sizeof(struct process)*limit); //프로세스 수에 알맞게 구조체 동적할당
110.
111. get_Process(limit); //프로세스 데이터 입력받기
112.
113. for (i = 0; i < limit; i++) {
114. sort(limit, pos, i); //도착시간 순 정렬
115. }
116.
117. printf("\n프로세스 번호\t\t반환 시간\t대기 시간");
118.
119. for (i = 0; i < limit; i++) {
120. doProcess(&sum, i, &avwt, &avtat);
121. printf("\n프로세스[%d]\t\t%d\t\t%d", p[i].process, p[i].tat,
p[i].wait);
122. }
123.
124. calc_avg(avwt, avtat, i); //평균대기시간, 평균반환시간 출력
125.
126. return 0;
127. }
B. 실행결과
i. 아래 내용은 Visual Studio와 Ubuntu에서 실행한 결과이다. 위 코드는 Visual Studio에서 사용한 코드이고, Ubuntu에서는 scanf_s를 scanf로 바꾸어 실행시켰다. 두 환경에서 입력값을 달리하여 실행시켜보았다.
ii. Visual Studio에서
1. 입력값: - 프로세스 개수: 3
참고 자료
없음