Skip to content

The Learning Outcomes

Pieces of egos-2000
P0: Hello, World!library/libc
P1: Cooperative Threadsgrass/process.h, grass/process.c
P2: Preemptive Schedulerearth/cpu_intr.c, grass/kernel.s, part of grass/kernel.c
P3: System Call & Protectiongrass/kernel.c, library/syscall, apps/system/sys_proc.c
P4: Virtual Memoryearth/cpu_mmu.c, library/elf
P5: I/O Device Driverearth/dev_{tty, disk}.c , apps/user/video_demo.c
P6: File Systemlibrary/file, tools/mkfs.c, apps/system/sys_file.c
P7: Ethernet & TCP/IPapps/user/udp_demo.c , apps/user/tcp_demo.c
P8: Multicore & Locksearth/boot.{s,c}, grass/init.c, apps/system/sys_shell.c

As we have stated at the start, the goal of this little book is to help students gain experience and confidence in creating their own operating system or similar computer systems in their future career. As illustrated in the table above, each project helps students understand how to create one piece of egos-2000. Except for few applications under apps, students finish reading all the code of egos-2000.

"... any person ... any study."