会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
2024年2月14日
【XV6】 mmap
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 文件映射到进程地址 题目要求实现两个系统调用:mmap和munmap。主要功能就是将文件映射到进程的内存中。 题目给出了mmap和munmap的声明: void *mmap(void *addr, size_t
阅读全文
posted @ 2024-02-14 19:06 未连接到互联网
阅读(40)
评论(0)
推荐(0)
编辑
【XV6】 file system
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 支持大文件 XV6目前只支持268个blocks大小的文件,一个block(BSIZE)为1024,文件块inode包含12个一级地址和1个二级地址,二级地址指向另一个block,其中存放了256个一级地址,因
阅读全文
posted @ 2024-02-14 19:06 未连接到互联网
阅读(31)
评论(0)
推荐(0)
编辑
【XV6】 locks
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 内存分配器 单个空闲内存列表可能引起多个CPU的频繁锁争用,题目要求设计内存分配器,让每个CPU维护一个空闲内存列表,不同CPU的分配和释放可以并行执行,但如果一个CPU可用列表为空,而其他CPU可用列表不为空
阅读全文
posted @ 2024-02-14 19:05 未连接到互联网
阅读(24)
评论(0)
推荐(0)
编辑
【XV6】 networking
摘要: 代码:https://github.com/JasenChao/xv6-labs.git E1000网络设备驱动 题目已经在kernel/e1000.c中给出了E1000的初始化函数和发送接收函数,要求完善发送和接收的功能。 其他相关的代码,上层的网络协议在kernel/net.c和kernel/n
阅读全文
posted @ 2024-02-14 19:05 未连接到互联网
阅读(64)
评论(0)
推荐(0)
编辑
【XV6】 Multithreading
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 用户级线程切换 题目要求完成用户级线程系统,提示程序要在uthread.c和uthread_switch.S中补充完成。 用户级线程调度和进程的机制是类似的,因此uthread_switch.S可以复制swtc
阅读全文
posted @ 2024-02-14 19:05 未连接到互联网
阅读(17)
评论(0)
推荐(0)
编辑
【XV6】 Copy-on-Write Fork for xv6
摘要: 代码:https://github.com/JasenChao/xv6-labs.git Copy-on-Write Fork 系统调用fork()会复制一个父进程的用户空间到子进程,一方面如果进程较大,复制需要很长的时间,另一方面复制的内存的大部分会被丢弃,造成浪费。 题目要求实现写时复制COW来
阅读全文
posted @ 2024-02-14 19:04 未连接到互联网
阅读(71)
评论(0)
推荐(0)
编辑
【XV6】 traps
摘要: 代码:https://github.com/JasenChao/xv6-labs.git backtrace 题目要求实现backtrace来对堆栈上调用发生错误的地方进行跟踪。寄存器s0包含指向当前堆栈帧的指针,那么返回地址就位于帧指针的固定偏移量-8,前一个fp地址的偏移量为-16。 在risc
阅读全文
posted @ 2024-02-14 19:04 未连接到互联网
阅读(14)
评论(0)
推荐(0)
编辑
【XV6】 page tables
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 快速获取pid-ugetpid 题目要求参考已实现的ugetpid()使用USYSCALL快速获取pid。 实现的思路是在每一个进程中增加一个共享页面,通过USYSCALL指定的虚拟地址,找到指定的页面。参考进
阅读全文
posted @ 2024-02-14 19:04 未连接到互联网
阅读(37)
评论(0)
推荐(0)
编辑
【XV6】 system calls
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 使用GDB调试 安装risc-v的GDB 先安装依赖: sudo apt-get install libncurses5-dev python2 python2-dev texinfo libreadline-
阅读全文
posted @ 2024-02-14 19:03 未连接到互联网
阅读(43)
评论(0)
推荐(0)
编辑
【XV6】 Xv6 and Unix utilities
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 运行xv6 实验环境使用的是Ubuntu 20.04,需要安装一些工具: sudo apt-get install git build-essential gdb-multiarch qemu-system-m
阅读全文
posted @ 2024-02-14 19:03 未连接到互联网
阅读(49)
评论(0)
推荐(0)
编辑
Python 中 print 函数的用法
摘要: 在 Python 中,可以使用print函数来打印一个变量或者一个字符串: print("My name is Alice") print(i) 如果需要字符串格式化来打印一句话中包含变量的内容,有几种常用的方法: 使用格式化字符串(f-string):在字符串前面加上字母"f",然后在字符串中使用
阅读全文
posted @ 2024-02-14 19:00 未连接到互联网
阅读(35)
评论(0)
推荐(0)
编辑
SSH 到 Git 时 Connection timed out
摘要: 问题出现 git仓库是使用ssh链接clone下来的,在push和pull到github时突然失效了,显示Connection timed out,ssh -T git@github.com一样不行 解决方案 编辑文件~/.ssh/config,添加以下内容 Host github.com Host
阅读全文
posted @ 2024-02-14 18:58 未连接到互联网
阅读(102)
评论(0)
推荐(0)
编辑
bits/libc-header-start.h: No such file or directory
摘要: 问题出现 在编译一个工程的时候,出现了报错 In file included from /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h:9, from main.c:1: /usr/include/stdint.h:26:10: fatal erro
阅读全文
posted @ 2024-02-14 18:57 未连接到互联网
阅读(350)
评论(0)
推荐(0)
编辑
使用msmtp发送邮件
摘要: 最近需要在服务器上运行一些时间很长的命令,想让服务器自动通知我什么时候命令完成,通过命令结束后发送邮件给我来提醒。 安装 msmtp 和 mail # RedHat 系 sudo dnf install msmtp mailx # Debian 系 sudo apt install msmtp ma
阅读全文
posted @ 2024-02-14 18:54 未连接到互联网
阅读(75)
评论(0)
推荐(0)
编辑
通过注册表交换Ctrl键和CapsLock键
摘要: 频繁地使用左下角的Ctrl键对我的小拇指产生了非常大的负担,想把它和不常用但很容易按的CapsLock键交换。 先打开注册表,导航到HKEY_LOCAL_MACHINE -> System -> CurrentControlSet -> Control -> KeyBoard Layout。 右键新
阅读全文
posted @ 2024-02-14 18:51 未连接到互联网
阅读(99)
评论(0)
推荐(0)
编辑
勤力一定揾到食
个人主页:https://jasenchao.github.io/
导航
博客园
首页
新随笔
联系
订阅
管理