[root@localhost ~]# cat user.stpprobe process(@1).function(@2){print_ubacktrace();exit();}session 1 执行 stap user.stp "./a.out" "fun"session 2 执行 [root...
分类:
其他好文 时间:
2015-09-16 21:29:19
阅读次数:
256
开发和维护内核是一件很繁杂的工作,因此,只有那些最重要或者与系统性能息息相关的代码才将其安排在内核中。其它程序,比如GUI,管理以及控制部分的代 码,一般都会作为用户态程序。在linux系统中,把系统的某个特性分割成在内核中和在用户空间中分别实现一部分的做法是很常见的(比如linux系统的 防火墙就...
分类:
Web程序 时间:
2015-09-14 10:33:55
阅读次数:
219
内核级线程切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,少了进出内核态的消耗,但不能很好的利用多核Cpu,目前Linux...
分类:
编程语言 时间:
2015-09-08 00:09:40
阅读次数:
172
核心态和用户态是操作系统两种运行级别。核心态就是拥有资源较多的状态,或者说访问资源多的状态,也称之为特权态;相对来说,用户态就是非特权态,访问资源将受到限制。核心态下CPU可执行任何指令,而用户态下CPU只能执行非特权指令。当CPU处于核心态时可随意进入用户态;而处于用户态时,切换到核心态只有在系统...
分类:
其他好文 时间:
2015-09-05 13:49:21
阅读次数:
136
CPU使用率分为 用户态CPU使用率:执行应用程序代码的时间占总CPU时间的百分比 系统态CPU使用率:应用执行操作系统调用的时间占总CPU时间的百分比 系统态CPU使用率高意味着共享资源有竞争或者IO设备之间有大量的交互。 目标:理想情况应用达到最高性能和扩展性时,它的系统态CPU使用率为0%,提...
分类:
其他好文 时间:
2015-09-02 11:52:37
阅读次数:
173
用户态:Ring3运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/O Permission Bitmap)中规定的可访问端口进行直接访问。 内核态:Ring0在处理器的存储保护.....
分类:
系统相关 时间:
2015-08-31 17:19:45
阅读次数:
203
strace - trace system calls and signalsstrace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬...
分类:
系统相关 时间:
2015-08-31 13:15:05
阅读次数:
194
对于32bit Linux系统来说,一般留给用户态空间是3GB,高地址的1GB 0xC0000000~0xFFFFFFFF是留给kernel的。并且一般采用分页,分段,段页式的方式。一页大小一般为2^12=4096=4KB的大小。一般是10+10+12内存管理算法一般是使用两种算法相配合:BUDDY...
分类:
系统相关 时间:
2015-08-29 23:06:08
阅读次数:
234
1.内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,少了进出内核态的消耗,但不能很好的利用多核Cpu,目...
分类:
编程语言 时间:
2015-08-25 23:04:21
阅读次数:
156
Linux 系统在为用户态进程和内核分配动态内存的时候,所作的检查是马马虎虎的对内核使用的许多磁盘高速缓存和内存高速缓存大小也同样不作限制。页框回收算法(PFRA):1、在所有内存使用完之前,就必须执行页框回收算法2、选择目标页,它获取页框,并且使之空闲3、候选回收页:任何属于磁盘和内存高速缓存的页...
分类:
系统相关 时间:
2015-08-21 17:04:40
阅读次数:
177