如何在linux系统上运行一个自己写的应用程序(linux应用层程序执行入口--main)--即Linux应用层软件开发的雏形 Linux应用程序访问驱动程序过程

本文探讨了操作系统从上电到执行main函数的过程,包括STM32裸机、RTOS和Linux的启动流程。在RTOS和Linux中,线程管理和调度是核心,而Linux通过虚拟内存机制提供安全隔离。了解这些基础知识对于深入理解系统运行至关重要。
摘要由CSDN通过智能技术生成

怎么弄?

main()应用层程序入口

想一下我们在开发rtos系统应用层软件的时候,不就是创建一堆线程,还有进行线程之间的通信。
然后用调度器去调度管理这些线程

调度器和线程间通信用到的方法(信号量,锁等等)这些都是系统内核的组件。

然后把开发好的应用app跟内核一起编译成一个二进制文件,放到指定的内存去运行

其实我们的linux应用层软件开发,也大同小异。只不过linux系统把内核和应用层软件分割开了,在不同的内存区域运行。这也导致了应用层无法直接去调用内核代码,不过应用层肯定要跟内核交互,用一些特殊的方法,比如SVC异常。
这样做是为了保护系统安全,防止用户,应用层误操作内核代码,导致系统崩溃。

Linux还有虚拟内存
linux 虚拟内存的作用?

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《Linux虚拟内存的作用》, 一起来围观吧 https://blog.csdn.net/dianqicyuyan/article/details/122375392?utm_source=app&app_version=4.21.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

当然linux系统的有点还不止这些

搜索Linux与rtos区别
等等、

##################################################################################
my name is separator
##################################################################################

STM32裸机程序是如何从上电执行到main的?

RTOS系统,是如何从上电执行到main的?—只有一个大进程—一个main()

linux系统,是如何从上电执行到main的?------一个进程一个main()

应该跟windows系统执行APP的方式差不多—双击AAP.exe,还有开机自启动–哈哈哈

APP应用程序只是系统中的一个进程,由内核调度管理

linux应用层程序(app)执行入口

{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{

《Linux上程序执行的入口–Main》
https://blog.csdn.net/dengdun6257/article/details/102284322?ops_request_misc=&request_id=&biz_id=102&utm_term=linux%E5%BA%94%E7%94%A8%E5%B1%82%E7%A8%8B%E5%BA%8F%E6%89%A7%E8%A1%8C%E5%85%A5%E5%8F%A3&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-102284322.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187
linux 应用程序的执行过程详解
https://blog.csdn.net/wu20093346/article/details/47018591?ops_request_misc=&request_id=&biz_id=102&utm_term=linux%E5%BA%94%E7%94%A8%E5%B1%82%E7%A8%8B%E5%BA%8F%E6%89%A7%E8%A1%8C%E5%85%A5%E5%8F%A3&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-47018591.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187
了解如何执行在Linux上运行的应用程序
https://blog.csdn.net/cuxiong8996/article/details/107154711?ops_request_misc=&request_id=&biz_id=102&utm_term=linux%E5%BA%94%E7%94%A8%E5%B1%82%E7%A8%8B%E5%BA%8F%E6%89%A7%E8%A1%8C%E5%85%A5%E5%8F%A3&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-3-107154711.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止境2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值