운영체제란?
OS의 목적
1.
처리능력 향상 : OS는 자원 관리를 통해 일정 시간 내에 시스템이 처리하는 일의 양을 향상시킨다.
2.
반환시간 단축 : OS는 사용자가 시스템에 요청한 작업을 완료할 때까지 소요되는 시간을 단축시킨다.
3.
사용 가능도 향상 : 사용가능도란 시스템 자원을 얼마나 빠르게 제공할 수 있는가를 의미하는데 OS는 사용자가 컴퓨터를 사용할 때 자원을 즉시 사용할 수 있게 해준다.
4.
신뢰도 향상 : OS는 주어진 입력 값에 대한 정확한 결과 값을 줄 수 있도록 신뢰도를 향상해야 한다.
OS의 메모리 구조
•
레지스터 (Register)
CPU가 사용자 요청을 처리하는데 필요한 데이터를 임시로 기억하는 기억장치
CPU 내부에 존재하며 접근 속도가 가장 빠르다.
•
RAM (Random Access Memory)
컴퓨터에서 프로그램을 실행할 때 필요한 정보를 저장한다.
CPU에서 접근할 때 하드 디스크보다 빠르며 휘발성 기억장치이다.
•
하드 디스크 (Hard Disk)
가장 용량이 크고 느린 기억장치이다. 비휘발성 기억장치이다.
•
캐시 (Cache)
캐시는 데이터를 미리 복사해두는 임시 저장공간을 말한다.
저장 공간이 작고 비싼 대신에 빠른 속도를 제공한다.
저장 공간이 작고 비싸기 때문에 소수 데이터만 선별해서 캐시에 저장해야 한다.
캐시의 특징
◦
시간 지역성 : 특정 데이터가 한 번 접근되었을 경우 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은 것을 말한다.
◦
공간 지역성 : 특정 데이터와 가까운 주소가 순서대로 접근되었을 경우를 공간적 지역성이라고 한다.
◦
순차 지역성 : 공간 지역성과 같이 설명이 가능한 개념이다. 데이터가 순차적으로 엑세스되는 경향을 보이며 프로그램 내의 명령어가 순차적으로 구성되는 특성이 있다.
캐시의 지역성이란?
캐시 메모리가 역할을 제대로 수행하기 위해서는 CPU가 어떤 데이터를 원할 것인가를 예측하는 것이 중요하다.
캐시 메모리는 용량이 작기 때문에 CPU에서 다음에 참조할 데이터가 얼마나 들어있느냐가 성능을 크게 좌우하기 때문이다.
따라서 캐시는 적중율(Hit Rate) 를 극대화 시키기 위해 캐시의 지역성을 사용한다.
캐시의 지역성은 전제조건으로 프로그램은 모든 데이터를 균등하게 Access 하지 않는다는 특성을 깔고 간다.
즉, 지역성이란 기억 장치 내의 정보를 균일하게 Access하는 것이 아닌 어느 한 순간에 특정 부분을 집중적으로 참조하는 특성인 것이다.
캐시 적중(Cache Hit) : CPU가 엑세스하려는 데이터가 이미 캐시에 적재되어 있는 상태
캐시 미스(Cache Miss) : CPU가 엑세스하려는 데이터가 캐시에 없어 주기억장치로부터 가져와야 하는 상태
캐시 적중률(Cahce Hit Rate) : CPU가 원하는 데이터가 캐시에 있을 확률 (캐시에 적중되는 횟수 / 전체 기억장치 엑세스 횟수)
캐시 미스율(Miss Rate) : CPU가 원하는 데이터가 캐시에 없을 확률 (1 - Cache Hit Rate)
Caching Line
캐시는 프로세서 가까이에 위치하면서 빈번하게 사용되는 데이터를 저장해두는 기억장치이다.
하지만 찾고자 하는 데이터가 어느 곳에 저장되어 있는지 몰라 캐시의 모든 데이터를 순회해야 한다면 시간이 오래 걸릴 것이다.
따라서, 캐시에 데이터를 저장할 때 특정 자료구조를 사용하여 묶음으로 저장하게 되는데 이를 캐싱라인 이라고 한다.