更新下本实验室的两款开源工具箱的进展: 1 - AR lab 效果演示 ? 我一直有关注AR领域的创新,尤其是多屏联动、实时互动、图像分割算法等技术。
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 完成
To get his first Pokemon, he went to Professor Zulu's Lab....Since Bash is Professor Zulu's favourite student, Zulu allows him to take as many Pokemon from his lab...But Zulu warns him that a group of k > 1 Pokemon with strengths {s1, s2, s3, ..., sk} tend to fight among...However, he also wants to maximize the number of Pokemon he takes from the lab....The first line contains an integer n (1 ≤ n ≤ 105), the number of Pokemon in the lab.
自行填写,懒得找了,可以参考kiprey 练习一 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题(不需要编码) 完成练习0后,建议大家比较一下(可用meld等文件diff比较软件)个人完成的lab6...和练习0完成后的刚修改的lab7之间的区别,分析了解lab7采用信号量的执行过程。...//看注释知道要做什么 void cond_signal (condvar_t *cvp) { //LAB7 EXERCISE1: YOUR CODE cprintf("cond_signal...Notice: mp is mutex semaphore for monitor's procedures void cond_wait (condvar_t *cvp) { //LAB7 EXERCISE1
实验是基于Linux x86-64的,其中bomb文件是一个64位的可执行程序,bomb.c文件是一个C语言程序,其中包含了main函数以及其他许多函数。该实验...
首先先介绍一款工具,个人觉得老牛逼——Netdiscover,之前我询问一哥们arp扫描工具时他推荐的。
LAB_3 NAT 一.NAT概述... 1 二.NAT综合实验... 3 三.TCP/UDP端口NAT映射... 5 四.利用地址转换实现负载均衡... 6 一.NAT概述 ·NAT核心思想:将私网地址转换成公网地址...二.NAT综合实验 实验一: 申请一条ADSL线路,在局域网内使用RIP做路由, 用NAT使192.168.1.0/26网段用户能上网, 同时在LAN内搭建一台WEB服务器和一台DHCP服务器, 使用静态...NAT做端口地址重定向使外网用户能够访问WEB服务器 配置如下所示 ?...图中在内网增加了一台FTP服务器,并对外提供服务 ? ? ? 四.利用地址转换实现负载均衡 ? 随着公司的发展,公司再添置了一台Web服务器,通过 Nat轮询实现负载均衡 ?...2、 不能灵活调整服务器的负载 为了解决这些问题,开始提出新的技术,引入了服务器负载平衡(Server Load Balancing)技术。该技术提供两种工作模式:定向模式和分派模式。
《深入理解计算机系统》这本书的质量着实很高,内容丰富充实,课后的实验也都很有意思,也有一定的难度。当时做这鬼东西也是花了我不少时间最终还有几道题去网上查阅了答案...
key chain ccna key 1 key-string cisco call rsvp-sync !
其他内容建议看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
tf_ss; uint16_t tf_padding5; } __attribute__((packed)); 以上内容大部分复制自kiprey,不知道kiprey佬是在那里学的 ucore_lab1...在os_kernel_lab-master/labcodes/lab1/Makefile中,可以找到要分析的makefile。 makefile的结构如下: target....../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...esp \n" "int %0 \n" "movl %%ebp, %%esp" : : "i"(T_SWITCH_TOU) ); } static void lab1
Spectre攻击是一种基于侧信道漏洞的攻击方法,它于2018年首次公开披露。该攻击利用了现代处理器中存在的一种设计缺陷,使得恶意程序可以访问其本不应该具备权限...
发现该函数通过调用 strings_not_equal 函数后进行判断,接着进行反汇编:
环境准备 从官方git仓库拉取分支 git clone git://g.csail.mit.edu/6.824-golabs-2020 6.824lab 笔者码云仓库 https://gitee.com...实验要求 MapReduce Lab 要求我们实现一个和MapReduce论文类似的机制,也就是数单词个数Word Count。在正式开始写分布式代码之前,我们先理解一下任务和已有的代码。...master进程启动一个rpc服务器,每个worker进程通过rpc机制向Master要任务。任务可能包括map和reduce过程,具体如何给worker分配取决于master。.../mrapps/wc.go mrworker.go 启动配置 mrcoordinator.go 启动配置 代码实现 代码实现部分只会介绍核心代码,其余代码大家可拉取笔者仓库,切换到lab1分支自行阅读...} // 要求获取一个任务 if res := call("Coordinator.DistributeJob", &args, &reply); res == DailError { // 服务器已下线
这东西不能直接拿lab4做过的用,实在是败笔。...代码: /* LAB5:EXERCISE1 YOUR CODE * should set tf_cs,tf_ds,tf_es,tf_ss,tf_esp,tf_eip,tf_eflags * NOTICE...代码: /* LAB5:EXERCISE2 YOUR CODE * replicate content of page to npage, build the map of phy addr...(使用的是qemu-1.0.1) 注意,前面如果完全正确,参考我上周写的lab4练习二最后一部分更改一下语句就可以拿到136分。
使用实例:http://www.au92.com/archives/labjs.html 解释说明:http://miyuki.42code.com/2012/...
= NULL) { //LAB4:EXERCISE1 YOUR CODE /* * below fields in proc_struct need to be initialized
在TCP三次握手过程中,客户端向服务器发送一个SYN(同步)包,服务器接收到后会返回一个SYN-ACK(同步-确认)包给客户端,然后等待客户端的确认(ACK)。...然而,SYN洪水攻击中,攻击者发送大量伪造的具有SYN标志的TCP段给目标服务器,但并不回复服务器的SYN-ACK段来完成三次握手,从而导致服务器上堆积大量未完成的连接请求,这些半开放连接会一直保持在服务器上等待...,消耗服务器的资源,其结果就是目标服务器的连接队列被填满,无法处理新的合法连接请求。...SYN Cookie通过在服务器端动态生成伪随机的序列号来替代实际的半连接队列,从而减轻服务器的负载。服务器将伪随机序列号编码到SYN-ACK响应中,并将其发送给客户端。...然后使用10.9.0.6telnet连接到10.9.0.5服务器。服务器创建一个文件auth。 在攻击机上运行下面的脚本 #!
和练习0完成后的刚修改的lab6之间的区别,分析了解lab6采用RR调度算法后的执行过程。..._run_pool); struct proc_struct *q = le2proc(b, lab6_run_pool); int32_t c = p->lab6_stride - q...= NULL) { struct proc_struct* p = le2proc(she, lab6_run_pool); //更新stride p->lab6...* min_proc = le2proc(rq->lab6_run_pool, lab6_run_pool); if (min_proc->lab6_priority == 0) { min_proc...->lab6_stride += NICE_0_LOAD; } else if (min_proc->lab6_priority > NICE_0_LOAD) { min_proc->lab6_stride
image.png
领取专属 10元无门槛券
手把手带您无忧上云