기금넷 공식사이트 - 주식 시세 - 주식 거래에 대한 입문 지식을 좀 여쭤보고 싶습니다.

주식 거래에 대한 입문 지식을 좀 여쭤보고 싶습니다.

흔히 컴퓨터로 알려진 전자컴퓨터는 일련의 명령에 따라 데이터를 처리하는 기계이다. 이와 관련된 기술 연구를 컴퓨터과학이라 하고, 데이터를 핵심으로 하는 연구를 정보기술이라 합니다.

컴퓨터의 종류는 다양합니다. 실제로 컴퓨터는 일반적으로 정보를 처리하는 도구입니다. 튜링 기계 이론에 따르면, 가장 기본적인 기능을 갖춘 컴퓨터는 다른 컴퓨터가 할 수 있는 모든 것을 할 수 있어야 합니다. 따라서 시간과 저장 요소를 고려하지 않는 한 PDA(Personal Digital Assistant)부터 슈퍼컴퓨터까지 모든 것이 동일한 작업을 완료할 수 있어야 합니다. 즉, 똑같은 디자인의 컴퓨터라도 그에 맞게 수정만 하면 회사 급여 관리부터 무인 우주선 제어까지 다양한 작업에 사용할 수 있어야 한다는 것입니다. 기술의 급속한 발전으로 인해 차세대 컴퓨터는 항상 이전 컴퓨터의 성능을 훨씬 뛰어넘을 수 있는데, 이는 때때로 "무어의 법칙"이라고도 합니다.

컴퓨터는 다양한 형태로 제공됩니다. 초기 컴퓨터는 집만큼 컸지만 오늘날 일부 내장 컴퓨터는 카드 한 벌보다 작을 수 있습니다. 물론 오늘날에도 대규모 조직의 전문적인 과학 컴퓨팅 또는 트랜잭션 처리 요구 사항을 충족하는 초대형 슈퍼컴퓨터가 여전히 많이 있습니다. 개인용으로 설계된 비교적 작은 컴퓨터를 마이크로컴퓨터, 줄여서 마이크로컴퓨터라고 합니다. 이것이 오늘날 우리가 매일 "컴퓨터"라는 단어를 사용할 때 일반적으로 의미하는 것입니다. 그러나 현재 컴퓨터의 가장 일반적인 응용 형태는 임베디드입니다. 임베디드 컴퓨터는 일반적으로 비교적 간단하고 작으며 비행기, 산업용 로봇, 디지털 카메라 등 다른 장비를 제어하는 ​​데 사용됩니다.

위의 전자 컴퓨터 정의에는 계산을 수행할 수 있거나 제한된 기능을 갖는 특정 목적의 장치가 많이 포함됩니다. 그러나 현대 전자 컴퓨터의 경우 가장 중요한 특징은 올바른 지침이 제공되는 한 모든 전자 컴퓨터는 다른 컴퓨터의 동작을 시뮬레이션할 수 있다는 것입니다(전자 컴퓨터의 저장 용량 및 실행 속도에 의해서만 제한됨). 자체)). 따라서 현대 전자컴퓨터는 초기 전자컴퓨터에 비해 범용 전자컴퓨터라고도 불린다.

역사

에니악(ENIAC)은 원래 컴퓨터 개발 역사에 한 획을 그은 영어 단어로 원래 컴퓨터(computer)는 데이터 계산에 종사하는 사람을 가리킨다. 그리고 기계적인 컴퓨팅 장비나 아날로그 컴퓨터의 도움이 필요한 경우가 많습니다. 이러한 초기 컴퓨팅 장치의 조상에는 주판과 기원전 87년으로 거슬러 올라가 고대 그리스인들이 행성의 움직임을 계산하는 데 사용했던 안티키테라 메커니즘이 포함됩니다. 중세 후기 유럽에서 수학과 공학이 번영하면서 1623년 빌헬름 시카드가 유럽 최초의 컴퓨팅 장치 개발에 앞장섰습니다. 이것은 6자리 이내의 숫자를 덧셈과 뺄셈으로 답을 출력할 수 있는 '계산기'였습니다. 벨소리. 터닝 기어를 사용하여 작동하십시오.

1642년 프랑스 수학자 파스칼은 윌리엄 오트레드(WILLIAM Oughtred)의 계산자를 기반으로 계산자를 개선하여 8자리 계산을 수행할 수 있었습니다. 많은 상품도 판매되어 당시 유행하는 상품이 되었습니다.

1801년 Joseph Marie Jacquard는 일련의 천공 카드를 사용하여 복잡한 패턴을 짜는 프로그램으로 직기 디자인을 개선했습니다. 자카드 직기가 진정한 컴퓨터로 간주되지는 않지만, 그 등장은 실제로 현대 컴퓨터 개발에 중요한 단계였습니다.

찰스 배비지는 1820년에 완전히 프로그래밍 가능한 컴퓨터를 고안하고 설계한 최초의 사람이었습니다. 그러나 기술적 조건, 재정적 제약, 지속적인 디자인 수정을 용납할 수 없는 문제로 인해 이 컴퓨터는 그의 생애 동안 출시되지 않았습니다. 19세기 후반쯤에는 천공 카드와 진공관을 포함하여 컴퓨터 과학에 큰 의미를 갖는 많은 기술이 등장했습니다. 헤르만 홀러리스(Hermann Hollerith)는 천공 카드를 사용하여 대규모 자동 데이터 처리를 가능하게 하는 표 작성 기계를 설계했습니다.

