Description: 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.
- [os] - Operating a mutual exclusion and synchro
- [ucore-lab4] - Ucore is a small operating system for le
- [ucore-lab2] - Ucore is a small operating system for le
- [ucore-lab1] - Ucore is a small operating system for le
- [ucore-lab6] - Ucore is a small operating system for le
File list (Check if you may need any files):
ucore-lab5\20110518-lab5-v2.pdf
..........\lab5_report.txt
..........\proj16\boot\asm.h
..........\......\....\bootasm.S
..........\......\....\bootmain.c
..........\......\init
..........\......\kern\debug\assert.h
..........\......\....\.....\kdebug.c
..........\......\....\.....\kdebug.h
..........\......\....\.....\monitor.c
..........\......\....\.....\monitor.h
..........\......\....\.....\panic.c
..........\......\....\.....\stab.h
..........\......\....\.river\clock.c
..........\......\....\......\clock.h
..........\......\....\......\console.c
..........\......\....\......\console.h
..........\......\....\......\ide.c
..........\......\....\......\ide.h
..........\......\....\......\intr.c
..........\......\....\......\intr.h
..........\......\....\......\kbdreg.h
..........\......\....\......\picirq.c
..........\......\....\......\picirq.h
..........\......\....\fs\fs.h
..........\......\....\..\swapfs.c
..........\......\....\..\swapfs.h
..........\......\....\init\entry.S
..........\......\....\....\init.c
..........\......\....\libs\rb_tree.c
..........\......\....\....\rb_tree.h
..........\......\....\....\readline.c
..........\......\....\....\stdio.c
..........\......\....\mm\buddy_pmm.c
..........\......\....\..\buddy_pmm.h
..........\......\....\..\memlayout.h
..........\......\....\..\mmu.h
..........\......\....\..\pmm.c
..........\......\....\..\pmm.h
..........\......\....\..\shmem.c
..........\......\....\..\shmem.h
..........\......\....\..\slab.c
..........\......\....\..\slab.h
..........\......\....\..\swap.c
..........\......\....\..\swap.h
..........\......\....\..\vmm.c
..........\......\....\..\vmm.h
..........\......\....\process\entry.S
..........\......\....\.......\proc.c
..........\......\....\.......\proc.h
..........\......\....\.......\switch.S
..........\......\....\schedule\sched.c
..........\......\....\........\sched.h
..........\......\....\........\sched_MLFQ.c
..........\......\....\........\sched_MLFQ.h
..........\......\....\........\sched_RR.c
..........\......\....\........\sched_RR.h
..........\......\....\.ync\condition.h
..........\......\....\....\event.c
..........\......\....\....\event.h
..........\......\....\....\ipc.h
..........\......\....\....\klock.h
..........\......\....\....\mbox.c
..........\......\....\....\mbox.h
..........\......\....\....\sem.c
..........\......\....\....\sem.h
..........\......\....\....\sync.c
..........\......\....\....\sync.h
..........\......\....\....\wait.c
..........\......\....\....\wait.h
..........\......\....\..scall\syscall.c
..........\......\....\.......\syscall.h
..........\......\....\trap\trap.c
..........\......\....\....\trap.h
..........\......\....\....\trapentry.S
..........\......\....\....\vectors.S
..........\......\libs\atomic.h
..........\......\....\elf.h
..........\......\....\error.h
..........\......\....\hash.c
..........\......\....\list.h
..........\......\....\mboxbuf.h
..........\......\....\printfmt.c
..........\......\....\rand.c
..........\......\....\stdarg.h
..........\......\....\stdio.h
..........\......\....\stdlib.h
..........\......\....\string.c
..........\......\....\string.h
..........\......\....\types.h
..........\......\....\unistd.h
..........\......\....\x86.h
..........\......\Makefile
..........\......\oslab5_proj16.IAB
..........\......\oslab5_proj16.IAD
..........\......\oslab5_proj16.IMB
..........\......\oslab5_proj16.IMD
..........\......\oslab5_proj16.PFI
..........\......\oslab5_proj16.PO
..........\......\oslab5_proj16.PR