페이징과 a.out 관계
글쓴이: mirth81 / 작성시간: 화, 2009/03/03 - 1:06오후
제가 요즘 리눅스 커널의 이해 책을 보면서 커널을 공부하고 있는데요, 2장에서 벌써 막혀서 진도가 잘 안 나가네요.
이제 대충 세그멘테이션과 페이징을 조금 이해하겠는데(아직도 책을 앞뒤로 계속 봐야하긴 하지만요). 그건 그렇구요 요즘 하도 웹을 들락거리면서 여러 파일을 읽었더니 최근 봤던 글을 도대체 찾을 수가 없어서 질문 올립니다.
몇일 전에 대충 보고 넘겼던 글중에 사용자 프로그램이 페이징되는 구조를 봤었는데요, 데이터 영역에 뭐가 들어가고 스택 영역에는 또 뭐가 들어가고 코드 부분도 그렇고, 이런식으로 정리가 잘되어 있었던거 같아요. 근데, 커널 보면서 어셈블리도 같이 보는데, 이 구조가 a.out 파일과 매우 비슷했었다는 기억이 나서 찾아보는데 도대체 찾을 수가 없더라구요. 그때는 페이징인지 세그멘테이션인지를 마구 찾아 헤메다가 읽었서 대충 읽고 지나갔는데, 지금 어셈블리를 보는데 인자를 5개 이상 사용할 때 스택 영역에서 거꾸로 인자를 넘기면 된다는 부분을 보니 예전에 봤던 포스트가 생각나더군요.
거기보니 스택 영역은 거꾸로 저장되고 뭐 이런내용이 있었거든요.
혹시 해당 포스트나 사용자 프로세스에 실행 파일이 적재되는 내용이 잘 설명된 포스트 링크를 알고 계신분 답변글로 좀 붙여주세요 ^^/
Forums:
댓글 달기