操作系统 进程和线程
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.由此引入核心级线程。调度点有系统决定,不可见。