当前位置:文档之家› Solaris进程的查看和管理

Solaris进程的查看和管理

Solaris进程的查看和管理
Solaris进程的查看和管理

Solaris进程的查看和管理

/usr/proc/bin的命令介绍:

pstop 停止进程

prun pid 重新启动进程

ptime pid 使用微状态计算进程时间

pwait pid 等待指定的进程终止.

pcred pid 显示可信度

pfiles pid 显示已打开文件的fstat 和fcntl 信息

pflags pid 显示每个lwp 的/proc 跟踪标志,等待和持有信号量以及其他状

态信息

pldd pid 显示链接到每个进程的动态链接库

pmap pid 显示地址映射空间

psig pid 显示信号操作

pstack pid 显示每个lwp 的十六进制与符号堆跟踪

ptree pid 显示包含指定PID 的进程树

pwdx oid 显示当前工作目录

6、ps命令格式:

ps [ -aAdeflcjLPy ] [ -o format ] [ -t termlist ] [ -u userlist ] [ -U userlist ] [ -G grouplist ] [ -p proclist ] [ -g pgrplist ] [ -s sidlist ]

7、常用的参数:

-e 输出所有进程报告

-f 在第一栏显示进程所有者的名字(不是UID)。该选项关闭-l、–t、–s 和–r 选项,打开-a 选项。

-l 产生一个长的输出报告,只是不包含STIME 字段

8、ps -el的相关输出参数解释:

bash-2.05$ ps -el

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

19 T 0 0 0 0 0 SY ? 0 ? 0:16 sched

8 S 0 1 0 0 40 20 ? 151 ? ? 0:00 init

19 S 0 2 0 0 0 SY ? 0 ? ? 0:00 pageout

19 S 0 3 0 0 0 SY ? 0 ? ? 0:30 fsflush

8 S 0 377 1 0 40 20 ? 223 ? ? 0:00 sac

8 S 0 378 1 0 40 20 ? 224 ? console 0:00 ttymon

8 S 0 131 1 0 40 20 ? 289 ? ? 0:00 rpcbind

F 十六进制标志,它们加起来表示进程的当前状态。如下所述:

00 进程终止,而且它们在进程表中的空间已释放。

01 系统进程,长驻内存

02 进程被父进程跟踪

04 进程被父进程跟踪而且已被停止

08 该进程无法被信号量唤醒

10 该进程当前在内存中,而且被锁定直到一个事件完成

20 进程不能被交换出

S 进程当前状态,由以下字母之一显示:

O 当前正在处理器上运行

S 睡眠;等待I/O事件完成

R 运行结束

I 空闲;进程被创建

Z 僵死。进程已终止

T 由于父进程跟踪而停止

X 等待更多的内存

UID 进程所有者的用户ID

PID 进程ID

PPID 父进程ID

C 进程的CPU使用情况(即进程占CPU时间的百分比)

PRI 进程优先权方案。较大的数表示较低的优先权

NI 进程的nice值,该值与优先权方案相关联。使一个进程“nicer”意指降低该进程的优先权,以使它不会用尽CPU的时间

SZ 进程请求的虚拟内存量。这是该系统对内存需求的一个好的指标。

TTY 启动进程(或者父进程)的终端。带问号的进程无控制终端(通常为系统进程)TIME 自进程启动以来占CPU时间总量

COMD 产生进程的命令

9、使用ps报告。

查找属于一个用户的许多相同的工作。Kill命令终止进程。ps -U username

查找TIME字段中占用了很多CPU时间的进程。这样的进程可能在死循环。ps -e

查找C字段,找出不重要但占用了大量CPU时间的进程。如果该进程获取过多内存,删除该进程。如果许多进程占用了大量内存,则系统可能需要增加内存。ps -el

注意使用越来越多CPU时间的失控进程。可以通过使用-f选项查看进程启动时间(STIME)以及通过查看TIME字段中的CPU时间总量来检测失控进程。ps -f

10、删除进程。

在正常途径无法结束时才使用删除命令。

#kill - signal pid

signal:57

signal:

2 中断

3 退出

4 非法指令

5 跟踪中断

6 Abort

7 EMT指令(Emulation竞争trap)

8 浮点格式的异常情况

9 kill(不能被捕获或忽略)

10 通道错误

11不合法的内存区段

12 错误系统调用

13 写入不可读的连通管道

14 alarm clock

15 软件结束信号

16 用户定义的信号1

17用户定义的信号2

18 子进程状态被改变

19 电源坏掉

20窗口(Window)的大小被改变

21Urgent(紧急的)Socket Condition

22 Pollable(可查询的)event

23 停止

24 由用户终止

25 继续执行

26 停止终端输入

27 停止终端输出

28 virtual Timer expired

29 Profiling time expired

30 超过CPU时间

31 超过文件大小限制

32 Socket I/O possible

有时即使用kill命令,但进程仍未被删除。最有可能的三种情况:

进程在退出前等待设备完成操作。

进程在等待由于NFS故障而导致的无法使用的资源。要删除此类进程,输入kill -quit PID 进程为僵死进程,在ps报告的defunct的消息中显示。僵死进程是释放了所有资源,但未接受到父进程确认的进程。只有收到确认才删除进程在进程表中的入口。下一次引导时僵死进程会被清除。僵死进程不影响系统性能,不需要删除。

