This website requires JavaScript.
Explore
Help
Sign In
xiaoshui
/
ucore_os_docs
mirror of
https://github.com/chyyuu/ucore_os_docs.git
Watch
1
Star
0
Fork
You've already forked ucore_os_docs
1
Code
Issues
Projects
Releases
Wiki
Activity
7dc7687862
ucore_os_docs
/
SUMMARY.md
11 KiB
Raw
Blame
History
Unescape
Escape
Summary
Introduction
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编程方法和通用数据结构
面向对象编程方法
通用数据结构双向循环链表
双向循环链表
Lab 1
实验目的
实验内容
练习
项目组成
从机器启动到操作系统运行的过程
BIOS启动过程
bootloader启动过程
保护模式和分段机制
地址空间
硬盘访问概述
ELF文件格式概述
操作系统启动过程
函数堆栈
中断与异常
lab1中对中断的处理实现
实验报告要求
附录“启动后第一条执行的指令”
Lab 2 物理内存管理
实验目的
实验内容
练习
项目组成
物理内存管理
实验执行流程概述
探测系统物理内存布局
以页为单位管理物理内存
物理内存页分配算法实现
实现分页机制
段页式管理基本概念
建立段页式管理中需要考虑的关键问题
建立虚拟页和物理页帧的地址映射关系
不同运行阶段的地址映射关系
自映射机制
实验报告要求
附录A. 探测物理内存分布和大小的方法
附录B. 实现物理内存探测
附录C. 链接地址/虚地址/物理地址/加载地址以及edata/end/text的含义
Lab 3
实验目的
实验内容
练习
项目组成
虚拟内存管理
基本原理概述
实验执行流程概述
关键数据结构和相关函数分析
Page Fault异常处理
页面置换机制的实现
页替换算法
页面置换机制实验报告要求
实验报告要求
Lab 4
实验目的
实验内容
练习
项目组成
内核线程管理
实验执行流程概述
设计关键数据结构 -- 进程控制块
创建并执行内核线程
实验报告要求
附录A
:
实验四的参考输出
附录B
:
【原理】进程的属性与特征解析
Lab 5
实验目的
实验内容
练习
项目组成
用户进程管理
实验执行流程概述
创建用户进程
进程退出和等待进程
系统调用实现
实验报告要求
附录 A
:
【原理】用户进程的特征
Lab 6
实验目的
实验内容
练习
项目组成
调度框架和调度算法设计与实现
实验执行流程概述
计时器的原理和实现
进程状态
进程调度实现
内核抢占点
进程切换过程
调度框架和调度算法
设计思路
数据结构
调度点的相关关键函数
RR 调度算法实现
Stride Scheduling
基本思路
使用优先队列实现 Stride Scheduling
实验报告要求
Lab 7
实验目的
实验内容
练习
项目组成
同步互斥的设计与实现
实验执行流程概述
同步互斥的底层支撑
信号量
管程和条件变量
实验报告要求
附录
Lab 8
实验目的
实验内容
练习
项目组成
文件系统设计与实现
ucore 文件系统总体介绍
通用文件系统访问接口
Simple FS 文件系统
文件系统的布局
索引节点
文件系统抽象层 - VFS
file & dir接口
inode 接口
设备层文件 IO 层
关键数据结构
stdout设备文件
stdin 设备文件
实验执行流程概述
文件操作实现
打开文件
读文件
实验报告要求