--------------------------------------------------------------------------------------------------------------------------课堂笔记部分
1.Linux 发展:multics-unix(Brian Kernighan等人)-Berkeley UNIX(BSD)-Linux发布Linux
2.内核:OS的五大管理功能由内核kernel实现
3.Shelll:用户交互:Shell对输入命令进行解释
4.五个功能:CPU控制管理(manage the process,进程) ; 内存管理: ;外部设备管理;文件管理;用户接口
5.Shell常用命令:
pwd:打印当前目录 cd:改变当前目录 ls:... dir:... mkdir:... rmdir:....
eg. ls 【选项】【目录】 ls -a/root/123
cat:查看文件内容 cp:复制文件 mv:移动文件 rm:删除文件 more:分页查看,空格下一页,按下b键上一页
(按q键推出;输入exit亦可退出shell)
命令格式:
cd [目录名]
目录名有几个符号有特殊的含义,“..”代表上一级目录、“~”代表HOME目录、“-”代表前一目录。
6.Vi编辑器简介:Visual interface,是个文本编辑器:
关键字:vi vim i(插入模式启动) esc转换到命令行模式
退出:在命令行中 按一下: 进入Last line mode,例如:
:w filename ,文章将会以制定的文件名filename来保存
:wq 保存并退出
:q! 直接退出不存盘
再看看GCC工具:
基本用法:gcc [选项][文档名]
选项:-c:只编译生成.o为后缀的目标文件
-g:编译+调试
-O:编译链接
gdb:GNU开发组织发布的调试工具,可以监视变量的值、设置断点、逐行运行代码。
objdump:将目标文件转化为汇编语言,反汇编。
——————————————————————————————以下是实验报告的一些要求补充(来自习室忘记带csapp了,看来只能先看看哪些不会做个补充了)(希望吃完饭前能够把概率论、离散作业也写了)【Ubuntu系统】
1.如何在linux下编辑一个hello world的源程序(教材上P116 页)
1)编辑vim,gedit
2)编译 gcc -O
2.用gcc编译,要求分别用-o 与 -O比较性能,编译指令截图,用gdb调试,让程序运行到mult2函数的第一条指令,调试截图,用objdump工具生成反汇编语句,并给出main的汇编程序截图
gcc -g... ; gdb ***;...
break mult2
3.为了实验报告方便一点,笔者弃用双系统,这次用虚拟机吧。