文件名称:ucore-lab1
介绍说明--下载内容均来自于网络,请自行研究使用
Ucore是一个很小的适于学习的操作系统,此“麻雀”包含虚存管理、进程管理、处理器调度、同步互斥、进程间通信、文件系统等主要内核功能,总的内核代码量(C+asm)不会超过5K行。充分体现了“小而全”的指导思想。
这是ucore的实验1:系统软件启动过程。实验目的:操作系统是一个软件,也需要通过某种机制加载并运行它。在这里我们将通过另外一个更加简单的软件-bootloader 来完成这些工作。为此,我们需要完成一个能够切换到x86 的保护模式并显示字符的bootloader,为将来启动操作系统做准备。proj1 提供了一个非常小的bootloader,整个bootloader 的大小小于512 个字节,这样才能放到硬盘的主引导扇区中。通过分析和实现这个bootloader,读者可以了解到:基于分段机制的存储管理、设备管理的基本概念、PC 启动bootloader 的过程、bootloader 的文件组成、编译运行bootloader 的过程、调试bootloader 的方法、在汇编级了解栈的结构和处理过程、中断处理机制、通过串口/并口/CGA 输出字符的方法。文件中包括源代码、实验指导书和实验报告。-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 1: the system software boot process. Purpose: the operating system is a software, but also need some mechanism to load and run it. Here we will adopt another more simple software-bootloader to complete these tasks. To this end, we need to be able to complete a switch to the x86 protected mode and display the characters bootloader, the operating system to start to prepare for the future. proj1 provides a very small bootloader, the bootloader is less than 512 bytes in size, so as to put the hard disk master boot sector. Through the analysis and to achieve this bootloader, the read
这是ucore的实验1:系统软件启动过程。实验目的:操作系统是一个软件,也需要通过某种机制加载并运行它。在这里我们将通过另外一个更加简单的软件-bootloader 来完成这些工作。为此,我们需要完成一个能够切换到x86 的保护模式并显示字符的bootloader,为将来启动操作系统做准备。proj1 提供了一个非常小的bootloader,整个bootloader 的大小小于512 个字节,这样才能放到硬盘的主引导扇区中。通过分析和实现这个bootloader,读者可以了解到:基于分段机制的存储管理、设备管理的基本概念、PC 启动bootloader 的过程、bootloader 的文件组成、编译运行bootloader 的过程、调试bootloader 的方法、在汇编级了解栈的结构和处理过程、中断处理机制、通过串口/并口/CGA 输出字符的方法。文件中包括源代码、实验指导书和实验报告。-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 1: the system software boot process. Purpose: the operating system is a software, but also need some mechanism to load and run it. Here we will adopt another more simple software-bootloader to complete these tasks. To this end, we need to be able to complete a switch to the x86 protected mode and display the characters bootloader, the operating system to start to prepare for the future. proj1 provides a very small bootloader, the bootloader is less than 512 bytes in size, so as to put the hard disk master boot sector. Through the analysis and to achieve this bootloader, the read
相关搜索: ucore
virtual
disk
of
operating
system
ucore
lab1
protected
mode
lab1
proj1
bootmain
c
ucore-lab
switch_to_kernel
ucore
ucore
proj3
1
ucore
lab
virtual
disk
of
operating
system
ucore
lab1
protected
mode
lab1
proj1
bootmain
c
ucore-lab
switch_to_kernel
ucore
ucore
proj3
1
ucore
lab
(系统自动生成,下载前可以参看下载内容)
下载文件列表
ucore-lab1\lab0-manual-20110218.pdf
..........\lab1-manual-20110221.pdf
..........\lab1-report.txt
..........\proj1\bin\bootblock
..........\.....\...\sign
..........\.....\...\ucore.img
..........\.....\.oot\asm.h
..........\.....\....\bootasm.S
..........\.....\....\bootmain.c
..........\.....\libs\types.h
..........\.....\....\x86.h
..........\.....\Makefile
..........\.....\obj\boot\bootasm.d
..........\.....\...\....\bootasm.o
..........\.....\...\....\bootmain.d
..........\.....\...\....\bootmain.o
..........\.....\...\bootblock.asm
..........\.....\...\bootblock.o
..........\.....\...\bootblock.out
..........\.....\...\sign\tools\sign.d
..........\.....\...\....\.....\sign.o
..........\.....\tools\function.mk
..........\.....\.....\gdbinit
..........\.....\.....\sign.c
..........\....2\bin\bootblock
..........\.....\...\sign
..........\.....\...\ucore.img
..........\.....\.oot\asm.h
..........\.....\....\bootasm.S
..........\.....\....\bootmain.c
..........\.....\libs\elf.h
..........\.....\....\types.h
..........\.....\....\x86.h
..........\.....\Makefile
..........\.....\obj\boot\bootasm.d
..........\.....\...\....\bootasm.o
..........\.....\...\....\bootmain.d
..........\.....\...\....\bootmain.o
..........\.....\...\bootblock.asm
..........\.....\...\bootblock.o
..........\.....\...\bootblock.out
..........\.....\...\sign\tools\sign.d
..........\.....\...\....\.....\sign.o
..........\.....\oslab1_proj2.udb
..........\.....\oslab1_proj3.1.udb
..........\.....\tools\function.mk
..........\.....\.....\gdbinit
..........\.....\.....\sign.c
..........\....3\bin\bootblock
..........\.....\...\kernel
..........\.....\...\sign
..........\.....\...\ucore.img
..........\.....\.oot\asm.h
..........\.....\....\bootasm.S
..........\.....\....\bootmain.c
..........\.....\kern\driver\console.c
..........\.....\....\......\console.h
..........\.....\....\init\init.c
..........\.....\....\libs\stdio.c
..........\.....\libs\elf.h
..........\.....\....\error.h
..........\.....\....\printfmt.c
..........\.....\....\stdarg.h
..........\.....\....\stdio.h
..........\.....\....\string.c
..........\.....\....\string.h
..........\.....\....\types.h
..........\.....\....\x86.h
..........\.....\Makefile
..........\.....\obj\boot\bootasm.d
..........\.....\...\....\bootasm.o
..........\.....\...\....\bootmain.d
..........\.....\...\....\bootmain.o
..........\.....\...\bootblock.asm
..........\.....\...\bootblock.o
..........\.....\...\bootblock.out
..........\.....\...\kern\driver\console.d
..........\.....\...\....\......\console.o
..........\.....\...\....\init\init.d
..........\.....\...\....\....\init.o
..........\.....\...\....\libs\stdio.d
..........\.....\...\....\....\stdio.o
..........\.....\...\kernel.asm
..........\.....\...\kernel.sym
..........\.....\...\libs\printfmt.d
..........\.....\...\....\printfmt.o
..........\.....\...\....\string.d
..........\.....\...\....\string.o
..........\.....\...\sign\tools\sign.d
..........\.....\...\....\.....\sign.o
..........\.....\oslab1_proj3.udb
..........\.....\tools\function.mk
..........\.....\.....\gdbinit
..........\.....\.....\sign.c
..........\......1\bin\bootblock
..........\.......\...\kernel
..........\.......\...\sign
..........\.......\...\ucore.img
..........\.......\.oot\asm.h
..........\.......\....\bootasm.S
..........\lab1-manual-20110221.pdf
..........\lab1-report.txt
..........\proj1\bin\bootblock
..........\.....\...\sign
..........\.....\...\ucore.img
..........\.....\.oot\asm.h
..........\.....\....\bootasm.S
..........\.....\....\bootmain.c
..........\.....\libs\types.h
..........\.....\....\x86.h
..........\.....\Makefile
..........\.....\obj\boot\bootasm.d
..........\.....\...\....\bootasm.o
..........\.....\...\....\bootmain.d
..........\.....\...\....\bootmain.o
..........\.....\...\bootblock.asm
..........\.....\...\bootblock.o
..........\.....\...\bootblock.out
..........\.....\...\sign\tools\sign.d
..........\.....\...\....\.....\sign.o
..........\.....\tools\function.mk
..........\.....\.....\gdbinit
..........\.....\.....\sign.c
..........\....2\bin\bootblock
..........\.....\...\sign
..........\.....\...\ucore.img
..........\.....\.oot\asm.h
..........\.....\....\bootasm.S
..........\.....\....\bootmain.c
..........\.....\libs\elf.h
..........\.....\....\types.h
..........\.....\....\x86.h
..........\.....\Makefile
..........\.....\obj\boot\bootasm.d
..........\.....\...\....\bootasm.o
..........\.....\...\....\bootmain.d
..........\.....\...\....\bootmain.o
..........\.....\...\bootblock.asm
..........\.....\...\bootblock.o
..........\.....\...\bootblock.out
..........\.....\...\sign\tools\sign.d
..........\.....\...\....\.....\sign.o
..........\.....\oslab1_proj2.udb
..........\.....\oslab1_proj3.1.udb
..........\.....\tools\function.mk
..........\.....\.....\gdbinit
..........\.....\.....\sign.c
..........\....3\bin\bootblock
..........\.....\...\kernel
..........\.....\...\sign
..........\.....\...\ucore.img
..........\.....\.oot\asm.h
..........\.....\....\bootasm.S
..........\.....\....\bootmain.c
..........\.....\kern\driver\console.c
..........\.....\....\......\console.h
..........\.....\....\init\init.c
..........\.....\....\libs\stdio.c
..........\.....\libs\elf.h
..........\.....\....\error.h
..........\.....\....\printfmt.c
..........\.....\....\stdarg.h
..........\.....\....\stdio.h
..........\.....\....\string.c
..........\.....\....\string.h
..........\.....\....\types.h
..........\.....\....\x86.h
..........\.....\Makefile
..........\.....\obj\boot\bootasm.d
..........\.....\...\....\bootasm.o
..........\.....\...\....\bootmain.d
..........\.....\...\....\bootmain.o
..........\.....\...\bootblock.asm
..........\.....\...\bootblock.o
..........\.....\...\bootblock.out
..........\.....\...\kern\driver\console.d
..........\.....\...\....\......\console.o
..........\.....\...\....\init\init.d
..........\.....\...\....\....\init.o
..........\.....\...\....\libs\stdio.d
..........\.....\...\....\....\stdio.o
..........\.....\...\kernel.asm
..........\.....\...\kernel.sym
..........\.....\...\libs\printfmt.d
..........\.....\...\....\printfmt.o
..........\.....\...\....\string.d
..........\.....\...\....\string.o
..........\.....\...\sign\tools\sign.d
..........\.....\...\....\.....\sign.o
..........\.....\oslab1_proj3.udb
..........\.....\tools\function.mk
..........\.....\.....\gdbinit
..........\.....\.....\sign.c
..........\......1\bin\bootblock
..........\.......\...\kernel
..........\.......\...\sign
..........\.......\...\ucore.img
..........\.......\.oot\asm.h
..........\.......\....\bootasm.S