进程的概念与创建,孤儿进程与僵尸进程的认识,进程的优先级

进程概念

系统编程:进程概念-》进程控制-》基础io-》进程间通信-》多线程

冯诺依曼体系结构

–现代计算机硬件体系结构

计算机五大硬件单元

输入设备:键盘
输出设备:显示器
存储器:内存(中间缓冲,缓存数据,数据的吞吐量大)–外存()
运算器:cpu
控制器:

所有设备都是围绕存储器工作的
在这里插入图片描述

操作系统

–一个软件安装在计算机硬件上
目的:为了让计算机更加好用—功能:合理统筹管理计算机上边的软硬件资源
管理:先描述,在组织

在这里插入图片描述

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

管理:先描述(抽象结构体来描述硬件),在组织(多数用链表来组织)

进程

进程是什么:进程是一个运行中的程序,Linux是一个多任务操作系统,表示有大量的程序需要被cpu调度运行,这时侯cpu使用了分时技术,分别轮询处理每一个程序,在进程程序切换调度时,需要记录运行信息,因此操作系统在调度进程在cpu运行时,使用pcb对运行中的程序进行描述,通过调度pcb完成对进程的调度,因此进程是pcb–先描述(使用pcb描述进程使用双向链表将pcb串起来进行管理)–pcb–task_struct

操作系统通过pcb来控制一个进程的运行,这个pcb也叫做进程描述符,描述了一个运行中的程序,在操作系统角度,进程就是pcb-task_struct

pcb中存在一个内存指针,指向当前这个进程所要运行的程序和数据在内存中的位置;
在这里插入图片描述

进程查看

ps 查看系统中所有进程信息

-ef
aux

/proc 保存系统正在运行的程序信息,
pid_t getpid() 获取调用进程pid

进程创建

创建一个进程就是创建一个pcb

fork() —通过复制调用进程(父进程)创建一个新的进程

(内存指针,上下文数据,程序计数器)

  1 //进程创建
  2 #include <stdio.h>
  3 #include <unistd.h>
  4 
  5 int main(){
  6 
  7   printf("------head line------pid:%d\n",getpid());
  8   fork();
  9   printf("------tail line------pid:%d\n",getpid());                                  
 10   return 0;
 11 
 12 }

复制父进程的pcb(意味着和父进程拥有一样的内存指针,程序计数器,上下文数据):和父进程运行相同的代码,相同的运行位置,相同的数据;

父子进程代码共享,数据独有

pid_t fork(void);

如何分辨父子进程?

通过返回值

父进程:返回子进程pid,pid>0
子进程:返回0
失败:返回-1

创建子进程的意义:

分摊压力,cpu资源足够的情况下,父子进程t同时处理数据
希望完成其他任务

进程状态

就绪,运行,阻塞

Linux进程状态

运行态®
可中断睡眠态(S)
不可中断睡眠态(D)
停止态(T):kill -9 pid
僵死态(Z)
死亡态(X)
追踪态(t)

僵尸进程(处于僵死态的进程)—进程退出但是资源没有完全释放(没有完全退出)

**如何产生僵尸进程:**子进程先于父进程退出,将自己的退出原因,保存在pcb中,操作系统检测到了子进程的退出,因为父进程有可能关注退出原因,所以不敢随意的释放所有资源,通知父进程子进程的退出,但是这是父进程可能还在执行其他任务,没有关注到这个通知,导致子进程退出了,但是资源一直没有释放,处于僵死状态,成为僵尸进程

#include <stdio.h>
  2 #include <unistd.h>
  3 #include <stdlib.h>
  4 
  5 int main(){                                                                          
  6   int pid=fork();
  7   if(pid<0){
  8     return 1;
  9   }
 10   else if(pid==0){
 11     sleep(5);
 12     exit(0);
 13   }
 14   while(1){
 15     sleep(1);
 16   }
 17   return 0;
 18 }

shell脚本查看进程代码
while [ true ] ;do clear; ps aux |grep zombie; sleep 0.5;done

危害: 资源泄露;一个用户能够创建的进程是有限的,可能导致新进程创建失败;
处理: kill父进程
如何避免: 进程等待

孤儿进程

父进程先于子进程退出,子进程成为孤儿进程,运行在后台;父进程就成为1 号进程

守护进程/精灵进程: 特殊的孤儿进程(脱离终端,脱离登陆回话的孤儿进程)

进程的优先级

通过一个评级来决定一个进程的cpu资源优先分配权

为了让计算机运行的更加合理(因为进程的性质各有不同–批处理/交互式)

查看: ps -l

PRI 优先级的值

修改:优先级无法直接修改,但是可以通过修改NI的值,来调整PRI的值

PRI =PRI + NI

renice -n ni_val -p pid

nice -n ni_val ./main

nice值的范围:-20~19

优先级更多的是针对cpu密集型程序(对cpu资源要求不高)
磁盘密集型程序因为本身对cpu资源要求就不是很高,因此大多情况下,没必要调整。

竞争性: 独立性: 并行 并发

环境变量:保存有设置操作系统并行环境参数的变量(键值对)

env 查看环境变量
echo
set 查看环境变量和普通变量

export:设置环境变量

unset:设置环境变量

其他环境变量 HOME SHELL PATH

环境变量在代码中的操作/特性

全局特性—继承

程序地址空间

地址:内存区域的编号
—进程的虚拟地址空间—内存描述符–mm_struct
操作系统通过mm_struct结构体给进程描述一个虚拟的地址空间
mm-struct{
ulong size;
ulong code_start
ulong code_end;
ulong data_start;
ulong data_end:
}
同一个变量,地址相同,其实是虚拟地址相同,内容不同其实是被映射到了 不同的物理地址!
在这里插入图片描述

虚拟地址空间+页表:提高内存利用率,对内存访问进行控制
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值