본문 바로가기
반응형

전공/운영체제48

Ch09. 가상 메모리 관리_03)페이지 교체 알고리즘 페이지 교체 알고리즘 페이지 교체 알고리즘의 개요 스왑 영역으로 보낼 페이지를 결정하는 알고리즘 메모리에서 앞으로 사용할 가능성이 적은 페이지를 대상 페이지로 선정하여 페이지 부재를 줄이고 시스템의 성능을 향상 페이지 교체 알고리즘의 성능 평가 기준 어떤 알고리즘이 다른 알고리즘보다 성능이 좋은지 평가하는 데에는 다양한 비교 방법이 있음 같은 메모리 접근 패턴을 사용하여 페이지 부재 횟수와 페이지 성공 횟수를 비교 모든 페이지 교체 알고리즘은 그림처럼 메모리 접근순서를 사용하고 물리메모리는 3개의 프레임을 가졌다고 가정 상단의 숫자는 메모리 접근순서를 나타내며, 페이지는 번호대신 알파벳을 사용함 무작위 페이지 교체 알고리즘 (random page replacement algorithm) 페이지 교체 알고.. 2023. 6. 13.
Ch09. 가상 메모리 관리_02)요구페이징 요구페이징 요구페이징 개요 컴퓨터를 오래 켜 두면 시스템이 느려지는 이유는 작업을 하지 않고 쉬는 프로세스나 좀비 프로세스가 메모리를 차지해 메모리 관리가 복잡해지기 때문 메모리에는 꼭 필요한 프로세스만 유지하는 것이 좋음 운영체제는 프로세스를 구성하는 모듈을 전부 메모리에 올리지 않음 필요한 모듈만 메모리에 올려 실행하고 나머지 모듈은 필요할 때 메모리로 불러옴 프로세스 일부만 메모리로 가져오는 이유 메모리를 효율적으로 관리하기 위해, 메모리가 가득차면 관리하기 어려우므로 적은 양의 프로세스만 유지 응답속도 향상을 위해, 용량이 큰 프로세스를 전부 메모리로 가져와 실행하면 응답이 늦어져 필요한 모듈만 올려 실행 예) 포토샵 프로그램(본 프로그램 및 외부필터, 피부보정필터, 노이즈 제거필터 등) 이처럼 .. 2023. 6. 12.
Ch09. 가상 메모리 관리_01)가상 메모리의 이해 가상 메모리의 개념과 원리 페이징으로 구현한 가상메모리 메인 메모리와 캐시 사이에서 데이터를 이동할 때는 캐시의 공간 지역성을 최대한 활용하려고 메모리의 데이터를 캐시 라인 크기만큼 올려놓는다. 따라서 라인은 캐시가 메인 메모리에서 데이터를 가져오는 크기가 됨 가상 메모리의 이해 사용자와 논리적 주소를 물리적으로 분리하여 사용자가 메인 메모리 용량을 초과한 프로세스에 주소를 지정해서 메모리를 제한 없이 사용할 수 있도록 하는 것 프로그램 전체를 동시에 실행하지 않으므로 요구한 메모리 전체가 아닌 일부만 적재해도 실행 가능 활동 영역을 메인 메모리에 유지하면서 필요할 때는 디스크와 메모리 사이에 프로세스 코드와 데이터 저장, 다시 자동으로 전송하는(스왑 인, 스왑 아웃) 과정을 거쳐 프로세스를 재할당, 디.. 2023. 6. 12.
[심화]Ch08. 가상 메모리의 기초_05)캐시 매핑 기법 교재를 참고하였습니다. 캐시 직접 매핑 캐시 직접 매핑 메모리의 블록이 캐시로 올라올 때 항상 같은 위치에 올라옴 캐시는 메모리의 어떤 블록에서 올라온 페이지인지만 확인 CPU가 메모리에 접근하려는 주소 는 로 바꿀 수 있고, 원하는 데이터를 캐시에 얻기 위해 를 사용 태그 : 캐시에 블록 번호를 명시하는 것 bdblock distance : 블록에서의 거리를 의미 캐시 직접 매핑의 예 현재 캐시의 00 위치에 lion, chicken, tuna, snake 중 어떤 데이터가 올라왔는지 확인하기 위해 캐시에서는 태그를 유지 태그는 메모리 주소의 앞 2bit에 해당하는 값으로, 어떤 블록에서 올라온 데이터인지를 나타냄 CPU가 메모리 워드 1101의 cobra를 필요로 하는 경우 CPU는 캐시의 01 위치.. 2023. 6. 11.
Ch08. 가상 메모리의 기초_04)세그먼테이션-페이징 혼용 기법 교재를 참고하였습니다. 세그먼테이션-페이징 혼용 기법 페이징 기법은 물리 메모리를 동일한 크기로 나누어 관리하기 때문에 메모리 관리가 단순한 반면, 페이지 테이블의 크기가 큼 세그먼테이션 기법은 맵핑 테이블의 크기를 작게 유지할 수 있으나 물리 메모리의 단편화로 추가적인 관리가 불가피함 메모리 접근 권한 메모리의 특정 번지에 저장된 데이터를 사용할 수 있는 권한 읽기(read), 쓰기(write), 실행(execute), 추가(append) 권한이 있음 프로세스의 영역별 메모리 접근 권한 프로세스는 몸체에 해당하는 코드 영역, 프로세스가 사용하는 데이터를 저장하는 데이터 영역, 프로세스를 실행하는데 필요한 스택 영역, 프로세스 제어블록 (PCB)으로 구성됨 코드 영역 : 자기 자신을 수정하는 프로그램은 .. 2023. 6. 10.
Ch08. 가상 메모리의 기초_03)세그먼테이션 기법 교재를 참고하였습니다. 세그먼테이션 기법의 구현 세그먼테이션 기법 가변 분할 방식을 이용한 가상 메모리 관리 기법으로, 물리 메모리를 프로세스 크기에 따라 가변적으로 나누어 사용 세그먼테이션 테이블segmentation table 세그먼트의 크기를 나타내는 limit와 물리 메모리상의 시작 주소를 나타내는 address가 있음 프로세스 크기에 따라 메모리를 분할하기 때문에 매핑 테이블에 크기 정보를 포함 각 세그먼트가 자신에게 주어진 메모리 영역을 넘어가면 안 되기 때문에 세그먼트의 크기 정보에는 크기를 뜻하는 size 대신 제한을 뜻하는 limit를 사용 세그먼테이션 기법에서도 물리 메모리가 부족할 때 스왑 영역을 사용 크기가 100B인 프로세스 D(세그먼트 3)가 스왑 영역에 있고, 세그먼테이션 테이.. 2023. 6. 9.
반응형