By cszhao1980
Swap in/out指的是进程在物理内存(core空间)和磁盘交换文件间的双向移动过程,进程在active状态时,
其segment必然被swap in内存空间(core空间),而一旦处于非活动状态就有可能被swap out到磁盘交换
文件中。换进换出的过程必然涉及到磁盘io——这可看作是比较低层的操作,因此,这部分内容可以分
为两部分:高层的模型和低层的实际io。
1 高层模型
Unix使用“swapmap”这个高层模型来记录swap区域,swapmap类似coremap,都是map结构:
2515: struct map
2516: {
2517: char *m_size;
2518: char *m_addr;
2519: };
区别是:
(1) swap map的m_size的单位是“磁盘块”,即512个字节;
(2) swap map的m_addr为