delpho

운영체제에 대하여 - 6 본문

CS

운영체제에 대하여 - 6

delpho 2022. 8. 7. 11:35

_1. 캐시의 지역성에 대해 설명해보세요.

 

캐시에 저장할 데이터는 적중율을 극대화하기위해 지역성을 가져야합니다. 지역성은 어느한 순간에 특정 부분을 집중적으로 참조하는 특성입니다. 지역성의 종류는 시간적, 공간적 지역성이 있습니다. 시간적 지역성은 특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은것이며 공간적 지역성은 특정 데이터와 가까운 주소가 순서대로 접근되는 경우입니다.

 

 

 

[ 캐시 메모리 Cache Memory ]

  • 주기억장치에서 자주 사용하는 프로그램과 데이터를 저장해두어 속도를 빠르게 하는 메모리
    • 캐시 기억장치와 주기억장치 사이에서 정보를 옮기는 것을 사상(Mapping, 매핑)이라고 함
      • 매핑의 3가지 방법
        - 직접 매핑(Direct Mapping), 연관 매핑(Associate Mapping), 집합 연관 매핑(Set Associate Mapping)
  • 속도가 빠른 장치와 느린 장치간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리

 

 

 

 

 

 

[ 캐시의 지역성 Cache Locality]

  • 캐시메모리의 역할을 제대로 수행하기 위해서는 CPU가 어떤 데이터를 원할 것인가를 어느 정도 예측할 수 있어야 한다. 캐시의 성능은 작은 용량의 캐시 메모리에 CPU가 이후에 참조할, 쓸모 있는 정보가 어느 정도 들어있느냐에 따라 좌우되기 때문이다.
  • 이 때 적중율(Hit rate)를 극대화 시키기 위해 데이터 지역성(Locality)를 사용한다. 지역성의 전제조건으로 프로그램은 모든 코드나 데이터를 균등하게 Access 하지 않는다는 특성을 기본으로 한다. 즉, Locality란 기억 장치 내의 정보를 균일하게 Access 하는 것이 아닌 어느 한 순간에 특정 부분을 집중적으로 참조하는 특성인 것이다.

 

  • 캐시에 저장할 데이터는 적중율을 극대화하기위해 지역성을 가져야합니다. 지역성은 어느한 순간에 특정 부분을 집중적으로 참조하는 특성입니다. 지역성의 종류는 시간적, 공간적 지역성이 있습니다. 시간적 지역성은 특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은것이며 공간적 지역성은 특정 데이터와 가까운 주소가 순서대로 접근되는 경우입니다.

 

 

 

 

 

 

 

 


_2. 프로세스 관련 용어를 설명해보세요. (알아만 둡시다.)

 

[ PCB Process Control Block ]

  • 운영체제가 프로세스를 제어하기 위해 프로세스에 대한 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 구조체이다.
  • 프로세스 상태 관리와 문맥교환(Context Switching)을 위해 필요
  • PCB는 프로세스 생성 시 만들어지며 주기억장치에 유지

 

더보기

예를 들어, CPU에 급한 프로세스가 처리해달라고 긴급 요청이 왔을 때 기존에 작업하던 프로세스를 어딘가에 임시 저장을 해놓아야 급한 애를 빨리 처리한 후에 다시 불러올 수 있겠죠. 즉 프로세스 관한 정보들을 저장할 어딘가의 공간이 필요해요. 고것이 PCB! 

 

아까 인터럽트 걸려서 ready상태가 됐다가 긴급한 프로세스가 다 끝나고 나면 얘가 다시 스케쥴 돼 실행이 돼요. 그러면 아까 중단된 시점부터 다시 실행이 되야하겠죠! 아까 중단된 시점에서 이어서 시작하려면, CPU 레지스터들의 집합에다가 원래 수행되었던 것을 그대로~~ 갔다가 집어 넣어 실행시키면 아까 실행된 것부터 이어서 실행이 될거예요. 원래는 CPU 레지스터 안에 있는 것들이 계속 바뀌면서 수행이 되야 하는데 일단 잠시 중단하는 시점에 있는 내용을 저장을 하고 나중에 그대로 복원을 해서 실행시키면 아까 중단한 이후부터 수행이 되는 원리를 이용한 거죠 

