{"id":19470527,"url":"https://github.com/prokil/ucore_lab","last_synced_at":"2026-06-12T04:31:16.293Z","repository":{"id":75487328,"uuid":"126613008","full_name":"ProKil/ucore_lab","owner":"ProKil","description":"Lab for OS course at THU","archived":false,"fork":false,"pushed_at":"2017-05-16T06:41:39.000Z","size":50232,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"lab8","last_synced_at":"2025-02-25T14:51:27.627Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProKil.png","metadata":{"files":{"readme":"README-english.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-24T15:29:26.000Z","updated_at":"2023-03-05T16:30:16.000Z","dependencies_parsed_at":"2023-06-06T15:45:17.226Z","dependency_job_id":null,"html_url":"https://github.com/ProKil/ucore_lab","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ProKil/ucore_lab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProKil%2Fucore_lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProKil%2Fucore_lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProKil%2Fucore_lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProKil%2Fucore_lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProKil","download_url":"https://codeload.github.com/ProKil/ucore_lab/tar.gz/refs/heads/lab8","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProKil%2Fucore_lab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34229624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T18:58:54.796Z","updated_at":"2026-06-12T04:31:16.280Z","avatar_url":"https://github.com/ProKil.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"INTRODUCTION(2015)\n============\nucore labs was used as OS Experiments in OS Course Of Dept. of Computer Science \u0026 Technology, Tsinghua University.\n\nucore is a teaching OS which is derived from xv6\u0026jos in MIT, OS161 in Harvard and Linux.\nucore was developed and used in Department of Computer Science \u0026 Technology, Institute for Interdisciplinary Information Sciences, Tsinghua University.\nThe codes in the files that constitute xv6\u0026jos are Copyright (2006-Current) Frans Kaashoek, Robert Morris, and Russ Cox and uses MIT License.\nThe codes in the files that constitute OS/161 are written by David A. Holland.\nThe codes in the files that constitute ucore are Copyright (2010-Current) Yu Chen, Naizheng Wang, Yong Xiang and uses GPL License.\nThe documents in the files that constitute ucore are Copyright (2010-Current) Yu Chen, Yong Xiang and uses Creative Commons Attribution/Share-Alike (CC-BY-SA) License. \n\nPEOPLES \n========\n\nOS course for Dept. CS. in Tsinghua Univ., and MOOC OS course\n-----------------------------------\nLectures: Chen, Yu   http://soft.cs.tsinghua.edu.cn/~chen\nTA: Qi, Xiao  qixiao0113@gmail.com\nTA: Mao, Junjie eternal.n08@gmail.com\n\nCONTENTS\n========\n\nos course info\n----------------\n* [newest os course summary materials](https://github.com/chyyuu/mooc_os)\n* [newest chinese README for ucore_lab](https://github.com/chyyuu/ucore_lab/)\n\nlabs info\n----------------\nlab0: preparing\nlab1: boot/protect mode/stack/interrupt\nlab2: physical memory management\nlab3: virtual memory management\nlab4: kernel thread management\nlab5: user process management\nlab6: scheduling\nlab7: mutex/sync\nlab8: filesystem\n\nWORK IN MS WINDOWS\n==================\nWorking in Linux is encouraged. But If you like to work in MS Windows, we provide virtual machine environment (Runnint Ubuntu in VirtualBox) in\nWindows to help you to finish the labs. If you don't want to install ubuntu and other softs to finish these labs in Windows, you can use \nVirtualBox soft (https://www.virtualbox.org/) and a virtual disk image with all these softs. Below example is shown how to setup lab environment in Windows.\nYou can download this virtual disk image -- oslabs_for_student_2012.zip (576.2MB,) from  http://pan.baidu.com/share/link?shareid=69868\u0026uk=2585194235, which\nis an VirtualBox disk image (contains ubuntu 12.04 and needed softs, and is zipped with zip and xz format), and can be unzipped \nby haozip software (http://www.haozip.com). \nAfter unzip oslabs_for_student_XXX.zip, you will get \n---\nC:\\vms\\ubuntu-14.04.vbox.xz\nC:\\vms\\ubuntu-14.04.vmdk.vmdk.xz\nC:\\vms\\ubuntu-14.04.vmdk-flat.vmdk.xz\n---\nthen you will continue unzip all these files, and get\n---\nC:\\vms\\ubuntu-14.04.vbox\nC:\\vms\\ubuntu-14.04.vmdk.vmdk\nC:\\vms\\ubuntu-14.04.vmdk-flat.vmdk\n---\nIf you installed VirtualBox soft, then the last step is: double clik file \"ubuntu-12.04.vbox\" and run ubuntu 12.04 in VirtualBox.\nIn ubuntu 12.04 login Interface:\nusername: chy\npassword: \u003cSPACE KEY\u003e\n\nAfter you login, you will see the directory ucore_lab in HOME directory.\n\nTESTED ENVIRONMENT\n==================\nUBUNTU 14.04: GCC-4.8.2 CLANG-3.5\nFEDORA 20: GCC-4.8.2\n\nEXERCISE STEPS\n==============\n0 Get the newest os lab src codes/docs.(Insure you can connect to github in ubuntu running on VrtualBox)\n0.1 If you try to get all codes\n  $rm -rf ucore_lab\n  $git clone git://github.com/chyyuu/ucore_lab.git\n  $cd ucore_lab\n0.2 If you gloned ucore_lab and only try to get the updated codes\n  $cd ucore_lab\n  $git pull\n1 $cd labX  \n2 read codes (specially the modified or added files)\n3 add your code\n4 compile your code\n  $make\n5 check your code\n  $make qemu\nOR\n  $make grade\n\n6 debug your code\n  $make debug\n\n7 handin your code\n  $make handin\n\nOPTION\n==============\nNow, ucore suuport LLVM/Clang-3.5 + \nin step4:\n  $ USELLVM=1 make\nthen you will use clang to compile ucore\n\nGRADE/RANK\n==========\nSuperman: Finish all OS labs in one month by yourself\nMaster: Finish all OS labs in two month by yourself\nVeteran: Finish all OS labs in three month by yourself\nApprentice: Finish all OS labs in one semester with other guy's help\n \nRESOURCE REPOSITORY\n===================\nBasic OS labs (for students who learn OS course)\nThe newest lab codes and docs is in https://github.com/chyyuu/ucore_lab\n\nAdvanced OS labs (for OS geeks or hackers or guys with Superman/Master Rank)\nThe newest lab codes and docs is in https://github.com/chyyuu/ucore_plus\n\nLEARNING DISSCUSS GROUPS\n========================\n\nos learning group based on QQ \n-------------------------------\nQQ id: 181873534\n\ngeneral discuss\n--------------------------------\nIf you have any questions about ucore basic os labs, \nyou can subscribe to the Google Groups \"os-course\" group (http://groups.google.com/group/oscourse?hl=en.)\nTo post to this group, send email to oscourse@googlegroups.com.\nTo unsubscribe from this group, send email to oscourse+unsubscribe@googlegroups.com.\nFor more options, visit this group at http://groups.google.com/group/oscourse?hl=en.\n\nDEVELOPMENT DISCUSS GROUPS\n==========================\nIf you have any questions about ucore advanced os labs, \nIf you want to be a developer of ucore or pay attention to the development of ucore, \nyou can subscribe to the Google Groups \"ucore_dev\" group (http://groups.google.com/group/ucore_dev?hl=en.)\nTo post to this group, send email to ucore_dev@googlegroups.com.\nTo unsubscribe from this group, send email to ucore_dev+unsubscribe@googlegroups.com.\nFor more options, visit this group at http://groups.google.com/group/ucore_dev?hl=en.\n\nUCORERS (Contributors)\n======================\nJunjie Mao, Yuheng Chen, Cong Liu, Yang Yang, Zhun Qu, Shengwei Ren, Wenlei Zhu, Cao Zhang, Tong Sen, Xu Chen, \nCang Nan, Yujian Fang, Wentao Han, Kaichen Zhang, Xiaolin Guo, Tianfan Xue, Gang Hu, Cao Liu, Yu Su,Xinhao Yuan, ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprokil%2Fucore_lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprokil%2Fucore_lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprokil%2Fucore_lab/lists"}