본문 바로가기
비개발자의 개발 지식 스터디/개발 배경지식

프로그램 & 프로그래밍 언어

by 열정주니어 2023. 7. 11.
반응형

프로그램

  • 프로그램: 개발자들이 짠 코드의 집합이 컴퓨터가 이해할 수 있는 코드들로 컴파일된 것
  • 프로세스: 실행되고 있는 프로그램
    • 프로그램(카톡, 엑셀, 브라우저 등)을 실행하면 메모리 위에 올라가게 되고 이를 운영체제가 중재하는 역할을 하는데 이렇게 실행되고 있는 프로그램을 프로세스라 함

  • 실제 프로그램은 코드(명령어)로 구성되어 있으며 코드를 바탕으로 프로그램을 실행시키는게 프로세스가 생성되는 것을 의미
    • 프로세스는 프로그램 실행 정보, 프로그래머가 짠 코드, 실행되며 쓰이는 데이터들로 구성
    • Stack, Heap은 프로그램이 실행되며 생기는 정보들을 저장하는 자료구조
  • 인터럽트: CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것
    • 이 때 실행되고 있는 CPU 자원을 잠시 가져와 갑작스러운 신호들을 먼저 처리하며 CPU가 작업중인 프로세스는 대기 상태로 있게 됨
    • 이 순간이 매우 빠르기 때문에 프로그램이 멈춘다는 느낌을 받지 않음

 

프로그래밍 언어

  • 프로그램은 사람이 프로그래밍 언어를 사용해서 만듬
    • CPU는 0,1만 읽을 수 있고, 개발자가 영어로 짠 코드는 읽을 수 없음

  • 컴파일: 개발자들이 짠 코드를 컴퓨터가 실행 가능한 코드로 변환해주는 과정 
    • 컴파일을 위해선 컴파일러가 필요

  • 프로그래밍 언어는 전부 고급언어이고, 컴파일러를 통해 저급언어(기계어)로 변환
    • 컴파일된 결과물이 반드시 기계어 혹은 어셈블리어인 것은 아니며 대표적으로 바이트코드라는 것이 있음
    • 컴파일된 결과물이 컴퓨터 하드웨어(CPU)에서 해석되는게 아닌 컴퓨터 소프트웨어에서 해석되는 경우로 Java, Python등이 있음
  • 빌드: 소스코드를 실행할 수 있는 소프트웨어 산출물로 만드는 행위
    • 최종적으로 개발자들이 짠 코드가 빌드를 통해 바로 실행할 수 있는 상태가 됨
    • 우리가 다운받는 프로그램들은 전부 빌드 과정을 거친 결과물
    • 컴파일도 빌드의 과정 중 하나
  • IDE(Integrated Development Environment): 코딩을 하고 디버깅, 컴파일 등의 전반적인 작업을 하나의 프로그램 안에서 한 번에 할 수 있게 제공해주는 프로그램

 

Reference

https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#

 

IT 회사에서 비개발자가 살아남기 위한 모든 개발 지식 A to Z - 인프런 | 강의

본 강의는 멤버십 구독 개념으로 한 번 구매하면 계속 추가되는 수업도 수강할 수 있습니다😃, [사진] 이 강의는!  단순히 개발 용어만을 알려주지 않습니다.IT 회사에서 개발자들이 실제로 하

www.inflearn.com

https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304

 

[IT 개발자와 일할 때 필요한 모든 개발지식] A to Z 자료 모음집 By 그랩

장담하건대 이 내용들만 알고 계시면 IT 개발의 전체적인 흐름은 전부 파악한다고 보셔도 무방합니다.

www.grabbing.me

 

반응형

'비개발자의 개발 지식 스터디 > 개발 배경지식' 카테고리의 다른 글

API  (0) 2023.07.12
라이브러리 & 프레임워크  (0) 2023.07.12
네트워크  (0) 2023.07.12
Git & Github  (0) 2023.07.12
운영체제 & 하드웨어  (0) 2023.07.11