Learning OS - 0

March 31, 2015

Reading time ~1 minute

#目的

最近看了一下uCoreOS,是清华大学在xuetangx.com上开设的一门操作系统课程的实验,想跟着做一下,感受一下清华大学学生的厉害之处。 顺便补补自己本科阶段没有学习过的操作系统这么久仰已久的课程。

#过程

首先根据uCoreOS-guide上面的lab0准备,

需要了解很多相关预备知识具体有以下几点(点击目标,了解更多):

  1. 命令行 bash shell ref_0 ref_1
  2. git 分布式版本控制系统 ref_0 ref_1
  3. 代码阅读与编辑工具:
    1. eclise-cdt ref_0
    2. understand ref_0
    3. vim ref_0 ref_1
    4. gedit
  4. 源码比较和补丁工具:
    1. diff patch ref_0 ref_1
    2. meld(gui) ref_0
  5. 开发,编译,调试工具:gcc,gdb,make
    1. gcc C编译器 ref_0 ref_1 ref_2 ref_3
    2. gdb debug工具 ref_0
    3. ld 链接器
    4. objdump 对ELF文件反编译,转换执行格式工具
    5. nm 查看执行文件变量 函数的地址
    6. readelf 分析elf格式的执行文件
    7. make&&makefile 集成编译命令 ref_0 ref_1
    8. dd 读写数据到文件和设备中
  6. qemu 硬件模拟器,模拟x86-32计算器 ref_0

bash

Bourne Again SHell的缩写,是一种linux上最常见的shell之一. 通常文件后缀为.sh是可执行shell.

git

git 是一种分布式版本控制系统,主要理解分支(branch),合并(merge),提交(push),更新(pull),注释(commit)

代码阅读工具

暂时值会熟悉vim的基本操作,GUI的工具还没有使用过.

源码比较工具

diff patch 在参考上说的比较详细了,认真阅读即可.

开发编译调试

gcc,只用过一些基本命令-o输出定向到某文件 -g 添加调试信息便于gdb配合使用

gdb配合 -tui 调试起来非常方便.n next, b break 在行号/函数设置断点 , watch 某个变量或者表达式, c continue 继续运行直至断点.

make根据makefile 的规则,一步步根据依赖关系,组建整个工程.其他的工具暂时还没有用到.(具体在make参考中有说明)

qemu硬件模拟器

需要使用qemu-system-x86_32代替qemu模拟器

hiho 9,12,13,15,17

#开始了一周一次的hiho题解.这周题解有:0) hiho 9, 简单dp.常见铺砖dp1) hiho 12,分组背包.2) hiho 13,15,17, 最近公共祖先问题. LCA##0.hiho 9 题目9 代码9题意:给定n\*m的矩形,使用1\*2或者2\*1的木棍...… Continue reading

Interview of Internship

Published on April 27, 2015

Learning OS - 1

Published on April 03, 2015