11、优先权控制命

使用priocntl命令可以:

显示或设置指定进程的调度参

显示系统调度程序的当前配置信息

执行带有指定调度参数的命令

每个进程都有不同的级,每级分配有各自不同的调度策略。

系统可能配置的级包括:

系统(SYS)

交互(IA)

实时(RT)

分式共享(TS)

对于分式共享级,用户提供的优先权范围为:-20~+20。一个

分时共享进程的优先权(用户模式优先权)是从父进程继承

而来。系统在分时调度表中查找用户模式优先权,加入任何

nice值或这者priocntl优先权值(用户提供),保证创建的全

局优先权在0~59之间。

在默认配置中,一个可运行的实时进程在任何其它进程之前运行。实时进程使用不当会导致系统性能急剧下降。

1. 显示进程级的基本信息(进程级或系统调度参数):

输入priocntl -l并回车

2. 显示进程的全局优先级

使用ps -ecl命令显示进程的全局优先权。全局优先权在PRI栏列出

3、指定进程的优先级:

输入priocntl -e -c class -m user -limit -p priority command - name回车

-e 执行命令

-c 指定级(默认选项是TS(分时共享)或RI(实时)

-m 用户限制选项,指定-p选项提升或降低优先权的最大量。

-p 允许指定用户提供的优先权,范围为-20~+20。

4.更改分时共享进程的调度参数

依照以下步骤更改分时共享进程的调度参数:

1)成为超级用户。

2)输入priocntl -s -m user -limit [-p priority] -i id type id -list回车。

-s允许设置用户优先权范围的上限

-m 用户限制选项,指定-p选项提升或降低优先权的最大量。

-p优先权命令名选项,允许指定优先权。

-I id -type和id -list选项使用id -type和id -list的组合标识进程,id -

type指定id类型,如PID或UID。

3)输入ps -ecl|grep id -list回车。

4)检查PRI栏的输出,验证已经成功地更改了进程状态。

% priocntl -s -c RT -t 500 -p 20 myprog

% ps -ecl|grep myprog

5. 更改进程

依照以下步骤更改进程级:

1)成为超级用户。

2)输入priocntl -s -c class -i id type id -list回车。

-s允许设置用户优先权范围的上限并更改优先权

-c 指定想更改的进程级为TS(分时共享)级或RI(实时)级

-I id -type和id -list选项使用id -type和id -list的组合标识进程,id -type指定id

类型,如PID或UID。

3)输入ps -ecl|grep id -list回车。

4)检查PRI栏的输出,验证已经成功地更改了进程状态。

注意:必须是超级用户或者在实时shell中操作,更改进程级为非实时级或者实时级。

6、更改进程优先级

使用nice命令可以提高或降低一个命令或进程的优先权。

不带参数使用该命令则默认nice值增4个单位,使进程优先

权降低。

注意:必须是超级用户才能。

/usr/bin/nice command -name(默认,进程的优先权降低4个单位)

/usr/bin/nice +10 command -name(进程的优先权降低10个单位)

/usr/bin/nice -10 command -name(进程的优先权增加10个单位)

/usr/bin/nice - -10 command -name(nice 值减少10个单位,提高一个命令的优先权)

2019年进程管理习题及答案

进程管理习题答案 一.选择题 1.在进程管理中,当时进程从阻塞状态变为就绪状态. A. 进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 答:C 2.分配到必要的资源并获得处理机时的进程状态是。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 答:B 3.P、V操作是。 A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语 答:A 4.对进程的管理和控制使用。 A.指令 B.原语 C.信号量 D.信箱通信 答:B 5.进程的并发执行是指若干个进程。 A.同时执行 B.在执行的时间上是重叠的 C.在执行的时间上是不可重叠的 D.共享系统资源 答:B 6.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。A.0个 B.1个 C .2个 D.3个 答:B 7.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是①;由运行状态变为阻塞状态的条件是②。 A.时间片用完 B.等待某事件发生 C.等待的某事件己发生 D.被进程调度程序选中 答,①D ②B 8.下列的进程状态变化中,变化是不可能发生的。 A.运行一就绪 B.运行一等待 C.等待一运行 D.等待一就绪 答:C 9.一个运行的进程用完了分配给它的时间片后,它的状态变为。 A.就绪 B.等待 C.运行 D.由用户自己确定

答:A 10.用P、V操作管理临界区时,信号量的初值应定义为。 A.一1 B.0 C.1 D.任意值 答:C 11.用V操作唤醒一个等待进程时,被唤醒进程的状态变为. A.等待 B.就绪 C.运行 D.完成 答:B 12.进程间的同步是指进程间在逻辑上的相互关系。 A.联接 B.制约 C. 继续 D.调用 答:B 13.是一种只能进行P操作和V操作的特殊变量。 A.调度 B.进程 C.同步 D.信号量 答:D 14.下面对进程的描述中,错误的是。 A.进程是动态的概念 B.进程执行需要处理机 C.进程是有生命期的 D.进程是指令的集合 答:D 15.下面的叙述中正确的是。 A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同。B.为了避免发生进程死锁,各进程只能逐个申请资源。 C.操作系统用PCB管理进程,用户进程可以从此PCB中读出与本身运行状况有关的信息 D.进程同步是指某些进程之间在逻辑上的相互制约关系 答:D 16.进程控制就是对系统中的进程实施有效的管理,通过使用、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。 A.进程运行 B.进程管理 C.进程创建 D.进程同步 答:C 17.操作系统通过对进程进行管理。 A.JCB B.PCB C.DCT D.CHCT 答:B 18.用P、V操作可以解决互斥问题。 A.一切 B.某些 C.正确 D.错误 答:A 19.通常,用户进程被建立后,。 A.便一直存在于系统中,直到被操作人员撤消

