相关内容

Linux 内核系统架构
描述linux内核的文章已经有上亿字了但是对于初学者,还是应该多学习多看,毕竟上亿字不能一下子就明白的。 即使看了所有的linux 内核文章,估计也还不是很明白,这时候,还是需要fucking the code.----28年前(1991年8月26日)linus公开linux的代码,开启了一个伟大的时代。 这篇文章从进程调度,内存管理,设备驱动...

linux内核设计与实现
linux简介1.1 unix的特点unix很简洁,仅提供几百个系统调用,并有非常明确的设计目的unix所有东西都当作文件对待,这种抽象使对数据和设备都通过一套相同的系统调用接口进行内核用c语言编写,移植能力很强进程创建迅速,独特的fork调用提供了简洁但是稳定的进程间通讯原语1.2 unix和linuxlinux克隆unix,但不是unix...

详解Linux内核内存管理架构
内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射、页面分配、页面回收、页面交换、冷热页面、紧急页面、页面碎片管理、页面缓存、页面统计等,而且对性能也有很高的要求。 本文从内存管理硬件架构、地址空间划分和内存管理软件架构三个方面入手,尝试对内存管理的软硬件架构...
linux内核的冷热页分配器
先说说cpu的cache,和cpu的cache比起来访问主内存是非常慢的,为了加快速度根据本地性原则,cpu在访问主内存的时候会把附近的一块数据都加载到cpu的cache里,之后读写这块数据都是在cache里做的。 linux本来有伙伴系统分配内存页,为了加快单个内存页的分配linux在每个node里为每个cpu分配了一个per_cpu_pageset...
Linux阅码场 - Linux内核月报(2020年07月)
关于linux内核月报linux阅码场linux阅码场内核月报栏目,是汇总当月linux内核社区最重要的一线开发动态,方便读者们更容易跟踪linux内核的最前沿发展动向。 限于篇幅,只会对最新技术做些粗略概括,技术细节敬请期待后续文章,也欢迎广大读者踊跃投稿为阅码场社区添砖加瓦。 本期月报(总第2期)主要贡献人员...

Linux阅码场 - Linux内核月报(2020年11月)
关于linux内核月报linux阅码场linux阅码场内核月报栏目,是汇总当月linux内核社区最重要的一线开发动态,方便读者们更容易跟踪linux内核的最前沿发展动向。 限于篇幅,只会对最新技术做些粗略概括,技术细节敬请期待后续文章,也欢迎广大读者踊跃投稿为阅码场社区添砖加瓦。 本期月报主要贡献人员: 张健、廖威雄...

Linux内核同步机制之(二):Per-CPU变量
作者:郭健出处:wowotech前文:linux内核同步机制之(一):原子操作一、源由:为何引入per-cpu变量? 1、lock bus带来的性能问题在arm平台上,armv6之前,swp和swpb指令被用来支持对shared memory的访问:? rn中保存了swp指令要操作的内存地址,通过该指令可以将rn指定的内存数据加载到rt寄存器,同时将rt2寄存器中...

初识Linux渗透:从枚举到内核利用
suid 滥用:在这种技术中,攻击者使用需要root权限的合法工具(如nmap)在系统上运行恶意命令linux内核利用:这种利用的危害极大。 一旦攻击者成功利用linux内核,他们将能够完全控制系统。 检查系统是否存在权限提升漏洞,可以使用 “linux privilege checker”。 下载地址:https:github...

比原生更快:在 Linux 内核中运行 WebAssembly
我们是否可以让 wasm 运行得比原生代码更快? 这篇文章将介绍我们在 linux 内核中实现的 webassembly 安全运行环境。 我们在 linux 内核中成功运行了一个 tcp echo 服务端程序,并取得了相对原生代码 10% 的性能提升。 背景“第二个操作系统“许多语言和运行环境,包括 webassembly(支持 wasi 的实现)和 javascript...

Linux新手渗透指南:从枚举到内核利用
suid 滥用:在这种技术中,攻击者使用需要root权限的合法工具(如nmap)在系统上运行恶意命令linux内核利用:这种利用的危害极大。 一旦攻击者成功利用linux内核,他们将能够完全控制系统。 检查系统是否存在权限提升漏洞,可以使用“linux privilege checker”。 下载地址:https:github...

