会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
tsecer
上一页
1
···
30
31
32
33
34
35
36
37
下一页
2019年3月6日
从printXX看tty设备(3)键盘输入处理
摘要: 一、键盘输入 根据大量资料的描述,最早的IBM XT PC标准键盘是有83个按键,键盘按键被按下的时候它们向键盘控制器发送的扫描码是合这些按键在键盘上的物理位置相联系的(从左到右,从上到下,ESC扫描码为1,Del为0x53)。我们现在的键盘外观和当时的键盘已经有较大区别,所以这些位置看起来可能不那
阅读全文
posted @ 2019-03-06 20:45 tsecer
阅读(876)
评论(0)
推荐(0)
从printXX看tty设备(2)VGA显示模拟
摘要: 一、虚拟终端模拟的问题 前面曾经说过,所谓控制台是对tty设备的一种模拟。tty和主机之间就一根线,所有的交互都在这条串行线上一个bit一个bit的交互,可以看做是“竹筒倒豆子”--直来直去的模式。进一步说,主机不能(也没有义务)直接控制tty设备上的显示设备(比如显示设备对应的内存、显示控制寄存器
阅读全文
posted @ 2019-03-06 20:44 tsecer
阅读(595)
评论(0)
推荐(0)
从printXX看tty设备(1)tty基础
摘要: 一、主题 当定位一个问题的时候,最为直观和简单的方法就是在代码的特定位置加上对我们感兴趣的特定数据的打印,这是不依赖其它外部工具(调试器类工具)最简单和直观的方法,这个方法在用户态和内核态调试中都是适用的,就连最经典的C语言程序也是一个printf(“Hello World\n”),可见这个prin
阅读全文
posted @ 2019-03-06 20:43 tsecer
阅读(429)
评论(0)
推荐(0)
PowerPC下连接器--relax选项实现
摘要: 一、问题 在编译一些大的工程的可执行文件的时候,可以发现如果使用DEBUG版本,代码段加上和代码段放在一起的只读数据(字符串或者常量全局变量等)数量将会比较庞大,而在glibc的crti中会有一个对GLABAL_OFF_TABLE(GOT)表的重定向,这个重定向类型为为,从网络上可以看到这种错误类型
阅读全文
posted @ 2019-03-06 20:42 tsecer
阅读(1071)
评论(0)
推荐(0)
信号间优先级及线程优先级对信号的影响
摘要: 一、问题引出 为了精确定位一个任务退出的时候是何种原因,例如是看门狗复位,或者是受到了某些人为主动复位(kill 指定任务,或者reboot导致的简介SIGTERM+SIGKILL组合),或者是某些第三方库中执行了exit导致了线程的退出等原因。这就需要内核进行介入,记录指定感兴趣任务(之后称为受控
阅读全文
posted @ 2019-03-06 20:41 tsecer
阅读(697)
评论(0)
推荐(0)
Linux下符号版本原理及实现
摘要: 一、问题 这个就是在一些使用了共享目标文件的可执行文件编译时环境和运行时环境不同(比方说,编译的时候在一个较高版本的环境中编译的,此时使用的C库版本较新,然后将生成的可执行文件放在一个较低版本的系统中运行,此时可能会提示符号版本错误,从而可执行文件加载失败)而导致的可执行文件夹加载失败,这种问题在网
阅读全文
posted @ 2019-03-06 20:41 tsecer
阅读(3769)
评论(0)
推荐(0)
从pthread_self看GNU ld链接器
摘要: 一、问题引出 对于主线程(也就是main函数对应的线程),它并不是通过pthread_create创建的线程,所以我们没有这个主线程对应的pthread_t结构,这个结构也就是pthread_create的第一个参数。这当然只是最为直观的一个结论,事实上系统不会这么羸弱,在main函数中通过pthr
阅读全文
posted @ 2019-03-06 20:40 tsecer
阅读(562)
评论(0)
推荐(0)
从根文件系统制作看loop设备
摘要: 一、引出 在Linux系统下,通过 dd + losetup + mkfs 创建一个根文件系统已经是创建一个Linux根文件系统的一个常规方法。由于这个是通过一个loop设备来创建的文件,所以这个loop文件是把一个文件看做是一个设备,这个还是一个相对比较高难度的一个适配,因为上层肯定是使用了块设备
阅读全文
posted @ 2019-03-06 20:38 tsecer
阅读(869)
评论(0)
推荐(0)
i386 relocatable内核实现
摘要: 一、问题的引出 在Linux系统中,当内核发生panic的时候,我们可能希望能够保留内核的现场,就像当用户态程序异常的时候内核对应用程序的“吐核”一样(注意,不是吐槽)。但是应用程序的吐核是由内核来完成的,那么内核自己真正的吐自己该如何完成呢? 二、实现方法 这个实现是和kdump结合来实现的,这个
阅读全文
posted @ 2019-03-06 20:37 tsecer
阅读(628)
评论(0)
推荐(0)
Linux中多CPU的runqueue及抢占
摘要: 一、引出 在在嵌入式操作系统中,很多线程都可以为实时任务,因为毕竟这些线程很少和人接触,而是面向任务的。所有就有一个抢占的时机问题。特别是2.6内核中引入了新的内核态抢占任务,所以就可以说一下这个内核态抢占的实现。 内核态抢占主要发生在两个时机,一个是主动的检测是否需要抢占,另一个就是在异常处理完之
阅读全文
posted @ 2019-03-06 20:36 tsecer
阅读(4593)
评论(0)
推荐(1)
上一页
1
···
30
31
32
33
34
35
36
37
下一页
导航
博客园
首页
新随笔
联系
订阅
管理
公告