20세기 전반에는 과학 컴퓨팅의 요구를 충족시키기 위해 단일 목적의 아날로그 컴퓨터와 점점 더 복잡해지는 아날로그 컴퓨터가 많이 개발되었습니다.

이러한 컴퓨터는 계산의 기초로 다루는 특정 문제의 기계적 또는 전자적 모델을 사용합니다. 1930년대와 1940년대에 컴퓨터가 점점 더 강력해지고 다양해지면서 현대 컴퓨터의 주요 기능이 지속적으로 추가되었습니다.

1937년 클로드 섀넌(Claude Shannon)은 디지털 전자 기술의 응용을 처음으로 언급한 훌륭한 논문 "릴레이 및 스위칭 회로의 기호 분석"을 발표했습니다. 그는 스위치를 사용하여 논리적, 수학적 연산을 수행하는 방법을 보여주었습니다. 그 후 그는 Vannevar Bush의 차동 시뮬레이터를 연구하여 자신의 아이디어를 더욱 확고히 했습니다. 이는 바이너리 전자 회로 설계와 논리 게이트 적용의 시작을 알리는 중요한 순간이었습니다. 이러한 핵심 아이디어의 선구자는 논리 게이트 회로를 포함하는 장치에 대한 특허를 출원한 Nikolai Strowger; 1898년에 논리 게이트를 포함하는 회로 장치, 1907년에 릴레이를 진공관으로 대체한 Lee De Forest.

1980년대 코모도어 컴퍼니(Commodore Company)가 생산한 아미가 500 컴퓨터는 이른바 '최초의 전자 컴퓨터'를 정의하기 위해 이렇게 기나긴 탐색의 길을 걸어왔다. 1941년 5월 12일, Konrad Zuse는 자동 이진 수학적 계산과 실행 가능한 프로그래밍 기능을 갖춘 최초의 컴퓨터인 전기 기계 기계 "Z3"를 완성했지만 아직 "전자" 컴퓨터는 아니었습니다. 또한 주목할만한 다른 업적은 주로 다음과 같습니다. 1941년 여름에 탄생한 Atanasoff-Berry 컴퓨터는 영국에서 진공관 계산기, 이진 값 및 재사용 가능한 메모리를 사용한 세계 최초의 전자 컴퓨터였습니다. 1943년에 시연된 컴퓨터는 극도로 제한된 프로그래밍 능력에도 불구하고 진공관이 전기화를 위해 안정적으로 사용될 수 있고 재프로그래밍될 수 있음을 보여주었습니다. 이진법 "ENIAC"(ENIAC, 1944)에 기초한 것입니다. 그러나 구조적 설계가 충분히 유연하지 않았기 때문에 다시 프로그래밍할 때마다 전기적, 물리적 회로가 다시 변경되었습니다.

ENIAC을 개발한 팀은 단점을 보완하기 위해 디자인을 더욱 다듬었고, 궁극적으로 오늘날 우리가 알고 있는 폰 노이만 아키텍처(프로그램 스토리지 아키텍처)를 선보였습니다. 이 시스템은 오늘날 모든 컴퓨터의 기본입니다. 1940년대 중후반에는 이 시스템을 기반으로 한 컴퓨터가 대거 개발되기 시작했는데, 그 중 영국이 첫 번째였다. 최초로 개발되어 운용에 들어간 것은 '소형실험기(SSEM)'였지만 실제로 개발된 실용기계는 아마도 EDSAC이었을 것이다.

1950년대에는 진공관 컴퓨터가 지배적이었습니다. 1958년 9월 12일, 로버트 노이스(인텔 창업자)의 지도 하에 집적회로가 발명되었습니다. 마이크로프로세서가 곧 도입되었습니다. 1959년부터 1964년 사이에 설계된 컴퓨터를 일반적으로 2세대 컴퓨터라고 합니다.

1960년대에는 트랜지스터 컴퓨터가 이를 대체했다. 트랜지스터는 더 작고, 더 빠르고, 더 저렴하고, 더 안정적이므로 상업적으로 생산할 수 있습니다. 1964년부터 1972년까지의 컴퓨터를 일반적으로 3세대 컴퓨터라고 부릅니다. 다수의 집적회로가 사용되며 대표적인 모델이 IBM360 시리즈이다.

1970년대에는 집적회로 기술이 도입되면서 컴퓨터 생산 비용이 크게 줄어들었고 컴퓨터가 수천 가구에 보급되기 시작했습니다. 1972년 이후의 컴퓨터는 관습적으로 4세대 컴퓨터라고 불립니다. 대규모 집적 회로와 이후의 초대형 집적 회로를 기반으로 합니다. 1972년 4월 1일, INTEL은 8008 마이크로프로세서를 출시했습니다. Apple Computer는 1976년 Stephen Wozinak과 Stephen Jobs에 의해 설립되었습니다. Apple I 컴퓨터를 출시했습니다. 1977년 5월, 애플 II 컴퓨터가 출시되었습니다. 1979년 6월 1일, INTEL은 8비트 8088 마이크로프로세서를 출시했습니다.

