티스토리 뷰
- 컴퓨터
- 사전에 정의된 방법에 따라 입력된 데이터를 자동으로 처리하여 정보를 생성하는 기계
- 데이터 --처리와 가공--> 유용한 정보
- 컴퓨터의 발전
- 진공관
- 1세대 컴퓨터
- 수백~수천개 단위의 진공관으로 2진 연산
- 높은 발열, 잦은 고장으로 인한 진공관 교체로 불편
- ABC
- 애니악보다 3년정도 앞선 최초의 컴퓨터
- 처음에 정해진 배열이 있다면 그것을 바꿀 수 없어 컴퓨터로 인정이 논란이 되었음
- 1세대 컴퓨터
- 트랜지스터
- 2세대 컴퓨터
- 트랜지스터가 진공관을 대체하여 컴퓨터의 소형화가 가능
- 트랜지스터를 이용한 연산소자로 컴퓨터의 신뢰도와 성능이 비약적으로 향상
- TRADIC
- 2세대 컴퓨터
- 집적회로(IC)
- 3세대 컴퓨터
- 수백개의 트랜지스터를 하나의 칩으로 집적하여 소형화, PC의 등장
- 운영체제(OS)의 개념이 도입
- 3세대 컴퓨터
- 고밀도 IC
- 4세대 컴퓨터
- 하나의 실리콘 조각에 수만개의 회로를 집적
- 집적 기술의 향상으로 마이크로프로세서 개념이 도입
- 4세대 컴퓨터
- 진공관
- 컴퓨터의 종류
- 개인용 컴퓨터(PC, Personal Computer)
- 기업이나 가정에서 개인이 사용하는 컴퓨터
- 여러 종류의 디지털 정보의 저장, 관리, 통신 작업을 수행
- 데스크탑, 랩탑, 태블릿, 스마트폰
- 메인프레임
- 모니터가 없음
- 다량의 데이터를 고속으로 처리하기위한 것
- 메인프레임 컴퓨터
- 통계나 금융관련 전산업무와 같은 복잡한 작업과 다수 사용자를 요구하는 분야에 사용
- 슈퍼컴퓨터
- 날씨 예보나 물리학 시뮬레이션과 같은 대용량 계산이 필요한 분야에 사용
- 주로 페타플롭스(1초에 3경 3,860조)의 연산을 수행 (일반 PC는 0.0003 페타플롭스 연산)
- 개인용 컴퓨터(PC, Personal Computer)
- 컴퓨터와 프로그램
- 비트와 바이트
- 비트(bit)
- 0과 1 둘 중 하나의 값을 가질 수 있는 소자
- 바이트(byte) - 비트를 8개묶어서 나타내는 값
- 여러 데이터의 값을 나타낼 수 있는 가장 작은 단위
- 비트(bit)
- 비트와 바이트
- 컴퓨터와 2진법
- 대다수의 컴퓨터는 2진법을 사용하여 디지털화된 데이터를 저장 및 처리
- 디지털과 아날로그
- 아날로그(analog)
- 사물이나 개념을 연속적인 물리량 값으로 표현
- 질적 데이터 또는 양적 데이터로 표현
- 디지털(digital)
- 사물이나 개념을 이산적인 값으로 근사하여 표현
- 양적 데이터로 표현(수치)
- 데이터 크기에 따른 디지털 데이터의 표현
- 한단계마다 4배씩 차이남
- 현재 우리가 사용하고 있는 대다수의 컴퓨터는 디지털 방식으로 되어있음
- 아날로그(analog)
- 숫자 데이터 표현
- 10진수, 12진수 등을 2진수로 변환하여 숫자데이터를 표현, 입력 처리함
- 문자 데이터 표현
- 한글, 영어, 독일어 등을 2진수로 변환(인코딩 체계)
- 인코딩체계: 문자를 처리하는데 중요한 역할
- ASCII(American Standard Code for Information Interchange) 코드
- 프로그램의 개념
- 컴퓨터는 어떠한 데이터 처리를 위한 처리방법과 과정을 자의적으로 결저잉 불가능
- 사전에 정의된 프로그램을 사용하여 데이터를 처리
- 프로그램이란 컴퓨터가 어떠한 작업을 자동으로 처리할 수 있도록 처리방법 및 순서를 컴퓨터 언어형태로 기술한 것
- 개별적인 유사한 문제를 문제를 추상화시킨 알고리즘(algorithm)을 구현
- 정렬 알고리즘
- 카드를 오름차순으로 정렬하는 문제를 처리할 수 있는 일반적인 과정을 말함
- 알고리즘의 정의
- 문제를 풀기위한 단계별 절차를 수학적 또는 체계적 명령의 형태로 기술한 것
- 주어진 명령어를 처리하는 컴퓨터에게 문제를 해결하는 정형화된 절차를 설명
- 프로그래밍 언어
- 사람과 컴퓨터 사이의 의사소통 도구
- 프로그래머는 컴퓨터가 이해할 수 있는 언어를 사용하여 프로그램을 작성
- 프로그래밍 언어의 분류
- 1세대 언어
- 기계어: 0과 1만으로 이루어져 기계가 곧바로 해석 가능
- 2세대 언어
- 어셈블리어
- 간단한 몇몇 명령어만 영단어로 대체(add, mov)
- 기계어 보다 향상된 가독성
- 3세대 언어
- C, C++, Java 등의 언어
- 자연어와 유사한 문법을 갖는 순차형 언어
- 범용적인 환경에서 실행 가능
- 4세대 언어
- Visual Basic등의 언어
- 자동화 기능이 포함되어 마우스 등 간단한 장치를 사용하여 대화형식으로 프로그래밍이 가능
- 1세대, 2세대언어: 저급언어(기계에게 가까움)
- 3세대, 4세대언어: 고급언어(사람에게 가까움)
- 1세대 언어
- 프로그램의 실행
- 진화된 세대의 언어로 작성된 소스코드는 기계어 밖에 인식할 수 없는 컴퓨터에 의해 실행불가능
- 컴파일러 또는 인터프리터를 사용
- 3세대 또는 4세대인 언어를 기계어로 바꿔주는 역할
- 컴파일러: 번역가와 비슷한 역할(전체를 한번에 바꿔서 컴퓨터에게 전달)
- 인터프리터: 번역이 아닌 통역에 가까운 역할(한줄씩 바꿔서 컴퓨터에게 전달)
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 동적프로그래밍
- BFS
- 세마포어
- 자료구조
- 최단경로
- 배열
- 클래스
- server side rendering
- 인접행렬
- client side rendering
- 병행프로세스
- Stack
- 알고리즘
- react
- 교착상태
- 입출력장치
- 퀵정렬
- dfs
- 구조체
- C
- Java
- 스텍
- 인접리스트
- 소프트웨어
- 운영체제
- stackframe
- 재귀함수
- 이진탐색
- C++
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함