4 winapi windows-xp windows-vista windows-7
如果我的程序主要使用win32 API,我的API调用是否在Windows XP/Vista/7中模拟?
它下面是Windows NT内核,本机NT应用程序使用(很大程度上未记录的)NT API与它进行交互.
csrss.exe"客户端/服务器运行时子系统"是一个本机NT应用程序,它提供用户模式Win32子系统,并win32k.sys提供内核模式Win32子系统.如果没有这两个加载,Win32应用程序无法运行.
smss.exe"会话管理器子系统"是第一个在启动期间执行的应用程序.作为其任务之一,它启动Win32子系统.
你认为"本土"是什么?内核根本不了解Win32 - 所有Win32 API调用都由运行时处理csrss,最终归结为NT API调用.但是,如果没有Win32子系统,您永远不会运行Windows.
Windows也存在OS/2和POSIX子系统.我不相信它们是常用的.
如果你熟悉UNIX,这里有一个粗略的比喻:是syslog(3)本机API吗?
POSIX强制要求它的存在.它可能由libc运行时库实现为"连接到套接字/管道并发送消息".除非syslogd守护程序正在运行,否则这不起作用.一个syslogd守护进程由init脚本启动.
这不是一个完美的类比; 许多应用程序不依赖syslog(3),并且通常可以停止并重新启动syslogd守护程序而不会对系统的操作产生不利影响(非常不同csrss.exe).
| 归档时间: |
|
| 查看次数: |
3920 次 |
| 最近记录: |