컴퓨터공학개론 1 장컴퓨팅의간략한역사
학습목표 오늘날대부분의사람들이컴퓨터운영자인이유를배운다 현대의컴퓨터하드웨어와소프트웨어의조상들에대해서배운다 여러세대에걸친컴퓨터하드웨어와소프트웨어의개발과정을추적한다. 2
학습목표 ( 계속 ) 때로는좋은아이디어가실패하고나쁜아이디어가살아남을수있음을배운다 유명한사람, 악명이높은사람, 부유한사람, 잘알려지지않은사람등흥미로운사람들을접한다 현대의컴퓨팅이직면하고있는일부논제들을이해한다 3
컴퓨팅의간략한역사를 배워야하는이유 컴퓨터는모든곳에존재 통신도구 예술가, 건축가, 디자이너를위한도구 정보보관 오락장치 기차, 비행기, 자동차 혁명을일으킨것은무엇인가? 미래에놓여있는것은무엇인가? 4
고대역사 고대아씨리아에서의컴퓨터의기원 산술 / 삼각해법을위한석판 (tablet) 수학으로사회적인또는개인적인문제들을해결 수학적인개발을이끈원동력 재산소유와측정의필요성 수직적인건축과피라미드 항해와시간에대한통제의필요성 컴퓨터는계산을수행 5
파스칼과라이프니쯔로부터의태동 종이표, 나무표, 석표, 파피루스표, 주판을 컴퓨터 로사용 1622: 계산자 (slide rule) 의발명 1642: 블레이즈파스칼 (Blaise Pascal) 에의한기계적계산기의발명 1694: 라이프니쯔바퀴 (Leibniz Wheel) 는산술연산을확장 6
조우지프재커드 (Joseph Jacquard) 1801 년에프로그램가능한직물기를개발 재커드직물기는직물을위한패턴을짜는데사용 매개변수의입력과저장을허용 선택핀의방향을천공카드로결정 플레이어피아노와유사 저장프로그램 (stored program) 개념 7
그림 1-1 재커드직물기 ; 기계로입력되는천공카드의열에주목 8
챨즈배비지 (Charles Babbage) 1823 년에차분엔진을발명 장치는덧셈, 뺄셈, 곱셈, 나눗셈을수행 분석엔진을설계 현대컴퓨터의주요컴포넌트를포함 입력과출력장치, 메모리와 CPU 기금부족으로제작하지못함 에이다러브레이스바이런 (Ada Lovelace Byron) 과협력 프로그램루프 (program loop) 개념제시 Ada 프로그래밍언어의이름의주인공 9
허만홀러리쓰 (Herman Hollerith) 1880 년에전자기계적인카운터를발명 1890 년의미국인구조사에서집계작업에활용 기계는천공카드를입력으로사용 단일 - 목적기계 이기술을기반으로설립된회사가 IBM 이됨 IBM 은 1944 년에다중 - 목적 Mark I 의개발을이끌어냄 Mark I 은진공관으로인해빠른속도로진부해짐 10
그림 1-2 홀러리쓰인구조사집계기계 11
컴퓨터전자공학의발전 찰즈샌더스파이어스 (Charles Sanders Peirce) 는부울 (Boole) 의작업을확장 전자스위치를불리언대수의참 / 거짓조건으로사용 벤자민버랙 (Benjamin Burack) 이 1936 년의논리기계에서이러한개념들을구현 존어태너소프 (John Atanasoff) 와클립포드베리 (Clifford Berry) 는진공관을이용해컴퓨터를구축 2 차세계대전이개발에있어서전환점을제공 12
전시연구로인한기술혁신 군의수요 : 무기테스트를위한궤도표 미해군의군수부가 Mark I 개발기금을지원 미육군이 ENIAC (Electronic Numerical Integrator and Computer) 개발기금제공 ENIAC 은 Mark I 보다 1000 배의속도로동작 ENIAC 과 Mark I 은너무늦게개발되어전쟁에는도움을주지못함 13
ENIAC 의문제점 ENIAC 과 EDVAC 소음과 30 톤의크기 : 거대한지하실을가득채움 18,000 개진공관은지속적인관리를필요로함 산술연산에 6,000 개스위치의조작필요 ENIAC 의강점 산술과논리연산을수행 기호변수를통한다중 - 목적활용 ENIAC 의기타약점 프로그램내용을수정할수없음 외부적으로프로그램이작성되어야함 14
그림 1-3 ENIAC 과프로그래머들 15
ENIAC 과 EDVAC ( 계속 ) EDVAC (Electronic Discrete Variable Automatic Computer) 은 1944 년에제작됨 폰노이만기계 (Von Neumann machine) 로인식됨 후속컴퓨터들에대한월등한모델 연산은메모리의프로그램에의해통제됨 프로그램은수정될수있음 저장프로그램개념 : 재사용가능프로그램 영국의대응 : Colossus Colossus 는독일 U- 보트의 Enigma 코드해독에사용 모든기계들은 1960 년대까지모두파괴됨 16
그림 1-4 2 차세계대전에서독일의정보부가암호문제작에사용한 Enigma 기계 17
컴퓨터시대의시작 : 1 세대 1950 년대 : 하드웨어와소프트웨어에대한 1 세대 진공관은기계를위한메모리로사용됨 데이터는자기드럼과자기테이프에기록됨 종이테이프와데이터카드가입력에사용됨 라인프린터등장 소프트웨어가하드웨어로부터분리되어발전 명령어는이진또는기계코드로작성됨 어셈블리언어 : 추상화의첫번째계층 프로그래머는시스템엔지니어와응용엔지니어로분화됨 18
그림 1-5 그레이스머레이호퍼와 UNIVAC 19
UNIVAC UNIVAC: 최초의상업적자생력을갖춘컴퓨터 미국인구조사국이최초의고객 Mark I 의제작자인하워드에이킨 (Howard Aiken) 의비판에직면함 UNIVAC 과 1952 년의대통령선거 CBS 방송중결과를성공적으로예측 모든주요뉴스네트워크에빠르게채택됨 20
IBM (Big Blue) IBM 은 1960 년대까지메인프레임시장에서우위를차지 강력한판매문화 시장의 70% 를장악 IBM 비전 소수제품에예리하게집중 기존의비즈니스관계를개선 규모조절가능 ( 유연한 ) 시스템도입 10 년내지 15 년수명의시스템을임대 21
그림 1-6 IBM 360 메인프레임컴퓨터는냉장고정도의크기였고관리를위한전담직원이필요했다 22
2 세대의트랜지스터 소프트웨어발전 어셈블리언어의한계 고수준언어의등장 : FORTRAN, COBOL, LISP 하드웨어개발 트랜지스터가진공관을대체 자기코어를이용한 RAM 을사용할수있게됨 자기디스크는 2 차저장장치로사용됨 23
3 세대의회로기판 집적회로 (IC) 또는칩 (chip) 보드상의소형화된회로컴포넌트 반도체특성 비용과크기를절감 신뢰도와속도를개선 운영체제 (OS) 작업을관리하는프로그램 시스템자원을활용 다중사용자를허용 24
그림 1-7 IBM 천공카드더미 25
시분할 시스템자원을다중사용자에게할당 천공카드대신에긴종이롤을이용해입력 생산성증가가응답시간의증가를상쇄함 범용목적기계사용이늘어남 프로그래머들은최종사용자를위해조정이된소프트웨어를작성 응용수준과 OS 수준의구분 통계및회계프로그램은구현세부사항을숨김 26
소형화의시대 4 세대의 70 년대 LSI 칩은 15,000 개회로를포함 VLSI 는 100,000 개에서 1 백만개까지의회로를포함 무어의법칙 (Moore s Law) 회로밀도는매 1.5 년마다 2 배로증가 메모리용량과속도는증가하고비용은감소 미니컴퓨터산업의성장 마이크로컴퓨터의등장 27
원인 개인용컴퓨터발전 엔지니어의하드웨어비전 도전을찾는인습타파적소프트웨어개발자 꿈을실현하려는전자공학동호인 의지의역할 컴포넌트들이이미개발되어있음 사회적경제적지원 28
Intel 4004 칩 Intel 4004 개의트랜지스터탑재 더많은기능을제공 중앙처리장치 (CPU) 의선구자 게리킬달 (Gary Kildall) 이 Intel 마이크로프로세서를위한 OS 를작성 소프트웨어와하드웨어는별도의시장을형성 29
Altair 8800 Popular Electronics 잡지가개발동기를제공 에드로버츠 (Ed Roberts) 가 Altair 8800 발표 Intel 8080을기반으로한키트 3개월이내에 4000개의주문생성 Altair 8800 특징 I/O는 ENIAC과유사 개방아키텍처가적응성을제공 휴대가능 30
그림 1-8 조립이된 MITS Altair 8800 31
빌게이츠와폴알렌과 Microsoft 의등장 빌게이츠 (Bill Gates) 와폴알렌 (Paul Allen) 은 BASIC 인터프리터를개발 마이크로컴퓨터프로그래머를위한고수준언어 MITS 와일시적으로협력 1975 년에 Micro-Soft 회사를설립 32
그림 1-9 1981 년의폴앨런과빌게이츠 33
마이크로컴퓨터발전의시작 마이크로컴퓨터의이윤이더많은사람들을유혹 Radio Shack, IMSAI, Sphere 등이사업에뛰어듦 Altair의버스는 S100 업계표준이됨 MITS의실책 결함있는하드웨어의가격을 BASIC에연계 8080과호환성이없는신모델을개발 1977 MITS가팔림 하드웨어회사들이경쟁적모델을출시 34
Apple 1976: 스티브잡스 (Steve Jobs) 와스티브워즈니액 (Steve Wozniak) 이 Apple I 을제안 1977: Apple II 가개발되고출시됨 Motorola 6502 프로세서기반 동호인은물론업계에서도관심을끔 응용개발을증진시킴 VisiCalc 스프레드시트프로그램 Apple II 판매를증진 새로운호칭을얻음 : 킬러응용 (killer app) 비즈니스분야에서폭넓은관심의대상이됨 35
그림 1-10 APPLE II 는최초의대중적 PC 였다 36
IBM 의 PC 제안 IBM 은새로운방식으로마이크로컴퓨터를제작 독립제품인 Intel 8088을수용 비-독점 CPU를사용 접근가능한문서를생성 개방아키텍처를제안 신제품이름 : 개인용컴퓨터 (PC) PC는소매상점을통해판매됨 37
MS-DOS IBM은 OS 개발을위해 Microsoft를선택 Microsoft는 MS-DOS를개발 킬달 (Kildall) 의 8 비트 CP/M 기반 16 비트 CPU (Intel 8088) 에서실행 경쟁에서우위를차지 IBM 은운영체제를 PC-DOS 라고부름 38
Apple Macintosh 의견제 스티브잡스 (Steve Jobs) 는 Xerox PARC 를방문 Alto: 그래픽, 메뉴, 아이콘, 윈도우, 마우스 동작하는 Ethernet 네트워크를목격 하이퍼텍스트에대해배움 잡스는 Xerox 의아이디어로성공 복사기에집중한 Xerox 가버린아이디어를집음 다수의 Palo Alto 컴포넌트들을 Macintosh 에수용 1984: Macintosh 발표 그래픽사용자인터페이스 (GUI) 마우스 : 포인트 - 클릭방식과편의성 39
그림 1-11 Macintosh 설계팀원 40
다른 PC( 와강력한 OS 경쟁자 ) 의등장 Microsoft 는 IBM 과이중의논쟁을벌임 OS에개방아키텍처개념을채택 Microsoft에 OS를판매할수있는자유를줌 Microsoft 는 Apple 에대응 Windows 3.1은 Mac의 GUI 특징들을수용 Microsoft의 OS를사용하는경쟁적인 PC 복제품등장 Microsoft 위치의격상 OS의존재가응용소프트웨어판매를증진시킴 판매시너지와라이센싱이 PC 파이의 90% 를제공 41
마지막세대 (5 세대 ) 병렬컴퓨팅 병렬아키텍처로도알려짐 여러 CPU를결합해동시에작업을실행 3 개의접근법 SIMD ( 단일명령, 다중데이터 ) 스트림 MIMD ( 다중명령, 다중데이터 ) 스트림 네트워크간의연결 용도 웹페이지, 데이터베이스, 네트워크제어 수학모델링및과학연구 (Cray) 42
인터넷 ARPA 는새로운통신시스템을제안 자원공유 공통프로토콜 결함감내 1969: ARPANET 태동 4 개의컴퓨터와 4 개의위치로구성 상이한시스템들이 IMP (Interface Message Processor) 를통해연결됨 ARPANET 은빠른속도로성장 프로토콜로인해네트워크에대한참여가쉬워짐 전자메일이네트워크트래픽의 2/3 를차지 43
LAN 과 WAN 과다른 AN 네트워크의네트워크로서의인터넷 광역망 (WAN: Wide Area Network) 지역망 (LAN: Local Area Network) 무선지역망 (WLAN: Wireless Local Area Network) 대도시망 (MAN: Metropolitan Area Network) 도시망 (UAN: Urban Area Network) 네트워크기술 Ethernet 광섬유 무선기술 44
수퍼소프트웨어와웹 객체 - 지향프로그래밍 (OOP) 컴퓨터 - 지원소프트웨어공학 (CASE ) WWW(World Wide Web) 의유래 1990: 팀버너스 - 리 (Tim Berners-Lee) 가하이퍼텍스트를개발 프로토타입브라우저가 NeXT 컴퓨터상에서제작됨 마크앤드리센 (Marc Andreesen) 과 Mosaic Microsoft 와 Internet Explorer 웹컴포넌트 웹페이지 브라우저 네트워크기술 45
그림 1-12 WWW 의창시자인팀버너스 - 리 46
Microsoft 의시대와그이후 브라우저전쟁 Microsoft 는 IE 브라우저를 Windows 에통합시킴 Netscape 는 Microsoft 와반대로감 : 개방소스선택 전쟁은소송으로이어짐 미정부는 Microsoft 에대한반독점소송제기 2001 년까지대부분의반독점소송이철회되거나약화됨 Linux OS 가 Windows 를위협 저비용, 개방소스, 신뢰성 Microsoft 의전망 세계소프트웨어의 10% 차지 Microsoft 는 PC 시장밖에서는소규모소프트웨어플레이어에불과 47
미래에대한예측 병렬컴퓨팅 컴퓨팅파워의큰폭증가 인터넷은물론지역망을통한구현도가능 무선네트워킹 Bluetooth 내장또는유비쿼터스컴퓨팅 경제의디지털화 사생활과보안 개방소스운동 48
맺는말 개발은수요와갈망의산물 여러종류의힘들이발명의원동력이됨 상업적및물리적요구사항 (IC) 문제풀이의필요성 ( 분석엔진 ) 새로운것을만들고자하는갈망 (Apple I) 전쟁에서승리하려는목표 (2차세계대전 ) 성공의필요성 ( 빌게이츠 ) 발전적인관점 역사연구의목적 실수를피하고승리를체험 49
요약 컴퓨터의발전은수학의발전과관련이있고시간과공간을지배해야할필요성이원동력이되었다. 석판에서전자적기계에이르기까지, 컴퓨터의핵심목적은수학적인그리고언어적인기호를조작하는것이었다. 고대로부터현재에이르기까지의많은문명들이컴퓨터와컴퓨터과학의발전에기여하고있다. 50
요약 ( 계속 ) 기계적계산기는 17 세기에파스칼과라이프니쯔에의해발명되었다. 1801 년의재커드직물기는천공카드와저장프로그램개념을도입하였다. 찰즈배비지는현대컴퓨터의프로토타입인분석엔진을설계하였다. 허만홀러리쓰는천공카드를그의기계적집계장치에반영하였다. 51
요약 ( 계속 ) 2 차세계대전은 ENIAC, Mark I, Colossus 와같은 20 세기중반의컴퓨터발명에원동력이되었다. EDVAC 의폰노이만아키텍처는모든후속개발의기본모델이되었다. 진공관에서집적회로로의발전은컴퓨터속도를급속도로증가시키면서동시에크기와비용을감소시켰다. 20 세기후반의개발물인마이크로컴퓨터와인터넷은컴퓨터를어디에나존재하게만들었다. 52