본문 바로가기

Ports

CPU가 다르면 네이티브 코드도 달라진다. 그럼 프로그램의 소스 코드를 배포하는 건 어떨까?

 

FreeBSD에서는 Ports를 이용해 애플리케이션의 소스 코드를 현재 하드웨어에 맞게 컴파일할 수 있다. 따라서 확실히 실행할 수 있는 네이티브 코드를 얻을 수 있게 되는 것이다. 여기서 ports는 컴퓨터에 달린 직렬 또는 병렬포트보다는 한 프로그램을 다른 플랫폼에 이식하는 작업(porting)이라는 의미에 더 가깝다.

 

필요로 하는 애플리케이션의 소스 코드가 하드 디스크에 없다면 Ports는 자동으로 ⒝FTP를 이용해 인터넷에서 소스 코드를 다운로드하게 되어 있다.

 

 

FreeBSD용 애플리케이션의 소스 코드를 제공하는 사이트는 전세계 널리 분포되어 있으며, Ports를 통해 자신의 환경에 맞게 컴파일할 수 있는 소스 코드는 약 20000가지가 있다. 이들은 C언어로 작성되어 있으며, FreeBSD와 유사한 UNIX 계열 OS에는 반드시 C 컴파일러가 포함되어 있다. 이런 C 컴파일러는 현재 FreeBSD를 작동시키는 하드웨어 환경에 맞는 네이티브 코드를 생성하므로, FreeBSD 사용자라면 누구든 Ports의 혜택을 받을 수 있다. 다시 말해, Ports는 CPU를 포함해 모든 하드웨어의 차이를 극복한다고 할 수 있다. 

 

앞서 언급했듯이 Ports라는 단어 자체가 이식을 의미하기도 하는데, 여기서 이식이란 프로그램을 HW와 SW 환경에 맞게 고쳐쓰는 작업을 말한다. 그래서 이런 환경에 의한 제약이 적은 Java와 같은 언어를 이식성이 높다고 표현한다.

 

 

 

 

 

⒜FreeBSD:  ⒞BSD 계열의  OS. 기본적으로 x86 및 x86-64 기종을 중심으로 개발되었지만 

                다른 주요 기종에도 이식되고 있다.

FTP(File Transfer Protocol): 파일 전송 프로토콜. 포트 번호는 21.

⒞BSD(Berkeley Software Distribution): 미국 캘리포니아 대학교 버클리(University of California, Berkeley)의                                                    CSRG(Computer Systems Research Group)에서 개발한 UNIX 계열 OS.

'Programming > Basis' 카테고리의 다른 글

부트 스트랩  (0) 2019.04.08
프로그램의 이식  (0) 2019.04.08
프로그램의 작동 환경  (0) 2019.03.21
파일 압축  (0) 2019.03.18
디스크의 구조  (0) 2019.03.18