Nachos, for teaching operating systems, Java language source code integrity, and can be used directly.
File list:
nachos
.....\ag
.....\..\AutoGrader.java
.....\..\BoatGrader.java
.....\..\package.html
.....\bin
.....\...\nachos
.....\machine
.....\.......\ArrayFile.java
.....\.......\Coff.java
.....\.......\CoffSection.java
.....\.......\Config.java
.....\.......\ElevatorBank.java
.....\.......\ElevatorControllerInterface.java
.....\.......\ElevatorControls.java
.....\.......\ElevatorEvent.java
.....\.......\ElevatorGui.java
.....\.......\ElevatorTest.java
.....\.......\FileSystem.java
.....\.......\Interrupt.java
.....\.......\Kernel.java
.....\.......\Lib.java
.....\.......\Machine.java
.....\.......\MalformedPacketException.java
.....\.......\NetworkLink.java
.....\.......\OpenFile.java
.....\.......\OpenFileWithPosition.java
.....\.......\package.html
.....\.......\Packet.java
.....\.......\Processor.java
.....\.......\RiderControls.java
.....\.......\RiderEvent.java
.....\.......\RiderInterface.java
.....\.......\SerialConsole.java
.....\.......\StandardConsole.java
.....\.......\Stats.java
.....\.......\StubFileSystem.java
.....\.......\TCB.java
.....\.......\Timer.java
.....\.......\TranslationEntry.java
.....\network
.....\.......\MailMessage.java
.....\.......\NetKernel.java
.....\.......\NetProcess.java
.....\.......\package.html
.....\.......\PostOffice.java
.....\proj1
.....\.....\Makefile
.....\.....\nachos.conf
.....\proj2
.....\.....\Makefile
.....\.....\nachos.conf
.....\proj3
.....\.....\Makefile
.....\.....\nachos.conf
.....\proj4
.....\.....\Makefile
.....\.....\nachos.conf
.....\security
.....\........\NachosSecurityManager.java
.....\........\package.html
.....\........\Privilege.java
.....\test
.....\....\assert.c
.....\....\assert.o
.....\....\atoi.c
.....\....\atoi.o
.....\....\cat.c
.....\....\cat.coff
.....\....\cat.o
.....\....\cp.c
.....\....\cp.coff
.....\....\cp.o
.....\....\echo.c
.....\....\echo.coff
.....\....\echo.o
.....\....\halt.c
.....\....\halt.coff
.....\....\halt.o
.....\....\libnachos.a
.....\....\Makefile
.....\....\matmult.c
.....\....\matmult.coff
.....\....\matmult.o
.....\....\memcpy.c
.....\....\memcpy.o
.....\....\memset.c
.....\....\memset.o
.....\....\mv.c
.....\....\mv.coff
.....\....\mv.o
.....\....\printf.c
.....\....\printf.o
.....\....\readline.c
.....\....\readline.o
.....\....\rm.c
.....\....\rm.coff
.....\....\rm.o
.....\....\script
.....\....\sh.c
.....\....\sh.coff
.....\....\sh.o
.....\....\sort.c
.....\....\sort.coff
.....\....\sort.o
.....\....\start.o
.....\....\start.s
.....\....\stdarg.h
.....\....\stdio.c
.....\....\stdio.h
.....\....\stdio.o
.....\....\stdlib.c
.....\....\stdlib.h
.....\....\strcat.c
.....\....\strcat.o
.....\....\strcmp.c
.....\....\strcmp.o
.....\....\strcpy.c
.....\....\strcpy.o
.....\....\strlen.c
.....\....\strlen.o
.....\....\strncmp.c
.....\....\strncmp.o
.....\....\syscall.h
.....\....\va-mips.h
.....\threads
.....\.......\Alarm.java
.....\.......\Boat.java
.....\.......\Communicator.java
.....\.......\Condition.java
.....\.......\Condition2.java
.....\.......\ElevatorController.java
.....\.......\KThread.java
.....\.......\Lock.java
.....\.......\LotteryScheduler.java
.....\.......\package.html
.....\.......\PriorityScheduler.java
.....\.......\Rider.java
.....\.......\RoundRobinScheduler.java
.....\.......\Scheduler.java
.....\.......\Semaphore.java
.....\.......\SynchList.java
.....\.......\ThreadedKernel.java
.....\.......\ThreadQueue.java
.....\userprog
.....\........\package.html
.....\........\SynchConsole.java
.....\........\UserKernel.java
.....\........\UserProcess.java
.....\........\UThread.java
.....\vm
.....\..\package.html
.....\..\VMKernel.java
.....\..\VMProcess.java
.....\Makefile
.....\README