Linux进程概念

操作系统

概念:操作系统是一个软件,是管理和控制计算机硬件与软件资源的计算机程 序,它的目的就是为了让计算机更加的好用,方便用户对计算机的使用。

Linux

概念:Linux操作系统是一个多用户多任务的一个开源的操作系统。

库函数与系统调用接口

概念:库函数是对系统调用接口的一层封装,他们是上下级调用关系,库函数调用了系统调用函数。

进程与程序

程序:程序就是编译好的二进制文件,在磁盘上,不占用系统资源
进程:从用户角度来说进程就是正在运行中的程序,从操作系统得到角度来说进 程就是操作系统对运行中的程序的描述信息,我们也把这个信息叫做PCB.

单道程序设计

概念:所有进程一个一个排对执行。若A阻塞,B只能等待,即使CPU处于空闲状态。而在人机交互时阻塞的出现时必然的。所有这种模型在系统资源利用上及其不合理,在计算机发展历史上存在不久,大部分便被淘汰了。

多道程序设计

概念:在计算机内存中同时存放几道相互独立的程序,它们在管理程序控制之下,相互穿插的运行。多道程序设计必须有硬件基础作为保证。时钟中断即为多道程序设计模型的理论基础。 并发时,任意进程在执行期间都不希望放弃cpu。因此系统需要一种强制让进程让出cpu资源的手段。时钟中断有硬件基础作为保障,对进程而言不可抗拒。 操作系统中的中断处理函数,来负责调度程序执行。在多道程序设计模型中,多个进程轮流使用CPU (分时复用CPU资源)。而当下常见CPU为纳秒级,1秒可以执行大约10亿条指令。由于人眼的反应速度是毫秒级,所以看似同时在运行。

  • CPU

在这里插入图片描述

  • MMU

在这里插入图片描述
注:分时复用:CPU采用分时技术来处理多个进程,给每个进程分配极短的时间并且快速切换,往复操作,则就能处理多个进程,看起来就像是多个进程在同时运行一样。

进程控制块PCB

我们知道,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。
/usr/src/下中可以查看struct task_struct 结构体定义。其内部成员有很多,如下:

  • 进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。
  • 进程的状态,有就绪、运行、挂起、停止等状态。
  • 进程切换时需要保存和恢复的一些CPU寄存器。
  • 描述虚拟地址空间的信息。
  • 描述控制终端的信息。
  • 当前工作目录(Current Working Directory)。
  • umask掩码。
  • 文件描述符表,包含很多指向file结构体的指针。
  • 和信号相关的信息。
  • 用户id和组id。
  • 会话(Session)和进程组。
  • 进程可以使用的资源上限(Resource Limit)。

查看进程

ps命令

  • ps -ef
  • ps -aux
  • /proc

在这里插入图片描述
其中PID就是进程id

获取进程ID

  • getpid()函数:获取进程ID
  • getppid()函数:获取父进程ID
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值