1.4操作系统的运行环境
1.4.1 硬件支持
现代通用计算机包括一个或多个CPU和若干个设备控制器,通过共用总线相连而成,该总线提供了共享内存的访问功能。
1.4.2 操作系统内核
通常将一些与硬件紧密相关的模块(如中断处理程序),各种常用设备的驱动程序,运行频率较高的模块(如时钟管理模块,进程调度模块等)以及许多模块公用的一些基本操作,都安排在紧靠硬件的软件层次中,让他们常驻内存。它们通常被称为OS内核。
OS内核都包含了以下两个功能:(1)支撑功能,主要实现了提供给OS其他众多模块所需要的一些基本功能,以支撑这些模块工作。三种最基本的支撑功能是:中断处理,时钟管理和原语操作。
(小知识:原语,是由若干条指令组成的,用于完成一定功能的一个过程,它与一般过程的区别在于,它的指令都是原子操作,所谓原子操作,是指一个操作中的所有动作要么全做,要么全不做,此即“原子性”,换言之,它是一个不可分割的基本单位。因此原语在执行过程中不允许被中断)
(2)资源管理功能,包括进程管理,存储器管理,设备管理。
1.4.3 处理机的双重工作模式
设计目的:为了确保OS正确运行,必须区分OS代码和用户代码的执行。大多数计算机系统采用硬件支持,以便于区分代码的执行模式。
处理机的两种运行模式:(1)用户态,也叫目态,1,计算机系统执行用户程序时处于用户态。
(2)内核态,也叫管态或系统态,当用户程序通过系统调用请求OS服务时,系统必须从用户态切换到内核态。
双重执行模式也提供了保护手段以防止OS和用户程序受到错误用户程序的影响。这种保护手段可通过以下方式执行:将可能引起损害的机器指令当作特权执行(指在内核态下运行的指令,他对内存空间的访问范围基本不受限制,切换到用户态的指令也是特权指令。把其他指令当作非特权指令(指在用户态下运行的指令)
如果在用户程序中使用了特权指令,则硬件不会执行该指令,而会认为这个指令非法,转到错误处理。
1.4.4 中断与异常
现代OS是中断驱动的,如果没有进程需要执行,没有IO设备需要服务,没有用户需要响应,那么OS就会静静地等待某个事件发生。事件是由中断或者陷阱触发的。陷阱(也叫处理)是一种由软件引起的中断,或源于出错,或源于用户请求。中断处理程序用于处理中断。
1.5 操作系统的主要功能
1.5.1 处理机管理功能:进程控制 进程同步 进程通信 调度
1.5.2 存储器管理功能:内存分配和回收 内存保护 地址映射 内存扩充
1.5.3 设备管理功能:缓冲管理 设备分配 设备处理
1.5.4文件管理功能:文件存储空间功能 目录管理
1.5.5 接口管理功能:用户接口程序接口
1.5.6 现代操作系统的新功能:保证系统安全 支持用户通过联网获取服务 可处理多媒体信息