操作系统概述
计算机软件是由程序员所编制的,便于用户使用计算机。计算机软件分为系统软件和应用软件。
系统软件:围绕着逻辑,为各种应用程序提供各种环境。
应用软件:为了解决某一类问题而被程序员研发的软件。
程序设计语言:
- 机器语言:二进制的语言。
- 汇编语言:符号化后的机器语言。
- 高级语言:数学函数和英文字符所构成的语言,对程序员来说通用性好。
①编译程序:高级语言会转化为机器语言目标程序。
②翻译程序:每输入一行就翻译一行。 - 4GL语言:告诉系统做什么,然后系统就去执行。(数据库语言)
进程管理
进程死锁
- 互斥:某个资源只能被一个进程所使用。
- 保持和等待:一个进程以及获得了一些资源,但是还不够,所需要的资源被其他进程所占用,这是的状态就是保持和等待状态。
- 不剥夺:资源被某个进程所占用之后,只有等待该进程执行完后释放资源。
- 环路等待:你等我的资源,我等你的资源。
死锁预防:资源一次性分配。
死锁避免:对资源的请求分段展开,银行家算法。
死锁检测:
死锁解除:剥夺资源。
银行家算法
互斥和同步
PV操作
例子是坐凳子,P是减一,V是加一。P相当于空闲凳子的个数,V是走了一个人。
存储管理
逻辑地址:程序引入的地址。
物理地址:存放在内存中的地址。
页式存储:程序在运行过程中,将逻辑地址转变为物理地址,放在内存中。将程序所需要的空间转变为页。内存的空间是块。一页对应一块。
设备管理-数据传输控制方式
-
程序控制方式
CPU需要时刻监听外设,当外设有数据进行传输的时候,外设会向CPU传递数据。由于外设速度慢,而CPU速度快,所以这种控制方式效率太低了。 -
程序中断方式(鼠标和键盘)
当外设有数据进行传输的时候,外设发出中断信号,让CPU暂停正在进行的任务,跟外设进行数据的交换,然后继续执行之前正在进行的任务。提高CPU的效率,但是还是慢,因为每一次传输数据都会中断。 -
DMA方式(磁盘)
DMA控制器取代CPU对外设的管控,CPU不干预,CPU之会在数据传递结束之后起一个管理作用,进一步提高CPU利用率。