操作系统实验-进程控制

实验一、进程控制实验 1.1 实验目的 加深对于进程并发执行概念的理解。实践并发进程的创建和控制方法。观察和体验进程的动态特性。进一步理解进程生命期期间创建、变换、撤销状态变换的过程。掌握进程控制的方法,了解父子进程间的控制和协作关系。练习Linux 系统中进程创建与控制有关的系统调用的编程和调试技术。 1.2 实验说明 1)与进程创建、执行有关的系统调用说明进程可以通过系统调用fork()创建子进程并和其子进程并发执行.子进程初始的执行映像是父进程的一个复本.子进程可以通过exec()系统调用族装入一个新的执行程序。父进程可以使用wait()或waitpid()系统调用等待子进程的结束并负责收集和清理子进程的退出状态。 fork()系统调用语法: #include pid_t fork(void); fork 成功创建子进程后将返回子进程的进程号,不成功会返回-1. exec 系统调用有一组6 个函数,其中示例实验中引用了execve 系统调用语法: #include int execve(const char *path, const char *argv[], const char * envp[]); path 要装入 的新的执行文件的绝对路径名字符串. argv[] 要传递给新执行程序的完整的命令参数列表(可以为空). envp[] 要传递给新执行程序的完整的环境变量参数列表(可以为空).

Exec 执行成功后将用一个新的程序代替原进程,但进程号不变,它绝不会再返回到调用进程了。如果exec 调用失败,它会返回-1。 wait() 系统调用语法: #include #include pid_t wait(int *status); pid_t waitpid(pid_t pid,int *status,int option); status 用 于保留子进程的退出状态 pid 可以为以下可能值: -1 等待所有PGID 等于PID 的绝对值的子进程 1 等待所有子进程 0 等待所有PGID 等于调用进程的子进程 >0 等待PID 等于pid 的子进程option 规 定了调用waitpid 进程的行为: WNOHANG 没有子进程时立即返回 WUNTRACED 没有报告状态的进程时返回 wait 和waitpid 执行成功将返回终止的子进程的进程号,不成功返回-1。 getpid()系统调用语法: #include #include pid_t getpid(void); pid_t getppid(void); getpid 返回当前进程的进程号,getppid 返回当前进程父进程的进程号 2)与进程控制有关的系统调用说明可以通过信号向一个进程发送消息以控制进程的 行为。信号是由中断或异常事件引发的,如:键盘中断、定时器中断、非法内存引

操作系统实验报告--实验一--进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5)); jincheng.rtime = 0;

实验二Linux进程调度及用户管理系统

实验二 1 实验名称:Linux进程调度及用户管理 2 实验目标 2.1 掌握手工启动前后台作业的方法。 2.2 掌握进程与作业管理的相关Shell命令。 2.3 掌握at调度和cron调度的设置方法。 2.4了解系统性能监视的基本方法。 2.5 掌握用户管理基本方法和命令。 2.6 具有批量新建用户能力。 2.7掌握非实时的通信方式。 3 实验环境和准备 3.1Windows XP下基于“VMware Workstation”虚拟机环境的Red Hat Enterprise Linux Server 5系统。 3.2将主机改为具有个人学号后3位特征的名称。 4 实验要求、步骤及结果 4.1复习vi的基本操作;实现用户间非实时通信;进行作业和进程的基本管理。 【操作要求1】root用户在个人用户主目录下,利用vi新建student.txt文件;存盘退出。内容参见下表左列。 【操作步骤1-新建】 【操作步骤2-存盘】

【操作要求2】利用vi新建password.txt文件;内容参见上表右列。 【操作步骤】 【操作要求3】将vi password.txt作业挂起;显示当前所有进程的详细信息。

【操作步骤1-挂起】 【操作步骤2-显示】 【操作要求4】将挂起的vi作业切换到前台;继续向password.txt文件输入以下内容,输入完成后存盘退出。password.txt文件的后段内容: S06:12345678 S07:12345678 S08:12345678 S09:12345678 S10:12345678 S11:12345678 【操作步骤1-作业切换】

第二章 操作系统进程(练习题标准答案)

第二章操作系统进程(练习题答案)

————————————————————————————————作者:————————————————————————————————日期: 2

