ucore_os_docs
Introduction
Lab 0
Lab 0
实验目的
准备知识
了解OS实验
设置实验环境
开发OS实验的简单步骤
通过虚拟机使用Linux实验环境(推荐:最容易的实验环境安装方法)
安装使用Linux实验环境(适合希望自己安装Linux系统的同学)
实验中可能使用的软件
了解编程开发调试的基本工具
gcc的基本用法
编译简单的 C 程序
AT&T汇编基本语法
GCC基本内联汇编
GCC扩展内联汇编
make和Makefile
gdb使用
进一步的相关内容
基于硬件模拟器实现源码级调试
安装硬件模拟器QEMU
Linux运行环境
Linux环境下的源码级安装过程
获得并应用修改
配置、编译和安装
使用硬件模拟器QEMU
运行参数
常用调试命令
[基于qemu内建模式调试ucore]
结合gdb和qemu源码级调试ucore
编译可调试的目标文件
ucore 代码编译
使用远程调试
使用gdb配置文件
加载调试目标
设定调试目标架构
了解处理器硬件
Intel 80386运行模式
Intel 80386内存架构
Intel 80386寄存器
了解ucore编程方法和通用数据结构
面向对象编程方法
通用数据结构双向循环链表
双向循环链表
附录A.ucore实验中的常用工具
附录B.ucore实验参考资料
Lab 1
Lab 1
实验目的
实验内容
练习
练习1
练习2
练习3
练习4
练习5
练习6
扩展练习
项目组成
从机器启动到操作系统运行的过程
BIOS启动过程
bootloader启动过程
保护模式和分段机制
地址空间
硬盘访问概述
ELF文件格式概述
操作系统启动过程
函数堆栈
中断与异常
lab1中对中断的处理实现
实验报告要求
附录A“关于A20 Gate”
附录B“第一条执行指令”
Lab 2
Lab 2 物理内存管理
实验目的
实验内容
练习
项目组成
物理内存管理
实验执行流程概述
探测系统物理内存布局
以页为单位管理物理内存
物理内存页分配算法实现
实现分页机制
段页式管理基本概念
建立段页式管理中需要考虑的关键问题
系统执行中地址映射的四个阶段
建立虚拟页和物理页帧的地址映射关系
实验报告要求
附录A. 探测物理内存分布和大小的方法
附录B. 实现物理内存探测
附录C. 链接地址/虚地址/物理地址/加载地址以及edata/end/text的含义
附录D. 自映射机制
Lab 3
Lab 3
实验目的
实验内容
练习
项目组成
虚拟内存管理
基本原理概述
实验执行流程概述
关键数据结构和相关函数分析
Page Fault异常处理
页面置换机制的实现
页替换算法
页面置换机制
实验报告要求
Lab 4
Lab 4
实验目的
实验内容
练习
项目组成
内核线程管理
实验执行流程概述
设计关键数据结构 -- 进程控制块
创建并执行内核线程
创建第0个内核线程idleproc
创建第1个内核线程initproc
调度并执行内核线程initproc
实验报告要求
附录A:实验四的参考输出
附录B:【原理】进程的属性与特征解析
Lab 5
Lab 5
实验目的
实验内容
练习
项目组成
用户进程管理
实验执行流程概述
创建用户进程
进程退出和等待进程
系统调用实现
实验报告要求
附录 A:【原理】用户进程的特征
Lab 6
Lab 6
实验目的
实验内容
练习
项目组成
调度框架和调度算法设计与实现
实验执行流程概述
进程状态
进程调度实现
内核抢占点
进程切换过程
调度框架和调度算法
设计思路
数据结构
调度点的相关关键函数
RR 调度算法实现
Stride Scheduling
基本思路
使用优先队列实现 Stride Scheduling
实验报告要求
Lab 7
Lab 7
实验目的
实验内容
练习
项目组成
同步互斥机制的设计与实现
实验执行流程概述
同步互斥机制的底层支撑
计时器
屏蔽与使能中断
等待队列
信号量
管程和条件变量
实验报告要求
附录
Lab 8
Lab 8
实验目的
实验内容
练习
项目组成
文件系统设计与实现
ucore 文件系统总体介绍
通用文件系统访问接口
文件系统抽象层 - VFS
file & dir接口
inode 接口
Simple FS 文件系统
文件系统的布局
索引节点
设备层文件 IO 层
关键数据结构
stdout设备文件
stdin 设备文件
实验执行流程概述
文件操作实现
打开文件
读文件
实验报告要求
Powered by
GitBook
实验目的
实验目的
了解内核线程创建/执行的管理过程
了解内核线程的切换和基本调度过程
results matching "
"
No results matching "
"