목차
≪기억 장치≫
제1장. 메모리 시스템
제2장. 메모리 형태
제3장. 메인 메모리 시스템
제4장. 캐시 기억장치
제5장. 가상 메모리
참고문헌
제1장. 메모리 시스템
제2장. 메모리 형태
제3장. 메인 메모리 시스템
제4장. 캐시 기억장치
제5장. 가상 메모리
참고문헌
본문내용
페이지 프레임 번호로 사상할 수 있는 한 페이지를 보관하며 메인 메모리에 있는 데이터의 정확한 복사 이미지의 페이지로 타당한 페이지를 보관한다.
<그림38. TLB>
<그림39. 페이징 시스템의 구조>
페이지 시스템에서 CPU가 유효주소를 생성할 때마다 CPU는 TLB에 보낸다. 페이지 프레임 번호가 만들어지면 페이지 엔트리에 보관한다. 만약 TLB에 엔트리가 없다면 하드웨어는 페이지 테이블 오프셋으로 페이지 번호를 사용하여 메인 메모리에서 페이지 테이블을 조사한다. 만약 타당비트가 지시한 페이지가 메모리에 있다면 하드웨어는 메모리를 액세스하기 위하여 페이지 프레임 번호를 사용하고 동시에 페이지 테이블 엔트리를 TLB로 복사한다. 그렇지 않다면 하드웨어는 페이지 폴트(page fault)라고 불리는 트랩을 설정하고 운영체제는 메모리에서 요구페이지를 적재하기 위해 조정하고 페이지 테이블을 갱신한다. 참조의 지역성 원리 때문에 대부분의 프로그램들은 메모리 액세스가 이미 메모리에 있는 페이지를 참조하려는 경향이 있기 때문에 페이지 폴트는 아주 드문 현상이다. 이 현상이 성공적인 페이징 시스템의 중요한 요소이다.
<그림40. 페이지 폴트시 실행과정>
페이지 폴트가 발생하면 메인 메모리에 저장되어 있으면서 사용되지 않는 페이지를 제거하고 새로운 페이지로 바꾸는 행위를 페이지대치라고 한다.
교체할 페이지의 선정은 캐시에서처럼 중요한 문제이며, 또한 프로그램의 지역성을 고려해야 한다. 특히 메인 메모리는 캐시 기억장치보다 훨씬 더 크므로, 메인 메모리 안에 프로그램의 비교적 큰 부분을 적재하는 것이 가능하다. 이것은 보조 기억장치와의 전송 빈도를 줄일 수 있다.
◎ 세그먼테이션
세그먼테이션(Segmentation)은 기억 장치의 사용자 관점을 지원하는 기억 장치 관리 기법으로 논리 구조 공간을 세그먼트의 모임으로 인식한다. 이러한 세그먼트는 일반적으로 컴파일러(어셈블러)가 자동적으로 입력 프로그램(원시 프로그램)을 이용하여 작성한다.
1) 하드웨어
세그먼트 테이블의 논리 주소는 두 부분으로 구성된다. 즉, 세그먼트 번호 s와 그 세그먼트 내에서의 변위(offset) d로 구성된다. 세그먼트 번호 s는 세그먼트 테이블에 대한 색인으로 사용된다. 세그먼트 테이블의 각 항목은 세그먼트의 기준과 세그먼트의 한계를 가지고 있다. 논리 주소의 변위 d는 0과 세그먼트 한계 사이의 값이어야 한다. 그렇지 않을 경우에는 운영 체제로 넘어간다. 만일 이 변위가 합당하면 세그먼트 기준과 변위가 더해져서 원하는 워드에 대한 기억 장치 내에서의 실제 주소를 만들어 주게 된다. 그러므로 세그먼트 테이블은 기본적으로 기준/한계 레지스터의 쌍들로 이루어진 배열이다.
2) 세그먼트 번지 구성
다음은 1BM / 370에서 효율적인 번지를 구성한 예이다.
세그먼트 번호는 28이므로 256개의 세그먼트와 각각의 세그먼트는 216=64k길이로 구성된다.
<그림41. 세그먼트 번지>
예를 들어, 세그먼트 2는 400바이트의 길이로 4300번지에서 시작된다.
어떤 워드 53에의 접근은 4300+53=4353의 번지로 사상될 것이다. 세그먼트 3, 워드 852에 대한 접근은 3200+852=4052로 사상된다. 세그먼트 0의 워드 1222에 대한 참조인 경우에는 이 세그먼트가 1000바이트의 길이를 가지므로(초과됨) 운영체제로 넘어간다.
<그림42. 세그먼테이션의 예>
3) 세그먼테이션 시스템의 구조
페이징 가상 메모리와 유사한 개념이지만 페이징 시스템의 대안은 될 수 없다. 세그먼테이션은 페이징 번호와 다르다. 중요한 내용은 페이징은 하드웨어 경향이고 세그먼테이션은 프로그램의 논리적 구조를 반영한다. 고정크기의 페이지와 메인 메모리를 고정크기 페이지로 논리적 주소를 나누는 대신 하드웨어는 임의 크기의 세그먼트(시스템이 최대화 세그먼트 크기를 갖고 있더라도)로 논리적 주소로 나눈다. 그리고 프로세서는 하나의 블록으로서 메인 메모리를 취급한다. 프로시저 코드에 관련된 세그먼트는 코드 세그먼트로 불리고 데이터 관련 있는 세그먼트는 데이터 세그먼트라 한다. 어떤 컴퓨터는 프로시저와 데이터를 혼합하는 세그먼트를 구성한다. 세그먼테이션과 페이징의 다른 차이는 세그먼트들은 페이지(64KB크기) 보다 큰 경향을 보이고 있다. 더욱이 세그먼트들은 크기에서 유용한 범위를 갖고 있으나 페이지는 항상 시스템에서 제공한 1개의 크기이다. 세그먼트 크기는 그들이 갖고 있는 데이터나 코드에 따라 크기에 양향을 미친다.
<그림43. 세그먼테이션 시스템의 구조>
◎ 페이징 세그먼테이션
구조가들은 메모리의 제한된 크기를 갖는 시스템에서 큰 프로그램 실행을 허용하는 요구 페이징과 더불어 소프트웨어 필요에 충족할 수 있는 세그먼테이션 방법을 소개하였다. 컴파일러는 데이터를 구성하거나 또는 데이터나 코드 세그먼트를 작성하는 까닭에 운영체제는 세그먼트 구조에 기반을 둔 프로그램들을 관리해야 한다.
<그림44. 유효주소는 3부분으로 나눈다>
하드웨어는 논리적 주소를 즉 유효주소는 3부분으로 구분되어 세그먼트번호, 페이지번호, 워드 오프셋으로 나눈다. 운영체제는 각 세그먼트를 위한 페이지 테이블을 생성하고 세그먼트를 페이지로 나누고 그것을 개별적으로 적재한다. 세그먼트 번호는 세그먼트 테이블 색인이다. 세그먼트 테이블 엔트리는 워드를 보관하는 페이지를 위한 페이지 테이블의 주소이다. 시스템은 가끔 활성화된 세그먼트 테이블을 지적하기 위하여 세그먼트 테이블 기준 레지스터를 사용한다. 페이지번호는 세그먼트를 위한 페이지 테이블 색인이다. 페이지 테이블 엔트리는 워드를 보관하는 페이지 프레임의 페이지 프레임 번호이다. 페이지 테이블 엔트리는 페이지 프레임 주소를 준다. 오프셋은 워드가 있는 페이지의 시작으로부터 위치다.
참고문헌
컴퓨터를 움직이는 6가지 핵심원리 - 우메즈 노부유키 저. <영진 닷컴> 2003.
컴퓨터 운영체제론 - 김현호, 정지영 공저. 2005.
컴퓨터 구조 - 함호종 저. <글로벌> 2005.
핵심 노턴의 컴퓨터 개론 - 노턴, 피터 저. <학술 정보> 2003.
컴퓨터 개론 - 임권묵 외저. <글로벌> 2005.
<그림38. TLB>
<그림39. 페이징 시스템의 구조>
페이지 시스템에서 CPU가 유효주소를 생성할 때마다 CPU는 TLB에 보낸다. 페이지 프레임 번호가 만들어지면 페이지 엔트리에 보관한다. 만약 TLB에 엔트리가 없다면 하드웨어는 페이지 테이블 오프셋으로 페이지 번호를 사용하여 메인 메모리에서 페이지 테이블을 조사한다. 만약 타당비트가 지시한 페이지가 메모리에 있다면 하드웨어는 메모리를 액세스하기 위하여 페이지 프레임 번호를 사용하고 동시에 페이지 테이블 엔트리를 TLB로 복사한다. 그렇지 않다면 하드웨어는 페이지 폴트(page fault)라고 불리는 트랩을 설정하고 운영체제는 메모리에서 요구페이지를 적재하기 위해 조정하고 페이지 테이블을 갱신한다. 참조의 지역성 원리 때문에 대부분의 프로그램들은 메모리 액세스가 이미 메모리에 있는 페이지를 참조하려는 경향이 있기 때문에 페이지 폴트는 아주 드문 현상이다. 이 현상이 성공적인 페이징 시스템의 중요한 요소이다.
<그림40. 페이지 폴트시 실행과정>
페이지 폴트가 발생하면 메인 메모리에 저장되어 있으면서 사용되지 않는 페이지를 제거하고 새로운 페이지로 바꾸는 행위를 페이지대치라고 한다.
교체할 페이지의 선정은 캐시에서처럼 중요한 문제이며, 또한 프로그램의 지역성을 고려해야 한다. 특히 메인 메모리는 캐시 기억장치보다 훨씬 더 크므로, 메인 메모리 안에 프로그램의 비교적 큰 부분을 적재하는 것이 가능하다. 이것은 보조 기억장치와의 전송 빈도를 줄일 수 있다.
◎ 세그먼테이션
세그먼테이션(Segmentation)은 기억 장치의 사용자 관점을 지원하는 기억 장치 관리 기법으로 논리 구조 공간을 세그먼트의 모임으로 인식한다. 이러한 세그먼트는 일반적으로 컴파일러(어셈블러)가 자동적으로 입력 프로그램(원시 프로그램)을 이용하여 작성한다.
1) 하드웨어
세그먼트 테이블의 논리 주소는 두 부분으로 구성된다. 즉, 세그먼트 번호 s와 그 세그먼트 내에서의 변위(offset) d로 구성된다. 세그먼트 번호 s는 세그먼트 테이블에 대한 색인으로 사용된다. 세그먼트 테이블의 각 항목은 세그먼트의 기준과 세그먼트의 한계를 가지고 있다. 논리 주소의 변위 d는 0과 세그먼트 한계 사이의 값이어야 한다. 그렇지 않을 경우에는 운영 체제로 넘어간다. 만일 이 변위가 합당하면 세그먼트 기준과 변위가 더해져서 원하는 워드에 대한 기억 장치 내에서의 실제 주소를 만들어 주게 된다. 그러므로 세그먼트 테이블은 기본적으로 기준/한계 레지스터의 쌍들로 이루어진 배열이다.
2) 세그먼트 번지 구성
다음은 1BM / 370에서 효율적인 번지를 구성한 예이다.
세그먼트 번호는 28이므로 256개의 세그먼트와 각각의 세그먼트는 216=64k길이로 구성된다.
<그림41. 세그먼트 번지>
예를 들어, 세그먼트 2는 400바이트의 길이로 4300번지에서 시작된다.
어떤 워드 53에의 접근은 4300+53=4353의 번지로 사상될 것이다. 세그먼트 3, 워드 852에 대한 접근은 3200+852=4052로 사상된다. 세그먼트 0의 워드 1222에 대한 참조인 경우에는 이 세그먼트가 1000바이트의 길이를 가지므로(초과됨) 운영체제로 넘어간다.
<그림42. 세그먼테이션의 예>
3) 세그먼테이션 시스템의 구조
페이징 가상 메모리와 유사한 개념이지만 페이징 시스템의 대안은 될 수 없다. 세그먼테이션은 페이징 번호와 다르다. 중요한 내용은 페이징은 하드웨어 경향이고 세그먼테이션은 프로그램의 논리적 구조를 반영한다. 고정크기의 페이지와 메인 메모리를 고정크기 페이지로 논리적 주소를 나누는 대신 하드웨어는 임의 크기의 세그먼트(시스템이 최대화 세그먼트 크기를 갖고 있더라도)로 논리적 주소로 나눈다. 그리고 프로세서는 하나의 블록으로서 메인 메모리를 취급한다. 프로시저 코드에 관련된 세그먼트는 코드 세그먼트로 불리고 데이터 관련 있는 세그먼트는 데이터 세그먼트라 한다. 어떤 컴퓨터는 프로시저와 데이터를 혼합하는 세그먼트를 구성한다. 세그먼테이션과 페이징의 다른 차이는 세그먼트들은 페이지(64KB크기) 보다 큰 경향을 보이고 있다. 더욱이 세그먼트들은 크기에서 유용한 범위를 갖고 있으나 페이지는 항상 시스템에서 제공한 1개의 크기이다. 세그먼트 크기는 그들이 갖고 있는 데이터나 코드에 따라 크기에 양향을 미친다.
<그림43. 세그먼테이션 시스템의 구조>
◎ 페이징 세그먼테이션
구조가들은 메모리의 제한된 크기를 갖는 시스템에서 큰 프로그램 실행을 허용하는 요구 페이징과 더불어 소프트웨어 필요에 충족할 수 있는 세그먼테이션 방법을 소개하였다. 컴파일러는 데이터를 구성하거나 또는 데이터나 코드 세그먼트를 작성하는 까닭에 운영체제는 세그먼트 구조에 기반을 둔 프로그램들을 관리해야 한다.
<그림44. 유효주소는 3부분으로 나눈다>
하드웨어는 논리적 주소를 즉 유효주소는 3부분으로 구분되어 세그먼트번호, 페이지번호, 워드 오프셋으로 나눈다. 운영체제는 각 세그먼트를 위한 페이지 테이블을 생성하고 세그먼트를 페이지로 나누고 그것을 개별적으로 적재한다. 세그먼트 번호는 세그먼트 테이블 색인이다. 세그먼트 테이블 엔트리는 워드를 보관하는 페이지를 위한 페이지 테이블의 주소이다. 시스템은 가끔 활성화된 세그먼트 테이블을 지적하기 위하여 세그먼트 테이블 기준 레지스터를 사용한다. 페이지번호는 세그먼트를 위한 페이지 테이블 색인이다. 페이지 테이블 엔트리는 워드를 보관하는 페이지 프레임의 페이지 프레임 번호이다. 페이지 테이블 엔트리는 페이지 프레임 주소를 준다. 오프셋은 워드가 있는 페이지의 시작으로부터 위치다.
참고문헌
컴퓨터를 움직이는 6가지 핵심원리 - 우메즈 노부유키 저. <영진 닷컴> 2003.
컴퓨터 운영체제론 - 김현호, 정지영 공저.
컴퓨터 구조 - 함호종 저. <글로벌> 2005.
핵심 노턴의 컴퓨터 개론 - 노턴, 피터 저. <학술 정보> 2003.
컴퓨터 개론 - 임권묵 외저. <글로벌> 2005.
추천자료
[MIS]경영정보시스템(MIS)의 정의, 경영정보시스템(MIS)의 발전단계, 경영정보시스템(MIS)의 ...
[MIS]경영정보시스템(MIS)의 발전과정, 경영정보시스템(MIS)의 기능, 경영정보시스템(MIS)의 ...
[금융정보시스템][전략정보시스템(SIS)][물류정보시스템]금융정보시스템, 전략정보시스템(SIS...
[정보시스템][정보시스템 아웃소싱][마케팅정보시스템][E-비즈니스][버스][공간영상]정보시스...
[지리정보시스템][GIS][지리정보활용]지리정보시스템(GIS)의 정의, 발전과정, 지리정보시스템...
[보안시스템][무선인터넷 보안시스템][무선인터넷][정보통신기술][인터넷][보안][해킹][해커]...
[방화벽][방화벽시스템][방화벽 해킹][방화벽시스템 해킹][보안][해커][해킹]방화벽(방화벽시...
[방화벽][방화벽시스템][방화벽시스템 주요기능][방화벽시스템 유형][방화벽시스템구축][보안...
[클라이언트/서버시스템]클라인언트/서버시스템의 등장배경과 클라인언트/서버시스템의 특징 ...
[시스템분석][시스템분석 단계][시스템분석가 중요성][시스템분석가 역할][시스템분석가 자질...
[공공부문]정보시스템 아웃소싱의 개념과 유형, 정보시스템 아웃소싱의 성공요인, 공공부문 ...
[전자결제]전자결제(전자결제시스템)의 의미, 구분과 기대효과, 전자결제(전자결제시스템)의 ...
[경영 시스템][경영][경영 지식관리시스템][경영 공정관리시스템][경영 정보관리시스템][경영...
[은행 신용평가시스템][은행][신용평가][신용][리스크요소][신용등급][금융]은행 신용평가시...
소개글