Linux kernel
文章平均质量分 90
不会游泳的鱼star
目前从事网络安全行业,Linux C/Rust开发
展开
-
linux系统替换新内核(编译安装替换与打包替换)
一、简介内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。本文将以kernel 3.12.5版本为实验,...原创 2013-12-16 19:19:01 · 30034 阅读 · 7 评论 -
linux 2.6内核较2.4内核中网络的改进分析
提供更好的安全性、电话支持和隐私保护。从隧道和更好的文件安全性到加密和隐私保护,新的 Linux 内核中引入了对网络很多方面的支持与改进。本文的内容包括,这些改进会如何影响用户,并且它们使 Linux 更为安全,更适用于企业。相对于 2.4 版本,新的 Linux 2.6 内核具有很多改进。内核网络选项是技术进步的一个方面。尽管与网络选项相关的大部分文件都有所改善,但本文只是关注影原创 2014-01-03 13:48:45 · 1573 阅读 · 0 评论 -
linux-Tcp IP协议栈源码阅读笔记
一.linux内核网络栈代码的准备知识 1. linux内核ipv4网络部分分层结构: BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件 主要有:/net/socket.c /net/protocols.c etcINET socket层:BS转载 2014-01-03 15:03:57 · 1202 阅读 · 0 评论 -
kmalloc kzalloc vmalloc malloc 和get_free_page()的区别
一、简述1、 kmalloc申请的是较小的连续的物理内存,虚拟地址上也是连续的。kmalloc和get_free_page最终调用实现是相同的,只不过在调用最终函数时所传的flag不同而已。除非被阻塞否则他执行的速度非常快,而且不对获得空间清零。2、get_free_page()申请的内存是一整页,一页的大小一般是128K。3、kzalloc 先是用 kmalloc() 申请空间 ,原创 2013-12-30 17:28:22 · 5266 阅读 · 0 评论 -
linux 网络子系统
一、概述网络子系统概述 Linux 内核中,与网络相关的代码是一个相对独立的子系统,称为网络子系统。 网络子系统是一个层次化的结构,可分为以下几个层次: 1、 Socket 层 Linux 在发展过程中,采用 BSD socket APIs 作为自己的网络相关的 API 接口。同时, Linux 的目标又要能支持各种不同的协议族,而且这些协议族都可以使用 BSD socket APIs原创 2014-01-02 15:27:13 · 4026 阅读 · 1 评论 -
Linux netlink机制介绍
一、简介Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_ROUTE),1-wire 子系统(NETLINK_W1),用户态 socket 协议(NETLINK_US转载 2013-12-25 16:12:55 · 1789 阅读 · 0 评论 -
alloc_skb申请函数分析
alloc_skb()用于分配缓冲区的函数。由于"数据缓冲区"和"缓冲区的描述结构"(sk_buff结构)是两种不同的实体,这就意味着,在分配一个缓冲区时,需要分配两块内存(一个是缓冲区,一个是缓冲区的描述结构sk_buff)。首先看alloc_skbstatic inline struct sk_buff *alloc_skb(unsigned int size,原创 2013-12-26 18:23:39 · 11649 阅读 · 0 评论 -
Linux协议栈skb操作函数介绍
接字缓冲区函数函数名功能函数形成参数描述skb_queue_empty检查队列是否为空int skb_queue_empty (struct sk_buff_head * list)list为队列头如果队列为空返回真,否则返回假skb_get转载 2013-12-27 10:23:24 · 5920 阅读 · 0 评论