第三周 构造一个简单的Linux系统
2016-03-10 16:40
429 查看
20135331文艺
首先 在上周内容中我们学习了
2、函数调用堆栈
3、中断
本周中得知
2、进程上下文的切换
kernel为Linux的核心代码所在
实验部分 : (本次实验实在实验楼中完成 )
直接在命令行中输入 Linuxkernel文件 ,进入目录
再输入qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img启动文件 如下图:
系统支持三条命令:help、version和quit
接下来使用gdb调试
输入qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S
-S表示:在CPU初始化之前,冻结CPU
-s表示在:1234端口上创建一个tcp接口
在这里遇到了一个问题 在输入file linux-3.18.6/vmlinux 却找不到文件
这里重新输入指令 先进入Linuxkernel文件夹之后在调试即可出现
( : 由于网速太差的原因 在输入target remote:1234 时出现了连接超时 导致以下命令无法进行 但知道做法 (故在此引用以下别人完成的一张截图))
设置断点,把内核启动的起点start_kernel设为断点,在init/main.c文件中输入c 系统从冻结状态开始启动
启动后如下:
分析start_kernel :
首先在init目录下的main.c中启动kernel
init-task既手工创建的PCB 0号金城最终的idle进程 (也就是说PCB在此初始化)
init-process :1号进程 第一个用户态进程
系统没有进程需要执行时 就调度到0号进程 rest-init 一直存在
: 在0号进程创建1号进程后,一个进程创建另一个进程和线程,一生二、二生三、三生万物,系统内核就启动了
首先 在上周内容中我们学习了
计算机三个法宝:
1、存储程序计算机2、函数调用堆栈
3、中断
本周中得知
操作系统两把宝剑:
1、中断上下文的切换:保存现场和恢复现场2、进程上下文的切换
跟踪分析Linux内核的启动过程
在Linux的内核结构目录中 arch中x86较为重要kernel为Linux的核心代码所在
实验部分 : (本次实验实在实验楼中完成 )
直接在命令行中输入 Linuxkernel文件 ,进入目录
再输入qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img启动文件 如下图:
系统支持三条命令:help、version和quit
接下来使用gdb调试
输入qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S
-S表示:在CPU初始化之前,冻结CPU
-s表示在:1234端口上创建一个tcp接口
在这里遇到了一个问题 在输入file linux-3.18.6/vmlinux 却找不到文件
这里重新输入指令 先进入Linuxkernel文件夹之后在调试即可出现
( : 由于网速太差的原因 在输入target remote:1234 时出现了连接超时 导致以下命令无法进行 但知道做法 (故在此引用以下别人完成的一张截图))
设置断点,把内核启动的起点start_kernel设为断点,在init/main.c文件中输入c 系统从冻结状态开始启动
启动后如下:
分析start_kernel :
首先在init目录下的main.c中启动kernel
init-task既手工创建的PCB 0号金城最终的idle进程 (也就是说PCB在此初始化)
init-process :1号进程 第一个用户态进程
系统没有进程需要执行时 就调度到0号进程 rest-init 一直存在
: 在0号进程创建1号进程后,一个进程创建另一个进程和线程,一生二、二生三、三生万物,系统内核就启动了
相关文章推荐
- Linux-非结构化数据同步-Linux下Lsyncd实现非结构化增量差异数据的同步4
- Linux-非结构化数据同步-Linux下Sersync+Rsync实现非结构化增量差异数据的实时同步3
- Linux-非结构化数据同步-Linux下Rsync+Rsync实现非结构化增量差异数据的同步2
- zabbix自动监控Linux端口 , 自动和手动监控windows端口 ,zabbix自动监控windows服务
- Linux Command --arping
- ubuntu14.04安装中文man
- VMWare_Centos装配GCC,g++,gdb
- 在centos中部署jenkins
- Centos 部署Cobbler系统
- Linux运维 第二阶段(十七)OS优化(2)
- Linux系统ARP攻击的实现与防范
- Linux命令学习资料总结
- Linux中常用操作命令
- linux下如何关闭防火墙?
- linux 查找目录或文件
- linux 文件属性与权限
- Linux 防火墙永久开放端口
- linux统计文件中关键字出现的行号
- 查看文件命令cat,more,less,tail,tac,nl,od---linux学习笔记
- Linux性能监控