• Stars
    star
    234
  • Rank 171,630 (Top 4 %)
  • Language
    C
  • License
    Mulan Permissive ...
  • Created about 1 year ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

本仓库包含上海交通大学IPADS实验室设计的操作系统课程系列实验。

实验概述

本仓库包含上海交通大学IPADS实验室设计的操作系统课程系列实验。每个实验放在独立分支。

课程教材:

The course textbook

如果你有任何建议或更正意见,欢迎提交 Pull Requests 或 Issues。让我们一起合作改进实验~

Lab0: 拆炸弹(ARM汇编)

该实验受到CSAPP课程启发,CSAPP课程设计了一个针对x86/x86-64汇编的拆炸弹实验。 不同之处在于,本实验目标是熟悉ARM汇编语言,并为后续的ARM/树莓派内核实验做好准备。

分支: bomb-lab

链接: https://github.com/SJTU-IPADS/OS-Course-Lab/tree/bomb-lab

Tutorial: https://www.bilibili.com/video/BV1q94y1a7BF/?vd_source=63231f40c83c4d292b2a881fda478960

Lab1: 内核启动

该实验的主要内容是关于如何在内核启动过程中设置CPU异常级别、配置内核页表并启用MMU。 在内核实验系列中,我们将使用 ChCore 微内核 的基础版本,并使用 Raspi3b+作为实验平台(无论是使用QEMU树莓派模拟器还是树莓派开发板都可以)。

分支: ChCore-Lab1

链接: https://github.com/SJTU-IPADS/OS-Course-Lab/tree/ChCore-Lab1

Tutorial: https://www.bilibili.com/video/BV1gj411i7dh/

Lab2: 内存管理

该实验主要内容是关于内核中的伙伴系统和slab分配器的实现,并为应用程序设置页表。

分支: ChCore-Lab2

链接: https://github.com/SJTU-IPADS/OS-Course-Lab/tree/ChCore-Lab2

Tutorial: https://www.bilibili.com/video/BV1284y1Q7Jc/?vd_source=316867e8ad2c56f50fa94e8122dd7d38

Lab3: 进程与线程

该实验主要内容包括创建第一个用户态进程和线程,完善异常处理流程和系统调用,编写一个Hello-World在实验内核上运行。

分支: ChCore-Lab3

链接: https://github.com/SJTU-IPADS/OS-Course-Lab/tree/ChCore-Lab3

Tutorial: https://www.bilibili.com/video/BV11N411j7bR/

Lab4:多核调度与IPC

该实验中可以看到多核是如何启动的、多线程如何调度、基于capability权限管控的进程间通信机制。

分支:ChCore-Lab4

链接: https://github.com/SJTU-IPADS/OS-Course-Lab/tree/ChCore-Lab4

Tutorial: https://www.bilibili.com/video/BV1AS421N7rU/

仓库建设者

教师

古金宇

夏虞斌

助教

周淳威

叶瑜超

苏浩然

史嘉成

王子轩

闻天麟

More Repositories

1

PowerInfer

High-speed Large Language Model Serving on PCs with Consumer-grade GPUs
C++
7,898
star
2

ServerlessBench

A benchmark suite for serverless computing
C++
216
star
3

wukong

A graph-based distributed in-memory store that leverages efficient graph exploration to provide highly concurrent and low-latency queries over big linked data
C++
188
star
4

xstore

Fast RDMA-based Ordered Key-Value Store using Remote Learned Cache
C++
111
star
5

Bamboo

Bamboo-7B Large Language Model
88
star
6

reef

REEF is a GPU-accelerated DNN inference serving system that enables instant kernel preemption and biased concurrent execution in GPU scheduling.
Cuda
84
star
7

drtmh

Fast In-memory Transaction Processing using Hybrid RDMA Primitives
C++
67
star
8

drtm

Fast In-memory Transaction Processing using RDMA and HTM
C++
55
star
9

HEDB

Towards A Secure Yet Maintainable Encrypted Database
C++
55
star
10

DeSearch

a decentralized search engine with a decentralized verifiable dataflow
C
54
star
11

vegito

C++
51
star
12

krcore-artifacts

Ths is a fast RDMA abstraction layer that works both in the kernel and user-space.
Rust
49
star
13

disb

DISB is a new DNN inference serving benchmark with diverse workloads and models, as well as real-world traces.
C++
46
star
14

gnnlab

A Factored System for Sample-based GNN Training over GPUs
Python
41
star
15

reef-artifacts

A GPU-accelerated DNN inference serving system that supports instant kernel preemption and biased concurrent execution in GPU scheduling.
C
39
star
16

cocytus

Cocytus is an efficient and available in-memory K/V-store through hybrid erasure coding and replication
C
30
star
17

SQLSolver

An automated prover that verifies the equivalence of SQL queries
Java
27
star
18

librdpma

C++
25
star
19

ugache

C++
20
star
20

fgnn-artifacts

FGNN's artifact evaluation (EuroSys 2022)
Python
17
star
21

dst

A decentralized scalar timestamp scheme
C++
14
star
22

fisslock

A fast and scalable distributed lock service using programmable switches.
C++
12
star
23

wukong-cube

A distributed in-memory store for temporal knowledge graphs
C++
10
star
24

hackwrench

C++
9
star
25

ugache-artifacts

The artifact evaluation of SOSP 2023 for UGache
C++
8
star
26

COREMU

COREMU is a scalable and portable parallel full system emulator built on Qemu. Currently, COREMU supports X86_64 and ARM (MPcore).
C
7
star
27

eunomia

C++
6
star
28

wukong-g

Fast and Concurrent RDF Queries using RDMA-assisted GPU Graph Exploration
C++
5
star
29

Kernel-TwinFunction

1
star