컴퓨터 성능 향상 기술
목차
01. 운영체제의 개요
02. 컴퓨터의 구조와 성능 향상
03. 프로세스와 스레드
04. CPU 스케줄링
05. 프로세스 동기화
06. 교착 상태
07. 물리 메모리 관리
08. 가상 메모리의 기초
09. 가상 메모리 관리
10. 입출력 시스템과 저장장치
11. 파일 시스템
12. 네트워크와 분산 시스템
컴퓨터 성능 향상 기술
버퍼
버퍼는 속도 차이가 있는 두 장치 사이에서 그 차이를 완화하는 역할을 한다.
버퍼는 하드웨어적으로만 사용되는 것이 아니다. 소프트웨어적으로도 사용되며,
대표적인 예시로는 동영상 스트리밍이다.
스풀
스풀은 CPU와 입출력장치가 독립적으로 동작하도록 고안된 소프트웨어적인 버퍼다.
캐시
캐시는 메모리와 CPU와 속도 차이를 완화하기 위해 메모리의 데이터를 미리 가져와 저장해두는 임시장소이다.
캐시히트, 캐시미스, 히트률이 있다.
즉시 쓰기와 지연 쓰기
즉시 쓰기는 캐시에 데이터가 변경되면 메모리에 즉시 반영하는 방식인데, 빈번하게 데이터를 바꾸기 때문에 성능이 느려진다. 하지만 급작스러운 정전에도 데이터가 유지된다.
지연쓰기는 즉시 메모리에 반영하는 것이 아니라 주기적으로 저장된다. 통신이 줄어들어 성능은 향상될 수 있지만 메모리와 캐시 데이터가 불일치가 될 수도 있는 것이 단점이다.
Ex) 문서 작업 시 자동 저장 OR 수동저장(컨트롤 에스)
레벨별 캐시
L1 캐시는 명령어와 데이터를 구분하고 CPU와 연결되어 있는 특수 캐시이다.
L2 캐시는 모든 데이터를 가져오고 메모리와 연결되어 있는 일반 캐시이다.
저장장치의 계층 구조
속도 : 레지스터 > 캐시 > 메모리 > 저장장치
용량 : 레지스터 < 캐시 < 메모리 < 저장장치
반비례 관계이다.
인터럽트
풀링방식 :CPU가 입출력 장치에서 데이터를 가져오거나 내보내는 방식.
풀링방식을 이용하면 CPU의 작업 효율이 떨어진다.
그래서 이 방식을 개선하기 위해 인터럽트 방식이 생겨났다.
인터럽트 방식은 CPU작업과 저장장치의 데이터 이동을 독립적으로한다.
입출력관리자가 CPU에 보내는 완료 신호를 인터럽트라고 한다.
하던 작업을 중단하고 처리해야하는 신호라고 해서 인터럽트라고 불리우게 되었다.
인터럽트 번호는 인터럽트를 보낼떄 장치의 이름 대신 사용하는 장치의 고유 번호로서 운영체제마다 다르다.
여러작업이 동시에 완료되고 그때마다 인터럽트를 여러 번 해야 해서 비효율적일 수도 있다.
이를 개선하기 위해 인터럽트를 배열로 만든 인터럽트 벡터를 사용한다.
직접 메모리 접근
입출력 관리자가 데이터의 입출력을 맡게 되는 접근방식이다.
입출력 관리자에게는 CPU의 허락없이 메모리에 접근할 수 있는 직접 메모리 접근 권한이 있다.
CPU관여 없이 작업을 수행할 수 있다.
메모리 매핑 입출력
메모리의 일정 공간을 입출력에 할당하는 기법을 메모리 매핑 입출력이라고 한다.
사이클 훔치기
CPU의 메모리 접근과 입출력장치의 직접 메모리 접근이 동시에 이루어지면 두 장치중 하나는 양보를 해야하는데 보통 CPU가 메모리 사용 권한을 양보한다. 왜냐면 CPU의 작업 속도가 빠르기 때문이다. 그런데 CPU는 CPU입장에서 이기적으로 이것을 사이클 훔치기라고 한다.
'Operating System' 카테고리의 다른 글
무어의 법칙과 암달의 법칙 (@황의 법칙) (0) | 2022.04.01 |
---|---|
병렬 처리 (0) | 2022.03.31 |
CPU와 메모리 (0) | 2022.03.29 |
컴퓨터의 기본 구성 (0) | 2022.03.28 |
운영체제의 구조 (0) | 2022.03.27 |
댓글
이 글 공유하기
다른 글
-
무어의 법칙과 암달의 법칙 (@황의 법칙)
무어의 법칙과 암달의 법칙 (@황의 법칙)
2022.04.01 -
병렬 처리
병렬 처리
2022.03.31 -
CPU와 메모리
CPU와 메모리
2022.03.29 -
컴퓨터의 기본 구성
컴퓨터의 기본 구성
2022.03.28