inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

그림으로 쉽게 배우는 운영체제

세그멘테이션(배치정책)

여러 의문점

63

넘블

작성한 질문수 19

1

의문점이 많네요...


CPU가 MMU에게 논리주소를 전달
-> 몇 번 세그먼트 인지 알아냄
-> MMU내의 세그먼트 테이블 베이스 레지스터를 이용해 메모리 내에 있는 세그멘테이션 테이블을 찾음

 

이 과정인데, 의문점은

  1. MMU에서 몇 번 세그먼트인지 어떻게 알아내는가?
    ( 몇 번 세그먼트에서 '몇 번'이라는게 애초에 무엇을 의미하나요?
    힙, 스택, 데이터, 코드 각 영역을 개별의 세그먼트로 인식하는데, 프로세스가 여러개니 말 그대로 여러 영역을 나열했을 때 n번에 해당하는 것을 의미하는건가요?


    아니면 각 프로세스의 모듈중 n번째를 의미하는 건가요?

  2. MMU내의 세그먼트 테이블 베이스 레지스터는 CPU옆에 위치하나요?
    -> MMU는 어디에 있는걸까요?

     

  3. 컨텍스트 스위칭 할 때마다 세그먼트 테이블 베이스 레지스터를 해당 프로세스의 것으로 바꿔준다고 하셨는데 무슨 값인지 어떻게 알고 바꿔주나요? PCB에 있나요? ( '바꿔주는 값'은 자신의 세그먼트 테이블은 메모리의 n번지에 있음을 나타내는 값인가요? )
    -> 세그멘테이션 테이블은 프로세스마다 개별로 존재하는지?

 

추가로 예시로 들어주신거에서 "CPU에서 세그먼트 1번이 632번지로 접근한다고 가정" 이 문장이 이해가 잘 안가네요
CPU가 논리주소 632번지로 접근한다고 하는것과 뭐가 다른건가요?

운영체제

답변 1

0

감자

안녕하세요 넘블님!
바로 답변드리겠습니다.😊

  1. MMU에서 몇 번 세그먼트인지 어떻게 알아내는가?
    MMU가 몇 번 세그먼트인지 알아내는 것은 CPU에서 들어오는 논리주소를 2차원적으로 해석합니다.
    논리주소의 앞에 n번째 필드를 몇 번 세그먼트인지, 나머지는 해당 세그먼트에서 offset을 나타냅니다.

  2. MMU내의 세그먼트 테이블 베이스 레지스터는 CPU옆에 위치하나요?
    -> MMU는 어디에 있는걸까요?

     
    보통 세그먼트 테이블 베이스 레지스터와 MMU는 CPU내부에 존재합니다.(경우에 따라 가까이 있는 다른 하드웨어)

  3. 컨텍스트 스위칭 할 때마다 세그먼트 테이블 베이스 레지스터를 해당 프로세스의 것으로 바꿔준다고 하셨는데 무슨 값인지 어떻게 알고 바꿔주나요? PCB에 있나요? ( '바꿔주는 값'은 자신의 세그먼트 테이블은 메모리의 n번지에 있음을 나타내는 값인가요? )
    네 맞습니다. 컨텍스트 스위칭할 때 현재 레지스터 값, 스케줄링 정보, 메모리 관련 정보(세그먼트 테이블 베이스)등을 저장합니다.
    -> 세그멘테이션 테이블은 프로세스마다 개별로 존재하는지?
    네 맞습니다.

  4. 추가로 예시로 들어주신거에서 "CPU에서 세그먼트 1번이 632번지로 접근한다고 가정" 이 문장이 이해가 잘 안가네요
    CPU가 논리주소 632번지로 접근한다고 하는것과 뭐가 다른건가요?
    CPU에서 세그먼트 1번이 632번지로 가정이라는 것은 실제로 전달된 주소는 (세그먼트 = 1, 오프셋 = 0x632)라는 것입니다.
    영상에선 이 부분이 생략되어서 이해가 잘 안되셨던 것 같습니다.
    더 자세하기 설명드렸어야 했는데 부족했던 것 같습니다.🙇‍♂

     

궁금증이 해결되셨나요? 😊


0

넘블

아 이해가 됐습니다
친절한 답변 감사드립니다!!

CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.

1

57

2

CPU Bound Process와 sleep, yield에 대해

1

59

1

커널과 인터페이스 개념

1

64

2

exit() 함수

0

154

2

LRU 관련 질문

1

182

2

고정 분할 방식도 연속 할당으로 알고 있는데 애니메이션이 다소 헷갈립니다.

0

115

2

Swapping, Manual Overlay, Dynamic Loading, Dynamic Linking의 개념이 헷갈립니다

0

147

2

각 메모리의 최대 요구 CPU 리소스는 어떻게 아나요?

1

165

2

PCB들이 연결리스트로 저장되는 이유가 뭔가요?

1

127

2

IPC 방식 중 매개체가 파일과 메모리일 때 할당되는 용량의 차이

0

116

2

고정 분할 방식에 질문입니다

0

120

2

세마포어에 관련해 질문입니다

1

144

2

IPC 통신 중 파일을 이용한 방법이 정확히 어떤 건가요?

0

151

1

공유자원과 동기화 문제에 관해서 질문이 있습니다.

0

152

2

FIFO 알고리즘에 대해서 질문이 있습니다.

1

128

2

멀티프로그래밍, 멀티 태스킹, 멀티 프로세싱

1

163

1

새로 올라온 영상에서 스와핑 언급이 빠졌는데

1

80

2

유니프로그래밍과 멀티프로세싱이 어떻게 공존할 수 있는 건가요?

3

173

2

인터럽트에 대해 질문 드립니다.

1

93

2

수업 노트 설명에 대해 이해가 안가는 부분이 있어 질문 드립니다.

0

112

2

3:59초에 대해서 궁금해요!

0

117

2

실무적으로 궁금한게 있습니다ㅠ

0

94

1

완강을 해보니 오히려 더 궁금한게 많아지네요

1

165

2

파일디스크립터 질문드려요.

0

126

2