操作系统进程实验一

操作系统进程实验一

一、实验目的:

理解进程定义:进程是一个程序的一次执行的过程,同时也是资源分配的最小单元。
程序与进程的区别:程序是静态的,是一些指令的有序集合。进程是动态的,是程序的执行过程,包括动态创建、调度和消亡的整个过程。一个程序可以被执行多次,可以对应多个进程。
理解进程状态:进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态:运行态、就绪态、阻塞态。实际操作系统中都超过三种状态,例如Linux操作系统中一般有6种状态。

二、实验内容:

  1. 使用各种系统命令查看进程的相关信息
  2. 使用进程的创建函数、退出函数

三、实验步骤:

第1步 感受进程的存在,观察进程的状态。
在这里插入图片描述
在这里插入图片描述部分列标题含义
USER:用户
PID:进程号
%CPU:进程占用的CPU百分比
%MEM:占用内存的百分比
STAT:进程状态 例如S 处于休眠状态;R 正在运行;Z 僵尸进程不存在但暂时无法消除
COMMAND:命令

通过多次运行ps aux命令,观察如下现象:
(1)进程号不重复,唯一。
(2)进程状态:多种
(3)1号进程的命令init不变

第2步 在终端输入top,回车,查看动态进程信息。在这里插入图片描述
使用下列命令更新top
按下P:按%CPU排序
按下M:按%MEM排序
按下空格:马上刷新(默认3秒)
按下q:退出(默认的top会一直占用当前端口)
按空格手动刷新,按P实现按%CPU排序,观察现象:
(1)观察大部分情况下只有一个进程处于R状态,大部分情况下CPU的占用率都不高,意思是CPU比较闲。在单核CPU中,某一个时刻只能有一个进程占用CPU即处于运行态R,操作系统书上的理论都是指的单核CPU。
(2)但实际中是多核的CPU,所以实际中应该有一个时刻运行多个进程的情况即并行。使用top命令动态观察是否有出现两个及以上的进程处于R态,并捕捉类似的截图。

在这里插入图片描述
(3)进程号不重复,唯一。
第3步 利用管道增加条件查询
(1)ps aux | grep init,多次执行得到的结果都是init的进程号是1号。
在这里插入图片描述
(2)启动firefox后,查询firefox对应的进程号是多少?
在这里插入图片描述
3)关闭firefox,再启动后,查询firefox对应的进程号是多少?两次进程号一样吗?在这里插入图片描述
第4步 自己编写程序测试,一个程序可以对应多个进程。
(1)编写测试程序:pstest.c
在这里插入图片描述
(2)编译测试程序
在这里插入图片描述

(3)开始测试
打开3个终端,都运行这一个程序,再打开第4个终端查询这个名字的进程有几个,会发现有3个进程号不同的进程,而最后一列却是同一个可执行文件。
在这里插入图片描述

第5步 kill -9 进程号,杀死上一题创建的进程./pstest,要先查询进程号。
在这里插入图片描述

第6步 使用proc文件系统查看进程信息
Proc只存在于内存当中,它以文件系统的方式提供应用程序访问系统内核数据的操作接口。Proc动态地从系统内核读出所需要信息并提交给应用程序。
(1)运行/home/tarena/pstest文件,打开另一个终端观察ls /proc中有一个它的进程号文件夹。
在这里插入图片描述

(2)如果使用kill杀死pstest对应的进程,则/proc下对应的进程号文件夹也消失
在这里插入图片描述

(3)cat /proc/self/status 查看系统当前进行状态,状态信息非常的多,相当于是进程控制块PCB的内容。
在这里插入图片描述

第7步 使用进程的创建函数、退出函数编写程序
在这里插入图片描述

第8步 测试程序截图
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.基本系统进程   Csrss.exe:这是子系统服务器进程,负责控制Windows创建或删除线程以及16位的虚拟DOS环境。   System Idle Process:这个进程是作为单线程运行在每个处理器上,并在系统不处理其它线程的时候分派处理器的时间。   Smss.exe:这是一个会话管理子系统,负责启动用户会话。   Services.exe:系统服务的管理工具。   Lsass.exe:本地的安全授权服务。   Explorer.exe:资源管理器。   Spoolsv.exe:管理缓冲区中的打印和传真作业。   Svchost.exe:这个进程要着重说明一下,有不少朋友都有这种错觉:若是在“任务管理器”中看到多个Svchost.exe在运行,就觉得是有病毒了。其实并不一定,系统启动的时候,Svchost.exe将检查注册表中的位置来创建需要加载的服务列表,如果多个Svchost.exe同时运行,则表明当前有多组服务处于活动状态;多个DLL文件正在调用它。   至于其它一些附加进程,大多为系统服务,是可以酌情结束运行的。由于其数量众多,我们在此也不便于一一列举。   在系统资源紧张的情况下,我们可以选择结束一些附加进程,以增加资源,起到优化系统的作用。在排除基本系统及附加进程后,新增的陌生进程就值得被大家怀疑了。 更多内容请看Windows操作系统安装、系统优化大全、系统安全设置专题,或进入讨论组讨论。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值