linux_进程基础概念(程序、进程、并发、单道程序设计、多道程序设计、CPU和MMU、进程控制块PCB、进程状态)

  从今天开始,linux的进程学习模块将会不断更新了,我对于基础概念就不那么详述了,但是需要学习的东西一般我都会把名词列出来,网友们可以再去查查,我就多以代码编程的形式向大家展现学习的情况。

1.程序和进程

  程序:是指编译好的二进制文件,在磁盘上,不占用系统资源。
系统资源:指cpu、内存、打开的文件、设备、锁…
  进程:是活跃的程序,占用系统资源,在内存中执行。(程序运行起来,产生一个进程)

2.并发

  并发:一个时间段中有多个进程都处于已启动的状态,即多个程序在一段时间内分时复用cpu。
  分时复用cpu:多个进程对cpu串行使用,假设将1s分为10个100ms,进程A占用第一个100ms让cpu执行,100ms后让出cpu,在让别的进程执行下一个100ms。

3.单道程序设计

  单道程序设计:进程一个一个排对让cpu执行。若进程A阻塞,进程B只能等待,直至等待进程A关闭,才能执行进程B。
不过这种程序设计已经不是主流设计了。

4.多道程序设计

  多道程序设计:多个进程轮流使用CPU (分时复用CPU资源)。当下常见CPU为纳秒级,1秒可以执行大约10亿条指令。
  时钟中断:是隔一段时间让进程强制让出cpu资源,也就是说让cpu隔一段时间中断一次,时钟中断有硬件基础作为保障,对进程而言不可抗拒。
cpu一般为纳秒级,1s约可以执行10亿条指令。
1s = 1000ms, 1ms = 1000us, 1us = 1000ns
即1s=1000000000ns
也就是说,多道程序设计在人眼中是并行,但是对于cpu来说依然是串行。

5.CPU和MMU

  CPU(中央处理器):是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元,在cpu中有多个模块,其中一个模块就是MMU。
  MMU:是内存管理单元,有时称作分页内存管理单元,一页为4k,它的功能包括虚拟地址到物理地址的转换(即虚拟内存管理)、内存保护、中央处理器高速缓存的控制等。

6.进程控制块PCB

  对于计算机来说,每一个进程,都会有一个对应的进程控制块(PCB) 来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体,例如有:进程id、进程的状态…
  在 /usr/src/linux-headers-3.16.0-30/include/linux/sched.h文件中可以查看struct task_struct 结构体定义。

7.进程状态

  进程基本的状态有5种。分别是初始态,就绪态,运行态,挂起态与终止态。其中初始态为进程准备阶段,常与就绪态结合来看,也就是说将初始态和就绪态放在一起,进程的状态也可以说是有4种。

今天概念分享就到这了,都是一些概念性东西,接下来的分享就是编程代码了,有兴趣的网友可以关注学习,也可以从博主的CSDN发布目录种寻找自己感兴趣的模块进行学习。

此博主在CSDN发布的文章目录:【我的CSDN目录,作为博主在CSDN上发布的文章类型导读

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

futureCode.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值