
linux
文章平均质量分 51
CDatreides
这个作者很懒,什么都没留下…
展开
-
自主实现简单shell的编写
1.进程替换原理用fork创建子进程后执行的是父进程相同的程序,但实际期望中,我们希望子进程应该执行和父进程不同的代码。所以此时,子进程需要调用exec函数以执行另一个程序,当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,并从新的程序的启动例程开始执行。调用exec并不创建新进程,所以调用exec前后该进程的id并未改变。2.shell实现的功能我们打开一个终...原创 2018-08-15 15:43:03 · 954 阅读 · 0 评论 -
进程的调度算法以及task_struct结构各字段含义
首先,我们需要知道什么是进程?1.进程是程序的一个执行的实例。2.进程是正在执行的程序。3.进程是能分配处理器并由处理器执行的实体。按内核的观点来谈进程:它是担当分配系统资源(cpu时间,内存)的实体。-操作系统的调度分为三种:1.远程调度(创新进程)2.中程调度(交互功能的一部分)3.短程调度(下次执行哪个进程)-进程的三种状态:1.等待态:等待某个事件的...原创 2018-08-17 14:58:18 · 464 阅读 · 0 评论 -
进程与线程的区别和联系以及优缺点
什么是线程?-在一个程序里的一个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的控制序列”。-一切进程至少都有一个执行线程-线程也被叫做轻量级进程什么是进程?-进程是程序的一个执行的实例。-进程是正在执行的程序。-进程是能分配处理器并由处理器执行的实体。进程和线程-进程是资源竞争的基本单位-线程是程序执行的最小单位联系:进程和线程都是操作系统所...原创 2018-08-19 21:59:10 · 2301 阅读 · 0 评论 -
封装fork/wait等操作, 编写函数 process_create
封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg), func回调函数就是子进程执行的入口函数, arg是传递给func回调函数的参数. 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<unistd....原创 2018-08-15 16:46:06 · 317 阅读 · 0 评论 -
模拟实现僵尸进程, 孤儿进程
僵尸进程什么是僵尸进程?-僵尸状态是一个比较特殊的状态。当进程退出并且父进程(使用wait()系统调用)没有读取到子进程退出的返回代码时就会产生僵尸进程。-僵尸进程会终止状态保持在进程表中,并且会一直在等待父进程读取退出状态代码。-所以,只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态。 1 #include<stdio.h> 2...原创 2018-08-17 22:37:25 · 289 阅读 · 0 评论 -
初步认识linux
在linux环境实践,使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。并熟悉相关指令。预处理部分:编译过程:翻译过程命令:.熟悉预处理标识符:__LINE____FILE____DATE____TIMRE__### 写一个宏可以将一个数字的奇数位和偶数位交换。本章总结: ...原创 2018-05-03 18:49:54 · 232 阅读 · 0 评论 -
进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.
linux学习之前,有些指令是必须掌握的,今天我就为大家介绍几种常见的命令权限。1.cd大家请看上面代码,通过ll展示day01的权限,第一步我们看出无法进入day01目录,第二步添加w权限,仍然无法进入day01,第三步添加x指令,能够进入day01文件,因此我们发现x指令控制用户进入文件或目录2.touch接上面代码。我们可以看出,当我们去掉w指令时,无法创建文件,当添...原创 2018-06-10 19:22:15 · 268 阅读 · 0 评论 -
了解以下重要命令. du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password
1.du命令:[选项]文件 (1)功能该命令是显示指定文件以及下的所有文件占用系统数据块的情况,如果没有文件,默认是当前目录 -a 显示所有文件对系统数据块的使用情况 -b 显示数据块大小时以字节为基本单位 -c 除了显示文件对系统数据块的使用情况外还显示出文件的总和 -s 只显示文件数据块总大小,不显示文件...原创 2018-06-11 17:50:00 · 331 阅读 · 0 评论 -
查找资料, 了解以下Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp
linux结构图如图所示: 1./proc 目录存放了进程和系统的消息,可以在这个目录下获取系统的信息,这些信息是在内存中,由系统自己产生的。这个目录是一个虚拟的目录,也就是说,这个目录的内容不在硬盘上而是在内存里。 2./sys /sys目录是可写的,可以通过它来访问或修改内核的参数。它在proc的目录下,是一个设备管理的文件它整理了设备驱动相关文...原创 2018-06-17 10:52:25 · 313 阅读 · 0 评论 -
程序地址空间
我们在学习linux的时候,老师曾给我们画过这样的空间布局图。 由图我们并不能理解它所表达的意思,接下来用代码验证一下:代码结果:j结论:根据代码结果可知,当我们fork一个进程时,它的父子进程的地址以及数据都是相同的,因此我们可以的得出父子进程创建时共享代码段以及数据段。我们将代码稍加改动:结果如下:结论:从以上比较我们可以看出,代码改变之后他们的...原创 2018-12-17 13:18:04 · 338 阅读 · 0 评论