操作系统

操作系统

虚拟内存

虚拟内存使每个进程认为其独占一个连续的大块的地址空间,即为虚拟地址空间,而在真实使用内存时通过页表寻找虚拟地址所对应的实际物理地址,可能是内存中不连续的或者硬盘中的内容,当所需内容不在内存中时通过缺页置换,将内容装载到空闲空间中或者将未使用内容换出到硬盘,需要内容放入内存。

虚拟内存讲一下
https://blog.csdn.net/dianxin113/article/details/107689205
虚拟内存是操作系统内存管理的一种技术,虚拟地址空间构成虚拟内存。使应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上通过虚拟地址映射到的可能是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上(Swap),在需要时进行数据交换。物理内存中,每个进程都有自己的页表,实现虚拟内存和物理内存的映射,页表命中时直接访问,未命中则需要缺页置换

Cache


CPU要读数据首先是在cache中读,如果cache命中,也叫cache hit,CPU就可以极快的得到该地址处的值。如果cache miss 也就是没有命中,它就会通过总线在内存中去读,并把连续的一块单元加载到cache中,下次好使用。
LRU (英文:Least Recently Used), 意为最近最少使用,这个算法的精髓在于如果一块数据最近被访问,那么它将来被访问的几率也很高,根据数据的历史访问来淘汰长时间未使用的数据。
1.新添加的数据放在头部 2.被访问到的数据放在头部3.超过最大缓存量的数据将被移除。
 

进程间通信

管道

命名管道

信号量

共享内存

IO多路复用

将用户socket对应的fd注册进epoll,然后epoll帮你监听哪些socket上有消息到达,这样就避免了大量的无用操作。此时的socket应该采用非阻塞模式
这样,整个过程只在调用select、poll、epoll这些调用的时候才会阻塞,收发客户消息是不会阻塞的,整个进程或者线程就被充分利用起来,这就是事件驱动,所谓的reactor模式。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值