可以在中断服务程序执行malloc吗?

这是微信群里面的一个群友提的问题,原问题如下:

今天遇到一个面试问题  请教各位老哥  中断服务程序能否malloc ?为什么?我回答是 不行 因为中断服务程序应该要尽量简短,且执行完中断服务程序会跳出中断函数,要进行释放。 但是从面试官得反应我应该是回答错了或者没回答到点子上。还望不吝赐教

中断相关的文章

漫画-Linux中断子系统综述

一文看尽 linux对中断处理的前世今生

Linux中断申请

Linux中断子系统之Workqueue

中断是分为上半部和下半部的,不管是上半部还是下半部,我们都需要注意一些事情

---- 中断要尽快执行完

---- 中断函数要可以重入

重入相关文章
你应该关心函数重入的问题

简单说下函数可以重入的这个问题,重入的引入是因为多线程导致的,有内核的系统都是多任务系统,既然是多任务系统,如果一个函数被多个任务调用,就需要保护全局变量,只有局部变量的函数是没有重入的问题的哈。

从内核里面截取的malloc源码

static void *malloc(int size)
{void *p;if (size < 0)return NULL;if (!malloc_ptr)malloc_ptr = free_mem_ptr;malloc_ptr = (malloc_ptr + 3) & ~3;     /* Align */p = (void *)malloc_ptr;malloc_ptr += size;if (free_mem_end_ptr && malloc_ptr >= free_mem_end_ptr)return NULL;malloc_count++;return p;
}

很明显里面有全局变量,而且这个全局变量没有加锁保护,这种函数如果在中断服务函数里面,如果中断被多次触发,那就比较出现问题了,还有一个情况,如果malloc失败了呢?是不是要退出中断,我们知道中断是不能return的啊。

我的一点自己见解,欢迎大佬们评论说出自己的观点

 推荐阅读:

    专辑|Linux文章汇总

    专辑|程序人生

    专辑|C语言

嵌入式Linux

微信扫描二维码,关注我的公众号 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

my eclipse 类似dreamweaver编辑html,8款替代Dreamweaver的开源网页开发工具

Adobe Dreamweaver虽然非常好用&#xff0c;但它并不是唯一一个能够设计、开发、发布精彩网站的Web开发集成环境。我们的开源世界里有很多非常棒的可以完全替代Dreamweaver的各种功能的优秀Web开发工具&#xff0c;更重要的&#xff0c;是免费的。如果你正在寻找Dreamweaver的替…

Android Input 子系统初探

Android系统基于Linux内核实现&#xff0c;内核作为整个操作系统的核心&#xff0c;对下&#xff0c;它负责整个硬件的驱动、实现对硬件器件的控制管理&#xff1b;对上&#xff0c;它提供各种系统所需的核心功能。Android系统支持的输入设备较多&#xff0c;如按键、触摸屏、手…

Ruby零碎笔记

Ruby零碎笔记 飞机上阅读pdf的笔记&#xff0c;因为不联网&#xff0c;内容不多而且比较零散&#xff0c;以tips的形式记录 tips 查看当前作用域的变量puts local_variables ruby中方法传递参数时&#xff0c;括号是可选的脚本开始运行时&#xff0c;main对象会被自动创建&…

网管日志-06.07.25

昨天晚上回家的时候已经是23:30左右了&#xff0c;尽管电信的工程师已经测试出了光信号衰减状况&#xff0c;也进行了相应的处理&#xff0c;最后达到了单芯光纤-11db的“理想”状态&#xff0c;可能用户也对这个值非常满意&#xff0c;我们也折腾到了大半夜。我是在地下网络机…

html5控制符置于底层,HTML5占位符在焦点上消失

Stefano J. Attardi写了一个不错的jQuery插件&#xff0c;只是这样。它比罗伯特的更稳定&#xff0c;并且当场得到焦点时&#xff0c;还会变淡到更浅的灰色。我修改他的插件读取占位符属性&#xff0c;而不是手动创建跨度。This fiddle具有完整代码&#xff1a;HTMLJS// Origin…

spring AspectJ的Execution表达式

Aspectj切入点语法定义 在使用spring框架配置AOP的时候&#xff0c;不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式 execution(* com.sample.service.impl..*.*(..)) execution()是最常用的切点函数&#xff0c;其语法如下所示…

计算机excl知识题,2019职称计算机考试Excel模拟题及答案(1.18)

【导语】2019年职称计算机考试备考正在进行中&#xff0c;为了方便考生及时有效的备考&#xff0c;那么&#xff0c;无忧考网为您精心整理了2019职称计算机考试Excel模拟题及答案(1.18)&#xff0c;把握机会抓紧练习吧。如想获取更多职称计算机考试的模拟题及备考资料&#xff…

CPU中的程序是怎么运行起来的

