CS 전공지식 스터디 미션 02
1개월 전
CS 전공지식 스터디 미션 02
운영체제
1. FIFO 스케줄링의 장단점?
장점: 단순하고 직관적 (먼저 온 프로세스가 먼저)
단점: 먼저 들어온 프로세스의 작업이 다 끝나야 다음 작업이 실행
2. SJF를 사용하기 어려운 이유?
Short Job First, 실행 시간이 짧은 프로세스만 실행되기 때문에 긴 작업들이 끝없이 미뤄지는 사태 발생
프로세스 종료 시간 예측 어려움
3. RR 스케줄링에서 타임 슬라이스가 아주 작으면 어떤 문제가 발생할까요?
컨텍스트 스위칭에 많은 시간이 할당되어, 오버헤드가 커짐
4. MLFQ에서 CPU Bound Process와 I/O Bound Process 구분법
스스로 CPU를 반납하면 CPU 사용률이 적은 것이니 I/O 바운드 프로세스일 확률이 높음 (CPU 사용률에 따라 구분)
5. 공유자원이란?
프로세스 간 통신을 할 때 공동으로 이용하는 파일
- 동기화 문제 발생 (동시에 실행됐을 때 발생)
6. 교착상태에 빠질 수 있는 조건?
(1) 상호배제 - 어떤 프로세스가 리소스를 차지하였다면 그 리소스는 다른 프로세스에 공유되어서는 안 됨
(2) 비선점 - 다른 프로세스가 리소스를 빼앗을 수 없어야 함
(3) 점유와 대기
(4) 원형대기 - 점유와 대기를 하는 프로세스들의 관계가 원형을 이루고 있음
알고리즘
1. 재귀함수에서 기저조건을 만들지 않거나 잘못 설정했을 때 발생하는 문제점?
함수가 무한히 실행되거나 의도치 않게 종료될 수 있음
2. 0부터 입력 n까지 홀수의 합을 더하는 재귀 함수 작성
function sumOdd(n) {
if(n%2 == 0) {
return sumOdd(n-1)
} else {
if(n==1) return 1;
return sumOdd(n-2)+n
}
}
console.log(sumOdd(10))
댓글을 작성해보세요.