Windows 程序
内部运行原理
主讲人:孙鑫
http://www.sunxin.org
Windows
Windows
应用程序,操作系统,计
应用程序,操作系统,计
算机硬件之间的相互关系
算机硬件之间的相互关系
应用程序
操作系统
输入输出设备
③
④
①
②
消息队列
http://www.sunxin.org
关于
关于
API
API
向下的箭头③表示应用程序可以通知操作系统执行某
个具体的动作,如操作系统能够控制声卡发出声音,
但它并不知道应该何时发出何种声音,需要应用程序
告诉操作系统该发出什么样的声音。这个关系好比有
个机器人能够完成行走的功能,但是,如果人们不告
诉它往哪个方向上走,机器人是不会主动行走的。这
里的机器人就是操作系统,人们就是应用程序。
http://www.sunxin.org
关于
关于
API
API
那么,应用程序是如何通知操作系统执行某个功能的呢?
有过编程经验的读者都应该知道,在应用程序中要完成某
个功能,都是以函数调用的形式实现的,同样,应用程序
也是以函数调用的方式来通知操作系统执行相应的功能的。
操作系统所能够完成的每一个特殊功能通常都有一个函数
与其对应,也就是说,操作系统把它所能够完成的功能以
函数的形式提供给应用程序使用,应用程序对这些函数的
调用就叫做系统调用,这些函数的集合就是 Windows 操作
系统提供给应用程序编程的接口 (Application Programming
Interface), 简称 Windows API 。如 CreateWindow 就是一个
API 函数,应用程序中调用这个函数,操作系统就会按照该
函数提供的参数信息产生一个相应的窗口。
http://www.sunxin.org
关于消息及消息队列
关于消息及消息队列
向上的箭头④表示操作系统能够将输入设备的变化上传给应
用程序。如用户在某个程序活动时按了一下键盘,操作系统
马上能够感知到这一事件,并且能够知道用户按下的是哪一
个键,操作系统并不决定对这一事件如何作出反应,而是将
这一事件转交给应用程序,由应用程序决定如何对这一事件
作出反应。好比有个蚊子叮了我们一口,我们的神经末梢
(相当于操作系统)马上感知到这一事件,并传递给了我们
的大脑(相当于应用程序),我们的大脑最终决定如何对这
一事件作出反应,如将蚊子赶走,或是将蚊子拍死。对事件
作出反应的过程就是消息响应。
http://www.sunxin.org