C++开发学习路线04:操作系统篇

0x01:操作系统(12个问题)

1、 进程和线程的区别?
1:一个线程属于一个进程,一个进程可以包括多个线程
2:一个线程挂掉,对应的进程挂掉;一个进程挂掉,不会影响其他进程。
3:进程是系统资源调度的最小单位;线程CPU调度的最小单位。
4:进程在执行时拥有独立的内存单元,多个线程共享进程的内存,如代码段、数据段、扩展段;但每个线程拥有自己的栈空间。
5:进程切换时需要刷新TLB并获取新的地址空间,然后切换硬件上下文和内核栈,线程切换时只需要切换硬件上下文和内核栈。
2、进程地址空间里面有什么东西?
代码段 常量区 静态全局区(data bss) 堆区 共享区 栈区 内核空间
PCB中的:进程id 进程状态 进程切换时需要保存的寄存器组 文件描述符 页表等
3、线程的栈里面有哪些东西?
局部变量 函数参数 返回值等
4、 fork的原理是什么?
pid_t fork() 返回值是进程描述符PID 返回值有三种情况
对于父进程:fork()返回子进程的PID
对于子进程:调用成功返回0
创建出错 返回-1;
Fork() 创建进程后 为这个进程分配空间 将父进程的内容复制到子进程
包括数据段和堆栈段 共享代码段。最后fork会返回两次
5、进程间通信有哪些方式?
管道:无名管道(亲

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值