Giter Site home page Giter Site logo

operating-system-buaa-2021's Introduction

Operating-System-BUAA-2021

keywords: BUAA OS 2021 北京航空航天大学 6系 计算机 操作系统 2021

2021春北航操作系统

写在前面🖊

本repo不提供代码,因为网络上的轮子实在是太多了,只记录学习笔记以及上机内容。

欢迎fork&pull request。

任务列表✔

如果感到有必要对整个lab进行全面的检查,这些任务列表可以方便你逐个比较。当然,可以用base64把自己的repo弄到本地,再使用专业的比较软件(指Beyond Compare)进行对比。

lab1

  1. 请修改include.mk
  2. 完成 readelf/readelf.c
  3. 填写tools/scse0_3.lds中空缺的部分,将内核调整到正确的位置上
  4. 完成boot/start.S
  5. 补全lib/print.c: lp_Print()

lab2

  1. 完成include/queue.h: LIST_INSERT_AFTER(), LIST_INSERT_TAIL()
  2. 完成mm/pamp.c: mips_detect_memory()
  3. 完成mm/pamp.c: page_init()
  4. 完成mm/pamp.c: page_alloc, page_free()
  5. 完成mm/pamp.c: boot_pgdir_walk, pgdir_walk()
  6. 实现mm/pamp.c: boot_map_ segment()
  7. 完成mm/pamp.c: page_insert()
  8. 完成mm/tlb_asm.S: tlb_out()

lab3

  1. mm/pmap.c: mips_vm_init()
  2. lib/env.c: env_init()
  3. lib/env.c: envid2env()
  4. lib/env.c: env_setup_vm()
  5. lib/env.c: env_alloc()
  6. lib/env.c: load_icode_mapper()
  7. lib/kernel_elfloader.c: load_elf()lib/env.c: load_icode()
  8. lib/env.c: env_create(), env_create_priority()
  9. 完成init/init.c
  10. lib/env.c: env_run()
  11. 完成boot/start.S
  12. tools/scse0_3.lds
  13. lib/kclock.c: kclock_init()
  14. lib/sched.c: sched_yield()

lab4

  1. 完成user/syscall_wrap.S: msyscall()
  2. 完成lib/syscall.S: handle_sys()
  3. 实现lib/syscall_all.c: sys__mem_alloc()
  4. 实现lib/syscall_all.c: sys_mem_map()
  5. 实现lib/syscall_all.c: sys_mem_unmap()
  6. 实现lib/syscall_all.c: sys_yield()
  7. 实现lib/syscall_all.c: sys_ipc_recv(), sys_ipc_can_send()
  8. 填写lib/syscall_all.c: sys_env_alloc()
  9. 填写user/fork.c: fork()中关于sys_env_alloc的部分和“子进程”执行的部分
  10. 填写user/fork.c: duppage()
  11. 完成lib/traps.c: page_fault_handler()
  12. 完成lib/syscall_all.c: sys_set_pgfault_handler()
  13. 填写user/fork.c: pgfault()
  14. 填写lib/syscall_all.c: sys_set_env_status()
  15. 填写user/fork.c: fork()中关于“父进程”执行的部分

lab5

  1. 完成sys_write_dev(), sys_read_dev();在user/lib.h, user/syscall_lib.c 中完成相应系统调用的接口。
  2. 完成fs/ide.c: ide_write(), ide_read()
  3. 完成fs/fs.c: free_block()
  4. 完成fs/fsformat.c: create_file()
  5. 完成fs/fs.c: diskaddr()
  6. 实现map_block(), unmap_block()
  7. 补全fs.c: dir_lookup()
  8. 完成user/file.c: open()
  9. 完成user/fd.c: read()
  10. 完成user/fsipc.c: fsipc_remove()user/file.c: remove()fs/serv.c: serve_remove()

lab6

  1. 修改user/fork.c: duppage()
  2. 填写user/pipe.c: piperead(), pipewrite(), _pipeisclosed()
  3. 修改user/pipe.c: pipeclose()user/fd.c: dup()
  4. 再次修改user/pipe.c: _pipeisclosed()
  5. 完成user/spawn.c: spawn(), usr_load_elf()
  6. 完成user/sh.c: runcmd()

挑战性任务💪

lab4_challenge-信号量实现-lpxofbuaa

lab5_challenge-内存保护-VOIDMalkuth

往届代码💩

因为每年课程要求可能会有变化,所以尽量看时间较近的代码。

login256学长的代码也不一定能完全适用于2020春的课程要求,在lab3的进程调度中就初见端倪。

2020春-refkxh的代码

2020春-C7ABT的代码

2019春-login256的代码

2019春-Eadral的代码

代码解析和思考题🧠

lab1~6实验报告-shh

lab1~6实验报告-VOIDMalkuth

lab1~6实验报告-hky1999

lab1

lab1思考题解答-moc-85422729

lab1思考题解答-Suxy-99

lab2

lab2-code_view-riyuejiuzhao

Lab2-code_view-littlenyima

lab2思考题解答-moc-85422729

lab2思考题解答-Suxy-99

lab3

lab3-code_view-riyuejiuzhao

lab3-code_view-FFChyan

lab3-code_view-SivilTaram

lab3-code_view-CindyZhou

lab3-code_view-puublog

lab3思考题解答-blshuidi

lab3思考题解答-moc-85422729

lab3思考题解答-Suxy-99

lab4

lab4-code_view-FFChyan

lab4-code_view-Nortonary

lab4-code_view-CindyZhou

lab4-code_view-sharinka0715

lab4-code_view-SivilTaram

lab4-code_view-p_wk

lab4-Thinkings-Suxy-99

lab4-Thinkings-blshuidi

lab5

lab5-code_view-Nortonary

lab5-Thinkings-blshuidi

lab6

鸽了

汁源入口😍

2021春-习题汇总-rfhits

2017春-期中试卷部分解答-super_dmz

2019春-课程笔记-Jay1Zhang

参考资料📕

编译链接原理

linux下输入输出重定向

Linux中GCC编译器运行第一个程序"Helloworld!"

Makefile的写法-bilibili-正月点灯笼

致谢❤️

感谢所有为这门课提供资料、奉献精力的老师、助教、学长和大佬们!

operating-system-buaa-2021's People

Contributors

rfhits avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.