第二章进程管理 1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使 用效率的一种系统软件。它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管 理和设备管理等。Windows和Unix是最常用的两类操作系统。前者是一个具有图形界面的 窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的 的系统软件。在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息 并作出响应。 供选答案: (1): A. 应用软件 B. 系统软硬件 C. 资源 D. 设备 (2): A. 数据 B. 作业 C. 中断 D. I/O (3): A. 分时 B. 多任务 C. 多用户 D. 实时 (4): A. PASCAL B. 宏 C. 汇编 D. C (5): A. 网络 B. 分时 C. 批处理 D. 实时 答案:CBBDD 2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。 在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部 分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。 虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。 供选答案: (1): A. 输入和输出 B. 键盘操作 C. 管理和控制 D. 汇编和执行 (2): A. 软件和硬件 B. 主机和外设 C. 高级语言和机器语言 D. 用户和计算机 (3): A. 进程控制块 B. 作业控制块 C. 文件控制块 D. 设备控制块 (4): A. 运行态转换为就绪态 B. 就绪态转换为运行态 C. 运行态转换为等待态 D. 等待态转换为运行态 (5): A. 软盘 B. 硬盘 C. CDROM D. 寄存器 答案:CDADB 3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。 A. Spodling技术 B. 虚拟存储技术 C. 缓冲技术 D. 多道程序设计技术 4.分时系统追求的目标是 C。 A. 高吞吐率 B. 充分利用内存 C. 快速响应 D. 减少系统开销 5.引入多道程序的目的是 D。

操作系统期末试题及答案

