운영체제 3

[운영체제] 캐시 교체 정책

[운영체제] 캐시 교체 정책 & LRU 캐시 교체 정책에 대해 알아보기 전, 캐시에 대한 이해가 필요하신 분들은 아래 게시물을 참고하시면 좋을 것 같습니다. 2022.08.19 - [운영체제] 캐시 (Cache) 캐시의 용량은 매우 작기 때문에 캐싱되는 모든 데이터를 다 담아둘수가 없습니다. 그래서 새로운 데이터를 캐싱하기 위해서는 불필요한 데이터를 지워줘야 하는데, 불필요한 데이터를 나누는 기준을 캐시 교체 정책이라고 합니다. 캐시 교체 정책 캐시 교체 정책에는 크게 3가지가 있습니다. FIFO (First In First Out) Queue 와 같이 가장 먼저 들어간 데이터를 교체 구현은 간단하지만 교체가 잦을수도 있음 LFU (Least Frequently Used) 사용 횟수가 가장 적은 데이터를..

[운영체제] 캐시 (Cache)

[운영체제] 캐시 (Cache) 메모리 용량이 작을수록 파일을 저장하고 꺼내오는 속도는 더 빠릅니다. 그렇기 때문에 용량이 큰 저장장치는 속도가 느릴수밖에 없습니다. 하지만 메모리 용량이 크고, 속도가 빠른 두 가지 장점을 잡기에는 비용이 너무 많이 듭니다. 그래서 데이터 저장 공간은 속도와 용량 등 특성에 맞게 역할을 나눠서 사용하는데, 이를 메모리 계층 구조라고 합니다. 위 그림처럼 데이터 처리속도를 높이기 위해 자주 사용되는 데이터를 담아두고, 해당 데이터가 필요할 때 캐시에 접근합니다. 데이터 지역성 원리 (Principle of Locality) 파레토의 법칙은 원인 중 상위 20% 가 전체 결과의 80% 를 만든다는 법칙입니다. 이 법칙은 메모리에도 적용되는데요, 자주 쓰이는 데이터는 시간적 ..

[운영체제] 프로세스와 스레드 (Process & Thread)

프로세스 개념 프로세스는 메모리에 올라와 실행되고 있는 프로그램의 독립 객체를 말합니다. 우리가 프로그램을 실행시키면 프로세스 객체가 생성됩니다. 이는 프로그램 실행에 필요한 내용이 메모리 (RAM) 에 적재된다는 것을 의미합니다. 프로세스는 OS 로부터 시스템 자원을 할당받아 실행되는데, 이 때 할당받는 시스템 자원은 CPU 시간, 운영되기 위해 필요한 주소 공간, 메모리 영역 등이 있습니다. 특징 프로세스는 각각 독립된 메모리영역 (Code, Data, Stack, Heap) 을 할당받음 기본적으로 프로세스당 최소 1개의 스레드를 가지고 있음 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없음 한 프로세스가 다른 프로세스의 자원에 접근하려면 ..