内核与用户态程序共享内存的方法

一、首先获取一块物理上连续的物理内存 有多种方法。 (a)通过kernel命令行参数预留一些内存 这种方法,适合于需要大块的物理连续的内存。 假设物理内存总量为256M。命令行参数中,指定 mem=224M。即只让内核使用前224M内存,忽略其余的内存。 这样,我们就有了32M的内存可用,内存起始...

2015-03-17 18:35:43

阅读数 5170

评论数 0

Linux内核模块(驱动)编译详解

本文主要说说如何编译自己开发的内核模块。由于驱动通常也被编译成内核模块,因此文章的内容也适用于驱动的编译。 由于在下能力相当有限,有不当之处,还望大家批评指正^_^ 一、准备工作 准备工作如何做,这里就不详说了。 a) 首先,你要有一台PC(这不废话么^_^),装好...

2015-03-08 15:50:37

阅读数 15881

评论数 6

Linux内核编译详解

学习了网上的一些资料,自己试着摸索了一下,整理出此文。 由于在下水平相当有限,不当之处,还望大家批评指正^_^ 重要的参考资料有: http://raspberrypi.stackexchange.com/questions/192/how-do-i-cross-compile-th...

2015-03-08 12:43:54

阅读数 46306

评论数 4

一个软件实现的Linux看门狗—soft_wdt

soft_wdt(以下简称本软件)是一个软件实现的Linux看门狗。     本软件是一款开源、免费软件。     下载地址: https://github.com/sunmingbao/soft-wdt/archive/master.zip     本软件和/driv...

2014-11-04 08:23:44

阅读数 5068

评论数 0

Linux下获取虚拟地址对应的物理地址的方法

首先摘录如下URL对pagemap的描述。 https://www.kernel.org/doc/Documentation/vm/pagemap.txt  * /proc/pid/pagemap.  This file lets a userspace process find out wh...

2014-08-31 09:07:04

阅读数 12429

评论数 9

经典数独游戏+数独求解器—纯C语言实现

“心常乐数独小游戏”(以下简称“本软件”)是一款windows平台下的数独游戏软件。 本软件是开源、免费软件。 本软件使用纯C语言编写,MinGW编译,NSIS打包。 本软件主要特性如下: 支持“闯关模式”和“选关模式” 支持“随机生成游戏” 支持数独游戏提示 支持用户对单元格做标记 提供...

2014-04-22 09:14:17

阅读数 5698

评论数 0

一个简单的Linux C程序开发框架—linux-dev-framework

Linux-dev-framework(以下简称本软件)是一个简单的Linux C程序开发框架,基于C语言和gcc工具链。  本软件内含一份简单的源码目录结构、一些实用的C例程和一套makefile编译脚本。 用户可以以本软件为基础,快速开始自己的Linux C程序开发。 使用此...

2014-03-29 14:33:29

阅读数 7169

评论数 3

闲话字符编码

C源文件本身是普通的文本文件,既然是文本文件,那他就有自己的字符编码格式。 我们常用的大概是GBK、UTF-8这两种格式。 如果一个utf-8格式的文本文件,是用微软的记事本程序创建的,那么这个文件的开头会有3个字节的UTF-8签名(EF BB BF),也叫做BOM。 BOM是个可选的东东,...

2013-12-23 14:30:17

阅读数 904

评论数 0

字节序详解

1. 首先建立如下的物理内存概念(独立于字节序) 如下面的图-1所示,内存中有连续的4个字节,左边是低地址,右边是高地址。 我们这里假设4个字节的地址分别是0,1,2,3。 低地址                                            ...

2013-11-27 12:58:14

阅读数 1159

评论数 0

