文件名称:vs
介绍说明--下载内容均来自于网络,请自行研究使用
My Mini 操作系统 源码.目前已经实现的功能:
阶段1:
1 BootSect
2 Kernel Loader (已经进入保护模式,并且将必要的参数传递给Kernel)
3 Kernel (开启页式存储,物理内存的简单管理,为中断提供了一套基本的接口,利用Bget建立了一个简单的堆)
阶段2:
1 优化了一部分代码,包括内核堆,内核栈的重新布置
2 初始化了一个TSS,用以处理特权级变化
3 将GDT从以前的KernelLoader空间到自己的空间
4 引入进程的概念(用双向链表来管理)
5 实现了第一个Ring3进程(但是此刻IF位置0,暂不响应时钟中断)
阶段3:
1 现在系统中有2个进程
2 开启时钟中断,对进程进行调度
3 现在每个进程有两个栈(Ring3栈,Ring0内核栈),中断处理程序也有了自己的内核栈,这样子,无论你的ISR多么复杂都不会乱了。
阶段4:
1 优化了中断处理过程,实现了中断的重入
2 实现了进程优先级的概念
3 开启键盘中断,进程中可以可以读取键盘输入(代码模仿,还有BUG,以后修正)
未来计划(如果谁有兴趣一起做的话,welcome !):
1 继续完善键盘输入功能
2 将每个任务(进程)的输入,输出隔离开来-My Mini operating system source code
Already implemented features:
Phase 1:
1 BootSect
2 Kernel Loader (has entered the protected mode, and the necessary parameters to the Kernel)
3 Kernel (open page storage, a simple physical memory management, interrupt provides a basic set of interfaces, using Bget created a simple heap)
Phase 2:
An optimized part of the code, including kernel stack, kernel stack of re-arrangement
2 Initializes a TSS, to deal with privilege level change
3 to GDT from the previous KernelLoader space to their own space
4 introduces the concept of the process (using two-way linked list to manage)
5 to achieve the first Ring3 process (but at the moment IF position 0, they will not respond to the clock interrupt)
Stage 3:
1 Now the system has two processes
2 Turn the clock interrupt, the process scheduling
3, each process now has two stacks (Ring3 stack, Ring0 kernel stack), the interrupt handler also has its own kernel stack, this way, no ma
阶段1:
1 BootSect
2 Kernel Loader (已经进入保护模式,并且将必要的参数传递给Kernel)
3 Kernel (开启页式存储,物理内存的简单管理,为中断提供了一套基本的接口,利用Bget建立了一个简单的堆)
阶段2:
1 优化了一部分代码,包括内核堆,内核栈的重新布置
2 初始化了一个TSS,用以处理特权级变化
3 将GDT从以前的KernelLoader空间到自己的空间
4 引入进程的概念(用双向链表来管理)
5 实现了第一个Ring3进程(但是此刻IF位置0,暂不响应时钟中断)
阶段3:
1 现在系统中有2个进程
2 开启时钟中断,对进程进行调度
3 现在每个进程有两个栈(Ring3栈,Ring0内核栈),中断处理程序也有了自己的内核栈,这样子,无论你的ISR多么复杂都不会乱了。
阶段4:
1 优化了中断处理过程,实现了中断的重入
2 实现了进程优先级的概念
3 开启键盘中断,进程中可以可以读取键盘输入(代码模仿,还有BUG,以后修正)
未来计划(如果谁有兴趣一起做的话,welcome !):
1 继续完善键盘输入功能
2 将每个任务(进程)的输入,输出隔离开来-My Mini operating system source code
Already implemented features:
Phase 1:
1 BootSect
2 Kernel Loader (has entered the protected mode, and the necessary parameters to the Kernel)
3 Kernel (open page storage, a simple physical memory management, interrupt provides a basic set of interfaces, using Bget created a simple heap)
Phase 2:
An optimized part of the code, including kernel stack, kernel stack of re-arrangement
2 Initializes a TSS, to deal with privilege level change
3 to GDT from the previous KernelLoader space to their own space
4 introduces the concept of the process (using two-way linked list to manage)
5 to achieve the first Ring3 process (but at the moment IF position 0, they will not respond to the clock interrupt)
Stage 3:
1 Now the system has two processes
2 Turn the clock interrupt, the process scheduling
3, each process now has two stacks (Ring3 stack, Ring0 kernel stack), the interrupt handler also has its own kernel stack, this way, no ma
(系统自动生成,下载前可以参看下载内容)
下载文件列表
vs\bochsrc.bxrc
..\..otloader\boot.ld
..\..........\boot.s
..\..........\Makefile
..\kernel\arc.h
..\......\bk.txt
..\......\heap.c
..\......\heap.h
..\......\IDT.c
..\......\IDTEntry.s
..\......\intel.h
..\......\InteruptPrc.c
..\......\kernel.ld
..\......\kernelDefine.h
..\......\keyboard.c
..\......\keyboard.h
..\......\keymap.h
..\......\krnEntry.s
..\......\krnMain.c
..\......\Makefile
..\......\phy_mm.c
..\......\phy_mm.h
..\......\process.c
..\......\process.h
..\......\rtl\bget.c
..\......\...\bget.h
..\......\stdlib.c
..\......\stdlib.h
..\......\syscall.h
..\......\syscall.s
..\......\types.h
..\......\vir_mm.c
..\......\vir_mm.h
..\.rnloader\biosint.s
..\.........\cmain.c
..\.........\code16gcc.h
..\.........\floppy.c
..\.........\intel.h
..\.........\krnloader.ld
..\.........\loader(BK).s
..\.........\loader.s
..\.........\Makefile
..\.........\mm.c
..\.........\mm.h
..\.........\reg.c
..\.........\reg.h
..\.........\stdlib.c
..\.........\stdlib.h
..\.........\types.h
..\Makefile
..\kernel\rtl
..\bin
..\bootloader
..\kernel
..\krnloader
vs
..\..otloader\boot.ld
..\..........\boot.s
..\..........\Makefile
..\kernel\arc.h
..\......\bk.txt
..\......\heap.c
..\......\heap.h
..\......\IDT.c
..\......\IDTEntry.s
..\......\intel.h
..\......\InteruptPrc.c
..\......\kernel.ld
..\......\kernelDefine.h
..\......\keyboard.c
..\......\keyboard.h
..\......\keymap.h
..\......\krnEntry.s
..\......\krnMain.c
..\......\Makefile
..\......\phy_mm.c
..\......\phy_mm.h
..\......\process.c
..\......\process.h
..\......\rtl\bget.c
..\......\...\bget.h
..\......\stdlib.c
..\......\stdlib.h
..\......\syscall.h
..\......\syscall.s
..\......\types.h
..\......\vir_mm.c
..\......\vir_mm.h
..\.rnloader\biosint.s
..\.........\cmain.c
..\.........\code16gcc.h
..\.........\floppy.c
..\.........\intel.h
..\.........\krnloader.ld
..\.........\loader(BK).s
..\.........\loader.s
..\.........\Makefile
..\.........\mm.c
..\.........\mm.h
..\.........\reg.c
..\.........\reg.h
..\.........\stdlib.c
..\.........\stdlib.h
..\.........\types.h
..\Makefile
..\kernel\rtl
..\bin
..\bootloader
..\kernel
..\krnloader
vs