《操作系统》实验指导书-软件工程班-

本文由用户“fyplrlyx”分享发布 更新时间:2021-04-15 20:53:12 举报文档

以下为《《操作系统》实验指导书-软件工程班-》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

中 央 民 族 大 学

操作系统

实验指导书

教师姓名:

职 称:

中央民族大学信息***

年 月

目录

前言……………………………………………………………………………………………..3

实验格式………………………………………………………………………………………..4

实验一:Linux的初步认识……………………………………………………………………5

实验二: 系统调用实验………………………………………………………………………..8

实验三:进程同步实验………………………………………………………………………..15

实验四:进程通信实验………………………………………………………………………..20

实验五:页面调度算法模拟…………………………………………………….…………….27

实验六:Linux Socket编程文件系统…………………………………………………………60

前 言

《操作系统》课程是计算机科学与技术专业的主干课。操作系统是现代计算机系统中必不可少的基本系统软件,对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。

《操作系统》课程是一门理论和实践相结合的课程。通过《操作系统》实验教学,可以是使学生深入地掌握操作系统的基本概念、基本原理,同时也可以使学生能够运用《操作系统》提供的方法与技巧对实际问题进行算法设计和程序设计,即能更好地实现与课程同步练习,又进一步深化理解和灵活掌握教学内容;又能培养学生程序设计及上机调试的能力。这将为其后继课程如《计算机体系结构》、《计算机网络》等打下必要的基础,同时也为今后在相关领域开展工作打下坚实的基础。

实验一:Linux的初步认识

实验课时:3学时

一、实验目的

1、了解Linux系统的安装过程

2、掌握基本的Shell命令

3、了解vi编辑器的使用

4、设计一个Shell批处理程序

5、设计C程序,在Shell下使用gcc编译器编译C程序

6、设计一个makefile文件

二、实验基本原理

1、安装过程

安装方法1:

(1)首先安装vitualbox-3.2.8***.exe虚拟机.

(2)在虚拟机上安装ubuntu-7.10***.iso过程

设置普通用户名demo,***

(3) 如何修改root用户密码,及登陆

默认的我们会以安装时建立的用户来登录到linux系统,如wuw/xxxxx,但安装VMWare Tools时,必须以root用户登录。

Ubuntu的安装过程中,我们也未曾接触到root用户的密码设置,如何登录?

参看网文得知,开启一个终端,运行"sudo passwd root",输入***;teacher”,输入确认***,root用户的密码就设置好了。

此时,我们仍然不能以root用户的身份登录到系统,还需要进行另一项设置,

选择 System -> 系统管理(administration) -> 登录窗口(login window),此时会让你输入当前linux登录用户的密码,进行权限验证,输入正确密码,出现下图所示设置界面

选择Security选项卡,勾选“Allow local system administrator login”,允许系统管理员登录,关闭窗口(关闭窗口就会保存设置),重启虚拟机(红色的按钮)或在linux里选择关机或重启。

(4)、共享windows文件夹

1)安装增强功能

察看菜单”applications”->accessories->terminal

将terminal终端拖入linux桌面

b) 在菜单”设备”中,点击”安装增强功能”运行

c) 双击桌面”terminal”,输入cd /media/cdom0 回车(或者cd /media/cdrom)

输入ls可察看目录

输入 sudo ./VBoxLinuxAdditions-x86.run

输入demo用户***

等待完成此步骤。

安装完毕后会提示要重启该Ubuntu,确保成功安装。

2). 设置共享文件夹

重启完成后点击"设备(Devices)" -> 分配数据空间 菜单,添加一个共享文件夹,选项固定和临时是指该文件夹是否是持久的。共享名可以任取一个自己喜欢的,比如"gongxiang" 或者“aaa”,尽量使用英文名称。



3). 挂载共享文件夹

重新进入虚拟Ubuntu,在命令行终端下输入:

sudo mkdir /mnt/shared

sudo mount -t vboxsf gongxiang(你自己共享文件夹的名称,上图为aaa) /mnt/shared

其中"gongxiang"是之前创建的windows共享文件夹的名字。OK,现在Ubuntu和主机可以互传文件了。

假如您不想每一次都手动挂载,可以在/etc/fstab中添加一项

gongxiang /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0

这样就能够自动挂载了。

4). 卸载的话使用下面的命令:

sudo umount -f /mnt/shared

安装方法2:

(1)安装vmware,安装Linux

https://jingyan.baidu.com/article/ad310e801a04db1849f49e3a.html

(2)Vmware虚拟机实现windows和linux的文件共享:

启动VMware虚拟机下的Linux操作系统。打开VMware虚拟机之后点击“开启此虚拟机”。



等待Linux操作系统正常启动完毕,然后点击VMware菜单栏“虚拟机”下的“安装VMware Tools”。



然后,会在Linux的系统桌面上生成一个名字为“VMware Tools”的光驱文件。



双击“VMware Tools”光驱文件并进入,会看到一个后缀为.tar.gz的压缩文件。



