티스토리 뷰

공부한 것들

16. 캐싱(caching)

달빛얼음 2018. 1. 26. 23:54

캐싱(caching)은 접근 속도가 빠른 저장 공간인 캐시(cahche)를 이용하는 기능으로, 주기억장치에서 쓰여졌던 정보를 캐시에 임시적으로 저장해 필요한 경우 신속히 불러오도록 하는 기능을 말한다. 캐시의 용량과 교체 방법에 따라 성능이 좌우되기 때문에 정교한 캐시 관리 기법이 필요하다.

같은 데이터가 다른 저장 공간에 동시에 있을 수 있다. 예를 들어 디스크에 존재하는 어느 파일 속 int형 num의 값을 1 증가시킨다고 하자. 디스크의 num은 1을 증가시키기 위해 값이 주기억장치로 복사되고 처리 되는 과정에서 캐시와 레지스터에 임시적으로 num의 값이 저장될 것이다. 이 경우, num은 네 개의 저장 공간에 동시에 존재하게 된다.

이러한 데이터의 특성 때문에 다중 처리기 방식에서 같은 데이터가 다른 처리기에 동시에 존재할 수 있고, 이 경우 각 처리기의 캐시에도 동시에 존재하게 된다. 데이터의 무결성-정밀성, 정확성, 완전성, 유효성을 통틀어서-을 보장하기 위해서는 한 캐시의 값이 변경될 때 연결되어 있는 다른 캐시의 값도 같이 바뀌어야 하는데 이를 캐시의 일관성(cache coherency)이라 한다. 캐시의 일관성은 운영체제의 범위가 아닌 하드웨어 내에서 다뤄진다.

'공부한 것들' 카테고리의 다른 글

18. 보호와 보안  (0) 2018.01.27
17. 입출력 시스템(I/O System)  (0) 2018.01.26
15. 보조기억장치(secondary storage)  (0) 2018.01.26
14. 파일 시스템  (0) 2018.01.23
13. 주기억장치(main memory)  (0) 2018.01.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함