# NCTU OSDI ###### tags: `OSDI` * [HomePage](/@JingWang/S19aXmFY8) ## Materials - [Labs](https://grasslab.github.io/osdi/en/index.html) - [Homework Submission](https://github.com/GrassLab/osdi2020)[target=_blank] - [Lecture Slides](https://drive.google.com/drive/u/0/folders/1mpLxwgv6gA3NlroyrJFe308w39Ch3NBu)[target=_blank] <!--- [Lecture Videos](https://drive.google.com/drive/u/1/folders/1WMCcPpImhHmXg_vs-ISv3qHgQYZvQjSy) [target=_blank] --> ## Discussion - [Youtube Playlist](https://www.youtube.com/playlist?list=PLKiQFBPo47h3zMklRHBEPyA-RXO1xBbaK)[target=_blank] - [Memory Management I](/n0ntOi0BSCyakwgpgpJl3w) - [Memory Management II](/j9LxdrrORHm5aytv31aouA) - [Memory Management III](/pT2gZUN8S4WSdq4X9y7m7Q) - [File System](/XVUzC3o1Qh6LMxucqYe7yQ) - [Kernel Synchronization](/aLU4v_mlRK6V9uxP2cFIyA) ## NOTE - [OSDI LAB](/bKFlTbgcQ2WtNI76D6Cgmw) ## Workshop - eBPF - [Slide](https://docs.google.com/presentation/d/1LrFjXOb8nJVaXVhstnKDC1A0TV8NRigvrVpp5kRU67g)[target=_blank] - [Report](https://drive.google.com/file/d/1yjU9VjmopVC9O4wz7iM8pmLU4AqNRQQr/view)[target=_blank] - ### Reference - [Linux 核心設計: 透過 eBPF 觀察作業系統行為](https://hackmd.io/@sysprog/linux-ebpf) - [ebpf原理分析_c/c++\_hjkfcz的博客](https://blog.csdn.net/hjkfcz/article/details/104916719) - [eBPF 简史](https://www.ibm.com/developerworks/cn/linux/l-lo-eBPF-history/index.html) - [Linux 核心設計:透過 eBPF 觀察作業系統行為 (2018-11-15) - YouTube](https://www.youtube.com/watch?v=UmCnh6mELwA&feature=youtu.be)[target=_blank] - [kernel/bpf/core.c - Linux source code (v4.20) - Bootlin](https://elixir.bootlin.com/linux/v4.20/source/kernel/bpf/core.c) - [动态追踪技术漫谈](https://blog.openresty.com.cn/cn/dynamic-tracing/) - [net/core/filter.c - Linux source code (v4.20.17) - Bootlin](https://elixir.bootlin.com/linux/v4.20.17/source/net/core/filter.c) - [BPF Design Q&A — The Linux Kernel documentation](https://www.kernel.org/doc/html/latest/bpf/bpf_design_QA.html) - [samples-bpf-README.rst](https://www.kernel.org/doc/readme/samples-bpf-README.rst) - [bpfsample.c](https://raw.githubusercontent.com/windywolf/example/master/eBPF/bpfsample.c)[target=_blank] - [Kernel-Analysis-Using-eBPF-Daniel-Thompson-Linaro.pdf](https://events19.linuxfoundation.org/wp-content/uploads/2017/12/Kernel-Analysis-Using-eBPF-Daniel-Thompson-Linaro.pdf) - [PyEBPF — eBPF proxy routines generation and Python callbacks (iovisor/bcc wrapper)](https://medium.com/@dany74q/pyebpf-ebpf-proxy-routines-generation-and-python-callbacks-iovisor-bcc-wrapper-42d6cf558be4) - [BPF and XDP Reference Guide — Cilium 1.7.90 documentation](https://docs.cilium.io/en/latest/bpf/#instruction-set) - [BPF, eBPF, XDP and Bpfilter - Netronome](https://www.netronome.com/blog/bpf-ebpf-xdp-and-bpfilter-what-are-these-things-and-what-do-they-mean-enterprise/)[target=_blank] - [Tracing with BPF - Linux Observability with BPF [Book]](https://www.oreilly.com/library/view/linux-observability-with/9781492050193/ch04.html)[target=_blank] - [iovisor/bcc: BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more](https://github.com/iovisor/bcc)[target=_blank] ## Lab Reference ### Lab 0 - [10分鐘讀懂 linker scripts](https://blog.louie.lu/2016/11/06/10%E5%88%86%E9%90%98%E8%AE%80%E6%87%82-linker-scripts/) - [bztsrc/qemu-raspi3](https://github.com/bztsrc/qemu-raspi3)[target=_blank] - [linux 安装报错:pkg-config not found](https://www.cnblogs.com/gyfluck/p/9635130.html) - [ERROR: glib-2.22 gthread-2.0 is required to compile QEMU](https://github.com/Cisco-Talos/pyrebox/issues/41)[target=_blank] - [嵌入式链接脚本(Link Script)介绍](https://blog.csdn.net/phenixyf/article/details/89242395) ### Lab 1 - [BCM2835 registers - eLinux.org](https://elinux.org/BCM2835_registers#PM) - [BCM2835 ARM Peripherals.docx](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/BCM2835-ARM-Peripherals.pdf) ### Lab 2 - [mailboxes](https://github.com/raspberrypi/firmware/wiki/Mailboxes)[target=_blank] - [Accessing mailboxes · raspberrypi/firmware Wiki](https://github.com/raspberrypi/firmware/wiki/Accessing-mailboxes)[target=_blank] - [Mailbox property interface · raspberrypi/firmware Wiki](https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface)[target=_blank] - [uart](http://yangwei-s.blogspot.com/2016/12/c-uart.html)[target=_blank] - [raspbootin/raspbootcom.cc at master · mrvn/raspbootin](https://github.com/mrvn/raspbootin/blob/master/raspbootcom/raspbootcom.cc)[target=_blank] ### Lab 3 - [LDR/STR](https://huenlil.pixnet.net/blog/post/24861953) - [MSR](http://www.keil.com/support/man/docs/armasm/armasm_dom1361289881714.htm) - [CBZ/CBNZ](http://www.keil.com/support/man/docs/armasm/armasm_dom1361289867296.htm) - [Assembly](http://godleon.blogspot.com/2008/02/comparisons-assembly-cmp-cmp-cmp-vleft.html) - [SPSR/ELR/ESR](http://www.wowotech.net/armv8a_arch/238.html) - [FAR_EL2](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/far_el2) - [Wiki - ARMv8](http://wiki.csie.ncku.edu.tw/embedded/ARMv8#%E7%A8%8B%E5%BC%8F%E7%8B%80%E6%85%8B%E5%84%B2%E5%AD%98%E6%9A%AB%E5%AD%98%E5%99%A8spsrs-saved-program-status-registers) - [va_list](https://blog.csdn.net/qq_34369618/article/details/67639964) - [ELR_EL2](https://developer.arm.com/docs/ddi0595/e/aarch64-system-registers/elr_el2) - [ESR_EL2](https://developer.arm.com/docs/ddi0595/e/aarch64-system-registers/esr_el2) - [SPSR_EL2](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/spsr_el2) - [instruction set](https://www.cnblogs.com/rongmouzhang/p/9707516.html) - [Linux kernel的中断子系统之(六):ARM中断处理过程](http://www.wowotech.net/irq_subsystem/irq_handler.html) - [eret](https://developer.arm.com/docs/100076/0100/a32t32-instruction-set-reference/a32-and-t32-instructions/eret) - [hcr_el2](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/hcr_el2) - [HSR_EL2.IMO](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/hcr_el2#IMO) - [LSR](http://www.keil.com/support/man/docs/armasm/armasm_dom1361289876525.htm) - [CurrentEL](https://developer.arm.com/docs/ddi0595/e/aarch64-system-registers/currentel) - [p state](https://developer.arm.com/docs/den0024/latest/armv8-registers/processor-state) - [daif](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/daif) - [NienfengYao/armv8-bare-metal](https://github.com/NienfengYao/armv8-bare-metal)[target=_blank] - [簡單學 makefile:makefile 介紹與範例程式 | Mr. Opengate](https://mropengate.blogspot.com/2018/01/makefile.html) - [ORR](http://www.keil.com/support/man/docs/armasm/armasm_dom1361289884183.htm) - [MRS](http://www.keil.com/support/man/docs/armasm/armasm_dom1361289881374.htm) - [LDR](http://www.keil.com/support/man/docs/armasm/armasm_dom1361289873425.htm) - [CNTP_CTL_EL0](https://developer.arm.com/docs/ddi0595/latest/aarch64-system-registers/cntp_ctl_el0) - [CNTP_TVAL_EL0](https://developer.arm.com/docs/ddi0595/c/aarch64-system-registers/cntp_tval_el0) - [Bomb Lab 實作紀錄 - HackMD](https://hackmd.io/@posutsai/SyNzl72f4?type=view) - [CPACR_EL1](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/cpacr_el1) - [ESR_EL1](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/esr_el1) - [SPSR_EL1](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/spsr_el1) - [Architectures | Exception model – Arm Developer](https://developer.arm.com/architectures/learn-the-architecture/exception-model) - [HVC](http://www.keil.com/support/man/docs/ARMASM/armasm_dom1387466087086.htm) - [AArch64 Exception and Interrupt Handling | Synchronous and asynchronous exceptions](https://developer.arm.com/docs/100933/0100/synchronous-and-asynchronous-exceptions) - [ARMv8-AArch64寄存器和指令集_嵌入式_ForDream321的专栏-CSDN博客](https://blog.csdn.net/tanli20090506/article/details/71487570) ### Lab 4 - [ARM Cortex-A Series Programmer’s Guide for ARMv8-A | Context switching – Arm Developer](https://developer.arm.com/docs/den0024/latest/the-memory-management-unit/context-switching) - [ARM的六大类指令集---LDR、LDRB、LDRH、LDM、STR、STRB、STRH、STM_嵌入式_BOOK0614的博客-CSDN博客](https://blog.csdn.net/u013477200/article/details/50723555) - [ARM Information Center](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.kui0100a/armasm_cegibccg.htm) - [FP寄存器及frame pointer介绍_嵌入式_Skylar-CSDN博客](https://blog.csdn.net/zzsfqiuyigui/article/details/22992957) - [TPIDR_EL1](https://developer.arm.com/docs/ddi0595/d/aarch64-system-registers/tpidr_el1) - [ARM64 汇编语言 | 不要说话](http://d0m021ng.github.io/2017/03/17/Mobile%20Security/ARM64-%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80/) - [c - How to print #define value in gdb? - Stack Overflow](https://stackoverflow.com/questions/26881742/how-to-print-define-value-in-gdb)[target=_blank] - [ARM Compiler Scalable Vector Extension User Guide Version 6.6 | Introducing SVE – Arm Developer](https://developer.arm.com/docs/100891/0606/sve-overview/introducing-sve) - [Calling convention - Wikipedia](https://en.wikipedia.org/wiki/Calling_convention#ARM) - [ARM Compiler armasm Reference Guide: BLR](http://infocenter.arm.com/help/topic/com.arm.doc.dui0802a/BLR.html) ### Lab 5 - [TCR_EL1](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/tcr_el1) - [AMD64 Architecture Programmer’s Manual, Volume 2: System Programming](https://www.amd.com/system/files/TechDocs/24593.pdf)[target=_blank] - [s-matyukevich/raspberry-pi-os](https://github.com/s-matyukevich/raspberry-pi-os/blob/master/docs/lesson06/rpi-os.md)[target=_blank] - [ARM指令浅析2(adrp、b)_嵌入式_技术宅拯救世界-CSDN博客](https://blog.csdn.net/liao392781/article/details/79162919) - [ORR shift left](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802a/ORR_log_shift.html) - [LDR and STR, register offset](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFGBDD.html) - [SCTLR_EL1](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/sctlr_el1) - [MAIR_EL1](https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/mair_el1) - [AND, ORR, EOR, BIC, and ORN](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489g/Cihdafai.html)[target=_blank] ### Lab 6 - [Linux 的記憶體管理](http://ccckmit.wikidot.com/lk:memory) ### Lab 7 - [VFS中的file,dentry和inode](https://bean-li.github.io/vfs-inode-dentry/) - [Linux/Unix inode、vnode和dentry](http://daoluan.net/linux/2012/07/10/inode-vnode-dentry.html) ### Lab 8 - [MBR, LBA, FAT32](https://cpl.li/2019/mbrfat/) - [Design of the FAT file system](https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system) - [Partition type](https://en.wikipedia.org/wiki/Partition_type) - [Master Boot Record (MBR) 以及 FAT32 解析](https://lexra.pixnet.net/blog/post/303910876-%EF%BF%AD-master-boot-record-(mbr)-%E4%BB%A5%E5%8F%8A-fat32-%E8%A7%A3%E6%9E%90) - [FAT32 Structure Information - MBR, FAT32 Boot Sector Introduction](https://www.easeus.com/resource/fat32-disk-structure.htm) ### Other - [bztsrc/raspi3-tutorial](https://github.com/bztsrc/raspi3-tutorial)[target=_blank] - [s-matyukevich/raspberry-pi-os](https://github.com/s-matyukevich/raspberry-pi-os)[target=_blank] - [dwelch67/raspberrypi](https://github.com/dwelch67/raspberrypi)[target=_blank] - [mrvn/RaspberryPi-baremetal](https://github.com/mrvn/RaspberryPi-baremetal)[target=_blank] - [Raspberry Pi Bare Bones](https://wiki.osdev.org/Raspberry_Pi_Bare_Bones) - [rsta2/cuircle](https://github.com/rsta2/circle)[target=_blank]
{"metaMigratedAt":"2023-06-15T07:31:33.569Z","metaMigratedFrom":"Content","title":"NCTU OSDI","breaks":true,"contributors":"[{\"id\":\"19d53741-2d58-48e3-9386-b7d7079d18e4\",\"add\":12075,\"del\":789}]"}
Expand menu