프로그래밍 개요
프로그래밍의 의미와 개요
프로그래밍이란
컴퓨터에게 작업을 시키려면 명령을 해야되는데
명령에 관한 문서를 작성 하는 것이 프로그래밍이다
컴퓨터의 기본 구성
컴퓨터는 크게 하드웨어와 소프트웨어로 나뉘어진다
하드웨어는 사람으로 치면 몸, 소프트웨어는 몸을 움직이는 정신 이라고 할 수 있겠다
하드웨어
- 뇌에 해당하는 처리장치
- CPU
- 기억장치
- 주기억장치
- RAM … 휘발성
- 보조기억장치
- 하드디스크, SSD … 비휘발성
- 주기억장치
- 입력장치
- 키보드, 마우스, 마이크
- 출력장치
- 모니터, 스피커
그 외에도 메인보드, 파워서플라이가 있음
소프트웨어
시스템 프로그램
하드웨어나 다른 프로그램들을 제어하는 프로그램.
- 운영체제 - Windows,Mac,Linux
- 컴파일러
- 디버거
응용 프로그램
사용자들이 쓰는 프로그램
- 마이크로소프트 오피스
- 게임
- 웹 브라우저
- 그래픽 에디터 등
컴퓨터가 이해하는 언어
시스템 프로그램은 응용 프로그램과 하드웨어가 상호작용 하게 해줌
이 과정에서 0,1 의 이진법이 사용됨 = bit
- 0과 1로 이루어진
기계어로는 프로그래밍이 불가능 - 최초의 언어가 나옴. 그것이
어셈블리어(Assembly language) - 그 이후 나온 고급 언어들이 있고 우리가 배울 애들이다.
- 프로그래밍 언어는 저수준(기계어에 가까움)~ 고수준(인간의 자연어에 가까움) 으로 나뉘어진다
프로그램 실행 프로세스
프로그래밍 언어로 작성된 프로그램은 기계어로 바뀌어야 컴퓨터가 이해할 수 있다. 이 바뀌는 과정을 컴파일 이라고 한다 그리고 이 컴파일을 수행하는 프로그램을 컴파일러 라고 한다
소스코드
프로그래밍 언어로 작성된 원시 코드 인간이 알아보기 편함 -.cpp .cs 등 다양한 언어가 있음
컴파일
컴파일러에 의해 소스코드가 기계어로 번역 되는데 그 때 생긴 코드는 오브젝트 코드임
오브젝트 코드(obj)
이진 형태의 코드인데 실행되기 위해서는 추가 작업이 필요함
링커
오브젝트 코드, 라이브러리 등을 결합함. 실행 가능한 상태가 됨. 오브젝트 코드 에서 필요로 하는 외부 참조, 리소스 등을 연결
실행파일(.exe)
링커의 결과물. 컴퓨터에서 바로 실행 할 수 있는 것
로더
메인 메모리에 실행파일 로드, 실행을 위한 환경을 설정함. 리소스를 할당하고 프로그램 제어를 시작. 하나의 단위를 프로세스 라고 함.
프로세스
운영 체제의 관리 하에 실행됨 독립적인 작업 단위 실행 중 상태를 나타냄 고유한 메모리 공간, 상태, 자원 할당 등을 가짐
자세한건 언어 수업 중에서…
통합 개발 환경(Integrated Development Environment, IDE)
수업에서는 Windows 환경의 Visual Studio를 사용한다