1982년부터 마이크로컴퓨터가 대중화되기 시작하여 학교와 가정에 대량으로 보급되었습니다. Commodore 64 컴퓨터는 1982년 1월에 출시되었으며 가격은 595달러입니다. 1982년 2월 출판 80286. 클럭 주파수가 20MHz로 증가하고 보호 모드가 추가되어 16M 메모리에 액세스할 수 있습니다. 1GB 이상의 가상 메모리를 지원합니다. 초당 270만 개의 명령을 실행하고 134,000개의 트랜지스터를 통합합니다.

1990년 11월: 1세대 MPC(멀티미디어 개인용 컴퓨터 표준)가 출시되었습니다. 최소 80286/12MHz 프로세서(나중에 80386SX/16MHz로 증가) 및 전송 속도가 최소 150KB/초인 광학 드라이브. 1994년 10월 10일, 인텔은 75MHz 펜티엄 프로세서를 출시했습니다. 펜티엄 프로는 1995년 11월 1일에 출시되었습니다. 기본 주파수는 200MHz에 도달할 수 있고 초당 4억 4천만 개의 명령을 완료하며 550만 개의 트랜지스터를 통합할 수 있습니다. 인텔은 1997년 1월 8일에 펜티엄 MMX를 출시했습니다. 게임 및 멀티미디어 기능이 향상되었습니다.

이후 컴퓨터는 급격하게 변했다. 1965년에 발표된 무어의 법칙은 지속적으로 확인되었고, 그 예측은 향후 10~15년 후에도 여전히 적용 가능하다.

원리

개인용 컴퓨터의 주요 구조:

모니터

마더보드

CPU(중앙 처리 장치) 장치)

주 스토리지(메모리)

확장 카드

전원 공급 장치

광 드라이브

보조 스토리지 하드드라이브(하드디스크)

키보드

마우스

1940년대 최초의 전자 범용 컴퓨터가 탄생한 이후 컴퓨터 기술은 눈부신 발전을 이루었지만 급속하게 발전했지만 오늘날의 컴퓨터는 여전히 기본적으로 저장 프로그램 구조, 즉 폰 노이만 구조를 사용하고 있습니다. 이러한 구조는 실용적인 범용 컴퓨터를 구현한다.

저장된 프로그램 구조는 컴퓨터가 산술 논리 장치(ALU), 제어 회로, 메모리, 입출력 장치(I/O)의 네 가지 주요 부분으로 나누어져 있음을 설명합니다. 이러한 구성 요소는 와이어 그룹(특히 여러 다른 목적으로 데이터 전송에 사용될 때 와이어 그룹을 버스라고 함)으로 연결되며 클록에 의해 구동됩니다(특정 다른 이벤트도 제어 회로를 구동할 수 있음).

개념적으로 컴퓨터의 메모리는 '셀' 단위의 집합으로 볼 수 있습니다. 각 "셀"에는 주소라고 하는 숫자가 있으며 더 작은 고정 길이 정보를 저장할 수도 있습니다. 이 정보는 명령(컴퓨터에 수행할 작업을 지시)일 수도 있고 데이터(명령의 대상)일 수도 있습니다. 원칙적으로 각 "셀"은 둘 중 하나를 저장할 수 있습니다.

산술논리장치(ALU)는 컴퓨터의 두뇌라고 할 수 있다. 두 가지 유형의 연산을 수행할 수 있습니다. 첫 번째 유형은 두 숫자를 더하고 빼는 것과 같은 산술 연산입니다. 실제로 ALU에서는 산술 연산 장치의 기능이 매우 제한되어 있습니다. 실제로 일부 ALU는 회로 수준의 곱셈 및 나눗셈 연산을 전혀 지원하지 않습니다(따라서 사용자는 프로그래밍을 통해 곱셈 및 나눗셈 연산만 수행할 수 있습니다). 두 번째 유형은 비교 연산입니다. 즉, 두 개의 숫자가 주어지면 ALU는 이를 비교하여 어느 것이 더 큰지 결정합니다.

입력 및 출력 시스템은 컴퓨터가 외부 세계로부터 정보를 수신하고 계산 결과를 외부 세계에 피드백하는 수단입니다. 표준 개인용 컴퓨터의 경우 입력 장치에는 주로 키보드와 마우스가 포함되며, 출력 장치에는 모니터, 프린터 및 컴퓨터에 연결할 수 있는 기타 여러 I/O 장치가 포함됩니다.

제어 시스템은 위의 모든 컴퓨터 부품을 연결합니다. 그 기능은 메모리와 입력 및 출력 장치에서 명령과 데이터를 읽고, 명령을 디코딩하고, 명령 요구 사항을 충족하는 올바른 입력을 ALU에 전달하여 ALU에 이러한 데이터에 대해 수행할 작업과 결과를 반환할 위치를 알려주는 것입니다. 데이터. 제어 시스템의 중요한 구성 요소는 현재 명령어의 주소를 추적하는 카운터입니다. 일반적으로 이 카운터는 명령어가 실행될 때 증가하지만 명령어가 점프를 지시하는 경우 이 규칙을 따르지 않는 경우도 있습니다.

