首页 > 系统服务 > 详细

操作系统第2次实验报告:创建进程

时间:2020-04-04 23:17:13      阅读:85      评论:0      收藏:0      [点我收藏+]
  • 姓名:倪晓东
  • 学号:201821121020
  • 班级:计算1811

1. 编写程序

在服务器上用VIM编辑器编写一个程序:一个进程创建(fork)两个子进程。给出源代码:

技术分享图片

 

 

 源代码运行结果:

技术分享图片

 

 

 

2. 打印进程树

打印1所创建的进程树结构,给出带有自己名字的截图。

技术分享图片

3. 解读进程相关信息

(1) ps -ef 运行:

技术分享图片

 

 

技术分享图片

 

 

 字段分析:

UID:用户ID名:nixiaodong

PID:该进程ID:18997

PPID:该进程的父进程ID,由进程18997创建的两个进程18998,18999的父进程均为18997

C:CPU占用率,当前为0

STIME:进程开始时间,改进程为19.05

TTY:用户的终端机位置

TIME:进程所占用CPU的时间,为0

CMD:可执行文件名

(2) ps -aux 运行:

技术分享图片

 

 

技术分享图片

 

 

 技术分享图片

 

字段分析:

USER:用户ID

PID:该进程ID

%CPU:该进程所占CPU百分比

%MEM:该进程所占内存百分比

VSZ:该进程所用虚拟内存量

RSS:该进程所用固定内存量

TTY:用户终端机位置

STAT:进程状态

S为休眠

S+有子进程的进程

START:进程开始时间

TIME:进程占用CPU的时间

COMMAND:当前指令内容

 4. 通过该实验产生新的疑问及解答

 

 

ps -ef 指令和ps -aux指令有什么区别?

答:ps -ef 指令和ps -aux指令但是用来显示当前运行进程,没有什么差别,ps -aux 是用BSD格式来显示而ps -ef是用标准格式显示,两者输出略有不同。

5. 加分项

结合实例(实例可以是写一个输出Hello World的简单程序)分析Linux可执行文件构成。

hello world实例:

技术分享图片

 

 使用%!xxd将将当前文本转换为16进制格式:

技术分享图片

 

使用命令将文本转换为16进制字符数组,前面8位16进制数代表行,每行后面8组数代表16字节,所以每组的两个16进制数代表一个字节,最后的0a实际上是0x0a,表示换行,我们可以在16进制下进行编辑:

如:696e代表字符in,将第一行的696e改为4141(即字符AA的ASCII码)

技术分享图片

 

 然后使用%!xxd -r 将当前文件转换回文本格式

 技术分享图片

 

操作系统第2次实验报告:创建进程

原文:https://www.cnblogs.com/qq1803085022/p/12633971.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!