进程的三种基本状态:
1.就绪状态 Ready 2.执行状态 Running 3.阻塞状态 Blocking
2、进程管理: 主要是为了处理资源分配的
进程之间有2种关系,不知不觉的关系,2个进程之间可以相互争夺资源,这种情况下我们要进行设定信号量的方法使得对方不知不觉变得又只有觉,又称为协作关系。
3、线程管理:
线程和进程相比最最重要的一点就是现场主要是用来处理机的竞争的,而进程主要是用来进行资源的分配.
线程分2种:内核支持线程和用户级线程
内核支持线程是计算机系统知道的,用户级线程是计算机系统不知道的,是由用户自己来管理的。
线程是比进程更细的一个颗粒单位,它的并发度更高,用户级线程可以完成特定的用户的功能,但是不能获取更高的cpu时间,而内核支持线程它能够跟进程一样获得cpu时间,但是它的功能大部分是固定的。 做用户特定的功能则是不可以的
混合级线程:了解
处理机调度,处理机调度的算法是要根据计算机操作系统的本身的特点来定的
目标是尽可能的提高处理机的利用率,提高作业的吞吐量,减少等待时间,我们通常把这种操作系统成为批处理操作系统,而我们一般用的是交互操作系统。
处理机调度常用的调度算法: 先来先服务调度算法;短作业(短任务,短进程,短线程)优先调度算法;时间片轮转调度算法;优先级调度算法;高响应比优先调度算法;多级反馈队列调度算法。
作业一般只有在大型机中才用。
死锁:时间和空间的原因,死锁一定是涉及到2个或者2个以上的进程,如果一个进程那不是死锁,叫饥饿。
死锁产生的四个必要条件:
1.互斥条件 2.请求和保持条件 3.不剥削条件 4.环路等待条件 缺一不可
预防死锁:
1.忽略死锁(鸵鸟算法) 死了一埋
2.检测和解除死锁(资源分配图) 一般不敢用
解除死锁:剥夺资源、回溯到还原点、撤销进程、重启系统
3.避免死锁(银行家算法)大题
4.预防死锁:摒弃互斥条件、摒弃“请求和保持条件”、摒弃“不剥夺”条件
摒弃“循环等待”