> - 컴퓨터 시스템 계층 설명 > - 추상화와 컴퓨팅의 관련성 > - 컴퓨터 하드웨어, 소프트웨어의 역사 > - 계산기와 컴퓨터의 차이점 <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>