当前位置:首页 > Linux常用命令
PID T,IY TIME CMD明后台运行成功。 ②键入“ps”命令,显示系统 956 tty2 00:00:00 bash 9168 tty2 00:05:47 yes 9194 tty2 00:00:00 ps
(2)在前台驱动一个作业并将它放到后台运行。 ① 在前台启动一个作业:
[feng@localhost user2]$Dyes>/DEV/NULL
[feng@localhost user2]$jobs (jobs命令显示进程的运行) [1]一Running yes>/dev/null& [2]+Stopped yes>/dev/null [feng@localhost user2]$
②键入命令“fg%2”将作业[2]重新放到前台运行,再按Ctrl+Z终止正在运行的进程。 [feng@locaUaost user2]$fg%2 yes>/dev/null
[2]+ Stopped yes>/dev/null [feng@localhost user2]$
③键入命令“bg”将当前作业放到后台运行,并用jobs命令显示进程的运行状态。 [feng@localhost user2]$bg [2]+stopped yes>/dev/null [feng@localhost user2]$jobs
[1]- Running yes>/dev/null& [2]+ Running yes>/dev/null& [feng@localhost user2]$ (3)撤销正在运行的作业。
①键入命令“ps”显示正在执行的进程的信息。 [feng@localhost user215 ps PID TTY TIME CMD 956 tty2 00:00:00 bash 9205 tty2 00:06:27 yes 9207 tty2 00:01:39 yes 9226 try2 00:00:00】ps [feng@localhost user2]$ ②键入命令“kill %l”撤销正在运行的作业【1】,并用jobs命令显示进程的运行状态。 [feng@localhost user2]$kill%1 [feng@localhost user2]$jobs
[1]一Terminated yes>/dev/null& [2]+ Running yes>/dev/null& [feng@localhost user2]$ ③键入命令“kill 9207”撤销正在运行的作业[2],并用jobs命令显示进程的运行状态。 [feng@localhost user2]$kill 9207
[feng@localhost user2]$jobs
[2]+ Terminated yes>/dev/null& [feng@localhost user2]$
13
④键入命令“ps”显示正在执行的进程的信息,可见除进程ps和bash以外的所有进 程已被撤销。
[feng@localhost user2]$ps PID TTY TIME CMD
956 try2 00:00:00bash 9226 tty2 00:00:00 ps [feng@localhost user2]$
(4)定时启动一个作业并查看作业运行的结果。 ①键入“cat>work”建立作业文件,输入要启动的作业命令,按“Ctrl+D”结束键盘t 输入。 [feng@localhost user2]$cat>work ls -i
date · ’
[feng@localhost user2]$
②键入命令“date”显示当前时间,然后键入命令“at-f.work 1809+5 minutes”,在5分钟后运行作业。
[feng@localhost user2]$date
[feng@localhost user2]$at-f work 1809+5 minutes total20
一rwxrwxr-x 1 feng feng 11821 Feb 13 21:01 demo
-rw—rW—r_一 1 feng feng 160Feb 13 21:01 demo.c -rw-rw-r-- 1 feng feng 26Feb 13 21:02g01Axt -rw-rw-r-- 1 feng feng 0Feb 1321:07 g02.txt Wen Oct 8 18:14:52 CST 2003 [feng@localhost user2]$ (5)使用top命令。
9:41am up 28mill,2users,loadaverage:l.22,1.26,0.73 48 processes:46 sleeping,2 running,0 zombie,0 stopped CPU states:33.O%user,9.1%system,0.0%nice.57.7%idle
Mem: 62872K av,41400K used, 21472K free,8308K shrd,1740K buff Swap:297160K av, 7308K used,289852K free 25020K cached PID USER Pri NI SIZE RSS SHARE STAT %CPU 9168 feng 13 9191、fleng 1 1 root 0 2 root 0 3 root 0 4 root 0 5 root 0 6 root一20 6 root 0 296 root 0 306 root 0 321 rpc 0 337 root 0
0 504 504 424 R 0 1028 1028 816 R O 116 76 60 S 0 0 0 0 SW 0 0 0 O SW 0 0 0 0 SW 0 0 0 0 SW .20 0 O 0 SW< 0 0 0 0 SW 0 220 168 144 S 0 404 400 0 S 0 92 0 SW 0.0 O SW 0.O 0 0 O 0 SW 0.0 0 0 O 0 0 S、 14 0 0 112 112 SW 0.0 0 64 0 0 SW 0.O 98.3 1.9 0.0 0.0 0.0 0.O 0.0 0.0 0.0 0.O 0.0 0.O 0.O 0.0 0.0 0.O O.O 0.O %MEM TIME COMMAND 0.8 4:41 yes 1.6 0:00 top 0.1 0:06:init 0.0 0:00 kflushd 0.0 0:00 kupdate 0.0 0:00 kpiod 0.0 0:00 kswapd 0.0 0:00:mdrecoveryd 0.0 0:00 khubd 0.2 0:00 338 root 0 348 rpcuser 363 root 0 414 root 0 467 nobody dentd,
15
实验4 进程调度 (实验学时 2学时)
1.目的和要求
进程调度是处理机管理的核心内容。本实验要求用C语言编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数和时间片轮转调度算法的具体实施办法。
2.实验内容
①设计进程控制块PCB表结构(与实验一的结构相同),分别适用于优先数调度算法和循环轮转调度算法。
②建立进程就绪队列。对两种不同算法编制入链子程序。 ③编制两种进程调度算法:1)优先数调度;2)循环轮转调度
3.实验环境
同实验一
4.实验提示
①本程序用两种算法对五个进程进行调度,每个进程可有三个状态,并假设初始状态为就绪状态。
②为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。
③在优先数算法中,优先数可以先取值为98,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。在轮转算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了2个单位),这时,CPU时间片数加2,进程还需要的时间片数减2,并排列到就绪队列的尾上。
④对于遇到优先数一致的情况,采用FIFO策略解决。
#include
16
共分享92篇相关文档