컴퓨터란?
- 입력 받은 데이터를 정해진 규칙대로 처리해서 처리 결과를 저장하고 출력하는 전자장치.
- 입력장치(I/O) / 정해진 규칙(Program)/ 처리(CPU)/ 저장(Memory) / 출력(I/O)
소프트웨어(Software)
- 하드웨어가 어떻게 동작해야 하는지 규정해놓은 명령어의 집합
- 시스템 소프트웨어/응용 소프트웨어
- 시스템 소프트웨어 (System Software)
: 응용 소프트웨어를 실행하기 위한 일종의 플랫폼 역할을 수행하며, 하드웨어와 직접적으로 소통하며 하드웨어 장치들이 제대로 동작할 수 있도록 해줍니다. ex) 운영체제, 런타임 환경(Node.js,JRE), 드라이버(키보드,마우스,USB)- 응용 소프트웨어 (Application Software)
: 소프트웨어에서 시스템 소프트웨어를 제외한 모든 소프트웨어를 의미합니다. 줄여서 애플리케이션 및 앱이라고도 하며, 일반적으로 프로그램이라고도 불립니다. 종류는 사무용, 교육용, 멀티미디어, 통신용, 게임 등 매우 다양합니다.
하드웨어(Hardware)
- 컴퓨터를 구성하는 기계적 장치들의 집합
- 중앙처리 장치 (Central Processing Unit, CPU)
- 프로그램의 실행과 데이터 처리를 담당하는 컴퓨터의 핵심장치
- 제어장치, 연산장치, 레지스터로 구성
- 제어장치: CPU의 모든 동작과 데이터 흐름을 통제하고 관리함., 운영체제와 소통하며 컴퓨터 자원 관리 - 연산장치: 프로그램의 명령어 수행, 코드 실행 - 레지스터: CPU내부의 빠른 메모리. 연산에 필요한 데이터를 임시 보관- 기억장치 (Memory Device)
- CPU 동작에 필요한 데이터들을 장기/단기적으로 보관. (장기저장-보조기억장치, 단기저장-주기억장치)
- 보조기억장치
- 데이터를 반영구적으로 저장, - 용량이 크지만, 속도가 느림 --> CPU와 직접 소통X - ex) HDD, SSD- 주기억장치
- 프로그램을 수행하는 동안 모든 데이터를 저장 - 용량이 작지만, 속도가 빠름 --> CPU와 직접 소통 - ex) RAM(Random Access Memory), ROM(Read Only Memory)- 캐시 메모리 (Cache Memory)
- 레지스터보다 느리지만 주기억장치보다 빠른 메모리. - 주기억장치로부터 재사용 가능성이 높은 데이터를 미리 불러와서 캐시 메모리에 대기시켜 놓음.- 메모리 계층구조
- 보조기억장치 >> 주기억장치 >> 캐시 >> CPU Register- 입출력장치 (I/O Device)
- 시스템 버스 (System Bus)
- 하드웨어 장치간의 통로
- 데이터 버스 : 하드웨어 간에 데이터를 전달
- 주소버스: 데이터가 어디에 도착해야 하는지에 대한 정보(주소) 전달
- 제어버스: CPU의 제어장치가 생성한 제어 신호를 다른 장치로 전달하는 통로
프로그래밍
- 프로그램을 만드는 과정으로서, 특정 목적을 달성하기 위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 코드로 작성하는 과정
- 프로그램: 명렁어의 집합
- 컴파일: 소스코드 -> 기계어 코드로 변환하는 과정
- 빌드: 소스코드를 실행할 수 있는 산출물(프로그램)로 변환시키는 과정
반응형