这章的难度断崖式上升,看不懂一点,还没有梳理,下面只是我的一些“中文版注释”等辅助内容。
AC代码:lab2.zip
OS Lab 2 内存管理
OS Lab1 学习笔记与题解
OS Lab1 内核、启动和PRINTF
OS,启动!
QEMU是一个计算机模拟器,可以模拟CPU等硬件环境,用来运行实验中生成的操作系统可执行文件。
启动流程:加载ELF格式内核到内存,跳转到内核的入口。
内核代码结构
.
├── include # 系统头文件
│ └── mmu.h # 里面有内存布局图
├── init # 内核初始化目录
│ └── start.S # _start 初始化CPU和栈指针
│ └── init.c # 各模块的初始化函数
├── kern # 内核主体代码目录,存放内核核心功能模块实现
├── lib # 通用库函数目录,提供字符串处理、内存操作、格式化输出等基础函数
├── mk
├── out # 编译输出目录
├── target # 目标平台相关目录,存放特定平台/目标系统的文件或产物
│ └── mos # 当前目标系统相关内容
├── tests # 测试用例目录,存放本地测试和功能验证代码
├── tools # 工具目录,不属于MOS,在linux上运行
├── .gitignore # Git 忽略规则文件,指定无需纳入版本控制的文件
├── .mos-this-lab # 实验标识文件,用于辅助识别当前实验内容
├── include.mk # 供 Makefile 引用
├── kernel.lds # 内核链接脚本,用于指定内核各段的链接布局和加载地址
└── Makefile # Makefile OS Lab0 Linux指令学习笔记
基础操作
(1)目录相关操作
1 进入目录:cd [选项] 目录 (change directory)
其中/为根目录,~为当前用户目录,.表示当前目录(目录前面不加/相当于./),..表示上一级目录,-跳转到上一次的目录。
2 查看目录文件: ls [选项] [目录] (list)
选项(常用):
-a 显示隐藏的文件(all)
-l 每行只列出一个文件(long)3 创建目录: mkdir [选项] 目录 (make directory)
面向对象 复习笔记 考前速通版
极速版。
Recommend:https://liaoxuefeng.com/books/java/
面向对象基本知识
三要素:封装、继承、多态。
- 高内聚: 类的内部功能紧密相关,自己能干的事自己干完。
- 低耦合: 外部只通过最少的接口与你交互。
方法
this关键字(避免与方法参数重复)、super关键字
可变参数,相当于数组:
public void setNames(String... names){
this.names = names;
}参数绑定:基本类型参数是复制,其他引用类型都传递的是同一个引用。