OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2866|回复: 1

操作系统是一个死循环,请教如何理解Linux系统唯一一个main函数?

[复制链接]

4

主题

8

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2015-11-27
在线时间
18 小时
发表于 2016-8-4 15:16:11 | 显示全部楼层 |阅读模式
70金钱
本帖最后由 温志毅 于 2016-8-4 15:17 编辑

我一直都觉得操作系统是一个死循环,学习单片机的时候,自己写一个main函数(没有操作系统)的是相对容易的,到了学习STM32即使移植了一个ucos系统,其实也是很好理解的,移植了ucos系统后,在应用程序写了一个main函数。但是到了学习Linux系统后,发现自己懵了。我昨天看了Linux内核的源码,找到了一个main函数,就是在boot启动后的init函数里面,里面是不断地fork一个进程fork一个进程。那么Linux源代码几百万行模块化的分布,我发现main函数与其他各个模块好像没有联系,于是我有点不理解。在退一步来说,其实我想问,main函数这个概念是相对什么而言的,是相对于应用程序而言才有main函数这个概念的嘛?对于操作系统来说,因为操作系统也是一个软件(硬件上的第一层软件),那么如何在操作系统是一个死循环的基础上,找到Linux操作系统唯一的一个main函数,又或者学习操作系统的时候我怎么找到一个操作系统的主要核心就是那个死循环呢?这个问题百思不得其解。

我一共只有70金钱,全部悬赏哈,期待有质量的答案。如果有相关博客链接介绍希望各位给个链接。

STM32er
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2016-8-4 21:34:16 | 显示全部楼层
init是内核创建的第1个进程,其他子进程是它直接或间接创建的,PID=1,内核关闭时结束进程。
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 22:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表