简述操作系统中的进程

1.设计操作系统的目的

  • 与硬件交互,管理所有的软硬件资源(对内且对下)
  • 为用户程序(应用程序)提供一个良好的执行环境(对外且对上)

2.操作系统中的进程
2.1
对于操作系统来说,一个任务便是一个进程。并且进程是具有动态性的,进程是担任系统分配资源的实体。
我们要知道进程不是可执行文件(.exe),而是我们双击这个可执行文件的时候,而是在执行这个可执行文件的时候所产生的,成为了一个进程。
进程是分配操作系统资源的最小单位

2.2如何描述进程
我们以Linux为例子

  • 内核中使用一个PCB(进程控制块)结构体来描述进程。每当创建一个进程,就会同时创建一个PCB这个样的实例
  • 而其内核会使用一个双向链表将所有的PCB对象串到一起,双击一个exe,创建一个进程的时候,本质上就是在内核中,先创建一个PCB对象,然后把这个对象加入到链表中。关闭一个程序,结束一个进程的时候,本质上就是在内核中找到这个PCB对象,然后从链表上删掉,并且释放该对象。
  • 而我们通过任务管理器查看到所有的进程信息,本质上就是在遍历内核中这个链表。依次读取对应PCB中的节点信息。

2.3 PCB中包含了哪些信息

  • (1) pid,进程id,进程的身份标识。
  • (2) 一组内存指针,指向该进程持有的一些重要数据在内存中的位置,(重要数据一是执行的指令都有啥,二是这些指令依赖的数据是啥)
  • (3) 状态(就绪:进程处于可运行的状态,只是CPU时间片还没有轮转到该进程,则该进程处于就绪状态;
    运行:进程处于可运行的状态,且CPU时间片轮转到该进程,该进程正在执行代码,则该进程处于运行状态。
    阻塞:进程不具备运行条件,正在等待某个事件的完成)
  • (4)优先级(这个进程在cpu上是先上还是后上)
  • (5)进程中的记账信息(记录了进程在CPU上的执行进度,以便下次进程上CPU的时候能够继续执行)
  • (6)上下文(保存了上次进程在CPU上的进度,以便下次进程在CPU的时候能够继续执行)

2.4 内核与用户态

  • 一段代码我们可以感知到,我们所操作的,相当于代码在用户态操作,权限较低。
  • 一段代码,我们看不到,但是实实在在操作了,相当于在内核操作,权限很高。例如一些操作硬件设施的代码。

2.5并发

  • 我们在原始的计算机上执行进程是串行执行的,效率低,执行完一个进程后才可以执行另一个进程。
  • 一个电脑只有一个CPU,而进程太多,而为了高效的完成每个进程。通过“并发”的方式,让CPU快速调度,微观上仍是串行执行,但是调度速度极快,宏观上就会感觉好像多个进程齐头并进。(就像一个渣男(女)交往了多个女(男)友,并且将自己的时间安排的天衣无缝,不会翻车)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值