20135239益西拉姆 Linux内核分析 操作系统是怎样工作的?
2016-03-06 16:42
274 查看
益西拉姆+ 原创作品+ 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/f1e181d845f6a6f934ffbff517ca4986.jpg)
堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间,包括:
(也就是说CPU内已经集成好了一些功能)
函数调用框架
传递参数(在32位的机器中,64位的略有不同)
保存返回地址(%eax中可以保存返回地址或者返回值)
提供局部变量空间
因为不同的机器有大端法和小端法的存储区别。图示中也是这样向低地址端增长的
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/374b5436d1c00c21205996b51a4191af.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/8062c5919fec00e92a7352ba8b2c254c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/f2fc8595235abea7fa276b12020c6966.png)
实验
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/fab8633849ee73456391400a3ce73ec9.png)
总结:本次课程似懂非懂,感觉就是上次课程的延续,补充,把代码又重新讲了一下,还有实验的内容是新的,不过最后的讲解还是在讲代码,做到了可以看着代码说出意思的地步。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/f1e181d845f6a6f934ffbff517ca4986.jpg)
堆栈
堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间,包括:
(也就是说CPU内已经集成好了一些功能)
函数调用框架
传递参数(在32位的机器中,64位的略有不同)
保存返回地址(%eax中可以保存返回地址或者返回值)
提供局部变量空间
堆栈相关的寄存器
在一二讲的文档中,都告诉我们地址是向低地址端增长的。那么,该讲中的图示为什么相反呢?因为不同的机器有大端法和小端法的存储区别。图示中也是这样向低地址端增长的
参数传递过程
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/374b5436d1c00c21205996b51a4191af.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/8062c5919fec00e92a7352ba8b2c254c.png)
.观察局部变量的存储机制
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/f2fc8595235abea7fa276b12020c6966.png)
实验
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/27/fab8633849ee73456391400a3ce73ec9.png)
总结:本次课程似懂非懂,感觉就是上次课程的延续,补充,把代码又重新讲了一下,还有实验的内容是新的,不过最后的讲解还是在讲代码,做到了可以看着代码说出意思的地步。
相关文章推荐
- 10 Useful Sar (Sysstat) Examples for UNIX / Linux Performance Monitoring
- Linux进程时间片的分配(调度策略和参数)
- linux 内核驱动开发
- Linux下 RabbitMQ的安装与配置-3
- linux 内核编译
- linux内核分析 第二周
- linux 最常用的安全措施
- Linux内核分析——操作系统进程调度
- Unix与Linux的历史
- linux内核分析作业:操作系统是如何工作的进行:完成一个简单的时间片轮转多道程序内核代码
- SRAM、SDRAM、nor flash、nand flash理解以及uboot在nor flash和nand flash启动
- linux经常使用命令:打包、复制等
- Linux 用户管理
- linux 查看端口号占用情况
- 操作系统是如何工作的--------Linux 实验二
- Linux内核第二节
- linux SSH互信配置详解
- 在CentOS上源码安装MySQL+安装问题解决+安全优化
- 在CentOS上源码安装MySQL+安装问题解决+安全优化 推荐
- linux(ubuntu)sudoers权限错误导致sudo无法使用