文件名称:ucore-lab5
-
所属分类:
- 标签属性:
- 上传时间:2012-10-31
-
文件大小:978.69kb
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
Ucore是一个很小的适于学习的操作系统,此“麻雀”包含虚存管理、进程管理、处理器调度、同步互斥、进程间通信、文件系统等主要内核功能,总的内核代码量(C+asm)不会超过5K行。充分体现了“小而全”的指导思想。
这是ucore的实验5:进程同步。实验目的:熟悉ucore中的进程同步机制,了解操作系统为进程同步提供的底层支持;在ucore中实现信号量(semaphore)机制;理解管程机制,在ucore中增加对条件变量(condition variable)的支持;了解经典进程同步问题,并使用现有同步机制解决进程同步问题。-Ucore is a small operating system for learning, the " Sparrow" contains the virtual memory management, process management, processor scheduling, synchronization mutually exclusive, inter-process communication, file system and other major kernel functions, the total amount of kernel code ( C+ asm) no more than 5K lines. Fully embodies the " small" the guiding ideology. This is ucore experiment 5: the process of synchronization. Purpose: familiar ucore in the process of synchronization mechanisms, understanding of the operating system to provide underlying support for process synchronization in ucore implement semaphore (semaphore) mechanism understand the management process mechanism, the increase in ucore condition variable (condition variable) of support understand the classical process synchronization, and synchronization mechanisms to use existing settlement process synchronization problem.
这是ucore的实验5:进程同步。实验目的:熟悉ucore中的进程同步机制,了解操作系统为进程同步提供的底层支持;在ucore中实现信号量(semaphore)机制;理解管程机制,在ucore中增加对条件变量(condition variable)的支持;了解经典进程同步问题,并使用现有同步机制解决进程同步问题。-Ucore is a small operating system for learning, the " Sparrow" contains the virtual memory management, process management, processor scheduling, synchronization mutually exclusive, inter-process communication, file system and other major kernel functions, the total amount of kernel code ( C+ asm) no more than 5K lines. Fully embodies the " small" the guiding ideology. This is ucore experiment 5: the process of synchronization. Purpose: familiar ucore in the process of synchronization mechanisms, understanding of the operating system to provide underlying support for process synchronization in ucore implement semaphore (semaphore) mechanism understand the management process mechanism, the increase in ucore condition variable (condition variable) of support understand the classical process synchronization, and synchronization mechanisms to use existing settlement process synchronization problem.
(系统自动生成,下载前可以参看下载内容)
下载文件列表
ucore-lab5/20110518-lab5-v2.pdf
ucore-lab5/lab5_report.txt
ucore-lab5/proj16/boot/asm.h
ucore-lab5/proj16/boot/bootasm.S
ucore-lab5/proj16/boot/bootmain.c
ucore-lab5/proj16/init
ucore-lab5/proj16/kern/debug/assert.h
ucore-lab5/proj16/kern/debug/kdebug.c
ucore-lab5/proj16/kern/debug/kdebug.h
ucore-lab5/proj16/kern/debug/monitor.c
ucore-lab5/proj16/kern/debug/monitor.h
ucore-lab5/proj16/kern/debug/panic.c
ucore-lab5/proj16/kern/debug/stab.h
ucore-lab5/proj16/kern/driver/clock.c
ucore-lab5/proj16/kern/driver/clock.h
ucore-lab5/proj16/kern/driver/console.c
ucore-lab5/proj16/kern/driver/console.h
ucore-lab5/proj16/kern/driver/ide.c
ucore-lab5/proj16/kern/driver/ide.h
ucore-lab5/proj16/kern/driver/intr.c
ucore-lab5/proj16/kern/driver/intr.h
ucore-lab5/proj16/kern/driver/kbdreg.h
ucore-lab5/proj16/kern/driver/picirq.c
ucore-lab5/proj16/kern/driver/picirq.h
ucore-lab5/proj16/kern/fs/fs.h
ucore-lab5/proj16/kern/fs/swapfs.c
ucore-lab5/proj16/kern/fs/swapfs.h
ucore-lab5/proj16/kern/init/entry.S
ucore-lab5/proj16/kern/init/init.c
ucore-lab5/proj16/kern/libs/rb_tree.c
ucore-lab5/proj16/kern/libs/rb_tree.h
ucore-lab5/proj16/kern/libs/readline.c
ucore-lab5/proj16/kern/libs/stdio.c
ucore-lab5/proj16/kern/mm/buddy_pmm.c
ucore-lab5/proj16/kern/mm/buddy_pmm.h
ucore-lab5/proj16/kern/mm/memlayout.h
ucore-lab5/proj16/kern/mm/mmu.h
ucore-lab5/proj16/kern/mm/pmm.c
ucore-lab5/proj16/kern/mm/pmm.h
ucore-lab5/proj16/kern/mm/shmem.c
ucore-lab5/proj16/kern/mm/shmem.h
ucore-lab5/proj16/kern/mm/slab.c
ucore-lab5/proj16/kern/mm/slab.h
ucore-lab5/proj16/kern/mm/swap.c
ucore-lab5/proj16/kern/mm/swap.h
ucore-lab5/proj16/kern/mm/vmm.c
ucore-lab5/proj16/kern/mm/vmm.h
ucore-lab5/proj16/kern/process/entry.S
ucore-lab5/proj16/kern/process/proc.c
ucore-lab5/proj16/kern/process/proc.h
ucore-lab5/proj16/kern/process/switch.S
ucore-lab5/proj16/kern/schedule/sched.c
ucore-lab5/proj16/kern/schedule/sched.h
ucore-lab5/proj16/kern/schedule/sched_MLFQ.c
ucore-lab5/proj16/kern/schedule/sched_MLFQ.h
ucore-lab5/proj16/kern/schedule/sched_RR.c
ucore-lab5/proj16/kern/schedule/sched_RR.h
ucore-lab5/proj16/kern/sync/condition.h
ucore-lab5/proj16/kern/sync/event.c
ucore-lab5/proj16/kern/sync/event.h
ucore-lab5/proj16/kern/sync/ipc.h
ucore-lab5/proj16/kern/sync/klock.h
ucore-lab5/proj16/kern/sync/mbox.c
ucore-lab5/proj16/kern/sync/mbox.h
ucore-lab5/proj16/kern/sync/sem.c
ucore-lab5/proj16/kern/sync/sem.h
ucore-lab5/proj16/kern/sync/sync.c
ucore-lab5/proj16/kern/sync/sync.h
ucore-lab5/proj16/kern/sync/wait.c
ucore-lab5/proj16/kern/sync/wait.h
ucore-lab5/proj16/kern/syscall/syscall.c
ucore-lab5/proj16/kern/syscall/syscall.h
ucore-lab5/proj16/kern/trap/trap.c
ucore-lab5/proj16/kern/trap/trap.h
ucore-lab5/proj16/kern/trap/trapentry.S
ucore-lab5/proj16/kern/trap/vectors.S
ucore-lab5/proj16/libs/atomic.h
ucore-lab5/proj16/libs/elf.h
ucore-lab5/proj16/libs/error.h
ucore-lab5/proj16/libs/hash.c
ucore-lab5/proj16/libs/list.h
ucore-lab5/proj16/libs/mboxbuf.h
ucore-lab5/proj16/libs/printfmt.c
ucore-lab5/proj16/libs/rand.c
ucore-lab5/proj16/libs/stdarg.h
ucore-lab5/proj16/libs/stdio.h
ucore-lab5/proj16/libs/stdlib.h
ucore-lab5/proj16/libs/string.c
ucore-lab5/proj16/libs/string.h
ucore-lab5/proj16/libs/types.h
ucore-lab5/proj16/libs/unistd.h
ucore-lab5/proj16/libs/x86.h
ucore-lab5/proj16/Makefile
ucore-lab5/proj16/oslab5_proj16.IAB
ucore-lab5/proj16/oslab5_proj16.IAD
ucore-lab5/proj16/oslab5_proj16.IMB
ucore-lab5/proj16/oslab5_proj16.IMD
ucore-lab5/proj16/oslab5_proj16.PFI
ucore-lab5/proj16/oslab5_proj16.PO
ucore-lab5/proj16/oslab5_proj16.PR
ucore-lab5/proj16/oslab5_proj16.PRI
ucore-lab5/proj16/oslab5_proj16.PS
ucore-lab5/proj16/oslab5_proj16.udb
ucore-lab5/proj16/oslab5_proj16.WK3
ucore-lab5/proj16/tmp
ucore-lab5/proj16/tools/function.mk
ucore-lab5/proj16/tools/gdbinit
ucore-lab5/proj16/tools/grade.sh
ucore-lab5/proj16/tools/kernel.ld
ucore-lab5/proj16/tools/sign.c
ucore-lab5/proj16/tools/user.ld
ucore-lab5/proj16/tools/vector.c
ucore-lab5/proj16/user/badarg.c
ucore-lab5/proj16/user/badbrktest.c
ucore-lab5/proj16/user/badsegment.c
ucore-lab5/proj16/user/brkfreetest.c
ucore-lab5/proj16/user/brktest.c
ucore-lab5/proj16/user/buggy_event.c
ucore-lab5/proj16/user/buggy_wait.c
ucore-lab5/proj16/user/buggy_wait2.c
ucore-lab5/proj16/user/cdt_pc.c
ucore-lab5/proj16/user/cdt_wf.c
ucore-lab5/proj16/user/cowtest.c
ucore-lab5/proj16/user/divzero.c
ucore-lab5/proj16/user/eventtest.c
ucore-lab5/proj16/user/exit.c
ucore-lab5/proj16/user/faultread.c
ucore-lab5/proj16/user/faultreadkernel.c
ucore-lab5/proj16/user/forktest.c
ucore-lab5/proj16/user/forktree.c
ucore-lab5/proj16/user/hello.c
ucore-lab5/proj16/user/libs/clone.S
ucore-lab5/proj16/user/libs/initcode.S
ucore-lab5/proj16/user/libs/lock.h
ucore-lab5/proj16/user/libs/malloc.c
ucore-lab5/proj16/user/libs/malloc.h
ucore-lab5/proj16/user/libs/panic.c
ucore-lab5/proj16/user/libs/spipe.c
ucore-lab5/proj16/user/libs/spipe.h
ucore-lab5/proj16/user/libs/stdio.c
ucore-lab5/proj16/user/libs/syscall.c
ucore-lab5/proj16/user/libs/syscall.h
ucore-lab5/proj16/user/libs/thread.c
ucore-lab5/proj16/user/libs/thread.h
ucore-lab5/proj16/user/libs/ulib.c
ucore-lab5/proj16/us
ucore-lab5/lab5_report.txt
ucore-lab5/proj16/boot/asm.h
ucore-lab5/proj16/boot/bootasm.S
ucore-lab5/proj16/boot/bootmain.c
ucore-lab5/proj16/init
ucore-lab5/proj16/kern/debug/assert.h
ucore-lab5/proj16/kern/debug/kdebug.c
ucore-lab5/proj16/kern/debug/kdebug.h
ucore-lab5/proj16/kern/debug/monitor.c
ucore-lab5/proj16/kern/debug/monitor.h
ucore-lab5/proj16/kern/debug/panic.c
ucore-lab5/proj16/kern/debug/stab.h
ucore-lab5/proj16/kern/driver/clock.c
ucore-lab5/proj16/kern/driver/clock.h
ucore-lab5/proj16/kern/driver/console.c
ucore-lab5/proj16/kern/driver/console.h
ucore-lab5/proj16/kern/driver/ide.c
ucore-lab5/proj16/kern/driver/ide.h
ucore-lab5/proj16/kern/driver/intr.c
ucore-lab5/proj16/kern/driver/intr.h
ucore-lab5/proj16/kern/driver/kbdreg.h
ucore-lab5/proj16/kern/driver/picirq.c
ucore-lab5/proj16/kern/driver/picirq.h
ucore-lab5/proj16/kern/fs/fs.h
ucore-lab5/proj16/kern/fs/swapfs.c
ucore-lab5/proj16/kern/fs/swapfs.h
ucore-lab5/proj16/kern/init/entry.S
ucore-lab5/proj16/kern/init/init.c
ucore-lab5/proj16/kern/libs/rb_tree.c
ucore-lab5/proj16/kern/libs/rb_tree.h
ucore-lab5/proj16/kern/libs/readline.c
ucore-lab5/proj16/kern/libs/stdio.c
ucore-lab5/proj16/kern/mm/buddy_pmm.c
ucore-lab5/proj16/kern/mm/buddy_pmm.h
ucore-lab5/proj16/kern/mm/memlayout.h
ucore-lab5/proj16/kern/mm/mmu.h
ucore-lab5/proj16/kern/mm/pmm.c
ucore-lab5/proj16/kern/mm/pmm.h
ucore-lab5/proj16/kern/mm/shmem.c
ucore-lab5/proj16/kern/mm/shmem.h
ucore-lab5/proj16/kern/mm/slab.c
ucore-lab5/proj16/kern/mm/slab.h
ucore-lab5/proj16/kern/mm/swap.c
ucore-lab5/proj16/kern/mm/swap.h
ucore-lab5/proj16/kern/mm/vmm.c
ucore-lab5/proj16/kern/mm/vmm.h
ucore-lab5/proj16/kern/process/entry.S
ucore-lab5/proj16/kern/process/proc.c
ucore-lab5/proj16/kern/process/proc.h
ucore-lab5/proj16/kern/process/switch.S
ucore-lab5/proj16/kern/schedule/sched.c
ucore-lab5/proj16/kern/schedule/sched.h
ucore-lab5/proj16/kern/schedule/sched_MLFQ.c
ucore-lab5/proj16/kern/schedule/sched_MLFQ.h
ucore-lab5/proj16/kern/schedule/sched_RR.c
ucore-lab5/proj16/kern/schedule/sched_RR.h
ucore-lab5/proj16/kern/sync/condition.h
ucore-lab5/proj16/kern/sync/event.c
ucore-lab5/proj16/kern/sync/event.h
ucore-lab5/proj16/kern/sync/ipc.h
ucore-lab5/proj16/kern/sync/klock.h
ucore-lab5/proj16/kern/sync/mbox.c
ucore-lab5/proj16/kern/sync/mbox.h
ucore-lab5/proj16/kern/sync/sem.c
ucore-lab5/proj16/kern/sync/sem.h
ucore-lab5/proj16/kern/sync/sync.c
ucore-lab5/proj16/kern/sync/sync.h
ucore-lab5/proj16/kern/sync/wait.c
ucore-lab5/proj16/kern/sync/wait.h
ucore-lab5/proj16/kern/syscall/syscall.c
ucore-lab5/proj16/kern/syscall/syscall.h
ucore-lab5/proj16/kern/trap/trap.c
ucore-lab5/proj16/kern/trap/trap.h
ucore-lab5/proj16/kern/trap/trapentry.S
ucore-lab5/proj16/kern/trap/vectors.S
ucore-lab5/proj16/libs/atomic.h
ucore-lab5/proj16/libs/elf.h
ucore-lab5/proj16/libs/error.h
ucore-lab5/proj16/libs/hash.c
ucore-lab5/proj16/libs/list.h
ucore-lab5/proj16/libs/mboxbuf.h
ucore-lab5/proj16/libs/printfmt.c
ucore-lab5/proj16/libs/rand.c
ucore-lab5/proj16/libs/stdarg.h
ucore-lab5/proj16/libs/stdio.h
ucore-lab5/proj16/libs/stdlib.h
ucore-lab5/proj16/libs/string.c
ucore-lab5/proj16/libs/string.h
ucore-lab5/proj16/libs/types.h
ucore-lab5/proj16/libs/unistd.h
ucore-lab5/proj16/libs/x86.h
ucore-lab5/proj16/Makefile
ucore-lab5/proj16/oslab5_proj16.IAB
ucore-lab5/proj16/oslab5_proj16.IAD
ucore-lab5/proj16/oslab5_proj16.IMB
ucore-lab5/proj16/oslab5_proj16.IMD
ucore-lab5/proj16/oslab5_proj16.PFI
ucore-lab5/proj16/oslab5_proj16.PO
ucore-lab5/proj16/oslab5_proj16.PR
ucore-lab5/proj16/oslab5_proj16.PRI
ucore-lab5/proj16/oslab5_proj16.PS
ucore-lab5/proj16/oslab5_proj16.udb
ucore-lab5/proj16/oslab5_proj16.WK3
ucore-lab5/proj16/tmp
ucore-lab5/proj16/tools/function.mk
ucore-lab5/proj16/tools/gdbinit
ucore-lab5/proj16/tools/grade.sh
ucore-lab5/proj16/tools/kernel.ld
ucore-lab5/proj16/tools/sign.c
ucore-lab5/proj16/tools/user.ld
ucore-lab5/proj16/tools/vector.c
ucore-lab5/proj16/user/badarg.c
ucore-lab5/proj16/user/badbrktest.c
ucore-lab5/proj16/user/badsegment.c
ucore-lab5/proj16/user/brkfreetest.c
ucore-lab5/proj16/user/brktest.c
ucore-lab5/proj16/user/buggy_event.c
ucore-lab5/proj16/user/buggy_wait.c
ucore-lab5/proj16/user/buggy_wait2.c
ucore-lab5/proj16/user/cdt_pc.c
ucore-lab5/proj16/user/cdt_wf.c
ucore-lab5/proj16/user/cowtest.c
ucore-lab5/proj16/user/divzero.c
ucore-lab5/proj16/user/eventtest.c
ucore-lab5/proj16/user/exit.c
ucore-lab5/proj16/user/faultread.c
ucore-lab5/proj16/user/faultreadkernel.c
ucore-lab5/proj16/user/forktest.c
ucore-lab5/proj16/user/forktree.c
ucore-lab5/proj16/user/hello.c
ucore-lab5/proj16/user/libs/clone.S
ucore-lab5/proj16/user/libs/initcode.S
ucore-lab5/proj16/user/libs/lock.h
ucore-lab5/proj16/user/libs/malloc.c
ucore-lab5/proj16/user/libs/malloc.h
ucore-lab5/proj16/user/libs/panic.c
ucore-lab5/proj16/user/libs/spipe.c
ucore-lab5/proj16/user/libs/spipe.h
ucore-lab5/proj16/user/libs/stdio.c
ucore-lab5/proj16/user/libs/syscall.c
ucore-lab5/proj16/user/libs/syscall.h
ucore-lab5/proj16/user/libs/thread.c
ucore-lab5/proj16/user/libs/thread.h
ucore-lab5/proj16/user/libs/ulib.c
ucore-lab5/proj16/us
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.