❤️终于有人把进程概念讲清楚了❤️
Posted 魔动山霸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤️终于有人把进程概念讲清楚了❤️相关的知识,希望对你有一定的参考价值。
-
程序和进程有什么区别呢
程序是硬盘上是死的程序,而进程是把程序搬运到内存上,如果一个程序被多次执行,就有多个进程,每个进程都有自己的进程号 -
单道、多道程序
单道程序设计 所有进程一个一个排队执行。若A阻塞,B只能等待,即使
CPU处于空闲状态。而在人机交互时阻塞的出现是必然的。所有这种模型在系统资源利用上及其不合理,在计算机发展历史上存在不久,大部分便被淘汰了。 2 多道程序设计 在计算机内存中同时存放几道相互独立的程序,它们在管理程序控制之下,相互穿插的运行。多道程序设计必须有硬件基础作为保
证。 在计算机中时钟中断即为多道程序设计模型的理论基础。 -
并发和并行的概念
并行:某一个时刻,多个程序同时运行
并发:某一个CPU,对于多个程序,但是cpu是来回切换多个程序,这种切换的时间人眼是察觉不到的,这种情况成为并发 -
进程控制块PCB
专门来管理进行块的,维护进程相关信息,他在Linux中用 task_struct结构体来表示在 /usr/src/linux-headers-xxx/include/linux/sched.h 文件中可以查看struct task_struct 结构体定义: ubunqu@-:~/share$ vim /usr/src/linux-headers-4.10.0-28/include/linux/sched.h。里面有:进程id,有进程的状态,就绪态,运行态,挂起(进行阻塞)和停止态。还有其他的表示都在这个 task_struct里面 -
当进程建立时,操作系统会为他分配内存资源
一个进程的内存分配图
补充:打包 tar-cvf 解压:tar-zvf -
执行命令 ps -aux可查看所有进程 ps -ajx
- 进程号
pid:进程号 ppid:父进程号 pgid:进程组号,这几个进程号都有函数可以获得,具体用到再去百度 - fork创建子进程
使用fork函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间。 地址空间: 包括进程上下文、进程堆栈、打开的文件描述符、信号控制设定、进程优先级、进程组号等。 子进程所独有的只有它的进程号,计时器等
成功返回0 ,就是返回子进程的pid号,失败返回-1。失败原因是内存不够或者具有的进程数已经满了
以上是关于❤️终于有人把进程概念讲清楚了❤️的主要内容,如果未能解决你的问题,请参考以下文章