1980년대부터 ALU와 제어 장치(둘은 중앙 처리 장치, CPU를 합성함)가 점차 마이크로프로세서라고 불리는 집적 회로에 통합되었습니다.

이 유형의 컴퓨터의 작업 모드는 매우 직관적입니다. 한 클럭 주기 내에서 컴퓨터는 먼저 메모리에서 명령과 데이터를 가져온 다음 명령을 실행하고 데이터를 저장한 후 다음 명령을 가져옵니다. 이 과정은 종료 명령을 받을 때까지 반복적으로 실행됩니다.

컨트롤러에 의해 해석되는 연산 장치에 의해 실행되는 명령어 세트는 매우 제한된 수의 간단한 명령어로 세심하게 정의된 세트입니다. 일반적으로 4가지 범주로 나눌 수 있습니다: 1) 데이터 이동(예: 저장 장치 A에서 저장 장치 B로 값 복사) 2) 수학적 연산(예: 저장 장치 A와 저장 장치 B의 합계 계산) , 결과 반환 저장 단위 C) 3), 조건 확인(예: 저장 단위 A의 값이 100이면 다음 명령어의 주소는 저장 단위 F) 4), 명령어 순서 변경(예: 다음 명령어의 주소는 저장 단위입니다. F)

명령어는 데이터와 마찬가지로 컴퓨터 내에서 이진수로 표시됩니다. 예를 들어 10110000은 Intel x86 시리즈 마이크로프로세서의 복사 명령 코드입니다. 특정 컴퓨터가 지원하는 명령어 세트는 컴퓨터의 기계어입니다. 따라서 대중적인 기계어를 사용하면 기존 소프트웨어를 새 컴퓨터에서 더 쉽게 실행할 수 있습니다. 따라서 상용 소프트웨어를 개발하는 사람들은 대개 하나 또는 몇 가지 기계어에만 집중합니다.

더 강력한 미니컴퓨터, 메인프레임 컴퓨터 및 서버는 위에 나열된 컴퓨터와 다를 수 있습니다. 일반적으로 실행을 위해 작업을 다른 CPU에 배포합니다. 오늘날 마이크로프로세서와 멀티코어 개인용 컴퓨터도 이러한 방향으로 움직이고 있습니다.

슈퍼컴퓨터는 기본 프로그램 저장 컴퓨터와 크게 다른 아키텍처를 갖는 경우가 많습니다. 그들은 종종 수천 개의 CPU를 가지고 있지만 이러한 디자인은 특정 작업에만 유용한 것 같습니다. 다양한 컴퓨터에는 프로그램과 데이터를 분리하는 Harvard 아키텍처를 사용하는 일부 마이크로 컨트롤러도 있습니다.

컴퓨터의 디지털 회로 구현

위에서 언급한 개념 설계의 물리적 구현은 다양합니다. 위에서 언급했듯이, 프로그램 저장 컴퓨터는 배비지의 기계식 컴퓨터이거나 디지털 전자 장치에 기반한 컴퓨터일 수 있습니다. 그러나 디지털 회로는 릴레이와 같은 전자적으로 제어되는 스위치를 통해 이진수를 사용하여 산술 및 논리 연산을 구현할 수 있습니다. Shannon의 논문은 간단한 부울 연산을 수행할 수 있는 논리 게이트를 형성하기 위해 릴레이를 배열하는 방법을 정확하게 보여주었습니다. 일부 다른 학자들은 진공관의 사용이 릴레이 회로를 대체할 수 있다는 점을 재빠르게 지적했습니다. 진공관은 처음에는 무선 회로의 증폭기로 사용되었으며 이후 디지털 전자 회로의 고속 스위치로 점점 더 많이 사용되기 시작했습니다. 튜브의 한 핀에 전원이 공급되면 전류가 다른 두 단자 사이를 자유롭게 통과할 수 있습니다.

논리 게이트의 배열과 조합을 통해 복잡한 여러 작업을 설계하고 완료할 수 있습니다. 예를 들어 기계 추가가 그 중 하나입니다. 전자 분야에서는 이 장치가 두 개의 숫자를 추가하고 그 결과를 저장합니다. 컴퓨터 과학에서는 일련의 연산을 통해 특정 목적을 달성하는 방법을 알고리즘이라고 합니다. 결국 사람들은 수많은 논리 게이트 회로를 통해 완전한 ALU와 컨트롤러를 성공적으로 조립했습니다. 그 수가 상당하다고 말하려면 가장 작은 실제 튜브 컴퓨터일 수 있는 CSIRAC를 살펴보십시오. 기계에는 2,000개의 전자관이 포함되어 있으며 그 중 대부분은 이중 목적 장치입니다. 이는 총 2,000~4,000개의 논리 장치를 의미합니다.

진공관은 분명히 대규모 게이트 회로를 생산할 수 없습니다. 비싸고, 불안정하며(특히 대량으로), 비대하고, 에너지를 많이 소모하며, 충분히 빠르지는 않습니다. 하지만 기계식 스위칭 회로보다 훨씬 빠릅니다. 이로 인해 1960년대에 트랜지스터가 트랜지스터로 대체되었습니다. 후자는 크기가 더 작고 작동하기 쉽고 신뢰성이 높으며 에너지 소비를 절약하고 비용도 저렴합니다.

