History of Computer System

[CA] 컴퓨터 시스템, 발달과 역사

기본적인 개념과 역사, 정보의 표현 등에 대하여

Computer System

컴퓨터는 계산하는 사람에서 출발했다. 18세기 배에서 항로를 계산하던 사람들, 1910년대 제1차 세계대전 당시 장거리 포탄의 탄착점을 계산하던 사람들, 그리고 에니악의 배선 작업을 위해 고용된 젊은 여성들을 원래 Computer라고 불렀다. 우리가 현재 알고 있는 컴퓨터는 계산하는 기계에서 유래된 말이다.

  • 에니악(ENIAC, 1946): 최초의 전자식 programmable computer.
  • 에드삭(EDSAC, 1949): 최초의 프로그램 내장방식 computer.

이후에도 에드박, 유니박 등이 있다. 영문약자의 마지막 단어는 점차 Calculator에서 Computer로 변화되었다.

Definition

컴퓨터(Computer)는 외부 프로그램이나 데이터 입력을 받아들여 내부 전자회로에서 자료를 계산하거나 처리해 정보를 저장하고 결과를 출력하는 기계이다. 컴퓨터 시스템(Computer System)은 그런 기능을 하는 체계를 뜻한다. 우리말 표현으로는 전자계산기(전산기), 즉 전자회로를 이용해 자동으로 계산하는 기계라는 단어도 있지만, ‘컴퓨터’로 사용하는 것이 더 적합하다.

Components

기본적인 구성요소는 크게 다음과 같이 나눌 수 있다.

  • Hardware component: 중앙처리장치, 기억장치, 입출력장치 등
  • System software component: 하드웨어 구동과 관련된 프로그램들의 집합

다들 이미 기본적인 부분은 알고 있겠지만, 하드웨어는 내부적 동작을 담당하는 물리적 기계 장치이고, 소프트웨어는 외부적인 운영을 담당하는 논리적 명령어들의 집합이다. 접미사 (-ware) 는 상품, 제품이라는 뜻도 존재한다.

수정하기 어려운 정도에 따라 하드웨어 > 펌웨어 > 소프트웨어 로 구분할 수 있다.

  • Hardware
    • 전자 부품, 각종 보드, 주변 장치와 기계 설비
    • 정보가 처리되는 물리적 장치와 정보의 전송 경로
  • Software (=program)
    • 명령어들의 집합인 프로그램 체계
    • 프로그래밍 언어로 작성된 명령어 리스트
  • Firmware
    • 주로 컴퓨터 회로 상의 ROM 등에 설치된 넓은 의미의 system SW
    • HW와 SW의 중간 성질
  • BIOS (Basic Input Output System)

Development

우리가 알고 있는 가장 오래된 계산도구는 주판이다. 로마에서는 BC 3세기, 중국에서는 BC 6세기부터 사용했다고 하며, 일본은 이를 1600년대 중국에서 도입하여 사용했다. 그럼 과연 최초의 컴퓨터는 언제 어디서 시작되었을까? 이는 한마디로 말하기 쉽지 않다. 현대적 개념의 컴퓨터는 앞서 언급한대로 1930~40년대 등장한 것이 맞다. 제2차 세계대전으로 전세계가 어수선하던 시기에 세계 각지에서 다양한 원리와 형태를 지닌 컴퓨터들이 산발적으로 동시에 만들어졌다. 전쟁의 유일한 순기능은 기술의 비약적 발전이라는 이야기의 사례 중 하나라고도 볼 수 있다. 좀더 거슬러 올라가 인물을 위주로 정리해보자.

  • Blaise Pascal (1623~1662): 세계 최초의 수동 기계식 계산기 발명

  • Gottfried Leibniz (1646~1716): 사칙연산 계산기 제작

  • Charles Babbage (1791~1871): 하나의 장치에서 모든 계산이 가능한 최초의 기계 고안

    • 미분엔진 설계 (1822): log, 삼각함수 값 계산 목적
    • 해석엔진 고안 (1837): 현대적 컴퓨터의 원형 설계 (입출력장치, 기억장치, 연산장치, 제어장치)

    자동기계식 계산기 등 모든 부품을 기계로 설계해 당시는 성공하지 못했으나 MARK Ⅰ(1944)에 의해 그 원리가 완성되었다.

  • George Boole (1815~1864): 현대 기호논리학의 창시자, Boolean algebra 고안

  • Herman Hollerith (1860~1929): 천공카드(최초의 통계처리 기계) 발명

  • Konrad Zuse (1910~1995): 독일 엔지니어, Z1(최초의 이진 디지털 컴퓨터) 개발. Z3은 부동소수점 연산까지 계산

  • Grace M. Hopper (1906~1992): 미 해군 최초 여성 제독, 세계 최초로 컴파일러 개발.

    컴퓨터 역사에 bug라는 용어를 최초로 사용한 인물이다. 1947년 MARK Ⅱ가 오동작한 원인은 나방이 relay에 끼어 죽었기 때문이다. 현대에는 ‘버그’를 프로그램에서 부정확한 결과나 충돌을 일으키는 오류나 결함으로 사용한다. 디버깅(Debugging)이 그 수정 작업이다.

  • Alan Turing (1912~1954): 영국의 천재 수학자, 컴퓨터 과학의 아버지. 컴퓨터의 수학적 모델을 만들었으며, Turing test로도 유명.

    암호 해독 기계로도 유명하다. 이를 다룬 영화가 ‘이미테이션 게임’이다.

