@vourdalak
2018-05-07T21:28:45.000000Z
字数 3364
阅读 357
CS143A
操作系统是一个用户与电脑硬件之间交流的媒介。
电脑进行计算时的主要目的是用户使用软件,操作系统简化并管理了应用软件运行时候的有效性与复杂度。
首先要了解电脑的组成部分:

对用户来说电脑分各种不同的应用,不同电脑各有所长。例如个人PC追求效率和便携行,但对资源使用不是很在意。大型工作站强调资源使用率。手持电脑,如手机等便携优先,同时还在意续航等节能问题,要求其能够有效利用资源。
从计算机的角度看,基本有如下三种视角:
分配软硬件资源,达到有效管理。
控制用户程序和I/O设备执行。
总是在运行的内核程序。
例如:在一个文件系统中:裁判角色防止用户未经许可接触彼此的文件;幻术师角色承诺文件可以无限大,假定存储时机器崩溃,文件仍然存在;粘合剂提供界面。
I/O设备和CPU同时执行。每一个设备控制器都管理一种设备类型,每个Controller都有一个本地缓存Buffer,信息从I设备流入Buffer再进入CPU,CPU把主存内容移动到Buffer在进入O设备。
Interrupt Service Routine: 一段决定行动/中断的代码(AKA Interrupt Handler)。Interrupt把控制传给ISR。
OS保存CPU的状态,即保存register和PC,即为中断的指令的地址。
如CPU在处理一个中断时产生了新的中断,将出现如下三种情况:
直接记忆体存取,AKA DMA(Direct Memory Access)。大多用于所有文件传输的I/O设备(以减少对CPU的负荷)。原理为设备控制器直接把缓存的信息传给主存,无需CPU介入。设备控制器在I/O成功时打断CPU。
在为需要大块数据移动的I/O设备设置好缓冲,指针和计数器后,无需CPU干预,数据成块传送,每块只产生一个中断而不用每个字节产生一个中断。
进程是一个拥有有限权利的软件对象。其权利包含:
保护规定了如何限制进程的权利。
进程不可以执行全部的指令,原因包含而不局限于:
- 可能导致改变系统结构(Can alter system configuration)
- 可能导致接触未经授权的内存(Can access unauthorized memory)
- 可能导致接触未经授权的I/O(Can access unauthorized I/O)
提供了计算机两种操作模式:用户模式(User mode)和系统模式(Kernel mode)。硬件系统添加了一位模式位(Mode bit)。UM为0,KM为1.
规定了特权指令(Privileged instructions),特权指令只能在KM执行。
当trap或interrupt出现时,硬件切换为KM。
定时器在超时时产生一个interrupt。为一个定义好的时间,随着时间流逝慢慢减少的参数。也可用于计算当前系统时间。对Timer的编程属于特权指令,必须在KM内执行。
当进程运行时,仅有在此进程权利内的内存可以被其接触并使用。
在KM运行时,内核对所有内存均有权访问。
设置两个register来保存内存相关的信息:
- Base Register:保存此进程的最低访问内存编号。
- Limit register:保存此进程最大内存范围。
超出部分即为保护部分。任何对Base和Limit的load都属于特权指令。
所有I/O指令都属于特权指令。
所以,用户只能通过系统调用(System Call)执行I/O操作。
系统操作:一种进程向系统做请求的方法。
用户指令可以使用SysCall,从而引发一个Trap。切换到KM进行操作。
是用户应用(Application)和操作系统(OS)的Interface。应用使用assembly instruction来引发trap从而进入内核。一些高级语言为这些assembly instruction(SysCall)提供包装(Wrapper)。SysCall在应用和OS之间通过register和memory传送参数。

目的是提供程序执行和开发的便利环境。
输入到OS的指令由指令声明执行。CIS会得到一条条的指令并且执行。读取和解释Control statements的程序也叫Command-line Interpreter,shell(UNIX里)。
只能由CPU直接接触的大容量存储。
有大量的非易失内存。如磁盘。
存储系统是有严格规整层次的。层次的基准为:
缓存:把低速存储器的信息复制到告诉存储器的过程。主存可看作次要存储的上级存储器。
有一个大的,有许多组成部分的内核。(如Linux,Windows)
微内核把内核中信息移动到用户空间。在内核层次只运行小的OS,OS服务建立在很多独立的用户层面进程中。
由message passing沟通不同modules。