- 博客(9)
- 收藏
- 关注
原创 USB学习之三 故障自恢复
USB支持热插拔。拔出插入之后如果文件句柄(mount和losetup)资源被释放,那么旧的设备节点会释放(sda),重新插入后会重新生成设备节点sda;而如果旧资源没被释放,那么会生成新的设备节点sdb, sdc。旧的设备节点和资源会被泄露。 usb会自恢复一些异常。但是如果USB固件出现故障,需要上下电才能恢复,linux驱动无法处理这种故障,除非对驱动进行大的整改。 USB卡如果固定插在开
2017-08-27 10:40:52 1167
原创 慢慢欣赏linux之段式管理,以及DPL RPL和CPL
用户态代码段段选择子排行14。 14*8+3==0x73 用户态数据段段选择子排行15。 15*8+3==0x7B 内核态代码段段选择子排行12。 12*8==0x60 内核态数据段段选择子排行13。 13*8==0x68#define GDT_ENTRY_DEFAULT_USER_CS 14#define __USER_CS (GDT_ENTRY_DEFAULT_USER_CS *
2017-08-20 18:24:09 385
原创 ftrace学习-以gpio为例
关于ftrace,下面这篇文章写得比较好 https://www.ibm.com/developerworks/cn/linux/l-cn-ftrace2/linux知识库 http://lib.csdn.net/base/linuxlinux那些事作者的blog http://blog.csdn.net/fudan_abc
2017-08-11 07:14:39 583
原创 进程调度之时间片以及时间相关的概念
一些基本宏定义和基础概念基础时间片:DEF_TIMESLICE (100 * HZ / 1000) == 100MSCONFIG_HZ表示每秒定时器发生中断的次数。内核可以配置。JFFIY:表示1个时钟滴答。时间间隔是由CONFIG_HZ决定的,如果CONFIG_HZ配置为250,表示周期为4ms;也就是说每4ms增加一个时钟嘀嗒,即jffies++。下面几篇文章写得都不错 参考
2017-08-11 07:04:10 2236
原创 X86内核启动分析五 保护模式小荷尖尖角
ENTRY(startup_32) //head.S (c:\linux\linux-2.6.23\arch\i386\kernel) =>// Initialize page tables =>//Enable paging =>call setup_idt =>je is386 =>jmp start_kernel
2017-08-06 18:02:12 304
原创 linux kernel 源代码网址
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree
2017-08-05 08:09:26 218
原创 hung task机制学习
module_init(hung_task_init); //Hung_task.c (c:\国嵌\code\linux-ok6410\kernel) =>watchdog_task = kthread_run(watchdog, NULL, "khungtaskd"); //创建khungtaskd检测线程 =>static int watchdog(void *
2017-08-05 08:06:28 2565
原创 X86内核启动分析四 打开保护模式之门
保护模式准备活动,上一章是假的准备,这次玩真的了go_to_protected_mode =>realmode_switch_hook(); //关中断 =>move_kernel_around(); //如果不是大内核,从0x10000挪到0x1000 =>enable_a20() =>reset_coprocessor(); =>mask_all_inte
2017-08-03 16:54:09 292
原创 X86内核启动分析三 内核的实模式阶段
**header.S (c:\linux\linux-2.6.23\arch\i386\boot) //真正的入口是从第二个512字节开始的,bootloader(lilo/grub/uboot)会将控制权交给它_start** =>.byte 0xeb # short (2-byte) jump .byte start_of_setup-1f //跳转到star
2017-08-02 07:23:26 377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人