摘要: 大文件排序 阅读全文
posted @ 2019-05-23 20:13 前进的code 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 参考(都有些错误):https://github.com/guanjunjian/Interview-Summary/blob/master/notes/algorithms/%E7%BB%8F%E5%85%B8%E7%AE%97%E6%B3%95/01%E8%83%8C%E5%8C%85.mdhttps://blog.csdn.net/na_beginning/article/details/6... 阅读全文
posted @ 2019-05-23 20:11 前进的code 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 1、概念 内存映射I/O(MMIO)【统一编址】和端口映射I/O(PMIO)【独立/单独编址】是两种互为补充的I/O方法,用于设备驱动程序和设备通信,即在CPU和外部设备之间。 (1)在MMIO中,内存和I/O设备共享同一个地址空间。 MMIO是应用得最为广泛的一种IO方法,它使用相同的地址总线来处 阅读全文
posted @ 2019-03-27 16:16 前进的code 阅读(3675) 评论(0) 推荐(1) 编辑
摘要: 1、IO虚拟化的分类 (1)全虚拟化:宿主机截获客户机对I/O设备的访问请求,然后通过软件模拟真实的硬件。这种方式对客户机而言非常透明,无需考虑底层硬件的情况,不需要修改操作系统。 QEMU模拟I/O的情况下,当客户机中的设备驱动程序(device driver)发起I/O操作请求之时,KVM模块中 阅读全文
posted @ 2019-03-27 16:13 前进的code 阅读(3381) 评论(0) 推荐(0) 编辑
摘要: 1、QEMU创建虚拟机发起:kvm_ioctl(s, KVM_CREATE_VM, type); KVM中kvm_dev_ioctl判断参数-》kvm_dev_ioctl_create_vm-》kvm_create_vm该函数中创建并初始化了对应qemu模拟的内存条模型kvm->memslots【k 阅读全文
posted @ 2019-03-27 16:11 前进的code 阅读(1777) 评论(0) 推荐(0) 编辑
摘要: qemu负责模拟虚机的外设,因此虚机的线性地址空间主要由qemu进行管理,也就是确定线性地址空间中哪段地址属于哪个设备或者DRAM或者其他的什么。 1、数据结构 1、RAMBLOCK (最直接接触host内存,有hva) RAMBLOCK才是真正分配了host内存的地方,如果把它直接理解成一个内存条 阅读全文
posted @ 2019-03-27 16:10 前进的code 阅读(5067) 评论(0) 推荐(0) 编辑
摘要: kvm是一个内核模块,它实现了一个/dev/kvm的字符设备来与用户进行交互,通过调用一系列ioctl函数可以实现qemu和kvm之间的切换。 1、qemu发起KVM_CREATE_VM的ioctl创建虚拟机 qemu从vl.c/main开始,通过configure_accelerator根据当前c 阅读全文
posted @ 2019-03-27 16:02 前进的code 阅读(2936) 评论(0) 推荐(0) 编辑
摘要: 最长公共子序列 寻找两个给定序列的子序列,该子序列在两个序列中以相同的顺序出现,但是不必要是连续的 举例:X=ABCBDAB,Y=BDCABA。序列 BCA是X和Y的一个公共子序列,但不是X和Y的最长公共子序列,子序列BCBA是X和Y的一个LCS,序列BDAB也是 解法:动态规划是为了降低时间复杂度 阅读全文
posted @ 2019-03-26 11:25 前进的code 阅读(1582) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-03-20 19:47 前进的code 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-03-20 09:30 前进的code 阅读(2) 评论(0) 推荐(0) 编辑