计算机操作系统实验讲稿.doc_第1页
计算机操作系统实验讲稿.doc_第2页
计算机操作系统实验讲稿.doc_第3页
计算机操作系统实验讲稿.doc_第4页
计算机操作系统实验讲稿.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

邯 郸 学 院讲 稿20122013学年 第一学期分院(系、部):信息工程学院教 研 室:计算机科学与技术系课 程 名 称:计算机操作系统授 课 班 级:2010级计算机科学与技术专业 本科主 讲 教 师:司玲玲职 称: 讲师使 用 教 材:计算机操作系统制 作 系 统: 邯郸学院制实验一 熟悉Linux操作系统环境1、实验目的 (1)学会Linux的安装,Linux虚拟机的安装和配置; (2)熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux有一个感性认识。2、实验预备内容(1) Linux系统的Shell使用Linux系统时,用户多数时间是通过Shell与系统进行对话的。Shell是一个接收用户输入命令并将其转换成指令的程序,它是用户与Linux系统之间的界面之一。Linux系统中可以使用的Shell包括:bash:Bourne Again Shell。这是Linux系统上最常用的Shell,它合乎POSIX标准且相容于Bourne Shell,是GNU工程 (自由软件基金会) 的产物,并且提供了编辑命令行的功能。csh:C Shell。由Berkeley (伯克利大学) 开发,与Bourne Shell在交互式使用上很多是相兼容的,但在程序设计界面上却有很大的不同。它不提供编辑命令行的功能,但它有类似的功能叫命令历史记录。ksh:Korn Shell。在UNIX系统下得到普遍使用,并最早将现代Shell技术 (包括取自C Shell的部分) 引入Bourne Shell,提供了编辑命令行功能。sh:Bourne Shell。是原始的Shell,不提供编辑命令行功能。tcsh:C Shell的加强版,提供了编辑命令行的功能。zsh:Z Shell。最新的Shell,与Bourne Shell兼容,提供编辑命令行的功能。 POSIX标准:POSIX表示可移植操作系统接口 (Portable Operating System Interface,缩写为POSIX是为了读音更像UNIX) 。电气和电子工程师协会 (IEEE) 最初开发POSIX 标准,是为了提高UNIX环境下应用程序的可移植性。然而,POSIX并不局限于UNIX。许多其它的操作系统,例如DEC OpenVMS和Microsoft Windows NT,都支持POSIX标准,尤其是IEEE Std. 1003.1-1990 (1995年修订) 或POSIX.1,POSIX.1提供了源代码级别的C语言应用编程接口 (API) 给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织 (ISO) 所接受,被命名为 ISO/IEC 9945-1:1990 标准。 (2) Linux系统的文件、目录和权限Linux的文件名与DOS有许多相似之处也有其自身的特点。Linux文件名没有标准格式。通常文件名中可以包含任何字符 (“/”字符除外,“”字符不能作为文件名的第一个字符) ,文件名的长度限制在256个字符以内。Linux的文件名也提供了功能强大且精确的通配符。文件的权限是Linux系统安全的核心部分,包括:1) Read (可读) 权限:表示可以读取文件内的数据。2) Write (可写) 权限:表示可以改变或删除该文件。3) Execute (可执行) 权限:表示可以把该文件当成程序执行。除文件权限之外,Linux系统上还有目录和很多其他类型的文件,其中包括特殊文件 (设备) 、Socket和符号连接等等 (平时我们经常使用的Windows设备如软驱、光驱等在Linux中也是一种特殊的文件) 。拥有root口令的用户称为超级用户,超级用户有权访问整个系统,包括建立普通用户帐号、修改密码、安装与卸载软件等一切权限。超级用户的提示符为“#”,普通用户提示符为“$”。几个用户在一个系统下共用一个帐号,其个人文件的安全就得不到保障。建立普通用户帐号后,系统能保证用户是唯一能够存取其个人文件的人。另一方面,即使没有与人共享一个系统,建立普通用户帐号也是必要的。因为如果总是以超级用户登录进行操作 (超级用户的权限是整个系统) ,一旦出现误操作 (如:破坏或移动、删除一个重要的系统文件) 处理起来也很棘手。(3)Linux文件系统Linux的文件系统是文件和目录层次的集合。了解Linux文件系统的结构有助于更好地理解和使用Linux。/binbootetcdevhomelibmediamntprocroot/Linux系统目录树的起点。bin存放可执行命令,如date、ls等。boot存放系统启动时所需要的文件,包括引导装载程序。dev存放所有的设备文件,如fd0为软盘设备,cdrom为光盘设备。etc存放系统配置文件,如passwd、fstab文件。home包含普通用户的个人主目录。lib包含二进制文件所需的共享库。media移动存储介质的挂载点目录。mnt用于临时性挂载文件系统。proc存放系统中有关进程的运行信息,由内核在内存中产生。root超级用户的主目录。sbin系统管理命令,这里存放的是系统管理员使用的管理程序。tmp公用临时文件的存放目录。var存放系统中经常变化的文件,如系统日志文件、用户邮件等。lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件就在这里。usr最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:/usr/bin 众多的应用程序/usr/sbin 超级用户的一些管理程序/usr/doc linux文档/usr/include linux下开发和编译应用程序所需要的头文件/usr/lib 常用的动态链接库和软件包的配置文件/usr/man 帮助文档/usr/src源代码,linux内核的源代码就放在/usr/src/linux里/usr/local/bin 本地增加的命令/usr/local/lib 本地增加的库3、实验内容(1)Linux操作系统和Linux虚拟机的安装(2) Shell命令步骤1:用root账号(超级用户)登录,口令为123456(注意大小写)。注册成功出现#号(超级用户系统提示符,普通用户的系统提示符为$)。步骤2:单击“应用程序”-“系统工具”-“终端”,或桌面上已有的快捷方式,打开终端工具。1)输入“date”命令,显示系统的当前日期和时间。2)输入命令“date 121700002011”,显示新修改的系统时间为2011年12月17日00:00:00,星期六。3)输入命令“cal 2011”,屏幕上显示出2011年的日历。4)输入命令“cal”,显示本月的日历。步骤3:管理用户1)添加新用户输入命令“useradd 用户名”,如“useradd aaa”,系统将按照默认值新建用户。系统将在/home目录新建与用户同名的子目录作为该用户的主目录,并且还将新建一个与用户同名的私有组群作为该用户的主要组群。输入命令“useradd g 用户名”,-g是参数,可以指定用户所属的主要组群。2)修改用户口令输入命令“passwd 用户名”,如“passwd aaa”输入密码“123456”,再次输入密码“123456”,设置成功。3)删除用户输入命令“userdel r 用户名” ,如“userdel r aaa”,可以把相关的文件夹一并删除(例如home目录下的用户目录等)。4)修改用户属性输入命令“usermod 参数 用户名”-d 主目录-g 组群名-l 用户名比如输入命令“usermod l tommy tom”,修改tom用户的名称为tommy比如输入命令“usermod g work aaa”,将aaa用户从原组群改为work组群5)切换用户通常情况下只有在必须使用超级用户权限的时候,才以超级用户身份操作,为提高系统安全性,输入命令“su 用户名”,如“su - aaa”切换为普通用户aaa。如果是以普通用户登录的,需要使用超级用户的权限,也可以使用su命令切换到超级用户。输入“su”命令,并键入正确的密码后可以看到提示符由“$”变为“#”了,可是由于工作环境并没有改为超级用户的,仍是普通用户的,所以有些命令仍无法使用。输入“su - ”命令,则与登录超级用户完全一样了。输入命令“exit”返回到以前登录的用户。步骤4:查看命令的帮助信息1)使用“man 命令名”,查看完帮助后,按“q”键返回命令行。2)使用“命令名 -help”步骤5:显示用户信息1)显示当前登录系统的用户信息:who H(不包括su命令切换的用户)2)显示当前操作的用户信息:whoami 步骤6:目录命令1) pwd命令pwd (即print working directory,打印工作路径) 命令的功能是显示当前的工作路径。如现在是在“/home/aaa”目录下,则可以用此命令来证实。输入命令“ pwd”2) cd命令cd命令用来切换目录,假设在刚才的目录切换到另一目录,如下所示:$ cd /usr/bin将当前的目录转到“/usr/bin”下$ pwd/usr/bin$ cd此命令返回工作目录$ pwd$ /home/aaa3) mkdir命令mkdir命令的功能是建立目录输入命令“mkdir 目录名”,如输入“mkdir /home/aaa/mydir”,则创建了一个新的目录mydir,位置在/home/aaa目录中。4) rmdir命令rmdir命令的功能是删除目录输入命令“rmdir 目录名”,如输入“rmdir /home/aaa/mydir”,则该目录被删除。5)mv命令功能是移动目录输入命令“mv 源目录 目标目录”6) cp命令cp命令的功能是复制目录输入命令“cp -R 源目录 目标目录”步骤7:有关文件的命令1) ls命令ls命令的功能是显示指定目录的内容,例如:输入命令“ ls a”此命令显示当前目录下的所有文件 (参数“a”表示所有文件,“-”号是用来控制参数)显示时,文件名前带“.”号表示隐含文件。输入命令“ ls l”,参数“-l”表示额外的文件信息。2) cat命令cat命令的功能是显示文件内容,也可用于文件的创建和连接。如在用户主目录下创建一个名为f1的文件,输入命令“ cat f1”,即可输入内容了,内容为“Linux is useful for us all.”,按“Ctrl+D”结束输入,输入时只能用退格键修改,一旦按回车就不可修改了。再次输入命令“cat f1”,就可以查看刚才输入的内容了。如果还使用命令“ cat f1”,则文件内容会被新内容覆盖。如果使用命令“cat f1”,则可向文件中追加内容。如果已有两个文件f1和f2,可以把他们合并为一个文件。输入命令“cat f1 f2 f”即可,f为新文件名。3) cp命令cp命令的功能是复制文件,用法是:cp options 源文件 目标文件cp命令还可以使用以下参数:-f:强行覆盖已存在的目标文件。-i:在强行覆盖已存在的目标文件时给出提示,如果要覆盖,按“y”键即可。4)mv命令功能是移动文件输入命令“mv 源文件 目标目录”5)rm命令功能是删除文件输入命令“rm 文件名”6) more命令分屏显示文本文件中的内容输入命令“more 文件名”按“q”键退出步骤8:其他的命令1) clear命令clear命令的功能是清除屏幕,用法如同DOS中的cls命令输入命令“ clear”2) reboot命令reboot命令的功能是重新启动系统输入命令“ reboot”3)shutdown命令输入命令“shutdown r now” 立即重新启动系统输入命令“shutdown h now” 立即关闭计算机4)halt命令输入命令“halt” 立即关闭计算机步骤9:管理组群的Shell命令1)groupadd命令输入命令“groupadd staff”,新建一个组群staff2)groupmod命令输入命令“groupmod 参数 组群名”-g 修改组群GID-n 修改组群名称3)groupdel命令输入命令“groupadd staff”,删除组群staff步骤10:修改文件权限的Shell命令(1)字母表示法Linux下利用“ls l”可以列出每个文件的权限。其它用户的访问权限同组用户的访问权限文件所有者的访问权限- r w x r w x r w x 文件类型(- 为普通文件,d为目录文件,l为符号链接文件,b为块设备文件,c为字符设备文件)每组文件访问权限位置固定,依次为读取、写入和执行权限,如果没有此项权限,就用“-”来表示。如“-rw-r-r-”表示该文件是普通文件,文件所有者可以读写,同组用户和其他用户只有读权限。(2)数字表示法字母表示形式十进制数表示权限含义字母表示形式十进制数表示权限含义-0无任何权限r-4可读-x1可执行r-x5可读和执行-w-2可写rw-6可读可写-wx3可写和执行rwx7可读、可写和执行1)chmod命令格式一:chmod 数字模式 文件如果在主目录下已有文件f1,输入命令“ls l f1”查看f1文件的权限,再输入命令“chmod 766 f1”,修改f1文件的权限为所有者具有全部权限,同组和其他用户可读可写。格式二:chmod 功能模式 文件u 文件所有者 g 同组用户 o其他用户+ 增加权限 - 删除权限 = 赋予给定权限r 读取权限 w 写入权限 x 执行权限输入命令“chmod go-w f1”,则去掉f1文件同组用户和其他用户的写入权限。2)chgrp命令功能:改变文件的所属组群格式:chgrp 组群名 文件名3)chown命令功能:改变文件的所有者和所属组群格式一:chown 用户名 文件名格式二:chown 用户名:组群名 文件名4、思考 (1)Linux系统在用户登陆和操作界面以及文件系统上有哪些特点?实验二 vi编辑器的使用和Linux环境下的编程1、实验目的(1)学会使用vi编辑器编辑文本。(2)编写C语言程序,使用gcc编译器对其编译和调试。2、实验预备内容(1)参阅相关Linux操作系统的安装手册,熟悉Linux的基本安装和配置;(2)参阅相关Linux的命令参考手册,熟悉Linux下的操作命令。3、实验内容(1)进入和退出vi进入vi在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。退出vi在命令方式下可有几种方法退出vi编辑器:wq 把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到UNIX shell下。:q! 强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。(2)新建文件在UNIX提示符$之后,输入命令 :vi myfile,然后按Enter键。输入插入命令i(屏幕上看不到字符i)。然后,输入以下文本行:To the only woman tht I,For many year you have been my wife发现这两行有错,进行改正:按Esc键,从插入方式回到命令方式。按光标上移键,使光标移到第一行。按光标左移键,使光标移到“tht”的第二个“t”处。输入i(这是插入命令),然后输入a。该行变成如下形式:To the only woman that I,按光标右移键,使光标移到“I”上。我们想在“I”之后输入一个空格和单词“love”。为此,输入附加命令“a”。结果屏幕显示为:To the only woman that a I,这是怎么回事儿?.原来是:我们先前使用了插入命令i,至今并未用Esc键返回命令方式。所以,输入的所有字符都作为输入文本予以显示。按Esc键,返回命令方式。利用x命令删除错误字符。然后,进入插入方式,输入正确字符。最后输入如下所示的文本:Tothe only woman that I love,For many year you have been mywwifeI live you wich my lifeabd could not have picked much better.将你编辑的文本文件存盘。(利用 :wq 命令,或者 :x 命令)重新进入vi编辑程序,编辑上面的文件。(如:$ vi myfile)在屏幕上见到myfile文件的内容。在屏幕底边一行显示出该文件的名称、行数和字符个数:“myfile”4 lines,130 characters它仍然有错,需进一步修改。将光标移到第二行的year的r处。输入a命令,添加字符s。按Esc,回到命令方式。输入命令10Space,光标移至何处? -光标右移10个字符位置,如果输入5Space呢?输入3Space呢?利用取代命令r将mywwife改为my wife。将光标移至第三行。输入新行命令O,屏幕上有什么变化? -光标移至上一行(新加空行)的开头。输入新行的内容:Weve been through much together此时,vi处于哪种工作方式?按Esc,回到命令方式。将光标移到第四行的live的i字母处。利用替换命令s将i改为o。在第四行的you之后添加单词dearly。将wich改为with。修改后的文本是以下内容:To the only woman that I love,For many years you have been my wifeWeve been through much togetherI love you dearly with my lifeand could not have picked much better.将该文件存盘,退出vi。重新编辑该文件。并将光标移到最后一行的have的v字母处,使用d$命令将v至行尾的字符都删除。现在想恢复17步的原状,怎么办?(使用复原命令u)使用dd命令删除第一行;将光标移至through的u字母处,使用C命令进行修改,随便输入一串字符。将光标移到下一行的开头,执行5x命令,然后执行重复命令(.),发现了吗?5x命令可以删除几个字符呢?如果用2x命令呢?屏幕内容乱了!现在想恢复17步的原状,怎么办?(不写盘,强行退出vi)能用u或U命令恢复屏幕原状吗?(3)编写C程序进入linux的文本模式之后,在命令行键入vi filename.c 然后回车。filename.c是用户即将编辑的c文件名字,注意扩展名字是.c。 最基本的命令I :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的I键(insert),插入的意思,就可以进入编辑模式了。输入程序: main() printf(“Hello World!”);当文件编辑完后,需要保存退出,这时需要经过以下几个步骤:1)按一下键盘上的Esc 键;2)键入冒号(:),紧跟在冒号后面是wq(意思是保存并退出)。如果不想保存退出,则在第二步键入冒号之后,键入q!(不带w,即为不保存)。如下所示::wq或:q!退出vi编辑器的编辑模式之后,要对刚才编写的程序进行编译。编译的命令是:gcc filename.c -o outputfilename.out,其中gcc是c的编译器。参数:filename.c 是要编译的源文件的名称,outputfilename表示输出文件名称,中括号表示括号内部的内容可输入也可以不输入(中括号本身不再命令行中出现)。如果不输入outputfilename.out,默认的输出文件是a.out 。最后一步是运行程序,方法如下:./outputfilename.out实验三 进程管理1、实验目的(1)深入理解进程的概念,加深对Linux / UNIX进程管理的理解。(2) 对进程进行管理。(3)掌握at调度的设置方法。(4)理解进行系统性能监视的基本方法。2、实验内容(1)管理Linux系统进程步骤1:登录进入LINUX系统。输入正确的用户名和口令,登录Linux系统。步骤2:访问命令行。打开“终端”窗口。步骤3:回顾系统进程概念。每个运行的程序都会创建一个进程,进程分配到一个唯一的进程标识符 (PID) 。PID被系统用于标识和跟踪进程,直到进程结束。操作系统内核管理所有进程的初始化和终止。每一个进程都要求系统资源 (例如CPU时间和RAM空间) 在其中工作。当进程启动的时候,操作系统把系统资源分配给每个进程,当进程终止的时候,系统回收这些资源。在Linux系统启动的时候,首先启动的两个进程是sched (调度) 和init (初始化) ,它们管理着其他进程。Linux系统中有几种不同类型的进程:守护进程:由Linux内核启动的进程,为了特定目的而存在。例如,lpsched守护进程存在只是为了处理打印作业。父进程:派生其他进程的进程是父进程。一个叫做init的守护进程是第一个调用的进程。每一个进程,除了init之外,都有一个父进程。子进程:由其他进程派生出来的进程叫做子进程。孤儿进程:在进程返回输出之前,它的父进程结束了,这样的进程叫做孤儿进程。僵进程:子进程没有带着输出返回给父进程。这样的进程在系统中变成丢失的进程。步骤4:ps命令和信息。ps命令用于列出当前系统中运行的进程。如果一个进程耗时太长,或者看上去好像已经终止了,表现为一个终端窗口不再响应或挂起,通常需要使用ps查看系统中的进程。通过列出进程,可以查看初始化进程的命令或程序的名字,以及所有它派生出来的子进程。通过多次执行ps命令,查看进程的时间进程占用的CPU时间,可以检查一个进程是否还在运行。如果时间不再增长,那么进程可能已经终止了。如果进程占用太长的时间或者已经停止,可以使用ps命令检查进程的进程ID (PID) ,然后杀死进程。ps命令的输出将显示PID号和与其相关的命令或程序。PID号通常用于终止一个进程。ps命令 ( ps -options ) 的3个主要选项如下表所示。表3-1 ps命令选项ps选项意义功能ps无选项显示当前shell或终端窗口中,当前用户的进程信息ps e每一个显示系统中每一个进程的信息ps f完全产生一个完全列表,给出每个进程的所有可用信息ps -u userid用户显示特定用户的所有进程ps -l长格式以长格式给出每个进程的所有可用信息基本的ps命令显示在当前shell中的进程信息,用户只能够查看在这个终端窗口中初始化的进程。输入ps命令,将结果填入表3-2中。表3-2 实验记录PIDTTYTIMECMD输入 ps -f 命令,显示运行在系统中的进程的完全信息,填入表3-3中。表3-3 实验记录UIDPIDPPIDCSTIMETTYTIMECMDps -f命令输出的各栏标题见表3-4所示。表3-4 ps -f各栏标题值描述UID初始化进程的用户IDPID进程的进程标识号。PID可以用来杀死进程PPID 进程的父进程标识号C 进程的优先级STIME进程的启动时间TTY控制进程终端的终端举型TIME进程已运行的时间CMD启动该进程的Shell命令输入 ps l命令。FSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMDps -l命令输出的各栏标题见表3-5所示。表3-5 ps -l各栏标题值描述UID进程启动者的用户IDPID进程号PPID 进程的父进程标识号NI 进程的优先级SZ进程占用内存空间的大小(KB为单位)TTY进程所在终端的终端号TIME进程已运行的时间CMD启动该进程的Shell命令步骤5:查看作业。1)输入命令“ vi f1 ”,在前台启动vi文本编辑器,打开f1文件。2)按组合键“ Ctrl + Z ”,暂时挂起“vi f1”作业,屏幕显示该作业的作业号。1 + Stopped vi f13) 输入命令“ jobs ”查看当前系统中的作业。4)输入“ps -f ”命令,显示运行在系统中的进程的完全信息。5)重复上面步骤,再创建一个文件f2并挂起。步骤6:根据命令名搜索特定的进程。为了终止一个进程,必须找到该进程的PID。大多数运行的系统中,有上百个进程在运行,ps -ef的列表可能很长。如果知道启动进程的执行程序的名字,可以更快地找到PID。通过把ps命令的输出结果输入到grep中,可以搜索想要终止的特定进程,确定正确的PID。grep命令可以在其他命令的输出中搜索所有类型的特征字符串。-l (长的输出) 选项将显示和找到的PID相关的进程的名字;-e选项显示PID和初始化命令的名字。1) 单击 “应用程序”-“附件”-“计算器”命令,打开“计算器”程序。2) 在当前的终端窗口中,执行命令:ps e | grep gcalctool (“计算器”程序的进程名是“gcalctool”) ,查找和“计算器”相关的所有进程。3) 在当前终端窗口中执行命令:pgrep l gcalctool4)输入“kill -9 计算器的进程号”,“计算器”进程被杀死。步骤7:确定一个要终止的进程。当试图终止一个程序,或者释放一个挂起的终端窗口的时候,杀死和不响应的应用相关的PID可能还是不够的,一般需要杀死那个进程的父进程,在少数情况下,甚至要杀死父进程的父进程。为了沿着层次结构,从子进程追溯到派生它们的父进程,必须能够查找PID和PPID。必须首先确定最低级不响应进程的PID。通常,可以试着去杀死那个进程。如果这样做不能够停止那个进程,可能需要杀死它的父进程。杀死父进程将杀死所有它派生的子进程。杀死一个父进程也比杀死几个子进程快得多。1) 输入命令sleep l000&,创建一个进程,把执行挂起1000秒 (大约15分钟) 。&表示在后台运行命令,返回shell提示符,这样您可以继续工作。2)输入命令“jobs”,查看作业信息。哪个作业是正在运行的?哪个作业是停止的?3)输入ps -f命令。查看父进程和子进程关系。步骤8:使用kill命令终止一个进程。信号用于终止、挂起和继续进程。有时候使用Ctrl + c可以终止一个不响应的进程。这样向进程发送一个中断 (INT) 信号,终止它及所有它派生的子进程。kill命令提供了一个终止不想要的命令进程的直接方法。当想停止一个运行了很长时间的命令的时候,或者当需要终止一个不能够正常退出的进程的时候,它很有用。指定PID正常地杀死一个进程。 kill -signal processid为了使用kill命令终止一个进程,应该首先键入ps找出进程的PID,然后键入kill紧跟着PID。如果使用kill而没有指定信号,则信号15 (SIGTERM) 将被发送给特定PID号的进程。这叫做软杀死,通常终止了进程。如果可能,最好软杀死进程,这样它可以正确地关闭文件,温和地终止进程。如果需要强制终止一个进程,可以使用带 -9选项的kill命令。这个选项叫做强制杀死,当shell对所有其他终止信号都不响应的时候,需要使用它来杀死shell。 kill -9 processid注意:对于shell之外的进程,把kill 9 (SIGKILL) 作为最后的选项,因为它是一种生硬的方法,不允许正确的进程终止。1)输入命令ps f ,显示在当前shell中运行的进程的完整信息。现在什么进程正在运行? 因为sleep进程现在是一个孤儿进程,已经被init进程 (PID #l) 收养,输入命令,对sleep的PID执行软杀死。2)输入“kill -9 vi f1的进程号”,杀死“vi f1”进程。3)也可以输入“kill -9 %2”,杀死“vi f2”进程,2代表它的编号。(2)at调度的设置方法所谓进程调度就是设置某个指定的作业在固定的时间、固定的频率、或者系统空闲时自动执行的操作。根据作业要求执行的条件不同,可选不同的调度方式。 at调度:在指定的时间执行一次特定的作业。 batch调度:在系统空闲时执行一次特定的作业。 cron调度:每到指定的时间久执行特定的作业,可执行多次。步骤1:设置一个调度,要求在2011年11月30日0时,向所有用户发送一句问候。1) 超级用户输入命令“at 00:00 11302011”,设置2011年11月30日0时执行的调度内容。2) 在at提示符后输入“Hello World!”3) 按“Ctrl+D”组合键结束输入,会显示作业号和将要运行的时间。步骤2:设置一个调度,要求3分钟后向所有用户发送系统即将重启的消息,并在2分钟后重新启动计算机。1) 超级用户输入命令“at now +3 minutes”,设置3分钟后的调度内容。2) 在at提示符后输入“shutdown r +2”,系统将在2分钟后重启。3) “shutdown r +2”与“reboot +2”命令效果相同,都是在2分钟后重启。4) 按“Ctrl+D”组合键结束输入。步骤3:查看所有的at调度,并删除2011年11月30日执行的调度任务。1) 输入“atq”命令,查看所有的at调度,显示出作业号、何时运行以及at调度的设置者。2) 输入“atrm 1”命令,删除作业号为1的at调度。3) 再次输入“atq”命令,查看剩余的at调度内容。4) 3分钟后系统将自动运行作业号为2的at调度内容。先向所有用户发送消息,然后再等2分钟重新启动。(3)系统性能监视步骤1:输入命令“top”,屏幕动态显示CPU利用率、内存利用率和进程状态等信息。步骤2:按“M”键,所有进程按内存使用率排列。步骤3:按“T”键,所有进程按执行时间排列。步骤4:按“P”键,恢复按照使用率排列。步骤:按“Ctrl + C”组合键结束top命令。步骤6:单击“应用程序”-“系统工具”-“系统监视器”,打开系统监视器窗口。自动显示“资源”选项卡,查看当前CPU、内存和交换分区、网络历史的使用情况。步骤7:选择“进程”选项卡,默认显示当前用户启动的所有进程。单击“查看”菜单,选中“全部进程”单选按钮,并选中“依赖关系”复选框,则显示系统中所有的进程。步骤8:单击“编辑”菜单中的“首选项”,在对话框“进程”选项卡中,选中“进程域”列表中的“用户”复选框,要求显示出启动进程的用户。步骤9:在“系统监视器”窗口选择“文件系统”选项卡,显示当前系统中主要的文件系统。单击“编辑”菜单“首选项”,在弹出的对话框“文件系统”选项卡中,选中“显示全部文件系统”复选框,要求显示出全部的文件系统。步骤10:利用“系统日志”工具查看系统日志。单击“应用程序”-“系统工具”- “系统日志”菜单项,打开“系统日志查看器”窗口,可分别查看各类系统日志。 实验四 处理器调度一、实验内容选择一个调度算法,实现处理器调度。二、实验目的在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。三、实验题目本实验有两个题,学生可选择其中的一题做实验。第一题:设计一个按优先数调度算法实现处理器调度的程序。提示:(1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为:进程名指针要求运行时间优先数状态其中,进程名作为进程的标识,假设五个进程的进程名分别为P1,P2,P3,P4,P5。指针按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程中的指针为“0”。要求运行时间假设进程需要运行的单位时间数。优先数赋予进程的优先数,调度时总是选取优先数大的进程先执行。状态可假设有两种状态,“就绪”状态和“结束”状态。五个进程的初始状态都为“就绪”,用“R”表示,当一个进程运行结束后,它的状态为“结束”,用“E”表示。(2) 在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数”和“要求运行时间”。(3) 为了调度方便,把五个进程按给定的优先数从大到小连成队列。用一个单元指出队首进程,用指针指出队列的连接情况。例: 队首标志 K2 K1P1 K2P2 K3P3 K4P4 K5P50K4K5K3K12312415342RRRRRPCB1PCB2PCB3PCB4PCB5(4) 处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优先数就减“1”。由于本实验是模拟处理器调度,所以,对被选中的进程并不实际的启动运行,而是执行:优先数-1要求运行时间-1来模拟进程的一次运行。提醒注意的是:在实际的系统中,当一个进程被选中运行时,必须恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行结束。在这里省去了这些工作。(5) 进程运行一次后,若要求运行时间0,则再将它加入队列(按优先数大小插入,且置队首标志);若要求运行时间=0,则把它的状态修改成“结束”(E),且退出队列。(6) 若“就绪”状态的进程队列不为空,则重复上面(4)和(5)的步骤,直到所有进程都成为“结束”状态。(7) 在所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以及运行一次后进程队列的变化。(8) 为五个进程任意确定一组“优先数”和“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。第二题:设计一个按时间片轮转法实现处理器调度的程序。提示:(1) 假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。进程控制块的格式为:进程名指针要求运行时间已运行时间状态其中,进程名作为进程的标识,假设五个进程的进程名分别为Q1,Q2,Q3,Q4,Q5。指针进程按顺序排成循环队列,用指针指出下一个进程的进程控制块的首地址,最后一个进程的指针指出第一个进程的进程控制块首地址。要求运行时间假设进程需要运行的单位时间数。已运行时间假设进程已经运行的单位时间数,初始值为“0”。状态有两种状态,“就绪”和“结束”,初始状态都为“就绪”,用“R”表示。当一个进程运行结束后,它的状态为“结束”,用“E”表示。(2) 每次运行所设计的处理器调度程序前,为每个进程任意确定它的“要求运行时间”。(3) 把五个进程按顺序排成循环队列,用指针指出队列连接情况。另用一标志单元记录轮到运行的进程。例如,当前轮到Q2执行,则有:标志单元 K2 K1Q1 K2Q2 K3Q3 K4Q4 K5Q5K2K3K4K5K12312410000RRRRRPCB1PCB2PCB3PCB4PCB5(4) 处理器调度总是选择标志单元指示的进程运行。由于本实验是模拟处理器调度的功能,所以,对被选中的进程并不实际的启动运行,而是执行:已运行时间+1来模拟进程的一次运行,表示进程已经运行过一个单位的时间。请同学注意:在实际的系统中,当一个进程被选中运行时,必须置上该进程可以运行的时间片值,以及恢复进程的现场,让它占有处理器运行,直到出现等待事件或运行满一个时间片。在这时省去了这些工作,仅用“已运行时间+1”来表示进程已经运行满一个时间片。(5) 进程运行一次后,应把该进程的进程控制块中的指针值送到标志单元,以指示下一个轮到运行的进程。同时,应判断该进程的要求运行时间与已运行时间,若该进程的要求运行时间已运行时间,则表示它尚未执行结束,应待到下一轮时再运行。若该进程的要求运行时间=已运行时间,则表示它已经执行结束,应指导它的状态修改成“结束”(E)且退出队列。此时,应把该进程的进程控制块中的指针值送到前面一个进程的指针位置。(6) 若“就绪”状态的进程队列不为空,则重复上面的(4)和(5)的步骤,直到所有的进程都成为“结束”状态。(7) 在所设计的程序中应有显示或打印语句,能显示或打印每次选中进程的进程名以及运行一次后进程队列的变化。(8) 为五个进程任意确定一组“要求运行时间”,启动所设计的处理器调度程序,显示或打印逐次被选中的进程名以及进程控制块的动态变化过程。实验5 主存储器空间的分配和回收一、实验内容主存储器空间的分配和回收。二、实验目的一个好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能合理地分配和使用这些存储空间。当用户提出申请存储器空间时,存储管理必须根据申请者的要求,按一定的策略分析主存空间的使用情况,找出足够的空闲区域分配给申请者。当作业撤离或主动归还主存资源时,则存储管理要收回作业占用的主存空间或归还部分主存空间。主存的分配和回收的实现虽与主存储器的管理方式有关的,通过本实验帮助学生理解在不同的存储管理方式下应怎样实现主存空间的分配和回收。三、实验题目本实验模拟在两种存储管理方式下的主存分配和回收。第一题:在可变分区管理方式下采用最先适应算法实现主存分配和实现主存回收。提示:可变分区方式是按作业需要的主存空间大小来分割分区的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入。随着作业的装入、撤离,主存空间被分成许多个分区,有的分区被作业占用,而有的分区是空闲的。例如:05k10k14k26k32k128k操作系统作业1作业3空闲区作业2空闲区为了说明哪些区是空闲的,可以用来装入新作业,必须要有一张空闲区说明表,格式如下:起 址长 度状 态第一栏14 K12 K未 分 配第二栏32 K96 K未 分 配MM空 表 目空 表 目MM其中,起址指出一个空闲区的主存起始地址。 长度指出从起始地址开始的一个连续空闲的长度。 状态有两种状态,一种是“未分配”状态,指出对应的由起址指出的某个长度的区域是空闲区;另一种是“空表目”状态,表示表中对应的登记项目是空白(无效),可用来登记新的空闲区(例如,作业撤离后,它所占的区域就成了空闲区,应找一个“空表目”栏登记归还区的起址和长度且修改状态)。由于分区的个数不定,所以空闲区说明表中应有适量的状态为“空表目”的登记栏目,否则造成表格“溢出”无法登记。上述的这张说明表的登记情况是按提示(1)中的例所装入的三个作业占用的主存区域后填写的。(2) 当有一个新作业要求装入主存时,必须查空闲区说明表,从中找出一个足够大的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论