컴퓨팅 이란 컴퓨터를 필요로하거나 이익을 얻거나 컴퓨터를 만드는 목표 중심 활동 입니다. 컴퓨팅은 하드웨어 및 소프트웨어 시스템의 설계, 개발 및 구축을 포함합니다. 알고리즘 으로서 알려진 단계 들의 수학적 시퀀스를 설계하는 단계 ; 각종 정보의 처리, 구조화 및 관리; 컴퓨터에 관한 과학적 연구를하고있다. 컴퓨터 시스템을 지능적으로 작동하게합니다. 커뮤니케이션 및 엔터테인먼트 미디어 제작 및 사용. 컴퓨팅 분야에는 컴퓨터 공학 , 소프트웨어 엔지니어링 , 컴퓨터 과학 , 정보 시스템 및 정보 기술이 포함 됩니다.
내용
[ 숨기기 ]
정의
ACM 컴퓨팅 교육 과정 2005 [1]에 정의 된 “컴퓨팅”은 다음과 같이 :
“일반적으로 컴퓨터를 필요로하거나 이익을 얻거나 창출하는 목표 지향적 인 활동을 의미하도록 컴퓨팅을 정의 할 수 있습니다. 따라서 컴퓨팅에는 광범위한 목적을위한 하드웨어 및 소프트웨어 시스템의 설계 및 구축, 프로세싱, 구조화 및 관리가 포함됩니다 다양한 종류의 정보, 컴퓨터를 사용하여 과학적 연구 수행, 컴퓨터 시스템의 지능적인 행동, 커뮤니케이션 및 엔터테인먼트 미디어의 생성 및 사용, 특정 목적과 관련된 정보의 수집 및 수집 등이 포함됩니다. 목록은 사실상 끝이 없으며 방대한 가능성이 있습니다. . “
그리고 그것은 다섯 하위 분야 정의 컴퓨팅 : 필드에 컴퓨터 과학 , 컴퓨터 공학 , 정보 시스템 , 정보 기술 및 소프트웨어 공학을 . [2]
그러나 Computing Curricula 2005 [1] 은 “컴퓨팅”의 의미가 문맥에 달려 있다는 것을 인식하고 있습니다.
컴퓨팅은 또한 용어가 사용 된 맥락에 따라보다 구체적 인 다른 의미를 가지고있다. 예를 들어, 정보 시스템 전문가는 소프트웨어 엔지니어와는 다소 다른 방식으로 컴퓨팅을 볼 것입니다. 문맥에 관계없이 컴퓨팅을 잘하는 것은 복잡하고 어려울 수 있습니다. 사회는 컴퓨팅을 잘 수행 할 사람이 필요하기 때문에 우리는 컴퓨팅을 직업으로뿐만 아니라 분야로 생각해야합니다.
“컴퓨팅”이라는 용어는 종종 Computing to a Discipline 이라는 1989 년 ACM 보고서 에서처럼 좁게 정의되었습니다 . [3]
컴퓨팅 규율은 이론, 분석, 설계, 효율성, 구현 및 적용과 같이 정보를 기술하고 변환하는 알고리즘 프로세스에 대한 체계적인 연구입니다 . 모든 컴퓨팅의 근본적인 질문은 “(효율적으로) 자동화 될 수있는 것”입니다.
“컴퓨팅”이라는 용어는 계산 및 계산과 동의어 입니다. 초기에는 기계식 컴퓨팅 기계가 수행 한 작업 과 관련하여 인간의 컴퓨터에서 수행 된 작업과 관련하여 사용되었습니다 [ 표창장 필요 ] .
역사
컴퓨팅의 역사는 컴퓨팅 하드웨어 및 현대 컴퓨팅 기술 의 역사 보다 길며 테이블을 지원하거나 지원하지 않는 펜 및 종이 또는 분필 및 슬레이트를위한 방법의 이력을 포함합니다.
컴퓨팅은 숫자 의 표현과 밀접한 관련이 있습니다 . 오래 전에 그러나 추상화 같은 숫자가 일어나 문명의 목적을 이룰 수있는 수학적 개념이 있었다. 이러한 개념은 다음과 일대일 대응 관계 (계산에 기초하여), 비교 (측정에 사용됨) 표준, 및 3-4-5 직각 삼각형 (a 보장하기위한 장치 직각 ).
계산에 사용되는 가장 초기의 알려진 도구는 주판 이었으며 BC 2400 경 에 바빌론 에서 발명 된 것으로 생각되었습니다 . 그것의 본래 작풍은 자갈을 가진 모래에서 당겨진 선에 의해이었다. 보다 현대적인 디자인의 Abaci는 여전히 계산 도구로 사용됩니다. 이 첫 번째 알려진 계산 지원했다 – 이천년에 의해 그리스어 방법을 앞 [ 표창장은 필요로했다 ] .
컴퓨팅을 위해 디지털 전자 장치를 사용하는 최초의 아이디어는 CE Wynn-Williams 의 1931 년 논문 “물리적 현상의 고속 자동 계산을위한 Thyratron의 사용”이었습니다 . [4] 클로드 섀넌 의 1938 종이 ” 릴레이의 상징적 분석 및 스위칭 회로는 “다음에 대한 전자 장치를 사용하는 아이디어를 도입 부울 대수 작업을.
컴퓨터
컴퓨터는 인 컴퓨터 조작 데이터 세트에 따라 지시 호출 된 컴퓨터 프로그램 . 이 프로그램에는 컴퓨터가 직접 명령을 실행하는 데 사용할 수 있는 실행 가능한 형식이 있습니다. 사람이 읽을 수있는 소스 코드 형식 의 동일한 프로그램을 통해 프로그래머 는 알고리즘 이라는 일련의 단계를 연구하고 개발할 수 있습니다. 명령은 다른 유형의 컴퓨터에서 수행 될 수 있기 때문에 단일 소스 명령 세트가 중앙 처리 장치 유형 에 따라 기계 명령으로 변환됩니다 .
실행 프로세스 는 컴퓨터 프로그램의 명령을 수행합니다. 지침은 컴퓨터가 수행 하는 계산 을 나타냅니다. 실행중인 시스템에서 일련의 간단한 동작을 트리거합니다. 이러한 작업 은 지침 의 의미에 따라 효과를냅니다 .
컴퓨터 소프트웨어 및 하드웨어
주요 기사 : 소프트웨어 및 컴퓨터 하드웨어
컴퓨터 소프트웨어 또는 그냥 “소프트웨어”는의 모음입니다 컴퓨터 프로그램 및 관련 데이터 이야기에 대한 지침을 제공합니다 컴퓨터 할 무엇을 어떻게 할 방법은. 소프트웨어는 일부 목적으로 컴퓨터의 저장 장치에 보관 된 하나 이상의 컴퓨터 프로그램 및 데이터를 나타냅니다. 즉, 소프트웨어는 데이터 처리 시스템의 작동과 관련된 일련의 프로그램, 절차, 알고리즘 및 문서 입니다. 프로그램 소프트웨어 는 컴퓨터 하드웨어 에 직접 명령 을 제공 하거나 다른 소프트웨어에 입력으로 제공하여 구현 한 프로그램 의 기능 을 수행합니다 . 그만큼용어 는 오래된 용어 하드웨어 (물리적 장치를 의미 함) 와 대조를 이루기 위해 만들어졌습니다 . 하드웨어와 달리 소프트웨어는 무형 적입니다. [5] 소프트웨어는 때로는보다 좁은 의미로 사용되기도하는데, 이는 응용 소프트웨어 만을 의미 합니다 .
응용 소프트웨어 [ 편집 ]
응용 프로그램 소프트웨어 ( “응용 프로그램”또는 “응용 프로그램”이라고도 함) 는 사용자가 특정 작업을 수행 할 수 있도록 도와주는 컴퓨터 소프트웨어 입니다. 예로는 엔터프라이즈 소프트웨어 , 회계 소프트웨어 , 오피스 스위트 , 그래픽 소프트웨어 및 미디어 플레이어가 있습니다. 많은 응용 프로그램은 주로 문서를 처리 합니다 . 앱은 컴퓨터 및 시스템 소프트웨어와 번들로 제공 되거나 별도로 게시 될 수 있습니다. 일부 사용자는 번들 된 앱에 만족하고 앱을 설치하지 않아도됩니다.
응용 프로그램 소프트웨어는 컴퓨터 기능을 관리 및 통합하는 시스템 소프트웨어 및 미들웨어 와 대조 되지만 대개 사용자에게 유익한 작업을 수행하는 데 직접 적용하지는 않습니다. 시스템 소프트웨어는 응용 프로그램을 제공하고 사용자에게 서비스를 제공합니다.
응용 프로그램 소프트웨어는 특정 컴퓨팅 플랫폼 또는 시스템 소프트웨어의 기능을 특정 용도로 적용합니다. Microsoft Office 와 같은 일부 응용 프로그램 은 여러 플랫폼에서 사용할 수 있습니다. 다른 것들은 더 좁은 요구 사항을 가지고 있으며 따라서 예를 들어 Windows 용 Geography 응용 프로그램 이나 교육용 또는 Linux 게임용 Android 응용 프로그램이라고합니다 . 때로는 하나의 플랫폼에서만 실행되는 새롭고 대중적인 응용 프로그램이 발생하여 해당 플랫폼의 바람직 함이 증가합니다. 이를 킬러 애플리케이션 이라고합니다 .
시스템 소프트웨어 [ 편집 ]
시스템 소프트웨어 또는 시스템 소프트웨어는 컴퓨터 하드웨어를 작동 및 제어하고 응용 프로그램 소프트웨어를 실행하기위한 플랫폼을 제공하도록 설계된 컴퓨터 소프트웨어입니다. 시스템 소프트웨어에는 운영 체제 , 유틸리티 소프트웨어 , 장치 드라이버 , 윈도우 시스템 및 펌웨어가 포함 됩니다. 컴파일러 , 링커 , 디버거 [6] 와 같은 개발 도구 는 시스템 소프트웨어로 분류됩니다.
컴퓨터 네트워크 [ 편집 ]
흔히 네트워크라고하는 컴퓨터 네트워크 는 리소스와 정보를 공유 할 수있는 통신 채널로 상호 연결된 하드웨어 구성 요소 및 컴퓨터 모음입니다 . [7] 하나의 장치에서의 적어도 하나 개의 프로세스가 원격 장치에 상주하는 적어도 하나 개의 프로세스로 /로부터 데이터를 송 / 수신 할 수있는 곳은, 그 두 장치는 네트워크에 있다고한다.
네트워크는 데이터를 전송하는 데 사용되는 매체, 사용 된 통신 프로토콜 , 규모, 토폴로지 및 조직 범위와 같은 다양한 특성에 따라 분류 될 수 있습니다 .
통신 프로토콜 은 컴퓨터 네트워크에서 정보를 교환하기위한 규칙 및 데이터 형식을 정의하고 네트워크 프로그래밍 의 기초를 제공합니다 . 잘 알려진 통신 프로토콜은 근거리 통신망에 편재되어 있는 하드웨어 및 링크 계층 표준 인 이더넷 과 인터넷 워킹을 위한 프로토콜 세트를 정의하는 인터넷 프로토콜 슈트 , 즉 여러 네트워크 간의 데이터 통신은 물론 호스트 – 호스트 별 데이터 전송 및 애플리케이션 별 데이터 전송 형식을 지원합니다.
컴퓨터 네트워킹은 때때로 이러한 분야의 이론 및 실제 응용에 의존하기 때문에 전기 공학 , 통신 , 컴퓨터 과학 , 정보 기술 또는 컴퓨터 공학 의 하위 분야로 간주됩니다 .
인터넷 [ 편집 ]
인터넷은 표준 인터넷 프로토콜 제품군 (TCP / IP)을 사용하여 수백만 개의 사설, 공개, 학술, 비즈니스 및 정부 네트워크, 로컬에서 글로벌 범위로 구성된 수십억 사용자에게 서비스를 제공 하는 상호 연결된 컴퓨터 네트워크 의 글로벌 시스템입니다 . 광범위한 전자, 무선 및 광학 네트워킹 기술로 연결됩니다. 인터넷은 월드 와이드 웹 (WWW) 의 상호 연결된 하이퍼 텍스트 문서 및 전자 메일을 지원 하는 인프라 와 같은 광범위한 정보 자원 및 서비스를 전달합니다 .
컴퓨터 프로그래밍 [ 편집 ]
일반적으로 컴퓨터 프로그램 작성, 테스트, 디버깅, 그리고 소스 코드와 문서를 유지하는 과정입니다 컴퓨터 프로그램을 . 이 소스 코드가 작성된 프로그래밍 언어 이다, 인공 언어 종종 더 제한 또는보다 까다로운 자연 언어 ,하지만 쉽게 컴퓨터에 의해 번역. 프로그래밍의 목적은 컴퓨터에서 원하는 동작 (사용자 지정)을 호출하는 것입니다. 고품질의 소스 코드를 작성하는 과정에는 응용 프로그램의 도메인 과 컴퓨터 과학 도메인에 대한 지식이 필요 합니다. 따라서 최고 품질의 소프트웨어는 다양한 도메인 전문가 팀에 의해 개발되며, 각 전문가는 개발 분야의 전문가입니다. 그러나 용어프로그래머 는 해커 에서부터 오픈 소스 제공자 , 전문가 에게 다양한 프로그램 품질을 적용 할 수 있습니다 . 그리고 한 명의 프로그래머가 새로운 “킬러”응용 프로그램 을 시작하기 위해 개념 증명 을 생성하는 데 필요한 대부분의 또는 모든 컴퓨터 프로그래밍을 할 수 있습니다.
컴퓨터 프로그래머 [ 편집 ]
프로그래머, 컴퓨터 프로그래머 또는 코더는 컴퓨터 소프트웨어 를 작성하는 사람입니다 . 용어는 컴퓨터 프로그래머 의 한 영역에서 전문을 참조 할 수 있습니다 컴퓨터 프로그래밍 이나 소프트웨어의 많은 종류의 코드를 쓰는 일반 의사로. 프로그래밍에 대한 공식적인 접근 방식을 실행하거나 고백하는 사람은 프로그래머 분석가라고도합니다. 프로그래머의 기본 컴퓨터 언어 ( C , C ++ , Java , Lisp , Python 등)는 종종 위 제목에 접두사가 붙고 웹 환경에서 작업하는 사람들은 종종 웹에 제목을 붙 입니다. 프로그래머 라는 용어 는소프트웨어 개발자 , 소프트웨어 엔지니어 , 컴퓨터 과학자 또는 소프트웨어 분석가 . 그러나 이러한 구성원 직업 일반적으로 [ 표창장은 필요가 ] 다른 소유 소프트웨어 공학 프로그램을 넘어, 기술.
컴퓨터 산업 [ 편집 ]
컴퓨터 산업은 컴퓨터 소프트웨어 개발 , 컴퓨터 하드웨어 및 컴퓨터 네트워킹 인프라 설계 , 컴퓨터 구성 요소 제조 및 시스템 관리 및 유지 보수를 포함한 정보 기술 서비스 제공과 관련된 모든 비즈니스로 구성 됩니다.
소프트웨어 산업 [ 편집 ]
소프트웨어 산업에 종사하는 기업을 포함 개발 , 유지 보수 및 간행물 의 소프트웨어를 . 업계에는 교육 , 문서 작성 및 컨설팅 과 같은 소프트웨어 서비스 도 포함됩니다 .
컴퓨팅의 하위 분야 [ 편집 ]
컴퓨터 공학 [ 편집 ]
컴퓨터 공학은 컴퓨터 하드웨어 및 소프트웨어를 개발하는 데 필요한 여러 가지 전기 공학 및 컴퓨터 과학 분야 를 통합 하는 분야 입니다 . [8] 컴퓨터 공학자는 소프트웨어 공학 또는 전자 공학 대신 전자 공학 (또는 전기 공학 ), 소프트웨어 설계 및 하드웨어 – 소프트웨어 통합을 주로 교육 합니다. 컴퓨터 엔지니어는 개인용 마이크로 프로세서 , 개인용 컴퓨터 및 수퍼 컴퓨터의 설계 부터 회로 설계에 이르기까지 컴퓨팅의 많은 하드웨어 및 소프트웨어 측면에 관여 합니다 .. 이 공학 분야는 컴퓨터 시스템이 어떻게 작동하는지뿐만 아니라 더 큰 그림에 어떻게 통합되는지에 초점을 맞 춥니 다. [9]
소프트웨어 공학 [ 편집 ]
소프트웨어 공학 (SE)는 설계, 개발, 운영 및 유지 보수에 체계적이고 정량화 될 수있는 방식의 응용 프로그램 소프트웨어 , 이러한 접근 방식의 연구; 즉, 엔지니어링 에 소프트웨어를 적용하는 것입니다. [10] [11] [12] 비전문가에서는, 모델을 상상하고, 문제에 대한 해결책을 확장 통계를 사용하는 단계이다. 이 용어에 대한 첫 번째 언급은 1968 년 NATO 소프트웨어 공학 회의 였으며 당시의 ” 소프트웨어 위기 “에 대한 생각을 자극하기위한 것이었다 . [13] [14] [15] 소프트웨어 개발, 많이 사용되는 더 일반적인 용어, 반드시 엔지니어링 패러다임을 포함하지 않습니다. 엔지니어링 분야로서 일반적으로 받아 들여지는 소프트웨어 엔지니어링의 개념은 SWEBOK ( Software Engineering Body of Knowledge) 가이드에 명시되어 있습니다. SWEBOK는 국제적으로 인정 된 ISO / IEC TR 19759 : 2005 표준이되었습니다. [16]
컴퓨터 과학 [ 편집 ]
컴퓨터 과학 또는 컴퓨팅 과학 (CS 또는 Comp Sci로 약칭 함)은 계산 및 응용 프로그램에 대한 과학 적이고 실제적인 접근 방법 입니다. 컴퓨터 과학자는 계산의 이론 및 전산 시스템의 설계를 전문으로합니다. [17]
그것의 서브 필드는 컴퓨터 시스템 과 순수 이론적 영역 에서의 구현 및 적용을위한 실용적인 기술로 나눌 수 있습니다 . 계산 문제 의 근본적인 특성을 연구하는 계산 복잡성 이론 과 같은 일부 는 컴퓨터 그래픽 과 같은 다른 것들은 실제 응용 프로그램을 강조 하지만, 추상적 인 것 입니다. 또 다른 사람들은 계산을 구현할 때의 과제에 중점을 둡니다. 예를 들어, 프로그래밍 언어 이론 연구는 계산 기술에 접근하고 컴퓨터 프로그래밍 연구 는 프로그래밍 언어 와 복잡한 시스템 사용의 다양한 측면을 조사 합니다, 그리고 인간 – 컴퓨터 상호 작용 은 컴퓨터와 계산을 유용하고 사용 가능하며 보편적으로 인간이 이용할 수있게 만드는 문제에 초점을 맞추고 있습니다 .
정보 시스템 [ 편집 ]
“정보 시스템 (IS)”은 사람들과 조직이 데이터 를 수집, 필터링, 처리, 생성 및 배포하는 데 사용하는 하드웨어와 소프트웨어 ( 정보 기술 참조 ) 의 보완적인 네트워크에 대한 연구입니다 . [ 19] [20] [21] [22] Computing Careers는 웹 사이트에서 “IS 프로그램의 대부분은 비즈니스 스쿨에 있지만 관리 정보 시스템, 컴퓨터 정보 시스템 비즈니스 정보 시스템 등 모든 IS 학위는 비즈니스와 컴퓨터 주제를 결합하지만 기술 및 조직 문제 간의 강조점은 프로그램마다 다릅니다. 예를 들어, 필요한 프로그램의 양은 프로그램에 따라 크게 다를 수 있습니다. ” [23]이 연구 는 컴퓨터 과학 분야에서 다양한 비즈니스 모델 및 관련 알고리즘 프로세스 를 연구하기 위해 정보 및 계산 의 이론적 토대를 사용하여 비즈니스 및 컴퓨터 과학 을 연결합니다 . [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] 컴퓨터 정보 시스템 (CIS)은 컴퓨터와 알고리즘 과정을 공부하는 분야이며, 원칙, 소프트웨어 및 하드웨어 설계, 응용 및 사회에 미치는 영향 [34] [35] [36]IS는 디자인에 대한 기능성을 강조합니다. [37]
정보 기술 [ 편집 ]
정보 기술 (IT)을의 응용 프로그램입니다 컴퓨터 및 통신 장비 , 저장, 검색, 전송하고 데이터를 조작하는, [38] 회사 나 다른 기업의 맥락에서 자주. [39] 라는 용어는 일반적으로 컴퓨터 및 컴퓨터 네트워크에 대한 동의어로 사용하지만, 또한 텔레비전, 전화기와 같은 다른 정보 분배 기술을 포함한다. 여러 산업 분야 에서 컴퓨터 하드웨어 , 소프트웨어 , 전자 , 반도체 , 인터넷 , 통신 장비 ,전자 상거래 및 컴퓨터 서비스 . [40 ]
시스템 관리 [ 편집 ]
시스템 관리자, IT 시스템 관리자, 시스템 관리자 또는 시스템 관리자는 컴퓨터 시스템 및 / 또는 네트워크를 유지 관리하고 운영하는 데 종사하는 사람입니다. 시스템 관리자의 임무는 광범위하며 조직마다 매우 다양합니다. 시스템 관리자는 대개 서버 또는 기타 컴퓨터 시스템의 설치, 지원 및 유지 관리 , 서비스 중단 및 기타 문제에 대한 계획 및 대응에 대한 책임이 있습니다. 다른 업무로는 스크립팅 또는 조명 프로그래밍 , 시스템 관련 프로젝트의 프로젝트 관리 , 컴퓨터 운영자 감독 또는 교육, 기술 지원 직원 의 지식을 초월한 컴퓨터 문제 컨설턴트 등이 있습니다 .
연구 및 신기술 [ 편집 ]
DNA 기반 컴퓨팅 및 양자 컴퓨팅 은 하드웨어 및 소프트웨어 ( 양자 알고리즘 개발과 같은)에서 활발히 연구되고있는 분야입니다 . 미래의 기술을위한 잠재적 인 인프라는 포토 리소그래피에서 DNA 종이 접기 [42] 와 이온 트랩 사이에서 정보를 전송하기위한 양자 안테나 를 포함합니다. [43] 2011 년, 연구자했다 얽혀 14 큐 비트를 . [44] [45] 고속 디지털 회로 ( 조셉슨 접합 과 빠른 단일 플럭스 퀀텀 기반의 회로 포함)기술)은 나노 수준의 초전도체 발견과 함께 거의 실현 가능 해지고있다 . [46]
장거리 데이터 전송에 이미 사용 된 광섬유 및 광자 (광학) 장치는 데이터 센터에서 CPU 및 반도체 메모리 구성 요소와 함께 사용되기 시작했습니다. 이를 통해 광학 상호 연결을 통해 CPU에서 RAM을 분리 할 수 있습니다. [47] IBM은 만들었다 집적 회로를 하나 개의 칩에 모두 전자 및 광 정보 처리와 함께한다. 이것은 “CMOS 통합 나노 포토닉스”또는 (CINP)로 표시됩니다. [48]광학 인터커넥트의 한 가지 이점은 이전에 특정 종류의 시스템 온칩 (SoC)을 필요로했던 마더 보드가 이전에는 전용 메모리 및 네트워크 컨트롤러를 마더 보드에서 이동시켜 컨트롤러를 랙에 보급 할 수 있다는 것입니다. 이를 통해 여러 유형의 SoC에 대한 백플레인 인터커넥트 및 마더 보드를 표준화 할 수 있으므로 CPU를보다시기 적절하게 업그레이드 할 수 있습니다. [49]