发表了博客
2018/07/12 17:02

linux中链表_队列等的基本原理以及操作以及堆栈

内核版本为:2.4.10 等待队列 相关结构体: DECLARE_WAITQUEUE(wait, current); // 定义一个等待队列,和当前进程挂钩 #define DECLARE_WAITQUEUE(name, tsk) wait_queue_t name = __WAITQUEUE_INITIALIZER(name, tsk) #define __WAITQUEUE_INITIALIZER(name, tsk) { \   task: tsk, \   task_list: { NULL, NULL }, \ // 等待队列 struct __wait_queue {   unsigned int flags; #define WQ_FLAG_EXCLUSIVE 0x01   str...

0
0
发表了博客
2014/11/14 09:35

ARMv8 Linux内核异常处理过程分析

NOTE:为了方便大家阅读,制作了PDF版文档,下载请猛戳这里 老样子,为了赚点积分下载其他人的文件,下载以上资料需要资源分2分, 如果没有积分请留言所有文档,留下邮箱即可。 看了Linaro提供的开源ARMv8 Linux内核源码,发现ARMv8异常处理与ARMv7及之前的架构有所不同,简单分析。 LinaroARMv8工程:http://www.linaro.org/engineering/engineering-projects/armv8 1.1 Linux内核异常处理相关文件 Linux内核中,异常处理主要由...

0
0
发表了博客
2014/12/25 23:11

关于RCP中使用系统resource navigator图标和项目名称不显示的问题

首先说明: 这个是不推荐使用的方法,并且现在有了common navigator。 最近毕业设计需要这个东西,所以一直在看。之所以不使用common navigator,第一是由于时间有限(毕业设计的时间只有一个月多了,现在基本还没有开始做,只是在做一些技术上的验证),所以先使用系统提供的东西把功能性的东西实现,以后再进行优化;第二能力有限(呵呵),看了两天common navigator的用法,发现需要自己实现的东西太多了,两天也没有理出个头...

0
0
发表了博客
2013/12/10 20:00

Why do{} while(0) ?

在阅读Linux源码的过程中,还有c++11新增加的static_assert,经常看到do{}while(0)的宏定义,在《深入理解c++11》这本书上,直接说请忽略这个技巧,更增加了我的迷惑,于是,我搜索了一下,找到了以下解释: 比如例子: #define set_task_state(tsk, state_value) \ set_mb((tsk)->state, (state_value)) 粗看我们就会觉得很奇怪,既然循环里面只执行了一次,我要这个看似多余的do...while(0)有什么意义呢? 当然有! 为了看起来...

0
0
2020/09/18 17:49

v05.05 鸿蒙内核源码分析(任务管理篇) | 任务池是如何管理的 | 百篇博客分析HarmonyOS源码

