Linux的进程

进程属性

  1. 多任务 vs 单任务 (并发vs并行)(调度:抢占vs非抢占)
  2. 进程的特点:每个进程拥有独立的虚拟地址空间 4G(内核态:1G 用户态:3G(栈,堆,数据段(bss、or、静态数据区)))
  3. 进程pid:每个进程创建都有自己的id号 getpid getppid(获得父进程的id)
  4. 进程控制块(PCB):每个进程创建都会有自己进程控制块(struct task_struct)(pid\ppid\pd\parent\child\os\mem)
  5. 如何创建进程?(对于开发人员,只需要知道如何创建进程,只有进程的调度由os决定)
  6. fork:创建进程

ps:
vfork:创建子进程结束之后,父进程执行;子和父共享内存空间

进程退出

  1. exit和_exit
  • exit:库函数,里面封装了_exit();
  • _exit:系统调用接口API
  1. 功能的区别:
  • _exit函数退出进程,不会使进程刷新缓冲区;
  • exit函数在调用_exit后会刷新缓冲区

进程运行

  1. exec和system
    system:在进程中,运行一个程序
    exec函数族:execl()
  2. 区别:
  • system执行的进程不会覆盖原有进程的代码,也就是说不会产生新的进程,pid不会发生改变;
  • exec函数zu:覆盖原有进程的代码段,创建了新的进程,pid发生了变化

ps:
0号进程:调度
1号进程:所有进程的父进程,清除内存
2号进程:页转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值