会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
侧边栏
yooooooo
以有涯之生随无涯之学
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
112
113
114
115
116
117
118
119
120
···
135
下一页
2018年9月16日
ELF文件的加载过程(load_elf_binary函数详解)--Linux进程的管理与调度(十三)
摘要: 加载和动态链接 从编译/链接和运行的角度看,应用程序和库程序的连接有两种方式。 一种是固定的、静态的连接,就是把需要用到的库函数的目标代码(二进制)代码从程序库中抽取出来,链接进应用软件的目标映像中; 另一种是动态链接,是指库函数的代码并不进入应用软件的目标映像,应用软件在编译/链接阶段并不完成跟库
阅读全文
posted @ 2018-09-16 10:42 yooooooo
阅读(1789)
评论(0)
推荐(2)
2018年9月15日
Linux进程启动过程分析do_execve(可执行程序的加载和运行)---Linux进程的管理与调度(十一)
摘要: execve系统调用 execve系统调用 我们前面提到了, fork, vfork等复制出来的进程是父进程的一个副本, 那么如何我们想加载新的程序, 可以通过execve来加载和启动新的程序。 x86架构下, 其实还实现了一个新的exec的系统调用叫做execveat(自linux 3.19后进入
阅读全文
posted @ 2018-09-15 10:43 yooooooo
阅读(2669)
评论(0)
推荐(0)
2018年9月14日
Linux内核线程kernel thread详解--Linux进程的管理与调度(十)
摘要: 内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。 内核线程就是内核的分身,一个分身可以处理一件特定事情。内核线程的调度由内核负责,一个内核线程处于阻塞状态时不
阅读全文
posted @ 2018-09-14 17:44 yooooooo
阅读(2127)
评论(0)
推荐(0)
Linux下进程的创建过程分析(_do_fork do_fork详解)--Linux进程的管理与调度(八)
摘要: Unix标准的复制进程的系统调用时fork(即分叉),但是Linux,BSD等操作系统并不止实现这一个,确切的说linux实现了三个,fork,vfork,clone(确切说vfork创造出来的是轻量级进程,也叫线程,是共享资源的进程) 系统调用 | 描述 | fork | fork创造的子进程是父
阅读全文
posted @ 2018-09-14 11:07 yooooooo
阅读(1804)
评论(0)
推荐(1)
2018年9月13日
Linux下2号进程的kthreadd--Linux进程的管理与调度(七)
摘要: 2号进程 内核初始化rest_init函数中,由进程 0 (swapper 进程)创建了两个process init 进程 (pid = 1, ppid = 0) kthreadd (pid = 2, ppid = 0) 所有其它的内核线程的ppid 都是 2,也就是说它们都是由kthreadd t
阅读全文
posted @ 2018-09-13 16:58 yooooooo
阅读(1274)
评论(0)
推荐(0)
Linux下1号进程的前世(kernel_init)今生(init进程)----Linux进程的管理与调度(六)
摘要: 前面我们了解到了0号进程是系统所有进程的先祖, 它的进程描述符init_task是内核静态创建的, 而它在进行初始化的时候, 通过kernel_thread的方式创建了两个内核线程,分别是kernel_init和kthreadd,其中kernel_init进程号为1 start_kernel在其最后
阅读全文
posted @ 2018-09-13 16:35 yooooooo
阅读(2693)
评论(0)
推荐(0)
Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)【转】
摘要: 前言 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程由系统自动创建, 运行在内核态 idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生
阅读全文
posted @ 2018-09-13 15:42 yooooooo
阅读(1190)
评论(0)
推荐(0)
2018年9月8日
动态链接
摘要: 动态链接 要解决空间浪费和更新困难这两个问题最简单的办法就是把程序的模块相互分割开来,形成独立的文件,而不再将它们静态地链接在一起。简单地讲,就是不对那些组成程序的目标文件进行链接,等到程序要运行时才进行链接。也就是说,把链接这个过程推迟到了运行时再进行,这就是动态链接( Dynamic Linki
阅读全文
posted @ 2018-09-08 22:54 yooooooo
阅读(600)
评论(0)
推荐(0)
2018年9月4日
Linux下的进程类别(内核线程、轻量级进程和用户进程)--Linux进程的管理与调度(四)
摘要: 本文中出现的,内核线程,轻量级进程,用户进程,用户线程等概念,如果不太熟悉, 可以参见 "内核线程、轻量级进程、用户线程三种线程概念解惑(线程≠轻量级进程)" Linux进程类别 虽然我们在区分Linux进程类别, 但是我还是想说Linux下只有一种类型的进程,那就是task_struct,当然我也
阅读全文
posted @ 2018-09-04 16:59 yooooooo
阅读(2289)
评论(0)
推荐(0)
Linux进程ID号--Linux进程的管理与调度(三)【转】
摘要: Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构,Linux 内核所有涉及到进程和程序的所有算法都是围绕该数据结构建立的,是内核中最重要的数据结构之一。 该数据结构在内核文件include/linux/sched.h中定义,在目前最新的Linux 4.5(截至目
阅读全文
posted @ 2018-09-04 10:14 yooooooo
阅读(1938)
评论(0)
推荐(0)
上一页
1
···
112
113
114
115
116
117
118
119
120
···
135
下一页
公告