共同资源的管理者
程序运行需要处理器时间、内存和输入输出设备,而多个程序往往需要同时使用它们。操作系统提供管理层,把文件、进程等抽象呈现给应用,安排底层资源的实际使用。应用通过共同接口工作,可以少关心每一种设备的全部细节,系统则能够在共享与保护之间建立规则。
参考:[1]
让程序进入执行
系统把程序内容装入适当环境,建立需要的运行状态,再让处理器执行。多个活动可以轮流获得处理器,等待设备的活动则暂时让出执行机会。切换机制决定怎样保存和恢复状态,调度策略决定接下来让谁运行;同一种机制之上可以实现不同目标的分配方法。
参考:[2]
地址空间与保护
内存管理让程序使用有组织的地址空间,并配合硬件限制不应访问的区域。文件与设备接口也检查权限和操作条件。这样的保护使一个应用的错误更容易被限制在自身环境内,但系统仍需要正确的内核、驱动和配置,保护强度取决于整个实现的边界及其执行方式。
参考:[1]
持久资料与并发服务
操作系统还要安排文件读写、处理中断,并在程序结束后保留应当持久的数据。缓存、缓冲与设备排队提高效率,却也引出数据何时真正写入的问题。理解一个系统,需要把资源虚拟化、并发与持久性连起来看,才能解释应用调用返回与硬件工作完成之间可能存在的时间差。
参考:[2]