《操作系统》期末试卷 姓名 一、选择题(15*2分=30分) 1、在操作系统中,JCB是指(A ) A.作业控制块B.进程控制块C.文件控制块D.程序控制块 2、并发进程之间(D) A.彼此无关 B.必须同步 C.必须互斥 D.可能需要同步或互斥 3 A 4 ?A 5、(D A 6 A 7 A. 8 A. C. 9、设有。 A.2 10 A. 11 A 12、() A C 13 A 14、(B A.固定分区 B.分段 C.分页 D.可变分区 15、在进程管理中,当()时,进程从阻塞状态变为就绪状态。 A.进程被进程调度程序选中B.等待某一事件C.等待的事件发生D.时间片用完 二、填空题(20*1分=20分) 1、在单用户环境下,用户独占全机,此时程序的执行具有_封闭性______和_可再现性_。 2、对于信号量,在执行一次P操作时信号量-1_;当其值为__<0__时,进程应阻塞。在执行V操作时信号量的值应当_信号量+1_; 当其值为__<=0__时,应唤醒阻塞队列中的进程。 3、进程的三种基本状态分别是、进程的三种基本状态分别是__运行______,_就绪_和__阻塞(等待)__。 4、多道程序环境下的各道程序,宏观上它们是_并行__运行,微观上是_串行_运行。 5、在单CPU系统中有(n>1)个进程,在任一时刻处于就绪的进程最多是__n-1__个,最少是___0____个。

6、分区管理方案不能实现虚存的原因是_作业地址空间不能大于存储空间_。 7、段页式存储管理中,是将作业分_段__,__段_____内分___页____。分配以__页_____为单位。在不考虑使用联想存储器快表 的情况下,每条访问内存的指令需要____3___访问内存。其中第_2___次是查作业的页表。 三、简答题(4*5分=20分) (2) ????????????进程A???????????????????????????????进程B ???????????...??????????????????????????????????... ????????P(mutex);????????????????????????????P(mutex);

操作系统进程管理系统设计实验报告

实验报告说明书设计名称:操作系统课程设计 实验:进程调度设计 学生姓名: 专业:网络工程 班级: 08级一班 学号: 指导教师:雷晓平王东黄营杨跃武 日期: 2011年 6月 19日

课程设计任务书 网络工程专业 08 年级 1 班 一、具体要求 本课程设计共2周,采取集中方式。 ㈠主要设计内容 1、进程调度 2、存储管理 3、文件管理 ㈡操作系统分项设计 1、设计一:进程管理系统设计 目的与要求:本设计的目的是加深对进程概念及进程管理各部分内容的理解;熟悉进程管理中主要数据结构的设计及进程调度算法、进程控制机构、同步机构及通讯机构的实施。 要求设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可任意选择。每个进程用一个PCB表示,其内容根据具体情况设置。各进程之间有一定的同步关系(可选)。系统在运行过程中应能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系统的管理过程。 具体详见:设计任务书1--进程调度算法.doc 2、设计二:存贮器管理系统设计 目的与要求:本设计的目的是使学生熟悉存贮器管理系统的设计方法;加深对所学各种存贮器管理方案的了解;要求采用一些常用的存贮器分配算法,设计一个存贮器管理模拟系统并调试运行。模拟环境应尽量接近真实。 具体详见:设计任务书2--内存分区管理模拟.doc 3、设计三:虚拟存储器管理系统设计 本设计的目的是通过设计一个简单的虚拟存储器管理系统来模拟实际的页面调度算法与过程,以掌握这种有用的技术。要求将其输入/输出处理程序编成一个独立的进程模块并与其它请求输入/输出的进程并发运行。并要求加入设备管理子模块。 具体分析为:页面调度算法主要有FIFO、最近最少使用调度算法(LRU)、最近最不常用调度算法(LFU)、最佳算法(OPT)等。题目要求: ①实现三种算法:1、先进先出;2、OPT;3、LRU ②页面序列从指定的文本文件(TXT文件)中取出 ③输出:第一行:每次淘汰的页面号,第二行:显示缺页的总次数 4、设计四:文件管理系统设计 目的与要求:本设计的目的是通过设计和调试一个简单的外部文件系统,主要是模拟文件操作,,使学生对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。 基本要求如下: 实现三种算法:先来先服务、最短寻道优先、电梯算法 磁道服务顺序从指定的文本文件(TXT文件)中取出 输出:第一行:磁道的服务顺序;第二行:显示移动总道数

实验一 进程管理

实验一进程管理 1. 实验目的 ⑴加深对进程概念的理解,明确进程和程序的区别; ⑵进一步认识并发执行的实质; ⑶分析进程争用资源的现象,学习解决进程互斥的方法; ⑷了解Linux系统中进程通信的基本原理。 2. 实验准备 ⑴阅读Linux的sched.h源码文件,加深对进程管理的理解。 ⑵阅读Linux的fork.h源码文件,分析进程的创建过程。 3. 实验内容 ⑴进程的创建 编写一段程序,使用系统调用fork ( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 ⑵进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。 如果在程序中使用系统调用lockf ( )来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 ⑶软中断通信 编制一段程序实现进程的软中断通信。要求:使用系统调用fork ( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上发来的中断信号(既按Del键);当捕捉到中断信号后,父进程系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent process is killed! 在上面的程序中增加语句signal (SIGINT, SIG_IGN) 和signal (SIGQUIT, SIG_IGN),观察执行结果,并分析原因。 4. 实验指导

第二章-操作系统进程(练习题答案)

第二章进程管理 1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使 用效率的一种系统软件。它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管 理和设备管理等。Windows和Unix是最常用的两类操作系统。前者是一个具有图形界面的 窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的 的系统软件。在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息 并作出响应。 供选答案: (1): A. 应用软件 B. 系统软硬件 C. 资源 D. 设备 (2): A. 数据 B. 作业 C. 中断 D. I/O (3): A. 分时 B. 多任务 C. 多用户 D. 实时 (4): A. PASCAL B. 宏 C. 汇编 D. C (5): A. 网络 B. 分时 C. 批处理 D. 实时 答案:CBBDD 2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。 在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部 分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。 虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。 供选答案: (1): A. 输入和输出 B. 键盘操作 C. 管理和控制 D. 汇编和执行 (2): A. 软件和硬件 B. 主机和外设 C. 高级语言和机器语言 D. 用户和计算机 (3): A. 进程控制块 B. 作业控制块 C. 文件控制块 D. 设备控制块 (4): A. 运行态转换为就绪态 B. 就绪态转换为运行态 C. 运行态转换为等待态 D. 等待态转换为运行态 (5): A. 软盘 B. 硬盘 C. CDROM D. 寄存器 答案:CDADB 3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。 A. Spodling技术 B. 虚拟存储技术 C. 缓冲技术 D. 多道程序设计技术 4.分时系统追求的目标是 C。 A. 高吞吐率 B. 充分利用内存 C. 快速响应 D. 减少系统开销 5.引入多道程序的目的是 D。

进程管理习题及答案

一、判断题 1.( )操作系统的所有程序都必须常驻内存。 2.( )多道程序设计可以缩短系统中作业的执行时间。 3.( )实时系统中的作业周转时间有严格的限制。 4.( )进程获得处理机而运行是通过申请而得到的。 5.( )同一个程序不能被创建成多个进程。 6.( )子进程可以继承它的父进程所拥有的所有资源。 7.( )对于临界区,最重要的是断定哪个进程先执行临界区里的那段程序。 8.( )若进程A和进程B在临界区上互斥,那么当A位于临界区内时不能打断它的 运行。 9.( )进程间的互斥是一种特殊的同步关系。 10.( )临界区是指进程中用于实现进程互斥的那段代码。 11.( )资源的同时共享是指多个用户作业可以在同一时刻使用同一资源。 12.( )并发性是指若干事件在同一时间间隔内发生。 13.( )进程在运行中,可以自行修改自己的进程控制块PCB。 14.( )进程申请CPU得不到满足时,其状态变为等待态。 15.( )当一个进程从等待态变成就绪态,则一定有一个进程从就绪态变成运行态。 16.( )进程状态的转换是由操作系统完成的,对用户是透明的。 17.( )优先数是进程调度的重要依据,优先数大的进程首先被调度运行。 18.( )不可抢占式动态优先数法一定会引起进程长时间得不到运行。 19.( )进程调度的主要功能是从所有处于等待状态的进程中挑选一个"最合适"的进 程,创建好进程运行所需要的环境,然后把处理机分配给它。 20.( )无限循环和无限延迟是一个概念。 21.( )导致系统出现死锁的一种原因是某个用户作业发生了死循环。 22.( )一旦出现死锁,所有进程都不能运行。 23.( )所有进程都挂起时系统陷入死锁。 24.( )参与死锁的进程至少有两个已经占有资源。 25. ( )有M个进程的操作系统出现死锁时,死锁进程的个数为1

进程管理练习及参考答案

OS概述、进程管理练习答案 一、单项选择题(OS概述部分) 1、UNIX O.S. 属于一种( A )操作系统。 A.分时 B.批处理 C.实时 D.分布式 2、计算机软件中,最靠近硬件层次的一类软件是(C )。 A.应用软件 B.支撑软件 C.系统软件 D.编译软件 3、下列四个操作系统中,是分时系统的为(C )。 A.CP/M B.MS-DOS C.UNIX D.WINDOWS NT 4、在操作系统中,设计者往往编制了许多完成不同功能的子程序供用户程序中使用,这些子程序被称为(B )。 A.作业控制语言 B.系统调用 C.操作控制命令 D.访管命令 5、个人计算机操作系统也被称为( B )。 A.多用户操作系统 B.单用户操作系统 C.实时操作系统 D.批处理操作系统 6、批处理系统的主要缺点是( B )。 A.CPU的利用率不高 B.失去了交互性 C.不具备并行性 D.以上都不是 7、DOS操作系统主要的功能是(A )。 A.文件管理功能 B.中断处理功能 C.作业管理功能 D.打印管理功能 8、第一个在计算机上实现的操作系统是(C )。 A.分时操作系统 B.实时操作系统 C.单道批处理系统 D.单用户操作系统 9、操作系统的功能是进行处理器管理、作业管理、( B )管理、设备管理和文件管理。 A.进程 B.存储器 C.硬件 D.软件 10、设计实时操作系统时,首先应该考虑系统的(B )。 A.可靠性和灵活性 B.实时性和可靠性 C.灵活性和可靠性 D.优良性和分配性 11、操作系统是计算机系统的(B )。 A.应用软件 B.系统软件 C.硬件 D.固件 12、从工作的角度看操作系统,可以分为:单用户操作系统、批处理系统、(B )和实时系统。 A.单机操作系统 B.分时操作系统 C.面向过程的操作系统 D.网络操作系统 13、下列系统中,( B )是实时系统。 A.计算机激光照排系统 B.航空定票系统 C.办公自动化系统 D.计算机辅助设计系统 14、工业过程控制系统中运行的操作系统最好是( B )。 A.分时系统 B. 实时系统 C.分布式操作系统 D.网络操作系统 15、计算机发展到第三代,操作系统已成为软件的一个重要分支,最早的操作系统是(D )。 A.分布式系统 B. 实时系统 C.分时系统 D.批处理系统 16、设计实时操作系统时,( B )不是主要的追求目标。 A.安全可靠 B. 资源利用率 C.及时响应 D.快速处理 二、单项选择题(进程控制与同步部分) 1、进程从运行状态变为等待状态的原因可能是(A )。 A.输入/输出事件发生 B.时间片到 C.输入/输出事件完成 D.某个进程被唤醒

操作系统复习-进程管理

2.1 进程与线程 进程是指令的集合(错,程序是指令的集合,进程是程序的一次执行过程) 优先级是进程调度的重要依据,一旦确定就不能改变(错) 在单CPU的系统中,任意时刻都有一个进程处于运行状态(错,可以空转) 进程申请CPU得不到满足时,其状态变为阻塞(错!等待CPU的进程处于就绪状态) 进程获得CPU运行是通过调度得到的(对) 线程是一种特殊的进程(对) 进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位(对)进程是PCB结构、程序和数据的集合(对) 撤销父进程时,应同时撤销子进程(错!进程撤销可采用两种策略,一种是只撤销指定进程,另一种是撤销指定进程和其子孙进程) 线程的切换,可能会引起进程的切换(对) 引入线程后,处理机只在线程中切换(错!!) 线程是比进程更小的能独立运行的基本单位(错,这句话的成立需要一定的前提条件) 线程的引入增加了程序执行的时空开销(错,应为减少) 一个进程一定包含多个线程(错) 一个进程创建的若干线程共享该进程的程序段和数据段,但是它们有各自的运行栈区(对)中断是进程切换的必要条件,而不是充分条件。(对) 进程的基本特点:动态性,并发性,独立性,异步性,结构性。 在多道程序设计环境下,操作系统分配资源以进程为基本单位 在引入线程的操作系统中,资源分配的基本单位是进程,CPU分配的基本单位是线程。 在引入线程的操作系统中,进程是资源分配的基本单位,线程是调度的基本单位 从运行状态到就绪状态是由于时间片用完或出现了比现在进程优先级更高的进程(调度程序决定) 从就绪状态到运行状态是调度程序决定的 从阻塞状态到就绪状态是协作程序决定的 从运行状态到阻塞状态是进程自身决定的(只有这个是主动的) 对进程的管理和控制使用原语。(原语包括创建原语,撤销原语,阻塞原语,唤醒原语等)一个进程被唤醒意味着进程变为就绪状态(该进程可能重新占用CPU)。(唤醒原语的功能是将被被唤醒进程从阻塞队列中移到就绪队列中) 降低进程优先级的合理时机是进程的时间片用完。 进程调度主要负责选一个进程占有CPU。 建立多线程的主要目的是提高CPU的利用率。 进程调度的方式有抢占式,非抢占式两种。 (?)以下 C 不会引起进程创建。A.用户登录 B.作业调度 C.设备分配 D.应用请求 进程与程序的联系与区别: 联系:进程是程序的一次执行过程,没有程序就没有进程 区别: 1.进程是程序的执行,所以进程属于动态概念,程序是一组指令的有序集合,是静态的概念 2.进程的存在是暂时的,程序的存在是永久的(相对而言)

进程管理器的模拟实现

衡阳师范学院《操作系统》课程设计 题目:进程管理器的模拟实现系别:计算机科学系 专业:物联网工程 班级:1206班 学生姓名:郑晓娟 学号:12450218 指导老师:王玉奇 完成日期:2014年12月28日

目录 一、需求分析 (3) 二、概要设计 (3) 三、详细设计 (4) 1.进程PCB结构体的定义 (4) 2.创建模块 (4) 3.查看模块 (5) 4.换出模块 (6) 5.杀死模块 (8) 四、程序调试 (10) 五、总结分析 (14)

一、需求分析 有时候我们需要去了解我们电脑的运行情况,掌握和管理它的进程,并对其异常情况给予操作和控制。进程管理器就像我们了解和控制自己电脑运作的一个窗口,通过这个窗口我们可以查看到所有进程的运行情况,并对运行的进程加以管理和控制。在本课程设计中,进入模拟进程系统后,可以根据请求选择“创建进程”创建新的进程。还可以选择“查看进程“来查看当前正在运行的进程,以及该进程的相关的信息,其中包括进程的pid,进程优先级,进程大小和进程的内容,我们可以通过这些来了解计算机中每个进程的使用状况。选择“换出进程”,可以挂起某个正在运行的进程。选择“撤销进程”,可以停止某个正在运行的程序,并且释放其占用的资源。选择“退出进程”,可以退出进程模拟系统。 二、概要设计 程序流程:

三、详细设计 (1)进程PCB结构体的定义 struct jincheng_type{ //定义表示进程信息的结构体int pid; //进程ID int youxian; //优先级 int daxiao; //大小 int zhuangtai; //进程的状态,这里用0表示没有建立或被杀死,1表示执行,2表示换出 int neirong; //内容 }; (2)创建模块 void create() //函数--创建一个新进程 { if(shumu>=20) printf("\n内存已满,请先换出或杀死进程\n") //判断内存空间是否已满 else{ for(int i=0;i<20;i++) if(neicun[i].zhuangtai==0) break; //选出空着的内存单元给新进程使用 printf("\n请输入新进程pid\n"); //输入新进程ID存至选出的内存单元 scanf("%d",&(neicun[i].pid));

操作系统实验二(进程管理)

操作系统进程管理实验 实验题目: (1)进程的创建编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 (2)进程的控制修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕上出现的现象,并分析原因。 (3)编制一段程序,使其实现进程的软中断通信。要求:使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按Del键);当捕捉到中断信号后,父进程调用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止:Parent process is killed! 在上面的程序中增加语句signal(SIGINT, SIG_IGN)和signal(SIGQUIT, SIG_IGN),观察执行结果,并分析原因。 (4)进程的管道通信编制一段程序,实现进程的管道通信。使用系统调用pipe( )建立一条管道线;两个进程P1和P2分别向管道各写一句话:Child 1 is sending a message! Child 2 is sending a message! 而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。 实验源程序及报告: (1)、进程的创建 #include int main(int argc, char *argv[]) { int pid1,pid2; /*fork first child process*/ if ( ( pid1=fork() ) < 0 ) { printf( "ProcessCreate Failed!"); exit(-1); }

进程管理模拟实验指导书09

进程管理模拟系统实验指导书2 一、实验目的 学习进程管理的设计与实现,学习和运用操作系统原理,设计一个操作系统子系统的模拟系统。通过该系统的设计调试可增加对操作系统实现的感知性。同时可发挥团队协作精神和个人创造能力。使同学们对操作系统学习有一个实现的尝试和创新的思维。 二、实验规则 1.每组设计一个模拟系统(共100分) 2.每人设计系统中的一部分(满分60分) 3.集体调试创意(满分40分) 三、实验要求 1.进程管理功能以进程调度为主要功能。以进程控制为辅助功能。 2.体现操作系统原理中进程调度算法和进程控制算法。按照操作系统原理设计。 3.结构化设计。设计时构建出模块结构图并存于文件中。模块化实现,对每一功能,每一操作使用模块、函数、子程序设计方法实现。 4.进程以PCB为代表。队列、指针用图示。每一步功能在桌面上能显示出来。 5.系统应具有排错功能,对可能出现的错误应具有排查功能和纠错能力。 6.界面自行设计,语言自行选择。(可用VC/C++/C/C#语言,也可用你会的其他语言,甚至还可用PPT) 7.每人的设计功能都能表现或说明出来。 8.进程以队列法组织,对不同进程调度算法: FIFO队列或PRI队列或rotate(轮转队列)用同一个进程序列组织,对阻塞队列可设置一个,也可设多个。 9.因为是模拟系统,所以要显示每个功能和操作结果。显示应力求清晰、易读和一目了然(一屏),最好能用汉字,否则可用英语或汉语拼音。 10.操作方便,使用便捷。可视化程度高。 11.设计出系统后,还需要写出(介绍系统采用的语言、支撑平台、小组成员及分工。如何安装、如何启动、如何操作) 12.每组需写一份课程设计报告,内容包括:课程设计内容,课程设计设计思路,课程设计结构图,及分工内容、介绍。 13. 实验结果演示验收后,将可在任何环境下运行的可执行文件和系统说明书一起存盘并交盘。(可合组一张盘),上标:班级、组号、姓名。 14. 实验结束后从中选出优秀作品,介绍给大家。 四、系统功能 1.创建进程:主要创建PCB,并在创建后显示PCB及所在RL队列。内容包括①标识数(按产生顺序产生),②进程名(字母序列),③优先数(随机产生),④进程状态,⑤队列指针(可用数字或图表示),⑥其它(可自定义:如运行时间、家族等)。创建进程的个数可人工设定,或可自动设定,也可两者兼有。 2.撤销进程:撤销进程主要显示PCB的消失和队列的变化。 3.进程队列的组织:进程队列可对创建的所有进程变化队形:可组织成FIFO队列,也可组织成PRI队列;或rotate队列,对队列有插入、移出的功能,也有在队列中某位置插入删除功能。 4.显示功能:模拟系统在整个演示过程中都需要可视化,因此显示功能非常重要,要求对队列、PCB每次操作前后予以显示,以表示操作功能的实施效果。

进程管理习题及答案

进程管理习题答案一.选择题.时进程从阻塞状态变为就绪状态1.在进程管理中,当.等待某一事件B A. 进程被进程调度程序选中.时间片用完D C.等待的事件发生 C答:。2.分配到必要的资源并获得处理机时的进程状态是 .执行状态B A.就绪状态 .撤消状态D C.阻塞状态 B答:。V操作是3.P、.两组不同的机器指令B .两条低级进程通信原语A.两条高级进程通信原语D .两条系统调用命令C A答:。.对进程的管理和控制使用4.原语 B A.指令 .信箱通信 D C.信号量 B答:。5.进程的并发执行是指若干个进程 .在执行的时间上是重叠的 B A.同时执行 .共享系统资源D C.在执行的时间上是不可重叠的B答:等待进程。1,则表示有初值为6.若P、V操作的信号量S2,当前值为-个3D.2.1个 C .个0A.个B B答:7.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件。②①;由运行状态变为阻塞状态的条件是是 .等待某事件发生B A.时间片用完 .被进程调度程序选中D C.等待的某事件己发生 B②答,①D 变化是不可能发生的。8.下列的进程状态变化中, .运行一等待 B A.运行一就绪 .等待一就绪D .等待一运行C C答:。.一个运行的进程用完了分配给它的时间片后,它的状态变为9.等待 B .就绪A .由用户自己确定D .运行C. A答:。10.用P、V操作管理临界区时,信号量的初值应定义为.任意值D B..1 A.一1 C答:.11.用V操作唤醒一个等待进程时,被唤醒进程的状态变为 .完成D C.运行.就绪 B A.等待B答:关系。.进程间的同步是指进程间在逻辑上的相互12.调用D继续B.制约 C. A.联接 B答:操作的特殊变量。操作和V 是一种只能进行P13. .信号量 D .进程C.同步.调度A B D答:。14.下面对进程的描述中,错误的是 .进程执行需要处理机B A.进程是动态的概念 .进程是指令的集合D C.进程是有生命期的 D答:。15.下面的叙述中正确的是 .操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同。A.为了避免发生进程死锁,各进程只能逐个申请资源。B中读出与本身运行状况有关的信息PCBPCB管理进程,用户进程可以从此C.操作系统用.进程同步是指某些进程之间在逻辑上的相互制约关系D D答:16.进程控制就是对系统中的进程实施有效的管理,通过使用、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。.进程管理 B A.进程运行 .进程同步D C.进程创建 C答:对进程进行管理。17.操作系统通过 CHCTD.DCT C B.PCB ..AJCB

操作系统习题集------进程管理

习题集 - 2 - 进程管理 1. 在优先级调度中,__________类进程可能被“饿死”,即长时间得不到调度。 A.短进程 B.长进程 C.低优先级进程 D.大内存进程 解: C。优先级调度算法(PRI)的基本思想是:内核为每个进程赋予一个优先级,进程按照优先级的大小顺序在就绪队列中排队,内核将CPU分配给就绪队列头部的第一个进程——优先级最大的进程。因此,进程的优先级越低,在就绪队列中的排队位置就越靠近队列尾,获得运行之前的等待时间就越长。低优先级的进程必须等待所有高优先级进程运行结束后才会被调度运行。如果不断有高优先级的进程加入就绪队列,那么低优先级进程就会一直等待下去。这就是所谓的“饿死”现象。 2. 在下面的系统调用中,__________不会导致进程阻塞。 A.读/写文件 B.获得进程PID C.申请内存 D.发送消息 解: B。当正在执行的进程需要使用某种资源或等待某个事件时,如果资源已被其他进程占用或事件尚未出现,该进程不能获得所需的资源而无法继续运行,于是,进程将被阻塞。进程在阻塞状态中等待资源被释放,或等待事件的发生。所以,进程在执行系统调用时,如果需要使用某种资源,就可能导致进程阻塞。“读/写文件”需要使用设备和文件缓冲区;“申请内存”需要分配内存资源;“发送消息”需要使用消息缓冲区。 3. 下面关于临界区的叙述中,正确的是__________ A.临界区可以允许规定数目的多个进程同时执行 B.临界区只包含一个程序段 C.临界区是必须互斥地执行的程序段 D.临界区的执行不能被中断 解: C。临界段(临界区)的概念包括两个部分:①临界资源:必须互斥访问的资源。例如,需要独占使用的硬件资源,多个进程共享的变量、结构、队列、栈、文件等软件资源。②临界区:访问临界资源的、必须互斥地执行的程序段。即,当一个进程在某个临界段中执行时,其他进程不能进入相同临界资源的任何临界段。

相关主题
文本预览
相关文档 最新文档