• CMU15-445笔记4——Buffer Pools

    1. Buffer Pool Manager1.1 Buffer Pool Organization我们为buffer pool分配一块大的内存,并将我们从磁盘中读取到的所有page放入里面。这段内存是由数据库系统来控制的,而不是操作系统。我们将bu...
  • MIT6.824笔记1——Introduction

    Introduction分布式系统的特点: parallelism fault tolerance physical security / isolated 分布式系统面临的挑战: concurrency partial fa...
  • CMU15-445笔记3——Database Storage

    1. 数据库系统设计数据库系统设计目标:给应用程序一个错觉,即我们能提供足够的内存将整个数据库存入内存中。 1.1 整体的设计架构: 图1:简单数据库的整体架构 在硬盘中有数据库文件,其由目录和页(也可以说是块)组成;在内存中有一个缓存池,用来缓存...
  • CMU15-445笔记2——Advanced SQL

    Relational Languages Data Manipulation Language:数据操作语言,例如insert、update、delete和select这些命令来操作存在于数据库中的数据。 Data Definition Langua...
  • CMU15-445笔记1——Introduction

    1. 为什么需要数据库如果使用csv file而不使用数据库 1.1 数据一致性 多个csv文件中相关联的多条数据之间不冲突 对于csv文件中字段进行非法的字符修改 我们如何能够存储多个内容到一个字段(比如书的作者可能有多个,我们要存储所有这些作者名...
  • nfs环境搭建

    nfs环境搭建我启动两台qemu虚拟机(linux kernel),一台作为服务器端,一台作为客户端搭建了NFS环境,并尝试进行了使用。 在服务器端和客户端操作:安装nfs-server包(同时包括了客户端软件和服务器端软件) 1apt-get i...
  • 内核编译、启动以及gdb内核调试环境构建

    1. 相关软件包环境以及目录结构Qemu:QEMU emulator version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6) GDB:GNU gdb (Ubuntu 12.0.90-0ubuntu1) 12.0.90 提...
  • gdb入门系列5

    GDB入门系列5改变程序的执行一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有...
  • gdb入门系列4

    GDB入门系列4查看运行时数据在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:print / 。 一、表达式 print和许多GDB...
  • gdb入门系列3

    GDB入门系列3查看栈信息概要 backtrace(缩写为bt)打印当前的函数调用栈的所有信息。 backtrace n是一个正整数,表示只打印栈顶上n层的栈信息。 backtrace <-n> -n表一个负整数,表示只打印栈底下n...