Linux
happy井二胖
学习,学习,再学习!
展开
-
从开机加电到执行main函数之前的过程(二)
下面我们来说一下从开机到main()的执行过程中的第二步--加载操作系统内核程序并为保护模式做准备。 在Linux-0.11源码中,有一个文件夹boot,其中存放了三个汇编文件,分别是bootsect.s, setup.s, head.s。我们就从这三个文件入手,来讲解加载操作系统内核程序。(一)加载第一部分代码--引导程序(bootsect) 前面BIOS已经执行了转载 2012-04-27 14:17:05 · 400 阅读 · 0 评论 -
Linux内核--网络栈实现分析(八)--应用层发送数据(下)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7547826更多请查看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过程转载 2012-05-11 21:09:31 · 309 阅读 · 0 评论 -
Linux du 命令用法
du 命令用来统计目录(或者文件)所占磁盘空空间的大小。 常用参数:-h 以K, M, G为单位显示大小,提高信息可读性。-s 仅显示总计,即当前目录的大小要想显示一个目录树及其每个子树的磁盘使用情况 du /home/me最常用 du -sh /home/me 或者du -h /hom原创 2012-09-20 13:15:33 · 504 阅读 · 0 评论 -
Linux信号(signal) 机制分析
Linux信号(signal) 机制分析转自:http://blog.renren.com/share/239079088/4329558663来源: 金伟的日志【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等转载 2012-10-25 11:26:01 · 397 阅读 · 0 评论 -
深入理解SetUID
原文载自《草根》杂志,下载地址:http://www.lampbrother.net/grassroots/转自:http://nba20717zcx.blog.51cto.com/343890/392063在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置。问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/shadow中,也就是说转载 2012-10-25 13:51:45 · 332 阅读 · 0 评论 -
深入理解网络技术内幕 阅读笔记(三)
第四章 通知链通知链就是一份简单的函数列表,当给定事件发生时予以执行。每个函数都让另一个子系统知道,调用此函数的子系统内发生或侦测到的一个事件。所执行的函数由被通知子系统所选取,绝不是链条的拥有者决定该执行什么函数。拥有者只是定义这份列表而已,任何内核子系统都可以对该链条注册一个回调函数以接收通知信息。当一个内核函数对给定通知链的事件感兴趣时,可以通过函数notifier_ch原创 2015-10-28 15:18:32 · 635 阅读 · 0 评论 -
深入理解网络技术内幕 阅读笔记(二)
第三章 用户空间与内核的接口内核通过不通的接口把内部信息输出到用户空间。除了程序员用于请求特定信息的系统调用(system call)外,还有三个特殊接口,而其中两个是虚拟文件系统: procfs(/proc文件系统) 这是一个虚拟文件系统,通常是挂在/proc允许内核以文件的形式向用户空间输出内部信息。这些文件没有实际存在于磁盘中,原创 2015-10-28 14:57:02 · 430 阅读 · 0 评论 -
深入理解网络技术内幕 阅读笔记(四)
第五章 网络设备初始化一个网络设备可用,就必须被认可,并且关联正确的驱动程序。初始化的几个阶段: 硬件初始化 由设备驱动程序和通用总线合作完成。驱动程序把每个设备的功能配置成IRQ和I/O地址,使其能与内核交互。 软件初始化 在设备能够被使用之前,依赖于所开启和配置的网络协议而定原创 2015-10-28 17:05:07 · 503 阅读 · 0 评论 -
深入理解网络技术内幕 阅读笔记(一)
第一章 简介内存缓存:内核分别使用kmalloc和kfree函数分配和释放一个内存块。当分配和回收经常发生时,相关的内核组建初始化函数通常会分配一块特殊的内存缓存,以作分配之用。当一个内存块被释放时,实际上是返回到当初被分配的同一个缓冲区中。内核维护的其专属内存缓存的一些网络数据结构的例子包括,套接字缓冲区描述符,用于分配sk_buff缓冲区描述符。sk_buff结构可能是网络子系原创 2015-10-28 14:07:14 · 539 阅读 · 0 评论 -
自旋锁
一个自旋锁是一个互斥设备,它只能有两个值:“锁定”和“解锁”。它通常实现为某个整数值中的单个位。希望获得某特定锁的代码测试相关的位。如果锁可用,则“锁定”位被设置,而代码继续进入临界区;相反,如果锁被其他人获得,则代码进入忙循环并重复检查这个锁,直到该锁可用为止。这个循环就是自旋锁的“自旋”部分。“测试并设置”的操作必须以原子的方式完成。所有的自旋锁等待在本质上都是不可中断的。一旦调用了spi原创 2015-10-29 15:34:04 · 455 阅读 · 0 评论 -
深入理解网络技术内幕 阅读笔记(五)
第十章 帧的接收处理L2层的帧的函数是由中断事件推动的,硬件会使用中断事件通知CPU,该帧已经可用了。接收中断事件的CPU会执行do_IRQ函数。IRQ编号会引发正确的处理函数被启用。此处理函数通常是设备驱动程序在设备驱动程序初始化期间所注册的函数。IRQ函数处理例程会在中断模式下执行,即后续的中断事件都会被关闭。中断处理函数会:把帧拷贝到sk_buff数据结构,如原创 2015-10-29 17:50:42 · 630 阅读 · 0 评论 -
信息安全推荐书籍
转自:http://dfir.org/?q=node/8/Recommended ReadingThis page lists books that I have found to be highly relevant and useful for learning topics within computer security, digital转载 2015-10-30 07:41:49 · 1423 阅读 · 0 评论 -
Linux raw socket 和 packet socket 的主要区别
两者在收包时最大的区别是,raw socket因为是在ip_local_deliver_finish()中收包,所以只能收路由后需要入站的数据包,而packet socket是在netif_receive_skb()中收包,在网卡打开混杂模式的情况下,可以收所有到达本机网卡的包。两者在发包时最大的区别是,raw socket设置IP_HDEINCL选项后可以在用户空间构造IP报头,而packe原创 2016-05-23 14:11:24 · 2363 阅读 · 0 评论 -
Linux内核--网络栈实现分析(七)--数据包的传递过程(下)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7545855更多请查看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过程转载 2012-05-11 21:07:21 · 356 阅读 · 0 评论 -
Linux内核--网络栈实现分析(六)--应用层获取数据包(上)
本文分析基于内核Linux 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7541907更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过程基于数据包的转载 2012-05-11 21:06:03 · 442 阅读 · 0 评论 -
从开机加电到执行main函数之前的过程(一)
我们平时将计算机打开,要经过几十秒,才能进入到我们熟悉的图形(命令行)界面。那么,在这几十秒之内,计算机在干什么呢?计算机做了那些事情呢?下面让我们一探究竟。 从开机到main()的执行分三步完成,其目的是实现从启动盘加载操作系统程序,完成执行main()所需要的准备工作。启动BIOS,准备实模式下的中断向量表和中断服务程序;从启动盘加载操作系统到内存,加载操转载 2012-04-27 14:16:09 · 478 阅读 · 0 评论 -
Linux内核--网络栈实现分析(十)--网络层之IP协议(下)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7552455更多请查看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过程转载 2012-05-11 21:13:31 · 316 阅读 · 0 评论 -
ARM-Linux驱动--DM9000网卡驱动分析(三)
硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu11.04内核版本:2.6.39交叉编译器:arm-linuc-gcc4.3.2转载作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6615027本文接上文ARM-Linux驱动--DM9000转载 2012-05-11 21:27:28 · 349 阅读 · 0 评论 -
Linux内核--网络栈实现分析(三)--驱动程序层+链路层(上)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7497260更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过转载 2012-05-11 20:52:31 · 416 阅读 · 0 评论 -
Linux内核--网络栈实现分析(五)--传输层之UDP协议(上)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/7532512更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过转载 2012-05-11 21:03:07 · 374 阅读 · 0 评论 -
Linux内核--网络栈实现分析(九)--传输层之UDP协议(下)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7549340更多请查看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过程转载 2012-05-11 21:11:11 · 346 阅读 · 0 评论 -
Linux内核--网络栈实现分析(一)--网络栈初始化
本文分析基于内核Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7488828更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明以后的系列博文将深入分析Linu转载 2012-05-11 20:44:56 · 901 阅读 · 0 评论 -
Linux内核--网络栈实现分析(十一)--驱动程序层(下)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7555870更多请查看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过程转载 2012-05-11 21:14:38 · 560 阅读 · 0 评论 -
ARM-Linux驱动--DM9000网卡驱动分析(一)
硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu11.04内核版本:2.6.39转载作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/66097421、下图是DM9000的引脚图2、这里我们结合具体的开发板FL2440下面是FL2440转载 2012-05-11 21:16:42 · 422 阅读 · 0 评论 -
ARM-Linux驱动--DM9000网卡驱动分析(二)
硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu 11.04内核版本:2.6.39转载作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6612623下面开始分析具体的代码,这里由于使DM9000驱动更容易理解,在不影响基本的功能的前提下,这里将尽可能的简化该转载 2012-05-11 21:19:08 · 322 阅读 · 0 评论 -
Linux内核--网络栈实现分析(二)--数据包的传递过程(上)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7492423更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过转载 2012-05-11 20:47:57 · 372 阅读 · 0 评论 -
Linux内核--网络栈实现分析(四)--网络层之IP协议(上)
本文分析基于Linux Kernel 1.2.13转载作品,转载请标明http://blog.csdn.net/yming0221/article/details/7514017更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明注:标题中的”(上)“,”(下)“表示分析过转载 2012-05-11 20:55:30 · 654 阅读 · 0 评论