Linux协议栈代码阅读笔记(一)

Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int protocol); int bind(int sockfd, const struct s...

2013-09-26 23:08:00

阅读数 2299

评论数 0

嵌入式开发学习路线——写给初入门的同仁

一般的应用开发,例如桌面应用的开发,移动应用的开发,通常都是在一个IDE集成开发环境中完成。 开发者,熟悉了IDE的使用,熟悉了相关应用编程接口API,就能开发应用了。不需要关心系统本身的太多东西。 (当然,这并不是说,一般的应用开发,不需要了解很多的系统知识。如果开发者具有深厚的系统知识,那...

2011-12-24 21:35:26

阅读数 32674

评论数 11

七条原则实现简单的代码设计

1.  命名(变量名,参数名,函数名,也包括文件名)应当体现概念含义, 应当准确表达事物本质, 且恰如其分。   2.  涉及到计算(包括算术、逻辑、控制等等)的地方,如果这组运算行为,与现实业务中某个概念对应,则建议封装成一个函数。   3. 如果一个函数,体现的是现实业务中的一个大概念...

2011-12-23 01:00:06

阅读数 2052

评论数 2

calc——一个简单的Linux命令行环境计算器

在下整了一个开源的小程序——calc。 项目URL: https://github.com/sunmingbao/calc   运行效果如下(某些运算符用引号括住,是为了避免被shell当作特殊字符处理): [root@localhost ~]# calc 1 + -3 -2 [root...

2018-08-14 01:05:51

阅读数 1553

评论数 0

Linux内核rootfs的初始化过程

由于在下水平相当有限,不当之处,还望大家批评指正^_^ 在Linux  shell中执行mount命令,通常可以看到某个做了文件系统的磁盘分区或flash分区或内存文件系统做为所谓的根文件系统被mount到了挂载点/处。 实际上内核中最初始的根文件系统,并不是来自内核外部,他是由内核自己构...

2018-01-27 01:30:42

阅读数 462

评论数 0

Linux内核的启动流程

内核本身由一个作了raw_binary处理的目标文件(下文称为kernel.o)以及大量的在运动时可能被动态装载的内核模块构成。 关于内核映像的构成,可以参考http://blog.csdn.net/crazycoder8848/article/details/19156503 本文仅...

2017-08-08 02:04:26

阅读数 618

评论数 0

软件设计中的可移植性的考虑

由于在下水平相当有限,不当之处还望大家不吝赐教。 参考Linux内核的思路,对应用程序的可移植性设计做出的思考。 Linux内核中,最前期的启动代码是特定体系结构的代码,还有中断、异常、系统调用的前期都会进入特定体系结构的框架代码,然后再转入体系结构无关的代码。 特定体系结构的代码,...

2017-05-22 00:39:41

阅读数 2120

评论数 0

表目管理代码示例(迸发访问,多重索引查找,添加,删除,)

由于在下水平相当有限,不当之处还望大家不吝赐教。 程序设计中,常常会涉及到各种各样的表目的管理。 如表目的添加,删除,查找等。 其中,查找操作,有可能需要支持多种方式,例如,根据id查找,根据某个属性查找,或者根据多个属性进行查找等。 另外,还需要妥善处理好迸发问题,又要兼顾效率。...

2017-05-21 17:57:42

阅读数 320

评论数 0

Linux关机重启停机(shutdown reboot halt)流程分析

由于本人水平相当有限,不当之处还望大家多多指教。 涉及的内核源码,基于linux-3.10.102。 首先,对于用户态发起的这类操作请求,最终都是通过sys_reboot系统调用(源码在kernel/sys.c)实现的。 其代码如下。如其注释所言,他除了可以重启关机停机,还可以修改ctrl-...

2017-05-14 17:22:43

阅读数 1769

评论数 0

关于Linux文件系统的几点注意事项

本人水平相当有限,不当之处还望大家多多指教。 做内核开发的朋友,可能对下面的代码都很眼熟。 static const struct file_operations xxx_fops = { .owner = THIS_MODULE, .llseek = no_llseek, .w...

2017-05-14 05:20:24

阅读数 292

评论数 0

raw binary文件探秘

Linux下的目标文件、动态库文件、可执行文件,其格式为elf格式。 elf文件是有结构的文件,其内部有丰富的信息,例如,可能包含了可执行文件的入口地址,各个节的起始地址,可重定位信息,还可能包含指令与代码行的对应关系(用于调试)。 内核则利用elf文件中的相关信息,加载运行可执行文件。 然...

2017-04-25 23:57:08

阅读数 1357

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