第四章 操作系统控制硬件的方式操作系统为所有的软件创建了一个通用平台。因为每个程序员都有自己的存储格式。如果没有操作系统,就不可能在同一个磁盘上存储由不同的程序创建的文件。
操作系统也提供了一个工具,来完成应用程序外部执行的任务。实际上操作系统由通用平台(如 windows),BIOS和第四章 操作系统控制硬件的方式设备驱动程序组成。
工作原理:操作系统相当于一个舞台,
应用程序相当于舞台上的演员,硬件相当于舞台上的幕布、灯光、道具,设备驱动程序相当于灯光控制器,而 BIOS则相当于控制道具的人。演员只管完成自己的角色。它对道具的要求全都依赖舞台,舞台也不能直接控制灯光,他指定第四章 操作系统控制硬件的方式灯光控制器对灯光进行控制。
类似上述,应用程序只完成内部程序的运行,它同外部硬件的任何通信全有赖于 WINDOWS(包括数据交换、显示等),
windows同硬件之间也需要 BIOS指定地址、中断等。否则,windows就无法在大量的地址中找到相应的存储地址、
第四章 操作系统控制硬件的方式控制地址。但是,BIOS也并不一定能对所有硬件应付自如,它只对通用硬件起到良好的控制作用,如硬盘、鼠标、键盘等。但对于大型、新式硬件,由于找不到相应的硬件参数,就无法控制。所以它要借助于硬件驱动程序,硬件驱动程序包含该硬件的数据传输率、控制方式、编码方式等参数。新加入一个硬件第四章 操作系统控制硬件的方式关于此硬件的参数就被载入 BIOS。
4- 1 处理器和中断
Windows可执行多任务,但怎样让处理器同时处理多个程序? CPU是由若干个二极管、三极管组成,再组成若干个与门、或门等,程序的完成就是执行这些输入输出。一旦运行,则需要得到一个输出。在这个过程中,不能执行其他程序。否则,就有两个输入,引起逻辑混乱。
第四章 操作系统控制硬件的方式在计算机中,怎样协调处理器和多任务之间的矛盾,采用的技术就是中断。在内存中专门有一个特殊位置,即堆栈,
专门存放操作地址。在操作系统处理一个程序时,例如,杀毒软件驻留在内存中进行病毒监控。启动一个新程序,需要双击鼠标,双击产生的电流脉冲传输到接口。脉冲信号经过编译输入到中断第四章 操作系统控制硬件的方式控制器。当然这个过程也需要 BIOS的参与。中断控制器通知处理器出现了中断,
CPU将当前关于程序操作的数据存入堆栈,
如当前地址、数据值、程序执行情况。
鼠标双击将要执行的程序,例如在桌面的快捷方式,会自动链接到该程序,执行,EXE文件,如果找不到此文件,就给出出错信息,如打开方式等。这个执行第四章 操作系统控制硬件的方式程序将硬盘中的数据载入内存,这些数据同处理器之间进行数据交换,CPU对数据进行处理,
完成程序。之后,再调入堆栈,对上一个程序进行处理。
若有多个程序同时运行,就将所有程序放入堆栈,处理完 1程序的一部分,再处理 2程序,所有程序处理完后,再回来处理 1程序,类似于时分多址。由于这个原因,要求堆栈大小合适,
太大会占用太多内存资源,太少则无法处理多窗口任务,这是内存优化的一个内容,但需要第四章 操作系统控制硬件的方式计算机自适应处理,堆栈随任务多少自动调整。
另外,CPU处理速度也很重要,如果速度太慢,
不停的更换应用程序将会使得某些程序得不到运行,出现类似于,死机,的状态。
4.2 BIOS和驱动程序如上述,BIOS中存放有一些基本硬件信息,这些信息负责和硬件通信,但是 BIOS的容量有限,
只能存入少部分通用硬件信息,而且,硬件更新速度很快,BIOS中的信息过时也很快。所以应该随时更新硬件驱动程序,以使软硬件完第四章 操作系统控制硬件的方式美配合,Windows硬件库中带有大量硬件驱动,但也不能满足要求,所以对于驱动,应以厂家的驱动更新为主。
4.3即插即用启动后,BIOS检测端口,搜索设备中只读存储器的代码,之后,将控制权转给操作系统。
第四章 操作系统控制硬件的方式
Windows的,配置管理器,添加了一个特殊的设备驱动程序为枚举器。它是操作系统和硬件的接口程序。
Windows从枚举器中获得信息后,生成硬件树。
并给这些硬件分配资源。
当插入一个即插即用设备时,BIOS对其进行检测,并将硬件硬件信息传递给 CPU,cpu查找是否有硬件驱动程序,如有,自动加载该程序,
并在 BIOS中写入相应数据,并在硬件树中为其第四章 操作系统控制硬件的方式分配资源,设备正常工作。如果搜索不到驱动,在 BIOS和硬件树中找不到关于该硬件的信息,或者,显示为未知设备。