제 10 장 컴퓨터하드웨어와소프트웨어 학습목표 하드웨어와소프트웨어의발전과정및종류에대하여설명한다. 하드웨어의구성요소및운영원리를파악한다. 소프트웨어의발전과정및종류에대하여설명한다. 클라우드컴퓨팅의발전과정및종류에대하여설명한다. 프로그래밍언어의발전과정을설명한다.
목차 _ 제 10 장 10-1 컴퓨터하드웨어 10-2 소프트웨어와프로그래밍언어 10-3 차세대컴퓨팅
경영목표및전략 Business Processes IT Provider Applications DBMS System S/W Computer H/W Network User 정보시스템환경 ( 제도, 규정, 조직 )
10-1 컴퓨터하드웨어 컴퓨터하드웨어의발전과정 주판시대에서디지털컴퓨터시대로... 동양권의유일한아날로그계산기였던주판
10-1 컴퓨터하드웨어 컴퓨터하드웨어의발전과정 초기의계산장치 최초주판 1642 년파스칼의톱니방식계산기계 1690 년라이프니쯔의계산기 1822 년베비지의차분기관 ( 해석기관 ) 19 세기후반홀러리스의기계 < 그림 10-3> 라이프니쯔의계산기 < 그림 10-7> 천공카드 < 그림 10-5> 해석기관 < 그림 10-4> 차분기관 < 그림 10-6> 홀러리스의기계
< 그림 10-1> 주판 < 그림 10-2> 최초의기계식계산기 세계첫디지털컴퓨터인에니액 (ENIAC)
10-1 컴퓨터하드웨어 컴퓨터하드웨어의발전과정 초기의컴퓨터 1942 년 ABC 1944 년 MARK I 1946 년 ENIAC 1946 년 EDVAC 1951 년 UNIVAC I 1947 년벨연구소에서트랜지스터개발로 컴퓨팅의제 2 세대 개막 < 그림 10-8> ABC < 그림 10-9> MARK Ⅰ < 그림 10-10> ENIAC < 그림 10-11> EDVAC < 그림 10-12> UNIVAC
10-1 컴퓨터하드웨어 컴퓨터하드웨어의발전과정 마이크로컴퓨터의개발 컴퓨터의급격한발전은 1970 년대마이크로컴퓨터의개발때문임 1971 년 Intel 4004 마이크로프로세서칩 1974 년 Intel 8080 마이크로프로세서칩출시 1975 년마이크로컴퓨터인 Altair 8800, IBM 5100 출시 1977 년잡스와워즈니악, 애플컴퓨터사설립 1982 년 IBM 은 PC(Personal Computer) 의단어로개인용컴퓨터소개 < 그림 10-13> Intel 4004 < 그림 10-14> Altair 8800 < 그림 10-15> Apple Ⅱ
10-1 컴퓨터하드웨어 컴퓨터하드웨어의발전과정 컴퓨터하드웨어의세대별특징 1 세대 : 진공관시스템 (1951~1958) 데이터의저장과처리에진공관을사용함 기계어를사용하여작성하였기때문에규모가크고, 속도가느리며, 불안정함 2 세대 : 트랜지스터시스템 (1958~1964) 1 세대진공관이트랜지스터로대체되었음 크기가작고, 사용이쉽고가격이저렴함. 자기코어형태의자기테이프, 종이카드가사용됨 < 그림 10-16> 진공관 < 그림 10-17> 트랜지스터 Ⅰ
10-1 컴퓨터하드웨어 컴퓨터하드웨어의발전과정 컴퓨터하드웨어의세대별특징 3 세대 : 직접회로 (1964~1971) 실리콘집에광화학적흠을낸트랜지스터들을포함한직접회로가개발됨 빠른속도뿐만아니라기기의소형화가가능해짐 디지털사의 PDP-1, IBM 의시스템 /360 등 4 세대 : 초고밀도직접회로 (1971~ 현재 ) 고밀도집적회로와초고밀도집적회로의세대임 초고밀도직접회로는트랜지스터를수집만개에서수백만개포함하고있는칩임 < 그림 10-18> 집적회로 < 그림 10-19> IBM System/360
10-1 컴퓨터하드웨어 컴퓨터하드웨어의발전과정 컴퓨터하드웨어의세대별특징 제 5 세대 제 4 대까지는주로하드웨어적인발전만이이어져왔으나, 5 세대에는상대적으로소프트웨어의비약적인발전이이루어짐 인간이가지고있는생각을컴퓨터에적용하는인공지능의특성을갖게될것임 < 표 10-1> 하드웨어세대
10-1 컴퓨터하드웨어 컴퓨터하드웨어의분류 규모와성능에따른분류 슈퍼컴퓨터 : 초고속으로복잡한연산을수행할수있는능력을가진고성능컴퓨터 메인프레임컴퓨터 : 데이터처리가중앙집중화되어있으며, 대량데이터를신속히처리 서버컴퓨터 : 어떠한특화된임무를수행하기위하여설정된컴퓨터 마이크로컴퓨터 : 가장작고, 가격이저렴한범주의컴퓨터 그외데스크탑, 일체형데스크탑, 이동식컴퓨터, 태블릿 PC 등이있음 < 그림 10-20> CRAY 2 < 그림 10-21> 메인프레임컴퓨터
10-1 컴퓨터하드웨어 컴퓨터하드웨어의분류
IT 기반구조의활용추이 메인프레임과미니컴퓨터기반구조 : 1960 년대초반 ~ 현재 독립적개인 PC 기반구조 : 1980 년대초반 ~ 현재 클라이언트 - 서버기반구조 : 1980 년대중반 ~ 현재 인터넷중심의기반구조 : 1990 년대초반 ~ 현재 메인프레임과같은오래된기반구조도현재까지사용되는경우가많이있으며, 이를래거시시스템이라고부른다.
메인프레임 중앙집중처리 수백개의원격터미널에연결후공유 시분할처리방식과다중작업방식이필요 대기업, 은행등에서주로이용 예 : IBM 360 시리즈 (1965 년출시 ) 미니컴퓨터 중앙집중처리 수십개의원격터미널에연결후공유 가격이비싸고사용하기어려운메인프레임의단점을규모를줄여서보완 중소규모의기업에서주로이용 예 : DEC VAX, IBM AS/400
An HP Laptop s Path to Market
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리 하드웨어의구성요소및운용원리 < 그림 10-22> 컴퓨터시스템의하드웨어구성요소
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리 중앙처리장치 컴퓨터의두뇌라고할수있으며트랜지스터들이내장된실리콘칩으로마이크로프로세서라고불림 가장중요한구성요소는프로세서이며, 산술논리연산장치, 제어장치, 주기억장치로구성 < 그림 10-23> 중앙처리장치
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리 중앙처리장치 프로세서 산술연산을수행하는산술논리연산장치와연산을통제하는제어장치로구성 2 개이상의다중코어 : 코어개수만큼실제 CPU 를장착한것과유사한성능 주기억장치 : CPU 를위해데이터와프로그램을저장함 램 (RAM): 데이터를읽고쓰기위한주기억장치또는메모리를의미함 롬 (ROM): 데이터가기록되고나면수정되거나삭제될수없는메모리를의미함 < 그림 10-24> Intel 의쿼드코어프로세서 < 그림 10-25> RAM(DDR3 SDRAM)
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리 무어의법칙 마이크로칩성능이 18 개월마다 2 배씩증가 < 그림 10-26> 트랜지스터수의증가
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리 황의법칙 반도체메모리의용량이 1 년마다 2 배씩증가 < 그림 10-27> 플래터당저장밀도증가추세
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리 보조기억장치 자기디스크 플로피디스크 (1.44MB), 하드디스크. 최근에는 USB 플래쉬드라이브가쓰임 전송방식 : USB 3.0, Thunderbolt 광디스크 광학저장기술이집약된디스크로오염이나성능및품질저하에덜민감함 첨단광디스크는블루레이디스크로 25GB ~ 50GB의대용량저장가능 종류 : CD-ROM, CD-RW, DVD, HD-DVD, Blu-ray 등
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리 입력장치 가장대표적인입력장치는키보드이며, 입력방식에따라유형이다양함 < 표 10-2> 대표적인입력장치
POS(Point Of Sale) 거래처리시스템 고객영수증 UPC 및수량 재고 DB 정보보고시스템 바코드스캐너 UPC 수량, 날짜, 시간 POS 거래처리시스템 UPC 가격 품목, 수량, 날짜, 시간, 가격 예외보고서 품목 DB 매출 DB < 판매시점터미널의위치 >
10-1 컴퓨터하드웨어 하드웨어의구성요소및운영원리 출력장치 모니터 입력과출력을동시에확인할수있는장치로소프트카피의형태로보여줌 종류 : 브라운관기술의 CRT 모니터, 액정기술의 LCD 모니터 프린터 컴퓨터출력물을하드카프로만들어내는데사용됨 종류 : 레이저프린터, 열프린터, 잉크젯프린터 레이저프린터는레이저빔이닿은부분에만토너를정착시키는방식임 열프린터는감열지에고열로패턴을만들어태우는방식임 잉크젯프린터는종이위에미세한점을분사하는방식임 음성출력 : 컴퓨터가언어와음성으로출력데이터나정보를구사하는것을의미함
10-2 소프트웨어와프로그래밍언어 소프트웨어
10-2 소프트웨어와프로그래밍언어 시스템소프트웨어 운영체제 운영체제는 CPU, 주변기기, 주기억장치, 보조기억장치등의컴퓨터자원을관리하고통제하는프로그램의집합을의미 지금의대부분운영체제는그래픽유저인터페이스 (GUI) 를기반으로함 대표적인 PC 운영체제로는윈도우, OSX, UNIX, LINUX 등이있음 < 표 10-3> 다양한유형의운영체제
윈도우즈임베디드오토모티브 7 자동차용인포테인먼트 (infotainment) 운영체제 (OS)
임베디드소프트웨어 정의 임베디드 (embedded) 의의미 사전적의미 : "~ 에심어지다 ", "~ 에파묻히다 " 특정장치나기계에 ' 내장 ( 內臟 ) 된다 ' 는의미 특정장치나기계속에내장되어장치나기계를고성능으로동작시키기위해 H/W와 S/W를조합시킨첨단전자제어시스템 기계식, 전자식키 - 단순개폐기능 - 3~10 만원대 임베디드식 ( 지문인식, 출입통제시스템 ) - 출입정보저장, 처리, 조회기능 - 30~ 수백만원대
임베디드 S/W Embedded S/W makes things Smart! 스마트서비스 무선인터넷 멀티미디어메세징 경량화최적화 무선게임 VOD 임베디드 S/W LBS M-커머스영상전화고신뢰성 2001 년세계마이크로프로세서생산량 네트워크지원 마이크로프로세서 멀티미디어지원 47 억 3 천만개중 97% 가컴퓨터이외의 기기에사용 ( 출처 : 데이터퀘스트 2002, ESP 1999) 저전력화
10-2 소프트웨어와프로그래밍언어 시스템유틸리티 시스템유틸리티 컴퓨터사용자, 연산, 관리등을지원하는프로그램을의미함 운영체제는다양한형태의유틸리티를포함하고있으며컴퓨터활용을위한필수적기능 예 ) 디스크오류검사, 속도최적화유틸리티 언어처리기 프로그램언어는컴퓨터가이해할수있는기계어로변환시켜주는과정이필요함 이러한역할을하는것이언어처리기이며, 컴파일러나번역기가이에해당함 < 그림 10-32> 하드웨어와소프트웨어사이의구조
10-2 소프트웨어와프로그래밍언어 응용소프트웨어 스프레드시트 전통적인재무, 회계연산등과같은작업을컴퓨터모니터상에서자동화시킴 각좌표상의셀에숫자나문자를입력해수리적함수및공식을통하여계산가능 계산된데이터를선이나막대그래프, 파이차트같은형태로나타냄 예 ) Microsoft Excel, Apple Numbers 등 < 그림 10-33> 마이크로소프트사의엑셀스프레드시트의화면
10-2 소프트웨어와프로그래밍언어 응용소프트웨어 워드프로세서 문서작성에사용되며글꼴의모양, 색깔과크기, 표, 그림까지다양한형식의문서편집가능 그래픽, 이미지, 사운드, 동영상포함가능, HTML 편집기능까지추가됨 예 ) 한글, Microsoft Word, Apple ipage 등 < 그림 10-34> 한글워드프로세서의화면
10-2 소프트웨어와프로그래밍언어 응용소프트웨어 데이터관리소프트웨어 데이터관리시스템 (Database Management System, DBMS) 데이터관리소프트웨어를통하여쉽게데이터를조작함으로서, 데이터관리의효율성과데이터가공업무의유연성을확보할수있음 예 ) Oracle, Infomix, Sybase, IBM DB2, Microsoft SQL Server, Microsoft Access 등 개인정보관리시스템 (Personal Information Management System, PIMS) 개인의데이터를효율적으로관리하는데사용되는패키지 예 ) Organizer, Sidekick, Quicken, Microsoft Money 등
10-2 소프트웨어와프로그래밍언어 응용소프트웨어 그래픽소프트웨어 프리젠테이션그래픽소프트웨어 효과적인회의나발표를목적으로또는워드프로세서나스프레드시트에서작성할수없는그림등이포함된보고서등을작성하기위한목적으로이용됨 예 ) Microsoft Powerpoint, Apple Keynote, Prezi 등 캐드소프트웨어 생산제품의설계에주로사용됨 캠소프트웨어 생산장비를제어하기위하여사용됨 컴퓨터통합생산소프트웨어 자동화생산설비및기기에내장됨 개인용웹그래픽소프트웨어 예 ) Adobe Photoshop, Jasc Paintshop Pro, Microsoft Photo Editor 동영상파일의제작과편집소프트웨어 예 ) Windows Movie Maker, Apple imovie, Final Cut Pro, PowerDirector
10-2 소프트웨어와프로그래밍언어 응용소프트웨어 통신소프트웨어 원격지간의터미널통신, 통 t 신장비와통신회선의감시, 통신망의통신량관리, 통신체증의분석, 통신문제의진단등통신관련활동을지위, 감독함 그룹웨어 협업활동을지원하기위한기능과서비스로문서작성, 논평, 정보공유, 화상회의, 일정관리, 이메일및네트워크기반의협업지원소프트웨어등을포함함 서비스지향아키텍쳐 (Service-Oriented architecture) 서비스지향개념을기반으로소프트웨어시스템을구축하고자하는노력을의미함 기업프로세스와애플리케이션을 서비스 라는단위로구성하여비즈니스환경의변화를반영하여서비스의연결구성을쉽고빠르게변화시켜새로운기능을제공함
서비스지향아키텍처 (Service Oriented Architecture: SOA) 서비스란? 기업비즈니스의프로세스를일정단위의서비스들로분할 기능적인의미를지닌소프트웨어컴포넌트, 독립된모듈 서비스제공자는서비스명세를통해자신이가진서비스의인터페이스를공개 서비스가제공하는기능과이를이용하기위해사용자와주고받아야하는메시지의형식정의 하드웨어, 저장장치, 세부구현방식은외부로노출될필요가없음 네트워크상에서서비스는발견이가능하고동적으로결합, 조립, 연동하여대규모의시스템전체를이룸 여러시스템에서공유할수있는공통의서비스들을추출하여효율성증대 급변하는비즈니스요구에대하여민첩하고유연하고 (agility) 효과적으로대응 플랫폼에독립적인다양한서비스를상호운영 웹서비스를활용 네트워크상에서서로다른종류의컴퓨터들간에상호작용을하기위한소프트웨어시스템 서비스제공자가웹상에자신의서비스를공개 ( 출판 ) 하고, 사용자로하여금쉽게이를검색하고사용할수있는표준 ( 예, SOAP, UDDI) 제공
SOA 예시 최근기업의전사적관리시스템 (ERP) 은서비스지향아키텍처를따르는경우가많다. 특히인터넷기술의발전과더불어웹서비스의활용이활발해지면서, 이전에는한회사의 ERP 제품을패키지로쓰던형태에서벗어나, 서로다른회사의개별서비스들이서로동적으로운영될수있다.
10-2 소프트웨어와프로그래밍언어 프로그래밍언어 프로그래밍언어의발전과정 프로그래밍언어의진화단계에서각특징에따라서로구분되는개발단계를세대라고함 1 세대, 2 세대의언어는 0 과 1 과같은코드기록형태이며, 3 세대, 4 세대는더간결한형태임 현재자연어로프로그램을작성한뒤, 기계어로번역되어사용됨 < 표 10-4> 프로그래밍언어의진화과정
10-2 소프트웨어와프로그래밍언어 프로그래밍언어 프로그래밍언어의발전과정 < 표 10-5> 변수 y 에 2 와 5 를더한값을할당하기 의언어세대별표현
10-2 소프트웨어와프로그래밍언어 프로그래밍언어 객체지향프로그램언어 객체를표준화시킴으로써, 하나의큰프로그램을객체로구성된프로그램으로만듦 모듈개념이적용되며소프트웨어가간단하고신속하게조립되는것을가능하게함 또한객체지향프로그래밍은코드의재사용성을지향하여많은시간과비용을절약시킴 예 ) C++, Visual Basic 등 < 표 10-7> 고급프로그래밍언어의장점과단점
10-2 소프트웨어와프로그래밍언어 프로그래밍언어 웹을위한프로그래밍언어 JAVA 객체지향언어로 C, C++ 과매우유사하며, 인터넷과같은네트워크환경에서유용함 HTML(Hypertext Markup Language) 웹페이지를만들때사용되는언어로써문자나그래픽, 비디오, 사운드등을웹페이지에나타내는방법을정의함 웹페이지상의객체들을다른웹페이지객체와연결시키는기능을함 XML(eXtensible Markup Language) 데이터에의한표현, 처리, 저장등각데이터를사용자의편의에맞도록정리하여줌
Steve Jobs and Wozniak 1976, Apple I, $ 666.66 쉬운프로그람언어 BASIC 사용 200 개생산 Apple Introduces the First Low Cost Microcomputer System with a Video Terminal and 8K Bytes of RAM on a Single PC Card.
10-3 차세대컴퓨팅 차세대컴퓨팅 Grid Computing 인터넷상의분산된시스템자원들을공유하여가상의슈퍼컴퓨팅과같이사용하는방식 Utility Computing 컴퓨팅리소스를구매하지않고전기등과같이유틸리티로필요할때마다사용하는방식 Server Based Computing 서버에애플리케이션과데이터를두고필요할때마다접속해서사용하는방식 Network Computing 애플리케이션을서버에로드하여로컬에서수행하는형태 Cloud Computing 언제어디서나편하게컴퓨팅자원들에대한네트워크접근이가능한형태의시스템
클라우드컴퓨팅 어플리케이션, 스토리지, OS, 보안등필요한 IT 자원을원하는시점에필요한만큼만빌려쓰고, 자신이사용한만큼만대가를지불 핵심기술 그리드 / 분산컴퓨팅 유틸리티컴퓨팅 웹서비스 서버및스토리지의가상화 공개소프트웨어 47
클라우드컴퓨팅 48
클라우드컴퓨팅 MS Web App 을통해제공되는워드프로그램 소프트웨어를설치할필요가없이웹브라우져상에서모든작업을수행 구글웹기반서비스 : 구글문서도구 49
클라우드컴퓨팅의특징 자원의공유 (Resource Pooling) 서버의가상화 하나의물리적서버에서로다른운영시스템을가진여러개의가상서버가존재 규모의경제
클라우드컴퓨팅의특징 광범위한네트워크를통한접속 (Broad Network Access) 어플리케이션프로그래밍인터페이스를통한명령 빠른탄력성 (Rapid Elasticity) 컴퓨팅자원을확장, 축소, 배분, 최적화 서비스용량의측정 (Measured Service) 사용량에따라요금을지불 주문형셀프서비스 (On-Demand Self-Service) 다양한서비스들은고객들이직접자신들의구미에맞게요청
인프라스트럭쳐서비스 (IaaS) 서버등컴퓨팅능력, 데이터저장공간, 파일보관서비스등을제공 클라우드제공업체에가입을하고원하는사양의가상서버를생성 장 / 단점 단점 : 서버를운영하는복잡한환경을사용자가직접관리해야하는어려움 장점 : 자신이원하는소프트웨어를자유롭게설치및조작할수있는유연성및제어권부여 52
인프라스트럭쳐서비스 (IaaS) 대표적인서비스 아마존의 EC2 서비스 (Elastic Compute Cloud) 아마존의 S3 스토리지 tjqltm MS Azure 윈도우서버서비스 아마존의 EC2 서비스 53
플랫폼서비스 (PaaS) 어플리케이션을개발, 실행할수있는플랫폼을제공 개발환경을위한투자비용이획기적으로절감 메쉬업을이용한빠른어플리케이션개발이가능 대표적인서비스 구글의 App Engine Force.com: Salesforce.com 에확장통합할수있는모듈개발환경 비쥬얼스튜디오,.NET 프로그래밍라이브러리 54
소프트웨어서비스 (SaaS) 소프트웨어자체를웹기반의어플리케이션형태로제공 장소제약이없음 웹에서작업하고저장된문서, 스프레드시트, 프리젠테이션등은여러사용자가동시협업을통하여수정할수있고항상최신버전을유지 대표적인서비스 MS Web App 구글문서도구 Salesforece.com : 기업대상 CRM 서비스 55
소프트웨어서비스 (SaaS) Dell Computer 가사용하는 Salesforce.com 서비스 56