摘要:
覆盖技术 目标 在较小的可用内存中运行较大的程序。常用于多道程序系统,与分区存储管理配合使用。 原理 把程序按照其自身的逻辑结构,划分为若干个功能上相对独立的程序模块,那些不会同时执行的模块共享同一块内存区域,按时间先后来运行。 必要部分(常用功能)的代码和数据常驻内存。 固定区:调入后就不再调出( 阅读全文
摘要:
什么是死锁 在并发环境下,各进程因竞争资源而造成的一种互相等待对方资源,导致各进程都阻塞,都无法向前推进的现象。 发生死锁后,若无外力干涉,这些进程都将无法向前推进。 进程死锁、饥饿、死循环的区别 死锁:各进程互相等待对方手里的资源,导致各进程阻塞,都无法向前推进的现象。 饥饿:由于长期得不到想要的 阅读全文
摘要:
连续内存分配的缺点 分配给一个程序的物理内存是连续的 内存利用率较低 有外碎片、内碎片的问题 非连续内存分配的优点 一个程序的物理地址空间是非连续的 更好的内存利用和管理 允许共享代码与数据 支持动态加载和动态链接 非连续内存分配的缺点: 如何建立虚拟地址和物理地址之间的转换(硬件方案、软件方案) 阅读全文
摘要:
页面置换算法的功能 当缺页中断发生时,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。 页面置换算法的目标 尽可能的减少页面的换进换出次数(即缺页中断的次数)。 最佳置换算法(OPT) 当一个缺页中断发生时,对于保存在内存当中的每一个页面,计算在他的下一次访问之前,还需等待多长时间。从 阅读全文
摘要:
什么是库? 库是现有的、成熟的、可以复用的代码。现实中每个程序都要依赖很多的底层库。 本质上来讲,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 将一个源文件编译链接成一个可执行文件的步骤: 静态链接 为什么要进行静态链接 在实际开发中,不可能将所有代码放在一个源文件中,所以会出现多个 阅读全文
摘要:
1. 主键、外键、超键、候选键 超键:在关系表中能唯一标识元组的属性集称为关系模式的超键。一个属性可以作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。 候选键:是最小的超键,即没有冗余元素的超键。 主键:数据库表中对存储数据对象予以唯一和完整标识的数据列或属性的组合。一个数 阅读全文
摘要:
1. mysql有三种锁的级别? 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间介于表级锁和行级锁之间;会出现死锁;锁定粒度介于表级锁和行级锁之间,并发 阅读全文
摘要:
1. 什么是事务? 事务是对数据库中一系列操作进行统一回滚或者提交的操作,主要用来保证数据的完整性和一致性。 2. 事务四大特性(ACID)原子性、一致性、隔离性、持久性? 2.1 原子性(Atomicity): 原子性是指事物包含的所有操作要么全部成功,要么全部失败回滚,因此事物的操作如果成功就必 阅读全文
摘要:
1. 什么是索引? 数据库索引,是数据库管理系统中一个排序的数据结构,索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是算法。 阅读全文