inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

메모리(Code영역) 관련 질문

해결된 질문

235

전우형

작성한 질문수 14

1

안녕하세요. 감자선생님!

금일 작성한 질문 답변 감사합니다~

답변 확인중에 문득 떠오른게 있어, 새 게시글로 작성하였습니다.

 

[이전질문]

메모리 Code 영역에 프로그래머가 작성한 코드가 기계어로 올라가고

프로그램 실행 시, Code영역(메모리)에 실행에 필요한 부분만 올라가게됩니다.

여기까지 확인했습니다.

그리고 이전 질문 내용은

100번쨰 줄 : int a = 5;

101번쨰 줄: printf(a);

위 상황에서, 만약에 101번쨰줄 명령문 통째로 Rom에 저장되어있었으면

운영체제가 어떻게 알고 저 데이터를 불러(스왑)하는지? 질문드렸었는데요.

비유를 하면 요리 레시피가 1번 ~ 10번까지 적혀있는데 2번까지 순차적으로 요리 하다가

3번이 없어진 상황입니다.

(다음 실행할 명령 101번쨰줄에 해당하는 기게어가 Ram에 없으니 실행이 더 없는 상황)

[확인질문]

답변 주신 내용중에 "해당 코드는 메인메모리로 불러와서 실행해야겠죠? ㅎㅎ"

여기서 곰곰히 생각해보니, PCB에 프로그램 카운터가 있는게 떠올랐습니다!!!!!!!

그러면 이 프로그램 카운터에서 다음 실행할 명령 주소를 아니가 101번쨰에 해당하는 데이터(명령문)을

Rom에서 Ram으로 불러오는게 가능하다 라고 이해했는데 맞는지 확인 질문드립니다.

운영체제

답변 1

1

감자

네 맞습니다.

프로그램 카운터가 가리키는 주소의 명령어를 하나씩 읽다가 해당 모듈이 메모리에 로드되지 않았다면 스왑 영역(HDD, SSD)에 있는 해당 모듈을 메인메모리로 로드합니다 :)

1

전우형

감사합니다. 선생님~

좋은 밤 되세요!

여러 의문점

1

63

1

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

1

58

2

CPU Bound Process와 sleep, yield에 대해

1

62

1

커널과 인터페이스 개념

1

65

2

exit() 함수

0

155

2

LRU 관련 질문

1

182

2

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

0

115

2

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

0

147

2

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

1

167

2

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

1

127

2

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

0

118

2

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

0

120

2

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

1

144

2

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

0

152

1

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

0

153

2

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

1

128

2

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

1

163

1

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

1

81

2

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

3

173

2

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

1

93

2

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

0

116

2

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

0

120

2

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

0

97

1

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

1

168

2