总述最近一位朋友问我&#xff0c;开发的代码是怎么在芯片运行起来的&#xff0c;我就开始给他介绍代码的预编译、汇编、编译、链接然后到一般的文件属性&#xff0c;再到代码运行。但是大佬问了我一句&#xff0c;CPU到底是怎么执行到每一个逻辑的&#xff0c;就讲了哈CPU的架…

MspEmu W.I.P.

转载于:https://www.cnblogs.com/sesexxoo/archive/2006/07/29/6190717.html

Git-远程操作

远程分支&#xff1a;远程跟踪分支remote branch是对远程分支状态的引用&#xff0c;是不能移动的&#xff0c;它会根据远程分支变化以及网络通信自动移动。Git服务器包含了远程分支master&#xff0c;在My Computer中的remote branch就是远程跟踪分支&#xff0c;是对git服务器…

计算机语言学 自然语言处理程序,利用知网进行(计算机)自然语言处理

摘要&#xff1a;自然语言理解,特别是中文信息处理,一直是计算机界的难题.让计算机来理解和处理丰富的自然语言,极具挑战性.自然语言的计算机处理是一个多学科交叉研究领域.来自计算机科学,语言学,数学等不同学科的研究人员构成了目前这一领域的主要研究力量.自然语言处理就是研…

对于鸿蒙的一点见解

周五我在东莞出差&#xff0c;下班后看了开发者大会的视频回放&#xff0c;回到酒店&#xff0c;我跟邓总说&#xff0c;我们今天不要拍视频&#xff0c;也不要打王者了&#xff0c;你给我下鸿蒙的代码来看看&#xff0c;然后&#xff0c;那天晚上我们都没有上线王者&#xff0…

今天雨很大

早上就开始下雨了,一直到现在. 来公司发现翻译来了,一个星期前面试过的那个. 不知道做什么了,看来只能开始英文的B2B了.一直忙来忙去,突然早一天完成了工作,余下的一天不知道做什么. 昨天晚上在家里的机子练习时,多学会了一些东西,看来有必要多看一些别人的例子,…

Linux内存管理slub分配器

背景Kernel版本&#xff1a;4.14ARM64处理器&#xff0c;Contex-A53&#xff0c;双核使用工具&#xff1a;Source Insight 3.5&#xff0c; Visio1. 概述之前的文章分析的都是基于页面的内存分配&#xff0c;而小块内存的分配和管理是通过块分配器来实现的。目前内核中&#xf…

大学计算机科学不会编码,华中科技大学人员编号编码管理办法

第一条 为进一步推进学校管理的信息化、规范化和系统化&#xff0c;加强对我校教职工、学生等各类人员基本信息的统一管理&#xff0c;结合学校实际情况&#xff0c;制定本管理办法。第二条 凡在我校工作、学习的教职工、学生、短期聘用人员及其他人员&#xff0c;均拥有由10…

逆向知识第十讲,循环在汇编中的表现形式,以及代码还原

逆向知识第十讲,循环在汇编中的表现形式,以及代码还原 一丶do While在汇编中的表现形式 1.1高级代码: #include "stdafx.h"int main(int argc, char* argv[]) {int nSum 0;int i 0;do {nSum nSum i;} while (i <100);return 0; } 高级代码很简单,只是一个简单…

数据库基础系列之一:MySQL账户

1.mysql用户创建&#xff1a; shell> mysql --userroot mysql mysql> GRANT ALL PRIVILEGES ON *.* TO montylocalhost IDENTIFIED BY something WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO monty"%" IDENTIFIED BY something WITH GRANT…

计量经济学实验报告计算机,计量经济学-实验报告.doc

.PAGE.资料.经济与政法学院计量经济学实验报告班级&#xff1a; 国贸1312姓名&#xff1a; 纪方方学号&#xff1a; 2013104208实验课程计量经济学实验名称OLS的估计和检验(受约束回归模型)实验目的和内容1&#xff0e;利用SPSS计算OLS估计量2&#xff0e;对模型估计结果进行检…

做技术知道了哪些事情代表自己成熟了?

如果技术圈是一个江湖&#xff0c;每个人初入江湖的时候都懵懵懂懂的&#xff0c;从懵懂到老练&#xff0c;从老练到老油条&#xff0c;这个是一个过程&#xff0c;过程中总是有一些比较有用的观点&#xff0c;这些观点&#xff0c;就表示你从小白上升到老白的过渡。这些观点&a…

数据结构复习笔记(2)

1&#xff0c; 若入栈的元素为n,则可得到的输出序列数量为 (2n)!/(n1)(n!)(n!)。2&#xff0c; 用两个长度相同的栈S1,S2构造一个队列。在S1中进行入队操作&#xff0c;S2中进行出队操作 &#xff0c;判断队列空的条件是&#xff0c;S1和S2同时为空&#xff0c;判断队列满的条…