操作系统2.1-进程


前言

第一次写博客,第一次学操作系统,如果有错误,麻烦大家评论纠正,万分感谢!但是我知道,肯定没人看,还是自己留着看吧。(网课b站-王道论坛)

一、进程的定义、组成、组织方式和特征

1.进程的定义和组成

程序是一个指令序列。
早期的计算机,只支持单道程序处理。简而言之就是CPU、内存、I/O设备只为一个程序进行相关的服务。一个内存中存放着程序段和数据段,程序段存储的是代码,数据段存储的是运行的结果、数据、变量等等。
在后来的计算机发展到多道批处理技术,内存中就有了PCB(Process Control Board)的出现,它用于存储程序代码存放的位置,包含操作系统对其进行管理所需要的各种信息。创建进程可以说是创建PCB,撤销进程可以说是撤销PCB,由此得知PCB是进程存在的唯一标志

进程实体/进程映像
PCB
程序段
数据段

所以进程的定义如下几点:在这里插入图片描述
进程重在过程,这里强调它的动态性,可以总结为进程是进程实体的运行过程

2.进程的组织方式和特征

由于进程实体的PCB数以千计,所以需要我们对进程进行管理,对PCB进行组织。
进程的组织主要分为两种方式链接方式和索引方式。它们通过对进程不同的状态对PCB进行分类,不同的点在于链接方式是通过指针指向PCB序列,而索引方式是通过指针指向索引表,索引表的各个表项再指向进程的PCB。

进程的特征分为以下五点:

  • 动态性(进程是进程实体的运行过程)
  • 独立性(进程是系统进行资源分配、调度的独立单位)
  • 并发性
  • 异步性
  • 结构性

在这里插入图片描述

二、进程的状态与转化

进程是程序的运行过程,运行时有的占用了CPU,有的则在等待CPU的运行,我们将进程的状态分为以下五种:

  • 创建态(进程被创建,操作系统为它分配资源,初始化PCB)
  • 就绪态(“万事俱备,只欠CPU)
  • 运行态(占用CPU)
  • 阻塞态(等待一件事的发生而暂时不能运行)
  • 终止态(进程从系统种撤销,操作系统回收相应的资源,撤销PCB)
    在这里插入图片描述

三、进程控制

什么是进程控制?
进程控制是对系统中的进程进行管理,各种进程状态的相互转换。
进程控制如何实现?
通过原语进行进程控制。(原语是一气呵成,不可中断的;通过关中断和开中断指令,在核心态下使用。)

无论是哪一种进程转换,原语无非有以下三种操作:

  1. 更新PCB的信息。
  2. 将PCB插入合适的序列。
  3. 分配/回收资源。

在这里插入图片描述

四、进程通信

进程通信就是进程之间的信息交换。
各种进程拥有的内存地址空间相互独立,一个进程不能直接访问另一个进程的地址空间,而为了实现信息交换,确保进程之间的安全性,操作系统提供了如下几个方法:

  • 共享存储
    -共享空间的访问是互斥的,不能进行同时进行访问
  • 管道通信
    -开辟了固定大小的缓冲区,管道空间同样是互斥的,其中如果信息为空或信息未写满,则不能读,信息未读则不能写。
    -管道采用的是半双工通信方式,某一段时间内只能实现单向的传输。
    -数据一旦被读出,就会被管道抛弃,意味着读进程只能有一个。
  • 信息传递
    -格式化消息(消息头|消息尾)👈和报文类似
    在这里插入图片描述

五、线程概念和多线程模型

首先我们简单地阐述一下程序、进程和线程,举个栗子:
早期计算机的程序只能一个一个执行,比如QQ音乐和QQ分开运行;后来计算机的进程则有并发性,多个程序可以同时进行;而QQ又可以进行聊天、视频和传输文件,这里我们就引用了线程。
线程是基本的CPU执行单元,是程序执行流的最小单位,是调度的基本单位。
对比进程带来的变化有以下几点:

  • 资源分配调度(进程是资源分配的单位,线程是调度的单位)
  • 增加了并发性
  • 系统开销变小

线程的实现方式分为两种:用户级线程(用用户的视角看到的进程)和内核级线程(操作系统内核来管理完成的,是处理机分配的单位)。

多线程模型:

  • 多对一:开销小,效率高;但是并发性低,在多个用户级线程在多核计算机上不能用。
  • 一对一:并发性高;成本大,开销大。
  • 多对多:对以上两种方式的优点进行了中和。
    在这里插入图片描述

总结

本小节学习了什么是进程,进程的特征以及进程的操作、控制、通信和扩展(多对多线程模型)。
这知识可真难进脑啊,救命了,博客也难写,书也难读,难以想象别人跨专业是怎么考研的。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

失舵之舟-

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

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

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

打赏作者

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

抵扣说明:

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

余额充值