그러다가 등장한 것이 바로 에니악이다. 에니악은 전쟁통에 미국 펜실베이니아 대학(UPenn)에서 개발된 세계 최초의 범용 전자식 컴퓨터이다. 진공관으로 만들었으며, 하드웨어로 조정되는 계산장치이므로 매번 배선의 갱신이 필요하다.

  • Maurice Wilkes (1913~2010): 1949년 에드삭 완성
    • EDSAC은 세계 최초의 프로그램 내장방식 컴퓨터
    • Assembly와 subroutine library를 최초로 고안 → 고급 언어 개발 계기
    • 폰 노이만이 개발한 짧은 라이브러리 프로그램들 모음을 천공카드 형태로 기록해 내장
  • John von Neumann (1903~1957): 폰 노이만 구조 제안
    • 현대적 컴퓨터의 개념
    • 프로그램 내장 방식과 순차 실행
    • IAS compter

이후 상업용, 개인용 컴퓨터가 등장하기 시작했다.

Personal Computer

PC라고도 불리는 개인용 컴퓨터는 서버나 워크스테이션과 달리 대부분의 성능을 1인이 독점적인 우선권을 가지고 사용하는 컴퓨터이다. 과거 공동 사용하던 것에 대응하는 1인 1대 개념으로 볼 수 있다. PC하면 빼놓을 수 없는 두 사람이 있다. 바로 Microsoft의 Bill Gates와 Apple의 Steve Jobs이다.

  • Bill Gates (1955~):하버드대학의 미니컴퓨터 PDP-11을 이용, Altair에서 작동하는 베이직(BASIC) 언어를 개발해 판매했다. 1975년 대학을 중퇴하고 Paul Allen과 함께 Microsoft, MS사를 설립했다.
  • Steve Jobs (1955~2011): 1976년 Steve Wozniak과 Apple I 컴퓨터를 제작 및 판매했으며, 1977년 Apple사를 창업했다. 게임기에 불과했던 Apple I을 업무용 도구로 전환시킨 Apple II 로 8비트 개인용 시장을 석권했다.

IBM PC 출시 당시 MS는 프로그래밍 언어와 컴파일러 개발에 몰두했고, 운영체제에 취약했다. 이때 CP/M의 기능을 복제한 86-DOS(Q-DOS)를 인수하여 IBM PC에 porting해 PC-DOS라는 이름으로 납품했다. 소프트웨어 저작권이 정비되지 않았던 시절, MS는 MS-DOS(Disk Operating System)를 저작권 등록하여 호환기종 제작자들에게도 팔 수 있게 되었다. IBM은 중재안으로 동시에 CP/M-86(240$)을 판매했지만, 안정적 성능의 원본임에도 불구하고 복제본인 PC-DOS(40$)에 비해 너무 비쌌다.

1980년대 8비트 PC시장은 Apple의 승리였다. 한국은 세운상가에서 APPLE Ⅱ 호환기종으로 시작했다. 반면 16비트 시장은 IBM의 승리였다. 개인용 컴퓨터 시대는 애플의 성장에 자극을 받아 이를 도전으로 받아들인 IBM PC가 등장하며 시작됐다. IBM PC가 널리 알려진 것은 업무용 PC로 보급된 8비트 IBM PC XT, 16비트 IBM PC AT와 호환기종 덕분이다. 32비트 초반은 1990년대 Apple이 시장을 선점했으나 성능이 뛰어난 대신 가격이 높았으며 호환기종을 허락하지 않았고, 1990년대 중반 386, 486부터 IBM PC 호환기종이 독주함으로써 한국도 일반 가정마다 컴퓨터가 본격적으로 보급되었다.

  • IBM: Original IBM - XT - AT - PS/2 - PS/1 - 호환기종(clone)

    • 초기 IBM은 개방형 구조를 채택하여 HW interface와 확장이 용이했다. 이로 인해 PC와 관련된 주변 산업들이 급속도로 발전하기 시작했고, 일반 사용자도 PC를 직접 조립할 수 있게 되었다.
    • 하지만 IBM의 독주를 막기 위해 Apple과 Motorola의 합작으로 PowerPC라는 RISC 방식 CPU 칩을 개발했고, IBM은 MS를 배제시키고 32비트 운영체제 OS/2를 사용하기 시작했다. 즉 32비트 기종부터 개방형 구조를 포기한 것이다.
    • 자연스레 호환기종 제작자들은 32비트 기종부터 PC를 독자 설계하기 시작했고, Wintel(Windows + Intel)이 새로운 버스 방식 등을 개발하여 시장을 장악하게 되었다.
    • 결국 IBM PC 사업부는 자사를 2005년 중국 기업 Lenovo사에 매각하게 되었다.
  • Apple: Macintosh(1984)

    • UI를 중시하여 PC 최초 GUI System을 제공했다. 무려 MS보다 10년 먼저.

    • 뛰어난 비디오 화질, 사운드 음질, 앞서가는 사양으로 교육 분야, 그래픽 디자인이나 출판 등에서 인기를 얻었다.

    • 하지만 타 기종과의 호환을 허락하지 않아 사용할 수 있는 소프트웨어가 부족해 늘 불편을 겪었다. 결국 회사 내부 핵심 엔지니어와 경영진 간 불화와 더불어 싸고 호환성 좋은 IBM PC 상승세에 Mac 판매가 급감하며 1985년 스티브 잡스는 자신이 만든 회사에서 쫓겨나게 되었다.

    • 그리고 13년만에 복귀해 변화와 혁신을 통한 부활로 파산 직전의 Apple을 흑자로 돌려놓았다. 인터넷과 접목한 미디어 제품 개발에 눈을 돌린 것이다.

      회사 명칭도 Apple Computer, Inc. 에서 Apple Inc.로 변경했다. (2007)

Type

컴퓨터는 용도와 특징에 따라 다음과 같이 분류할 수 있다.

table

더 자세한 분류는 다음 포스팅에서 이어서 정리해 보겠다.