세그멘테이션 테이블 질문
191
작성한 질문수 43
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
1:30에서 cpu가 논리주소 0x123번지의 물리 메모리 주소 알려달라고 했을때, 메모리 관리자는 몇 번 세그먼트인지 어떻게 알아내는 걸까요?
세그멘테이션 테이블에서 세그먼트 번호들은 프로그램 영역(코드, 힙, 데이터, 라이브러리, 스택) 마다 별도의 인덱스가 부여 되어 관리되는걸까요? 어떤 기준으로 세그먼트 인덱스가 정해지는 것인지 궁금합니다.
0:40에서 프로그램 관점 메모리와 프로세스 관점 메모리
프로세스 관점 메모리가 각 영역을 서로 인접한 것처럼 바라본다는 것이 어떤 의미일까요?
프로그램 입장에서 바라보는 메모리와 프로세스가 바라보는 메모리에 대한 설명을 해주셨는데요. 강의 1:30부터 세그멘테이션 테이블을 이용하여 메모리관리자가 논리주소를 물리주소로 변환하는 것과 어떠한 맥락으로 이어지는지 궁금합니다.
답변 1
0
안녕하세요 박호정님!
1. 논리 주소를 보고 어떤 세그먼트인지 알아냅니다. 논리주소의 앞부분 n개를 기준으로 이 주소가 코드, 데이터, 스택등에 있는지 구분합니다. 여기서 n개는 cpu가 몇비트인지에 따라 달라질 수 있습니다.
2. 네 맞습니다. 프로그램 영역마다 별도로 부여됩니다. 세그먼트는 메모리의 속성에 따라 나눕니다. 메모리의 속성이란 해당 메모리가 ReadOnly인지, ReadWrite인지, 또 다른 프로세스와 공유가 가능해야하는지 등이 있습니다.
3.
a. 사용자는 프로그램을 연속된 배열로 생각하지 않고 함수, 자료구조 등으로 생각합니다. 반면 프로세스는 코드, 데이터, 스택등을 연속된 배열로 생각합니다.
b. 만약 사용자가 변수에 접근한다면 이 변수는 데이터, 스택, 힙 영역중에 존재할겁니다. 이 변수를 temp라고 한다면 사용자는 temp에 접근하지만 이는 프로세스 입장에서 논리적 주소로 변환됩니다. 그다음 MMU릉 통해 물리적 주소로 변환됩니다.
0
다른 영역의 끝이 서로 연결되어 있는 것 처럼 느껴지는 겁니다.
코드 영역의 끝에서 +1만큼 이동하면 데이터 영역에 접근하기 때문에 마치 메모리에 연속으로 위치한 것 처럼 느껴집니다!
여러 의문점
1
63
1
CPU 스케줄링 RR 강의 2:54에서 질문 있습니다.
1
57
2
CPU Bound Process와 sleep, yield에 대해
1
60
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
167
2
PCB들이 연결리스트로 저장되는 이유가 뭔가요?
1
127
2
IPC 방식 중 매개체가 파일과 메모리일 때 할당되는 용량의 차이
0
117
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
115
2
3:59초에 대해서 궁금해요!
0
118
2
실무적으로 궁금한게 있습니다ㅠ
0
96
1
완강을 해보니 오히려 더 궁금한게 많아지네요
1
167
2





