> - 컴퓨터 시스템 계층 설명
> - 추상화와 컴퓨팅의 관련성
> - 컴퓨터 하드웨어, 소프트웨어의 역사
> - 계산기와 컴퓨터의 차이점
<br>
## 컴퓨터 시스템 7계층
- Information Layer
- 정보가 컴퓨터에 어떻게 표현되는지 설명하는 부분
- 이진수 0과 1로 표현
- Hardware Layer
- 컴퓨터 시스템의 물리적인 부품으로 구성
- 게이트, 회로, CPU, 메모리 등
- Programming Layer
- 소프트웨어(자료를 다루거나 계산을 수행하기 위해서 컴퓨터 하드웨어에 지시하는 명령어들의 집합)
- Operating Systems Layer
- 컴퓨터 자원을 효율적으로 관리하기 위한 운영체제
- 운영체제는 하드웨어, 프로그램, 데이터가 상호 작용하는 방식을 제어함
- Applications Layer (응용프로그램)
- 구체적인 실생활의 문제를 해결하기 위해 컴퓨터를 어떻게 사용할 것인가
- Communications Layer (통신)
- 컴퓨터 간의 통신, 정보나 자원을 공유하기 위해 네트워크로 연결되어 있음
- ~~하나 더 추가한다면 'Intelligence Layer' (인공지능)~~
→ **추상화**
한 개의 계층을 생각할 때, 다른 계층에 대한 구체적인 내용을 고려할 필요 없음
e.g. 우리는 프로그램을 작성할 때, 하드웨어가 명령어를 어떻게 수행할지에 대해서는 생각하지 않는다.
<br>
## Computing System
= ==**어떠한 문제를 해결하기 위해**== 구성 요소들이 서로 협력하는 동적인 실체
= 하드웨어 + 소프트웨어 + 데이터
= 컴퓨터는 정보(information)를 처리하는 단순한 기계, 하드웨어를 의미함
> **Information** : 불확실성을 측정한 것을 정량적으로 표현하는 것
![[information_mathematical_expression.png|350]]
> p(E) = 이벤트의 E의 확률
> 정보를 나타내는 기본 단위는 bit
<br>
## 컴퓨팅 개념의 기반을 다진 인물들
<br>
![[Pasted image 20240312220723.png]]
<br>
- **에이다 러브레이스** (Ada Lovelace, 1815-1852.) : "최초의 프로그래머"
- 찰스 배비지의 해석 기관 설계(Analytical Engine)에 흥미를 갖고 해석, 확장함
- 반복문(Loop) 개념을 만듦
- **앨런 튜링** (Alan Turing, 1912-1954.) : "컴퓨터 과학의 아버지"
- 컴퓨팅 이론의 토대가 되는 **튜링 머신(Turing Machine)** 을 발명함
- 튜링 테스트, 애니그마, 오토마타
- **폰 노이만** (John von Neumann, 1903-1957.) : "컴퓨터 창시자"
- 폰 노이만 머신(von Neumann machines) = CPU(ALU, CU) + Memory + Input/Output device
- EDVAC, Stored Program concept(명령어 + 데이터 함께 저장하는 개념)
- **클로드 섀넌** (Claude Shannon, 1916-2001.) : "정보 시대의 아버지"
- 불 논리 및 이진수의 사칙연산을 기계로(계전기와 스위치만으로) 수행할 수 있음을 증명
- information theory, **bit**(binary digit)
<br>
## 컴퓨팅의 발전
- 제 1세대(1951~1959.)
- 하드웨어
- 진공관(vacuum tube) : 사용 중 열이 발생하므로 냉각 및 잦은 유지 보수가 필요했음
- 천공 카드
- 마그네틱 테이프 : 순차적 저장 장치, 최초의 보조 기억 장치
- 소프트웨어
- 기계어(machine language) : 이진수로 작성
- **어셈블리어(assembly language)** : 니모닉(mnemonic, 연상 기호) 사용
- 제 2세대(1959~1965.)
- 하드웨어
- 트랜지스터
- 마그네틱 코어(기억장치, 덕분에 CPU가 정보를 즉시 처리 가능해짐)
- 마그네틱 디스크 : 디스크에서의 데이터 위치(주소)를 알아서 그 곳에 직접 접근 가능 -> 빠름, 마그네틱 테이프 상위 버전
- 소프트웨어
- high-level language : FORTRAN(과학계산용), COBOL(비즈니스용) 등
- 제 3세대(1965~1971.)
- 하드웨어
- **IC(intergrated circuit, 집적 회로)** : 집적 회로가 발명된 이후로 집적 회로에 집적되는 회로의 수가 매년 2배씩 증가해 왔다는 관찰이 있음(Moore's law)
- 터미널 : 키보드와 스크린으로 구성된 입출력 장치
- 소프트웨어
- **OS(operating system, 운영체제)** : 컴퓨터 자원을 관리하는 프로그램
- 응용 프로그램 등장 : SPSS(포트란으로 작성된 사회과학을 위한 통계 패키지)
![[software_development_process.png|400]]
- 제 4세대(1971~1989.)
- 하드웨어
- 개인용 컴퓨터(PC, personal computer) : 컴퓨터가 대중에게 보급됨, e.g. IBM PC, Apple Macintosh
- 대규모 집적 회로(large-scale intergrated circuits)
- 워크스테이션(Workstations) : 기업용 컴퓨터 제작, 케이블로 연결되어 기기 간 통신 가능
- 소프트웨어
- 구조화된 프로그래밍(structured-) : Pascal, Modula-2, C/C++
- 더 강력한 OS : UNIX, MS-DOS, Mac OS
- 고품질 응용 소프트웨어 : 스프레드시트, 워드 프로세서, DB 관리 시스템 등
- 제 5세대(1990~)
- 마이크로소프트의 성장 : Microsoft Word, 윈도우 OS
- 객체 지향 설계(Object-oriented) : 대규모 프로그래밍 프로젝트 설계, 객체 데이터 서열을 따르는 설계 방식
- 월드 와이드 웹(World Wide Web) : 문서 간의 연결(하이퍼링크) → 검색 엔진 등장
- 병렬 컴퓨팅, 네트워킹, 클라우드 컴퓨팅 등
<br>
##### The Big Ideas of Computing
- creativity, abstraction, data and information, algorithms, programming, the Internet, global impact
<br>
<br>
<br>
<br>