操作系统实验-rCore-lab1

文章详细介绍了如何使用C语言在Linux环境下编写应用程序,展示获取当前目录文件名和打印调用栈信息的实现。同时,探讨了应用程序执行时占用的计算机资源,包括CPU、内存、硬盘空间等,并通过readelf和pmap工具分析代码段、数据段和堆栈的地址空间。此外,文章还讨论了应用程序与操作系统的异同,以及RISC-V架构下QEMU模拟器的执行过程,强调了SBI在操作系统和硬件交互中的角色。

编程题

第一题

问题描述

实现一个linux应用程序A,显示当前目录下的文件名。(用C或Rust编程)

代码实现

这里我选择使用c语言实现本题

\includegraphics[width=1.10\textwidth]{que1-1.png}

输出结果

\includegraphics[width=1.10\textwidth]{answer1-1.png}

第二题

问题描述

实现一个linux应用程序B,能打印出调用栈链信息。(用C或Rust编程)

代码实现

这里我选择使用c语言实现本题

\includegraphics[width=1.10\textwidth]{que1-2.png}

运用"gcc -g question1-2.c -o question1-2"指令对于该c代码进行编译

输出结果

采用"gdb question1-2"进行gdb调试

输入“run”;

可以看到打印出的代用栈链信息如下:

\includegraphics[width=1.10\textwidth]{answer1-2.jpg}

问答题

第一题

问题描述

应用程序在执行过程中,会占用哪些计算机资源?

题目解答

  1. CPU:应用程序需要中央处理器(CPU)来执行其指令,这是应用程序运行所需的最基本资源。
  2. 内存:应用程序需要内存来存储其代码、数据和运行时状态。应用程序使用内存来处理数据和执行操作,因此需要足够的内存才能正常运行。
  3. 硬盘空间:应用程序需要在硬盘上存储其代码、数据和其他文件,例如配置文件、日志文件等。
  4. 网络带宽:如果应用程序需要与其他计算机或服务器进行通信,那么它需要网络带宽来传输数据。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值