**曾子曰:“吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?”《论语》:学而篇** [![在这里插入图片描述](https://gitee.com/weharmony/docs/raw/master/pic/other/io1.png)](http://weharmonyos.com/) 百篇博客系列篇.本篇为: **v05.xx 鸿蒙内核源码分析(任务管理篇) | 任务池是如何管理的** 任务管理相关篇为: * [v03.06 鸿蒙内核源码分析(时钟任务) | 触发调度谁的贡献最大](https://my.oschina.net/weharmon...

3
9
2020/09/17 18:32

v04.03 鸿蒙内核源码分析(任务调度篇) | 任务是内核调度的单元 | 百篇博客分析HarmonyOS源码

**子谓公冶长,“可妻也。虽在缧绁之中,非其罪也”。以其子妻之。《论语》:公冶长篇** [![在这里插入图片描述](https://gitee.com/weharmony/docs/raw/master/pic/other/io1.png)](http://weharmonyos.com/) 百篇博客系列篇.本篇为: **v04.xx 鸿蒙内核源码分析(任务调度篇) | 任务是内核调度的单元** 任务管理相关篇为: * [v03.06 鸿蒙内核源码分析(时钟任务) | 触发调度谁的贡献最大](https://my.oschina.net/weharmony/blog...

1
3
发表了博客
2018/03/26 11:25

DSP/BIOS程序启动顺序

DSP/BIOS 模块 基于TI的DSP芯片的应用程序分为两种:一般应用程序;DSP/BIOS应用程序。 为简化编程,TI提供了一套C的编程接口,它以API和宏的形式封装了TI的所有硬件模块,这套接口统称DSP/BIOS。DSP/BIOS包含以下模块: System(包含MEM,SYS对象) Instrumentation(包含LOG,STS对象) Scheduling(包含CLK,PRD,HWI,SWI等等对象) Synchronization(包含SEM,MBX,QUE等等对象) Input/Output(包含RTDX,HST等等对象),C...

0
0
2021/01/12 09:30

基于头皮脑电的癫痫分类

点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 根据百度百科,癫痫(epilepsy)即俗称的“羊角风”或“羊癫风”,是大脑神经元突发性异常放电,导致短暂的大脑功能障碍的一种慢性疾病。据中国最新流行病学资料显示,国内癫痫的总体患病率为7.0‰,年发病率为28.8/10万,1年内有发作的活动性癫痫患病率为4.6‰。据此估计中国约有900万左右的癫痫患者,其中500~600万是活动性癫痫患者,同时每年新增加癫痫患者约40万,...

0
0
发表了博客
2012/09/08 14:57

oracle动态条件

--动态条件 1、SELECT * FROM cgidata.nbz_rcl_rul_tsk_stat_rela t WHERE t.tsk_stat_cod > '1' AND ((( CASE WHEN t.tsk_stat_dtl_cod IS NULL THEN 0 ELSE 1 end)=1) and t.tsk_stat_dtl_cod > 'TD_031') 2、 select * from table1 where A>2 and c=nvl('变量',c)...

0
2
发表了博客
2018/07/16 19:29

进程调度之7:need_resched与强制调度

date: 2014-11-02 13:16 在《进程的调度与切换》一节中,我们提到,强制调度的两个条件: 1. 调度时机:系统调用返回到用户空间前夕,以及中断或者异常服务程序返回到用户空间前夕。可能会有人担心如下两种情况:其一如果进程“躲在”“安全地带”内核空间中不出来,调度器岂不只能干着急?好在内核的设计与实现避免了这个问题。其二:如果进程在用户空间运行,既不调用系统调用函数,也没有中断与异常发生,岂不是也无法进行强...

0
0
发表于硬件 & IoT专区
2014/10/05 00:17

linux-2.6.26内核中ARM中断实现详解(2)

作者:刘老师,华清远见嵌入式学院金牌讲师,ARM公司ATC授权培训讲师。 三、中断处理过程 这一节将以S3C2410为例,描述linux-2.6.26内核中,从中断开始,中断是如何一步一步执行到我们注册函数的。 3.1 中断向量表 arch\arm\kernel\entry-armv.S __vectors_start: swi SYS_ERROR0 b vector_und + stubs_offset ldr pc, .LCvswi + stubs_offset b vector_pabt + stubs_offset b vector_dabt + stubs_offset b vector_addrexcptn ...

0
0
发表了博客
2013/09/06 18:10

sem_t 信号量导致 两个doubango应用(idoubs)接收注册消息不正常.

最近在研究sip相关的一些东西,单个idoubs在iphone上可以正常运行,但是同时运行两个的话,会有一个注册不到服务器,抓包跟了好久都不知道是什么问题,例如现在有两个idoubs在iphone上,,暂且命名为idoubs1和idoubs2吧.它们两个是分别连接到不同的服务,接收的端口也是不一样的. 如果我先运行idoubs1,正常连接之后,再开启idoubs2,这时idoubs2却连接不上服务器了.实际上idoubs2有发了注册消息给服务器.服务器也返回了消息给idoubs2.但是...

0
0
发表了博客
2019/03/06 20:31

strace如何获得系统调用相关信息

一、问题的引出 对于很多的Linux下程序,我们有时候并不像详细的知道它执行的每一条指令或者,或者我们不想(或者不能)进行源代码级的调试,而只实现想大致看一下某个程序它执行了哪些核心的API调用,从而判断出程序执行的关键路径。此时使用strace是一个不错的选择,它可以不间断的执行完一个子程序,从而可以知道一个程序大致的运行框架。 二、实现方法 从strace的实现来看,它可以显示出系统调用的系统的调用号、系统调用的参...

0
0
发表了博客
2018/08/13 15:12

linux内核capable源代码分析【转】

转自:https://blog.csdn.net/sanwenyublog/article/details/50856849 linux内核里对于进程的权限管理有一个很重要的函数capable,以前看了好多遍,今天下决心搞定他,也在此立下一个碑,以后有谁想搞明白他的话,我还可以提供一些帮助。 capable函数定义在kernel/capability.c,作用是检验当前进程有没有相应的权限,定义如下 int capable(int cap) { return __capable(current, cap); } 继续看__capable函数,这个函数也定义在...

0
0
发表了博客
2019/03/25 20:36

理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换

学号084,原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ 一、关于struct task_struct Linux内核内部通过struct task_struct来表示进程描述符用于管理进程,其功能类似操作系统中我们常常提到进程控制块。由于struct task_struct内容涉及过于宽泛,其设计本身庞大而繁杂,这里只对关键字段进行一定分析。 1.进程状态 ```c volatile long state; int exit_state; state可能值如下: #define TASK_RUNNING 0...

0
0
发表了博客
2019/04/16 18:27

根据表名生成实体类

package com.cmb.ccrm.mng; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import org.junit.Test; import com.cmb.ccrm.base.BaseTest; import com.google.common.base.CaseFormat; public class test extends BaseTest { @Test public void 生成实体类() throws Exception { String tableName = "s51_tsk_rel_cust"; Connection conn = connection.getConnection(); DatabaseMe...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页