首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CSAPP lab

    CSAPP学习过程 这篇文章主要记录CSAPP书和lab的学习过程,具体某个lab的踩坑过程会分别附单独链接,本文主要是记录漫长的学习过程以及方便想学但是尚未开始学习的同学参考,以下是github的lab...image.png Todo Bilibili翻译课程 lecture 1-4 搭建实验环境 Data lab Bilibili翻译课程 lecture 5-9 Bomb lab Attack...lab 前置材料 一本CSAPP CSAPP的bilibili翻译课程 实验材料 参考经验贴1 参考经验贴2 我想做些什么 开设这个仓库是想记录我做CSAPP的lab的过程,也顺便将踩坑过程分享,帮助后人少走弯路...学习过程(以Lab为单位总结) 简单查阅别的学习经验后,大多数人的分享都说看书再多遍也不如做lab学到的多,lab是课程的精髓,我已经粗略的学过编译原理,计算机组成原理和操作系统,所以我会比较快速的过一遍网课然后开始...lab,目标3个月完成大多数的lab(也许有一些实在不感兴趣的lab会跳过) Timeline 2022-03-30 完成Datalab 2022-03-28 完成实验环境搭建 2022-03-27 完成

    1K10

    数据应该免费开放?!

    电商大数据,用户大数据,搜索大数据。但是,这三家的数据结构都不完整。从数据体量上来看,腾讯、facebook、谷歌的体量比较大,但腾讯用得并不好!...中国互联网步入卖数据时代:大数据发展与经营   大数据这一块会出现两种发展模式。其一,做数据平台,其二,做数据群落。   大数据平台发展模式,有一个传统行业做大数据的典型案例--雅昌艺术网。...是指企业基于平台的数据为客户提供数据增值服务与数据运营服务。第五,数据存储。第六,数据产品,百度指数就是一例典型代表。 哪些数据最有价值?   从数据本身来看,非结构性数据的市场价值非常高。...首先,市场上80%的数据都是非结构数据,包括视频、文本、音乐、图片等都属于非结构数据。为什么非结构数据的市场价值要比结构的数据价值高呢?是因为非结构数据能实现预测。...长期来看,大数据要与传统业务整合才更有价值。   笔者认为,大数据应该是免费的,基于大数据去做传统行业,去向传统行业收钱,才是有市场前景的。

    63480

    MIT 6.830数据库系统 -- lab six

    MIT 6.830数据库系统 -- lab six 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 ---- 引言 在本实验中,我们将要实现基于日志的中止回滚和崩溃恢复。源码中提供了定义日志格式的代码,并在事务期间的适当时间将记录附加到日志文件中。...要实现的是simpledb的日志系统,以支持回滚和崩溃恢复;在lab4事务中,我们并没有考虑事务执行过程中,如果机器故障或者停电了数据丢失的问题,bufferpool采用的是no-steal/force...byte[] oldData; } 数据页一开始的旧数据是空的,那什么时候会对旧数据进行更新呢?...tid) throws IOException { // some code goes here // not necessary for lab1|lab2

    22520

    MIT 6.830数据库系统 -- lab four

    MIT 6.830数据库系统 -- lab four 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。...---- 事务 事务是一组以原子方式执行的数据库操作(例如插入、删除和读取),也就是说,要么所有的动作都完成了,要么一个动作都没有完成,而数据库的外部观察者并不清楚这些动作不是作为单个不可分割动作的一部分完成的...两阶段锁协议的主要内容如下: 在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁。在对任何数据进行读操作之前要申请获得S锁,在进行写操作之前要申请获得X锁。...tid, boolean commit) { // some code goes here // not necessary for lab1|lab2

    27030

    MIT 6.830数据库系统 -- lab two

    MIT 6.830数据库系统 -- lab two 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 Lab Two lab2必须在lab1提交的代码基础上进行开发,否则无法完成相应的练习。此外,实验还提供了源码中不存在的额外测试文件。...,主要负责维护Page数据组织格式和数据读写操作,其内部属性如下所示: public class HeapPage implements Page { final HeapPageId pid;...fetchNext方法这里就是Insert装饰器对象需要实现的方法,其内部调用被装饰器对象的next方法获取所有数据,然后执行insert操作,同时计算插入数据条数,最终返回的是插入的数据条数。...data.txt 2 "int,int" 接下来创建数据库目录文件catalog.txt: data (f1 int, f2 int) 该文件会告诉SimpleDB数据库中包含一个表:data,其结构为两个

    32030

    MIT 6.830数据库系统 -- lab three

    MIT 6.830数据库系统 -- lab 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。...本节理论基础可参考: CMU 15-445 – Query Optimization ---- 前言 我们应该在lab2的基础上进行开发,完成lab3的练习 下面是本实验的大纲: 实现TableStats...+ ntups(t1) x ntups(t2) //CPU cost ntups(t1)是表t1的元组数量 ---- 可选择性 可选择性如何理解: 可选择性指的是当前谓词匹配能够过滤出多少符合条件的数据或者过滤出的这批数据占总数据量比例是多少...* * This class is not needed in implementing lab1 and lab2. */ public class TableStats {

    27930

    MIT 6.830数据库系统 -- lab five

    MIT 6.830数据库系统 -- lab five 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 ---- 引言 在本实验中,我们将会实现B+树索引用于高效查询和范围扫描。...叶子节点可以包括数据记录或者指向其他数据库文件的指针。为了简单起见,我们实现的B+树的叶子节点只包括数据记录。...B+树内部节点是不保存数据的,只作索引作用,它的叶子节点才保存数据。...---- 小结 本节详细代码可以参考仓库lab five分支,相关类核心源码注释都已给出,大部分是笔者个人拙见,难免有错,希望大家带着辩证的视角去看待。

    23410

    LAB_3 NAT

    LAB_3 NAT 一.NAT概述... 1 二.NAT综合实验... 3 三.TCP/UDP端口NAT映射... 5 四.利用地址转换实现负载均衡... 6 一.NAT概述 ·NAT核心思想:将私网地址转换成公网地址...数据包采用内部本地地址为源地址,外部本地地址为目的地址进行封装。 (2)NAT路由器先检查在路由表中是否有包含数据包目的地址的路由表项。如果没有与目的地址相匹配的路由表顶,则该数据包被丢弃。...如果有与目的地址相匹配的路由表项,则路由器检验数据包是否是从内部网络发往外部网络的,并且检验数据包是否与已配置的NAT匹配。...如果找到了,则把数据包的源地址用内部本地全局地址替换;如果仅配置了静态NAT,而没有与数据包匹配的静态NAT表项,则数据包不被转换,而直接被路由转发。...如果没有发现与之匹配的NAT表项,数据包不被转换而直接检查与目的地址匹配的路由表。如果没有发现与目的地址路由表项,则数据包将被丢弃。 ?

    5.5K10

    免费GIS数据网址合集:freegisdata

    它提供了各种类型的GIS数据集,包括行政区划、地形、气候、土地利用、水文、交通、人口、地名等方面的数据。 这些数据集涵盖了全球范围,包括美国、加拿大、欧洲、亚洲、非洲等地区。...例如,如果你在学习城市规划,你可能需要使用该网站提供的城市人口、基础设施和交通数据集。这些数据可以帮助你了解城市的人口结构、流动性和城市基础设施的状况。...此外,该网站还提供了数据集的预览和描述,以及使用该数据的建议和技巧。这可以帮助你更好地了解数据集的内容和如何使用它们。 蓝色是网站地址超链接 该网站作者对该网站的介绍 你是谁?...正如您可能从标题中猜到的那样——我在这里只列出了免费的GIS 数据集。这个词相当含糊(问问 Richard Stallman!)...,但我在这里使用“免费啤酒”的意思,我包括为非商业目的免费提供数据的网站。有趣的是,鉴于标题,我不会链接到花钱的数据集! 有什么我可以帮忙的吗? 很高兴你问 - 当然有!

    35880

    ucore-lab2

    其他内容建议看Kiprey ucore_lab2 练习0 合并代码,直接meld然后copy to right就行,lab1修改的文件有: kern/debug/kdebug.c kern/trap/trap.c...kern/init/init.c 可以看到lab2与lab1有很多文件不同,记得只能修改上述三个文件。...返回在pgdir中对应于la的二级页表项 return &((pte_t *)KADDR(PDE_ADDR(*pdep)))[PTX(la)]; } 每一个页表项PTE都由一个32位整数来存储数据的...pages数组记载的数据和页目录项/页表项记载的数据指向的可能是同一个物理页。 然后lab2提了一个问题,如何使虚拟地址与物理地址相等?...显然,由于我们现在的ucore是通过虚拟地址到物理地址的映射实现的内存管理,如果要取消该映射,我们应该反向查找lab2中的映射方式。

    64130

    SeedLab——Spectre Attack Lab

    传统的安全防护方法通常关注于保护数据存储和传输的过程,而侧信道攻击则利用了系统在处理数据时产生的其他非直接通信渠道,如时间、功耗、电磁辐射等,来获取有关敏感数据的信息。...当数据从主内存获取时,它们通常被CPU缓存,因此如果再次使用相同的数据,访问时间会更快。因此,当CPU需要访问某些数据时,它首先查看自己的缓存。...如果数据存在于缓存中(这称为缓存命中),则直接从缓存中获取。如果数据不存在于缓存中(这称为缓存未命中),CPU将去主内存获取数据。后一种情况下所花费的时间要长得多。大多数现代CPU都具有CPU缓存。...这些秘密信息可以是另一个进程中的数据,也可以是同一进程中的数据。如果秘密数据在另一个进程中,硬件级别的进程隔离可以防止一个进程从另一个进程中窃取数据。...如果数据在同一进程中,保护通常是通过软件实现的,例如沙箱机制。Spectre攻击可以针对这两种类型的秘密发起。然而,从另一个进程中窃取数据要比从同一进程中窃取数据困难得多。

    26520

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券