实例介绍
包括信号量,线程,分页的实现(ASST1~3)来自University of Waterloo。仅供参考……
【实例截图】
【核心代码】
16359647492399423201.rar
└── a3_sunyang4
├── base-design.txt
├── design_document
└── src
├── build
│ └── user
│ └── testbin
│ └── exittest
├── CHANGES
├── common
│ ├── gcc-millicode
│ │ ├── adddi3.c
│ │ ├── anddi3.c
│ │ ├── ashldi3.c
│ │ ├── ashrdi3.c
│ │ ├── cmpdi2.c
│ │ ├── divdi3.c
│ │ ├── iordi3.c
│ │ ├── longlong.h
│ │ ├── lshldi3.c
│ │ ├── lshrdi3.c
│ │ ├── moddi3.c
│ │ ├── muldi3.c
│ │ ├── negdi2.c
│ │ ├── notdi2.c
│ │ ├── qdivrem.c
│ │ ├── README
│ │ ├── subdi3.c
│ │ ├── ucmpdi2.c
│ │ ├── udivdi3.c
│ │ ├── umoddi3.c
│ │ └── xordi3.c
│ └── libc
│ ├── arch
│ │ └── mips
│ │ └── setjmp.S
│ ├── printf
│ │ ├── __printf.c
│ │ └── snprintf.c
│ ├── stdlib
│ │ └── atoi.c
│ └── string
│ ├── bzero.c
│ ├── memcpy.c
│ ├── memmove.c
│ ├── strcat.c
│ ├── strchr.c
│ ├── strcmp.c
│ ├── strcpy.c
│ ├── strlen.c
│ ├── strrchr.c
│ └── strtok_r.c
├── configure
├── design
│ ├── shell.txt
│ └── usermalloc.txt
├── kern
│ ├── arch
│ │ ├── mips
│ │ │ ├── conf
│ │ │ │ ├── conf.arch
│ │ │ │ └── ldscript
│ │ │ ├── include
│ │ │ │ ├── coremap.h
│ │ │ │ ├── current.h
│ │ │ │ ├── elf.h
│ │ │ │ ├── kern
│ │ │ │ │ ├── endian.h
│ │ │ │ │ ├── regdefs.h
│ │ │ │ │ ├── setjmp.h
│ │ │ │ │ ├── signal.h
│ │ │ │ │ └── types.h
│ │ │ │ ├── specialreg.h
│ │ │ │ ├── spinlock.h
│ │ │ │ ├── thread.h
│ │ │ │ ├── tlb.h
│ │ │ │ ├── trapframe.h
│ │ │ │ ├── types.h
│ │ │ │ └── vm.h
│ │ │ ├── locore
│ │ │ │ ├── cache-mips161.S
│ │ │ │ ├── exception-mips1.S
│ │ │ │ └── trap.c
│ │ │ ├── syscall
│ │ │ │ └── syscall.c
│ │ │ ├── thread
│ │ │ │ ├── cpu.c
│ │ │ │ ├── switchframe.c
│ │ │ │ ├── switchframe.h
│ │ │ │ ├── switch.S
│ │ │ │ ├── thread_machdep.c
│ │ │ │ └── threadstart.S
│ │ │ └── vm
│ │ │ ├── coremap.c
│ │ │ ├── dumbvm.c
│ │ │ ├── ram.c
│ │ │ ├── tlb-mips1.S
│ │ │ └── vm.c
│ │ └── sys161
│ │ ├── conf
│ │ │ └── conf.arch
│ │ ├── dev
│ │ │ └── lamebus_machdep.c
│ │ ├── include
│ │ │ ├── bus.h
│ │ │ └── maxcpus.h
│ │ └── startup
│ │ └── start.S
│ ├── compile
│ ├── conf
│ │ ├── ASST1
│ │ ├── ASST2
│ │ ├── ASST3-CLOCK
│ │ ├── ASST3-FIFO
│ │ ├── config
│ │ ├── conf.kern
│ │ └── newvers.sh
│ ├── dev
│ │ ├── generic
│ │ │ ├── beep.c
│ │ │ ├── beep.h
│ │ │ ├── console.c
│ │ │ ├── console.h
│ │ │ ├── random.c
│ │ │ ├── random.h
│ │ │ ├── rtclock.c
│ │ │ └── rtclock.h
│ │ └── lamebus
│ │ ├── beep_ltimer.c
│ │ ├── conf.lamebus
│ │ ├── con_lscreen.c
│ │ ├── con_lser.c
│ │ ├── emu_att.c
│ │ ├── emu.c
│ │ ├── emu.h
│ │ ├── lamebus.c
│ │ ├── lamebus.h
│ │ ├── lhd_att.c
│ │ ├── lhd.c
│ │ ├── lhd.h
│ │ ├── lnet_att.c
│ │ ├── lnet.c
│ │ ├── lrandom_att.c
│ │ ├── lrandom.c
│ │ ├── lrandom.h
│ │ ├── lscreen_att.c
│ │ ├── lscreen.c
│ │ ├── lscreen.h
│ │ ├── lser_att.c
│ │ ├── lser.c
│ │ ├── lser.h
│ │ ├── ltimer_att.c
│ │ ├── ltimer.c
│ │ ├── ltimer.h
│ │ ├── ltrace_att.c
│ │ ├── ltrace.c
│ │ ├── ltrace.h
│ │ ├── random_lrandom.c
│ │ └── rtclock_ltimer.c
│ ├── fs
│ │ └── sfs
│ │ ├── sfs_fsops.c
│ │ ├── sfs_io.c
│ │ └── sfs_vnops.c
│ ├── include
│ │ ├── addrspace.h
│ │ ├── array.h
│ │ ├── bitmap.h
│ │ ├── cdefs.h
│ │ ├── clock.h
│ │ ├── copyinout.h
│ │ ├── cpu.h
│ │ ├── current.h
│ │ ├── device.h
│ │ ├── elf.h
│ │ ├── emufs.h
│ │ ├── endian.h
│ │ ├── fs.h
│ │ ├── kern
│ │ │ ├── endian.h
│ │ │ ├── errmsg.h
│ │ │ ├── errno.h
│ │ │ ├── fcntl.h
│ │ │ ├── ioctl.h
│ │ │ ├── iovec.h
│ │ │ ├── limits.h
│ │ │ ├── reboot.h
│ │ │ ├── resource.h
│ │ │ ├── seek.h
│ │ │ ├── sfs.h
│ │ │ ├── signal.h
│ │ │ ├── socket.h
│ │ │ ├── stat.h
│ │ │ ├── stattypes.h
│ │ │ ├── syscall.h
│ │ │ ├── time.h
│ │ │ ├── types.h
│ │ │ ├── unistd.h
│ │ │ └── wait.h
│ │ ├── lib.h
│ │ ├── limits.h
│ │ ├── mainbus.h
│ │ ├── pid.h
│ │ ├── setjmp.h
│ │ ├── sfs.h
│ │ ├── signal.h
│ │ ├── spinlock.h
│ │ ├── spl.h
│ │ ├── stat.h
│ │ ├── stdarg.h
│ │ ├── synch.h
│ │ ├── syscall.h
│ │ ├── test.h
│ │ ├── thread.h
│ │ ├── threadlist.h
│ │ ├── threadprivate.h
│ │ ├── types.h
│ │ ├── uio.h
│ │ ├── version.h
│ │ ├── vfs.h
│ │ ├── vm.h
│ │ ├── vmprivate.h
│ │ ├── vnode.h
│ │ └── wchan.h
│ ├── lib
│ │ ├── array.c
│ │ ├── bitmap.c
│ │ ├── bswap.c
│ │ ├── kgets.c
│ │ ├── kprintf.c
│ │ ├── misc.c
│ │ └── uio.c
│ ├── Makefile
│ ├── startup
│ │ ├── main.c
│ │ ├── menu.c
│ │ └── OUT
│ ├── synchprobs
│ │ └── whalemating.c
│ ├── syscall
│ │ ├── file_syscalls.c
│ │ ├── loadelf.c
│ │ ├── proc_syscalls.c
│ │ ├── runprogram.c
│ │ └── time_syscalls.c
│ ├── test
│ │ ├── arraytest.c
│ │ ├── bitmaptest.c
│ │ ├── coremaptest.c
│ │ ├── fstest.c
│ │ ├── malloctest.c
│ │ ├── nettest.c
│ │ ├── synchtest.c
│ │ ├── threadtest.c
│ │ ├── tt3.c
│ │ └── waittest.c
│ ├── thread
│ │ ├── clock.c
│ │ ├── pid.c
│ │ ├── spinlock.c
│ │ ├── spl.c
│ │ ├── synch.c
│ │ ├── thread.c
│ │ └── threadlist.c
│ ├── vfs
│ │ ├── device.c
│ │ ├── devnull.c
│ │ ├── vfscwd.c
│ │ ├── vfslist.c
│ │ ├── vfslookup.c
│ │ ├── vfspath.c
│ │ └── vnode.c
│ └── vm
│ ├── addrspace.c
│ ├── copyinout.c
│ ├── kmalloc.c
│ ├── lpage.c
│ ├── swap.c
│ └── vmobj.c
├── Makefile
├── man
│ ├── bin
│ │ ├── cat.html
│ │ ├── cp.html
│ │ ├── false.html
│ │ ├── index.html
│ │ ├── ln.html
│ │ ├── ls.html
│ │ ├── Makefile
│ │ ├── mkdir.html
│ │ ├── mv.html
│ │ ├── pwd.html
│ │ ├── rmdir.html
│ │ ├── rm.html
│ │ ├── sh.html
│ │ ├── sync.html
│ │ └── true.html
│ ├── dev
│ │ ├── beep.html
│ │ ├── console.html
│ │ ├── emu.html
│ │ ├── index.html
│ │ ├── lamebus.html
│ │ ├── lhd.html
│ │ ├── lnet.html
│ │ ├── lrandom.html
│ │ ├── lscreen.html
│ │ ├── lser.html
│ │ ├── ltimer.html
│ │ ├── Makefile
│ │ ├── null.html
│ │ ├── random.html
│ │ └── rtclock.html
│ ├── libc
│ │ ├── abort.html
│ │ ├── assert.html
│ │ ├── atoi.html
│ │ ├── bzero.html
│ │ ├── calloc.html
│ │ ├── err.html
│ │ ├── exit.html
│ │ ├── free.html
│ │ ├── getchar.html
│ │ ├── getcwd.html
│ │ ├── index.html
│ │ ├── Makefile
│ │ ├── malloc.html
│ │ ├── memcpy.html
│ │ ├── memmove.html
│ │ ├── memset.html
│ │ ├── printf.html
│ │ ├── putchar.html
│ │ ├── puts.html
│ │ ├── random.html
│ │ ├── realloc.html
│ │ ├── setjmp.html
│ │ ├── snprintf.html
│ │ ├── stdarg.html
│ │ ├── strcat.html
│ │ ├── strchr.html
│ │ ├── strcmp.html
│ │ ├── strcpy.html
│ │ ├── strerror.html
│ │ ├── strlen.html
│ │ ├── strrchr.html
│ │ ├── strtok.html
│ │ ├── strtok_r.html
│ │ ├── system.html
│ │ ├── time.html
│ │ ├── __vprintf.html
│ │ └── warn.html
│ ├── Makefile
│ ├── misc
│ │ ├── index.html
│ │ └── Makefile
│ ├── sbin
│ │ ├── dumpsfs.html
│ │ ├── halt.html
│ │ ├── index.html
│ │ ├── Makefile
│ │ ├── mksfs.html
│ │ ├── poweroff.html
│ │ └── reboot.html
│ ├── syscall
│ │ ├── chdir.html
│ │ ├── close.html
│ │ ├── dup2.html
│ │ ├── errno.html
│ │ ├── execv.html
│ │ ├── _exit.html
│ │ ├── fork.html
│ │ ├── fstat.html
│ │ ├── fsync.html
│ │ ├── ftruncate.html
│ │ ├── __getcwd.html
│ │ ├── getdirentry.html
│ │ ├── getpid.html
│ │ ├── index.html
│ │ ├── ioctl.html
│ │ ├── link.html
│ │ ├── lseek.html
│ │ ├── lstat.html
│ │ ├── Makefile
│ │ ├── mkdir.html
│ │ ├── open.html
│ │ ├── pipe.html
│ │ ├── read.html
│ │ ├── readlink.html
│ │ ├── reboot.html
│ │ ├── remove.html
│ │ ├── rename.html
│ │ ├── rmdir.html
│ │ ├── sbrk.html
│ │ ├── stat.html
│ │ ├── symlink.html
│ │ ├── sync.html
│ │ ├── __time.html
│ │ ├── waitpid.html
│ │ └── write.html
│ ├── testbin
│ │ ├── add.html
│ │ ├── argtest.html
│ │ ├── badcall.html
│ │ ├── bigfile.html
│ │ ├── conman.html
│ │ ├── crash.html
│ │ ├── ctest.html
│ │ ├── dirseek.html
│ │ ├── dirtest.html
│ │ ├── farm.html
│ │ ├── faulter.html
│ │ ├── filetest.html
│ │ ├── forkbomb.html
│ │ ├── forktest.html
│ │ ├── f_test.html
│ │ ├── guzzle.html
│ │ ├── hash.html
│ │ ├── hog.html
│ │ ├── huge.html
│ │ ├── index.html
│ │ ├── kitchen.html
│ │ ├── Makefile
│ │ ├── malloctest.html
│ │ ├── matmult.html
│ │ ├── palin.html
│ │ ├── randcall.html
│ │ ├── rmdirtest.html
│ │ ├── rmtest.html
│ │ ├── sink.html
│ │ ├── sort.html
│ │ ├── sty.html
│ │ ├── tail.html
│ │ ├── tictac.html
│ │ ├── triplehuge.html
│ │ ├── triplemat.html
│ │ ├── triplesort.html
│ │ └── userthreads.html
│ └── toplevel
│ ├── index.html
│ └── Makefile
├── mk
│ ├── installheaders.sh
│ ├── os161.baserules.mk
│ ├── os161.compile.mk
│ ├── os161.config-mips.mk
│ ├── os161.config.mk
│ ├── os161.hostcompile.mk
│ ├── os161.hostlib.mk
│ ├── os161.hostprog.mk
│ ├── os161.includes.mk
│ ├── os161.kernel.mk
│ ├── os161.lib.mk
│ ├── os161.man.mk
│ ├── os161.mkdirs.mk
│ ├── os161.prog.mk
│ └── os161.subdir.mk
├── sys161.conf
└── user
├── bin
│ ├── cat
│ │ ├── cat.c
│ │ └── Makefile
│ ├── cp
│ │ ├── cp.c
│ │ └── Makefile
│ ├── false
│ │ ├── false.c
│ │ └── Makefile
│ ├── ln
│ │ ├── ln.c
│ │ └── Makefile
│ ├── ls
│ │ ├── ls.c
│ │ └── Makefile
│ ├── Makefile
│ ├── mkdir
│ │ ├── Makefile
│ │ └── mkdir.c
│ ├── mv
│ │ ├── Makefile
│ │ └── mv.c
│ ├── pwd
│ │ ├── Makefile
│ │ └── pwd.c
│ ├── rm
│ │ ├── Makefile
│ │ └── rm.c
│ ├── rmdir
│ │ ├── Makefile
│ │ └── rmdir.c
│ ├── sh
│ │ ├── Makefile
│ │ └── sh.c
│ ├── sync
│ │ ├── Makefile
│ │ └── sync.c
│ └── true
│ ├── Makefile
│ └── true.c
├── include
│ ├── assert.h
│ ├── err.h
│ ├── errno.h
│ ├── fcntl.h
│ ├── limits.h
│ ├── setjmp.h
│ ├── signal.h
│ ├── stdarg.h
│ ├── stdint.h
│ ├── stdio.h
│ ├── stdlib.h
│ ├── string.h
│ ├── sys
│ │ ├── endian.h
│ │ ├── ioctl.h
│ │ ├── null.h
│ │ ├── reboot.h
│ │ ├── stat.h
│ │ ├── types.h
│ │ └── wait.h
│ ├── time.h
│ ├── types
│ │ └── size_t.h
│ └── unistd.h
├── lib
│ ├── crt0
│ │ ├── Makefile
│ │ └── mips
│ │ └── crt0.S
│ ├── hostcompat
│ │ ├── err.c
│ │ ├── hostcompat.c
│ │ ├── hostcompat.h
│ │ ├── host-err.h
│ │ ├── Makefile
│ │ └── time.c
│ ├── libc
│ │ ├── arch
│ │ │ └── mips
│ │ │ └── syscalls-mips.S
│ │ ├── Makefile
│ │ ├── stdio
│ │ │ ├── getchar.c
│ │ │ ├── printf.c
│ │ │ ├── putchar.c
│ │ │ ├── __puts.c
│ │ │ └── puts.c
│ │ ├── stdlib
│ │ │ ├── abort.c
│ │ │ ├── exit.c
│ │ │ ├── malloc.c
│ │ │ ├── random.c
│ │ │ └── system.c
│ │ ├── string
│ │ │ ├── memcmp.c
│ │ │ ├── memset.c
│ │ │ ├── strerror.c
│ │ │ └── strtok.c
│ │ ├── syscalls
│ │ │ └── gensyscalls.sh
│ │ ├── time
│ │ │ └── time.c
│ │ └── unix
│ │ ├── __assert.c
│ │ ├── err.c
│ │ ├── errno.c
│ │ └── getcwd.c
│ └── Makefile
├── Makefile
├── sbin
│ ├── dumpsfs
│ │ ├── dumpsfs.c
│ │ └── Makefile
│ ├── halt
│ │ ├── halt.c
│ │ └── Makefile
│ ├── Makefile
│ ├── mksfs
│ │ ├── disk.c
│ │ ├── disk.h
│ │ ├── Makefile
│ │ ├── mksfs.c
│ │ ├── support.c
│ │ └── support.h
│ ├── poweroff
│ │ ├── Makefile
│ │ └── poweroff.c
│ ├── reboot
│ │ ├── Makefile
│ │ └── reboot.c
│ └── sfsck
│ ├── Makefile
│ └── sfsck.c
└── testbin
├── add
│ ├── add.c
│ └── Makefile
├── argtest
│ ├── argtest.c
│ └── Makefile
├── badcall
│ ├── bad_chdir.c
│ ├── bad_close.c
│ ├── bad_dup2.c
│ ├── bad_execv.c
│ ├── bad_fsync.c
│ ├── bad_ftruncate.c
│ ├── bad_getcwd.c
│ ├── bad_getdirentry.c
│ ├── bad_ioctl.c
│ ├── bad_link.c
│ ├── bad_lseek.c
│ ├── bad_mkdir.c
│ ├── bad_open.c
│ ├── bad_pipe.c
│ ├── bad_read.c
│ ├── bad_readlink.c
│ ├── bad_reboot.c
│ ├── bad_remove.c
│ ├── bad_rename.c
│ ├── bad_rmdir.c
│ ├── bad_sbrk.c
│ ├── bad_stat.c
│ ├── bad_symlink.c
│ ├── bad_time.c
│ ├── bad_waitpid.c
│ ├── bad_write.c
│ ├── common_buf.c
│ ├── common_fds.c
│ ├── common_path.c
│ ├── config.h
│ ├── driver.c
│ ├── Makefile
│ └── test.h
├── bigexec
│ ├── bigexec.c
│ └── Makefile
├── bigfile
│ ├── bigfile.c
│ └── Makefile
├── conman
│ ├── conman.c
│ └── Makefile
├── crash
│ ├── crash.c
│ └── Makefile
├── ctest
│ ├── ctest.c
│ └── Makefile
├── dirconc
│ ├── dirconc.c
│ └── Makefile
├── dirseek
│ ├── dirseek.c
│ └── Makefile
├── dirtest
│ ├── dirtest.c
│ └── Makefile
├── exittest
│ ├── exittest.c
│ └── Makefile
├── farm
│ ├── farm.c
│ └── Makefile
├── faulter
│ ├── faulter.c
│ └── Makefile
├── filetest
│ ├── filetest.c
│ └── Makefile
├── forkbomb
│ ├── forkbomb.c
│ └── Makefile
├── forktest
│ ├── forktest.c
│ └── Makefile
├── f_test
│ ├── f_hdr.h
│ ├── f_read.c
│ ├── f_test.c
│ ├── f_write.c
│ └── Makefile
├── guzzle
│ ├── guzzle.c
│ └── Makefile
├── hash
│ ├── hash.c
│ └── Makefile
├── hog
│ ├── hog.c
│ └── Makefile
├── huge
│ ├── huge.c
│ └── Makefile
├── kitchen
│ ├── kitchen.c
│ └── Makefile
├── Makefile
├── malloctest
│ ├── Makefile
│ └── malloctest.c
├── matmult
│ ├── Makefile
│ ├── matmult.c
│ └── matmult-orig.c
├── palin
│ ├── Makefile
│ └── palin.c
├── parallelvm
│ ├── Makefile
│ └── parallelvm.c
├── printchartest
│ ├── Makefile
│ └── printchartest.c
├── psort
│ ├── Makefile
│ └── psort.c
├── randcall
│ ├── callspecs.txt
│ ├── extern.h
│ ├── gencalls.sh
│ ├── main.c
│ └── Makefile
├── rmdirtest
│ ├── Makefile
│ └── rmdirtest.c
├── rmtest
│ ├── Makefile
│ └── rmtest.c
├── sink
│ ├── Makefile
│ └── sink.c
├── sort
│ ├── Makefile
│ └── sort.c
├── sty
│ ├── Makefile
│ └── sty.c
├── tail
│ ├── Makefile
│ └── tail.c
├── tictac
│ ├── Makefile
│ └── tictac.c
├── triplehuge
│ ├── Makefile
│ ├── triple.c
│ ├── triple.h
│ └── triplehuge.c
├── triplemat
│ ├── Makefile
│ ├── triple.c
│ ├── triple.h
│ └── triplemat.c
├── triplesort
│ ├── Makefile
│ ├── triple.c
│ ├── triple.h
│ └── triplesort.c
└── userthreads
├── Makefile
└── userthreads.c
137 directories, 625 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论