《记录》学习操作系统有感而发

ucore源代码:
蓝奏云:https://lanzous.com/ibs4hej
平台:ubuntu14
虚拟机:VMware
使用到的工具:eclipse/understand,gcc/g++,qemu,vim,
章节目录:

第一讲 操作系统概述
1.1 课程概述
第一讲 操作系统概述–练习
1.2 教学安排
1.3 什么是操作系统 
1.4 为什么学习操作系统,如何学习操作系统 
1.5 操作系统实例 
1.6 操作系统的演变 
1.7 操作系统结构 
第二讲 实验零 操作系统实验环境准备
2.1 前言和国内外现状 
2.2 OS实验目标 
2.3 8个OS实验概述 
2.4 实验环境搭建 
2.5 x86-32硬件介绍 
2.6 ucore部分编程技巧 
2.7 演示实验操作过程
2.7 演示实验操作过程 
html 
html 
Q6
Q7
Q10
第三讲 启动、中断、异常和系统调用
3.1 BIOS 
3.2 系统启动流程 
3.3 中断、异常和系统调用比较 
第三讲 启动、中断、异常和系统调用
–3.3 中断、异常和系统调用比较 
3.4 系统调用 
第三讲 启动、中断、异常和系统调用
–3.4 系统调用 
3.5 系统调用示例 
3.6 ucore+系统调用代码 
第四讲 实验一 bootloader启动ucore os
4.1 启动顺序 
4.2 C函数调用的实现 
4.3 GCC内联汇编 
4.4 x86中断处理过程 
4.5 练习一 
4.6 练习二 
4.7 练习三 
4.8 练习四 练习五 
4.9 练习六 
第五讲 物理内存管理: 连续内存分配
5.1 计算机体系结构和内存层次 
5.2 地址空间和地址生成 
5.3 连续内存分配 
5.4 碎片整理 
5.5 伙伴系统 
第五讲 物理内存管理: 连续内存分配
–5.6 练习 
第六讲 物理内存管理: 非连续内存分配
第七讲 实验二 物理内存管理
7.1 了解x86保护模式中的特权级 
第七讲 实验二 物理内存管理
–7.1 了解x86保护模式中的特权级 
7.2 了解特权级切换过程 
第七讲 实验二 物理内存管理
–7.2 了解特权级切换过程 
7.3 了解段/页表 
第七讲 实验二 物理内存管理
–7.3 了解段/页表 
7.4 了解UCORE建立段/页表 
第七讲 实验二 物理内存管理
–7.4 了解UCORE建立段/页表 
7.5 演示lab2实验环节 
第八讲 虚拟存储概念
8.1 虚拟存储的需求背景 
8.2 覆盖和交换 
8.3 局部性原理 
8.4 虚拟存储概念 
8.5 虚拟页式存储 
8.6 缺页异常 
第九讲 页面置换算法
9.1 页面置换算法的概念 
9.2 最优算法、先进先出算法和最近最久未使用算法 
第九讲 页面置换算法
–9.2 最优算法、先进先出算法和最近最久未使用算法 
9.3 时钟置换算法和最不常用算法 
第九讲 页面置换算法
–9.3 时钟置换算法和最不常用算法 
9.4 Belady现象和局部置换算法比较 
第九讲 页面置换算法
–9.4 Belady现象和局部置换算法比较 
9.5 工作集置换算法 
第九讲 页面置换算法
–9.5 工作集置换算法
9.6 缺页率置换算法 
第九讲 页面置换算法
–9.6 缺页率置换算法
9.7 抖动和负载控制 
第十讲 实验三 虚拟内存管理
10.1 实验目标:虚存管理 
第十讲 实验三 虚拟内存管理
–10.1 实验目标:虚存管理 
10.2 回顾历史和了解当下 
第十讲 实验三 虚拟内存管理
–10.2 回顾历史和了解当下 
10.3 处理流程、关键数据结构和功能 
第十讲 实验三 虚拟内存管理
–10.3 处理流程、关键数据结构和功能 
10.4 页访问异常 
第十讲 实验三 虚拟内存管理
–10.4 页访问异常 
10.5 页换入换出机制 
第十讲 实验三 虚拟内存管理
–10.5 页换入换出机制 
第十一讲 进程和线程
11.1 进程的概念 
第十一讲 进程和线程
–11.1 进程的概念 
11.2 进程控制块 
第十一讲 进程和线程
–11.2 进程控制块 
11.3 进程状态 
第十一讲 进程和线程
–11.3 进程状态 
11.4 三状态进程模型 
11.5 挂起进程模型 
第十一讲 进程和线程
–11.5 挂起进程模型 
11.6 线程的概念 
第十一讲 进程和线程
–11.6 线程的概念 
11.7 用户线程 
第十一讲 进程和线程
–11.7 用户线程 
11.8 内核线程 
第十一讲 进程和线程
–11.8 内核线程 
第十二讲 进程控制
12.1 进程切换 
第十二讲 进程控制
–12.1 进程切换 
12.2 进程创建 
第十二讲 进程控制
–12.2 进程创建 
12.3 进程加载 
第十二讲 进程控制
–12.3 进程加载 
12.4 进程等待与退出 
第十二讲 进程控制
–12.4 进程等待与退出 
第十三讲 实验四 内核线程管理
13.1 总体介绍 
13.2 关键数据结构 
13.3 执行流程 
13.4 实际操作 
第十四讲 实验五 用户进程管理
14.1 总体介绍 
14.2 进程的内存布局 
14.3 执行ELF格式的二进制代码-do_execve的实现 
14.4 执行ELF格式的二进制代码-load_icode的实现 
14.5 进程复制 
14.6 内存管理的copy-on-write机制 
第十五讲 处理机调度
15.1 处理机调度概念 
第十五讲 处理机调度
–15.1 处理机调度概念 
15.2 调度准则 
15.3 先来先服务、短进程优先和最高响应比优先调度算法 
第十五讲 处理机调度
–15.3 先来先服务、短进程优先和最高响应比优先调度算法 
15.4 时间片轮转、多级反馈队列、公平共享调度算法和ucore调度框架 
第十五讲 处理机调度
–15.4 时间片轮转、多级反馈队列、公平共享调度算法和uc 
15.5 实时调度和多处理器调度 
第十五讲 处理机调度
–15.5 实时调度和多处理器调度 
15.6 优先级反置 
第十五讲 处理机调度
–15.6 优先级反置 
第十六讲 实验六 调度器
16.1 总体介绍和调度过程 
16.2 调度算法支撑框架 
16.3 时间片轮转调度算法
16.4 Stride调度算法
第十七讲 同步互斥
17.1 背景 
17.2 现实生活中的同步问题 
第十七讲 同步互斥–17.2 现实生活中的同步问题
17.3 临界区和禁用硬件中断同步方法 
第十七讲 同步互斥–17.3 临界区和禁用硬件中断同步方法
17.4 基于软件的同步方法
第十七讲 同步互斥–17.4 基于软件的同步方法
17.5 高级抽象的同步方法
第十七讲 同步互斥–17.5 高级抽象的同步方法
第十八讲 信号量与管程
18.1 信号量
第十八讲 信号量与管程–18.1 信号量
18.2 信号量使用
第十八讲 信号量与管程–18.2 信号量使用
18.3 管程
第十八讲 信号量与管程–18.3 管程
18.4 哲学家就餐问题 
18.5 读者-写者问题 
第十九讲 实验七 同步互斥
19.1 总体介绍
19.2 底层支撑
第十九讲 实验七 同步互斥–19.2 底层支撑
19.3 信号量设计实现
第十九讲 实验七 同步互斥–19.3 信号量设计实现
19.4 管程和条件变量设计实现
第十九讲 实验七 同步互斥–19.4 管程和条件变量设计实现
19.5 哲学家就餐问题
第二十讲 死锁和进程通信
20.1 死锁概念
第二十讲 死锁和进程通信–20.1 死锁概念
20.2 死锁处理方法
第二十讲 死锁和进程通信–20.2 死锁处理方法
20.3 银行家算法
第二十讲 死锁和进程通信–20.3 银行家算法
20.4 死锁检测
第二十讲 死锁和进程通信–20.4 死锁检测
20.5 进程通信概念
第二十讲 死锁和进程通信–20.5 进程通信概念
20.6 信号和管道
第二十讲 死锁和进程通信–20.6 信号和管道
20.7 消息队列和共享内存
第二十讲 死锁和进程通信–20.7 消息队列和共享内存
第二十一讲 文件系统
21.1 文件系统和文件
第二十一讲 文件系统–21.1 文件系统和文件
21.2 文件描述符
第二十一讲 文件系统–21.2 文件描述符
21.3 目录、文件别名和文件系统种类
第二十一讲 文件系统–21.3 目录、文件别名和文件系统种类
21.4 虚拟文件系统
第二十一讲 文件系统–21.4 虚拟文件系统
21.5 文件缓存和打开文件
第二十一讲 文件系统–21.5 文件缓存和打开文件
21.6 文件分配
第二十一讲 文件系统–21.6 文件分配
21.7 空闲空间管理和冗余磁盘阵列RAID
第二十一讲 文件系统–21.7 空闲空间管理和冗余磁盘阵列RAID
第二十二讲 实验八 文件系统
22.1 总体介绍 
第二十二讲 实验八 文件系统–22.1 总体介绍
22.2 ucore 文件系统架构
第二十二讲 实验八 文件系统–22.2 ucore 文件系统架构
22.3 Simple File System分析
第二十二讲 实验八 文件系统–22.3 Simple File System分析
22.4 Virtual File System分析
第二十二讲 实验八 文件系统–22.4 Virtual File System分
22.5 I/O设备接口分析
第二十二讲 实验八 文件系统–22.5 I/O设备接口分析
22.6 执行流程分析
第二十三讲 I/O子系统
23.1 I/O特点
第二十三讲 I/O子系统–23.1 I/O特点
23.2 I/O结构
第二十三讲 I/O子系统–23.2 I/O结构
23.3 I/O数据传输
第二十三讲 I/O子系统–23.3 I/O数据传输
23.4 磁盘调度
第二十三讲 I/O子系统–23.4 磁盘调度
23.5 磁盘缓存
第二十三讲 I/O子系统–23.5 磁盘缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值