将压缩文件复制到home目录下,home目录即左侧的主目录文件夹。复制过程用鼠标操作完成即可。复制完毕如下图所示。



打开命令行终端,默认应该就是home目录,如果不是home目录,在命令行终端输入“cd ~”命令进入home目录下,在home目录下输入"ls"命令就可以看到我们刚刚复制的压缩包文件。



将压缩包用tar -zxvf命令解压,命令如下图所示。



解压完毕用“ls”命令查看,会看到在home目录下产生一个“vmware-tools-distrib”文件夹。



用“cd vmware-tools-distrib”命令进入vmware-tools-distrib文件夹,然后在命令行执行:“sudo ./vmware-install.pl”命令,输入用户密码即可进行vmware tools的安装。



等待VMware Tools安装完毕。安装成功会显示“Found VMware Tools CDROM mounted at ......"的字样,如下图所示。



(3)设置共享文件夹的目录

1. 将Ubuntu关机(power off),否则不能添加共享文件夹

2. 在VMware虚拟机窗口,选择虚拟机->设置->选项->共享文件夹

3. 点右边的“添加”,点“下一步”->选择Win7共享目录的路径,然后点“下一步”->选中 启动共享->完成

4. 在窗口的右边,选择“总是启用”

5. 点 确定 退出



开启虚拟机,至此就可以在/mnt/hgfs目录下看到Win7的共享文件夹目录。

(4)操作方式 进入系统后,点击鼠标右键,选择“Open Terminal”即可练习命令。

2、Linux基本指令

监视系统的几个Linux基本命令:

PS--查看系统的进程

tty--查看当前使用的终端

df--查看系统的文件系统的空间使用情况

du--查看具体某个文件和目录的磁盘空间的占用情况

free--查看使用的内存资源的情况

一些其他常用的Linux命令:

cal--显示日历 date--显示系统的日期和时间

clear--清屏 passwd--更改密码的指令

cd--改变当前目录命令 pwd--显示目前所在目录的指令

chmod--变更档案属性 mkdir--建立子目录

rmdir--删除子目录命令 touch--建立一个文件

rm--删除文件命令 mv--文件改名命令

cp--文件复制命令 ls—列出指定目录的内容

find--查找文件

groups 查看当前登录用户的组内成员

whoami 查看当前登录用户名

ls -alt

drwxr-xr-x第一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备 2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限

useradd testuser 创建用户testuser

useradd xgx -m 在home下创建文件夹

passwd testuser 给已创建的用户testuser设置密码

说明:新创建的用户会在/home下创建一个用户目录testuser

删除用户命令: userdel testuser -r删除用户testuser

userdel [-r] 用户名 其中,参数-r为删除用户的home目录。其实,可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件:

rm -rf testuser 删除用户testuser所在目录

chown -R xgx:xgx /home/xgx 修改文件的拥有者

语法:chmod [who] [+ | - | =] [mode] 文件名

chmod 700 /home/xgx 修改文件权限

chmod o w xxx.xxx 表示给其他人授予写xxx.xxx这个文件的权限 chmod go-rw xxx.xxx 表示删除xxx.xxx中组群和其他人的读和写的权限

其中:   u 代表所有者(user)   g 代表所有者所在的组群(group)   o 代表其他人,但不是u和g (other)   a 代表全部的人,也就是包括u,g和o   r 表示文件可以被读(read)   w 表示文件可以被写(write)   x 表示文件可以被执行(如果它是程序的话)   其中:rwx也可以用数字来代替   r ------------4   w -----------2   x ------------1   - ------------0   行动:    表示添加权限   - 表示删除权限   = 表示使之成为唯一的权限

命令中各选项的含义为

u 表示“用户(user)”,即文件或目录的所有者。 g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。 o 表示“其他(others)用户”。 a 表示“所有(all)用户”。它是系统默认值。 操作符号可以是: + 添加某个权限。 - 取消某个权限。 = 赋予给定权限并取消其他所有权限(如果有的话)。 设置mode所表示的权限可用下述字母的任意组合: r 可读。 w 可写。 x 可执行。 X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。 s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。 t 保存程序的文本到交换设备上。 u 与文件属主拥有一样的权限。 g 与和文件属主同组的用户拥有一样的权限。 o 与其他用户拥有一样的权限。

su xgx切换用户

passwd xgx 为用户创建*** /etc/group

more /etc/passwd Linux里查看所有用户

我们看到root这个用户后面是#?号说明是root权限的用户,而:说明是普通用户

练习下面的基本命令

cd / 进入根目录

cd ** 进入目录

cd /usr/src/

ls | wc ls显示目录

wc a.txt 统计指定文件中的字节数、字数、行数,并将统计结果显示输出

ls |grep a

ps 查看进程pid号功能

kill -9 pid号 杀死进程

more a.txt>a 重定向写入a

more a

more b.txt>>a

ls |head -2

head -10 ***.txt 显示文件前10行

tail -2 a.txt

history 显示执行命令的历史

