在 Windows 7 下的打开和关闭 Windows 功能对话框中注意到一个名为Subsystem for UNIX-based Applications的东西。以前从未见过它,看起来很有趣。它究竟是什么?它有什么用,我可以用它做什么?
Joe*_*oey 18
以前称为SFU或UNIX 服务。它是 Windows 中的一个环境子系统,提供完全的 POSIX 合规性和大量通常随 UNIX 系统提供的工具。
作为一个环境子系统,这意味着它与Windows API一起运行,直接在内核之上。因此,它并不比本机 Windows API 本身更多地被模拟,因此性能比 cygwin 好得多,例如。1
它主要用于直接在 Windows 上构建和运行 UNIX 应用程序,因此如果您最喜欢的 UNIX 程序没有附带 Windows 端口,您可以尝试在 SUA 中构建它:
Windows Services for Unix 和 Subsystem for Unix-based Applications 提供头文件和库,可以更容易地重新编译或移植 Unix 应用程序以在 Windows 上使用;它们不会使 Unix 二进制文件与 Windows 二进制文件兼容。最好将其视为一个独特的类 Unix 平台。
当前版本的 SFU 包含:
- 超过 350 个 Unix 实用程序,例如 vi、ksh、csh、ls、cat、awk、grep、kill 等。
- GCC 3.3 编译器、包含和库(通过 MS libc)
- Microsoft Visual Studio 命令行 C/C++ 编译器的类似 cc 的包装器
- GDB调试器
- NFS 服务器和客户端
- 一个 pcnfsd 守护进程
- X11 工具和库
- 使 NFS 挂载点显示为 Windows 共享的工具,反之亦然(网关服务)
- 与 Active Directory (AD) 链接的 NIS 服务器功能
- 一些Windows/Unix认证信息同步工具
SFU 不包含以下内容(但二进制文件可用于单独安装):
- bash、OpenSSH、sudo、CVS、ClamAV、bzip2、gmake、curl、emacs、Apache、XView、Ruby、Tcl、Python
由于 SUA 不会尝试成为 Linux 或 BSD,而只是简单的 POSIX,这也可能意味着许多依赖于特定平台的程序可能无法构建或运行。会想到假设 bash 而不是 sh 或 Linux 特定系统调用的 Shell 脚本。现在编写的程序很少可以直接在任何符合 POSIX 的系统上运行。此外,包含的 gcc 版本有点旧,这意味着它可能不支持您最近的 C99+ 优点。
1它仍然受到特定于 Windows 的限制,例如缓慢的进程启动时间,因此极端的分叉仍然会非常缓慢,这就是为什么您会等待很长时间./configure
才能执行许多脚本或某些 makefile。
归档时间: |
|
查看次数: |
26772 次 |
最近记录: |