操作系统☞进程/线程

PCB:进程控制块
TCB:线程控制块


进程的物理地址与虚拟地址

物理地址:物理地址空间是实在的存在于计算机中的一个实体,在每一台计算机中保持唯一独立性。

虚拟地址:每个进程都分配有自己的虚拟空间,而且只能访问自己被分配使用的空间。虚拟地址就是虚拟空间中的地址。

虚拟地址和物理地址之间的映射是通过MMU(内存管理单元)来完成: 【实际就是MMU查页表】
在这里插入图片描述

虚拟地址的好处:

  1. 让进程拥有独立的内存空间,相互独立,互不干扰、相互隔离
  2. 真实的物理地址不由程序操控,而由计算机分配操控,保证进程数据的安全性
  3. 不连续的物理地址映射成了连续的虚拟地址,利用了内存碎片
  4. 进程虚拟内存和可以比真实物理内存大页面分配策略
  5. 程序员是面向虚拟内存进行编程的,程序是面向虚拟内存运行的。因为程序无法知道可用的物理地址是哪些,所以必须做出映射!!!

虚拟地址空间(进程的地址空间

内核空间是共享的,用户空间是私有的(隔离的)。所以进程间通信需要通过内核空间作为中介!

在这里插入图片描述

用户区:

  1. 程序段(.text):程序段为程序代码在内存中的映射。
  2. 初始化过的数据(.data):在程序运行值初已经对变量进行初始化的数据。
  3. 未初始化过的数据(.bss):在程序运行初未对变量进行初始化的数据,操作系统会赋零值。
  4. 堆(stack):运行时存储临时变量,在程序块开始时自动分配内存,结束时自动释放内存。
  5. 栈(heap):存放线程函数的参数值,局部变量的值等。
  6. 命令行参数和环境变量
  7. 共享动态连接库(操作系的接口)

内核区:
8. 进程控制块PCB
9. 页表:虚拟地址与物理地址的映射

在这里插入图片描述


多个进程在操作系统中的组织方式

在这里插入图片描述

进程的特征

在这里插入图片描述

进程的三种状态

初创+终止状态
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

进程控制

  1. 进程的切换是原语实现【原子性执行(开中断、关中断实现的)】
  2. 切换指令由操作系统内核程序控制的,属于特权指令(所以需要CPU转换为核心态后进行进程状态切换

在这里插入图片描述

进程通信

在这里插入图片描述

共享存储

在这里插入图片描述

管道通信

在这里插入图片描述

消息传递

在这里插入图片描述

线程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

内核级线程

注意:内核级线程才是系统调度的基本单位
在这里插入图片描述

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值