코딩마을방범대

서버와 IT용어(컴파일 & 링크 & 빌드) 본문

🎃 기타/상식 ❗

서버와 IT용어(컴파일 & 링크 & 빌드)

신짱구 5세 2023. 5. 26. 09:32
728x90

서버

  • '제공한다'는 뜻을 가진 'serve'에 사람이라는 뜻을 나타내는 'er'을 붙인 단어
  • 클라이언트의 요청을 받으면 서비스, 데이터를 제공하는 컴퓨터 혹은 프로그램

 


 

SaaS(Software as a Service)

  • 사용자 클라우드 서비스
  • 서비스 소프트웨어, 클라우드 환경에서 운영되는 어플리케이션

Paas(Platform as a Service)

  • 개발자 클라우드 서비스
  • 운영을 위한 플랫폼 서비스를 제공

IaaS(Infrastructure as a Service)

  • 개발자 클라우드 서비스
  • 서버, 스토리지, 네트워크 장비 등 IT 인프라 대여

MOU(Memorandum Of Understanding)

  • 정식 계약을 체결하기 전에 당사자들끼리 논의한 내용을 문서화한 것

 

 


 

 

IT용어

컴파일

  • 작성한 소스코드를 바이너리 코드로 변환하는 과정

 

 

링크

  • 여러개로 분리된 소스 파일들을 컴파일한 결과물들에서 최종 실행 가능한 파일을 만들기 위해 필요한 부분을 찾아서 연결해주는 작업

정적링크(Static Link)

  • 컴파일된 소스파일을 연결해서 실행 가능한 파일을 만드는 것
  • 실행 가능한 목적 파일을 만들 때 프로그램에서 사용하는 모든 라이브러리 모듈을 복사
    ex) 자신이 작성한 프로그램에서 A라는 외부 함수를 사용했다면, A라는 외부 함수에 대한 정보를 자신이 작성한 프로그램의 실행파일을 만들 때 복사해옴정적 링킹 방식을 사용하면 5개의 프로그램의 실행 가능한 목적파일 각각에 A의 정보가 담긴다. 즉, 중복이 발생

동적링크(Dynamic Link)

  • 프로그램 실행 도중 프로그램 외부에 존재하는 코드를 찾아서 연결하는 작업
  • 실행 가능한 목적 파일을 만들 때 프로그램에서 사용하는 모든 라이브러리 모듈을 복사하지 않고 해당 모듈의 주소만을 가지고 있다가, 런타임에 실행 파일과 라이브러리가 메모리에 위치될 때 해당 모듈의 주소로 가서 필요한 것을 들고 오는 방식5개의 프로그램에서 A라는 외부 함수를 이용한다고 해도 A라는 함수의 정보는 하나만 있으면 된다.

 

 

빌드

  • 소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정(컴파일은 빌드의 부분 집합)

빌드 툴

  • 전처리(preprocessing), 컴파일(Compile), 패키징(packaging), 테스팅(testing), 배포(distribution)
728x90

'🎃 기타 > 상식 ❗' 카테고리의 다른 글

소켓이란  (0) 2023.05.26
Bit와 Byte의 차이점  (0) 2023.05.26
포트와 DNS  (0) 2023.05.26
개발 환경의 6가지  (0) 2023.05.26
CI와 DI  (0) 2023.05.26