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

시그윈
개발자레드햇
발표일1995년 10월 18일(28년 전)(1995-10-18)
안정화 버전
3.5.3-1[1] 위키데이터에서 편집하기 / 2024년 4월 3일 (15일 전)
저장소
운영 체제마이크로소프트 윈도우
종류에뮬레이터
라이선스GNU GPL
웹사이트cygwin.com 위키데이터에서 편집하기

개요 편집

런타임 라이브러리 ‘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를 제거하면서 시그윈이 되었다.

기능 편집

단점 편집

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

같이 보기 편집

참조 편집

  1. “cygwin 3.5.3-1”. 2024년 4월 3일. 2024년 4월 18일에 확인함. 

외부 링크 편집