linux进程概念 - Go语言中文社区

linux进程概念


Linux进程概念(一)

学习进程概念首先我们先得了解下冯诺依曼体系结构

冯诺依曼体系结构:现代计算机硬件体系结构

计算机五大硬件单元:输入设备(键盘等)、输出设备(显示器等)、存储器(内存-外存)、运算器CPU)、控制器

所有设备都是围绕存储器工作的
在这里插入图片描述
操作系统:在计算机硬件上安装的一个软件,目的是为了更好地操作计算机,合理统筹管理计算机上边的软硬件资源。

管理:先描述,在组织 使用pcb描述进程,使用双向链表将pcb串联起来进行管理
在这里插入图片描述
了解到以上两个内容,再来看进程这个概念:
进程:可以简单理解为进行中的程序,在linux下进程就叫“task_struct”

在这里插入图片描述

打开任务管理器,我们可以看到进程,进程下列出的就是我们电脑运行的程序,
在操作系统中,操作系统通过pcb来控制一个进程的运行,pcb也叫*“进程描述符”*,用来描述运行中的程序,在操作系统角度,进程就是pcb,pcb 中有一个内存指针,指向了当前进程要运行的位置。
而CPU采用CPU分时机制,切换调度进程,每个进程只运行一小段时间(时间片),从而达到多个程序同时运行。
除了内存指针,分时机制外,进程的运行还与程序计数器、上下文数据、标识符pid、进程状态、优先级、IO状态信息、记账信息有关。
在这里插入图片描述
查看进程的方式:

ps -ef aux 查看系统所有进程信息
/proc 保存系统中正在运行的程序信息(内存地址)
pid_t getpid() 获取调用进程的pid(在代码中使用)

创建进程:创建一个进程(pcb)

fock()-----通过复制调用进程(父进程)创建一个新的进程(子进程)。那么子进程与父进程拥有一样的内存指针,上下文数据,程序计数器,和父进程运行相同的代码,一样的运行位置,处理一样的数据,但是要注意父子进程“数据是独有”的

如何分辨父子进程数据是独有的:(返回值)
父进程:返回子进程的pid,pid>0
子进程:返回0
失败:返回-1

创建子进程的意义:子进程完成的功能和父进程是一样的,可以为父进程分担压力,提高效率,也可以用来完成其他任务。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43755584/article/details/90291832
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