# 7 分页和分段

# 分页: 用户程序的地址空间被划分成若干固定大小的区域，称为“页”，相应地，内存空间分成若干个物理块，页和块的大小相等。可将用户程序的任一页放在内存的任一块中，实现了离散分配。

# 分段: 将用户程序地址空间分成若干个大小不等的段，每段可以定义一组相对完整的逻辑信息。存储分配时，以段为单位，段与段在内存中可以不相邻接，也实现了离散分配。

# 分页与分段的主要区别

# 页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片问题,或者说分页是由于系统管理的需要.段是信息的逻辑单位,它含有一组意义相对完整的信息,分段的目的是为了更好地实现共享,满足用户的需要.
# 页的大小固定,由系统确定,将逻辑地址划分为页号和页内地址是由机器硬件实现的.而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分.
# 分页的作业地址空间是一维的.分段的地址空间是二维的.
# 8 页面置换算法

# 最佳置换算法OPT:不可能实现
# 先进先出FIFO
# 最近最久未使用算法LRU:最近一段时间里最久没有使用过的页面予以置换.
# clock算法
# 9 边沿触发和水平触发

# 边缘触发是指每当状态变化时发生一个 io 事件，条件触发是只要满足条件就发生一个 io 事件

# 数据库

# 1 事务

# 数据库事务(Database Transaction) ，是指作为单个逻辑工作单元执行的一系列操作，要么完全地执行，要么完全地不执行。
# 彻底理解数据库事务: http://www.hollischuang.com/archives/898

# 2 数据库索引

# 推荐: http://tech.meituan.com/mysql-index.html

# MySQL索引背后的数据结构及算法原理

# 聚集索引,非聚集索引,B-Tree,B+Tree,最左前缀原理