컴퓨터 (computer)
라는 단어는 전자회로를 이용해 다양한 종류의 데이터를 처리하는 기기를 일컫는다. 하지만 폭넓은 의미에서 보면 컴퓨터는 전자 회로의 유무와 관계 없이 계산을 할 수 있는 기기 전반을 가리킨다. 컴퓨터라는 단어는 ‘계산하다’ 라는 뜻을 가진 라틴어인 ‘computare’에서 유래되었기 때문이다.
전자 회로를 이용한 고속의 자동 계산기. 숫자 계산, 자동 제어, 데이터 처리, 사무 관리, 언어나 영상 정보 처리 따위에 광범위하게 이용된다.
인류 역사상 최초의 컴퓨터 (계산기) 라고 할 수 있는 주판은 기원전 2400년경에 바빌로니아에서 원시적인 형태의 것이 개발된 이후, 기원전 200년경에 중국에서 개량을 거쳐 거의 2000년 이상 쓰였다. 하지만 주판은 사용방법을 익히는데 시간이 걸리고, 계산 과정의 상당 부분을 여전히 사람의 머리에 의존해야 했다. 자동으로 계산을 할 수 있는 최초의 계산도구는 17세기부터 본격적으로 개발되기 시작했다.
대표적인 것이 1623년에 독일의 빌헬름 시카드 (Wilhelm Schickard, 1592~1635) 가 처음 발표한 기계식 계산기다. 기계식 계산기는 톱니나 피스톤과 같은 기계 부품으로 구성된 것으로, 이를 사람이나 태엽의 힘으로 돌리면서 계산을 할 수 있었다. 다만, 이는 물리적으로 맞물린 기계 부품으로 구성된 탓에 구조가 복잡하고 고장이 잦아 관리가 어려웠으며, 복잡한 계산을 할수록 뻑뻑해져서 구동이 잘 되지 않는다는 단점이 있었다.
기계식 계산기의 단점을 극복한 전자식 계산기, 즉 근대적인 의미의 컴퓨터는 19세기부터 고안되기 시작했다. 1822년에 영국의 찰스 배비지 (Charles Babbage, 1792~1871) 가 기계식 디지털 계산기인 ‘차분기관 (difference engine)’ 을 발표했다.
배비지의 차분기관은 기존의 기계식 계산기와 달리 로그 함수와 삼각 함수의 계산이 가능했다. 차분기관은 핸들을 돌려 작동했지만, 천공 카드 (일정한 패턴의 구멍을 뚫어 데이터를 기록하는 종이 카드) 를 이용해 디지털 데이터 (0과 1) 를 기록할 수 있다는 점은 오늘날의 컴퓨터와 유사한 점이 있다.
1904년에는 영국의 존 플레밍 (John Ambrose Fleming, 1849~1945) 이 진공 상태에서 전자의 흐름을 조절해 신호의 변경과 증폭을 가능케 하는 장치인 ‘진공관 (vacuum tube)’ 을 개발했으며, 1936년에 영국의 앨런 튜링 (Alan Turing, 1912~1954) 이 입력과 연산, 그리고 출력과 기억을 연속적으로 할 수 있는 ‘튜링 기계 (Turing Machine)’ 의 개념을 정의한 논문을 발표했다.
진공관의 개발과 튜링 기계의 발표로 인해 근대적인 컴퓨터의 핵심 부품 및 기본 동작원리가 확립되었다. 제2차 세계대전, 각 분야의 과학자들은 전쟁을 위해 소집돼 하나의 목표 즉, 승리를 위해 자신의 모든 것을 짜내야 했다. 서로 평행선을 그으며 좀처럼 마주치는 일이 없던 이질적 학문 분과의 학자들이 한곳에 모여 같이 연구를 하는 순간, 그전까지는 생각도 하지 못했던 많은 과학적인 성과가 나타났다.
원자폭탄과 같은 인류의 비극 또한 그런 과학자들에 의해 만들어졌으니 무작정 그들의 공동 연구에 찬사만 보낼 수는 없지만, 전시의 공동 연구가 종전 후 그들이 다시 학계 및 산업계로 돌아갔을 때 많은 긍정적인 변화를 이끌어냈음은 인정해야 할 것이다.
1939년, 미국 아이오와 주립대학의 존 아타나소프 (John Vincent Atanasoff, 1903~1995) 와 그의 조수였던 클리포드 베리 (Clifford Berry, 1918~1963) 는 ‘아타나소프 베리 컴퓨터 (Atanasoff-BerryComputer)’ 라는 세계 최초의 완전한 전자식 컴퓨터를 발표했다. 약자인 ‘ABC’로 더 많이 불린 이 컴퓨터는 1939년에 시험모델이 제작되어 최초 가동 실험을 했으며, 1942년에 완성품이 발표되었다.
1944년, 영국에서는 튜링이 고안하고 영국 체신청의 기술자인 토미 플라워스 (TommyFlowers, 1905~1998) 가 설계한 ‘콜로서스 (Colossus)’ 라는 전자식 컴퓨터가 개발되었다. 하지만 콜로서스의 존재는 극비라서 외부에 거의 알려지지 않았다.
그 이유는 콜로서스가 군사용으로 쓰인 탓이다. 콜로서스는 2차 세계대전 중에 독일군의 암호를 해독하는 작업에 주로 쓰였고, 많은 성과를 올렸다고 한다. 때문에 콜로서스를 세계 최초의 ‘실용화된’ 컴퓨터로 분류하기도 한다.
1946년에는 미국 펜실베니아 대학의 존 에커트 (John Presper Eckert, 1919~1995) 와 존 모클리 (John William Mauchly, 1907~1980) 가 당시로서는 최고의 성능을 자랑하던 컴퓨터인 ‘에니악 (ENIAC: Electronic Numerical Integrator and Computer)’ 을 발표해 화제가 되었다.
에니악은 초당 5,000번 이상의 계산을 하는 등, 이전까지 사용하던 컴퓨터보다 1,000배 이상 높은 성능을 발휘했다. 에니악을 비롯한 당시의 컴퓨터는 새로운 작업을 할 때마다 회로 및 기억장치를 바꿔 끼워야 하는 불편함이 있었다.
1945년에 헝가리 출신의 미국 수학자인 존 폰 노이만 (John vonNeumann, 1903~1957) 은 컴퓨터 내부의 기억장치에 소프트웨어 방식의 프로그램을 내장, 소프트웨어만 바꾸면 여러 가지 작업에 대응할 수 있는 프로그램 내장 방식 컴퓨터의 개념을 발표했다.
1949년에는 이를 실용화한 최초의 컴퓨터인 ‘에드삭 (EDSAC: Electronic Delay Storage Automatic Calculator)’ 이 등장했으며, 몇 개월 후에 에드삭의 개량형인 ‘에드박 (EDVAC:Electronic Discrete Variable Automatic Computer)’도 발표되었다.
에드삭과 에드박의 이른바 ‘폰 노이만 구조’는 현재 쓰이는 대부분의 컴퓨터에도 적용되고 있다. ABC와 에니악의 등장, 그리고 폰 노이만형 컴퓨터의 개발로 인해 실용적인 컴퓨터의 기본 개념은 거의 확립되었다. 이에 따라 1950년대부터는 이를 직접 민간 부문에 판매하고자 하는 경쟁, 즉 컴퓨터의 상용화가 시작되었다.
최초의 상용 컴퓨터는 1950년에 완성되어 이듬해부터 출시를 시작한 레밍턴 랜드(Remington Rand)사의 ‘유니박 (UNIVAC: Universal Automatic Computer) I’ 이다. 유니박 I은 대당 16만 달러에 판매되었다.
컴퓨터의 개념 및 정의"
컴퓨터 (computer) 기술은 현대의 과학 기술들 중에서 가장 급속히 발전하고 있는 분야이다.100년 전 까지만 해도 컴퓨터란 전자 기기가 아닌 주판이나 계산자 (계산척) 과 같은 전통적인 계산도구, 혹은 계산을 하는 사람을 뜻했다.
20세기 중반부터 전자식 자동 계산기에 대한 연구가 활발하기 이루어지고, 디지털 데이터의 입력과 출력, 그리고 연산 및 저장 방식에 대한 원리가 확립되면서 비로소 컴퓨터는 오늘날의 의미로 쓰이게 된다.
성능을 발휘하기 위해 에니악은 1만 7천 개 이상의 진공관과 7만개 이상의 저항기로 구성되었으며, 총 무게가 30톤에 이르렀다. 게다가 고장도 잦아서 매주 2~3번씩 진공관을 교체해야 했으며 전력 소모도 150킬로와트에 달했다. 하지만 미국 국방부에서는 에니악의 높은 성능에 주목, 탄도 계산, 날씨 예측, 원자폭탄 개발 등 다양한 용도로 활용했다.
에니악의 등장은 당시 큰 화제가 되었기에 한때는 에니악이 세계 최초의 컴퓨터로 알려지기도 했다. 하지만 이후 법정 공방 끝에 에니악이 아닌 ABC가 세계 최초의 컴퓨터로 인정받게 된다.
여러 가지 상용 컴퓨터가 등장했지만 여전히 대부분의 컴퓨터는 너무 비싼데다 덩치도 커서 여전히 정부기관이나 기업에서만 쓰였다. 하지만 1977년, 미국의 애플 (Apple) 사에서 ‘애플 II’라는 소형 컴퓨터를 출시하면서 컴퓨터의 대중화가 시작되었다.
애플 II는 크기가 작고 사용법도 간편했으며, 가격도 1,300달러 근처로 싼 편이라 큰 인기를 끌었다. ABC는 280개의 진공관과 1.6km 이상의 케이블로 구성되어 있었으며, 무게는 320kg 정도였다. ABC는 디지털(2진수) 방식의 데이터를 사용하며, 기계적인 장치(톱니 등)가 없이 완전한 전자식으로 연산을 했다.
그 외에 연산부 (프로세서) 와 저장부(메모리) 가 분리되어 있는 등, 현재 사용하는 컴퓨터와 유사한 점이 많았다. 하지만 실험적인 의미가 강했기 때문에 실용성은 없었다.
컴퓨터공학 (-工學, computer engineering) 은 컴퓨터의 하드웨어와 소프트웨어를 연구하여 컴퓨터 시스템과 컴퓨터와 관련된 여러 기술을 개발하고 학습하며 이를 각 분야에 응용하는 것을 목적으로 하는 학문 분야이다.
현재 우리나라는 전자공학(electronics, 電子工學) 분야의 학과에서는 하드웨어와 관련된 분야를 연구 및 학습하고, 전산 관련 학과에서 소프트웨어와 관련된 컴퓨터 시스템 분야, 프로그래밍 분야 등으로 나누어 가르치고 있다.
여기서는 전자공학의 하드웨어 관점에서 컴퓨터의 구성과 동작을 다루기 때문에 컴퓨터구조(-構造, computer architecture) 를 중심으로 하는 하드웨어를 중심으로 살펴보기로 한다.
컴퓨터구조" 는 시스템소프트웨어와 더불어 컴퓨터 시스템을 구성하는 핵심기술이다. 오늘날 컴퓨터는 휴대용 태블릿 PC에서부터 과학 계산 처리를 위한 초고속 슈퍼컴퓨터에 이르기까지 크기, 가격 및 성능에 있어서 매우 다양한 종류의 컴퓨터들이 존재하고 있다. 그런데 흥미로운 것은 그러한 컴퓨터들의 기본 구조와 동작 원리는 거의 동일하다는 점이다.
컴퓨터구조 학문에서는 이와 같은 컴퓨터구조의 기본 원리와 핵심기술을 학습한다. 컴퓨터의 성능을 높이기 위해 새로이 개발된 첨단 프로세서들의 구조와 시스템 설계 기술들에 관하여 학습하고, 연구하는 분야이다. 컴퓨터의 데이터 표현 방법부터 컴퓨터 병렬구조까지 컴퓨터구조를 이해하는 데 필요한 전반적인 내용을 다루며,
컴퓨터구조의 큰 틀을 이해할 수 있도록 컴퓨터의 기본적인 구성을 살펴본다. 컴퓨터 외부와 내부를 학습하고 컴퓨터구조의 기본 개념과 하드웨어 동작 과정을 연구하며, 컴퓨터 기본 이론 → 구성장치 → 컴퓨터 동작 과정 순으로 단계별로 연구한다.
1) 컴퓨터시스템의 개요;
(1) 연구목표;
① 컴퓨터의 기본 구조에 대하여 연구한다.
② 정보의 표현을 이해한다.
③ 시스템의 구성에 관하여 연구한다.
④ 컴퓨터구조의 발전 과정에 대하여 연구한다.
(2) 연구내용;
컴퓨터는 기본적으로 중앙처리장치 (CPU), 주기억장치 및 입출력장치로 구성된다. 주어진 프로그램을 읽어서 처리하고, 저장하는 기능을 빠르게 처리하는 방식으로 프로그램이 수행된다. 컴퓨터가 받아들이고 처리하는 정보의 종류에는 프로그램과 데이터가 있다. 컴퓨터의 주요 구성요소들의 동작원리를 이해하도록 한다. 초기의 컴퓨터들이 오늘날과 같은 눈부신 발전을 하게 된 것은 집적회로의 발전에 힘입은 바가 크다. 이 같이 주요 컴퓨터 부품들의 발전 과정과 컴퓨터 시스템들의 발전 경위를 살펴본다.
2) 중앙처리장치 (CPU) 의 구조와 기능;
(1) 연구목표;
① CPU의 기본 구조에 대하여 연구한다.
② 명령어 처리 사이클에 대하여 연구한다.
③ 명령어 파이프라이닝 등을 연구한다.
④ 연산의 종류, 명령어 형식 및 주소 지정 방식에 대하여 연구한다.
(2) 연구내용;
컴퓨터의 핵심 요소인 CPU가 기억장치에 저장되어 있는 명령들을 실행함으로써 ‘프로그램 수행’을 하게 된다. 여기서는 기본적인 기능을 수행하는 과정을 통하여, CPU의 구조와 동작원리를 이해하게 된다. CPU가 수행해야 할 기능으로는 명령어 인출(instruction fetch), 명령어 해독(instruction decode), 데이터 인출(data fetch), 데이터 처리(data process) 및 데이터 쓰기(data store)이다. CPU가 기억장치에 저장되어 있는 명령어를 인출하여 실행하는, 실제적인 작업을 수행하는 과정에 대하여 연구한다.
3) 컴퓨터의 산술연산 및 논리연산;
(1) 연구목표;
① 연산장치(ALU)의 구성요소에 대하여 연구한다.
② 정수의 표현에 대하여 연구한다.
③ 논리연산에 대하여 연구한다.
④ 정수의 산술연산에 대하여 연구한다.
⑤ 부동소수점 수의 표현 및 연산에 대하여 연구한다.
(2) 연구내용;
컴퓨터의 기본 기능은 수치에 대한 산술적 계산과 논리 데이터에 대한 연산이라고 할 수 있다. ALU는 수치 및 논리 데이터에 대하여 실제적으로 연산을 수행하는 부분이다. 산술적 계산은 정수와 부동소수점 수라는 두 가지 형태의 수들에 대하여 수행된다. 논리연산은 0과 1의 배열로 표현되는 2진 데이터에 대하여 이루어진다.ALU의 내부 구성은 산술연산장치, 논리연산장치, 시프트 레지스터, 보수기 및 상태레지스터 등인데 연산을 위한 이들의 동작을 연구한다.
4) 제어 유닛
(1) 연구목표:
① 제어 유닛의 기능 및 구조에 대하여 연구한다. ② 마이크로명령어의 형식에 대하여 연구한다. ③ 마이크로프로그래밍에 대하여 연구한다.
(2) 연구내용;
제어 유닛은 명령어 코드의 해독, 명령어 실행에 필요한 제어 신호들을 발생시킨다. 즉, 명령어 사이클이 반복적으로 수행되도록 모든 동작들을 제어하는 장치이다. 각 명령어 사이클은 여러 개의 마이크로-연산들이 수행된다. 제어 유닛에서 명령어의 실행을 제어한다는 것은 제어 기억장치에 저장된 해당 마이크로명령어들을 순서대로 인출하여 처리하여, 적절한 제어 신호를 제공해 주는 것이다.
5) 기억장치 및 보조기억장치;
(1) 연구목표;
① 기억장치 종류 및 특성에 대하여 연구한다.
② 반도체기억장치에 대하여 연구한다.
③ 캐시기억장치에 대하여 연구한다.
④ 보조기억장치의 종류와 특성들에 대하여 연구한다.
(2) 연구내용;
모든 컴퓨터들은 프로그램과 데이터를 저장하는 장치로서 주기억장치와 보조기억장치를 가지고 있다. 최근에는 CPU와 기억장치들 간의 속도 차이가 커지고, 저장용량이 증가하게 되었다. 시스템 성능을 향상시키고, 가격대 성능 비를 개선하기 위해 다양한 계층의 기억장치들이 시스템 내에 포함되어 있다. CPU가 직접 액세스할 수 있는 내부기억장치와 입출력제어기를 통하여 액세스할 수 있는 외부기억장치가 있다.
6) 시스템 버스, 입출력장치 및 인터럽트, 병렬컴퓨터;
(1) 연구목표"
① 시스템 버스 및 동작에 대하여 연구한다.
② 입출력장치의 접속 및 동작에 대하여 연구한다.
③ 인터럽트의 기능 및 동작에 대하여 연구한다.
④ 병렬컴퓨터에 대하여 연구한다.
(2) 연구내용"
컴퓨터 시스템을 구성하는 주요 요소인 CPU, 주기억장치 및 입출력장치들은 시스템 버스를 통하여 서로 접속된다. 이 시스템 버스의 조직, 동작원리, 그리고 버스 경합이 발생한 경우 중재 방법에 대하여 학습한다. 입출력장치들인 키보드, 디스플레이 장치 및 네트워크 제어기 등에 대하여 연구한다. 인터럽트라는 기능을 통해CPU와 입출력기기와의 효율적인 정보처리를 수행하는 것도 연구하게 된다. 이 밖에 여러 개의 프로세서들이 프로그램들 혹은 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술을 사용한 병렬컴퓨터에 대하여 연구한다. 병렬컴퓨터에서는 문제 분할과 프로세서 간 통신의 문제를 잘 처리해야 한다는 점을 연구한다.
주요 용어 및 관련 직업군"
1) 주요 용어;
병렬컴퓨터: 많은 수의 CPU가 병렬로 연결된 컴퓨터이다. 여러 개의 프로그램이 동시에 분산으로 처리되어, 성능이 훨씬 향상된다. 파이프라이닝: 하나의 CPU내에 여러 개의 연산 장치들이 있고, 명령어를 중첩하여 실행하고, 명령어를 병렬 처리로 프로세서 실행 효율을 높이는 기술이다. 논리연산: 연산의 대상 및 결과가 참과 거짓 두 개의 값 중 하나를 취하는 연산이다. 사칙연산 이외의 연산인 논리곱, 논리합, 부정 따위가 이에 속한다.
산술연산: 연산 대상을 수치 데이터로 간주하고 행하는 가감승제의 사칙 연산이다. ALU: Arithmetic Logic Unit의 약자로서 연산 장치이다. CPU의 일부로서 컴퓨터 명령어 내에 있는 연산자들에 대해 연산과 논리동작을 수행한다. 인터럽트: CPU가 프로그램 실행 중에, 입출력 하드웨어 등의 장치나 또는 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 기능을 말한다.
프로세서: 컴퓨터의 시스템 안에서 데이터를 산술적, 논리적으로 연산하는 중앙처리장치를 통틀어 이르는 말이다.
2) 관련 직업군, 업체 및 관련 자격증"
(1) 관련 직업군, 업체"
전자 관련 분야 중에서 컴퓨터하드웨어 설계, 개발, 생산 등의 직업군과 관련이 있다. PC, 노트북, 태블릿 컴퓨터 등을 개발하는 컴퓨터 관련 회사가 관련 직업군이다. 또한, 컴퓨터나 마이크로컨트롤러 등을 이용하여 전자제어 장치를 개발하는 업체들도 컴퓨터 관련 지식을 응용할 수 있는 직업군이라 할 수 있다. 컴퓨터 부품, 주변기기 개발기술자 및 연구원, 컴퓨터하드웨어 기술자 및 연구원, 컴퓨터, PC, 노트북 PC, 태블릿PC 개발업체, 게임기 개발업체, 제어시스템 및 자동화 장비, 설비 개발업체, 교육 연구기관"
(2) 관련 자격증'
전자공학과를 졸업한 사람은 자격시험에 응시하여 합격하면, 다음과 같은 전자관련 자격증을 취득할 수 있다. 자격증과 관련한 시험일정 및 시험과목 등은 ‘한국산업인력관리공단’에 접속하면 상세한 정보를 얻을 수 있다. 컴퓨터 역시 전쟁을 위해 만들어졌다.
최초의 컴퓨터는 에니악(ENIAC)으로 알려져 있지만 그 이전인 1941년, 독일의 공학자 콘라드 주제가 최초의 전자/기계식 컴퓨터인 Z3를 개발했고, 영국에서는 독일군의 암호를 해독하기 위한 최초의 전자식 디지털 컴퓨터인 콜로서스 1호를 만들어낸 바 있다.
전시에 탄도 계산이나 암호해독 등에 이용하기 위한 군사 장비가 바로 컴퓨터였다. 일반적으로 가장 많이 사용하는 PC(Personal Computer: 개인용 컴퓨터)의 규격은 1981년, 미국 IBM사에서 ‘IBM 퍼스널 컴퓨터 (Personal Computer) 5150’를 출시하면서 정착되었다. IBMPC는 비교적 값이 싸고 쉽게 구할 수 있는 부품으로 구성되었으며, 내부 구조 역시 완전히 공개함으로써 IBM 외의 다른 회사, 혹은 개인이 직접 IBMPC와 호환되는 기종을 만들 수 있었다.
에니악이 미국에서 개발되었는데 역시 포탄의 궤적을 계산하거나 수소폭탄의 폭발을 예측하는 등 군사적 목적으로 사용되었다. 18,000개의 진공관이 들어가 무게가 30톤에 이르는데다 가격은 50만 달러(약 70억 원)에 이르렀기 때문에 일반인은커녕 학계나 산업계에서도 관심을 갖지 않았다.
콘라드 주제는 적국이었던 미국이나 영국의 학자들과 교류가 없었던데다 Z3의 본채도 연합국의 폭격으로 파괴되었기에 오랫동안 알려지지 않았고, 콜로서스 1호 역시 그 존재 자체가 일급비밀이었기에 1970년에 이르기까지 일반인에게 알려지지 않았다. 자기테이프 저장 방식으로 데이터 저장에 용이했으며, 그 이전까지의 2진수를 이용한 입출력을 극복해 컴퓨터가 문자와 숫자를 2진법으로 변환시킬 수 있도록 해주는 어셈블리 언어 (assemblylanguage) 가 적용되었다. 이때를 기점으로 컴퓨터는 군사 외의 분야에서도 매력적인 장치가 되었다. 유니박은 1951년 미국 인구 통계국에 설치된다.
에니악을 개발하는 데 참여했던 두 명의 엔지니어 존 에커트, 존 윌리엄 모클리는 데이터를 천공카드가 아닌 자기테이프로 저장하는 유니박 (UNIVAC, UniversalAutomaticComputer)를 개발했다. 이전의 에니악에 비해 획기적일 정도로 빠르고 무엇보다 공간을 절약해 주었다.
일반인이 원자가속기를 갖고 싶어 하지도, 가질 수도 없듯이 그 당시의 컴퓨터는 누구도 가질 필요도, 가질 수도 없는 물건이었다. 최초의 상업용 컴퓨터를 판매할 기회를 잃은IBM은 한동안 시장에서 고난을 겪게 되고IBM회장은 길길이 날뛰었다.이에 개발자들은 ‘이거라면 기업에 팔 수 있지 않을까?’라고 생각했다.
그리고 IBM과 접촉하게 된다. 그러나 당시 전자계산기 및 타자기에 있어 1인자 자리를 고수하고 있던 IBM은 독점법의 규제로 인해 유니박을 판매할 수 없었고, 결국 유니박은 IBM의 경쟁업체였던 레밍턴 랜드 (RemingtonRand) 에서 판매를 시작했다. 결국 IBM은 유니박보다 훨씬 더 작고 유지비가 적은 IBM 650을 개발해 내는 데 성공한다.
최초로 대량생산된 컴퓨터인 IBM 650은 연구소와 기업 등에 속속 도입되게 되었다. 영업망과 대량생산 시스템을 갖춘 IBM은 이후 경쟁자들을 모두 물리치며 업무용 컴퓨터의 1인자로 군림하게 된다. MITS의 설립자인 포레스트 밈즈는 잡지에 앨테어가 실린 이후 하버드 재학생이라는 두 명의 젊은이에게 운영체제를 만들어주겠다는 연락을 받게 된다. 그리고 얼마 후 두 젊은이는 앨테어를 구동시킬 적합한 운용체계를 만들어 가져왔다.
포레스트 밈즈는 기쁜 마음에 곧바로 계약을 하려고 했다. 폴 앨런과 빌 게이츠가 MITS와 파격적인 조건으로 계약하는 동안 또 다른 두 명의 친구 또한 시대의 전환에 참여하려 하고 있었다. 1976년, 그들은 첫번째 개인용 컴퓨터를 만들어낸다.
특징을 바탕으로 IBMPC 및 그 호환 기종들은 이전에 나온 애플 II를 완전히 밀어내고 개인용 컴퓨터의 대명사가 될 수 있었다.
현재 사용하는 PC들도 기본적인 아키텍처(Architecture: 시스템 전반의 구조 및 설계방식)는 여전히 IBMPC 호환 규격을 따르고 있다. 문제가 생겼다.
그때까지HP에서 연구원으로 일하고 있던 둘 중 하나가 HP에 입사 시에 계약을 한 것이 있었는데 “사원이 발명한 것의 특허는 회사에 귀속된다”는 조항을 뒤늦게 발견한 것이다.
1977년, MITS (MicroInstrumentationandTelemetrySystems) 사가 일반인을 대상으로 한 최초의 가정용 컴퓨터를 만들어낸다. 그 이름은 ‘앨테어 8800’. 손으로 들 수 있는 상자 크기의 본체, 397달러라는 저렴한 가격으로 이 컴퓨터는 전 세계의 이목을 끌게 된다. 다만 아직 이 컴퓨터를 구동시킬 운영체제가 없다는 것이 문제였다.
1977년 3월 16일, 미 서부해안 컴퓨터 전시회(WestCoastComputerFaire) 에서 둘은 이 새로운 컴퓨터를 공개했고 사람들은 환호하며 그들의 부스에 모여들었다. 이 전시회를 통해서 애플이라는 회사와 스티브 잡스, 스티브 워즈니악이라는 젊은이는 이름을 알리게 된다.
컴퓨터를 발표한 이후 시장의 주목을 받은 스티브 잡스는 커다란 성공과 함께 많은 재무적 투자자를 얻게 되고 회사를 전문적으로 관리해 줄 CEO도 영입한다. 당시 펩시의 CEO였던 존 스컬리는 스티브 잡스의 한마디에 애플로 넘어오게 된다.
애플은 어느 모로도 그럴듯한 회사의 모습을 갖추게 되었고 그때부터 정말 IBM를 타도하겠다는 청년들의 꿈은 망상이 아닌 실현가능한 것이 되어갔다.
비즈니스용"
PC의 일인자였던 IBM은 애플의 발 빠른 침식에 당황했다. 폴 앨런은 MITS 사에서 나와 마이크로소프트라는 회사를 세웠다. 프로그램을 납품하며 어느 정도 성장을 해나가고 있지만 또래였던 스티브 잡스에 비하면 자신은 초라하기 그지없었다. 그러나 이렇게 자학하던 그의 머릿속에 스파크가 하나 인다.
IBM 의 초조함을 감지한 그는IBM이PC시장에 뛰어들면 충분히 애플을 이길 수 있음을 역설하며 자신이IBM의 개인용 컴퓨터에 운영체제를 제공해 주겠다고 장담한다.
천공카드나 토글스위치로 작동되던 불편한 컴퓨터와 달리 새로운 컴퓨터는 키보드를 통해 입력하고 모니터로 결과를 볼 수 있도록 만들어졌다.IBM측에서 그 운영체제의 이름이 무엇이냐고 묻자 그는MS-DOS (MicrosoftDiskOperatingSystem) 라 대답한다
IBM은 사실 개인용 컴퓨터 시장에 진입할 준비를 하고 있었는데 가장 필요하던 것을 빌 게이츠가 나타나 제공해 주겠다고 말했던 것이다. 소프트웨어를 장당 판다는 개념이 없었던 때였다. 보통은 납품을 해준 후에 일시불로 받는 것이 주류였는데 IBM 측은 생소한 계약에 잠시 당황했다. IBM, 마이크로소프트, 애플의 운명을 크게 뒤바꿔 버린 역사적인 계약이었다.
빌 게이츠는 계약을 성사시키고 환희했지만 문제가 있었다. 계약을 하면서 팔아넘기기로 한 물건 자체를 그는 가지고 있지도 않았던 것이다. 이후 그는 프로그래머들을 수소문해 시애틀컴퓨터 사의 Q-DOS를 사들여 그것을 변형시킨MS-DOS를 만들고IBM에 정상 납품하는 데 성공한다. IBM에 대한 적개심을 가지고 있던 스티브 잡스는 빌 게이츠에게 설득당해 손을 잡게 된다.
빌 게이츠 같은 애송이는 자신에게 어떤 해도 줄 수 없다는 자만심과 함께. 애플은 순순히 당할 생각이 없었다. 기업과의 단단한 영업망을 가지고 있던 IBM은 기업시장부터 반격을 가하기 시작한다. 프로그램을 제공하는 마이크로소프트 그리고 CPU를 납품해 주고 있던 인텔이라는 하도급 업체의 도움을 받아 IBM은 1위 탈환을 위해 빠르게 달리기 시작했다.
제록스 사에서 도입한 GUI [(GraphicalUserInterface),그래픽 기능을 활용한 사용자 중심의 인터페이스)], 마우스를 이용한 새로운 운영체제를 준비하고 있었다. 차기작은 세계를 놀라게 할 만한 작품이었다. 전보다 더 세련되고 더 빠르고 전혀 다른 그런 작품. 빌 게이츠는 애플과의 협력 관계에서 관찰할 수 있었던GUI운영 시스템을 응용해IBM에MS-Windows라는 운영체제를 납품하려 한다. 이를 알게 된 스티브 잡스는 길길이 날뛰었다. 새로운 GUI 시스템을 적용한 애플의 컴퓨터 리사 (AppleLisa) 가 공개된다.
"이 컴퓨터는 사람들을 두 가지 면에서 놀라게 했다."