Skip to content

Commit

Permalink
second commit
Browse files Browse the repository at this point in the history
commit the final version of last term
  • Loading branch information
lqhl committed May 26, 2011
1 parent 6d024a8 commit 79fb0db
Show file tree
Hide file tree
Showing 305 changed files with 16,264 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="output" path="bin"/>
</classpath>
17 changes: 17 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>nachos</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
12 changes: 12 additions & 0 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#Sat Oct 02 22:34:02 CST 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6
Binary file added bin/nachos/ag/AutoGrader.class
Binary file not shown.
Binary file added bin/nachos/ag/BasicTestGrader$ThreadHandler.class
Binary file not shown.
Binary file added bin/nachos/ag/BasicTestGrader.class
Binary file not shown.
Binary file added bin/nachos/ag/BoatGrader.class
Binary file not shown.
Binary file added bin/nachos/ag/CoffGrader$1.class
Binary file not shown.
Binary file added bin/nachos/ag/CoffGrader$2.class
Binary file not shown.
Binary file added bin/nachos/ag/CoffGrader$EmbededConsole.class
Binary file not shown.
Binary file added bin/nachos/ag/CoffGrader.class
Binary file not shown.
Binary file added bin/nachos/ag/DonationGrader$1.class
Binary file not shown.
Binary file added bin/nachos/ag/DonationGrader$2.class
Binary file not shown.
Binary file added bin/nachos/ag/DonationGrader$3.class
Binary file not shown.
Binary file added bin/nachos/ag/DonationGrader$4.class
Binary file not shown.
Binary file added bin/nachos/ag/DonationGrader.class
Binary file not shown.
Binary file added bin/nachos/ag/FilesysGrader.class
Binary file not shown.
Binary file added bin/nachos/ag/JoinGrader$1.class
Binary file not shown.
Binary file added bin/nachos/ag/JoinGrader.class
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/ag/LotteryGraderS.class
Binary file not shown.
Binary file added bin/nachos/ag/PriorityGrader$1.class
Binary file not shown.
Binary file added bin/nachos/ag/PriorityGrader.class
Binary file not shown.
Binary file added bin/nachos/ag/PriorityGraderS1$1.class
Binary file not shown.
Binary file added bin/nachos/ag/PriorityGraderS1$TreeNode.class
Binary file not shown.
Binary file added bin/nachos/ag/PriorityGraderS1.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader1$Printer.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader1.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader2$a.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader2$b.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader2.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader3$PingTest.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader3.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader4$PingTest.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader4.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader5$a.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader5.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader6$a.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader6.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader7$a.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader7.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader8$a.class
Binary file not shown.
Binary file added bin/nachos/ag/ThreadGrader8.class
Binary file not shown.
Binary file added bin/nachos/ag/UserGrader1$1.class
Binary file not shown.
Binary file added bin/nachos/ag/UserGrader1$2.class
Binary file not shown.
Binary file added bin/nachos/ag/UserGrader1.class
Binary file not shown.
Binary file added bin/nachos/ag/VMGrader$1.class
Binary file not shown.
Binary file added bin/nachos/ag/VMGrader.class
Binary file not shown.
3 changes: 3 additions & 0 deletions bin/nachos/ag/package.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<body>
Provides classes that can be used to automatically grade Nachos projects.
</body>
Binary file added bin/nachos/filesys/BitMap.class
Binary file not shown.
Binary file added bin/nachos/filesys/File.class
Binary file not shown.
Binary file added bin/nachos/filesys/FileStat.class
Binary file not shown.
Binary file added bin/nachos/filesys/FilesysKernel.class
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/filesys/FilesysProcess.class
Binary file not shown.
Binary file added bin/nachos/filesys/Folder.class
Binary file not shown.
Binary file added bin/nachos/filesys/FolderEntry.class
Binary file not shown.
Binary file added bin/nachos/filesys/FreeList.class
Binary file not shown.
Binary file added bin/nachos/filesys/INode.class
Binary file not shown.
Binary file added bin/nachos/filesys/RealFileSystem$PathResult.class
Binary file not shown.
Binary file added bin/nachos/filesys/RealFileSystem.class
Binary file not shown.
Binary file added bin/nachos/machine/ArrayFile.class
Binary file not shown.
Binary file added bin/nachos/machine/AssertionFailureError.class
Binary file not shown.
Binary file added bin/nachos/machine/Coff.class
Binary file not shown.
Binary file added bin/nachos/machine/CoffSection.class
Binary file not shown.
Binary file added bin/nachos/machine/Config.class
Binary file not shown.
Binary file added bin/nachos/machine/Disk$1.class
Binary file not shown.
Binary file added bin/nachos/machine/Disk.class
Binary file not shown.
Binary file added bin/nachos/machine/DiskIntHandler.class
Binary file not shown.
Binary file added bin/nachos/machine/FileSystem.class
Binary file not shown.
Binary file added bin/nachos/machine/GraphicalConsole$1.class
Binary file not shown.
Binary file added bin/nachos/machine/GraphicalConsole$2.class
Binary file not shown.
Binary file added bin/nachos/machine/GraphicalConsole$3.class
Binary file not shown.
Binary file added bin/nachos/machine/GraphicalConsole$4.class
Binary file not shown.
Binary file added bin/nachos/machine/GraphicalConsole$5.class
Binary file not shown.
Binary file added bin/nachos/machine/GraphicalConsole$6.class
Binary file not shown.
Binary file added bin/nachos/machine/GraphicalConsole.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/machine/Interrupt.class
Binary file not shown.
Binary file added bin/nachos/machine/Kernel.class
Binary file not shown.
Binary file added bin/nachos/machine/Lib.class
Binary file not shown.
Binary file added bin/nachos/machine/Machine$1.class
Binary file not shown.
Binary file added bin/nachos/machine/Machine$MachinePrivilege.class
Binary file not shown.
Binary file added bin/nachos/machine/Machine.class
Binary file not shown.
Binary file added bin/nachos/machine/MalformedPacketException.class
Binary file not shown.
Binary file added bin/nachos/machine/NetworkLink$1.class
Binary file not shown.
Binary file added bin/nachos/machine/NetworkLink$2.class
Binary file not shown.
Binary file added bin/nachos/machine/NetworkLink$3.class
Binary file not shown.
Binary file added bin/nachos/machine/NetworkLink$4.class
Binary file not shown.
Binary file added bin/nachos/machine/NetworkLink.class
Binary file not shown.
Binary file added bin/nachos/machine/OpenFile.class
Binary file not shown.
Binary file added bin/nachos/machine/OpenFileWithPosition.class
Binary file not shown.
Binary file added bin/nachos/machine/Packet.class
Binary file not shown.
Binary file added bin/nachos/machine/Processor$Instruction.class
Binary file not shown.
Binary file added bin/nachos/machine/Processor$Mips.class
Binary file not shown.
Binary file added bin/nachos/machine/Processor$MipsException.class
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/machine/Processor.class
Binary file not shown.
Binary file added bin/nachos/machine/SerialConsole.class
Binary file not shown.
Binary file added bin/nachos/machine/StandardConsole$1.class
Binary file not shown.
Binary file added bin/nachos/machine/StandardConsole$2.class
Binary file not shown.
Binary file added bin/nachos/machine/StandardConsole.class
Binary file not shown.
Binary file added bin/nachos/machine/Stats.class
Binary file not shown.
Binary file added bin/nachos/machine/StubFileSystem$FileRemover.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/machine/StubFileSystem.class
Binary file not shown.
Binary file added bin/nachos/machine/SynchDisk.class
Binary file not shown.
Binary file added bin/nachos/machine/SynchDiskIntHandler.class
Binary file not shown.
Binary file added bin/nachos/machine/TCB$1.class
Binary file not shown.
Binary file added bin/nachos/machine/TCB$2.class
Binary file not shown.
Binary file added bin/nachos/machine/TCB$TCBPrivilege.class
Binary file not shown.
Binary file added bin/nachos/machine/TCB.class
Binary file not shown.
Binary file added bin/nachos/machine/Timer$1.class
Binary file not shown.
Binary file added bin/nachos/machine/Timer$2.class
Binary file not shown.
Binary file added bin/nachos/machine/Timer.class
Binary file not shown.
Binary file added bin/nachos/machine/TranslationEntry.class
Binary file not shown.
3 changes: 3 additions & 0 deletions bin/nachos/machine/package.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<body>
Provides classes that implement the Nachos simulated machine.
</body>
Binary file added bin/nachos/network/MailMessage.class
Binary file not shown.
Binary file added bin/nachos/network/NetKernel$1.class
Binary file not shown.
Binary file added bin/nachos/network/NetKernel.class
Binary file not shown.
Binary file added bin/nachos/network/NetProcess.class
Binary file not shown.
Binary file added bin/nachos/network/PostOffice$1.class
Binary file not shown.
Binary file added bin/nachos/network/PostOffice$2.class
Binary file not shown.
Binary file added bin/nachos/network/PostOffice$3.class
Binary file not shown.
Binary file added bin/nachos/network/PostOffice.class
Binary file not shown.
3 changes: 3 additions & 0 deletions bin/nachos/network/package.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<body>
Provides classes that allow Nachos processes to communicate over the network.
</body>
Binary file added bin/nachos/security/NachosSecurityManager$1.class
Binary file not shown.
Binary file added bin/nachos/security/NachosSecurityManager$2.class
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/security/NachosSecurityManager.class
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/security/Privilege$MachinePrivilege.class
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/security/Privilege$TCBPrivilege.class
Binary file not shown.
Binary file added bin/nachos/security/Privilege.class
Binary file not shown.
4 changes: 4 additions & 0 deletions bin/nachos/security/package.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<body>
Provides classes that can be used to protect the host system from malicious
Nachos kernels.
</body>
Binary file added bin/nachos/threads/Alarm$1.class
Binary file not shown.
Binary file added bin/nachos/threads/Alarm$Waiter.class
Binary file not shown.
Binary file added bin/nachos/threads/Alarm.class
Binary file not shown.
Binary file added bin/nachos/threads/Boat$1.class
Binary file not shown.
Binary file added bin/nachos/threads/Boat$2.class
Binary file not shown.
Binary file added bin/nachos/threads/Boat.class
Binary file not shown.
Binary file added bin/nachos/threads/Communicator$ThreadInfo.class
Binary file not shown.
Binary file added bin/nachos/threads/Communicator.class
Binary file not shown.
Binary file added bin/nachos/threads/Condition.class
Binary file not shown.
Binary file added bin/nachos/threads/Condition2.class
Binary file not shown.
Binary file added bin/nachos/threads/KThread$1.class
Binary file not shown.
Binary file added bin/nachos/threads/KThread$2.class
Binary file not shown.
Binary file added bin/nachos/threads/KThread$PingTest.class
Binary file not shown.
Binary file added bin/nachos/threads/KThread.class
Binary file not shown.
Binary file added bin/nachos/threads/Lock.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/threads/LotteryScheduler.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/threads/PriorityScheduler.class
Binary file not shown.
Binary file added bin/nachos/threads/ReadWriteLock.class
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/threads/RoundRobinScheduler.class
Binary file not shown.
Binary file added bin/nachos/threads/Scheduler.class
Binary file not shown.
Binary file added bin/nachos/threads/Semaphore$PingTest.class
Binary file not shown.
Binary file added bin/nachos/threads/Semaphore.class
Binary file not shown.
Binary file added bin/nachos/threads/SynchList$PingTest.class
Binary file not shown.
Binary file added bin/nachos/threads/SynchList.class
Binary file not shown.
Binary file added bin/nachos/threads/ThreadQueue.class
Binary file not shown.
Binary file added bin/nachos/threads/ThreadedKernel.class
Binary file not shown.
3 changes: 3 additions & 0 deletions bin/nachos/threads/package.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<body>
Provides classes that support a multithreaded kernel.
</body>
Binary file added bin/nachos/userprog/SynchConsole$1.class
Binary file not shown.
Binary file added bin/nachos/userprog/SynchConsole$2.class
Binary file not shown.
Binary file added bin/nachos/userprog/SynchConsole$File.class
Binary file not shown.
Binary file added bin/nachos/userprog/SynchConsole.class
Binary file not shown.
Binary file added bin/nachos/userprog/UThread$1.class
Binary file not shown.
Binary file added bin/nachos/userprog/UThread.class
Binary file not shown.
Binary file added bin/nachos/userprog/UserKernel$1.class
Binary file not shown.
Binary file added bin/nachos/userprog/UserKernel.class
Binary file not shown.
Binary file not shown.
Binary file added bin/nachos/userprog/UserProcess.class
Binary file not shown.
4 changes: 4 additions & 0 deletions bin/nachos/userprog/package.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<body>
Provides classes that allow Nachos to load and execute single-threaded user
programs in separate address spaces.
</body>
Binary file added bin/nachos/vm/ClockPagingManager.class
Binary file not shown.
Binary file added bin/nachos/vm/LazyLoader$CodePage.class
Binary file not shown.
Binary file added bin/nachos/vm/LazyLoader.class
Binary file not shown.
Binary file added bin/nachos/vm/MemoryManager.class
Binary file not shown.
Binary file added bin/nachos/vm/Page.class
Binary file not shown.
Binary file added bin/nachos/vm/PageItem.class
Binary file not shown.
Binary file added bin/nachos/vm/SecondChanceMemoryManager.class
Binary file not shown.
Binary file added bin/nachos/vm/SwapFile.class
Binary file not shown.
Binary file added bin/nachos/vm/SwapPage.class
Binary file not shown.
Binary file added bin/nachos/vm/TLBManager.class
Binary file not shown.
Binary file added bin/nachos/vm/VMKernel.class
Binary file not shown.
Binary file added bin/nachos/vm/VMProcess.class
Binary file not shown.
4 changes: 4 additions & 0 deletions bin/nachos/vm/package.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<body>
Provides classes that allow Nachos processes to be demand paged, and to use a
hardware TLB for address translation.
</body>
7 changes: 7 additions & 0 deletions conf/proj1.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Machine.stubFileSystem = false
Machine.processor = false
Machine.console = false
Machine.networkLink = false
NachosSecurityManager.fullySecure = false
ThreadedKernel.scheduler = nachos.threads.PriorityScheduler
Kernel.kernel = nachos.threads.ThreadedKernel
12 changes: 12 additions & 0 deletions conf/proj2.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Machine.stubFileSystem = true
Machine.processor = true
Machine.console = true
Machine.graphicalConsole = false
Machine.networkLink = false
Processor.usingTLB = false
Processor.numPhysPages = 64
NachosSecurityManager.fullySecure = false
ThreadedKernel.scheduler = nachos.threads.RoundRobinScheduler #nachos.threads.LotteryScheduler
Kernel.shellProgram = halt.coff #sh.coff
Kernel.processClassName = nachos.userprog.UserProcess
Kernel.kernel = nachos.userprog.UserKernel
12 changes: 12 additions & 0 deletions conf/proj3.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Machine.stubFileSystem = true
Machine.processor = true
Machine.console = true
Machine.graphicalConsole = false
Machine.networkLink = false
Processor.usingTLB = true
Processor.numPhysPages = 16
NachosSecurityManager.fullySecure = false
ThreadedKernel.scheduler = nachos.threads.LotteryScheduler
Kernel.shellProgram = sh.coff
Kernel.processClassName = nachos.vm.VMProcess
Kernel.kernel = nachos.vm.VMKernel
13 changes: 13 additions & 0 deletions conf/proj4.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Machine.stubFileSystem = true
Machine.processor = true
Machine.console = true
Machine.graphicalConsole = false
Machine.networkLink = true
Processor.usingTLB = true
Processor.numPhysPages = 16
NetworkLink.reliability = 1.0 # use 0.9 when you're ready
NachosSecurityManager.fullySecure = false
ThreadedKernel.scheduler = nachos.threads.RoundRobinScheduler
Kernel.shellProgram = sh.coff
Kernel.processClassName = nachos.network.NetProcess
Kernel.kernel = nachos.network.NetKernel
1 change: 1 addition & 0 deletions doc/USAGE
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Put your project documents and generated javadoc here.
23 changes: 23 additions & 0 deletions doc/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
nachos readme - ���� 5080309105
1����ɶ�
�����4��phase���������ݣ�
Phase 1: Build a thread system
Phase 2: Multiprogramming
Phase 3: Caching and Virtual Memory
Phase 5: File System
2��filesys������
a. support absolute and relative path
b. support "." and ".."
c. support deletion of the current folder
d. support exclusive write and concurrent read
ģ��Java�е�ReadWriteLockʵ�ֵ�
e. ����Ŀ¼ֻ��һ��
f. ��ǰ����Ŀ¼��ɾ����������һ��Ŀ¼
g. ����symlink��Ŀ����м�飬symlinkָ���ļ�������Ч��
3��bonus
��2.a, 2.b, 2.c, 2.d
4������
ϣ���ܹ��ڿ�ʼдÿ��phase��ʱ����ܵõ����Լ������������������ڷ��ִ���
ϣ�����Լ������Ϲ淶�������ܹ�����һ���ط���ʶ�����
deadlineӦ����ǰһ�ܡ�

