操作系统学习笔记 -----进程与线程

进程与线程

进程

进程的概念:是动态的,是程序的一次执行过程。

程序:是静态的,就是个存放在磁盘里的可执行文件。

PID(进程ID):当进程被创建时,操作系统会为该进程分配一个唯一的,不重复的“身份证号”。

进程的组成:PCB,数据段,程序段。(PCB是给操作系统用的,数据段,程序段是给进程自己用的)

进程实体(进程映像):(静态的)一个进程实体由PCB,程序段,数据段组成

进程的特征

 进程的状态与转换

 

 

 进程控制

进程控制的概念:进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程,撤销已有进程,实现进程状态转换等功能。

 如何来实现进程控制呢?用原语来实现进程控制。

原语:原语是一种特殊的程序,它的执行具有原子性。也就是说,这段程序的运行必须一气呵成,不可中断。

 

 

 

 进程通信(IPC)

进程间通信(IPC):就是指两个进程之间产生数据交互。

进程是分配系统资源的单位,因此个进程拥有的内存地址相互独立。

为了保证安全。一个进程不能直接访问另一个进程的地址空间。

 

 消息传递

 管道通信

 

线程概念多线程模型

在还没有引入线程之前,系统中的各个程序只能串行执行。

线程:可以把线程理解为“轻量级进程”,线程是一个基本的CPU执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务。

引入线程之后,进程只作为除CPU之外的系统资源的分配单元

线程则作为处理机的分配单元。

 线程的实现方式-   多线程模型

线程的实现方式:

用户级线程

1.用户级线程由应用程序通过线程库实现,所有的线程管理工作都由应用程序负责(包括进程切换)

2.在用户级线程中,线程交换可以在用户态下即可完成,无需操作系统干预。

3.在用户看来,是有多个线程,但是在操作系统内核来看,意识不到线程的存在

用户级线程就是从用户视角能看得到的线程。

优缺点:优点:用户级线程的切换在用户空间即可完成,不需要切换到核心态,线程管理的系统开销小,效率高。

缺点:当一个用户级线程被阻塞后整个进程都将会被阻塞,并发度不高,多个线程不可在多核处理机上并行运行。

内核级线程

1.内核级线程的管理工作由操作系统内核完成。

2.线程调度,切换等工作都由内核负责,因此内核级线程的切换必然需要在核心态下才能完成。

3.操作系统会为每个内核级线程建立相应的TCB,就是通过TCB对线程进行管理,“内核级线程”就是“从操作系统内核视角能看得到的线程”。

4.优缺点:当一个线程被阻塞后,别的线程还可以继续执行,并发能力强,多线程可在多核处理机上并行执行

缺点:一个用户进程会占用多个内核级线程,线程切换由操作系统内核完成,需要切换到核心态,因此线程管理的成本高,开销大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值