집적회로는 오늘날 전자 컴퓨터의 기본이다. 1960년대 이후 트랜지스터는 실리콘 기판 위에 수많은 트랜지스터와 각종 전기 부품, 연결선을 배치한 집적회로로 점차 대체되기 시작했다. 1970년대에는 CPU의 두 가지 주요 부분인 ALU와 컨트롤러가 하나의 칩으로 통합되기 시작했으며 이를 '마이크로프로세서'라고 불렀습니다. 집적회로의 발전 과정에서 우리는 칩에 집적되는 장치의 수가 급격히 증가했음을 알 수 있습니다. 최초의 집적 회로에는 수십 개의 구성 요소만 포함되어 있었지만 2006년에는 Intel Core Duo 프로세서의 트랜지스터 수가 1억 5100만개에 이르렀습니다.

튜브, 트랜지스터, 집적 회로 등 플립플롭 설계 메커니즘을 사용하여 저장된 프로그램 아키텍처에서 "메모리" 구성 요소로 사용할 수 있습니다. 실제로 플립플롭은 실제로 소규모 초고속 저장 장치로 사용됩니다. 그러나 대규모 데이터 저장을 위해 플립플롭을 사용하는 컴퓨터 디자인은 거의 없습니다. 최초의 컴퓨터는 윌리엄스 튜브를 사용하여 텔레비전 화면이나 여러 수은 지연선(음파는 ​​이러한 선을 통과할 때 매우 느리게 이동하며 "저장"된 것으로 간주됨)에 전자빔을 방출한 다음 데이터를 읽어냅니다. . 물론 이러한 덜 우아하고 효과적인 방법은 결국 자기 저장 장치로 대체되었습니다. 예를 들어, 자기 코어 메모리에서는 정보를 나타내는 전류가 철 재료에 영구적인 약한 자기장을 생성할 수 있으며, 이 자기장이 다시 판독되면 데이터 복구가 이루어집니다. DRAM(동적 랜덤 액세스 메모리)도 발명되었습니다. 이는 많은 수의 커패시터를 포함하는 집적 회로이며 이러한 용량성 장치는 데이터 전하를 저장하는 역할을 합니다. 전하의 강도는 데이터 값으로 정의됩니다.

입력 및 출력 장치

입력 및 출력 장치(I/O)는 외부 세계의 정보를 컴퓨터로 보내는 장치와 처리 결과를 컴퓨터로 반환하는 장치의 일반적인 용어입니다. 외부 세계. 이러한 반환된 결과는 사용자가 시각적으로 경험하거나 컴퓨터가 제어하는 ​​다른 장치에 대한 입력으로 경험할 수 있습니다. 로봇의 경우 제어 컴퓨터의 출력은 기본적으로 다양한 동작을 수행하는 로봇 자체입니다.

1세대 컴퓨터에는 입력 및 출력 장치의 종류가 매우 제한되어 있었습니다. 일반적인 입력 장치는 지침과 데이터를 메모리로 가져오는 데 사용되는 펀치 카드 판독기이며, 결과를 저장하는 데 사용되는 출력 장치는 일반적으로 자기 테이프입니다. 기술이 발전함에 따라 입출력 장치의 종류도 다양해졌습니다. 개인용 컴퓨터를 예로 들어 보겠습니다. 키보드와 마우스는 사용자가 컴퓨터에 직접 정보를 입력하는 주요 도구인 반면, 모니터, 프린터, 스피커 및 헤드폰은 처리 결과를 반환합니다. 이미지를 입력할 수 있는 디지털 카메라와 같이 다양한 종류의 정보를 받아들이는 입력 장치도 많이 있습니다. 입력 및 출력 장치 중에는 주목할 만한 두 가지 범주가 있습니다. 첫 번째 범주는 하드 드라이브, 광 디스크 또는 기타 느리지만 고용량 장치와 같은 보조 저장 장치입니다. 두 번째는 컴퓨터 네트워크 접속 장비입니다. 이를 통한 컴퓨터 간의 직접적인 데이터 전송은 컴퓨터의 가치를 크게 향상시킵니다. 오늘날 인터넷을 통해 수천만 대의 컴퓨터가 다양한 유형의 데이터를 서로 전송할 수 있습니다.

프로그램

간단히 말하면 컴퓨터 프로그램은 컴퓨터가 실행하는 일련의 명령입니다. 간단한 작업을 수행하기 위한 몇 가지 명령일 수도 있고, 엄청난 양의 데이터를 처리할 수 있는 복잡한 명령 대기열일 수도 있습니다. 많은 컴퓨터 프로그램에는 수백만 개의 명령이 포함되어 있으며 그 중 다수는 반복적으로 실행될 수 있습니다. 2005년에 일반적인 개인용 컴퓨터는 초당 약 30억 개의 명령을 실행할 수 있었습니다. 컴퓨터는 일반적으로 추가 기능을 얻기 위해 매우 복잡한 명령을 실행하지 않고 대신 프로그래머의 배열에 따라 더 간단하지만 수많은 짧은 명령을 실행합니다.