요 개념 안에 Context Switching과 PCB 개념이 다 들어가 있습니다.

 

 

-------PCB에서 유지되는 정보----------

● PID : 프로세스의 고유 번호

● 상태 : 준비, 대기, 실행 등의 상태

● 포인터 : 다음 실행될 프로세스의 포인터

● Register save area : 레지스터 관련 정보

● Priority : 스케줄링 및 프로세스 우선순위

● 할당된 자원 정보

● Account : CPU 사용시간, 실제 사용된 시간

● 입출력 상태 정보

-------------------------------------------

 

 

[ PC Program Counter ]

  • cpu 내부에 있는 레지스터 중 하나로, 다음 번에 수행될 명령어의 주소를 가지고 있는 레지스터
  • 명령어의 주소를 가리키는 값이 자동적으로 증가하며, 메모리에 있는 명령어들이 순차적으로 실행될 수 있도록 한다
  • 이 레지스터는 다른 레지스터들처럼 평범하게 조작되지는 않으며, JUMP, CALL, RTS 등과 같이, 프로그램 카운터에 새로운 값을 적어 넣음으로써 제어권의 흐름을 바꿀 수 있는 특별한 명령어들을 제공
  • "명령어 주소 레지스터"라고도 불림

 

 

 

[ 캐시 메모리 Cache Memory ]

  • 주기억장치에서 자주 사용하는 데이터를 저장해두어 속도를 빠르게 하는 메모리
    • 캐시 기억장치와 주기억장치 사이에서 정보를 옮기는 것을 사상(Mapping, 매핑)이라고 함
      • 매핑의 3가지 방법
        - 직접 매핑(Direct Mapping), 연관 매핑(Associate Mapping), 집합 연관 매핑(Set Associate Mapping)
  • 속도가 빠른 장치와 느린 장치간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리

 

 

 

 

 

 

 

 


출처

https://chelseashin.tistory.com/43

 

[OS] 캐시 메모리(Cache Memory)란? 캐시의 지역성(Locality)이란?

캐시 메모리(Cache Memory) 주기억장치에서 자주 사용하는 프로그램과 데이터를 저장해두어 속도를 빠르게 하는 메모리 그러므로 캐시는 주기억장치보다 크기가 작을 수밖에 없다! 캐시 기억장치

chelseashin.tistory.com

https://jhnyang.tistory.com/33

 

[운영체제]PCB (Process Control Block)란? PCB 정보 & Context Switching 문맥교환 & Overhead 오버헤드

운영체제 목차 프로세스의 정의와 프로세스 상태에 대한 이해를 기반으로 하고 있습니다. 헷갈리시는 분은 이전 포스팅 보고 오기 프로세스를 조금 어렵게(?) 이렇게 표현하기도 해요 프로세스

jhnyang.tistory.com

https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EC%B9%B4%EC%9A%B4%ED%84%B0

 

프로그램 카운터 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 프로그램 카운터(Program counter, PC)는 마이크로프로세서(중앙 처리 장치) 내부에 있는 레지스터 중의 하나로서, 다음에 실행될 명령어의 주소를 가지고 있어 실행

ko.wikipedia.org

http://www.terms.co.kr/programcounter.htm

 

[텀즈] PC (program counter) ; 프로그램 카운터

이 정보는 2000년 4월 26일에 수정되었습니다. 영어판(whatis.com)

www.terms.co.kr

 

'CS' 카테고리의 다른 글

보안에 대하여 - 2  (0) 2022.08.07
보안에 대하여 - 1  (0) 2022.08.07
운영체제에 대하여 - 5  (0) 2022.07.30
운영체제에 대하여 - 4  (0) 2022.07.27
운영체제에 대하여 - 3  (0) 2022.07.27