【一】进程到底是个啥?

进程是操作系统资源分配的基本单位,具有唯一标识PID。进程管理包括描述进程(如PCB,包含进程状态、优先级、上下文等信息)和组织进程(如使用双向链表)。内存管理确保进程间独立性,每个进程有自己的地址空间。进程间通信是在进程隔离的基础上,通过共享区域实现数据交换。
摘要由CSDN通过智能技术生成

1. 什么是进程

进程(process):一个运行起来的程序,就是进程!,我们可以在任务管理中看到进程。
进程是操作系统进行资源分配的基本单位,引入进程的目的,就是为了能够实现多个任务并发执行的效果~
在这里插入图片描述

2. 进程的管理

所谓的进程管理,其实就是分为两步:
1.描述一个进程:使用结构体/类,把一个进程有哪些信息,表示出来
2.组织这些进程:使用一定的数据结构,把这些结构体/对象,放到一起

2.1 进程的结构体(PCB)有哪些属性?(属性非常多,只挑几个核心的)

  • pid : 每个进程需要有一个唯一的身份标识
  • 内存指针:当前这个进程使用的内存是哪一部分 (进程运行的时候,使用了哪些内存上的资源
  • 文件描述符表:进程每次打开一个文件,就会产生一个“文件描述符”(标识了这个被打开的文件),一个进程可能会打开多个文件,对应了一组文件描述符,把这些文件描述符放到一个顺序表这样的结构中,就构成了文件描述符表(进程运行的时候,使用了哪些硬件上的资源

2.2 Cpu资源相关的属性

这些属性都是辅助进行进程调度
在这里插入图片描述

  • 进程状态,可以简单的认为,进程状态主要是两个
    就绪态:该进程已经准备好,随时可以上CPU执行
    阻塞态:该进程暂时无法上CPU执行

  • 进程的优先级
    进程之间的调度不一定是“公平”的,有的需要优先调度

  • 进程的上下文
    上下文,就是描述了当前进程执行到哪里这样的“存档记录”,进程在离开CPU的时候就要把当前运行的中间结果“存档”,等到下次进程回来CPU上,再恢复之前的“存档”,从上次的结果继续往后执行。
    具体到进程,所谓的上下文具体指的就是进程运行过程中,CPU内部的一系列寄存器的值,进程离开CPU就需要把这些寄存器的值,保存到PCB的上下文字段中~进程下次回来CPU,再把PCB中的值给恢复到

  • 进程的记账信息
    统计了每个进程,在CPU上执行了多久了~可以作为调度的参考依据

2.3 进程的组织

操作系统往往使用双向链表这样的结构来组织PCB

  • 创建一个进程,就是创建一个链表的节点
  • 销毁一个进程,就是把链表的节点给删除了
  • 遍历进行列表,就是在遍历链表~

2.4 内存分配–内存管理

操作系统对内存资源的分配,采用的是空间模式-------不同进程使用内存中的不同区域,互相之间不会干扰
在这里插入图片描述
一个进程无法直接干预另一个进程的内存内容~ 进程的独立性,每个进程有自己独立的地址空间

2.5 进程间通信

所谓的进程间通信,就是在隔离性的前提下,找一个公共的区域,让两个进程借助这个区域来完成数据交换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个想打拳的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值