segmentation기법의 이점
physical memeory 변환 기법에 대해 공부하다가 segmentation에서 좀 이해되지 않는 부분이 있는데요.
제가 이해한 바로는
1) 정적인 크기로 물리 메모리를 할당하다 보니까 internal fragment가 너무 많아지는 문제점을 발견하여 segmentation기법을 생각해내었고
2) 그 기법은 한 프로세스를 위한 가상 주소들을 세그먼트 영역으로 쪼개서 base reg + offset을 더해서 물리주소로 맵핑해주는 것이죠.
결과적으로 보면 각 프로세스 당 사용된 메모리 크기가 달라지는(가변적인 사이즈), 좀 더 최적화된 메모리 할당이 가능해졌습니다.
그런데 좀 더 컴파일 과정을 고려해보면 세그먼트 영역 중 정적으로 결정되는 영역은 코드영역 외에 더 있을까요? 힙 영역은 당연히 정적으로 결정될 수 없는 크기이고 스택 역시, branch사용으로 run time시에 바뀔 수 있습니다.
실행 시에 어차피 memeory transition이 발생하는 거니까 무슨 상관이냐라고 할 수 있겠지만 세그먼트 기법은 각 세그먼트의 베이스 주소가 결정된 채로 맵핑이 되는 것인데, 이때 각 영역 간 충돌이 발생하지 않도록 bound reg를 놓는 것이고요.
정리해서 말하자면 영역 당 bound를 두겠다는 건 사용할지 안할지는 모르겠지만 base ~ bound(size가 아닌 주소인 경우)까지는 같은 프로세스의 다른 세그먼트가 또는 다른 프로세스에서 이 범위를 사용하지 못하게 하는 거 잖아요.
그러면 정말로 세그먼트 기법의 목적과 맞는 구현 방식인 건가요? 제가 보기엔 세그먼트 영역 당 정적 크기로 분리하고 그 영역 내에서 물리 주소로 맵핑해주는 것 같은데..
가변적 크기로 할당해준다라는 말이 정말로 성립될 수 있는 것인지 혼란스럽습니다.
참고해보세요.
찾아보니. 찾으시는 몇몇 단어와 내용이 보이네요. ㅇ_ㅇ;;
제가 30분 정도... 대충 본 바로는. ㅡ_ㅡ;; 그냥. 느낌만 적어봅니다.
- L2 Step인 경우. 가상 주소에 Offset으로 위치를 추가. 로지컬과 물리영역에서 접근 처리.
- 세그먼트는 주소 곁에서. 새도로명 주소영역 알림. 같은 역할을 하는거 같습니다.
Page sizes supported (KB)의 크기가 Boundary 같네요.
Master/section 1MB level1
Fine 1 4 64 Level2
Coarse 4 64 Level2
유투브 동영상 설명이 있네요.
segmentation physical memeory
https://www.google.com/search?biw=1252&bih=804&tbm=vid&ei=ojXwWrLPKsH20ATwq7XYCw&q=segmentation+physical+memeory+&oq=segmentation+physical+memeory+&gs_l=psy-ab.3...24639.25356.0.26184.2.2.0.0.0.0.177.323.0j2.2.0....0...1c.1.64.psy-ab..0.1.144...0.0.Zqe_uns8Jik
https://www.youtube.com/watch?v=RWq5_nH3d1U
https://www.youtube.com/watch?v=E7XQesMS0bg
https://www.youtube.com/watch?v=grNk8i9RrKQ
공개 소프트웨어 강좌
http://olc.kr/main/index.jsp
네이버 책 - segmentation memory
http://book.naver.com/search/search.nhn?sm=sta_hty.book&sug=&where=nexearch&query=segmentation+memory
segmentation memory
https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=segmentation+memory&oquery=segmentation+memeory&tqi=TYs8SspVuERssZ3%2FgNRssssssSd-006848
https://blog.naver.com/seriousboy_/70052180354
http://iamflower.tistory.com/9
https://blog.naver.com/klp0712/220848201156
http://egloos.zum.com/anster/v/2138204
https://blog.naver.com/ending56/220375592477
https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10601&docId=65630205&qb=c2VnbWVudGF0aW9uIG1lbW9yeQ==&enc=utf8§ion=kin&rank=1&search_sort=0&spq=1
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기