![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux内核分析
文章平均质量分 91
JaykeLin
这个作者很懒,什么都没留下…
展开
-
Linux内核结构分析
Linux 内核由5 个主要的子系统组成。[img]http://dl.iteye.com/upload/picture/pic/80490/4e6c08bd-e31f-3f3b-8422-c7482e953928.jpg[/img](1)进程调度(SCHED)控制着进程对CPU 的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际是仅等待 CPU 资源的...2011-01-22 09:51:03 · 110 阅读 · 0 评论 -
linux进程管理
无论是Windows还是Linux系统都涉及进程和线程的概念。进程是系统调度的最小单位,线程是系统资源分配的最小单位。进程/线程调度(低级调度)的性能直接影响操作系统的性能。以下主要想讨论以下Linux系统的进程管理。Linux系统中通过调用fork()系统调用创建新进程的,该系统调用通过复制一个现有的进程来创建一个新进程。fork()系统调用从内核返回两次:一次回到父进程,另一次回到新的...2011-01-25 15:47:44 · 81 阅读 · 0 评论 -
linux进程管理(2)
进程家族树在task_struct数据结构中,我们可以通过parent和children等域,如获得当前进程的父进程:[code="c"]struct task_struct *my_parent = current->parent[/code]而在Linux系统中,如前面所述,是保存在一个双向链表中的,所以可以通过以下方法获得前一个进程:[code="c"]list_entry(ta...2011-01-26 10:04:08 · 70 阅读 · 0 评论 -
linux进程管理(3)——线程
在开始讨论线程之前,首先我想要指出的是,在Linux系统中,内核不分为线程和进程,统一作为进程参与调度。每一个内核线程都有属于自己的task_struct结构。线程的创建与普通的进程创建类似,只不过在调用clone()时需要传递一些参数标志来指明需要共享的资源。因为线程需要共享进程的相关资源,如打开的文件、文件系统信息等。[img]http://dl.iteye.com/upload/pi...2011-01-26 10:16:10 · 57 阅读 · 0 评论 -
Linux系统调用
系统调用可以简单说是用户程序使用系统资源的接口,但是用户程序一般都不是直接调用系统调用,而是通过系统API、C库等间接调用,执行内陷命令,进入核心态执行。[img]http://dl.iteye.com/upload/picture/pic/80902/96c4277d-75e7-376a-bdda-20b356cc9e98.jpg[/img]在Linux系统中,每个系统调用被赋予一个系统...2011-01-28 17:27:10 · 95 阅读 · 0 评论 -
Linux vmstat命令实战详解
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。一般vmsta...原创 2014-08-01 17:31:40 · 177 阅读 · 0 评论