《操作系统》实验讲义OS实验指导书.docx
《《操作系统》实验讲义OS实验指导书.docx》由会员分享,可在线阅读,更多相关《《操作系统》实验讲义OS实验指导书.docx(130页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统试验讲义计算机科学与工程学院2023 年 3 月试验一 Linux 初步一、 创立试验平台试验预备学问假照试验室里的计算机安装了Windows 操作系统,则可以先安装VMWare 软件一般使用工作站版本并启动它,来创立一个虚拟机,然后在其中安装Linux 操作系统。这样就可以从虚拟机中启动Linux 系统,并完成相应的试验。VMWare 软件和Linux 操作系统的安装格外简洁,这里就不做介绍。二、 Linux 下的proc 文件系统在 Linux 操作系统中,供给了一套格外有用的在用户态检查内核状态和系统特征的机制,这就是proc 文件系统。该文件系统安装在 /proc 名目中。比起
2、Windows 的任务治理器来,proc 文件系统的功能更强大:它能供给更多的系统信息,能修改局部系统信息,还能通过编程来扩大其中的内容。该文件系统将进程的地址空间、系统的硬件信息包括 CPU、内存状态以及网卡等各种硬件设备、系统相关机制中断、I/O等内容全部设置成虚拟的Linux 文件。它以一种特别的文件系统的方式,为访问系统内核数据的操作供给接口。也就是说,这个文件系统中 全部的文件都是特别文件,这些特别文件一般与外部设备无关,所涉及到的介质通常室内存 和 CPU。当从一个特别文件“读”出时,所读出的数据都是由系统内部按确定的规章临时生成的,或从内存中收集、加工出来的,反之亦然。换言之,这
3、些文件的内容都不存在任何存储设备上,而是在读/写的时候才依据系统中的有关信息生成出来,或映射到系统中的有 关变量或数据构造中。/proc 名目中的每个文件都有一组安排给它的格外特别的文件许可权,并且每个文件属于特定的用户标识,这里面的文件仅仅包含以下几种权限除非root 用户特别授权:l 只读任何用户都不能更改该文件,它用于表示系统信息。l root 写 /proc 名目中的一些文件是可写的,但通常只能由root 用户来写。l root 读 有些文件对一般系统用户是不行见的,而对root 用户是可见的。l 其他:三种许可权的组合在 Linux 的/proc 的名目中,除了/proc/sys 名
4、目下的文件外,其余大局部的属性都属于root,并且对全部用户是只读的。/proc/sys 名目下则存放的是内核参数,并设计成为运行时可修改的。下表列出/proc 名目下的一些重要文件。名目/文件名apm cmdline cpuinfo devices filesystems interrupts ioports描述高级电源治理内核命令行CPU 信息可用设备信息系统支持的文件系统中断信息端口使用信息kcore kmsg meminfo modules mounts partions stat swap version uptime sys内核映象内核消息内存信息内核加载模块列表已加载文件信息 系
5、统识别的分区表全面信息统计状态表交换分区使用状况 内核版本系统正常运行时间内核参数在/proc 名目下你会觉察一些以数字命名的子名目,它们是进程名目。系统中当前运行的每一个进程都有一个对应的名目在/proc 名目下,以进程 ID 号为名目,他们就是读取进程信息的接口,每个进程中包含的文件如下表所示:子名目名cmdlineenviromentFdMemstatcwdrootmapsstatmexe包含内容该进程的命令行参数进程环境变量的值进程翻开的文件的描述符进程的内存使用状况进程状态进程的当前名目进程的根名目内存映象进程内存状态信息当前进程的可执行文件链接在/proc 名目下,有一个特别的子名
6、目 sys,该名目下的文件记录了内核各方面的运行参数。用户可更改这些文件的值,结果是直接修改内核中的相应参数。在修改之前,最好精准地了解这些内核的参数的作用,以及安全的取值范围。下面举几个例子:1、/proc/sys/kernel/acct该文件有 3 个可配置值,依据包含日志的文件系统上可用空间数量百分比表示,这些值把握何时开头进展进程记帐:第一个值:假设可用空间低于这个百分比值,则停顿记帐;其次个值:假设可用空间高于这个百分比值,则开头记帐;第三个值:检查上面 2 个值的频率以秒为单位。要更改这个文件的某个值,应当回送用空格隔开,默认设置为 2430,表示假设包含日志的文件系统上只有少于
7、2的可用空间,则这些值会使记帐停顿;假设有高于4的可用空间,则再次启动记帐;每 30 秒做一次检查。2、/proc/sys/fs/file-max该文件指定了可以安排的文件句柄的最大数目。假设用户得到错误信息,说明由于翻开文件数已经到达了最大值,而不能翻开更多的文件,则可能需要增加该值。可将这个值设置为任意多个文件,并且能通过将一个数字值写入该文件来更改该值。3、/proc/sys/kernel/domainname该文件允许配置网络域名。它没有默认值;可能已经设置了域名,也可能没有。4、/proc/sys/kernel/hostname该文件允许配置网络主机名。同样,它也没有默认值;可能已经
8、设置了主机名,也可能没有。5、/proc/sys/kernel/printk该文件有四个数字值,它们依据日志记录消息的重要性,定义将其发送到何处。关于不同日志级别的更多信息。该文件的四个值依次为:把握台日志级别:优先级高于该值的消息将被打印至把握台。默认的消息日志级别:将用该优先级来打印没有优先级的消息。最低的把握台日志级别:把握台日志级别可被设置的最小值(最高优先级)。默认的把握台日志级别:把握台日志级别的默认值。默认设置为 6417。6、/proc/sys/kernel/shmall该文件是在任何给定时刻系统上可以使用的共享内存的总量(以字节为单位)。默认设置为 2097152。7、/pr
9、oc/sys/kernel/shmax该文件指定内核所允许的最大共享内存段的大小 (以 B(字节)为单位)。默认设置为33554432。8、/proc/sys/kerneI/shmmni该文件表示用于整个系统共享内存段的最大数目。如上所述,/proc/sys 名目不仅供给了内核信息,而且可以通过它修改内核参数。但是必需很留神,由于不当的修改可能会造成系统崩溃。最好是先找一台无关紧要的计算机,测试 成功后,再应用到读者自己的系统上。要转变内核的参数,只要用vi 编辑或echo 参数重定向到文件即可。试验局部一、 试验目的与要求通过 proc 文件系统观看整个 Linux 内核和系统的一些重要特征
10、,并编写一个程序,使用 proc 文件系统获得以及修改系统的各种配置参数。本试验需要学生具有Linux 的根本操作技能,以及承受C 语言编写程序的力气。二、 试验内容以超级用户的身份登录Linux 系统,并进入/proc 名目,键入“ls”命令,查看该名目下的内容,同时查看每个文件的读写权限。1、 请答复以下问题:CPU 的类型和型号。所使用的Linux 的版本。从启动到当前时刻所经过的时间。当前内存状态。2、编写一个程序 getinfo.c,编译后并在命令行带命令参数来运行该程序,获得内核参数 (例如网络主机名、共享内存容量、文件句柄的最大参数等) 在屏幕上显示出来。运行过程实例如下猎取文件
11、句柄最大参数:rootLinux / # ./getinfo filemax filemax :186263、编写一个程序setsys.c,编译后并在命令行带命令参数来运行该程序,用来修改内核参数(任意的参数均可(例如网络主机名、共享内存容量、文件句柄的最大参数等)。运行过程实例如下: rootLinux / # ./setsys filemax Input filemax parameter:21545注释:实例中加波浪线的局部为键盘输入内容。通过运行getinfo filemax 来确认是否修改成功。三、 解决方案本试验完全不涉及任何的内核编程,而完全使用标准 c 库中的函数。事实上,只需
12、要编写一个简洁的读文本文件的程序,就可以直接用于读 proc 文件系统中的文件。下面给出一个简洁的程序框架,读者可以在这个根底上添加自己的代码,从而完成上述的试验。# include# include # include# includeint main(int argc,char* argv ) int fd=open(argv1,FLAG,MODE);/ 文件名作为参数传入。FLAG 和/ MODE 的值由翻开的功能打算if (fd!=-1)/ 读/写相应的内核参数close(fd);else/做错误处理return EXIT_SUCCESS;附录A:vi 编辑器vi 编辑器是全部 Uni
13、x 及 Linux 系统下标准的编辑器,它的强大不逊色于任何最的文本编辑器,这里只是简洁地介绍一下它的用法和一小局部指令。由于对Unix 及 Linux 系统的任何版本,vi 编辑器是完全一样的,因此您可以在其他任何介绍 vi 的地方进一步了解它。Vi 也是Linux 中最根本的文本编辑器,学会它后,您将在Linux 的世界里畅行无阻。1、 vi 的根本概念根本上vi 可以分为三种状态,分别是命令模式command mode、插入模式Insert mode 和底行模式last line mode,各模式的功能区分如下:1) 命令行模式command mode把握屏幕光标的移动,字符、字或行的删
14、除,移动复制某区段及进入Insert mode 下, 或者到 last line mode。2) 插入模式Insert mode只有在Insert mode 下,才可以做文字输入,按ESC键可回到命令行模式。3) 底行模式last line mode将文件保存或退出vi,也可以设置编辑环境,如查找字符串、列出行号等。不过一般我们在使用时把vi 简化成两个模式,就是将底行模式last line mode也算入命令行模式command mode。2、vi 的根本操作a) 进入vi在系统提示符号输入vi 及文件名称后,就进入vi 全屏幕编辑画面:$ vi myfile不过有一点要特别留意,就是您进入
15、 vi 之后,是处于命令行模式command mode, 您要切换到插入模式Insert mode才能够输入文字。初次使用vi 的人都会想先用上下左右键移动光标,结果电脑始终哔哔叫,把自己气个半死,所以进入 vi 后,先不要乱动, 转换到插入模式Insert mode再说吧!b) 切换至插入模式Insert mode编辑文件在命令行模式command mode下按一下字母i就可以进入插入模式Insert mode,这时候你就可以开头输入文字了。c) Insert 的切换您目前处于插入模式Insert mode,您就只能始终输入文字,假设您觉察输错了字!想用光标键往回移动,将该字删除,就要先按一
16、下ESC键转到命令行模式command mode再删除文字。d) 退出vi 及保存文件在命令行模式command mode下,按一下:冒号键进入Last line mode, 例如:: w filename 输入 w filename将文章以指定的文件名filename 保存: wq (输入wq,存盘并退出vi): q! (输入q!, 不存盘强制退出vi)3、命令行模式command mode功能键1. 插入模式按i切换进入插入模式insert mode,按“i“进入插入模式后是从光标当前位置开头输入文件;按a进入插入模式后,是从目前光标所在位置的下一个位置开头输入文字; 按o进入插入模式后,
17、是插入的一行,从行首开头输入文字。2. 从插入模式切换为命令行模式按ESC键。3. 移动光标vi 可以直接用键盘上的光标来上下左右移动,但正规的vi 是用小写英文字母h、j、k、l,分别把握光标左、下、上、右移一格。按ctrl+b:屏幕往“后“移动一页。按ctrl+f:屏幕往“前“移动一页。按ctrl+u:屏幕往“后“移动半页。按ctrl+d:屏幕往“前“移动半页。按数字0:移到文章的开头。按G:移动到文章的最终。按$:移动到光标所在行的“行尾“。按:移动到光标所在行的“行首“ 按w:光标跳到下个字的开头按e:光标跳到下个字的字尾按b:光标回到上个字的开头按#l:光标移到该行的第#个位置,如:
18、5l,56l。4. 删除文字x:每按一次,删除光标所在位置的“后面“一个字符。#x:例如,6x表示删除光标所在位置的“后面“6 个字符。X:大写的X,每按一次,删除光标所在位置的“前面“一个字符。#X:例如,20X表示删除光标所在位置的“前面“20 个字符。dd:删除光标所在行。#dd:从光标所在行开头删除#行5. 复制yw:将光标所在之处到字尾的字符复制到缓冲区中。#yw:复制#个字到缓冲区yy:复制光标所在行到缓冲区。#yy:例如,6yy表示拷贝从光标所在的该行“往下数“6 行文字。p:将缓冲区内的字符贴到光标所在位置。留意:全部与“y“有关的复制命令都必需与“p“协作才能完成复制与粘贴功
19、能。6. 替换r:替换光标所在处的字符。R:替换光标所到之处的字符,直到按下ESC键为止。7. 回复上一次操作u:假设您误执行一个命令,可以马上按下u,回到上一个操作。按屡次“u“可以执行屡次回复。8. 更改cw:更改光标所在处的字到字尾处c#w:例如,c3w表示更改 3 个字9. 跳至指定的行ctrl+g列出光标所在行的行号。#G:例如,15G,表示移动光标至文章的第 15 行行首。4、Last line mode 下命令简介在使用last line mode之前,请记住先按ESC键确定您已经处于command mode下后,再按:冒号即可进入last line mode。A) 列出行号se
20、t nu:输入set nu后,会在文件中的每一行前面列出行号。B) 跳到文件中的某一行#:#号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 15,再回车,就会跳到文章的第15 行。C) 查找字符/关键字:先按/键,再输入您想查找的字符,假设第一次找的关键字不是您想要的,可以始终按n会往后查找到您要的关键字为止。?关键字:先按?键,再输入您想查找的字符,假设第一次找的关键字不是您想要的,可以始终按n会往前查找到您要的关键字为止。D) 保存文件w:在冒号输入字母w就可以将文件保存起来。E 离开viq:按q就是退出,假设无法离开vi,可以在q后跟一个!强制离开vi。qw:
21、一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件。5、vi 命令列表1下面列出命令模式下的一些键的功能:h 左移光标一个字符ESC 从输入状态退至命令状态l 右移光标一个字符x 删除光标后面的字符k 光标上移一行#x 删除光标后的个字符j 光标下移一行X (大写X),删除光标前面的字符 光标移动至行首#X 删除光标前面的#个字符0 数字“0“,光标移至文章的开头dd 删除光标所在的行G 光标移至文章的最终#dd 删除从光标所在行数的#行$ 光标移动至行尾yw 复制光标所在位置的一个字Ctrl+f 向前翻屏#yw 复制光标所在位置的#个字Ctrl+b 向后翻屏yy 复制光标所在位置
22、的一行Ctrl+d 向前翻半屏#yy 复制从光标所在行数的#行Ctrl+u 向后翻半屏p 粘贴i 在光标位置前插入字符u 取消操作a 在光标所在位置的后一个字符开头增加cw 更改光标所在位置的一个字o 插入的一行,从行首开头输入#cw 更改光标所在位置的#个字2) 下表列出行命令模式下的一些指令w filename 储存正在编辑的文件为filenamewq filename 储存正在编辑的文件为filename,并退出viq!set nu/或? n放弃全部修改,退出vi显示行号查找,在/后输入要查找的内容与/或?一起使用,假设查找的内容不是想要找的关键字,按n 或向后与/联用或向前与?联用连续
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 讲义 OS 指导书
限制150内