portability 可移植性
symposium 会议
- modularity 模块化
- monolithic 单片机,宏(内核)
- bypass 绕过
- non-trival 非平凡的,可观的
- invocation 调用
- compatible 兼容,backward compatible 向后兼容
- capability 能力,权限
- resurgent 复兴的,复苏的
- heterogenous 异构
- relay 继电器,转发,中转
- semantics 语义学
- underly 基本的,本质的
- manipulate 操作
- plane 飞机,层次,平面
- respectively 独立地,各自地
- dicated 精心设计的
- tenant 租户
- lease 租借,租用
- commodity 商品,货物
- adversary 对手
- comprise 包括,构成
- LOC,line of code 代码行数
- cyber 计算机相关的
- traverse 遍历
- obstacle 障碍
- order-of-magnitude 多个数量级
- roundtrips 往返
- retain 保留
- leverage 使用,杠杆
- indirection 间接
- stale 陈旧的
- fallback 倒退的
- senarios 场景
- enclave 飞地
- scale 规模,可拓展性
- encryption 加密
- negligible 微不足道的
- revisit 重温
- feasibility 可行性
- vesatile 灵活的,多样化的
- best-effort 尽力而为的
- preemption 抢占式
- monopolize 垄断
- utilization 利用率
- idempotent 幂等的
- devise 设计发明
- paradigm 范例
- stipulate 规定
- effacy 功效
- coarse-grained 粗粒度的
- intuitive 直观的
- proatively 积极主动的
- indispensable 不可或缺的
- polling 轮询
- impose 强加于
- indepth 深入的
- reclaim 回收
- remedy 弥补
- retrofit 改造
- incur 导致,招致
- intercept 拦截
- fusion 融合
- substitution 替代品
- heuristic 启发式
- saturate 饱合
- perception 观念,感知
- amplify 扩大,增大
- premise 前提
- incoporation 合并,加入
- tune 调整
- contention 竞争
- orthogonal 正交
Virtualization, Security, Distributed, Parallelism
你为什么加入 IPADS?
当我还是大二的学生的时候,我就听学长说起过 IPADS,他将 IPADS 描绘得很好,所以我基本上当时就很好奇,之后也是关注了 IPADS 的知乎账号,所以对于 IPADS 的进展有很深的了解。从客观上来讲,我个人的科研兴趣是系统软件,这很符合 IPADS 的研究方向。从主观来讲,我希望我从事的工作不只是一份工作,更是一个艺术品,我希望我的作品精益求精,我觉得这种想法和 IPADS 的实验室文化是相通的。
When I was a sophomore in college, I heard my senior talk about IPADS, and he described IPADS very well, so I was basically very curious at that time, and after that, I also followed the IPADS Zhihu account, so I have a very deep understanding of the progress of IPADS. Objectively, my personal research interest is in system software, which fits well with the research direction of IPADS. Subjectively, I hope that my work is not just a job, but also a work of art, and I hope that my work will be perfect, which I think is in line with the lab culture of IPADS.
为什么要打 OS 比赛?
首先,我觉得这是一个很好的能力锻炼机会,在一个非常棒非常新的 ISA 上实现一款完全由自己开发的操作系统内核,可以极大得提升自己对于系统软件的实现能力,并且学习最先进的 Linux 对问题的解决思路。其次,我觉得这是一次对于操作系统理论的升华,通过参加操作系统比赛,我对于多核,进程,内存,启动等概念有了更深刻的了解。最后,我认为自己实现一个操作系统是一件很酷的事情。
First of all, I think it is a good opportunity for me to practice my ability to implement an operating system kernel completely developed by myself on a very good and new ISA, which can greatly improve my ability to implement system software and learn the most advanced Linux’s idea of solving problems. Secondly, I think it is an opportunity for me to improve the theory of operating system. By participating in the operating system competition, I have a deeper understanding of the concepts of multicore, process, memory, boot, and so on. Finally, I think it is cool to realize an operating system by myself.
打 OS 比赛遇到了什么困难?
打 OS 比赛的时候遇到过很多困难,比如说驱动没有反应或者无法用 gdb 复现 bug 的情况。给我印象最深的一个是我们的 hifive unmatched 刚开始启动的时候会乱码,之所以给我印象很深,是因为我们只有这一块板子,所以我们很担心它出现问题,而不启动的话,是没有办法调试这块板子的,那块板子在一个我们打不开的机箱里,所以我们也不太清楚是不是有硬件损坏。
I’ve encountered a lot of difficulties when playing OS tournaments, such as drivers not responding or not being able to reproduce bugs with gdb. One of the most impressive things was that our hifive unmatched was messing up when we first started it up. The reason I was impressed was that we only had this board, so we were worried about it, and there was no way to debug it without starting it up, and it was in a case that we couldn’t open, so we didn’t know if there was any hardware damage. .
打 OS 比赛印象最深的点是什么?
对于我来说,OS 比赛印象最深的点是我在写内核并行程序的时候,突然意识到“操作系统是计算资源管理的集合”这个事情。之前我一直被操作系统纷繁复杂的表象困惑,多核并发时难以处理的锁,FAT32 文件系统的复杂和不自然,驱动手册的晦涩难懂,进程管理的 bug 频出等等让我焦头烂额。但是在我意识到这个事情以后,我感觉我对是站在一个更高的层次去看待这个问题:进程是计算资源的抽象,文件是外存的抽象,内存控制块是对于内存的抽象,驱动是对于设备的抽象,我所做的就是管理这些抽象的资源,让其配合为上层应用提供服务。
For me, the most impressive point of the OS competition is that when I was writing a kernel parallel program, I suddenly realized that “the operating system is a collection of computing resource management“. Before, I was always confused by the complex appearance of the operating system, the locks that are difficult to handle when multi-core is concurrent, the complexity and unnaturalness of the FAT32 file system, the obscure driver manual, the frequent bugs in process management, etc., which made me burnt out. But after I realized this, I felt that I was looking at this issue from a higher level: a process is an abstraction of computing resources, a file is an abstraction of external storage, and a memory control block is an abstraction of memory. It is an abstraction of devices. What I do is to manage these abstract resources and let them cooperate to provide services for upper-layer applications.
为什么选择体系结构?
我觉得有三方面的原因。首先,体系结构非常直观,我给 LED 小灯一个高电平,灯就会亮,我按照手册写好数据结构发给设备,设备就会把我需要的数据返回给我。其次,体系结构让人很有成就感,我还记得我第一次在我写得操作系统上启动 shell 的时候兴奋的感觉,当时天气很热,基本上所有人都回家了,我已经被用户栈的问题卡了很长时间,当实现完的一刻,shell 立刻启动起来了,所有的测试都没有问题,当时真的超级爽。最后,我想做出一个持久的艺术品,我希望我的设计被每个人使用,只有体系结构可以。
I think there are three reasons. First of all, the architecture is very intuitive. I give the small LED light a high level, and the light will light up. I write the data structure according to the manual and send it to the device, and the device will return the data I need to me. Second, the architecture is very rewarding, and I remember the excitement I felt the first time I started a shell on an operating system I wrote. It was hot and basically everyone had gone home. The problem of the user stack was stuck for a long time. When the implementation was completed, the shell started immediately, and all tests were fine. It was really cool at the time. In the end, I want to make a lasting piece of art, I want my designs to be used by everyone, only architecture can.