본문 바로가기

운영체제 정리

쉽게 배우는 운영체제 챕터별 연습문제 및 심화문제 정리 [PART 3, PART 4]

이전 글: 2021/01/11 - [운영체제 정리] - 쉽게 배우는 운영체제 챕터별 연습문제 및 심화문제 정리 [PART 1, PART 2]

Chapter 7

 

[연습문제]

1. 소스코드를 한 번에 번역하지 않고 한 행씩 번역하여 실행하는 방식을 무엇이라 하는가?

2. 프로그래머가 C나 자바로 소스코드를 작성하여 컴파일하면 일차적으로 만들어지는 코드는 무엇인가?

3. 컴파일할 때 코드에 라이브러리를 연결하지 않고 코드를 실행할 때 라이브러리를 가져와 실행하는 방식을 무엇이라 하는가?

4. 메모리 관리 정책 중 메모리가 꽉 찼을 때 메모리에 있는 어떤 프로세스를 내보낼지 결정하는 것은 무엇인가?

5. 32bit CPU를 사용하는 컴퓨터가 가질 수 있는 물리 메모리의 최대 크기는 얼마인가?

6. 절대 주소는 실제 물리 주소로, 메모리 관리자 입장에서 바라본 주소이다. 절대 주소와 관계 없이 사용자 입장에서 항상 0번지부터 시작하는 주소는 무엇인가?

7. 상대 주소를 절대 주소로 변환할 때 사용하는 레지스터는 무엇인가?

8. 프로세스의 크기가 물리 메모리보다 클 때 전체 프로세스를 메모리로 가져오는 대신 적당한 크기로 잘라서 가져오는 기법은 무엇인가?

9. 메모리 영역이 부족해서 쫓겨난 프로세스를 보관하는 저장장치의 특별한 공간은 무엇인가?

10. 가변 분할 방식에서 사용하지 못하는 작은 메모리 공간이 발생하는 현상을 무엇이라 하는가?

11. 고정 분할 방식에서 똑같이 나누어진 메모리 공간에 작은 조각이 발생하는 현상을 무엇이라 하는가?

 

12. 가변 분할 방식의 메모리 배치 방식 중 프로세스를 배치하기에 적당한 공간 가운데 가장 작은 공간에 배치하는 방식은 무엇인가?

 

13. 가변 분할 방식의 메모리 배치 방식 중 첫 번째로 발견한 빈 공간에 프로세스를 배치하는 방식은 무엇인가?

14. 가변 분할 방식의 메모리 배치 방식 중 가장 큰 공간에 프로세스를 배치하는 방식은 무엇인가?

15. 가변 분할 방식에서 서로 떨어진 여러 개의 빈 공간을 합치는 작업을 무엇이라 하는가?

16. 메모리 분할 방식 중 프로세스의 크기에 맞도록 1/2 크기로 잘라가면서 메모리를 나누어주는 방식은 무엇인가?

 

 

[심화문제]

1. 컴파일러와 인터프리터를 비교하여 설명하시오

2. 컴파일 과정에 대해 설명하시오

3. 메모리 관리자가 수행하는 세 가지 작업에 대해 설명하시오

4. 절대 주소와 상대 주소에 대해 설명하시오

5. 가변 분할 방식의 장단점을 설명하시오

6. 고정 분할 방식의 장단점을 설명하시오

7. 버디 시스템에 대해 설명하시오

 

 

Chapter 8

 

[연습문제]

 

1. 가상 메모리에서 메모리 관리자가 사용할 수 있는 전체 크기는 어떻게 결정되는가?

 

2. 가상 주소에서 하나의 프로세스가 사용할 수 있는 최대 주소는 무엇과 연관이 있는가?

 

3. 가상 메모리에서 가상 주소를 물리 주소로 변환하기 위해 사용하는 자료 구조를 무엇이라 하는가?

 

4. 페이징 기법의 주소 변환 과정 식을 쓰시오

 

5. 페이지 테이블에서 각각의 한 줄을 무엇이라 하는가?

 

6. 가상 주소를 <P,D>로 변환하는 공식을 쓰시오

 

7. 각 페이지 테이블의 시작 주소를 가지고 있는 레지스터는 무엇인가?

 

8. 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 스왑 영역에 저장하고 그중 일부만 물리 메모리에 무작위로 가지고 있는 방식은 무엇인가?

 

9. 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 물리 메모리에 보관하는 방식은 무엇인가?

 

 

10. 페이지 테이블 매핑 방식 중, 모든 페이지 테이블을 스왑 영역에 저장하고 페이지 테이블을 일정한 집합 단위로 물리 메모리에 보관하는 방식은 무엇인가?

 

 

