1.操作系统的主要动能
1.存储管理
(1)内存分配
(2)地址映射
(3)内存保护
(4)内存扩充
2.进程和处理机管理
(1)作业和进程调度
(2)进程控制
(3)进程通信
3.文件管理
(1)文件存储空间的管理
(2)文件操作的一般管理
(3)目录管理
(4)文件的读写管理和存取控制
4.设备管理
(1)缓冲区管理
(2)设备分配
(3)设备驱动
(4)设备无关性
5.用户接口
(1)程序接口
(2)命令行接口
(3)图形用户接口(GUI)
2.进程管理
1.程序并发执行的特征
(1)失去封闭性
(2)程序与计算不再一一对应
(3)并发程序在执行期间相互制约
2.进程(process):进程是程序在并发环境中的执行过程,是作为资源申请和调度单位存在的
特征:
(1)动态性
(2)并发性
(3)调度性
(4)异步性
(5)结构性
状态:
(1)运行态
(2)就绪态
(3)阻塞态
状态转换:
(1)就绪-->运行:被调度
(2)运行-->阻塞:条件未被满足
(3)阻塞-->就绪:未被满足的条件已满足
(4)运行-->就绪:用完时间片
进程控制块(PCB)是进程存在的唯一标志
3.线程(thread):线程是进程中执行运算的最小单位,也是执行处理机调度的基本单位
为何引入线程:
(1)使并行实体获得共享同一地址空间和所有可用数据的能力,即同一进程内的所有线程共享进程内的资源
(2)易于切换,代价低
(3)可以改善系统的性能(多线程重叠执行)
线程的组成:
(1)一个唯一的线程标识符
(2)描述处理器工作情况的一组寄存器(如程序计数器、状态寄存器、通用寄存器等)的内容
(3)每个thread结构有两个栈指针,一个指向核心栈(私有堆栈的指针),一个指向用户栈
(4)一个私有存储区,存放现场保护信息和其他与改线程相关的统计信息等
一个进程可以包含多个线程,每个线程有私有的寄存器和栈
4.进程间同步和互斥
临界区:每个进程访问临界资源那段程序叫做临界区(Critical Section),简称CS区
1.要进入临界区要遵循以下准则:
(1)任何两个进程不能同时处于其临界区
(2)进程运行的速度具有不确定性,不能做假设
(3)应保证进入临界区的进程能不受干扰的运行,不应受阻塞
(4)不得使进程无限期等待进入临界区
2. 信号量及P、V操作原语
S表示资源数量,互斥信号量一般S=1,同步信号量S为资源数量
P(S):请求分配一个单位资源
(1)信号量的值减1,即S=S-1
(2)如果S>=0,则该进程继续执行
如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连如该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)
V(S):释放一个单位资源
(1)S值加1,即S=S+1
(2)如果S>0,则该进程继续运行
如果S<=0,则释放信号量队列上的第一个PCB(即信号量指针所指向的PCB)所对应的的进程(把阻塞态改为就绪态),执行V操作的进程继续执行
`