现代操作系统学习(2)———进程与线程

首先推荐去看http://blog.csdn.net/debugingstudy/article/details/12668389
这篇博客总结的很好。另外我写这个系列的博客,目的主要是加深自己的学习印象,以及对书上的内容做个概括,记录主要的概念,想要快速看现代操作系统的可以看一看。

2.1进程

首先是进程模型,计算机上所有可运行的软件包括操作系统,被组织成若干顺序进程(sequential process)简称进程(process)。一个进程就是一个正在执行程序的实例,包括程序计数器,寄存器和变量当前值。从概念上说,每个进程拥有它自己的虚拟CPU,当然,实际上CPU在各个进程间来回切换。这种快速切换称为多道程序设计。下面这张图很容易看出快速切换的概念,
这里写图片描述
创建进程
有四种事件导致进程创建
1。系统初始化
2。执行了正在运行的进程所调用的进程创建系统调用
3。用户请求创建新进程
4。一个批处理作业初始化
这里写图片描述
在Windows中,和UNIX不同,一个Win32调用CreateProcess即处理进程的创建,又负责把正确的程序装入新进程。
这里写图片描述
进程终止
进程终止通常由下列条件引起
1。正常退出(自愿)
2。出错退出(自愿)
3。严重错误(非自愿)
4。被其他进程杀死(非自愿)
出错退出是程序错误导致——一条非法指令,引用不存在的内存,零除等
严重错误时例如cc foo.c编译foo.c文件,但是这个文件压根不存在,就会退出。
进程层次结构
这里写图片描述
这里写图片描述
进程状态
进程的三种状态
1。运行态(该时刻该进程实际占用CPU)
2。就绪态(可运行,但因为其他进程正在运行而暂停)
3。阻塞态(除非某种外部事件发生,否则不能运行)
这里写图片描述
进程的实现
为了实现进程模型,操作系统维护着一张表格(一个结构数组),即进程表。每个进程占用一个进程表项。(进程表项也可称为进程控制块),是包含子进程状态的重要信息,包括程序计数器,堆栈指针,内存分配状态,打开文件状态,账号与调度信息以及其他由运行态到就绪态/阻塞态必须保存的信息。
这里写图片描述
这里写图片描述
多道程序设计模型
多道程序可以提高CPU利用率,那么如何说明利用率呢。
一个简单的模型为:假设一个进程等待I/O操作的时间与其停留在内存的时间比为p,当内存中同时有n个进程时,则所有n个进程都等待I/O(此时CPU空转)的概率是p的n次方,CPU的利用率由下式给出
这里写图片描述
这里写图片描述
这里写图片描述

线程

这里写图片描述
这里写图片描述
下面用一个例子来说明线程的应用
这里写图片描述这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
经典线程模型
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
用户空间实现线程
关于用户空间实现线程,建议看博客最上面给的那个链接,总结的非常好
这里写图片描述
我在这里列一下用户级线程的几个优缺点吧
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
内核级线程
这里写图片描述
混合实现
这里写图片描述

调度线程激活机制
这里写图片描述
弹出式线程
这里写图片描述
这里写图片描述

进程间通信

这里写图片描述

1。竞争条件
这里写图片描述
2。临界区
这里写图片描述
3。忙等待的互斥
下面是几种互斥方案,在这些方案下,当一个进程在临界区更新共享内存时,其他进程不会进入临界区
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
上述的这些方法都没能从根本上解决问题,
这里写图片描述
生产者——消费者问题
这里写图片描述
这里写图片描述
这里写图片描述
信号量
这里写图片描述
用信号量解决生产消费者问题
这里写图片描述
这里写图片描述
互斥量
这里写图片描述
这里写图片描述
这里写图片描述
管程
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
消息传递
在网络中,消息有可能丢失,为了防止丢失,发送方接收方可以达成一致,一旦接收到信息,接收方马上会送一条特殊的确认消息,如果未收到确认,重发消息。这是消息系统不可靠消息成功通信的问题。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
屏障
这里写图片描述

调度

这里写图片描述
何时调度
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
批处理服务调度
这里写图片描述
这里写图片描述
交互式系统调度
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
实时系统中的调度
这里写图片描述
这里写图片描述

习题

答案来源:https://wenku.baidu.com/view/8d5a7748a7c30c22590102020740be1e650eccde.html
作者辛苦整理的,我在这里用了,就给出链接,希望看到全部题目的可以去下载。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_21747841/article/details/78668018