linux 内核 kernel_核 travel_旅行 linux kernel travel

linux 2.6

1

hellomod.c

001

// hello world driver for linux 2.6

#include <linux/module.h>                  /*所有模块都要使用头文件module.h*/

#include<linux/kernel.h>               /*kernel.h包含了常用的内核函数*/

#inlcude<linux/init.h>            /* init.h 包含了宏 _init和_exit 它们容许释放内存*/

/* 头文件*/

static int_init lkp_init(void)

{

printk("<1>hello,world! from the kernel space... \n");     /* 模块初始化,printk函数

相当于C语言中的printf输出 函数,<1>立即输出*/

return 0;

}

static void_exit lkp_cleanup(void)

{

printk("<1>Goodbye,world! leaving kernel space...\n");

}

module_init(lkp_init);                             /* 入口点*/

module_exit(lkp_cleanup);                    /* 可加载模块,内核在此处调用 lkp_cleanup 函数*/

MODULE_LICENSE("GPL");                   /* 提示没有GNU公共许可证*/

module_init() 和 cleanup_exit

module_init() 向内核注册模块所提供的新功能

cleanup_exit() 注销由模块提供的新功能

C语言应用程序     内核模块程序

使用函数       Libc库                 内核函数

运行空间       用户空间              内核空间

运行权限       普通用户              超级用户

入口函数       main()                  module_init()

出口函数       exit()                    module_exit()

编译              Gcc-c                   makefile

连接              Gcc                      insmod

运行              直接运行               insmod

调试              Gdb                      kdbug kdb kgdb

转载于:https://blog.51cto.com/nickboot/1682089

linux 内核 linux kernel travel相关推荐

  1. Linux内核线程kernel thread详解--Linux进程的管理与调度(十)【转】

    转自:https://blog.csdn.net/gatieme/article/details/51589205 版权声明:本文为博主原创文章 && 转载请著名出处 @ http:/ ...

  2. Linux内核线程kernel thread详解--Linux进程的管理与调度

    内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求). 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的. 内核线程 ...

  3. Linux 内核(Kernel)组成分析

    一.Linux内核简介 Linux 内核采用宏内核架构,即 Linux 大部分功能都会在内核中实现,如进程管理.内存管理.设备管理.文件管理以及网络管理等功能,它们是运行在内核空间中(也可以称之为特权 ...

  4. linux内核 thread,Linux内核线程kernel thread详解

    内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求). 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的. 内核线程 ...

  5. 2020年10月linux内核,Linux内核5.9于2020年10月12日发布

    5.9内核已于48分钟前发布: 主要的变更如下(引用自:https://www.phoronix.com/scan.php?page=article&item=linux-59-feature ...

  6. 复制linux内核,linux内核写时复制机制源代码解读

    作者简介 写时复制技术(一下简称COW)是linux内核比较重要的一种机制,我们都知道:父进程fork子进程的时候,子进程会和父进程会以只读的方式共享所有私有的可写页,当有一方将要写的时候会发生COW ...

  7. 生效linux内核,Linux内核

    内核 单内核体系设计.但充分借鉴了微内核设计体系的优点,为内核引入模块化机制. 内核组成部分: kernel:内核核心,一般为bzimage,通常在/boot目录下,名称为vmlinuz kernel ...

  8. gcc与linux内核,linux内核版本及其编译的gcc版本

    以前不知道,现在用crosstool-ng编译了5.2.0版本的arm-linu-gcc,再编译之前的linux-3.15.4发现会提示 include/linux/compiler-gcc.h:10 ...

  9. 学做Linux内核,Linux内核学习(3) 最小系统制做2 busybox制做initrd.img和根文件系统...

    busybox制做initrd.img和根文件系统 (一)开发环境介绍 1.使用win7_64的笔记本安装Virtualbox虚拟机,笔记本cpu为i5-2450m.虚拟机上安装Ubuntu16.04 ...

最新文章

  1. 11月2日科技联播:销量不及预期苹果市值跌破万亿美元;腾讯表示封杀抖音因微信规则...
  2. Android动态替换dex,Android DexClassLoader动态加载与插件化开发
  3. 产品操作-查询全部产品
  4. c语言实现快速排序对文件中字符,C语言中快速排序和插入排序优化的实现
  5. Java OutputStreamWriter close()方法与示例
  6. Android测试方法总结汇总
  7. WIN7系统下安装SQLServer2000 + sp4数据库报错之解决办法
  8. USB转RS232串口应用
  9. 如何批量修改文件夹名称排序?
  10. 华为监事会副主席丁耘长跑28公里后突发疾病去世,年仅53岁!
  11. Python 批量发送邮件脚本
  12. 基于IE的MIME sniffing功能的跨站点脚本攻击
  13. Git 学习日记-01
  14. Python基础:函数的返回值return
  15. 最受DBA欢迎的数据库技术文档-巡检篇
  16. 一个关于图片处理的代码
  17. php中可以表示当前日期的函数,在PHP中,可以使用()函数来获取当前日期和时间...
  18. 请问如何查看我的ubuntu是32位的还是64位的
  19. 利用净现值(NPV)分析对比方案的可行性
  20. 强化学习 之 蒙特卡洛方法

热门文章

  1. DCMTK:解压缩RLE压缩的DICOM文件
  2. VTK:可视化之HedgeHog
  3. VTK:Qt之BorderWidgetQt
  4. VTK:InfoVis之MutableGraphHelper
  5. OpenCV基本mat重建的实例(附完整代码)
  6. C语言找出两个字符串唯一不同的一个字符(附完整源码)
  7. c++ extern “C”
  8. QT实现音乐的大小可视化为动画条
  9. C++成员变量和成员函数分开存储
  10. 计算机操作系统作业答案,计算机操作系统作业及答案