시그윈

시그윈(; IPA: )은 원래 시그너스 솔루션스가 개발한 자유 소프트웨어 모음집으로, 마이크로소프트 윈도우에서 POSIX기반 소프트웨어를 구동 및 개발할 수 있는 환경을 제공한다. GNU GPL로 배포되어 자유롭게 사용할 수 있다.

개요 
런타임 라이브러리 ‘Cygwin1.dll’이 시그윈의 핵심이다. 유닉스에서 빈번히 사용되는 셸이나 명령 등을 윈도우에서 소스 코드로부터 컴파일할 수 있도록 한 것으로, 유닉스용 기계어 이진 코드를 에뮬레이션한 것은 아니다.

Cygwin1.dll 런타임 라이브러리가 POSIX의 시스템 호출과 동등한 기능을 제공하고 있으므로, 각 프로그램은 이것을 동적으로 링크함으로써 유닉스에서와 거의 비슷하게 동작할 수 있게 한다. 또, 이 라이브러리가 존재하는 까닭에 시그윈용으로서 제공되지 않고 유닉스용 프로그램의 소스 코드도 이전과 같은 큰 수정 없이 윈도용으로 컴파일할 수 있다.

유닉스 시스템 V에서 유래한 IPC을 이용하는 응용 프로그램을 위해, 런타임 라이브러리에서 서비스(NT 서비스)를 준비해 놓고 있다. 현재 시그윈에 포함되어 있는 PostgreSQL은 이 서비스가 제공하는 공유 버퍼나 세마포어를 이용해 동작한다. PostgreSQL 자신은 버전 8.0 이상에서는 시그윈 의존으로부터 탈피, 전면적으로 Win32 네이티브로 소스를 고쳐 쓰고 있다.

역사 
시그윈은 1995년, 윈도우 NT와 95가 오브젝트 파일 포맷으로 COFF를 사용하고 GNU가 이미 x86과 COFF, C 라이브러리 newlib 지원을 포함한 것을 관찰한 시그너스의 엔지니어 Steve Chamberlain의 프로젝트로 시작되었다. 그는 GCC의 대상을 변경하여 윈도우에서 동작 가능한 실행 파일을 만들어내는 크로스 컴파일러를 만들어낼 수 있을 것이라 생각하였다.

초기에 시그윈은 gnuwin32 (현재의 GnuWin32와는 다름)로 불렸다. 이 이름은 시그윈32로 바뀌면서 시그너스가 이를 만드는 역할을 강조하였다. 마이크로소프트가 상표 Win32를 등록하였을 때, gnuwin32에서 32를 제거하면서 시그윈이 되었다.

기능 
 MinGW를 사용하여 네이티브 응용 프로그램 작성 지원
 sh (본 셸) 스크립트 지원
 rsh, ssh, telnet을 사용한 원격 로그인 지원
 PSP, PS2를 비롯한 수많은 플랫폼에 대한 임베디드 크로스 플랫폼 지원
 X 및 오픈GL 지원
 윈도우 비스타 지원

단점 
 시그윈을 시작하고 프로그램들을 실행하는 데 시간이 걸린다.
 키 코드 인지에 버그가 많다.
 호환성 계층 DLL을 요구한다.
 설치하는데 정말 많은 시간이 소요된다.

같이 보기 

 MinGW
 인테릭스(서비시스 포 유닉스 패키지의 일부)

참조

외부 링크 
  

컴파일러
호환성 계층
시스템 관리
윈도우 전용 자유 소프트웨어
에뮬레이션 소프트웨어
C로 작성된 자유 소프트웨어
C++로 작성된 자유 소프트웨어
레드햇 소프트웨어
자유 에뮬레이션 소프트웨어
자유 컴파일러와 인터프리터