운영체제 OS 중간 리포트
- 최초 등록일
- 2020.10.15
- 최종 저작일
- 2020.05
- 7페이지/ MS 워드
- 가격 2,000원
목차
Ⅰ. Linux Scheduling
1. 기본 원리
2. 스케쥴링 시 고려사항
3. 스케쥴링 알고리즘
4. CFS 스케쥴링
Ⅱ. Window Scheduling
1. 기본 원리
2. 스케쥴링 시 고려사항
3. 선점형 OS 알고리즘
4. 스케쥴링의 진행 시점
5. 우선순위
Ⅲ. 중간 과제를 마치고 느낀 점
본문내용
Chapter 1. Linux Process Scheduling.
Linux는 다중 프로세스처리 운영체제이다. Linux Kernel 2.6.23 버전부터 다양한 구조의 시스템을 효율적으로 지원하기 위해 스케쥴링이 적용된다.
1. Linux Scheduling 기본 원리
1-1. 시분할 Time Sharing
: 다중 프로그래밍 환경에서 CPU를 시간적으로 분할하여 쓰는 방식이다. Time quantum만큼 실행하고 끝나면 스케줄링한다. 실시간 대화형 시스템에 사용되며 사용자가 직접 명령하고 즉시 응답받을 수 있다.
1-2. 선점형 스케쥴링 preemptive scheduling
: 필요에 따라 실행 중인 프로세스를 중단하고 새로운 프로세스를 실행한다. 프로세스의 CPU 독점을 막고 대기중인 프로세스에 기회를 준다. 다만 문맥교환의 오버헤드가 자주 일어나므로 적절한 타임 슬라이스가 필요하다.
1-3. 우선순위 기반 Priority-based
: 정적 우선순위와 동적 우선순위가 있다. 전자는 실행 시 결정하는 것이고, 후자는 런타임을 감시하면서 변동한다.
1-4. 스케쥴링 정책 : 스케쥴링 동작을 구현할 때 프로세스를 선택하는 규칙이다.
2. 스케쥴링 시 고려사항
2-1. 프로세스 우선순위 (nice)
: 유저 공간에서 설정한 프로세스 실행의 우선순위를 의미한다, nice범위는 (-20~+19, 기본값:0) 인데 커널 공간에서 100~139 사이 값으로 변환하여 관리한다. Nice 값이 작을수록 동적 우선 순위에서 높은 우선순위와 큰 타임 슬라이스를 가진다.
우선 순위 별로 RT 프로세스와 일반 프로세스로 분류할 수 있다.
참고 자료
없음