./a.out (c执行程序)>b

more b 显示文件内容

./a.out &

w 执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。

su 切换用户的工具

pstree 显示系统进程树

wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

wc -c filename:显示一个文件的字节数

wc -m filename:显示一个文件的字符数

wc -l filename:显示一个文件的行数

wc -L filename:显示一个文件中的最长行的长度

wc -w filename:显示一个文件的字数

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

格式

grep -r ‘energywise’ * //在当前目录及其子目录下搜索'energywise'行的文件

grep -n root /etc/passwd //将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/etc/passwd的行号

grep [options]

主要参数 [options]主要参数: -c:只输出匹配行的计数。 -I:不区分大 小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及 行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 pattern正则表达式主要参数: \: 忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \:到匹配正则表达式的行结束。 [ ]:单个字符,如[A]即A符合要求 。 [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。 。:所有的单个字符。 * :有字符,长度可以为0。

bg fg jobs使用方法

(1)& 最经常被用到

这个用在一个命令的最后,可以把这个命令放到后台执行

(2)ctrl + z

可以将一个正在前台执行的命令放到后台,并且暂停(即挂起)

(3)jobs 查看当前有多少在后台运行的命令

(4)fg 将后台中的命令调至前台继续运行

如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

(5)bg 将一个在后台暂停的命令,变成继续执行

如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

(6)前台进程的终止:   ctrl+c

作业调度是shell的一个特性,它允许用户使用作业调度命令,所谓作业调度实际上是时钟守护进程cron按照用户所提交的确定的时间在这个时间内执行某些运行作业,cron守护进程将在设定的日期规定的时间内自动地执行某样任务。

可在系统负载较轻时安排这些非交互式作业的运行,在unix中与cron配合提交任务的命令有三种:at,batch,crontab。

3、vi编辑器的使用

进入VI编辑器

# vi filename,显示内容,如果没有此文件,则创建

(2)用ESC进行VI和EX的切换

(3)set nu 显示行号

(4)输入 "i" 进入插入模式。字符 "i" 将不会回显。此后你输入的任何东西都将显示在缓存中

(5)退出操作

:wq保存文件,退出

:q退出。防止没有保存就退出。

:q! 退出。无论保存与否,都退出

vi编辑器

vi是UNIX和类UNIX环境下的可用于创建文件的屏幕编辑器。vi有两种工作模式:命令模式和文本输入模式。启动vi需要输入vi,按[Spacebar]键并输入文件名后回车。

切换模式键

vi从命令模式切换到文本输入模式。每个键以不同方式使vi进入文本输入模式。按[ESC]键使vi从文本输入模式回到命令模式。

表1列出了vi从命令模式切换到文本输入模式的命令键及其功能。

表1 切换到文本输入模式的命令键

功能



i

在光标左侧输入正文



I

在光标所在行的行首输入正文



a

在光标右侧输入正文



A

在光标所在行的行尾输入正文



o

在光标所在行的下一行增添新行,光标位于新行的行首



O

在光标所在行的上一行增添新行,光标位于新行的行首



?

说明:1. 光标的位置由双下划线(%P)标明。

2. 当前行指光标所在的那一行。

vi文本编辑器的用法

基本上每一个Linux/Unix系统都装有vi编辑器。开启一个vi编辑器可使用如下命令:

vi file.txt

vi编辑器的工作有插入(编辑)模式和浏览(命令)模式。当你最开始编辑时,你处于浏览模式,你可以使用箭头或者其他导航键在文本中导 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 n",CLIENT_PORT);

exit(1);

}

if (connect(clifd,(struct sockaddr*)&servaddr, socklen) < 0)

{

printf("can't connect to %s!\n",argv[1]);

exit(1);

}

length = recv(clifd,buf,BUFFER_SIZE,0);

if (length < 0)

{

printf("error comes when recieve data from server %s!",argv[1]);

exit(1);

}

printf("from server %s :\n\t%s ",argv[1],buf);

close(clifd);

return 0;

}

[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 夏季学期微处理器报告
  2. 自控力读后感1500字
  3. 新版教科版五年级下册科学教案
  4. (基础)知识讲解 原理实验设计与评价
  5. 实验报告-模板
  6. 计算机操作系统复习资料(考试全攻略)
  7. 1、机械运动方案创新设计实验
  8. 4.2 《实验:探究加速度与力、质量的关系》—【新教材】人教版()高中物理必修第一册教学设计
  9. XXX系统可行性分析报告 XX小组_模版111
  10. 课题2 酸和碱的中和反应
  11. 制取氧气的教学设计
  12. 材料在水中的沉浮教学设计 - 副本
  13. 操作系统课程设计报告
  14. 大作业 报告 封面
  15. 大学2周实验报告模板2
  16. 分子热运动教学设计1
  17. 第一节降低化学反应活化能的酶
  18. 八年级物理实验教学工作总结
  19. X10安装教程
  20. 5.比较相同距离内运动的快慢教案

以上为《《操作系统》实验指导书-软件工程班-》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览