티스토리 뷰

파란색은 개인적으로 작성한 풀이이고, 빨간색 풀이와는 관련이 없습니다.

 

 

연습문제

  1. 컴퓨터 시스템에서 메모리 계층 구조를 이루는 근본 이유는 무엇인가?
    ① CPU의 메모리 액세스 속도를 높이기 위해
  2. 메모리 계층화가 성공적인 이유는?
    ① 참조의 지역성 때문
  3. 메모리 계층 구조에서 가장 빠른 메모리는?
    ③ CPU 내부에 있는 캐시 메모리
  4. 메모리 계층 구조를 구성하는 기억 장치들의 특징으로 틀린 것은?
    ① 용량이 클수록 속도도 빠르다.
  5. 다음 문장의 빈 곳에 보기 중에서 적절한 단어를 삽입하여 문장을 완성하라.
    논리주소
    는 개발자나 프로그램에서 사용하는 주소로 0번지부터 시작되고 연속된다. CPU는
    논리주소
    물리주소
    로 변환하는
    MMU
    를 내장하고 있다. CPU의 PC(Program Counter) 레지스터에 들어 있는 주소는
    논리주소
    이다. 시스템 버스를 통해 전달되는 주소는
    물리주소
    이고 그 범위는 CPU의
    주소버스
    의 크기에 달려있다. 개발자나 응용프로그램에서는 작성된 코드의
    논리주소
    는 알 수 있으나
    물리주소
    는 알 수 없다.
  6. 운영체제의 메모리 관리 목표에 해당하지 않는 것은?
    ① 메모리를 연속적으로 할당함으로써 프로세스의 실행 성능 향상
  7. 논리 주소에 대해 잘못 설명한 것은?
    ③ CPU의 PC 레지스터에는 다음에 액세스할 명령의 주소가 들어 있는데 이 주소는 물리 주소이다.
  8. 물리 주소에 대한 설명으로 잘못된 것은?
    ③ 커널 코드는 물리 주소만 사용한다. 왜냐하면 커널 코드의 빠른 실행을 위해 논리 주소를 물리 주소로 바꾸는 시간을 없애기 위해서이다.
  9. 다음 프로그램은 C언어에서 100바이트의 메모리를 동적 할당 받는 코드이다. 포인터 변수 p에는 동적 할당받은 메모리의 주소가 들어 있다. 포인터 변수 p에 들어 있는 주소는 무슨 주소인가?
    ① 논리 주소
  10. 다음 중 절대 주소 300번지는?
    ② CPU 패키지를 통해 출력된 주소 300이 주소 버스를 타고 메모리 장치에 도달하였다.
  11. 비주얼 스튜디오를 이용하여 C 응용프로그램을 작성하고 컴파일하였다. 응용프로그램 내에 선언된 변수 n의 절대주소를 알 수 있는 존재는?
    ④ 위의 어떤 것도 알 수 없다.
  12. 연속 메모리 할당이 분할 메모리 할당보다 나은 면은?
    ④ 메모리를 연속적으로 할당하여 메모리 낭비 최소화
  13. 분할 메모리 할당은 연속 메모리 할당의 어떤 면을 개성하기 위한 것인가?
    ④ 메모리에 빈 영역이 많이 산재되어 있을에도 불구하고 프로세스를 적재할 수 없는 메모리 할당의 경직성을 극복하기 위해
  14. 다음 중 내부 단편화가 발생하는 것을 모두 골라라?
    ① 페이징, ③ 고정 크기 연속 메모리 할당
  15. 세그먼테이션과 페이징에 대해 잘못 설명한 것은?
    ? 아직 모르겠음
  16. 홀 선택 알고리즘 중 요청하는 메모리 크기를 수용하는 홀(비어 있는 메모리 공간) 중 가장 작은 홀을 선택하는 알고리즘은 무엇인가?
    ② best-fit
  17. 홀 선택 알고리즘은 메모리의 홀(비어 있는 메모리 공간) 중에서 선택하여 요청된 메모리를 할당한다. 요청 크기와 홀의 크기가 같지 않는 경우 할당된 홀에 새로운 홀이 생기게 된다. 이 때 보기 중에서 가장 큰 홀이 만들어지는 알고리즘은 무엇인가?
    ③ worst-fit
  18. 세그먼테이션 메모리 관리 기법에서 세그먼트 테이블의 항목은 어떤 정보로 구성되는가?
    ① 세그먼트 번호와 세그먼트의 물리 주소
  19. 세그럼테이션 메모리 관리 기법에서 세그먼트 테이블의 항목에는 세그먼트의 크기 정보가 저장된다. 이것은 어떤 목적으로 사용되는가?
    ④ CPU에 의해 발생된 논리 주소가 세그먼트가 할당된 물리 메모리의 영역을 넘어섰는지 판다하기 위해
  20. 현대의 컴퓨터에서 CPU 패키지 안에 들어 있지 않는 것은?
    ④ SSD