LINUX系统性能调谐
对于一些经常被访问的文件,而它们又不会被更改,可以将它们通过ramdisk放在内存中,即可明显地提高系统的性能。 当然你的内存可要足够大了。 ramdisk有两种,一种可以格式化,加载,在linux内核2. 02.2就已经支持,其不足之处是大小固定。 另一种是内核2.4才支持的,通过ramfs或者tmpfs来实现,它们不能被格式化...
Linux防火墙
即先检查网络数据,通过之后再送到应用层去检查iptables的基本认识netfilter组件内核空间,集成在linux内核中扩展各种网络服务的结构化底层框架内核中选取...prerouting,input,forward,output,postrouting匹配条件 基本:通用的,parameters 扩展:需加载模块,match extentions1、基本匹配条件:无需加载模块...

Linux(一)目录
2修改永久配置 17515.3 修改 linux 内核参数 17615.4关闭 noatime17615.5调节网络传送的数据包mtu 17615.6 在系统方面调节最大连接数(somaxconn)17615.7 加快tcp链接的回收(recycle) 17615.8空的tcp是否允许回收利用(reuse)17616 系统出现异常排查思路 17716.1 查看用户信息 17716. 1.1查看当前的用户 17716.1...

Linux 系统结构详解
部分层次结构如图1-1所示。? 1. linux内核内核是操作系统的核心,具有很多最基本功能, 它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。 如图:? 图1系统调用接口:sci 层提供了某些...
CentOS6.5升级内核到3.10.28
本文适用于centos 6.4, centos 6.5,估计也适用于其他linux发行版。 1. 准备工作确认内核及版本信息#uname-r2.6. 32-220.el6.x86_64#catetccentos-releasecentosrelease6.5(final)安装软件编译安装新内核,依赖于开发环境和开发库#yumgrouplist查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境...

系统启动及内核管理
第三步:boot loaderboot loader就是在操作系统内核运行前运行的一段小程序,通过将这段小程序放入物理内存,我们可以初始化硬件设备、建立内存空间的映射...内核要启动根分区就得加载根分区的驱动,由于内核大小和开机速度限制,以及不同的主机不同的根文件系统的限制,boot并没有那么多驱动。 此时就要借助一个...

Linux调试工具
使用kgtp 不需要 在linux内核上打patch或者重新编译,只要编译kgtp模块并insmod就可以。 其让linux内核提供一个远程gdb调试接口,于是在本地或者远程的...ld-linux现在加载elf可执行文件的工作,已经落到ld-linux.so.2头上了。 你可能会问,这与有调试程序有关系吗? 有的。 比如,在linux中,共享库里所有非...

操作系统内核之争
cache的直接映射与关联映射结合产生了组关联映射; risc和cisc也是各具优点,现代的好的cpu包括了这两种技术,将它们结合了起来。 所以我相信宏内核与微内核也会最终找到结合点的。 linux虽是宏内核,但已吸收了微内核的部分精华。 linux是模块化的、多线程的、内核本身可调度的系统,既吸收了微内核的精华,又保留了...

Linux虚拟地址空间布局
内核空间在页表中拥有较高特权级,因此用户态程序试图访问这些页时会导致一个页错误(page fault)。 在linux中,内核空间是持续存在的,并且在所有进程中都映射到同样的物理内存。 内核代码和数据总是可寻址,随时准备处理中断和系统调用。 与此相反,用户模式地址空间的映射随进程切换的发生而不断变化。 linux进程在...

Linux网络包接收过程的监控与调优
linux内核对网络包的接收过程大致可以分为接收到ringbuffer、硬中断处理、ksoftirqd软中断处理几个过程。 其中在ksoftirqd软中断处理中,把数据包从ringbuffer中摘下来,送到协议栈的处理,再之后送到用户进程socket的接收队列中。 图1 linux内核接收网络包过程理解了linux工作原理之后,还有更重要的两件事情...