일반적인 상황에서 프로그래머는 컴퓨터에 대한 명령을 작성하기 위해 기계어를 직접 사용하지 않습니다. 그 결과는 시간이 많이 걸리고 비효율적이며 허점이 가득할 뿐입니다. 따라서 프로그래머는 일반적으로 "고급" 언어로 프로그램을 작성한 다음 인터프리터나 컴파일러와 같은 특수 컴퓨터 프로그램을 사용하여 이를 기계어로 번역합니다. 일부 프로그래밍 언어는 어셈블러와 같은 기계어와 매우 유사해 보이며 저수준 언어로 간주됩니다. 추상적인 원리에 기초한 Prolog와 같은 다른 언어는 컴퓨터의 실제 작동에 대한 세부 사항을 완전히 무시하며 고급 언어로 설명할 수 있습니다. 특정 작업의 경우 트랜잭션 특성, 프로그래머 기술, 사용 가능한 도구 및 고객 요구 사항을 기반으로 해당 언어를 선택해야 하며, 그중 고객 요구 사항이 가장 중요합니다(미국과 중국 군대의 엔지니어링 프로젝트에서는 종종 Ada를 사용해야 함). 언어).

컴퓨터 소프트웨어는 컴퓨터 프로그램과 동일하지 않은 또 다른 용어입니다. 컴퓨터 소프트웨어는 작업을 완료하는 데 사용되는 프로그램 및 모든 관련 자료를 포함하는 보다 포괄적인 기술 용어입니다. 예를 들어, 비디오 게임에는 프로그램 자체뿐만 아니라 가상 게임 환경을 만드는 이미지, 사운드, 기타 데이터 콘텐츠도 포함됩니다. 소매 시장에서 단일 컴퓨터의 응용 프로그램은 다수의 사용자를 대상으로 하는 소프트웨어의 복사본일 뿐입니다.

여기서 진부한 예는 물론 일반 사무용 요구 사항에 맞춰 상호 연관된 일련의 프로그램을 포함하는 Microsoft의 사무용 소프트웨어 제품군입니다.

그렇게 극히 간단한 기계어 명령어를 사용하여 수많은 강력한 응용 소프트웨어를 구현한다는 것은 그 프로그래밍의 규모가 커질 것이라는 것을 의미합니다. Windows XP 운영 체제 프로그램에는 4천만 줄의 C++ 고급 언어 소스 코드가 포함되어 있습니다. 물론 이것이 가장 큰 것은 아니다. 이러한 대규모 소프트웨어는 개발 과정에서 관리의 중요성을 보여줍니다. 실제로 프로그래밍을 할 때, 프로그램은 각 프로그래머가 허용되는 시간 내에 완료할 수 있는 크기로 나누어집니다.

그럼에도 불구하고 소프트웨어 개발 과정은 여전히 ​​느리고 예측 불가능하며 누락으로 가득 차 있습니다. 새로운 소프트웨어 엔지니어링은 작업 진행 속도를 높이고 효율성과 품질을 향상시키는 방법에 중점을 둡니다.

라이브러리 및 운영 체제

컴퓨터가 탄생한 직후, 특정 표준 수학 함수 계산과 같은 특정 작업이 다양한 프로그램에서 수행된다는 사실이 밝혀졌습니다. 효율성을 위해 이러한 프로그램의 표준 버전은 호출할 각 프로그램의 "라이브러리"에 수집됩니다. 많은 작업에는 다양한 입력 및 출력 인터페이스의 추가 처리가 필요한 경우가 많습니다. 여기서 연결용 라이브러리가 유용합니다.

1960년대 컴퓨터 산업화가 대중화되면서 조직 내 다양한 ​​업무를 처리하는 데 컴퓨터가 점점 더 많이 사용되었습니다. 곧 자동으로 작업을 예약하고 실행할 수 있는 특수 소프트웨어가 출시되었습니다. 하드웨어를 제어하고 작업 예약을 담당하는 소프트웨어를 "운영 체제"라고 합니다. 초기 운영 체제의 예로는 IBM의 OS/360이 있습니다.

지속적인 개선 과정에서 운영 체제는 동시성이라는 시간 공유 메커니즘을 도입했습니다. 이를 통해 여러 다른 사용자가 기계를 "동시에" 사용하여 자신의 프로그램을 실행할 수 있으므로 각 사람이 자신의 컴퓨터를 가지고 있는 것처럼 보입니다. 이를 위해 운영 체제는 각 사용자에게 서로 다른 프로그램을 분리할 수 있는 "가상 머신"을 제공해야 합니다. 운영 체제 제어가 필요한 장치의 수가 계속 증가함에 따라 그 중 하나가 하드 드라이브입니다. 따라서 운영 체제에는 파일 관리 및 디렉터리 관리(폴더)가 도입되어 이러한 영구 저장 장치의 적용이 크게 단순화되었습니다. 또한 운영 체제는 보안 제어도 담당하여 사용자가 권한이 부여된 파일에만 액세스할 수 있도록 보장합니다.

물론 지금까지 운영 체제 개발에서 마지막으로 중요한 단계는 프로그램에 대한 표준 그래픽 사용자 인터페이스(GUI)를 제공하는 것입니다. 운영 체제가 이러한 인터페이스를 제공해야 하는 기술적 이유는 없지만 운영 체제 공급업체는 항상 시스템에서 실행되는 소프트웨어가 운영 체제와 모양 및 동작 특성이 일관되거나 유사하기를 바라고 장려합니다.

