操作系统 进程和线程

2018-07-23  本文已影响0人  泡泡爱上巧克力_7122

CPU管理的直观想法

1.CPU是一个取指执行的过程,那么我们是否只要设置好PC值设置程序入口即可?

2.由于IO耗时,导致CPU资源浪费,怎么解决?

3.使用任务切换---多线程图像

4.那么为完成任务切换只要修改PC指针就好了吗?

5.为保留原来程序的运行状态,引入了PCB这样一个数据结构来保存程序的运行状态,为了区别静态的程序与运行中的程序引入了进程这样一个概念

6.cpu管理就是如何去管理这些进程

多进程图像

1.对操作系统来说,每个进程创建一个PCB记录进程信息,在适当的时候推进进程的运行

2.多进程如何组织,使用PCB来记录进程信息,放在不同的队列中,通过状态来推进进程的转换。

3.操作系统都是通过PCB感知进程

4.多进程如何交替:把原来的进程变为阻塞态,并将物理CPU中的PCB信息记录到PCB1中,将PCB2中的信息拷贝到物理CPU中,那么如何选择合适的进程进行切换,需要调度

5.多进程如何影响:多个进程放在内存中,若某一个进程去修改了另一个进程的内存数据,那么会导致进程的崩溃,如何解决这个问题?使用映射表

6.所以说进程管理连带内存管理形成了多进程图像

7.多进程如何进行合作?核心在于进程同步(合理的推进顺序)

用户级线程

1、为什么要引入用户级线程?资源共享,速度快,不用切换映射表

2.  用户级线程从一个栈到两个栈,为什么这么做?能够有序的顺序执行线程。

3.为什么说是用户级线程?当我们的用户级线程由于网卡阻塞等原因,内核将进程切换到别的进程,或者直接等待,那么整个进程就卡了,没有反应,内核看不到其它进程1中的其它线程

4.由此引入核心级线程。调度点有系统决定,不可见。

上一篇下一篇

猜你喜欢

热点阅读