linux内核
llongint
这个作者很懒,什么都没留下…
展开
-
第二章 内存寻址
1.内存地址1.逻辑地址:段地址(segment)+偏移量(offset)MMU通过分段单元(segmentation unit)电路把1转化22.线性地址:也叫虚拟地址(virtual address),uint32表示MMU通过分页单元(paging unit)电路把2转化为33.物理地址:内存芯片级内存单元寻址,uint32 or uint262.硬件中的分段实...原创 2019-03-11 22:33:10 · 205 阅读 · 0 评论 -
第三章 进程
1.进程、轻量级进程和线程引入进程的目的是担当恰当的分配系统资源的实体linux使用轻量级进程对多线程应用程序提供更好的支持POSIX兼容的pthread库使用Linux轻量级进程有3个例子,它们是 LinuxThreads 、 Native Posix Thread Library(NPTL) 和IBM的下一代Posix线程包 NGPT(Next Generation Posix Th...原创 2019-04-01 20:20:59 · 189 阅读 · 0 评论 -
《设备驱动程序》--Jonathan corbet,Alessandro rubini & Greg kroah-hartman
第二章 构造和运行模块2.1核心模块与应用程序的对比1、应用程序可以是C的库函数,而驱动程序只能使用linux内核源码中的函数,而不能使用C的库函数。2、应用程序是有main函数的;而驱动程序没有main函数3、驱动程序有自己的入口和出口;而应用程序只有入口(main)入口:#isnmod demo.ko —>module_init()---->led_init()---...原创 2018-10-20 20:58:39 · 397 阅读 · 0 评论 -
《linux设备驱动开发》,基于最新的linux 4.0内核-----笔记
第二章 Linux 的内核结构及构建---->这一章是自己总结的1、内核结构(主要是下面这几个部分)系统调用接口<—>System call interface进程管理<---------&原创 2018-10-22 22:40:50 · 1776 阅读 · 0 评论 -
linux内核链表--解析及例程
本文参考了大佬的博客1.实现以下定义在 include/linux/list.hstruct list_head { struct list_head *next,*prev;};容易发现list_head没有数据域,在Linux内核链表中,不是在链表结构中包含数据,而是在数据结构中包含链表节点。两个指针指向的是另一个list_head字段的地址,而不是包含list_he...原创 2019-04-02 18:54:45 · 621 阅读 · 1 评论 -
/usr/include/sys/types.h 中的宏
在/usr/include/sys/types.h中有一个宏是这样写的:#if defined __USE_LARGEFILE64 && !defined __ino64_t_definedtypedef __ino64_t ino64_t;# define __ino64_t_defined#endif第一次看到#if defined有点懵,不明白与#ifdef有什么...原创 2019-05-10 01:06:15 · 381 阅读 · 0 评论