操作系统_第二章_进程与线程
2018-06-30
1.进程:对正在运行的程序的一个抽象
2.一个进程就是一个正在执行的程序的实例
3.快速的切换称为:多道程序设计
4.一个进程是某种类型的一个活动,它有程序,输入,输出,以及状态
5..四种主要的事件会导致进程的创建
系统初始化
正在运行的程序执行了创建进程的系统调用
用户请求创建一个新进程
一个批处理作业的初试化
6.停留在后台进程的称为守护进程
7.shell中键入sort就可以创建进程了
8.内存一般使用写时复制的方法进行内存共享
9.进程的终止
正常退出
出错退出
严重错误
10.调用exit来结束进程
11.进程挂起的原因
程序自身固有的原因,在键入用户命令行之前,无法执行命令
由系统技术上的原因引起的,没有足够的CPU
12.进程的三种状态:
运行态
阻塞态 :pause
就绪态
13.操作系统的最低层是调度程序,上面有很多的进程
14.进程表->进程表项->包括了进程状态的重要信息->进程管理,文件管理,存储管理
15.与每一个I/O类关联的是一个称作中断向量的位置
16.所有的中断都是从保存寄存器开始
17.CPU的利用率:1-p^n (n称为多道程序设计的道数)
18.创建线程的原因:
有了这样的抽象,将不用再考虑中断,定时器和上下文切换(进程切换)
线程比进程更轻量,更容易创建,也更容易撤销
涉及性能方面的讨论
19.线程:并行实体共享同一个地址空间和所有可用数据的能力
20.高速缓存
21.有限状态机:每个计算机都有一个被保存的状态,存在一个会发生且使得相关状态发生改变的事件集合
22.只有当系统调用只阻塞调用线程而不是阻碍这个进程时
23临界区域:把对共享内存进行访问的程序片段称作临界区域
24.忙等待的互斥:
屏蔽中断
锁变量
严格轮换法
Peterson解法
25.生产者-消费者问题(有界缓冲区问题)
有可能会出现竞争问题:
原因:未对count的访问未加限制
其实看不太懂,首先,为什么wakeup信号丢失就会导致这么严重的问题
修改规则:加上一个唤醒等待位
26.