1、操作系统的概念
当前的计算机以及智能手机等设备,没有操作系统是不现实的事情。包括PC机上常见的Windows、Mac OS X和Linux,手机上的iOS和Android都是拥有巨大影响力的操作系统的典范。操作系统的根本作用有两个,其一是管理计算机系统的各个部件使之能正常运转,其二是给上层应用软件提供编程和运行的接口。
2、操作系统的硬件环境
作为计算机系统的最底层,硬件与操作系统的关系极为紧密,操作系统直接依赖于硬件而存在。一般硬件需要提供给操作系统的支持有5个方面,分别是:
(1)特权指令
特权指令时受保护的指令,只能由操作系统去访问,而普通用户无法接触。这些指令主要包括操作IO设备、操作某些状态位设置、关机等非常敏感的指令。为了区分是否有权执行这些特权指令,计算机处理器可以设置为不同的权限状态,主要区分方式有:
①管态和目态:管态代表着高特权级别,处于这种状态时计算机可以执行包括特权指令在内的所有指令,使用所有资源,并可以改变处理器状态;目态代表第特权级别,在此状态下,不能使用特权指令,不能直接使用系统资源,不能改变CPU状态,只能访问应用程序自身的存储空间。
②特权环:Intel系列CPU的特权级别,供有R0/R1/R2/R3四个级别,相当于在管态和目态之间增加了更加细化的权限等级。多数常见的操作系统只使用了R0和R3两个等级,分别对应管态和目态两种状态。
(2)系统调用
系统调用即用户通过访管指令或陷阱指令请求操作系统提供某些服务的过程。
系统调用的过程:
CPU执行到访管指令→引发访管中断/陷阱中断→保存中断处的上下文环境,并切换到管态→移交控制权给响应的中断处理程序调用相应的系统服务→结束中断处理,恢复上下文,恢复目态并在断点处继续运行。
(3)内存保护
操作系统中内存保护的作用是防止某个应用程序无意间破坏了操作系统和其他应用程序占用的内存中的数据。实现这一机制的是在硬件上增加基地址寄存器和边界寄存器来确保应用程序访问的内存地址在基地址和边界地址之内。
(4)中断机制
中断机制是保证操作系统正常运行至关重要的部分。当中断发生时,CPU暂停执行当前的程序并保留现场,在处理完相应的事件处理程序后返回断点继续原有的程序。
广义的中断可分为两类:同步中断和异步中断,前者指CPU在执行指令时候由CPU控制器发出的异常,主要有CPU检测到的异常和错误以及程序发出的异常消息(如通过int发出的中断请求);后者指的是由外部硬件发出的中断,分为可屏蔽(IO中断)和不可屏蔽(硬件错误)两类。