软件体系结构
计算机由CPU、内存和IO设备组成基本的硬件系统。操作系统提供了统一的接口来管理和操作硬件资源。运行库使用系统调用提供的System Call,通常系统调用接口是通过软件中断来实现的。用户的应用程序使用运行库提供的Application Programming Interface。
CPU和内存通过北桥与高速设备交换数据,南桥将低速设备汇总后连接到北桥上。面对CPU频率4GHz的天花板,现代计算机通过多核处理器来提高处理速度。
操作系统内存管理
操作系统提供五种基本功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。
1. 进程管理
操作系统接管所有的硬件资源,其上所有的应用程序都以进程的方式运行在比操作系统权限更低的级别。每个进程都有自己独立的地址空间,使得进程之间的地址空间相互隔离。CPU由操作系统统一分配,使得每个进程从逻辑上来看都可以独占计算机资源。
2. 内存管理
操作系统主要解决三个问题:地址空间不隔离,内存使用效率低,程序运行的地址不确定。解决的思路是:把程序的地址看做是虚拟地址Virtual Address,操作系统只要妥善地控制这个虚拟地址到物理地址的映射过程,就可以保证任意一个程序所能访问的物理内存与其它空间隔离。
分页 虚拟地址空间,通常由地址线位数决定。32位地址线可寻址的范围是4G个内存单元,即4GB。把虚拟地址空间分为固定大小的页。进程中的部分虚拟页面映射到物理页面,有的则在磁盘中。当进程需要用到磁盘中的页时,发生PageFault,操作系统接管进程,负责装在页面到内存。