본문 바로가기
운영체제/[HPC] 운영체제

1. Computer System Overview

by 헛둘이 2023. 2. 26.

운영체제(OS)란?

- 컴퓨터 자원(하드웨어)을 효율적으로 관리할 수 있게 도와주는 소프트웨어

- 하드웨어를 효율적으로 관리해서 사용자에게 서비스를 제공하는 소프트웨어

 

 

하드웨어의 종류

1. 프로세서

- CPU

- 그래픽 카드(GPU)

: 연산 수행, 컴퓨터 모든 장치의 동작 제어

 

*레지스터

- 프로세서 내부에 있는 메모리이며, 컴퓨터에서 가장 빠르다.

- 아래 3개 레지스터는 알아두는 것이 좋다.

- PC (다음에 실행할 명령어 주소 보관)

- IR (PC에서 가져온 명령어 보관)

- ACC (계산할 때 데이터 일시적으로 저장)

 

 

 

2. 메모리

- 주 기억 장치 (RAM 또는 캐시 메모리)

: CPU와 직접적으로 연결되어 있어서 데이터 접근 속도가 매우 빠름

: DRAM이 용량이 크고 저렴해서 주로 사용한다.

: 디스크에 비해 CPU의 발전속도가 빨라서, 디스크 입출력 병목현상을 해소하기 위한 목적으로 사용

 

I/O bottleneck은 시스템에서 입출력 장치와 관련된 처리 과정에서 발생하는 병목 현상을 의미합니다.
컴퓨터 시스템에서는 CPU가 처리한 데이터를 주 기억 장치나 보조 기억 장치(하드 디스크, SSD 등)에 입출력(I/O)하게 되는데, 이때 입출력 처리 속도가 느려지면 시스템의 전반적인 성능에 영향을 미칩니다.
예를 들어, 대용량 파일을 읽거나 쓰는 작업을 수행할 때, 입출력 처리 속도가 느려지면 파일 처리 속도가 떨어지게 되어 전체적인 작업 시간이 늘어나는 등의 문제가 발생할 수 있습니다.

I/O bottleneck은 CPU 성능이 좋아져도 입출력 처리 속도가 느릴 경우에 발생하며,
이를 해결하기 위해서는 더 빠른 입출력 장치를 사용하거나 입출력 처리 방법을 개선하는 등의 방법이 필요합니다.

 

*프로세서가 직접 접근할 수 있는 메모리 중에서는 가장 용량이 크다!

 

- 캐시 메모리(L1, L2 캐시 등)

: 프로세서 내부에 있는 메모리

: 마찬가지로 메인 메모리의 입출력 병목 현상을 제거한다.

 

: 128KB로 가능한가? Yes, 지역성을 통해 병목 현상을 제거한다.

- 공간적 지역성 : 참조한 주소 근처의 주소를 참조할 가능성이 크다.

- 시간적 지역성 : 한번 참조한 주소를 곧 다시 참조할 가능성이 크다.

 

Cashe hit : CPU가 필요한 데이터가 캐시에 있으면 빠르게 가져올 수 있으니 Cashe hit라고 한다.

Cashe miss : 필요한 데이터가 캐시에 없어서 메인 메모리로 가서 가져와야 할 때 Cashe miss라고 한다.

 

공간적 지역성이 성립하는 이유는 메인 메모리에서 캐시로 데이터를 가져올 때,

인접한 메모리를 같이 끌고 오기 때문.

가져오는 한 줄 단위를 Cashe Line 이라고 한다. 

 

 

- 보조 기억 장치(HDD, SSD, CD-ROM)

: 디스크나 플래시 드라이브와 같은 외부 장치라서 속도가 상대적으로 느리다.

 

메모리는 속도가 빠르면 용량이 적어지며 가격이 비싸지고,

반대로 속도가 느리면 용량이 많아지고 가격이 저렴해진다.

(HDD나 SSD는 대량 생산이 가능한 반면에, 레지스터나 캐시와 같은 주 기억 장치는 생산량이 매우 적다)

(그리고 레지스터나 캐시는 매우 빠른 데이터 처리를 위해 최신 재료와 고급 기술을 사용한다)

 

*보조 기억 장치에 저장된 데이터는 메모리에 옮겨야 실행할 수 있다.

 

- 가상 메모리

: 하드 디스크의 일부를 메인 메모리처럼 사용할 수 있는 기술

(이후에 나옴)

 

 

3. 주변 기기

- 입력 장치 (마우스 등)

- 출력 장치 (키보드, 모니터 등)

 


시스템 버스

- 하드웨어들이 데이터 및 신호를 주고 받는 물리적 통로

- 정류장에 가서 데이터를 나르는 것에서 이름을 따와서 버스라고 한다.

- 대표적으로 아래와 같은 3가지 버스가 있다.

 

1. 데이터 버스

- 프로세서와 메인 메모리, 주변 장치에 데이터 전송

 

2. 주소 버스

- 시스템의 구성 요소를 식별하는 주소 정보 전송

 

3. 제어 버스

- 제어 신호를 전달하는 버스, 메모리 읽기, 쓰기 등의 동작 결정

댓글