嵌入式linux问题及解答

linux中断的响应执行流程?

1、无名管道通信
内核维护一块内存,有读端和写端。只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
2、有名管道通信
内核维护一块内存,表现形式为一个有名字的文件。传输方式:半双工
3、消息队列通信
4、信号量通信
5、信号 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
6、共享内存通信
7、套接字通信
套接口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。

tasklet与workqueue的区别及底层实现区别

1)softirq和tasklet都属于软中断,tasklet是softirq的特殊实现;workqueue是普通的工作队列。
2)如果推后执行的任务需要睡眠,那么就选择工作队列workqueue(工作队列是基于线程的封装)。
如果推后执行的任务不需要睡眠,那么就选择tasklet。

linux中断的响应执行流程?

处理器收到来自中断控制器的中断处理请求,保存中断上下文,跳转到中断对应的处理处,(快速完成中断中断上半部,中断上半部返回后执行中断下半部。如果做了上下半部处理的话),中断处理函数返回时恢复现场。

uboot是怎么传参给内核的?

简单的讲,uboot利用函数指针及传参规范,它将
R0: 0x0
R1: 机器号
R2: 参数地址
三个参数传递给内核。
其中,R2寄存器传递的是一个指针,这个指针指向一个TAG区域。

linux怎么进行内存管理?

早期计算机中,由于应用程序比较小,可以直接在物理内存中运行,但现在计算机里面程序那么多又那么大,所以就需要对内存进行管理。

1、对内存的分配和管理,也就是平时应用层malloc和内核层vmalloc、kmalloc之类的内存申请的管理。
2、虚拟内存和物理内存之间的转换

请简单说说进程和线程的区别。

简单的来说,一个程序至少有一个进程,一个进程至少有一个线程。

第一点、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。

但这样带来的缺点就是,多线程程序只要有一个线程挂掉了,那么整个进程也就挂掉了,而进程则不会影响另外一个进程,它有自己的独立地址空间。

第二点、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。

嵌入式软件开发与非嵌入式软件开发区别?

嵌入式软件与非嵌入式软件(设备驱动开发与裸机驱动开发/嵌入式开发与传统单片机开发)的最大的区别就是有无操作系统。

对于无操作系统的开发:

  1. 应用软件与驱动的耦合度过高,一旦硬件发生变化那么相对应的驱动也会发生变化,紧接着应用程序也需要做相应的修改,这样带来的后果就是我们应用程序的可移植性很差。
  2. 无操作系统的系统结构比较单一、功能简单,只能提供单任务机制而且一般软件架构通常都是在一个无限循环中对设备中断进行检测或者轮询。
  3. 它的接口驱动是不进过操作系统直接提交给软件工程师应用。

对于有操作系统的开发:
有操作系统的存在则大大降低了应用软件与硬件平台的耦合度,它充当了我们硬件与应用软件之间的纽带,使得应用软件只需要调用系统软件的应用程序接口API就可以让硬件去完成要求的开发,而应用软件则不需要关心硬件到底是如何工作的。这将大大提高我们应用程序的可移植性和开发效率。同时操作系统还有强大的任务调度机制(进程线程),支持多任务。

如何避免僵尸进程

1、父进程通过wait和waitpid等函数等待子进程结束,这会导致父进程挂起
2、如果父进程很忙,那么可以用signal函数为SIGCHLD安装handler,因为子进程结束后,父进程会收到该信号,可以在handler中调用wait回收。
3、如果父进程不关心子进程什么时候结束,那么可以用“singal(SIGCHLD),SIG_IGN”通知内核,自己对子进程的结束不感兴趣,那么子进程结束后,内核会回收,并不再给父进程发送信号。
4、还有一些技巧,就是fork()两次,父进程fork一个子进程,然后继续工作,子进程fork一个孙进程后退出,那么孙进程被init接管,孙进程结束后,init会回收,不过子进程回收还要自己做。

实时操作系统, 什么是实时?

实时系统的典型定义如下:“所谓实时系统,就是系统中计算结果的正确性不仅取决于计算逻辑的正确性,还取决于产生结果的时间。如果完成时间不符合要求,则可以说系统发生了问题。”也就是说,不管实时应用程序进行的是何种任务,它不仅需要正确进行该任务而且还必须及时完成它。

人们很容易对实时产生误解,认为实时即速度足够快,实际上,实时并不意味着速度快。实时的关键在于保证完成时间,而不在于原始速度,因为速度性能与硬件相关,可以通过搭建快速硬件平台(处理器、存储器子系统等)来获得所需的性能。而实时的行为是一个软件问题,其目标是让关键的操作能够在所保证的时间之内完成。

实时进程不会影响自己在执行环境中的调度,反而是环境影响实时应用程序的调度。也就是说,实时进程通常和某个物理事件相关联,比如外围设备的中断。那么显然,影响实时的原因在于中断响应延时,在Linux系统中可细分为中断延时、中断处理、调度延时。一般来说,针对用户对超出时间限制所造成的影响的可接受程度,实时又可分为软实时和硬实时。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355

推荐阅读更多精彩内容

  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,931评论 3 34
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,127评论 0 23
  • 深秋的鹿山依旧没有任何凉意,而单薄的心忽而变得十分热情。烦恼了一整个夏天的故事在散漫的岁月里成了一杯香醇浓烈的陈酒...
    年小暖阅读 918评论 14 31
  • Week 使用入门 准备 下载Weexhttps://github.com/alibaba/weex 准备开发环境...
    zcwfeng阅读 235评论 0 1
  • 布拉格的畅想曲 在布拉格看了一出黑光剧,超现实主义的表演,一半出...
    申维希阅读 183评论 0 2