Subsistema para aplicativos baseados em UNIX no Windows 7

12

Notei uma coisa chamada Subsistema para Aplicativos Baseados em UNIX na caixa de diálogo Ativar e desativar recursos do Windows no Windows 7. Nunca vi isso antes, e parece interessante. O que exatamente é isso realmente? Para que serve e para que eu posso usá-lo?

    
por Svish 08.08.2009 / 03:25

2 respostas

17

Anteriormente conhecido como SFU ou Serviços para UNIX . É um subsistema de ambiente no Windows, fornecendo total conformidade com POSIX e uma grande carga de ferramentas que normalmente são fornecidas com sistemas UNIX.

Como um subsistema de ambiente , isso significa que ele é executado ao lado da API do Windows, diretamente no topo do kernel. Portanto, não é mais emulado do que a API nativa do Windows e, portanto, é muito melhor que o cygwin, por exemplo. 1

Destina-se principalmente à criação e execução de aplicativos UNIX diretamente no Windows, portanto, se o seu programa UNIX favorito não vier com uma porta do Windows, você poderá tentar criá-lo no SUA:

Windows Services for Unix and Subsystem for Unix-based Applications provide header files and libraries that make it easier to recompile or port Unix applications for use on Windows; they do not make Unix binaries compatible with Windows binaries. It is best thought of as a distinct Unix-like platform.

The current version of SFU contains:

  • Over 350 Unix utilities such as vi, ksh, csh, ls, cat, awk, grep, kill, etc.
  • GCC 3.3 compiler, includes and libraries (through an MS libc)
  • A cc-like wrapper for Microsoft Visual Studio command-line C/C++ compiler
  • GDB debugger
  • NFS server and client
  • A pcnfsd daemon
  • X11 tools and libraries
  • Tools for making NFS mount points appear as Windows shares, and vice-versa (gateway services)
  • An NIS server capability linked with Active Directory (AD)
  • Some Windows/Unix authentication information synchronization tools

SFU does not contain the following (but binaries are available for a separate installation):

  • bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python

(Wikipedia)

Como o SUA não tenta ser Linux ou BSD, mas apenas POSIX simples, isso também pode significar que muitos programas que dependem de itens específicos da plataforma podem não ser compilados ou executados. Scripts de shell que assumem o bash em vez de sh ou chamadas de sistema específicas do Linux vêm à mente. Poucos programas hoje em dia são escritos e podem ser executados diretamente em qualquer sistema compatível com POSIX. Além disso, a versão do gcc incluída é um pouco antiga, o que significa que ela pode não suportar sua bondade C99 + mais recente.

1 Ele ainda está sujeito a limitações específicas do Windows, como tempo de inicialização lento do processo, portanto, forking ainda será muito lento, e é por isso que você esperará por muitos ./configure scripts ou alguns makefiles para executar.

    
por 08.08.2009 / 03:33
1

Você pode usar pacotes no estilo BSD para instalar / desinstalar software. Você pode acessar o SUA via SSH se tiver o OpenSSH instalado.

    
por 23.11.2010 / 03:41