리눅스를 온프레미스 서버컴퓨터에 설치하는 경우는 최근에는 대기업에서는 따로 없으리라 생각한다. 물론 우리 회사는 그런 경우가 굉장히 많다. 클라우드를 믿지 못하는 여러 어른들의 생각이라고 한다.. 무튼 aws나 azure 와 같은 클라우스 서버 서비스를 활용할때도 하드웨어 스펙(보통 CPU, RAM) 등의 스펙이 중요한 관계로 가볍게 짚고 넘어가고자 한다.
컴퓨터의 구성요소
중앙처리장치 CPU
컴퓨터 프로그램의 명령어를 해석, 연산 결과반환, 시스템을 통제하는 제어하는 장치라고 생각하면 된다. Register + ALU + Control Unit
으로 구성되어있으며 Register 는 cpu 연산 처리를 위한 임시저장소 역할, ALU 는 데이터간 비교, 판단, 연산을 수행, 또 제어장치는 명령어를 해석하고 명령을 연산장치로 보내고 주소를 디코드하여 레지스터에 데이터를 저장하는 역할 등을 수행한다.
주 기억장치
CPU 가 처리할 명령어와 데이터를 저장하기 위한 컴퓨터 하드웨어 장치로, 휘발성 메모리인 RAM
과 비 휘발성 메모리인 ROM
으로 구성되어 있다. 더 구체적으로 RAM 은 DRAM + SRAM , ROM 은 MASK ROM, PROM, EPROM 등으로 구성되어있다.
입출력장치
이건 우리가 접근하기 쉬운 여러 입출력장치(모니터, 키보드, 마우스...) 로 구성되어있는 관계로 넘어가겠다. 리눅스는 이런 I/O 장치를 파일로 관리하는게 특징이라고 할 수 있다.
보조 기억장치
주 기억장치 대비 속도는 느리나 용량이 크고 가격이 비교적 저렴한 특징이 있다. 대표적으로 HDD, SSD 등이 있을 수 있다. 앞선 강좌에서 언급한바와 같이 메모리 부족을 해결하기 위해 가상메모리를 위한 스왑영역으로 사용되기도 한다.
요즘은 거의 대부분의 하드웨어를 지원한다. CPU 의 경우 CPU 종속 특성 부분만 어셈블리어로 구현하고 나머지는 C언어로 구성되어있다. GNU C 가 지원하는 환경이라면 리눅스 이식 구동이 가능하다. 최근 CPU 64bit 를 기본으로 선택하며 병렬성을 높이기 위해서는 코어의 개수(하드웨어 스펙) 이 중요하다고 한다.
그 외 메인보드 램, 하드디스크, 모니터와 그래픽카드, 랜카드 등이 필요한데 따로 언급하지 않고 넘어가겠다.