随笔分类 -  linux内核

Linux进程调度与源码分析(五)——schedule代码流程
摘要:详见https://mubu.com/doc/explore/14137 阅读全文

posted @ 2018-05-09 19:49 chenjx_ucs 阅读(583) 评论(0) 推荐(0)

Linux进程调度与源码分析(四)——fork,vfork,clone内核代码流程
摘要:详见:https://mubu.com/doc/explore/14087 阅读全文

posted @ 2018-05-07 14:53 chenjx_ucs 阅读(458) 评论(0) 推荐(0)

epoll内核源码分析
摘要:转载:https://www.nowcoder.com/discuss/26226?type=0&order=0&pos=27&page=1 epoll_create 从slab缓存中创建一个eventpoll对象,并且创建一个匿名的fd跟fd对应的file对象, 而eventpoll对象保存在st 阅读全文

posted @ 2018-03-12 16:57 chenjx_ucs 阅读(315) 评论(0) 推荐(0)

LINUX内核面试题摘选
摘要:转载:http://blog.csdn.net/zm1_1zm/article/details/77231197 1) Linux中主要有哪几种内核锁? 答:Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Lin 阅读全文

posted @ 2018-01-11 10:49 chenjx_ucs 阅读(993) 评论(0) 推荐(0)

Linux进程调度与源码分析(三)——do_fork()的实现原理
摘要:用户层的fork(),vfork(),clone()API函数在执行时,会触发系统调用完成从用户态陷入到内核态的过程,而上述函数的系统调用,最终实现都是通过内核函数do_fork()完成,本篇着重分析do_forkI()函数的实现过程。 Linux操作系统中,产生一个新的进程和产生一个新的线程对于内 阅读全文

posted @ 2017-12-18 14:04 chenjx_ucs 阅读(1664) 评论(0) 推荐(0)

Linux进程调度与源码分析(二)——进程生命周期与task_struct进程结构体
摘要:1、进程生命周期 Linux操作系统属于多任务操作系统,系统中的每个进程能够分时复用CPU时间片,通过有效的进程调度策略实现多任务并行执行。而进程在被CPU调度运行,等待CPU资源分配以及等待外部事件时会属于不同的状态。下图描述了进程之间的状态关系: 运行状态:表示进程此刻正在运行。注,图示中的“运 阅读全文

posted @ 2017-12-18 13:45 chenjx_ucs 阅读(1231) 评论(0) 推荐(0)

Linux进程调度与源码分析(一)——简介
摘要:本系列文章主要是近期针对Linux进程调度源码进行阅读与分析后的经验总结,分析过程中可能结合部分Linux网络编程的相关知识以便于理解,加深对Linux进程调度的理解和知识分享。 本系列文章主要结合Linux3.10.1内核版本源代码以及部分Linux2.4内核版本源代码进行分析,主要涉及fork( 阅读全文

posted @ 2017-12-18 13:38 chenjx_ucs 阅读(1312) 评论(0) 推荐(0)

动态替换Linux核心函数的原理和实现
摘要:转载:https://www.ibm.com/developerworks/cn/linux/l-knldebug/ 动态替换Linux核心函数的原理和实现 动态替换Linux核心函数的原理和实现 在调试Linux核心模块时,有时需要能够实时获取内部某个路径上的某些函数的执行状态,例如查看传入的变量 阅读全文

posted @ 2017-05-19 16:17 chenjx_ucs 阅读(1558) 评论(0) 推荐(0)

linux进程调度
摘要:抢占是不会将非运行进程移出调度队列的。 TASK_RUNNING:正在运行或处于就绪状态:就绪状态是指进程申请到了CPU以外的其他所有资源,正所谓:万事俱备,只欠东风.提醒:一般的操作系统教科书将正在CPU上执行的进程定义为RUNNING状态、而将可执行但是尚未被调度执行的进程定义为READY状态, 阅读全文

posted @ 2017-05-19 16:15 chenjx_ucs 阅读(350) 评论(0) 推荐(0)

thread_info&内核栈
摘要:转载:http://blog.chinaunix.net/uid-22548820-id-2125152.html 之所以将thread_info结构称之为小型的进程描述符,是因为在这个结构中并没有直接包含与进程相关的字段,而是通过task字段指向具体某个进程描述符。通常这块内存区域的大小是8KB, 阅读全文

posted @ 2017-05-19 15:50 chenjx_ucs 阅读(1999) 评论(0) 推荐(1)

linux内核源码中两个重要的宏
摘要:转载:http://www.cnblogs.com/skywang12345/p/3562146.html 倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 container_of 这两个宏应该不陌生。这两个宏最初是极客写出的,后来在Linux内核中被推广使用。 1. o 阅读全文

posted @ 2017-05-19 15:12 chenjx_ucs 阅读(724) 评论(0) 推荐(0)

linux内核编译
摘要:make menuconfig make modules make modules_install make install 阅读全文

posted @ 2017-05-19 14:57 chenjx_ucs 阅读(198) 评论(0) 推荐(0)

Linux内核完全剖析基于0.12内核
摘要:控制寄存器(CR0,CR1,CR2,CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性。CR0中含有控制处理器操作模式和状态的系统控制标志,CR1保留不用,CR2含有导致页错误的线性地址,CR3含有页目录表物理内存基地址,因此该寄存器也被称为页目录基地址寄存器PDBR 阅读全文

posted @ 2017-05-19 14:50 chenjx_ucs 阅读(1090) 评论(0) 推荐(0)

linux系统调用
摘要:内核代码存在于/usr/src/linux-headers-版本号中 拦截系统调用总结: 系统调用的概念:系统调用是内核和用户应用程序之间的沟通桥梁,是用户应用程序访问内核的入口点。用户程序调用响应的API函数,每一个C库中的API都对应内核中提供的一个系统调用函数。如用户程序中getpid()为得 阅读全文

posted @ 2017-05-19 14:36 chenjx_ucs 阅读(893) 评论(0) 推荐(0)

linux内存管理
摘要:转载说明: 作者:至上 原文地址:http://www.cnblogs.com/autum/archive/2012/10/12/linuxmalloc.html 一 为什么需要使用虚拟内存 大家都知道,进程需要使用的代码和数据都放在内存中,比放在外存中要快很多。问题是内存空间太小了,不能满足进程的 阅读全文

posted @ 2017-01-17 20:24 chenjx_ucs 阅读(282) 评论(0) 推荐(0)

导航