운영체제_메모리 관리_세그먼테이션

미뇽·2024년 6월 8일
0

운영체제(강의)

목록 보기
24/43
post-thumbnail

세그먼테이션

  • 사용자 프로그램은 세그먼테이션 기법을 이용하여 프로그램과 그와 관련된 데이터들이 세그먼트로 나뉘어질 수 있음.
  • 프로그래머가 각 세그먼트를 지정 가능
  • 프로세스가 메모리로 적재될 경우 프로세스의 모든 세그먼트가 사용가능한 메모리 영역에 할당되어지고 그에 따라 세그먼트 테이블아
  • 세그먼트의 길이는 유동적이며 최대 길이는 제한이 있음.
    - 유동적이기 때문에 동적 분할과 유사한 성격을 띰.
    - 하지만 주요한 차이점은 세그먼테이션의 경우 프로그램이 하나 이상의 파티션을 차지할 수 있고 이 파티션들이 연속적일 필요가 없다.
  • 동적 할당 기법과 마찬가지로 외부단편화를 초래하지만 프로세스가 보다 작은 크기의 여러 조각으로 나누어지기 때문에 외부 단편화가 상대적으로 적음
  • 물리주소와 논리주소 간에 복잡한 관계가 존재
    - 각 프로세스마다 세그먼트 테이블을 이용
    - 주기억장치의 사용 가능한 블록들의 리스트 유지

메모리 분할 방법 정리

기술설명강점약점
고정 분한시스템 생성 시에 주기억장치가 고정된 파티션들로 분할됨
프로세스는 균등사이즈의 파티션 또는 그보다 큰 파티션으로 적재됨
구현이 간단함
운영체제에 오버헤드가 거의 없음
내부단편화로 인한 비효율적인 사용
최대 활성 프로세스의 수가 고정됨
동적 분할파티션들이 동적으로 생성되며, 각 프로세스는 자신의 크기와 일치하는 크기의 파티션에 적재됨내부단편화가 없고 주기억장치를 보다 효율적으로 사용할 수 있음외부 단편화를 해결하기 위한 메모리 집약(compaction)이 요구됨. 따라서 처리기 효율이 나빠짐
단순 페이징주기억장치는 균등사이즈의 프레임으로 나뉨. 각 프로세스는 프레임들과 같은 길이를 가진 균등 페이지들로 나뉨. 프로세스의 모든 페이지가 적재되어야 하며 이 페이지를 저장하는 프레임들은 연속적일 필요X외부 단편화가 없음적은 양의 내부 단편화가 생김
단순 세그먼테이션각 프로세스는 여러 세그먼트로 나뉨. 프로세스의 모든 세그먼트가 적재되어야 하며 이 세그먼트를 저장하는 동적 파티션들은 연속적일 필요는 X내부단편화가 없고 메모리 사용 효율이 개선되며, 동적분할에 비해서 오버헤드가 적음외부단편화
가상 메모리 페이징단순 페이징과 비교해서 프로세스의 페이지 전부를 전부 로드시킬 필요가 없음. 필요한 페이지가 있으면 후에 자동적으로 불러옴외부단편화가 없음
멀티 프로그래밍 정도가 높으며 가상 주소 공간이 큼
복잡한 메모리 관리의 오버헤드
가상 메모리 세그먼테이션단순 세그먼테이션과 비교해서 필요하지 않은 세그먼트들을 로드하지 않음. 필요한 세그먼트가 있으면 나중에 자동적으로 불려들여짐내부단편화가 없음
높은 수준의 멀티 프로그래밍
큰 가상 주소, 보호와 공유 지원
복잡한 메모리 관리의 오버헤드
profile
문이과 통합형 인재(人災)

0개의 댓글