컴퓨터 일반 2강. 컴퓨터 시스템의 구성
램을 늘리면 빨라진다는 말은 절반만 맞습니다. 나머지 절반을 아는 것이 이 강의 목표입니다.
풀고 시작
캐시는 왜 그렇게 작을까요
CPU 사양을 보면 캐시 메모리가 몇 메가바이트라고 적혀 있습니다. 램은 16기가바이트인데 캐시는 겨우 몇 메가입니다. 돈을 더 들이면 캐시를 램만큼 키울 수 있을 텐데, 왜 안 할까요.
빠른 기억장치는 비싸고, 비싼 것은 많이 둘 수 없기 때문입니다. 그래서 컴퓨터는 기억장치를 계단처럼 쌓습니다. 위로 갈수록 빠르고 작고 비싸며, 아래로 갈수록 느리고 크고 쌉니다.
| 계층 | 무엇 | 특징 |
|---|---|---|
| 레지스터 | CPU 안의 저장 공간 | 가장 빠르고 가장 작습니다 |
| 캐시 | CPU와 주기억장치 사이 | 자주 쓰는 것만 미리 갖다 둡니다 |
| 주기억장치 | RAM, ROM | 실행 중인 프로그램이 올라오는 자리입니다 |
| 보조기억장치 | SSD, 하드디스크 | 전원을 꺼도 남지만 훨씬 느립니다 |
캐시(cache) 는 CPU가 다음에 쓸 만한 것을 미리 갖다 두는 자리입니다. 찾는 것이 캐시에 있으면 적중(hit), 없으면 실패(miss)입니다. 적중률이 높을수록 체감 속도가 오르죠. 램을 늘려도 빨라지지 않는 경우가 있는 이유가 여기 있습니다. 램이 모자라지 않았다면 늘려 봐야 캐시 적중률은 그대로입니다.
롬에 담긴 것은 컴퓨터의 첫 마디입니다
전원 버튼을 누른 직후를 생각해 보세요. 하드디스크에 윈도우가 있지만, 그 윈도우를 읽어 올 프로그램이 아직 메모리에 없습니다. 닭이 먼저냐 달걀이 먼저냐입니다.
이 매듭을 푸는 것이 ROM입니다. ROM은 비휘발성이라 전원이 없어도 내용이 남고, 여기에 바이오스(BIOS) 가 들어 있습니다. 바이오스는 전원이 들어오면 장치를 점검하고(POST), 부팅 장치를 찾아 운영체제를 메모리로 올립니다. 이 과정을 부트스트랩(bootstrap), 줄여서 부팅이라 부르죠. "자기 신발끈을 잡아당겨 스스로를 들어 올린다"는 표현에서 온 말입니다.
ROM에도 종류가 있습니다. 한 번만 쓸 수 있는 PROM, 자외선으로 지우고 다시 쓰는 EPROM, 전기로 지우는 EEPROM이 있고, 요즘 바이오스는 EEPROM 계열이라 펌웨어 업데이트가 가능합니다. 펌웨어(firmware)라는 이름 자체가 하드웨어와 소프트웨어의 중간이라는 뜻입니다.
소프트웨어를 나누는 두 개의 잣대
시험은 소프트웨어 분류를 꾸준히 묻습니다. 헷갈리는 이유는 잣대가 둘인데 섞어 외우기 때문입니다.
첫째 잣대는 역할입니다. 시스템 소프트웨어(운영체제, 컴파일러, 유틸리티)는 컴퓨터를 돌리는 쪽이고, 응용 소프트웨어(워드, 엑셀, 브라우저)는 사람의 일을 하는 쪽입니다.
둘째 잣대는 배포 방식입니다. 여기가 함정이 잘 나옵니다.
| 이름 | 무엇 |
|---|---|
| 상용 소프트웨어 | 정식으로 돈을 내고 쓰는 것입니다 |
| 셰어웨어 | 일정 기간이나 기능을 제한해 배포하고, 계속 쓰려면 돈을 냅니다 |
| 프리웨어 | 무료로 쓰지만 소스는 공개되지 않고 상업적 이용이 제한될 수 있습니다 |
| 공개 소프트웨어 | 소스 코드까지 공개되어 수정과 재배포가 가능합니다 |
| 데모 버전 | 기능을 맛보기로만 열어 홍보하려고 만든 것입니다 |
| 알파·베타 버전 | 각각 개발사 내부 시험용, 외부 사용자 시험용입니다 |
| 패치 | 이미 배포된 프로그램의 오류를 고치는 조각입니다 |
| 번들 | 하드웨어나 다른 프로그램에 끼워 주는 것입니다 |
프리웨어와 공개 소프트웨어를 같은 말로 아는 것이 가장 흔한 착각입니다. 공짜라는 점은 같지만 소스 공개 여부가 다릅니다.