11. 페이지 테이블 매핑 방식 중, 물리 메모리의 프레임 번호를 기준으로 테이블을 구성하는 방식은 무엇인가?

 

12. 연관 매핑에서 사용하는 테이블의 이름은 무엇인가?

 

13. 연관 매핑에서 원하는 데이터가 변환 색인 버퍼에 없는 상태를 무엇이라 하는가?

 

14. 연관 매핑에서는 전체 매핑 테이블을 어디에 보관하는가?

 

15. 가상 메모리에서 메모리 관리자는 물리 메모리 영역과 스왑 영역을 합쳐서 프로세스가 사용하는 가상 주소를 실제 메모리의 물리 주소로 변환한다. 이러한 작업을 무엇이라 하는가?

 

16. 사용자 프로세스가 자신의 크기보다 더 큰 주소에 접근하려고 하면 메모리 관리자는 그 프로세스를 강제 종료한다. 이때 발생하는 오류를 무엇이라 하는가?

 

17. 세그먼테이션-페이징 혼용 기법에서는 접근 권한을 어디에서 관리하는가?

 

[심화문제]

 

1. 가상 메모리가 이론적으로 가질 수 있는 크기와 실제 운영되는 크기는 어떤 차이가 있는지 설명하시오

 

2. 페이징 기법의 주소 변환 과정을 그림으로 그리고 설명하시오

 

3. 연관 매핑의 동작을 설명하시오

 

4. 집합-연관 매핑의 동작을 설명하시오

 

5. 역매핑의 동작을 설명하시오

 

6. 세그먼테이션-페이징 혼용 기법을 사용하는 이유를 설명하시오

 

 

Chapter 9

[연습문제]

1. 메모리 가져오기 정책 중, 사용자가 요구할 때 해당 페이지를 메모리로 가져오는 방식은 무엇인가?

 

2. 요구 페이징과 반대로 앞으로 필요할 것이라고 예상되는 페이지를 미리 가져오는 방식은 무엇인가?

 

3. 페이지 테이블 엔트리의 구조 중, 페이지가 실제 메모리에 있는지 나타내는 비트는 무엇인가?

 

4. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 올라온 후 사용한 적이 있는지 알려주는 비트는 무엇인가?

 

5. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 올라온 후 데이터의 변경이 있었는지 알려주는 비트는 무엇인가?

 

6. 프로세스가 페이지를 요청했을 때 해당 페이지가 메모리에 없는 상황을 무엇이라 하는가?

 

7. 기억장치에 접근하는 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되어 있는 성질을 무엇이라 하는가?

 

8. 처음으로 메모링 올라온 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

 

 

9. 미래의 접근 패턴을 기준으로 대상 페이지를 선정하여 스왑 영역으로 보내는 방식으로, 실제로 구현이 불가능한 페이지 교체 알고리즘은 무엇인가?

 

 

10. 시간적으로 멀리 떨어진 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

 

11. 사용 빈도가 적은 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

 

12. 최근에 사용한 적이 없는 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

 

13. FIFO 변형 페이지 교체 알고리즘 중, 성공한 페이지를 큐의 맨 뒤로 옮김으로써 기회를 한번 더 주는 페이지 교체 알고리즘은 무엇인가?

 

14. FIFO 변형 페이지 교체 알고리즘 중, 대상 페이지를 가리키는 포인터를 사용하여 포인터가 큐의 맨 바닥으로 내려가면 다음에 다시 큐의 처음을 가리키게 하는 페이지 교체 알고리즘은 무엇인가?

 

15. 하드디스크의 입출력이 많아져서 잦은 페이지 부재로 작업이 거의 멈춰버린 상태를 무엇이라 하는가?

 

16. 동적 프레임 할당 방식 중, 최근 일정 시간 동안 참조된 페이지를 집합으로 유지하고 이 집합에 있는 페이지들을 물리 메모리에 유지하는 것은 무엇인가?

 

17. 동적 프레임 할당 방식 중, 페이지 부재 비율을 상한선과 하한선을 설정하고 페이지 부재 비율이 상한선을 초과하면 할당 프레임을 늘려주는 것은 무엇인가?

 

[심화문제]

1. 요구 페이징의 의미와 효과를 설명하시오

 

2. 세그먼테이션 오류와 페이지 부재의 차이를 설명하시오

 

3. 지역성의 의미를 설명하시오

 

4. LRU 페이지 교체 알고리즘의 동작을 설명하시오

 

5. NUR 페이지 교체 알고리즘의 동작을 설명하시오

 

6. 프레임 할당 방식 중 정적 할당에 대해 설명하시오

 

7. 프레임 할당 방식 중 동적 할당에 대해 설명하시오