首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux系统内核笔记

,它指的是系统的内核,凡是使用这种内核的操作系统都叫作 Linux系统(发行板),严格意义上讲Linux指的是内核,隶属于GNU工程。...UNIX系统、免费开源,而Linux之父就是在参照这款操作 ,才写出第一个版本的Linux内核代码 GNU工程:是自由软件基金会所创立的一个开源组织,基本原则就是共享,主旨是发展出 一个有别于商业UNIX...目前Linux内核由它进行维 护,所以Linux也叫GNU Linux GPL通用公共许可证:允许对某些成果及派生成果重用、修改、复制,对所有人都是自 由的,但不能声明做了原始工作,或声明由他人所作。...POXIX标准:统一的系统编程接口规范,它规定了操作系统以接口形式提供的功能的名字 、参数、返回值,它保障了应用程序源码级的可移植性,而Linux完全遵循了这个标准 版本管理: 早期版本:0.01、0.02...init mm表进行内存映射,而用户空间的表是每个进程一张 注意:每个进程的内存空间完全独立,不同的进程之间交换虚拟内存地址没有任何 意义,所以进程之间不能直接进行通信,需要由内核中转、协调。

1.5K20

Linux内核同步原理学习笔记

a.linux2.0以前的时代 在多年前,linux还没有支持对称多处理器SMP的时候,避免并发数据访问相对简单。...b.linux2.0以后的时代 从2.0开始,linux开始支持SMP. 此时如果不加保护,运行在两个不同处理器上的内核代码完全可能在同一时刻并发访问共享数据。...到2.6时,linux已经发展成抢占式内核, 在不加保护的时候,调度程序可以在任何时刻抢占正在运行的内核代码,重新调度其他的进程运行。...为队列解除锁 锁的使用是自愿的,非强制的,它完全属于一种编程者自选的编程手段。 锁有多种形式,而且加锁的粒度范围也各不相同。...(6)信号量(semaphore)和互斥体 信号量(semaphore)和信号(signal)是完全不同的概念。 linux的信号量是一种睡眠锁。

1.2K20

Linux内核设备驱动之内核的调试技术笔记整理

/****************** * 内核的调试技术 ******************/ (1)内核源代码中的一些与调试相关的配置选项 内核的配置选项中包含了一些与内核调试相关的选项,都集中在...有用的参数有: -t 显示调用发生的时间 -T 显式调用所花费的时间 -f 跟踪所有子进程 -p 跟踪特定进程 -o 将输出的信息导入特定的文件 (5)查看oops消息 oops是内核告知用户有不幸发生的最常用方式...通常,发送完oops后,内核会处于一种不稳定状态。...在某些情况下,oops会导致内核混乱,而混乱的结果就是死机,这些情况可能包括: *oops发生在持有锁的代码中 *oops发生在和硬件设备通讯的过程中 *oops在中断上下文中发生 *oops发生在idle...进程(0)或init进程(1),因为内核没有这两个进程没法工作 如果oops在其他进程运行时发生,内核会杀死该进程并尝试着继续运行。

2.1K41

读书笔记|Linux内核设计与实现

这本书属于学习Linux内核原理必读推荐书目之一!...对Linux内核的设计原理进行了细致的说明,也有具体实现部分的介绍,结合源码能很好的理解Linux内核; 在简单翻了一遍之后,带着如下几个疑问,整理了下相关知识点: 1、内核是什么时候加载运行的; 2、...根据《Linux内核设计与实现》说明,CPU在某个任何特定的时间点上的活动必然概括为下列三种之一: 运行于用户空间,执行用户进程; 运行于内核空间,处于进程上下文,代表某个特定的进程执行; 运行于内核空间...Linux设备驱动作为一个linux内核模块存在,模块都有2个接口函数,模块初始化函数和模块退出函数。 上面提到的驱动程序的注册。一般是由模块初始化函数来实现的。...MMU/Cache line CPU L1/L2高速缓存 页高速缓存:Linux内核实现的磁盘缓存,主要用来减少对磁盘的I/O操作。

1K20

Linux内核设备驱动之内核的时间管理笔记整理

/****************** * linux内核的时间管理 ******************/ (1)内核中的时间概念 时间管理在linux内核中占有非常重要的作用。...相对于事件驱动而言,内核中有大量函数是基于时间驱动的。 有些函数是周期执行的,比如每10毫秒刷新一次屏幕; 有些函数是推后一定时间执行的,比如内核在500毫秒后执行某项任务。...在内核中指定了一个变量HZ,内核初始化的时候会根据这个值确定定时器的节拍率。 HZ定义在,在i386平台上,目前采用的HZ值是1000。...为此,内核提供了两个结构体,都定义在: struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec...与前面几种延迟方法不同,内核定时器并不会阻塞当前进程,启动一个内核定时器只是声明了要在未来的某个时刻执行一项任务,当前进程仍然继续执行。

2.6K31

Linux 内核Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

文章目录 一、下载 Linux 内核源码 二、使用 VSCode 阅读 Linux 内核源码 一、下载 Linux 内核源码 ---- 参考 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的...Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 ) 博客 , 下载 Linux 5.6.18 版本的内核源码 ; 5.x 内核源码下载地址...: https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ Linux 内核 5.6.18 版本 : https://mirrors.edge.kernel.org...参考 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需的特权 | Windows 中配置 7z 命令行执行解压操作 ) 博客 ;...不同版本的 Linux 内核 区别 : 系统调用 : 其系统调用是相同的 , 新的版本可能会增加新的系统调用 ; 设备文件 : 各内核版本的设备文件都是相同的 , 但是 内部接口 可能不同 ; 二、使用