복합문제

  1. CPU 캐시 메모리는 크기가 작기 때문에 당장 실행할 프로그램의 코드와 데이터 일부분만 둘 수밖에 없다. CPU가 캐시 메모리에 적재된 코드를 실행하고 나면, 다음 코드나 데이터가 캐시로 복사되는 동안 CPU는 기다려야 한다. CPU의 기다리는 시간이 길거나 캐시로 복사되는 횟수가 잦다면, 캐시가 아무리 빠른들 CPU의 대기 시간이 길어져서 ㅡ로그램의 실행 성능이 좋아질 수 있는지 의문이 든다. 그럼에도 불구하고 캐시를 사용하면 프로그램의 실행 성능이 좋아지는 이유는 무엇인가?
    참조의 지역성 때문이다. 참조이ㅡ 지역성이란 코드나 데이터, 자원 등이 아주 짧은 시간 내에 다시 사용되는 프로그램의 특성이다. 참조의 지역성에 의해 상대적으로 빠른 캐시를 이용함으로써 얻는 이윽이 캐시를 다시 채우기 위해 CPU가 대기하는 손해보다 훨씬 크기 때문이다.
  2. 컴퓨터 시스템에서 논리 주소와 물리 주소를 두고 논리 주소를 물리 주소로 바꾸어 메모리를 액세스한다. 이렇게 하면 주소 변환에 따른 시간이 소모되는데 왜 이런 식으로 설계되어 있는지 이유를 설명하라.
    CPU, 개발자, 컴파일러, 운영체제 등의 관점에서 물리주소가 아닌 논리 주소를 이용할 수 있다는 점은 다른 프로세스의 물리 메모리 적재 상태에 관한 고려가 필요가 없어지기 때문이다. 즉 같은 프로그램이 실행될 때 마다, 다른 번지의 물리 메모리에 적재해도 문제가 발생하지 않고, 컴파일러와 개발자는 프로그램이 ㅜㄹ리 메모리의 몇번지에 적재될지 몰라도 상관없게 되었다.
  3. 다음은 메모리 계층 구조를 보여준다. 프로그램이 실행되기 위해 보조 기억 장치에 저장된 실행 파일의 코드와 데이터가 메모리 계층 구조에서 이동하는 과정을 그리고 설명하라.
    1) 프로그램 적재
    2) 프로세스 일부분 복사
    3) 코드와 데이터 일부분 복사
    4) CPU가 레지스터를 통해 연산
  4. 연속 메모리 할당 기법 중 가변 메모리 할당 기법을 사용하는 운영체제가 있다고 할 때 현재 메모리의 할당 상황은 그림과 같다. 그림에서 흰색으로 비어있는 부분이 할당되지 않은 빈 메모리(홀)이며 적힌 숫자는 홀의 크기이다.
    (1) 이때 운영체제가 2KB의 메모리 할당을 요청받았다면, firt-fit, best-fit, worst-fit 알고리즘을 각각 사용하였을 경우 빈 메모리 영역 중 어느 영역에 메모리를 할당할 것인지 그림에 표시하라.
    first-fit: 3KB, best-fit: 2.2KB, worst-fit: 8KB
    (2) 운영체제가 best-fit 알고리즘으로 2KB의 메모리를 할당하고 나서 생기는 새로운 홀의 크기는 얼마인가?
    0.2KB
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함