操作系统进程调度实验Word文件下载.docx
- 文档编号:18773918
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:34
- 大小:192.04KB
操作系统进程调度实验Word文件下载.docx
《操作系统进程调度实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《操作系统进程调度实验Word文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
$pwd
/usr/james
4、cd改变工作目录
$cdsource(相对路径)
$cd/usr/david(绝对路径)
$cd$HOME或者cd返回用户主目录
5、mkdir创建目录
$mkdirmemos在当前目录下创建子目录
$mkdir/source/memos指定目录的名字
$mkdir–pxx/yy/zz创建多个分级目录
6、rmdir删除目录
$rmdirimportant删除一个空目录
如果目录不空,则无法删除
必须在父目录或者更高层删除子目录
7、ls显示指定目录的内容
$ls列出当前目录内容
$lssource显示目录source的文件列表
$lssource/first.c显示指定的文件
$ls–a列出所有文件,包括隐藏文件
$ls–R循环列出子目录的内容
$ls–l按照长格式列表,显示文件的详细信息
total3
-rw-r--r--1davidstudent1026Jun2512:
30123
-rw-r--r--1davidstudent684Jun2512:
30REPORT
drw-r--r--1davidstudent48Jun2512:
30momos
文件类型:
第1列由10个字符组成,每行的第一个字符表示文件类型。
-:
普通文件
d:
目录文件
b:
块设备文件,例如磁盘
c:
字符设备文件,例如打印机
文件的访问模式:
9个字符表示,
R:
允许读
w:
允许写
x:
允许执行
第一组允许所有者的读、写和执行权限。
第二组允许用户组的读、写和执行权限。
第三组允许其他用户的读、写和执行权限。
如果是可执行文件,标记执行许可权。
8、rm删除文件
rm既可以删除文件,也可以删除目录。
rm命令没有任何警告信息,当删除文件的时候,不出问题的话,文件就被删除了。
rm-I删除文件前,确认
rm-r删除指定的目录及目录中所有文件和子目录
9、cp复制文件
格式:
cp源目标目的目标
如果目的目标已经存在,那么他的内容将被破坏。
$cpfile1file2
10、mv移动文件、更改名字
格式:
mv源目标目的目标
$mvfile1file2(更改名字)
cp和mv命令都可以接受多于两个的参数,但最后参数必须是目录
$cpfile1file2file3directory1
11、uptime命令:
用来得到有关系统负载的大致数据。
$uptime
3:
20pmup2days,2:
41,16users,loadaverage:
1.90,1.43,1.33
uptime报告当前的时间,系统已经启动的时间以及有关任务负载的三个平均数据(最后1分钟,最后5分钟,最后15秒),该数据是对CPU使用量的大致接近。
12、ps命令:
生成一个报告,总结当前进程执行的统计信息。
该命令的选项控制要列出的进程和要显示的信息。
最常用的格式就是$ps–ef
-e:
显示所有进程
-f:
显示详细信息
UIDPIDPPIDCSTIMETTYTIMECMD
root00009:
36:
35?
0:
00sched
james8881131517:
02:
05tty610:
02via.txt
其中:
UID:
用户ID
PID:
进程ID
PPID:
父进程ID
C:
当前的调度程序的值
STIME:
进程的开始时间
TTY:
和进程相关的终端
TIME:
总的CPU运行时间
CMD:
进程运行的命令
13、nice命令:
指定运行程序的优先值。
nice–n[+|-]数字命令
例:
$nice–n10myprog
$nice–n–10myprog
14、renice命令:
指定进程的优先值。
renice–n[+|-]数字PID
$renice–n+101001
$renice–n–101313
15、kill命令:
向进程发信号并杀死进程。
kill[-信号]PID(S)
信号是要发给进程的信号(可选),缺省是15,通知进程终止
有时候发出kill信号之后进程依然可能存在。
此时可以使用kill–9命令。
一般这样就能够保证杀死进程。
当杀死一个进程的时候,也杀死了进程的所有子进程。
第二章vi编辑器的使用
2.1vi的工作模式
几乎被所有版本的UNIX系统均支持vi编辑器。
命令模式:
vi初始启动时先进入命令模式。
在命令模式下,所有的输入不会在屏幕上显示,只会被解释执行。
输入的命令均显示在编辑器屏幕的最后一行。
命令输入完后,按回车执行命令;
有的命令直接就可以执行。
文本输入模式:
所有的用户输入将被作为文本写入到用户的文件中。
状态行:
屏幕最底部的一行,用来反馈编辑操作结果。
以冒号(:
)、斜杠(/)、问号(?
)开头的命令也会在状态行显示。
vi的三种模式的相互转化如图所示
2.2vi的文本编辑方法
1、进入vi编辑器:
在命令行下输入vi[文件名]回车,进入vi编辑器。
此时位命令行模式。
2、设置文本编辑模式:
在命令行输入i(insert)键可以切换到输入文本状态。
许多命令在命令行状态下按下命令键就可以了,不用再输入回车
3、保存文件:
首先要使vi由文本输入模式切换到命令模式。
连续按[ESC]键可以切换到命令模式。
然后输入wq(writeandquit)就可以存盘并退出编辑器。
4、vi操作的常用方法
可以使用下列命令选择进入文本模式时光标的位置:
i:
在光标左侧输入正文
I:
在光标所在行的开头输入正文
a:
在光标右侧输入正文
A:
在光标所在行的末尾输入正文
o:
在光标所在行的下一行添加新行,光标位于新行开头
O:
在光标所在行的上一行添加新行,光标位于新行开头
空格键和[Tab]:
空格键在当前光标位置前插入一个空格。
[Tab]用来插入一个制表符。
[Backspace]键:
光标退回一个字符的位置。
回车键:
增添一个新行
移动光标:
可以使用箭头键来移动光标。
有些终端上箭头键不能正常工作。
我们可以使用下面的控制键来移动光标:
h:
光标左移一个空格
j:
光标下移一行
k:
光标上移一行
l:
光标右移一个空格
$:
光标移到当前行的末尾
w:
右移光标,到下一个字的开头
b:
左移光标,到前一个字的开头
e:
右移光标,到一个字的末尾
0:
左移光标,到本行的开头
光标移到下一行的开头
5、文本修改:
x:
从指定位置开始删除字符
dd:
从指定位置删除行
u:
放弃最近的修改
U:
放弃对当前行所做的所有修改
r:
替换当前光标所在的字符
R:
从当前光标的位置开始替换字符,并且使vi进入文本输入模式
.:
重复上次的修改操作
命令前可以加上数字,可重复操作。
搜索功能:
“/”和“?
”分别提供了向前和向后搜索功能。
在命令行提示符输入n可以继续查找。
6、退出vi:
q:
退出编辑器
保存文件,但是不退出
wq:
保存文件,然后退出
q!
:
退出编辑器,放弃所有的修改
ZZ:
保存文件,退出vi,和wq作用相同
第三章背景知识介绍
3.1进程管理
进程管理是操作系统中用来创建进程、撤消进程、实现进程状态转换的部分,它提供了在可运行的进程之间复用CPU的方法。
在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。
本次实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解。
3.2进程控制块
为了管理和控制进程,系统在创建每一个进程时,都为其开辟一个专用的存储区,用以随时记录它在系统中的动态特性。
而当一个进程被撤消时,系统就收回分配给它的存储区。
通常,把这一存储区称为该进程的“进程控制块”PCB(ProcessControlBlock)。
由于PCB是随着进程的创建而建立,随着进程的撤消而取消的,因此系统是通过PCB来“感知”一个个进程的,PCB是进程存在的唯一标志。
随操作系统的不同,PCB的格式、大小以及内容也不尽相同。
一般地,在PCB中大致应包如下4方面的信息。
标识信息:
进程名等。
说明信息:
进程状态、程序存放位置、数据存放位置等。
现场信息:
通用寄存器内容、控制寄存器内容、断点地址等。
管理信息:
进程优先数、队列指针等。
3.3进程控制块队列
在多道程序设计环境里,同时会创建多个进程。
当计算机系统只有一个CPU时,每次只能让一个进程运行,其他的进程或处于就绪状态,或处于阻塞状态。
为了对这些进程进行管理,操作系统要做三件事。
(1)把处于相同状态的进程的PCB,通过各自的队列指针链接在一起,形成一个个队列。
通常有运行队列、就绪队列、阻塞队列。
(2)为每一个队列设立一个队列头指针,它总是指向排在队列之首的进程的PCB。
(3)排在队尾的进程的PCB,它的“队列指针”项内容应该为“NULL”,或一个特殊的符号,以表示这是该队的队尾PCB。
在单CPU系统,任何时刻系统中都只有一个进程处于运行状态,因此运行队列中只能有一个PCB;
系统中所有处于就绪状态的进程的PCB排成一队,称其为“就绪队列”。
一般地,就绪队列中会有多个进程的PCB排在里面,它们形成处理机分配的候选对象。
如果就绪队列里没有PCB存在,则称该队列为空;
所有处于阻塞状态进程的PCB,应该根据阻塞的原因进行排队,每一个都称为一个“阻塞队列”。
比如等待磁盘输入/输出进程的PCB排成一个队列,等待打印机输出进程的PCB排成一个队列等。
所以,系统中可以有多个阻塞队列,每个阻塞队列中可以有多个进程的PCB,也可以为空。
3.4进程调度算法
进程调度算法用于确定就绪队列中的哪一个进程即将获得CPU。
常用的进程调度算法有先来先服务法、时间片轮转法、优先数法等。
1.先来先服务调度算法
先来先服务调度算法的基本思想是:
以到达就绪队列的先后次序为标准来选择占用处理机的进程。
一个进程一旦占有处理机,就一直使用下去,直至正常结束或因等待某事件的发生而让出处理机。
采用这种算法时,应该这样来管理就绪队列:
到达的进程的PCB总是排在就绪队列末尾;
调度程序总是把CPU分配给就绪队列中的第一个进程使用。
2.时间片轮转法
时间片轮转调度算法的基本思想是:
为就绪队列中的每一个进程分配一个称为“时间片”的时间段,它是允许该进程运行的时间长度。
在使用完一个时间片后,即使进程还没有运行完毕,也要强迫其释放处理机,让给另一个进程使用。
它自己则返回到就绪队列末尾,排队等待下一次调度的到来。
采用这种调度算法时,对就绪队列的管理与先来先服务完全相同。
主要区别是进程每次占用处理机的时间由时间片决定,而不是只要占用处理机就一直运行下去,直到运行完毕或为等待某一事件的发生而自动放弃。
3.优先数调度算法
优先数调度算法的基本思想是:
为每一个进程确定一个优先数,进程就绪队列按照优先数排序。
如何确定进程的优先数(也就是进程的优先级)?
可以从如下几个方面考虑。
(1)根据进程的类型。
比如说,系统中有系统进程和用户进程。
系统进程完成的任务是提供系统服务,分配系统资源,因此,给予系统进程较高的优先数,不仅合乎情理,而且也能够提高系统的工作效率。
(2)根据进程执行任务的重要性。
每个进程所完成的任务,就其重要性和紧迫性讲,肯定不会完全一样。
比如说,系统中处理紧急情况的报警进程的重要性是不言而喻的。
赋予报警进程高的优先数,一旦有紧急事件发生时,让它立即占有处理机投入运行,谁也不会提出异议。
(3)根据进程程序的性质。
一个CPU繁忙的进程,由于需要占用较长的运行时间,影响系统整体效率的发挥,因此只能给予较低的优先数。
一个I/O繁忙的进程,给予它较高的优先数后,就能充分发挥CPU和外部设备之间的并行工作能力。
(4)根据对资源的要求。
系统资源有处理机、内存储器和外部设备等。
可以按照一个进程所需资源的类型和数量,确定它的优先数。
比如给予占用CPU时间短或内存容量少的进程以较高的优先数,这样可以提高系统的吞吐量。
(5)根据用户的请求。
系统可以根据用户的请求,给予它的进程很高的优先数,作“加急”处理。
4.多级队列调度算法
多级队列调度算法也称多级反馈队列调度算法,它是时间片调度算法与优先数调度算法的结合。
实行这种调度算法时,系统中将维持多个就绪队列,每个就绪队列具有不同的调度级别,可以获得不同长度的时间片。
例如,系统维持N个就绪队列,第1级就绪队列中进程的调度级别最高,可获得的时间片最短,第N级就绪队列中进程的调度级别最低,可获得的时间片最长。
具体的调度方法是:
创建一个新进程时,它的PCB将进入第1级就绪队列的末尾。
对于在第1级到第N-1级队列中的进程,如果在分配给它的时间片内完成了全部工作,那么就撤离系统;
如果在时间片没有用完时提出了输入/输出请求或要等待某事件发生,那么就进入相应的阻塞队列里等待。
在所等待的事件出现时,仍回到原队列末尾,参与下一轮调度(也就是每个队列实行先来先服务调度算法);
如果用完了时间片还没有完成自己的工作,那么只能放弃对CPU的使用,降到低一级队列的末尾,参与那个队列的调度。
对位于最后一个队列里的进程,实行时间片轮转调度算法。
整个系统最先调度1级就绪队列;
只有在上一级就绪队列为空时,才去下一级队列调度。
当比运行进程更高级别的队列中到达一个进程(可以肯定,在此之前比运行进程级别高的所有队列全为空)时,系统将立即停止当前运行进程的运行,让它回到自己队列的末尾,转去运行级别高的那个进程。
可以看出,多级队列调度算法优先照顾I/O繁忙的进程。
I/O繁忙的进程在获得一点CPU时间后就会提出输入/输出请求,因此它们总是被保持在1、2级等较前面的队列中,总能获得较多的调度机会。
对于CPU繁忙的进程,它们需要较长的CPU时间,因此会逐渐地由级别高的队列往下降,以获得更多的CPU时间,它们“沉”得越深,被调度到的机会就越少。
但是,一旦被调度到,就会获得更多的CPU时间,所以,多级调度算法采用的是“你要得越多,你就必须等待越久”的原则来分配处理机的。
第四章实验项目指导
4.1先进先出进程调度算法
一、实验目的
理解先进先出进程调度算法的基本思想。
二、提示
假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。
进程控制块的格式如图1.1。
进程名
PCB指针
要求运行时间
进入系统时间
状态
图1.1
进程名:
作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。
PCB指针:
按进程进入系统的先后顺序把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“NULL”。
要求运行时间:
假设进程需要运行的单位时间数。
进入系统时间:
记录进程进入系统的时刻,调度时总是选取最早进入系统的进程先执行。
状态:
可假设有两种状态,“就绪”状态和“结束”状态。
五个进程的初始状态都为“就绪”状态,用“R”表示,当一个进程运行结束后,它的状态为“结束”状态,用“E”表示。
(2)在每次运行你所设计的进程调度程序之前,为每个进程任意确定它的“进入系统时间”和“要求运行时间”。
(3)为了调度方便,把五个进程按进入系统的时间从早到晚连成队列,用一单元Head_PCB指出队首进程,用指针指出队列的连接情况,如图1.2。
(4)处理器调度总是选队首进程运行,由于本实验是模拟处理器调度,所以,对被选中的进程并不实际地启动运行,而是输出被选中进程的名称来模拟进程的一次运行。
提醒注意的是:
在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行结束,在这里省去了这些工作。
(5)进程运行一次后,要将它的状态修改成“结束”(E),且退出就绪队列,移入空闲队列。
(6)若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,直到所有进程都为“结束”状态。
(7)在所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程名称以及运行一次后进程队列的变化。
(8)为五个进程任意确定一组“进入系统时间”和“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名称以及进程控制块的动态变化过程。
4.2时间片轮转进程调度算法
理解时间片轮转法的基本思想。
已运行时间
图1.3
(1)假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。
进程控制块的格式如图1.3。
作为进程的标识,假设五个进程的进程名分别为Q1,Q2,Q3,Q4,Q5。
进程按顺序排成循环队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针指出第一个进程的进程控制块首地址。
已运行时间:
假设进程已经运行的单位时间数,初始值为“0”
(2)每次运行你所设计的进程调度程序之前,为每个进程任意确定它的“要求运行时间”。
(3)把五个进程按顺序排成循环队列,用指针指出队列连接情况。
用Current_PCB记录当前轮到哪个进程运行,如图1.4所示。
(4)处理器调度总是选择Current_PCB指示的进程运行。
由于本实验是模拟处理器调度,所以,对被选中的进程并不实际地启动运行,而是将该进程的已运行时间加1来模拟进程的一次运行,表示进程已经运行过一个单位的时间。
在实际的系统中,当一个进程被选中运行时,必须设置该进程可以运行的时间片值,以及恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行满一个时间片。
在这里省去了这些工作。
仅用“已运行时间+1”来表示进程已经运行满一个时间片。
(5)进程运行一次后,应把该进程的进程控制块中的指针值送到Current_PCB,以指示下一个轮到运行的进程,同时,应该判断该进程的要求运行时间与已经运行时间,若该进程的要求运行时间不等于已运行时间,则表示它尚未执行结束,应待到下一轮时再运行;
若要求运行时间等于已运行时间,则表示它已经执行结束,应把它的状态修改成“结束”(E)且退出队列。
此时,应把该进程的进程控制块中的指针值送到前面一个进程指针位置。
(8)为五个进程任意确定一组“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名称以及进程控制块的动态变化过程。
4.3优先数进程调度算法
理解优先数进程调度算法的基本思想。
进程控制块的格式如图1.5。
优先数
图1.5
按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“NULL”。
优先数:
赋予进程的优先数,调度时总是选取优先数大的进程先执行。
(2)在每次运行你所设计的进程调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。
(3)为了调度方便,把五个进程按给定的优先数从大到小连成队列,用一单元Head_PCB指出队首进程,用指针指出队列的连接情况,如图1.6。
(4)处理器调度总是选队首进程运行,采用动态改变优先数的办法,进程每运行一次,它的优先数就减“1”,由于本实验是模拟处理器调度,所以,对被选中的进程并不实际地启动运行,而是执行
优先数—1
要求运行时间—1
来模拟进程的一次运行。
(5)进程运行一次后,若要求运行时间不等于0,则再将它按优先数大小插入队列中的适当位置;
若要求运行时间等于0,则把它的状态修改成“结束”(E),且退出就绪队列。
(8)为五个进程任意确定一组“优先数”和“要求运行时间”,启动所设计的进程调度程序,显示或打印逐次被选中进程的进程名称以及进程控制块的动态变化过程。
4.4可变分区管理
理解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 调度 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)