Alex Li的学习笔记

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             # Makefule

阅读全文


基础操作

(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;
}

参数绑定:基本类型参数是复制,其他引用类型都传递的是同一个引用。

阅读全文


如下:概统复习.pdf

学完这个应该再也不用学数学了吧😭

计组复习笔记:计组.pdf


集合论+图论+常用证明思路

阅读全文