프로그램(Program)
세상에는 수많은 프로그램이 있습니다.
저의 컴퓨터에만 해도 여러가지 프로그램들이 있죠.
그럼 프로그램이란 무엇인지 알아볼까요?
먼저 프로그램은 프로그램은 어떤 일을 처리하기 위한 명령어들과 기타 자원들이 보조기억장치에 뭉쳐 저장되어 있는 수동적인 단위를 의미합니다.
쉬운 예로 다음은 우리가 알고있는 라이엇 게임즈의 League of Legends 즉 롤이라는 게임 프로그램입니다.
당연히 이 게임프로그램도 프로그래머들이 특정 언어로 작성된 코드와 그래픽 디자이너가 만든 캐릭터 이미지, 사운드파일 등 여러가지 자원으로 뭉쳐 만들어져 있을것입니다.
여기서 중요한 점은 이런 프로그램이라고 하는 덩어리는 하드디스크나 , SSD 등 즉 보조기억장치에 저장되어있다는 것입니다.
수동적이다 라고 한 이유는 이 프로그램은 단순히 용량을 차지하며 기억장치에 기록되어 있을뿐 아무 행동도 하지 않는다는 것이죠.
프로그램이 수동적이다 라는 의미가 이해되지 않으실텐데요.
다음 글인 프로세스를 보시면 이해가 가실겁니다.
추가적으로 '프로그램은 어떤 일을 처리하기 위한 명령어들' 이라고 했는데 처음 컴퓨터라는게 만들어졌을 때에는 탄도 미사일 발사같은 어렵고 복잡한 수식을 계산하기 위해 사용 되었습니다.
이때 컴퓨터라고 하는 기계 장비에 그런 수식을 처리하기 위한 명령을 내리기위해 명령어들을 만들었고 그것이 더욱 발전하여 지금의 언어(C, JAVA 등) 으로 발전 된것입니다.
컴퓨터 게임이란것은 개발되지도 않았고 워낙 고가의 장비여서 개인 컴퓨터(PC) 라는 개념은 있지도 않았고 심지어 컴퓨터가 어느정도 발전하고 나서도
워낙 고가였기 때문에 중앙컴퓨터 하나에 여러대의 터미널을 연결하여 작업하고는 했죠.
그래서 지금은 어떤일을 처리한다는 의미는 단순히 복잡한 수식을 처리한다 정도가 아닌, 게임에서는 캐릭터를 움직이게 한다. 문서작업 프로그램 에서는 도형을 그린다.
동영상 프로그램에서는 영상을 모니터로 내보낸다 등의 다양한 일을 처리하는 것입니다.
'전산학개론' 카테고리의 다른 글
[개념정리] 버퍼(Buffer)란? 버퍼 개념 (7) | 2017.12.27 |
---|---|
[개념정리] 패리티 비트(Parity Bit)란? (1) | 2017.11.02 |
[개념정리] API(Application Programming Interface) 란?? (0) | 2017.11.02 |
프로그램, 프로세스, 프로세서 차이 [2] (0) | 2017.10.29 |
운영체제의 목적 (0) | 2017.10.29 |