首页
学习
活动
专区
工具
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
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ucore-lab7

    自行填写,懒得找了,可以参考kiprey 练习一 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题(不需要编码) 完成练习0后,建议大家比较一下(可用meld等文件diff比较软件)个人完成的lab6...和练习0完成后的刚修改的lab7之间的区别,分析了解lab7采用信号量的执行过程。...练习二 练习二2: 完成内核级条件变量和基于内核级条件变量的哲学家就餐问题(需要编码) 首先掌握管程机制,然后基于信号量实现完成条件变量实现,然后用管程机制实现哲学家就餐问题的解决方案(基于条件变量)...请在实验报告中给出内核级条件变量的设计描述,并说明其大致执行流程。 请在实验报告中给出给用户态进程/线程提供条件变量机制的设计方案,并比较说明给内核级提供条件变量机制的异同。...关于 能否不用基于信号量机制来完成条件变量?如果不能,请给出理由,如果能,请给出设计说明和具体实现。 ,个人认为,条件变量实质上可以看作信号量的简陋版本。

    92630

    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有很多文件不同,记得只能修改上述三个文件。...kern/mm/pmm.c找到get_pte函数,根据注释不难写出: pte_t * get_pte(pde_t *pgdir, uintptr_t la, bool create) { /* LAB2...然后lab2提了一个问题,如何使虚拟地址与物理地址相等? 显然,由于我们现在的ucore是通过虚拟地址到物理地址的映射实现的内存管理,如果要取消该映射,我们应该反向查找lab2中的映射方式。...首先是更改内核的加载地址为0,在lab2-copy中更改tools/kernel.ld,把内核的加载地址由0xc0100000修改为0x0,之后修改内核偏移地址,在kern/mm/memlayout.h

    64130

    ucore-lab1

    这是CPU执行指令期间检测到不正常的或非法的条件(如除零错、地址访问越界)所引起的内部事件。 陷入中断(trap interrupt)。这是在程序中使用请求系统服务的系统调用而引发的事件。...在os_kernel_lab-master/labcodes/lab1/Makefile中,可以找到要分析的makefile。 makefile的结构如下: target......seek=1 conv=notrunc $(call create_target,ucore.img) 其中dd命令和cp差不多,但dd更多的针对底层文件的复制. if和ifeq差不多,仍是实现条件判断的语句.../labcodes/lab1/bin/ucore.img -s -S -d in_asm -D q.log 打开ucore,打开gdb,输入target remote localhost:1234 ,...*((uint32_t *)tf - 1) = (uint32_t)&switchk2u; } //实质只是通过改变段来改变权级 break; 以及: static void lab1

    1.9K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券