위의 핵심 기능 외에도 운영 체제에는 일반적으로 사용되는 일련의 도구도 캡슐화되어 있습니다. 그 중 일부는 컴퓨터 관리에 그다지 중요하지 않지만 사용자에게는 매우 유용합니다. 예를 들어 Apple의 Mac OS X에는 비디오 편집 응용 프로그램이 포함되어 있습니다.

소형 컴퓨터용 일부 운영 체제에는 기능이 많지 않을 수 있습니다. 초기 마이크로컴퓨터는 제한된 메모리와 처리 능력으로 인해 추가 기능을 제공하지 못한 반면, 임베디드 컴퓨터는 특수 운영 체제를 사용하거나 운영 체제를 전혀 사용하지 않고 애플리케이션을 통해 운영 체제의 특정 기능을 직접 프록시하는 경우가 많았습니다.

애플리케이션

컴퓨터로 제어되는 기계는 업계에서 매우 일반적입니다.

Furby와 같은 현대의 대량 생산 장난감은 값싼 임베디드 프로세싱 없이는 작동할 수 없습니다.

처음에는 크고 값비싼 디지털 컴퓨터가 주로 과학적 계산, 특히 군사 업무를 수행하는 데 사용되었습니다. 예를 들어, ENIAC은 수소폭탄을 설계할 때 포병의 궤적을 계산하고 단면 중성자 밀도를 계산하는 데 처음 사용되었습니다(오늘날에도 여전히 많은 슈퍼컴퓨터가 핵 실험 시뮬레이션에서 큰 역할을 하고 있습니다). 호주에서 설계된 최초의 저장 프로그램 컴퓨터인 CSIR Mk I은 수력 발전 프로젝트를 위해 집수지의 강우량을 평가하는 데 사용되었습니다. 영국의 "Colossus" 프로그래밍 가능 컴퓨터와 같은 다른 것들은 암호 해독에 사용되었습니다. 이러한 초기 과학 또는 군사 응용 분야 외에도 컴퓨터는 다른 분야에서도 매우 빠르게 발전했습니다.

처음부터 프로그램 저장 컴퓨터는 비즈니스 문제 해결과 밀접하게 연관되어 왔습니다. IBM의 최초 상용 컴퓨터가 탄생하기 오래 전에 영국의 J. Lyons 등은 자산 관리 또는 기타 비즈니스 목적으로 LEO를 설계하고 제조했습니다.

지속적인 규모 및 비용 통제로 인해 컴퓨터는 소규모 조직으로 확산되기 시작했습니다. 1970년대 마이크로프로세서의 발명과 함께 값싼 컴퓨터가 현실화됐다. 1980년대에는 개인용 컴퓨터가 널리 보급되었으며 전자 문서 작성 및 인쇄, 예산 계산 및 기타 반복적인 보고서 작업이 컴퓨터에 점점 더 의존하게 되었습니다.

컴퓨터가 저렴해지면서 창의적인 예술 작업에도 컴퓨터가 사용되기 시작했습니다. 사람들은 신디사이저, 컴퓨터 그래픽, 애니메이션을 사용하여 사운드, 이미지, 비디오를 만들고 수정합니다. 비디오 게임의 산업화는 컴퓨터가 엔터테인먼트 분야에서도 새로운 역사를 창조했음을 보여줍니다.

컴퓨터가 소형화되면서 기계 장비의 제어도 컴퓨터의 지원에 의존하기 시작했다. 실제로 집적회로 기술의 도약을 촉진한 것은 아폴로 우주선을 제어할 수 있을 만큼 작은 임베디드 컴퓨터의 구축이었습니다. 오늘날 부분적으로 컴퓨터로 제어되는 장치를 찾는 것보다 컴퓨터로 제어되지 않는 활성 기계 장치를 찾는 것이 훨씬 더 어렵습니다. 아마도 가장 유명한 컴퓨터 제어 장치는 로봇, 즉 인간의 모습을 어느 정도 갖고 있고 인간 행동의 일부를 갖고 있는 기계일 것입니다. 대량생산에서는 산업용 로봇이 흔하다. 그러나 완전한 의인화 로봇은 여전히 ​​공상과학 소설이나 실험실의 영역에 속합니다.

로봇공학 기술은 본질적으로 인공지능 분야에서 물리적 표현의 연결 고리이다. 소위 인공 지능은 모호하게 정의된 개념이지만 확실한 것은 이 학문이 현재는 없지만 인간에게 내재된 기능을 컴퓨터에 부여하려고 시도한다는 것입니다. 수년에 걸쳐, 이전에는 인간만이 할 수 있다고 생각했던 일을 컴퓨터가 할 수 있도록 하는 새로운 방법이 개발되었습니다. 독서와 체스 등. 그러나 지금까지 인간과 같은 "전체적" 지능을 갖춘 컴퓨터를 개발하는 과정은 더디게 진행되었습니다.

네트워크, 인터넷

이와 관련하여 미군의 SAGE(Sage System)는 1950년대부터 컴퓨터가 여러 곳의 정보를 조정하는 도구로 사용되었습니다. . 대규모 시스템. 이후에는 '세이버' 등 특수 목적의 상용 시스템도 잇달아 등장했다.

