0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000保护模式下的进程调度
本实验采用C与汇编语言混合编程,利用计时中断实现保护模式下多个进程间的简单切换。
1 程序结构
1.1 运行过程
系统加电或重启 -------------------------------------------
系统初始化 系统BIOS例程
加载引导扇区
控制权交给引导扇区 --------------------------------------
加载loader 引导扇区(BOOT5)
跳转到loader ------------------------------------------------
获取并显示内存信息
定义并初始化GDT
进入保护模式 装载(LOADER)
启动分页机制
加载kernel
跳转到kernel ------------------------------------------------
切换到内核GDT 内核(KERNEL)
初始化8259A ************************
初始化IDT protect.c:init_prot() *
在GDT中添加TSS和3个LDT描述符 *
初始化TSS **************************
初始化进程表 ************************
设置时钟中断处理程序 *
打开时钟中断 main.c:kerel_main() *
调用restart ***************************
进程切换 -----------------------------------------------------
1.2 程序目录
下面是我们程序目录ps中的子目录结构及文件的功用。
tree
.
├── a.img (FAT12软盘映像:将复制进文件LOADER.BIN和KERNEL.BIN)
├── boot (引导装入)
│?? ├── boot.asm (引导扇区:FAT12、装入LOADER.BIN)
│?? ├── include (包含汇编程序)
│?? │?? ├── fat12hdr.inc (FAT12的常量定义)
│?? │?? ├── load.inc (装载地址的常量定义)
│?? │?? └── pm.inc (保护模式的常量与宏定义)
│?? └── loader. asm (装载程序:获取并显示内存信息、定义并初始化GDT、
├── include (包含头文件) 进入保护模式、启动分页机制、加载kernel)
│?? ├── const.h (定义类型和常量)
│?? ├── global.h (定义全局数据结构[数组])
│?? ├── proc.h (定义进程表和任务结构)
│?? ├── protect.h (定义保护模式下的数据结构类型和符号常量)
│?? ├── proto.h (定义函数的原型)
│?? ├── sconst.inc (定义汇编程序用的PCB、时钟控制器常量和选择符常量)
│?? ├── string.h (定义memcpy和memset的函数原型)
│?? └── type.h (定义无符号整数和函数指针类型)
├── kernel (内核程序)
│?? ├── clock.c (定义时钟中断处理程序clock_handler)
│?? ├── global.c (定义全局数据结构[数组])
│?? ├── i8259.c (初始化时钟控制器)
│?? ├── kernel.asm (切换GDT、装入IDT和TTS、调用main.c中的kerel_main()、
│?? │?? 定义异常和硬件中断处理、定义save和restart函数)
│?? ├── main.c (初始化进程表、定义用户进程函数)
│?? ├── protect.c (定义异常与硬件中断处理、初始化TSS和LDT描述符)
│?? └── start.c (复制GDT、初始化IDT)
├── lib (库函数)
│?? ├── kliba.asm (定义显示串、端口I/O和开闭硬件中断的汇编函数)
│?? ├── klib.c (定义整数转字符串、显示整数和延时函数)
│?? └── string. asm (定义内存复制、内存设置和串复制函数)
└── Makefile (定义用于自动编译和软盘挂载/文件复制的Make文件)
1.3 逻辑框图
与实模式下进程调度的类似。
1.4 运行结果
2 程序模
您可能关注的文档
最近下载
- 《GB/T 38271-2025塑料 聚苯乙烯(PS)、抗冲击聚苯乙烯(PS-I)、丙烯腈-丁二烯-苯乙烯(ABS)及苯乙烯-丙烯腈(SAN)树脂中残留苯乙烯单体含量的测定 气相色谱法》.pdf
- 刑事诉讼法(西南政大)中国大学MOOC 慕课 期末考试答案.docx VIP
- (正式版)H-J 1079-2019 固定污染源废气 氯苯类化合物的测定 气相色谱法(正式版)(正式版).docx VIP
- 一种多酶级联反应催化蔗糖生产异麦芽酮糖醇的方法及其应用.pdf VIP
- 美国膳食指南(2025-2030)解读课件PPT.pptx
- 2025版护理文书书写规范PPT课件(完整版).pptx
- 2025年组织生活会个人对照检查发言材料.docx VIP
- 心功能不全护理查房.pptx VIP
- 2025年房地产经纪人房产议价经典案例分析之“法律纠纷预防”专题试卷及解析.pdf VIP
- 2025年无人机驾驶员执照自动驾驶模式数据链通信原理专题试卷及解析.pdf VIP
原创力文档

文档评论(0)