1.用户态、内核态和中断处理过程 1.1 用户态和内核态简介 一般现代CPU都有几种不同的指令执行级别。在高执行级别下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态;而在相应的低级别执行状态下,代码的掌控范围会受到限制,只能在对应级别允许的范围内活动,这种CPU执行级别 ...
分类:
其他好文 时间:
2016-05-09 14:19:29
阅读次数:
183
防火墙主机型防火墙(自己保护自己)网络型防护墙(保护某个网络)实现方式分硬件防火墙软件防火墙iptables172.40.55.10(要使用iptables保护自己)[root@ca~]#rpm-qiptablesiptables-1.4.7-16.el6.x86_64[root@ca~]#内核态filter(功能)用户态iptables(管理工具)4张表(功能)r..
分类:
系统相关 时间:
2016-05-09 11:12:12
阅读次数:
303
http://blog.chinaunix.net/uid-1829236-id-3182279.html 究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子: ...
分类:
系统相关 时间:
2016-05-09 09:51:46
阅读次数:
245
通过prctl给线程起名
为了能方便的区分一个进程中的每个线程,可以通过prctl()给每个线程取个名字。这样在会创建多个线程的程序执行过程中,就能知道一个pid或tid对应的是哪个线程。
prctl是个系统调用,可以用来读取和更改一个线程的属性。其用户态接口定义如下:
#include
int prctl(int option, unsigned long arg2, unsigned...
分类:
编程语言 时间:
2016-05-09 07:04:48
阅读次数:
392
一.信号我们在shell下运行起来一个程序,可以在这个进程正在运行的时候键盘输入一个Ctrl+C,就会看到这个进程被终止掉了,其实当我们键入Ctrl+C的时候是向进程发送了一个SIGINT信号,这时候产生了硬件中断则系统会从执行代码的用户态切入到内核态去处理这个信号,而一般这个信..
分类:
系统相关 时间:
2016-05-07 01:14:13
阅读次数:
200
strace命令用法详解: strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用 ...
分类:
系统相关 时间:
2016-05-06 19:18:36
阅读次数:
223
1)用户态(user-mode)。
在用户态下进行网络数据包的拦截有三种方法:WinsockLayeredServiceProvider(LSP)、Windows2000包过滤接口、替换系统自带的WINSOCK动态连接库。在用户态下进行数据包拦截最致命的缺点就是只能在Winsock层次上进行,而对于网络协议栈中底层协议的数据包无法进行处理。因此,这些方法并不适合个人防火墙。
2)内核态...
分类:
其他好文 时间:
2016-05-06 15:20:40
阅读次数:
441
信号
信号在最早的Unix系统中即被引用,用于在用户态进程间通信。内核也用信号通知进程系统所发生的事件。信号已有30多年的历史,但只有很小的变化。
信号的作用
信号(signal)是很短的消息,可以被发送到一个进程或一组进程。发送给进程的唯一信息通常是一个数,以此来标识信号。在标准信号中,对参数、信息或者其他相随的信息没有给与关注。
名字前缀为SIG的一...
分类:
系统相关 时间:
2016-05-06 15:10:35
阅读次数:
239
系统调用
操作系统为在用户态运行的进程与硬件设备(如CPU、磁盘、打印机等等)进行交互提供了一组接口。
Unix系统通过向内核发出系统调用(system call)实现用户态进程和硬件设备之间的大部分接口。
POSIX API和系统调用
让我们先强调下应用编程接口(API)与系统调用之间的不同。前者只是一个函数定义,说明了如何获得一个给定的服务;而后者是...
分类:
系统相关 时间:
2016-05-06 15:04:01
阅读次数:
307
一、产生信号的三种方式:1.由键盘(终端按键)产生,比如在shell下启动一个前台进程(控制台下的进程),按Ctrl^C(只能发给前台进程)会产生一个硬件中断,若CPU正在执行此进程代码,则该进程用户空间代码暂停执行,CPU从用户态切换到内核态处理中断,如果不是自定义信号处理..
分类:
系统相关 时间:
2016-05-05 22:49:17
阅读次数:
284