操作系统 知识点

1、进程内存分布

对于32位系统 进程的虚拟内存空间有4G,其中内核空间占高位地址的1G,用于:进程管理、内存管理、设备管理和虚拟文件系统等,3G的用户空间程序上是连续的,实际物理内存不一定连续,进程内部从低位到高位依次是.data段,.bss段,堆,mmap,栈。 linux系统下默认栈空间大小为10M,也就是系统最多分配300个线程(3G/10M)。

好处:

  • 方便编程,程序上内存地址是连续的
  • 进程之间内存隔离,每个进程都有自己的虚拟空间
  • 虚拟内存逻辑上扩大了内存,通过换入换出来置换用不到和用到的数据,内存利用更加高效

(1)进程切换后为什么变慢了?

进程虚拟地址空间到物理地址的映射是通过查找页表实现,每个进程都有自己的页表,页表占用一定内存,切换存在耗时;同时为了加速页表查找,用TLB将常用地址映射cach住,进程切换后TLB失效了需要重新缓存,所以变慢。现成切换时TLB不会失效,所以切换比进程切换要快。

(2)进程通信方式

  • 管道:只能用于血缘关系的进程间通信,命名管道能用于普通进程间通信;
  • 信号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值