- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在读一本书,里面说有这些子系统:
win32,os/2,posix,etc..
但是我对这些符号没有任何感性认识,你能用简短的语言解释一下吗?
最佳答案
我觉得“子系统”的概念有些定义不明确,或者至少在不同的上下文中具有不同的含义。
根据 MSDN documentation :
Environment subsystems are Windows NT processes that emulate different operating system environments. The Windows NT executive provides generic services that all environment subsystems can call to perform basic operating system functions.
Windows 内部结构 book讨论以下两个子系统:
现在,可以将/SUBSYSTEM 选项发送到 its 中的 Microsoft VS C++ 链接器 documentation说,我引用
You can specify any of the following subsystems:
BOOT_APPLICATION An application that runs in the Windows boot environment. For more information about boot applications, see About the BCD WMI Provider.
CONSOLE A Windows character-mode application. The operating system provides a console for console applications.
Extensible Firmware Interface (EFI) Image The EFI subsystem options describe executable images that run in the Extensible Firmware Interface environment. This environment is typically provided with the hardware and executes before the operating system is loaded. The major differences between EFI image types are the memory location that the image is loaded into and the action that's taken when the call to the image returns. An EFI_APPLICATION image is unloaded when control returns. An EFI_BOOT_SERVICE_DRIVER or EFI_RUNTIME_DRIVER is unloaded only if control returns with an error code. An EFI_ROM image is executed from ROM. For more information, see the specifications on the Unified EFI Forum website.
NATIVE Code that runs without a subsystem environment—for example, kernel mode device drivers and native system processes. This option is usually reserved for Windows system features.
POSIX An app that runs in the POSIX subsystem in Windows.
WINDOWS An app that runs in the Windows graphical environment. This includes both desktop apps and Windows Store apps.
WINDOWSCE The WINDOWSCE subsystem indicates that the app is intended to run on a device that has a version of the Windows CE kernel. Versions of the kernel include PocketPC, Windows Mobile, Windows Phone 7, Windows CE V1.0-6.0R3, and Windows Embedded Compact 7.
就这样吧。最后,人们有时会谈论“Win32”子系统,我不知道我应该把它理解为链接器选项意义上的“windows”子系统还是“控制台”子系统。
回到 Windows Internals 一书,它进一步说“每个可执行镜像 (.exe) 都绑定(bind)到一个且只有一个子系统”,这将解释需要在链接时指定您的应用程序所针对的子系统。
关于terminology - 子系统到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5792498/
你怎么能管理这样的事情?我尽我最大的努力将子系统设计为可重用,但只有某些特定于站点的东西必须自定义(例如 Account 实体中的字段,或 orm 注释中的 cfc="")。 我曾想过使用 SVN 并
我正在编写 native 模式应用程序(想想: link /subsystem:native )。这意味着我不能使用 kernel32.dll 中的任何内容,这(显然)在 C 运行时库中没有任何意义。
我注意到使用 emscripten,即使是相对较小的 C++ 文件也可以快速转换为相当大的 JavaScript 文件。示例: #include int main(int argc, char**
在恢复模式下运行标准 Windows 7 安装盘时,如果您打开命令行并运行自定义构建的应用程序,您将收到错误“不支持子系统”。我试过与/SUBSYSTEM:CONSOLE、WINDOWS 和 NATI
我有一个生成一些报告并在 GUI 中显示相同内容的 MFC 应用程序。当使用某些命令行参数传递时,我需要将它作为控制台应用程序运行。在控制台模式下,它将在标准输出/错误中生成报告/错误,我应该能够将其
本文讲解 pinctrl 子系统和 gpio 子系统的 API,以及使用示例。 传统的配置 pin 的方式就是直接操作相应的寄存器,但是这种配置方式比较繁琐、而且容易出问题(比如 pin 功能
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 8 年前。
Windows Vista Enterprise 和 Ultimate 的要点功能之一是 Windows 的 Unix 子系统,它允许您编写 posix... 东西?不管怎样,我不喜欢谈论它……有人使
我在 Windows 10 上的 WSL 中使用 Ubuntu,并且我在 WSL 中安装了 git 并定期使用它。我有一个非常烦人的问题,我尝试缓存我的 github 凭据,因此我不必在提交时不断输入
我正在使用旧的 bcc32 (borland 5.5)(我知道这很旧编译器但不要告诉我我不应该使用它) 我可以使用控制台或 Windows 子系统进行编译。 我不想用 windows 子系统编译,我想
设置: 榛子:3.12.3 Spring 启动:2.1.6 Java:1.8 参数:-XX:+UseG1GC Xms7g -Xmx7g 这些正在 Docker 中运行:openjdk:8 它们在专用
我曾经在 Windows 10 的 Linux 子系统上通过 bash 控制台通过 ssh 连接到我的服务器。 我重新安装了 Windows,并将 id_rsa、id_rsa.pub 和 known_
我目前在我的 C 代码中使用 inotify() 系统来监视文件系统中某些目录的事件。 现在,使用这些东西之一的过程如下。你取一个整数(比如 event_notifier),使用 inotify_in
安装 WSL 1. 开启WSL 必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。 以管理员运行Powershell(开
我正在学习如何使用 https://intermezzos.github.io 构建基本的操作系统内核 我已经创建了我的 .iso文件,我正在运行 qemu-system-x86_64 -cdrom
不久前我使用 crontab -e 设置了一些 cronjobs .我的 crontab 包括以下行: * * * * * /usr/bin/touch /home/blah/MADEBYCRON 我
我已经安装了 visual studio 2008 Professional Edition,但我无法在其中一个 visual C++ 项目中设置/SUBSYSTEM:POSIX 选项。我还从 SUA
基本上,我需要一个程序来将 Windows .exe 从控制台对应项中排序。 文件扫描器: SortExe(file exe) { if (IsPeWindows(exe)) {
我有一个 python 脚本,我想在计算机的剪贴板中放置一个字符串。我在 Linux、Mac 和以前使用 cygwin 在 Windows 中工作。我不得不修改一行代码以使其在各自的系统中工作。我无法
最近发布了 Windows 10 周年更新的新更新,包括 Linux 子系统 based on Ubuntu 14.04而现在我希望我所有的工作环境都在这个 Linux 子系统中。 我尝试按照官方网站
我是一名优秀的程序员,十分优秀!