linux中的进程是什么

发布时间:2020-07-02 11:29:15 作者:Leah
来源:亿速云 阅读:131

linux中的进程是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

进程,通俗来说,就是进行中的程序,运行中的程序,又叫PCB(process control block)

在linux操作系统下描述进程的是一个名叫task_struct的结构体,那么这个结构体中包含哪些东西呢?

都知道程序要运行,肯定首先得将磁盘中相应的可执行文件加载到内存中,那么我们怎么知道它在内存中哪儿呢?这个时候就需要通过一个叫做进程标识符(pid)的东西来找到它。就像我们人一样,有代表自己身份的东西,即身份证。

找到了程序在哪儿之后,想要执行的话,肯定得知道相应的代码及代码依赖的数据吧,所以内存指针就诞生了。内存指针就是用来指向程序的代码及相应的数据的。此时程序便可以运行了。

但是由于进程众多,而一般中央处理器CPU只有一个,要想保证众多进程的顺利实现,就需要有一个进程间执行的先后顺序,即优先级。有了优先级之后实现多进程就容易得多。

但是值得注意的是,CPU并不是将一个进程执行完了才执行下一个哦,它会在一个程序执行了一段时间以后执行下一个进程,当下一个进程又执行了一段时间以后接着执行后续进程。此时就会出现一个问题,一个未执行完的程序当想要再次接着之前的地方执行该怎么办呢?不用担心,我们会用“上下文”来保护现场。

前面又说到一个程序要被执行一段时间以后CPU才会接着执行下一个程序,那么一个程序该执行多长时间才会让出CPU呢?这里我们用“记账信息”来记录这个时间。

此外,进程在执行的时候又会出现许多状态,如就绪状态(R),可中断睡眠状态(S),不可中断睡眠状态(D)等等,所以结构体中还会记录进程的状态。当然还有I/O状态信息,即标准输入,标准输出,标准错误输出。

综上,一个描述进程的结构体task_struct中包含有以下部分:

● 标识符:用来记录进程的id,即pid

● 内存指针:指向程序代码及相关数据等等

● 优先级;

● 上下文:保存了该进程上次在CPU的执行现场

● 记账信息:记录了一个进程何时应该让出CPU

● 状态:记录进程的相关状态

●  I/O状态信息;

● 信号相关信息

关于linux中的进程是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. java中的进程是什么
  2. linux中守护进程和后台进程的区别是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux 进程 inux

上一篇:Linux系统的定义和特点

下一篇:jsp 总结

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》