컴퓨터의 이해
🖥️ 컴퓨터
입력받은 데이터를 정해진 규칙대로 처리해서 결과를 저장하고 출력하는 전자 장치
시초: 앨런 튜링이 세계 2차대전 시기 독일군의 암호를 해독하기 위해 발명한 튜링 머신
입력 장치 → SW or 애플리케이션 → 중앙처리장치(연산) → 기억 장치 → 출력 장치
⚒️ 컴퓨터의 구성 요소
소프트웨어: 하드웨어의 동작 방식을 규정한 명령어 집합
· 시스템 소프트웨어: 응용 소프트웨어를 실행(운영체제, 런타임 환경)하기 위한 플랫폼 역할로,
하드웨어와 직접적으로 소통한다(장치 드라이버)
· 응용 소프트웨어: 시스템 소프트웨어를 제외한 모든 소프트웨어 = 애플리케이션, 앱
하드웨어
1. 중앙처리장치(CPU): 프로그램의 실행과 데이터 처리를 담당하는 핵심 장치 = (마이크로)프로세서
· 제어장치: CPU 모든 동작과 데이터 흐름 관리, 운영체제와 소통, 자원 관리
· 연산장치: 코드를 실질적으로 실행
· 레지스터: CPU 내의 작고 빠른 기억장치, 연산장치에 필요한 데이터 임시 보관
<동작 과정>
- 주기억장치: 입력 장치에서 입력받은 데이터 or 보조기억장치에 저장된 프로그램 읽음
- CPU: 프로그램 실행을 위해 주기억장치에 저장된 프로그램 명령어와 데이터를 읽고 처리,
결과를 다시 주기억장치에 저장 - 주기억장치: 처리 결과 → 보조기억장치에 저장 or 출력 장치로 보냄
- 제어장치: 1~3 과정에서 명령어가 순서대로 실행되도록 각 장치를 제어
2. 기억장치(저장장치): CPU에서 필요한 데이터를 장기적(보조기억장치), 단기적으로 보관(주기억장치)
· 보조기억장치: 큰 용량의 데이터 저장 가능, 속도가 느려서 CPU와 직접적으로 소통하지 않는다
SSD, HDD
· 주기억장치: 프로그램을 수행하는 동안 필요한 모든 데이터 저장, 큰 용량 X 속도 ↑
RAM
💡 캐시 메모리: 속도가 빠른 장치와 느린 장치 사이의 병목 현상을 줄이기 위한 메모리
주기억장치는 빠르지만 CPU 연산 속도만큼 빠르지는 않다.
CPU가 사용한 데이터 중 재사용성이 높은 데이터를 미리 불러 와서 대기시켜 놓는다.
데이터: 현금, 캐시 메모리: 지갑, 주기억장치: ATM
💡 기억장치의 계층 구조
용량: 보조기억장치 > 주기억장치 > 캐시기억장치 > CPU 내 레지스터
속도, 가격: 보조기억장치 < 주기억장치 < 캐시기억장치 < CPU 내 레지스터
3. 입력 장치
4. 출력 장치
5. 시스템 버스: CPU를 포함한 하드웨어 장치 간 물리적 통로 - 전선
· 데이터 버스: 중앙처리장치 - 기타장치 → '양방향' 버스
· 주소 버스: 어디에 도착해야 하는가? 정보를 전달하는 통로 → '단방향' 버스
· 제어 버스: CPU의 제어 장치가 생성한 신호를 전달하는 통로 → '양방향' 버스
🧮 컴퓨터의 동작
READ → PROCESS → WRITE
계산기
운영체제 → 보조기억장치의 계산기 프로그램 → 주기억장치 RAM : 로딩(메모리에 적재)
계산 완료 시 결과 → 주기억장치 → 출력 장치 👀
끊임없이 RAM과 소통, 운영체제가 64bit라면, CPU는 RAM으로부터 데이터를 한 번에 64비트씩 읽어 온다.
프로그래밍의 이해
📩 컴파일
소스 코드 → 기계어 코드
📦 빌드
빌드 ⊃ 컴파일
작성한 소스 코드를 실행할 수 있는 산출물로 변환
프로그램이 실행되려면 .exe 또는 .msi 확장자를 가진 실행 파일로 만드는 빌드 과정이 필요하다
📭 통합개발환경(IDE)
코드를 작성할 때 사용하는 프로그램
'Etc > CS' 카테고리의 다른 글
Windows 개발 환경 세팅 (0) | 2022.06.24 |
---|---|
웹 클라이언트와 웹 서버 (0) | 2022.06.24 |
[HTTP] 모든 개발자를 위한 HTTP 웹 기본 지식 - 수료 (0) | 2022.04.06 |
[HTTP] 헤더2 - 캐시와 조건부 요청: 캐시 무효화 (0) | 2022.04.06 |
[HTTP] 헤더2 - 캐시와 조건부 요청: 프록시 캐시 (0) | 2022.04.06 |
댓글