Introduction - If you have any usage issues, please Google them yourself
This is a trip of less than 2000 operating system, cleverly using ARM9 CPU memory management unit (MMU) to achieve the switching process. ARM9 4G virtual address can be divided into 128 process space, each 32M. While their virtual address (VA) are 0- (32M-1), but the corresponding MVA (Modified Virtual address, and by the virtual address VA and the process of portfolio from PID) not the same, set MVA corresponding page table at the different physical address can be very easy to let the the process of separating the mutual operation of space. Code rarely Notes rich, in hopes of understanding the operating system, understanding the ARM architecture friends help.
Packet : 61549825mmuos.rar filelist
MOS\arch\s3c2410\head.S
MOS\arch\s3c2410\init.c
MOS\arch\s3c2410\head.d
MOS\arch\s3c2410\Makefile
MOS\arch\s3c2410\init.d
MOS\arch\s3c2410\head.o
MOS\arch\s3c2410\init.o
MOS\arch\s3c2410\built-in.o
MOS\arch\s3c2410
MOS\arch\mos.lds
MOS\arch\Makefile
MOS\arch\built-in.o
MOS\arch
MOS\lib\string.c
MOS\lib\Makefile
MOS\lib\string.d
MOS\lib\string.o
MOS\lib\built-in.o
MOS\lib
MOS\include\init.h
MOS\include\interrupt.h
MOS\include\mmu.h
MOS\include\s3c2410.h
MOS\include\sched.h
MOS\include\serial.h
MOS\include\string.h
MOS\include\swi.h
MOS\include
MOS\user_program\uart
MOS\user_program\leds
MOS\user_program\cat_sh
MOS\user_program\m
MOS\user_program\usr_LEDS\main.c
MOS\user_program\usr_LEDS\Makefile
MOS\user_program\usr_LEDS\crt0.o
MOS\user_program\usr_LEDS\main.o
MOS\user_program\usr_LEDS\crt0.s
MOS\user_program\usr_LEDS\lib.o
MOS\user_program\usr_LEDS\uart
MOS\user_program\usr_LEDS\leds
MOS\user_program\usr_LEDS\lib.c
MOS\user_program\usr_LEDS\usr.lds
MOS\user_program\usr_LEDS\leds_tmp.o
MOS\user_program\usr_LEDS\lib.h
MOS\user_program\usr_LEDS\disassemble.s
MOS\user_program\usr_LEDS
MOS\user_program\usr_UART\main.c
MOS\user_program\usr_UART\Makefile
MOS\user_program\usr_UART\crt0.s
MOS\user_program\usr_UART\crt0.o
MOS\user_program\usr_UART\main.o
MOS\user_program\usr_UART\lib.o
MOS\user_program\usr_UART\lib.c
MOS\user_program\usr_UART\lib.h
MOS\user_program\usr_UART\uart_tmp.o
MOS\user_program\usr_UART\uart
MOS\user_program\usr_UART\usr.lds
MOS\user_program\usr_UART\disassemble.s
MOS\user_program\usr_UART
MOS\user_program\cat3.s
MOS\user_program
MOS\Makefile
MOS\mos_tmp.o
MOS\kernel\sched.d
MOS\kernel\sched.c
MOS\kernel\swi.d
MOS\kernel\swi.c
MOS\kernel\interrupt.c
MOS\kernel\serial.c
MOS\kernel\Makefile
MOS\kernel\sched_arm9.d
MOS\kernel\swi_s3c2410.d
MOS\kernel\interrupt.d
MOS\kernel\serial.d
MOS\kernel\sched_arm9.o
MOS\kernel\swi_s3c2410.o
MOS\kernel\sched.o
MOS\kernel\swi.o
MOS\kernel\interrupt.o
MOS\kernel\serial.o
MOS\kernel\built-in.o
MOS\kernel\swi_s3c2410.S
MOS\kernel\sched_arm9.S
MOS\kernel
MOS\init\main.c
MOS\init\Makefile
MOS\init\main.d
MOS\init\main.o
MOS\init\built-in.o
MOS\init
MOS\mm\mmu.c
MOS\mm\Makefile
MOS\mm\mmu.d
MOS\mm\mmu.o
MOS\mm\built-in.o
MOS\mm
MOS\mos
MOS\readme.txt
MOS\Rules.make
MOS\mos_dissemble.s
MOS\BugRecords.txt
MOS\原理.txt
MOS