Windows NT부터 써오셨던 분이라면 아실만한 *nix 호환 기술 몇 가지

레거시 이야기를 하면서 떠오르는 것이 몇 가지 더 있어 좀 더 적어봅니다. ㅎㅎ

Windows 10 1주년 업데이트와 함께 데뷔한 Windows Subsystem for Linux (WSL)은 이제 모두들 흔히, 그리고 널리 사용하는 기술이라 당연하게 느껴지실텐데요, 실은 Windows가 *nix 계통 기술을 지원한게 Windows 10이 처음은 아닙니다.

Windows Services for Unix (이하 SFU)라고 부르는 호환성 레이어가 Windows NT 시절부터 존재했었습니다.

bash나 zsh는 없지만, ksh (Korn Shell), csh (C-Shell)을 지원했고, 그 외에는 널리 쓰이던 vi, grep, cat, awk 같은 필수 유틸리티가 들어있습니다. 그리고 gcc, gdb도 들어있어서 SFU만 가지고도 유닉스 애플리케이션 개발이 가능했었죠.

이와 같은 호환성 계층으로 오픈 소스측에서는 좀 더 널리 사용되던 것이 Cygwin과 MinGNU 스택이었고 지금도 유효하게 쓰이는 스택입니다. 특히 흥미로운 것은, MinGNU의 경우 API는 리눅스의 API를 사용하면서, 최종 결과물은 Win32 EXE로 만드는게 가능하다보니 Windows용 Git은 MinGNU 스택으로 빌드하여 결과물이 배포되고 있는 것을 볼 수 있습니다.

7 Likes

나중에 윈도우 7까지 와서는 Subsystem for UNIX-based Applications라는 것도 있는 것으로 알고 있습니다.

1 Like