网络操作系统 第三章 进程管理
习题
1.试对程序、进程、线程的概念和功能进行比较。
1)进程的概念:
关于进程,有很多定义,例如:
(1)进程是程序的一次执行
(2)进程是可以和别的进程并发执行的计算
(3)进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行进程
(4)进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位
(5)进程是动态的,有生命周期的活动。内核可以创建一个进程,最终将由内核终止该进程使其消亡
总的来说,进程是在自身的虚拟地址空间运行的一个单独的程序。
2)进程与程序:进程与程序是两个完全不同的概念,但又有密切的联系。它们之间的主要区别有如下几个方面:
(1)程序是静态的概念,而进程则是程序的执行过程。它是动态的概念。
(2)进程是一个独立运行的单位,能与其他进程并发运行;而程序是不能作为一个独立运行的单位而并发执行的。
(3)程序和进程无一一对应的关系。
(4)各个进程在并发执行过程中会产生相互制约关系,而程序本身是静态的,不存在这种异步特征。
(3)线程:线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。
3)线程与进程相比,具有以下一些特征:
(1)进程是资源分配的基本单位。同一进程的所有线程共享该进程的所有资源;
(2)线程是分配处理机的基本单位,它与资源分配无关;
(3)一个线程只能属于一个进程,而一个进程可以有多个线程,且至少有一个进程;
(4)线程在执行过程中,需要协作同步。
4)引入线程的好处有以下几点。
(1)易于调度
(2)提高了系统的效率
(3)创建一个线程比创建一个进程花费的开销少,创建速度快
(4)有利于发挥多处理机的功能,提高进程的并行性。
2.Windows Server 2008 任务管理有哪些重要功能?
1)为排错获取处理机和内存的使用情况信息
2)获取运行中的应用程序的信息
3)进程的排错和监控
4)服务监控和拍错
5)获取网络使用的信息
6)获取用户和远程用户会话信息
3.Linux进程调度的方法有哪些?它们的功能有何不同?
1)at命令:
用户使用at命令在指定时刻执行指定的命令序列。也就是说,该命令至少需要指定一个命令、一个执行时间才能正常运行。at命令可以只指定时间,也可以时间和日期一起指定。需要注意的是,指定时间有个系统判别问题。
2)batch用低优先级运行作业,该命令几乎和at命令的功能完全相同,唯一的区别在于,at命令是在指定时间,很精确的时刻指定命令;而batch是在系统负载较低,资源比较空闲时执行命令。改命令适合于执行占用资源较多的命令。
3)cron命令:
at和batch命令都会在一定时间内完成一定的任务,但是它们都只能执行一次。当指定了运行命令后,系统在指定时间完成任务,一切就结束了。但是在很多情况下需要不断重复一些命令。
cron是不应该手工启动的。cron命令在系统启动时就由一个Shell脚本自动启动,进入后台(所以不需要使用&符号)。一般的用户没有运行该命令的权限,虽然超级管理员可以手工启动cron,不过还是建议将其放到Shell脚本中由系统自行启动
cron命令的执行不需要用户干涉,用户可以创建自己的crontab文件。
4.在Linux中,可通过哪些命令查看进程?
1)who命令
2)w命令
3)ps命令
4)top命令