Lv.4
跳动的bit
更多个人资料
633
成长值
2
关注
5
粉丝
+ 关注
私信
个人介绍
这个人很懒,什么都没有留下
感兴趣或擅长的领域
编程语言
个人勋章
TA还没获得勋章~
成长雷达
630
3
0
0
0
个人资料
个人介绍
这个人很懒,什么都没有留下
感兴趣或擅长的领域
编程语言
达成规则
以上满足
项可达成此勋章
博客
关注
粉丝
论坛
全部时间
全部时间
最近三天
最近一周
最近一月
全部
暂无专栏分类
简单模拟shell解释器
💦 简单模拟shell解释器子进程执行新程序的需求 ❓ 在之前,我们举过 1 个例子:你是村长家的儿子,是程序员,你不擅长和女生打交道,所以你去通过王婆去找如花表达你的爱意,村里人都知道如花已经心有所属了,而你又是村长家的儿子。王婆心想,这趟浑水我可不不趟,万一搞砸了,可能会影响到自己以后的职业发展,但又碍于你是村长家的儿子,不敢得罪。所以,机智的王婆说:呀!最近的活太多了,这样吧,我...
Shell
任务调度
跳动的bit
2022-08-30 08:02:53
5807
0
0
2022-08-30 08:02:53
999+
0
0
Linux进程替换(下)
💦 函数解释及使用这些函数如果调用成功则加载新的程序从启动代码开始执行,不再返回。如果调用出错则返回 -1。所以 exec 函数只有出错的返回值而没有成功的返回值。✔ 测试用例一:单进程,父进程亲自干活。#include<stdio.h> #include<unistd.h>int main(){ printf("my process begin!\n"); execl("...
Linux
任务调度
跳动的bit
2022-08-30 08:02:08
5638
0
0
2022-08-30 08:02:08
999+
0
0
Linux进程替换(上)
💦 为什么要进程替换 && 什么是进程替换创建子进程的目的:执行父进程的部分代码。我们之前所写的代码都属于这种情况。执行其它程序的代码。不要父进程的代码和数据。所以我们要学习进程替换。所以进程替换是为了子进程能够执行其它程序的代码;进程替换就是以写时拷贝的策略,让第三方进程的代码和数据替换到父进程的代码和数据,给子进程用,因为进程间具有独立性,所以不会影响父进程。以前我们说数据是可写的,...
Linux
任务调度
跳动的bit
2022-08-30 08:01:18
5501
0
0
2022-08-30 08:01:18
999+
0
0
Linux进程等待(下)
1、waitpid方法#include<sys/types.h>#include<sys/wait.h>pid_t waitpid(pid_t pid, int* status, int options);返回值: 当正常返回时,waitpid返回收集到的子进程的进程ID; 如果设置了选项WNOHANG,而调用waitpid时,发现没有已退出的子进程可收集,则返回0; 如果调用中出错,则返...
Linux
任务调度
跳动的bit
2022-08-30 07:59:28
6099
0
0
2022-08-30 07:59:28
999+
0
0
Linux进程等待(上)
💦 进程等待的必要性之前讲过,子进程退出,父进程如果不管不顾,就可能造成 “ 僵尸进程 ” 的问题,进而造成内存泄漏。另外,进程一旦变成僵尸状态,那就刀枪不入,“ 杀人不眨眼 ” 的kill -9也无能为力,因为谁也没有办法杀死一个已经死去的进程。 最后,父进程派给子进程的任务完成的如何,我们需要知道。如,子进程运行完成,结果对还是不对,或者是否正常退出。父进程通过进程等待的方式,回收子...
Linux
任务调度
跳动的bit
2022-08-30 07:58:08
12969
0
0
2022-08-30 07:58:08
999+
0
0
Linux进程终止
为什么 main 函数中,总是 return 0,return 其它值可以吗 ❓ 对于 main 函数的返回值,我们称之为进程退出码,它代表进程退出后,结果是否正确,通常进程退出码为 0 代表成功,!0 代表其它含义,如果你愿意你也可以 return 其它值。大部分情况下,main 函数跑完后,默认结果是正确的,所以以前返回的都是 0。main 函数 return 的值给谁看 ??? 其...
Linux
任务调度
跳动的bit
2022-08-30 07:56:11
3192
0
0
2022-08-30 07:56:11
999+
0
0
Linux进程创建
本文主要学习理解 fork 的返回值、写时拷贝的工作细节、为什么要存在写时拷贝;进程退出码、进程退出的场景及常见的退出方法、对比 man 2 _exit 和 man 3 exit;进程终止、操作系统怎么进行释放资源、池的概念;进程等待的价值、进程等待的方法 wait 和 waitpid(常用)、int* status、阻塞和非阻塞、如何理解等待、WIFEXITED、WEXITSTATUS、W...
Linux
任务调度
跳动的bit
2022-08-30 07:54:48
5878
0
0
2022-08-30 07:54:48
999+
0
0
Linux2.6内核进程调度队列 —— 了解
一、Linux2.6内核进程调度队列 —— 了解不是本文的重点,所以了解一下即可。 💦 Linux2.6内核中进程队列的数据结构 💦 一个CPU拥有一个runqueue如果有多个 CPU 就要考虑进程个数的负载均衡问题。 💦 优先级普通优先级:100~139 (我们都是普通的优先级,想想 nice 值的取值范围,可与之对应 !)。实时优先级:0~99 (不关心) 💦 活动队列时间片...
Linux
任务调度
跳动的bit
2022-08-30 07:53:44
2422
0
0
2022-08-30 07:53:44
999+
0
0
进程地址空间如何映射至物理内存
💦 进程地址空间如何映射至物理内存 (页表的引出)假设存在三个进程 A B C,操作系统就会给每一个进程画一张大饼,叫做当前进程的虚拟地址空间,其中会通过指针将进程和虚拟地址空间关联起来。运行进程A,就要把进程A加载到物理内存中,其中操作系统会给每一个进程创建一张独立的页表结构,我们称之为用户级页表,当然后面还有内核级页表,而页表构建的就是从地址空间中出来的虚拟地址到物理地址中的映射,每...
任务调度
单片机
跳动的bit
2022-08-30 07:52:42
5877
0
0
2022-08-30 07:52:42
999+
0
0
什么是进程地址空间
一、 什么是进程地址空间 💦 观察父子进程在5秒后,全局变量g_val的值和地址#include<stdio.h> #include<unistd.h> #include<sys/types.h> int g_val = 0; int main() { printf("begin......%d\n", g_val); ...
任务调度
跳动的bit
2022-08-30 07:52:04
5616
0
0
2022-08-30 07:52:04
999+
0
0
总条数:90
10
10
20
50
100
1
2
3
4
5
6
...
9
上滑加载中
https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
+ 关注
私信