1970년대 이후 미국 주요 대학의 컴퓨터 엔지니어들은 통신 기술을 사용하여 컴퓨터를 연결하기 시작했습니다. 이 작업은 ARPA의 후원을 받았기 때문에 그 컴퓨터 네트워크는 ARPANET이라고 불렸습니다. 이후 ARPA 네트워크에 사용되는 기술은 급속도로 확산되고 진화하여 이 네트워크도 대학과 군대의 범위를 넘어 오늘날의 인터넷을 형성했습니다. 인터넷의 출현으로 컴퓨터의 속성과 경계가 재정의되었습니다. Sun Microsystems의 John Gage와 Bill Joy는 "네트워크는 컴퓨터이다"라고 지적했습니다. 컴퓨터 운영체제와 애플리케이션은 네트워크상의 다른 컴퓨터 등 네트워크 자원에 접근할 수 있는 방향으로 발전하고 있다. 처음에는 이러한 네트워크 장치가 고급 과학 종사자에게만 국한되었지만, 1990년대 이후 이메일과 월드와이드웹(World Wide Web) 기술이 확산되고 이더넷, ADSL과 같은 네트워크 연결 기술이 저렴해지면서 인터넷은 변화했습니다. 어디에나 있습니다. 오늘날 인터넷에 연결된 컴퓨터의 총 수는 수천만 대에 이릅니다. 무선 인터넷 기술의 인기로 인해 인터넷은 모바일 컴퓨팅 환경의 그림자가 되었습니다. 예를 들어, 노트북 컴퓨터에 널리 사용되는 Wi-Fi 기술은 무선 인터넷 접속의 대표적인 응용 분야입니다.

차세대 컴퓨터

디지털 컴퓨터는 등장 이후 속도와 성능 면에서 상당한 발전을 이루었지만, 여전히 현재 컴퓨터의 성능을 넘어서는 부분이 많습니다. 이러한 작업 중 일부의 경우 해결책을 찾는 데 걸리는 시간이 문제 규모의 확장을 따라갈 수 없기 때문에 기존 컴퓨터로는 구현이 불가능합니다. 따라서 과학자들은 이러한 유형의 문제를 해결하기 위해 생물학적 컴퓨팅 기술과 양자 이론에 관심을 돌리기 시작했습니다. 예를 들어, 사람들은 특정 문제를 해결하기 위해 생물학적 처리(DNA 컴퓨팅)를 사용할 계획입니다. 세포가 기하급수적으로 분열하는 방식으로 인해 DNA 컴퓨팅 시스템은 동일한 규모의 문제를 해결할 수 있을 가능성이 높습니다. 물론, 그러한 시스템은 제어할 수 있는 DNA의 총량에 의해 직접적으로 제한됩니다.

양자 컴퓨터는 이름에서 알 수 있듯이 양자 물리 세계의 놀라운 특성을 활용합니다. 양자 컴퓨터가 구축되면 일반 컴퓨터보다 속도가 향상될 것입니다. 물론, 암호화와 양자 물리학 시뮬레이션을 포함하는 이 차세대 컴퓨터는 아직 개념 단계에 불과합니다.

컴퓨터공학

오늘날 거의 모든 전공이 컴퓨터와 밀접하게 연관되어 있습니다. 그러나 특정 직업과 분야에서만 컴퓨터 자체를 만들고, 프로그래밍하고, 사용하는 기술을 탐구합니다. 컴퓨터 과학 분야 내에서 다양한 연구 분야를 설명하기 위해 사용되는 다양한 학술 용어의 의미는 끊임없이 변화하고 있으며, 새로운 학문 분야가 속속 등장하고 있습니다.

컴퓨터공학은 컴퓨터 소프트웨어와 하드웨어, 그리고 둘 사이의 관계를 주로 연구하는 전자공학의 한 분야이다.

컴퓨터공학은 컴퓨터에 대한 학문적 연구를 가리키는 전통적인 명칭입니다. 특정 작업을 수행하기 위한 컴퓨팅 기술과 효율적인 알고리즘을 주로 연구합니다. 이 주제는 컴퓨터 분야에서 문제가 해결 가능한지, 얼마나 효율적으로 해결할 수 있는지, 그리고 보다 효율적인 프로그램을 만드는 방법을 결정하는 데 도움이 됩니다. 오늘날 컴퓨터 과학에는 다양한 분야가 있으며 각 분야에서는 다양한 유형의 문제에 대한 심층적인 연구를 수행합니다.

소프트웨어 엔지니어링은 고품질 소프트웨어 시스템 개발을 위한 방법론과 실무 연구에 중점을 두고 개발 비용과 개발 주기를 압축하고 예측하려고 시도합니다.

정보 시스템은 광범위하게 조직화된 환경(주로 비즈니스)에서 컴퓨터 응용 프로그램을 연구하는 학문입니다.

많은 학문 분야가 다른 학문 분야와 얽혀 있습니다. 예를 들어, 지리 정보 시스템 전문가는 컴퓨터 기술을 사용하여 지리 정보를 관리합니다.

세계에는 컴퓨터 과학에 전념하는 세 개의 대규모 조직이 있습니다. 영국 컴퓨터 협회(BCS), 미국 컴퓨터 협회(ACM) 및 협회(IEEE)입니다.