본문 바로가기
프로그래밍/IT지식

[프로세스 & 프로그래밍 언어] 프로세스와 프로그래밍 언어란?

by 준보틱스 2024. 6. 22.

프로그램이란 개발자들이 짠 코드들이 컴퓨터가 이해할 수 있는 코드들로 컴파일된 것을 의미한다. 프로그램을 실행하면 프로세스가 생성된다.

프로세스

프로세스는 실행되고 있는 프로그램을 뜻한다. 프로그램(카톡, 엑셀 등)을 실행하게 되면 메모리 위에 올라가게 되고 이를 운영체제가 중재한다. 실제로 프로그램 자체는 코드(명령어)로 구성되어있다. 그리고 코드를 바탕으로 프로그램을 실행시킨다는 것은 프로세스가 생성되는 것을 의미한다.

 

그 프로세스는 프로그램 실행 정보, 프로그래머가 짠 코드 그리고 실행되면서 쓰이는 데이터들로 구성되어있다. 즉, 프로그램이 실행되면 이 프로그램의 명령어들과 데이터가 메모리에 적재되고 이것이 프로세스가 된다.

<프로세스 구조>

- Text Code : 프로세스의 프로그래밍 코드, 기계어로 번역되어 적재

- Data : 정적 및 전역 변수 적재, DATA와 BSS로 나뉘는데, 각각 초기화된 것과 초기화되지 않은 것을 관리

- Heap : 메모리 할당 변수 관리

- Stack : 지역 변수 및 함수 호출같은 임시 데이터들 관리

 

 프로그래밍언어

프로그래밍언어는 컴퓨터에게 명령이나 연산을 시킬 목적으로 설계되어 기계와 의사소통을 할 수 있게 해주는 언어를 말한다. 사람이 원하는 작업을 컴퓨터가 수행할 수 있도록 프로그래밍 언어로 일련의 과정을 작성하여 일을 시킨다.

 

CPU는 "0, 1"만 읽을 수 있다. 우리가 영어로 짠 코드는 읽을 수 없다. 이를 변환해주는 컴파일 과정이 필요하다. 즉, 작성한 코드는 컴파일을 통해 컴퓨터가 실행 가능한 코드들로 변환된다.

 

우리가 java, python, c 등의 프로그래밍 언어는 전부 사람이 이해하기 쉽도록 사람의 언어로 구성되어 있다(고급언어). 이 언어를 컴파일러를 통해 컴퓨터가 바로 이해할 수 있는 언어로 변환해준다(저급언어).

- 대표적인 프로그래밍 언어 : Python, C, Java 등