Binary file added nachos-disk.dat
Binary file not shown.
14 changes: 14 additions & 0 deletions nachos.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Machine.stubFileSystem = true
Machine.processor = true
Machine.console = true
Machine.graphicalConsole = false
Machine.networkLink = false
Processor.usingTLB = true
Processor.numPhysPages = 16
NachosSecurityManager.fullySecure = false
ThreadedKernel.scheduler = nachos.threads.PriorityScheduler
Kernel.shellProgram = sh.coff
Kernel.processClassName = nachos.filesys.FilesysProcess
Kernel.kernel = nachos.filesys.FilesysKernel
FilesysKernel.format = true
Machine.realFileSystem = true
14 changes: 14 additions & 0 deletions proj4.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Machine.stubFileSystem = true
Machine.processor = true
Machine.console = true
Machine.graphicalConsole = false
Machine.networkLink = false
Processor.usingTLB = true
Processor.numPhysPages = 16
NachosSecurityManager.fullySecure = false
ThreadedKernel.scheduler = nachos.threads.PriorityScheduler
Kernel.shellProgram = sh.coff
Kernel.processClassName = nachos.filesys.FilesysProcess
Kernel.kernel = nachos.filesys.FilesysKernel
FilesysKernel.format = false
Machine.realFileSystem = true
Loading

0 comments on commit 79fb0db

Please sign in to comment.