23.3K32

Linux 内核Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

文章目录 一、下载 Linux 内核源码 二、使用 VSCode 阅读 Linux 内核源码 一、下载 Linux 内核源码 ---- 参考 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的...Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 ) 博客 , 下载 Linux 5.6.18 版本的内核源码 ; 5.x 内核源码下载地址...: https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ Linux 内核 5.6.18 版本 : https://mirrors.edge.kernel.org...不同版本的 Linux 内核 区别 : 系统调用 : 其系统调用是相同的 , 新的版本可能会增加新的系统调用 ; 设备文件 : 各内核版本的设备文件都是相同的 , 但是 内部接口 可能不同 ; 二、使用...按钮 , 此时就可以在 VSCode 中阅读 Linux 内核源码 ;

21.3K30

linux内核编程_linux内核是什么

内核——操作系统的内在核心 设备驱动程序 启动引导程序 命令行shell 其他种类的用户界面—-操作系统的外在表象 基本的文件管理工具和系统工具 Linux内核的组成 Linux内核源代码目录结构是什么...Documentation:内核各部分的通用解释和注释。 drivers:设备驱动程序,每个不同的驱动占用一个子目录,如char、block、net、mtd、i2c等。...Makefile:分布在Linux 内核源代码中的Makefile,定义Linux 内核的编译规则。 配置文件(Kconfig):给用户提供配置选择的功能。...记录哪些部分被编译入内核、哪些部分被编译为内核模块。 在Linux 内核中增加程序需要完成哪些工作? 将编写的源代码复制到Linux 内核源代码的相应目录。...次引导加载程序加载Linux内核和可选的初始RAM 磁盘,将控制权交给Linux内核源代码。 运行被加载的内核,并启动用户空间应用程序。

18.8K30

LINUX内核

一、Linux内核2.6特点: 1.新的调度器 2.内核抢占 3.改进线程模型 4.虚拟内存 5.文件系统 6.音频:音频体系结构ALSA.支持USB音频和MIDI设备,并支持全双工重放功能。...二、LINUX内核的组成 1.LINUX内核源代码目录结构 1)arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。如i386,arm,powerpc,mips等。...4)Documentation:内核各部分通用解释和注释。...模块 16)sound:ALSA,OSS音频中设备的核心代码和常用设备驱动 17)usr:实现了用于打包和压缩的CPIO等 2.LINUX内核组成部分 2.1 LINUX主要用进程调度,虚拟文件系统,...3.Linux内核空间与用户空间 Linux只能通过系统调用和硬件中断来完成用户空间到内核空间的控制转移

13.9K30

Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )

文章目录 一、解压内核源码 二、查询当前 Linux 内核版本号 三、进入并查看 linux 内核源码目录 一、解压内核源码 ---- 将 下载的 Linux 内核源码 linux-5.6.14.tar.gz...拷贝到 Ubuntu 虚拟机中 , 执行 tar xvf linux-5.6.14.tar.gz 命令 , 解压 Linux 内核源码 ; 解压完毕后 , linux-5.6.14 目录中就是解压后的...Linux 内核源码 ; 二、查询当前 Linux 内核版本号 ---- 执行 uname -a 命令 , 查询当前 Ubuntu 系统的 Linux 内核版本号 , 执行过程如下 : root@ubuntu...x86_64 x86_64 x86_64 GNU/Linux root@ubuntu:~/kernel# root@ubuntu:~/kernel# 当前的内核版本号是 4.13.0 ; 三...、进入并查看 linux 内核源码目录 ---- 进入之前解压的 linux-5.6.14 内核源码目录 ; root@ubuntu:~/kernel# ls linux-5.6.14 linux-5.6.14

86.9K60

Linux 内核 vs Windows 内核

对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可以下载,并增加自己的改动或功能,Linux 最大的魅力在于,全世界有非常多的技术大佬为它贡献代码。...操作系统核心的东西就是内核,这次我们就来看看,Linux 内核和 Windows 内核有什么区别? ---- 内核 什么是内核呢?...完成第一版 Linux 后,Linux Torvalds 就在网络上发布了 Linux 内核的源代码,每个人都可以免费下载和使用。...Monolithic Kernel Monolithic Kernel 的意思是宏内核Linux 内核架构就是宏内核,意味着 Linux内核是一个完整的可执行程序,且拥有最高的权限。...这样服务与服务之间是隔离的,单个服务出现故障或者完全攻击,也不会导致整个操作系统挂掉,提高了操作系统的稳定性和可靠性。

16.3K30

Linux内核编程_linux内核开发工具

【转载】Linux内核编程与应用编程对比 转载链接1:http://www.arrowapex.cn/archives/66.html 在此之前也不清楚linux内核编程跟用户应用程序编程之间有什么不同...3.要查询一个函数能否在内核编程中用,可以通过http://lxr-itec.uni-klu.ac.at/linux-2.6.4/ident查 (这是针对linux2.6内核,也有针对2.4内核的),如果能查到...起初我一度甚至怀疑这是内核的bug——虽然我觉得不大可能,于是我就开始验证排除这个可能。因为不开这个应用程序时,内核模块完全没有问题。打开应用程序时,内核就会崩溃。...而这个应用程序跟内核模块,完全没有任何的交互。后来分析这个应用程序的代码,与网络关系紧密的就是注册了一个PF_PACKET的socket,用于抓取所有网卡的数据包。...对于在linux内核实现网关的某些功能时,我发现,虽然linux已经提供了很多现成的东西,可以保证快速开发。但是内核本身架构是一个通用计算机,不是专门针对网络处理的。

13K20
领券