
操作系统
往事已遥远
无论你走的多远也走不出我的心;黄昏时的树影拖得再长也拖不出树的根
展开
-
del_timer和del_timer_sync
8.3.3 del_timer和del_timer_sync同add_timer函数相反,del_timer类的函数负责从系统的定时器管理队列中摘除一个定时器对象。del_timer和del_timer_sync的函数原型为:kernel/timer.c> int del_timer(struct timer_list *timer); int del_timer_sync(struc原创 2012-08-07 19:24:07 · 4488 阅读 · 0 评论 -
系统级性能分析工具perf的介绍与使用
转:https://www.cnblogs.com/arnoldlu/p/6241297.html测试环境:Ubuntu16.04 +Kernel:4.4.0-31系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。代码优化的目标是针对具体性能问题而优化代码或...转载 2019-06-12 12:52:32 · 895 阅读 · 0 评论 -
linux伙伴系统接口alloc_page分析1
转:https://www.cnblogs.com/ck1020/p/6852476.html在内核中分配内存,最后要通过伙伴系统接口进行实际物理页面的分配,一个重要的接口便是alloc_page.本文介绍下alloc_page的主要流程,各个部分的执行。主要包含正常分配流程,当页面不足的时候的处理方式。先定位到核心调用#define alloc_page(gfp_mask) al...转载 2019-06-09 20:00:46 · 848 阅读 · 0 评论 -
Linux驱动mmap内存映射
转:https://www.cnblogs.com/wanghuaijun/p/7624564.htmlmmap在linux哪里?什么是mmap?上图说了,mmap是操作这些设备的一种方法,所谓操作设备,比如IO端口(点亮一个LED)、LCD控制器、磁盘控制器,实际上就是往设备的物理地址读写数据。但是,由于应用程序不能直接操作设备硬件地址,所以操作系统提供了这样的一种机制——内...转载 2018-12-03 14:49:17 · 154 阅读 · 0 评论 -
iptables
转发:http://www.zsythink.net/archives/tag/iptables/转载 2018-12-04 16:31:42 · 196 阅读 · 0 评论 -
《Linux内核完全注释》部分习题解答
发信人: nba23 (WOLF TOTEM), 信区: Linux标 题: 《Linux内核完全注释》部分习题解答发信站: BBS 科苑星空站 (Wed Mar 30 13:26:16 2005), 站内作者给的一些解答:第3章 内核引导和启动过程2.为什么不直接将system模块搬到0x00000处而是先搬到0x10000处,再搬到0x00000处呢?转载 2012-12-14 14:28:12 · 920 阅读 · 0 评论 -
进程切换跳转实现 swtich_to
进程切换跳转实现/** switch_to(n)将切换当前任务到任务nr,即n。首先检测任务n 不是当前任务,* 如果是则什么也不做退出。如果我们切换到的任务最近(上次运行)使用过数学* 协处理器的话,则还需复位控制寄存器cr0 中的TS 标志。*/// 输入:%0 - 新TSS 的偏移地址(*&__tmp.a); %1 - 存放新TSS 的选择符值(*&__tmp.b);转载 2012-09-29 17:38:40 · 900 阅读 · 0 评论 -
Linux任务切换代码(switch_to)详解
Copyright 2009 (c) benzus以下代码来自Linux-1.0内核 include/linux/sched.h 文件。(注意到Linux 0.11版的内核基本上也同样是这段代码,所以本文也同样适用于0.11内核)01 #define switch_to(n) { \ 02 struct (long a,b;} __tmp; \ 03 __asm__转载 2012-11-13 15:08:15 · 1089 阅读 · 0 评论 -
移位
int m = -2; 0xfffffffeint b = m>>31; 0xffffffffint n = 2; 0x00000002int k = n>>31; 0x00000000int m = -1; 0原创 2012-09-14 16:01:23 · 423 阅读 · 0 评论 -
系统调用过程分析
系统调用”是操作系统提供给用户程序进行调用的一些服务。这些服务是系统预先提供的函数,在这一点上系统调用与普通的用户程序是没有区别的。而区别则在于“系统调用”是由操作系统提供给用户的,这些服务更接近底层或者要求的安全性更高,因此由操作系统来统一实现和管理。程序员在写程序的过程中会经常需要调用“系统调用”来完成特定的任务。我们以教学用的类Linux操作系统xv6为例,以打印操作为主线来说明系统转载 2012-09-01 23:01:20 · 975 阅读 · 0 评论 -
memory barrier--cache
转:http://www.wowotech.net/kernel_synchronization/memory-barrier.htmlLinux内核同步机制之(三):memory barrier一、前言我记得以前上学的时候大家经常说的一个词汇叫做所见即所得,有些编程工具是所见即所得的,给程序员带来极大的方便。对于一个c程序员,我们的编写的代码能所见即所得吗?我们看到的c程...转载 2019-09-03 11:28:44 · 382 阅读 · 0 评论