POST(开机自检)-->BIOS(bootseqvence)-->MBR(bootloader)-->kernel-->initrd-->sbin/init内核设计:单内核:linux轻量级线程微内核:windows支持多线程内核位置:/lib/modules以版本号命名的目录ldd路径:显示共享库的依赖关系(which查看命令的绝对路径)启动..
分类:
系统相关 时间:
2015-07-29 06:47:58
阅读次数:
197
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
一般情况下进程不能访问内核所占内存空间也不能调用内核函数。为了和用户空间上运行的进程进行交互,内核提供了一组接口。透过该接口,应用程序可以访问硬件设备和其他操作系统资源。这组接口在应用程序和内核之间扮演了使者的角色,应用程序发送各种请求,而内核负责满足这些请求...
分类:
系统相关 时间:
2015-07-29 01:08:41
阅读次数:
350
操作系统负责管理硬件设备,为了使系统和硬件设备的协同工作不降低机器性能,系统和硬件的通信使用中断的机制,也就是让硬件在需要的时候向内核发出信号,这样使得内核不用去轮询设备而导致做很多无用功。
中断使得硬件可以发出通知给处理器,硬件设备生成中断的时候并不考虑与处理器的时钟同步,中断可以随时产生。也就是说,内核随时可能因为新到来的中断而被打断。当接收到一个中断后,中断控制器会给处理器...
分类:
系统相关 时间:
2015-07-29 01:05:19
阅读次数:
260
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
中断处理程序以异步方式执行,其会打断其他重要代码,其运行时该中断同级的其他中断会被屏蔽,并且当前处理器上所有其他中断都有可能会被屏蔽掉,还有中断处理程序不能阻塞,所以中断处理需要尽快结束。由于中断处理程序的这些缺陷,导致了中断处理程序只是整个硬件中断处理流程的...
分类:
系统相关 时间:
2015-07-29 01:04:40
阅读次数:
172
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
tasklet是利用软中断实现的一种下半部机制。tasklet相比于软中断,其接口更加简单方便,锁保护要求较低。
tasklet由tasklet_struct结构体表示:
struct tasklet_struct
{
struct ta...
分类:
系统相关 时间:
2015-07-29 01:04:08
阅读次数:
134
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
工作队列是下半部的另外一种将工作推后执行形式。和软中断、tasklet不同,工作队列将工作推后交由一个内核线程去执行,并且该下半部总会在进程上下文中执行。这样,工作队列允许重新调度甚至是睡眠。
所以,如果推后执行的任务需要睡眠,就选择工作队列...
分类:
系统相关 时间:
2015-07-29 01:03:29
阅读次数:
127
一、内核基础1、内核下载地址www.kernel.org2、内核核心存于:/boot/vmlinuz-version,用uname-r命令查询版本号。内核模块存于:/lib/modules/version3、linux内核设计:单内核+模块4、用户空间访问、监控内核的方式:通过修改/proc,/sys,这两个目录中文件的内容,来访问、修改..
分类:
系统相关 时间:
2015-07-28 06:48:49
阅读次数:
219
第二章 内核开发的特点: 1内核编程时既不能访问C库,也不能访问标准的C头文件。 2内核编程时必须使用GNU C。 3内核编程时缺乏像用户空间那样的内存保护机制。 4内核编程时难以执行浮点计算。 5内核给每个进程只有一个很小的定长堆栈。 6由于内核支持异步中断、抢占和SMP,...
分类:
系统相关 时间:
2015-07-24 22:18:50
阅读次数:
164
模块1、概念: 如果让LINUX Kernel单独运行在一个保护区域,那么LINUX Kernel就成为了“单内核”。 LINUX Kernel是组件模式的,所谓组件模式是指:LINUX Kernel在运行时,允许“代码”动态的插入或者移出Kernel。 所谓模块是指:相关的一些子程序,数据、入口点...
分类:
系统相关 时间:
2015-07-17 13:49:17
阅读次数:
231