2.25——进程

1. 进程的概念

进程是LInux事务管理的基本单元,所有的进程均有自己独立的处理环境和系统资源。进程的环境由单钱系统状态及其父进程信息决定和组成。系统的第一个进程init有内核产生,以后所有的进程都是通过fork()/vfork()创建。系统在内核头文件中定义了进程控制PCB结构体struct tack_struct来管理每个进程的资源。

进程是资源分配的最小单元

2. 进程和程序的区别

  1. 进程是动态的,而程序是静态的
  2. 进程是暂时的,而程序是长久的
  3. 进程需要在内存中运行,是不可以在计算机之间迁移的
  4. 一个程序可以对应多个成不成,一个进程可以对应多个程序(如多文件编译)

3. 进程的生命周期

  • 创建
  • 运行
  • 撤销

4. 进程的状态

执行:程序正在占用CPU

就绪:进程已具备一切条件,正在等待分配CPU的处理时间片

等待:进程不能使用CPU,若等待时间发生则可将其唤醒

5. 什么是进程互斥

进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻做多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了盖子也为止。

6. 进程同步

一组并发进程按一定的允许执行的过程成为 进程贱的同步具有同步关系一个并发进程成为合作进程,合作进程间互相发送的信号成为消息或事件。

7. 进程调度

按一定算法,从一组待运行的进程中选出一个来占有CPU运行。

调度方式:

  • 抢占式
  • 非抢占式

8. 进程调度算法有哪些

  • 先来先服务调度算法
  • 短进程优先调度算法
  • 高优先级优先调度算法
  • 时间片轮转法

9. 什么是死锁

多个进程因竞争资源而形成一个僵局,若无外力作用,这些进程豆浆永远不能再向前推进。

10. fork()与vfork()的区别

  1. fork()函数使用写时拷贝技术
  2. fork()函数拷贝父进程的数据段、堆、栈,不完全拷贝父进程的代码段
  3. vfork()函数子进程共享父进程的4G虚拟内存
  4. fork()函数的父、子进程执行顺序不全定
  5. vfork()函数的父、子进程执行顺序为:子进程先执行,父进程后执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值