文档库 最新最全的文档下载
当前位置:文档库 › 操作系统B指导书

操作系统B指导书

操作系统B指导书
操作系统B指导书

实验一linux操作安装和配置

一.实验目的:

1了解Linux

2掌握Linux安装前的准备工作

3掌握Linux的安装

4掌握Linux常用硬件的配置

二.实验内容:

完成red hat linux系统安装和系统配置

三.实验设备:

1、微型计算机一台

2、redhat安装系统

四、实验注意事项

记录好相关的执行结果,写好实验报告。

实验二用户界面与Shell命令

一.实验目的:

(1)熟悉终端模式和字符模式下使用Shell命令;

(2)掌握常用简单命令的操作;

(3)掌握重定向、管道、通配符的使用。

二.实验内容:

1、终端模式下使用Shell命令操作;

2、字符模式下使用Shell命令;

3、重定向、管道、通配符的使用。

三、实验操作步骤

1、终端模式下使用Shell命令操作

(1)进入终端模式;

(2)命令date、cal、man、ls命令的使用;

2、字符界面下的Shell命令操作

(1)进入字符模式;

(2)命令pwd、cat、more、wc的操作;

3、重定向、管道、通配符的使用

命令ls、cat、more、wc等与重定向、管道、通配符的结合使用。

4、设置Linux系统启动时直接进入字符模式

(1)修改/etc目录中的inittab文件中的“id:5:initdefault:”所在行的“5”修改为3

(2)字符模式下启图形化用户界面

(3)命令方式切换KDE桌面环境

四、实验注意事项

1、注意Linux命令字的大小写及参数间的空格;

2、记录好相关命令的执行结果,写好实验报告。

实验三用户与组群管理

一、实验目的

(1)掌握用户管理在系统管理中的作用;

(2)掌握组群管理在系统资源管理中的优点;

(3)熟悉批量新建用户账号的步骤和方法。

二、实验内容

1、桌面环境下管理用户与组群的方法;

2、Shell命令方式下管理用户与组群的方法;

3、批量新建多个用户账号。

三、实验环境

1、安装有Red Hat Linux 9.0以上操作系统的计算机;

2、实验分组:每人一台计算机为独立的一组。

四、实验操作步骤

1、桌面环境下管理用户与组群

(1)新建两个用户账号;(2)锁定一个用户账号;

(3)删除一个用户账号; (4)新建两个组群;

(5)修改组群属性,将用户归入组群;或将组群中添加用户;

(6)删除某一个组群。

2、Shell命令方式下管理用户与组群

(1)用户命令方式作与1相似的操作;

(2)用户切换操作。

3、批量新建多个用户账号

(1)用vi编辑用户信息文件,保存为student.txt;

(2)用vi编辑用户口令文件,保存为password.txt文件;

(3)批量创建多个用户账号的命令处理。

五、实验注意事项

1、具体实验操作步骤参照实验指导书;

2、巡视辅导,操作步骤中的三个内容,每一个内容做完后要进行小结;

3、记录好相关操作的执行结果,写好实验报告。

实验四文件系统的管理

一、实验目的

(1)掌握Linux的文件系统的挂载和卸载操作;

(2)熟悉Linux常用文件系统的管理命令。

二、实验内容

1、熟悉磁盘管理操作窗口;

2、U盘的挂载和卸载操作;

3、单机多操作系统中Linux对Windows FAT文件系统的

访问;

4、mkfs、df、du、fsck命令的使用。

三、实验操作步骤

1、磁盘管理操作窗口

(1)桌面环境下打开“磁盘管理”操作窗口;

(2)熟悉“挂载”与“卸载”命令方式下的操作。

三、实验操作步骤

2、U盘的挂载和卸载操作

U盘的挂载和卸载命令操作。

3、Linux对Windows FAT文件的访问支持

在一台多系统的电脑中实现该实验。

(1)在Linux中进入“主菜单|系统工具|硬件浏览器”;

(2)在硬盘栏中记录VFAT的分区名;

(3)在/mnt下新建挂载点(子目录):/mnt/windows;

(4)输入挂载命令;

(5)浏览/mnt/windows内容,记录;

(6)卸载,再次浏览/mnt/windows子目录。

4、mkfs、df、du、fsck命令的使用

熟悉mkfs、df、du、fsck命令的使用

四、实验注意事项

1、注意Linux命令字的大小写及参数间的空格;

2、具体实验操作步骤参照实验指导书

3、记录好相关操作的执行结果,写好实验报告。

实验五目录和文件管理

一、实验目的

掌握命令方式下的目录和文件管理命令操作:

(1)熟练掌握mkdir、mv、cp、rm等目录和文件管理命令;(2)掌握文件权限的修改方法;

(3)掌握文件归档和压缩的方法;

(4)掌握软件包的管理。

二、实验内容

1、目录操作;

2、文件操作;

3、文件权限的修改与设置;

4、文件归档与压缩;

5、软件包的安装与卸载。

三、实验环境

1、安装有Red Hat Linux 9.0以上版本的计算机;

2、实验分组:每人一台计算机为独立的一组;

3、学生登录到教师机上(ftp://172.16.15.204),

下载文件firefox-cn1.5.0.12.tar.zip、vsftpd-1.1.3-8.i386.rpm

四、实验操作步骤

1、目录操作

(1)GUI下的目录操作

目录创建、移动、复制、重命名、删除。

(2)Shell命令下的目录操作

①mkdir ②mv ③rm ④cd

2、文件操作

(1)GUI下的文件操作

①文件的搜索、移动、复制、重命名、删除;

②符号链接文件操作;

③修改文件的权限属性。

(2)Shell命令下的文件操作

①文件的搜索、移动、复制、重命名、删除;

②符号链接文件操作;

③Shell命令方式修改某文件的权限。

3、文件归档与压缩

(1)归档;

(2)解压缩;

(3)实例: 安装下载文件firefox-cn1.5.0.12.tar.zip

4、软件包的管理

(1)GUI方式下的软件包管理;

(2)rpm命令的使用:(查询、删除、安装vsftpd)

五、实验注意事项

1、注意Linux命令字的大小写及参数间的空格;

2、具体实验操作步骤参照实验指导书;

3、记录好相关操作的执行结果,写好实验报告。

实验六进程管理与系统监视

一、实验目的

(1)掌握作业与进程的启动与管理命令;

(2)正确管理和监视系统的运行状态,从而达到维护系统的正常运行。

二、实验内容

1、作业和进程的基本管理;

2、进程调度;

3、系统性能监视;

4、系统日志管理。

三、实验环境

1、安装有Red Hat Linux 9.0以上操作系统的计算机;

2、实验分组:每人一台计算机为独立的一组;

3、选择超级用户(root)身份登录到Linux图形用户界面或字符界面;

4、学生登录到教师机上

下载文件:实验六进程管理与系统监视.doc。

四、实验操作步骤

1、作业和进程的基本管理

在Linux的GUI模式下,点击:“主菜单/系统工具/终端”,

进入终端方式,命令操作:

(1)作业与进程的前台启动

(2)作业与进程的后台启动

除上面把前台进程转到后台进程的过程外,在shell提示符下,输入的命令后加上&,即以后台方式运行命令。

2、进程调度

(1)at调度

(2)crontab调度

3、系统性能监视;

4、系统日志管理;

五、实验注意事项

1、注意Linux命令字的大小写及参数间的空格;

2、具体实验操作步骤参照实验指导书;

3、记录好相关操作的执行结果,写好实验报告。

实验七vi的基本操作

一、实验目的

(1)掌握用vi编辑文本文件;

(2)用vi编辑C语言的源程序;

二、实验内容

1、用vi新建文本文件;

2、vi的编辑操作;

三、实验注意事项

1、以root用户登录;

2、文件内容参照实验指导书。

3、C的源程序自己定,或参照课堂教学中的例子。

四、实验操作步骤

1、终端模式下使用vi新建文本文件

(1)进入终端模式;

(2)# vi 文件名←┘

2、字符界面下使用vi编辑文件

(1)进入字符模式;

(2)# vi 文件名←┘

3、字符界面下使用vi编辑C语言源程序

(1)# vi c1.c /源程序内容自自己定

(2) # cc c1.c /编译,自动生成可执行文件a.out,用ls –l命令查看文件名。

(3)# ./a.out /执行

(4)# cc –o test.exe c1.c 指定编译文件为test.exe,用ls –l命令查看文件名。

(5) # ./test.exe /观察执行情况,有什么结果?

(6) # test.exe /观察执行情况,有什么结果?

(7) 设置命令的查找路径:

输入:# PATH=″$PA TH:/root″←┘

/在原有的查找路径设置中再添加路径/root。

(8) # test.exe ←┘/观察执行情况,与(6)比较,分析为什么?

实验八任务调度与备份管理

一、实验目的

1、掌握使用cron进行系统的定期维护;

2、掌握使用at进行任务调度

3、掌握系统的备份工具cpio、tar、dd

二、实验内容

1、使用cron进行系统的定期维护;

2、使用at进行任务调度

三、实验环境

1、安装有Red Hat Linux 9.0以上操作系统的计算机;

2、实验分组:每人一台计算机为独立的一组。

四、实验操作步骤

1.使用crontab命令编辑用户wl060x的crontab表,要求:

(1)每小时的第5分钟执行命令“ls –al /home/wl060x”;

(2)每星期三上午10点执行命令“ls –al /home”;

(3)每天上午10点、11点执行命令“pwd”;

(4)每月的1号、5号的2点20分执行命令“ulimit -a”。

2.使用crontab命令显示用户wl060x 的任务调度的工作。

3.使用crontab命令将用户wl060x crontab表中的第4项工作删除

4.请限制用户WW使用cron定制自己的工作任务。

5.使用crontab命令编辑超级用户的crontab表,要求:

(1)每隔30分钟执行命令“ls –al /root”;

(2)每月隔10天的5点35分执行命令“ps -aux”;

(3)每天1点至4点的第25分钟执行命令“pwd”;

(4)每月1号下午6点执行命令“shutdown –r now”。

五、实验注意事项

1、部分实验操作步骤参照实验指导书;

2、记录好相关操作的执行结果,写好实验报告。

实验九软件包管理

一、实验目的

1掌握rpm软件包管理

2掌握tar包管理

二、实验内容

1、rpm软件包的安装、更新、查询、删除和验证;

2、tar命令的使用;

3、tar包的安装4内核的升级

三、实验环境

1、安装有Red Hat Linux 9.0以上操作系统的计算机;

2、实验分组:每人一台计算机为独立的一组。

四、实验操作步骤

3使用rpm命令更新dns软件包。

4使用rpm命令删除apache软件包

5使用rpm命令安装apache软件包

6使用tar命令把/etc/httpd目录下的文件全部打包压缩到httpd.tar.gz中。

7使用tar命令把文件httpd.tar.gz解包到/ tmp目录中。

8使用tar命令把/etc/httpd目录下的文件全部打包压缩到httpd.tar.bz2中。

9使用tar命令把文件httpd.tar.bz2解包到/ tmp1目录中。

10使用tar命令把目录/tmp1中的文件都移动到tmp1.tar包中,查看tmp1.tar包中的内容,查看目录/tmp1中是否还有文件。

五、实验注意事项

1、部分实验操作步骤参照实验指导书;

2、记录好相关操作的执行结果,写好实验报告。

实验十shell 编程

一、实验目的

1、掌握shell脚本的建立和执行

2、掌握shell 程序和语句

二、实验内容

1、编写Shell命令程序

2、程序编写

三、实验环境

1、安装有Red Hat Linux 9.0以上操作系统的计算机;

2、实验分组:每人一台计算机为独立的一组。

四、实验操作步骤

程序prog4检查用户输入的文件名, 用法为:

prog4 string_name

# The statement of case…esac

if [ $# -eq 0 ]

then

echo "No argument is declared"

exit

fi

case $1 in

file1)

echo "User selects file1"

;;

file2)

echo "User selects file2"

;;

*)

echo "You must select either file1 or file2!"

;;

esac

?2、创建文件程序prog6, :编程计算1+2+3+4+5的值。

?#!/bin/bash

?let s=0; p=1

?while [ $p –le 5 ]

?do

?let s=$s+$p

?let p=$p+1

?done

?echo "s=$s"

?#end

?3、求命令行中输入的数值组的最大的数,将文件存为maxvalue。

?#!/bin/bash

?max()

?{

?while test $1

?do

?if test $maxvalue

?then

?if [ $1 –gt $maxvalue ]

?then

?maxvalue=$1

?fi

else

maxvalue=$1

fi

shift

done

return $maxvalue

}

max $*

echo "Max Value is :$maxvalue"

#end

执行结果:

$maxvalue 239 32 78 7 60 20 150 345 3

Max Value is :345

五、实验注意事项

1、部分实验操作步骤参照实验指导书;

2、记录好相关操作的执行结果,写好实验报告。

实验十一网络配置与Linux的应用程序

一、实验目的

1、熟练掌握Linux网络配置;

2、熟练掌握以太LAN的连接;

3、掌握应用软件gFTP的使用。

二、实验内容

1、配置Linux网络连接;

2、Linux连接Internet及使用;

3、应用软件gFTP的使用。

三、实验环境

1、安装有Red Hat Linux 9.0以上操作系统的计算机;

2、实验分组:每人一台计算机为独立的一组。

3、实验室的LAN环境;

4、Internt接入。

四、实验操作步骤

1、配置Linux网络连接

(1)静态配置本机IP地址及子网掩码;

(2)用ping命令测试网络;

(3)用ifconfig命令配置网络。

2、Linux连接Internet及使用

(1)设置共享Internet;

(2)Linux中浏览器的使用;

(3)E-mail的使用(选做)。

3、应用软件gFTP的使用

(1)使用gFTP从教师机下载软件包;

(2)上传文件操作。(观察能否上传文件?为什么?)

五、实验注意事项

1、注意Linux命令字的大小写及参数间的空格;

2、部分实验操作步骤参照实验指导书;

3、记录好相关操作的执行结果,写好实验报告。

实验十二架设Samba Server

一、实验目的

1、掌握图形化用户界面下配置Samba服务器的方法;

2、掌握字符界面下配置Samba服务器的方法;

3、掌握实现Linux计算机与Windows计算机之间文件共享互访的方法。

二、实验内容

1、建立Samba服务器的网络应用环境;

2、配置共享级的Samba服务器;

3、配置用户级的Samba服务器;

4、访问Windows共享。

三、实验环境

1、安装有Red Hat Linux 9.0以上操作系统的计算机;

2、实验室的LAN环境;

3、实验分组:每人一台计算机,每二台计算机为一组。

四、实验操作步骤

1、建立Samba服务器的网络应用环境

(1)配置Linux计算机,以组为范围静态配置本机IP地址及子网掩码;

(2)为各Linux主机设置主机名及相应的IP地址,重新启动Linux主机;

(3)取消Linux计算机的防火墙设置;

(4)配置Windows计算机,静态配置本机IP地址及子网掩码;

(5)为Windows主机添加NetBIOS协议;

(6)为Windows主机安装“Windows网络的文件和打印机共享”服务;

(7)记录Windows主机的计算机名及设置工作组名,重新启动计算机;

(8)在Linux计算机上用ifconfig命令测试网络情况;

(9)在Windows计算机上用ipconfig命令测试网络情况;

(10)用ping命令测试每组内的网络互通。

2、配置共享级的Samba服务器

(1)将Linux计算机中的/tmp目录设置为共享目录;

(2)访问Linux共享目录;

3、配置用户级的Samba服务器

(1)修改smb.conf文件(/etc/samba目录中)(内容详见指导书);

(2)创建Linux用户;

(3)将Linux用户设置为Samba用户;

(4)访问Linux共享目录;

4、访问Windows共享

(1)桌面环境下访问Windows共享目录;

(2)利用Shell命令访问Windows共享目录。

五、实验注意事项

1、注意主机名不要有重复;

2、有时找不到计算机名,可用搜索计算机机或重新启动计算机;

3、记录好相关操作的执行结果,写好实验报告。

实验十三架设FTP Server

一、实验目的

1、熟悉vsftpd服务器的相关配置文件;

2、掌握vsftpd服务器配置方法;

3、掌握利用ftp客户端工具访问vsftpd服务器的方法。

二、实验内容

1、默认的两类用户访问vsftpd服务器;

2、配置匿名vsftpd服务器,仅允许匿名用户登录访问;

3、配置用户专用的vsftpd服务器。

三、实验环境

1、安装有Red Hat Linux 9.0以上操作系统的计算机;

2、实验室的LAN环境;

3、实验分组:每人一台计算机,每二台计算机为一组。

四、实验操作步骤

1、准备工作:

①每一个小组将本机的IP地址记录,并处于激活状态;

②小组内成员用ping命令测试组内成员的网络互通;

③点击“主菜单|系统设置|安全级别”,“安全级别|禁用防火墙”;

④在FTP服务器的主机上分别在“/var/ftp/pub和/home/指定用户名”下建

立任意两个文本文件,作下载调试用。

2、用gFTP工具软件以两类用户访问vsftpd服务器;

(1)anonymous用户登录

(2)指定用户登录

3、配置匿名vsftpd服务器,仅允许匿名用户登录访问。

(1)修改vsftpd..conf文件

(2)测试匿名vsftpd服务器

4、配置用户专用的vsftpd服务器,用户只能操作其主目录,不能切换

到其它目录

(1)修改vsftpd..conf文件;

(2)测试用户专用vsftpd服务器。

注:具体配置文件参见实验指导书的相关内容。

五、实验注意事项

1、注意主机名不要有重复;

2、设置完毕后,要重新启动ftp服务;

3、记录好相关操作的执行结果,写好实验报告

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

《操作系统原理》信管专业实验指导书资料

《操作系统原理》实验指导书 班级:_______________ 学号:_______________ 姓名:_______________ 山东建筑大学管理工程学院 信息管理与信息系统教研室

目录 引言 (1) 实验题目一 (2) 实验题目二 (4) 实验题目三 (6) 实验题目四 (8) 实验题目五 (10) 实验题目六 (12)

引言 操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。 操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。 本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。

实验题目一:模拟进程创建、终止、阻塞、唤醒原语 一、题目类型:必做题目。 二、实验目的:通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进 程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 三、实验环境: 1、硬件:PC 机及其兼容机。 2、软件:Windows OS ,Turbo C 或C++、VC++、https://www.wendangku.net/doc/c83737135.html, 、Java 等。 四、实验内容: 1、设计创建、终止、阻塞、唤醒原语功能函数。 2、设计主函数,采用菜单结构(参见后面给出的流程图)。 3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供 随时查看各队列中进程的变化情况。 五、实验要求: 1、进程PCB 中应包含以下内容: 2、系统总体结构: 其中: 进程名用P1,P2标识。 优先级及运行时间:为实验题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB 。

操作系统课设计指导书

《操作系统》课程设计指导书 Course Work of Operating System 本指导书中包含5个题目,每个小组选择一个题目。小组人数最多为4人,也可以1个人为1组。 上机时间安排为:每周二7~8节在软件实验室。总学时为“两周”,分散到整个学期完成。在2004年12月31日(周五)之前上交课程设计报告并拷贝电子文档及源程序到615的机器上。 每个题目的实验提示是互相启发的。另外实验提示只是提示,你可以有自己的实现方法和理解,但必须在报告中清楚地说明。 你在实现复杂原理时可以也必须做简化假设。数据结构以你自设的数组或链表居多。 题目一页面置换算法的模拟实现和计算命中率 一、课程设计目的 通过请求页式管理方式中页面置换算法的模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理中的页面置换算法。 二、课程设计内容 模拟实现OPT、FIFO和LRU算法,并计算命中率。 命中率= 1- 缺页率。 三、实验要求及提示 1、首先用随机数生成函数产生“指令”序列(实际上是产生指令将访问的地址序列),然后将指令序列变换成相应的页地址流,再计算不同算法下的命中率。 2、通过随机数产生一个指令序列,共产生400条。其中50%的指令是顺序执行的(另外50%就是非顺序),且25%的指令分布在前半部地址空间,25%的指令分布在后半部地址空间。具体的产生方法是: 1)在[0,399]之间随机选取一起点m,记录到指令地址流数组中; 2)所谓“顺序执行一条指令”,即执行地址为m+1的指令,把m+1记录下来;

3)在前半部地址空间,即[0,m+1]中随机选一数,作为新指令地址m’; 4)顺序执行一条指令,其地址为m’+1; 5)在后半部地址空间[m’+2,399]中随机选一数,作为新指令地址; 6)重复步骤1~5,直到产生400个指令地址。 3、将指令地址流变换成页地址(页号)流,简化假设为: 1)页面大小为1K; 2)用户虚存容量为40K; 3)用户内存容量为4页到40页; 4)用户虚存中,每K存放10条指令,所以那400条指令访问地址所对应的页地址(页号)流为: 指令访问地址为[0,9]的指令为第0页;指令访问地址为[10,19]的指令为第1 页;……。按这种方式,把400条指令组织进“40页”。 4、循环运行,使用户内存容量从4到40。计算每个内存容量下不同页面置换算法的命中率。输出结果可以为: [4] OPT:FIFO:LRU: [5] OPT:FIFO:LRU: ………… [39] OPT:FIFO:LRU: [40] OPT:FIFO:LRU: 题目二UNIX成组链接策略的模拟实现 一、课程设计目的 通过模拟UNIX成组链接策略的实现,理解UNIX管理磁盘空闲空间的方法。 二、课程设计内容 实现UNIX管理磁盘空闲空间的方法——成组链接。具体策略参见教材第六章。 (UNIX的成组链接例:莱昂氏UNIX源代码.pdf文件的第162页alloc(dev)和第163页free(dev,bno)过程。另外文件系统数据结构定义在第134页struct filsys。)

操作系统课设

课程设计报告课程名称:计算机操作系统 专业班级: 学号: 姓名: 指导教师: 报告日期: 计算机科学与技术学院

目录

1 实验目的 ·掌握Linux操作系统的使用方法; ·了解Linux系统内核代码结构; ·掌握实例操作系统的实现方法; 2 实验环境 本次课程设计采用的操作系统环境是windows8、Ubuntu双系统,Ubuntu系统版本号为14.04,内核版本号为linux 3.13.0;采用的编程环境为CodeBlocks IDE和QtCreator。 3 实验内容 3.1 实验一 掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。 (1)编写一个C程序,其内容为实现文件拷贝的功能。 (2)编写一个C程序,其内容为分窗口同时显示三个并发进程的运行结果。要求用到Linux下的图形库(GTK/Qt)。 3.2 实验二 掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用,另编写一个应用程序,调用新增加的系统调用。实现的功能是:文件拷贝。 3.3 实验三 掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动程序,其功能可以简单。(实现字符设备的驱动) 3.4 实验四(选做) 了解和掌握/proc文件系统的特点和使用方法 (1)了解/proc文件的特点和使用方法; (2)监控系统状态,显示系统中若干部件使用状态; (3)用图形界面实现系统监控状态; 3.5 实验五(选做) 设计并实现一个模拟的文件系统。

多用户的多级目录的文件系统设计。多用户、多级目录、login(用户登录)、系统初始化(建文件卷,提供登录模块)、文件的创建、文件的打开、文件的读写、文件关闭、删除文件、创建目录(建立子目录)、改变当前目录、列出文件目录、退出。 4 设计与实现 4.1 实验一 4.1.1 实验要求 掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux下的编程环境。 4.1.2 具体实现 本实验内容是用CodeBlocks IDE实现的,该软件整合了函数库和编译器,因此使用起来非常方便。 (1)编写一个C程序,其内容为实现文件拷贝的功能。 在windows操作系统上实现的文件拷贝功能一般使用fopen、fread、fwrite三个来自标准C函数库的函数执行对文件的打开、读、写操作,而本次实验要求使用Linux 系统的系统调用open、read、write实现上述三个操作。 用到的主要头文件如下: stdio.h——标准输入输出头文件 string.h——字符串处理相关头文件 unistd.h——Linux系统调用头文件,比如read、write fcntl.h——包含open系统调用 errno.h——包含一些调试错误时用到的变量 具体实现思路: 打开两个文件(分别是源文件和目标文件,可以是任意字符流形式存储的文件,包括文本文件、照片等),调用read函数读取源文件的内容,将read的返回值作为while循环的判断条件,当返回值大于0(即还未读取完毕源文件中的内容)时,调用write执行向目标文件写的操作,否则跳出循环,表示源文件已经被拷贝到目标文件,然后调用close关闭源文件和目标文件。 代码编写完成后,在CodeBlocks上编译运行即可。程序运行之前,桌面上只有“教程.docx”,运行之后,桌面上新建了“教程副本.docx”,并且“教程.docx”中的内容被复制到了“教程副本.docx”,程序运行结果如下所示:

操作系统课程设计指导书复习课程

《计算机操作系统》课程设计指导书 一、课程设计的目的和意义 本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。 二、总体要求: 1、课程设计总时间为五天。 2、课程设计地点是实验楼616机房。 3、一个班分若干个组,每组2人,个别可以3人组(自由组合)课程设计题目由任课 老师指定; 4、人员分工:组长1人、组员1到2人。组长可由小组人员自行选出或自荐,组长的 职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。 三、设计要求: 本课程设计以Linux操作系统为实验平台,进行源代码分析和修改或应用。通过该课程设计,使学生掌握Linux操作系统各部分结构、实现机理和各种典型算法;或使学生进行网络管理和系统管理,系统地了解操作系统的设计和实现思路,运用内核开发环境实现对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。。 要求如下: 1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。 3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。 4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。 5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。 6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。 四、成绩评定 1、同学平时表现占总成绩30%,若迟到扣5分,无故旷课每次扣10 分,二次不 到者总成绩以0分计。 2、课程设计报告占总成绩70%,在规定时间内上交。 3、严禁抄袭,复制设计内容,查出后相关同学设计成绩以零分处理。 五、设计内容(除特别注明外,每组2人,先自由组合,并选定1个题目,再由老师作适当调整)

操作系统实验指导书

实验前准备工作:Linux的安装 一. 实验目的 1.掌握Red Hat Linux操作系统的安装步骤。 2.掌握启动、关闭操作系统的方法。 二.实验准备 Red Hat Linux操作系统既可以单独安装在一个计算机系统中;也可以与其它操作系统如windows操作系统一起安装在一个计算机系统中,但注意在安装时要先装windows操作系统,再装Linux;或者利用主机的资源(如CPU、内存、硬盘),模拟出的一台新计算机。然后在虚拟机中安装windows、Linux等系统,使用虚拟机对主机的要求比较高,建议内存512MB以上。 1.硬盘分区 理解硬盘、分区的名称: ?IDE硬盘名称: /dev/hda, /dev/hdb …… ?SCSI硬盘名称:/dev/sda, /dev/sdb …… 分区名称:/dev/hda1, /dev/hda2 …… 一个硬盘最多分4个主分区和扩展分区,扩展分区最多只能建1个,扩展分区不能直接放数据,还必须建立逻辑分区才能使用。 安装Red Hat Linux至少需要两个硬盘分区:一个或多个―Linux native‖类型的分区,一个―Linux swap‖类型的分区。即使将Linux安装在一个专门的硬盘上,或者一台不安装其他操作系统的计算机上,仍然需要为其创建分区。在安装过程中,会提示用户为Red Hat Linux 创建分区,必须保证有足够的硬盘空间来创建分区。推荐以下分区配置: (1)一个根分区 (2)一个交换分区 (3)一个/usr分区 (4)一个/home分区。 2. 安装类型 Red Hat Linux提供了三种类型的安装: (1)客户机类型安装(workstation) (2)服务器类型安装(server system) (3)自定义类型的安装(custom system) 三.实验内容 请在虚拟机中安装Linux。 1. 安装虚拟机软件 常用的虚拟机软件有Vmware和VPC,如果主机性能较好,还能同时虚拟出多台虚拟机;一台虚拟机对应主机上的一个目录,删除该目录就删除了虚拟机;该目录拷到其它电脑

操作系统课设

课 程 设 计 20 ——20 学年 第 学期 课程名称 操作系统 学 院 计算机科学与技术学院 专 业 班 级 姓 名 指导教师

课程设计任务书 题目: 系统调用 初始条件: 学习了高级语言程序设计、汇编语言、数据结构、计算机组成原理课程,掌握了一种计算机高级语言。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写 等具体要求) 学习在Linux中产生一个系统调用以及怎样通过往Linux内核中增加一个新函数从而在该内核空间中实现对用户空间的读写。这个函数的功能是返回当前 的系统时间。 实验条件要求:每人一台Linux主机且有超级用户权限。 时间安排: 指导教师签名: 20 年月日系主任(或责任教师)签名:年月日

目录 1.简介 (1) 1.1实验环境 (1) 1.2 Linux系统及内核 (1) 1.3 Linux系统调用 (2) 2.实验原理及详细步骤流程 (3) 2.1.实验原理和思路 (3) 2.2.详细步骤 (3) 2.2.1.环境搭建及前期准备 (3) 2.2.2.内核文件修改 (4) 2.2.3.编译并切换内核 (5) 2.2.4.测试新系统调用 (6) 3.过程分析及实验结果 (7) 2.1 过程分析 (7) 2.2.运行结果 (9) 4.调试记录 (9) 5.自我评价与总结 (10) 6.参考文献 (11) 评分表 (12)

一.简介 1.1.实验环境 1.2. Linux系统及内核 Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux是一个一体化内核(monolithic kernel)系统。"内核"指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。 操作系统的主要功能是为应用程序的运行创建良好的环境,为了达到这个目的,Linux内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system call)的接口呈现给用户。系统调用把应用程序的请求传给Linux内核,调用相应的的Linux内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序。

操作系统实验-实验指导书

3 《操作系统》实验指导书 实验学时:16 适用专业:计算机科学与技术,软件技术 操作系统上机实验 一、实验目的 主要目的是配合操作系统课程的学习,模拟实现操作系统的功能,有助于对操作系统的理解,同时加强学生对系统设计、程序编写、代码调试、软件开发过程基本技能的掌握。 上机作业应作到:覆盖讲授的所有原理内容,使得学生通过上机实践对原理有更深的理解;每一道上机作业,都要求学生必须完成一个完整的、可运行的小型软件,籍此提升基本的软件开发技能。 二、实验要求 (1)上机实验之前,学生应当为每次上机的内容作好充分准备。对每次上机需要完成的题目进行认真的分析,选择合适的算法,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容以及思考题的要求进行上机操作。录入程序,编译调试,反复修改,直到使用要求的算法,使程序正常运行,得出正确的输出结果为止。 (3)上机作业要求提交原始代码、设计文档和可运行程序。以完整的作业包的形式提交。实验报告应当包括:实验题目,程序清单,运行结果,所选取的算法及其优缺点以及通过上机取得了哪些经验。程序清单要求格式规范,注意加注释(包含关键

字、方法、变量等),在每个模块前加注释,注释不得少于20% 三、实验内容 上机实验包括:操作系统使用、SHELL编程、进程管理、进程调度、死锁处理、存储管理、文件系统几个部分。 实验1: SHELL编程 实验目的 熟悉linux常用命令,为以后的实验打下良好基础; 熟悉vi编辑器的使用; 了解Shell程序的语法规则,能编写简单的Shell程序。 实验内容 1、使用常用的Linux命令,主要包括如下命令: date, mail, write, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who等; 2、使用vi编辑器编辑文件,熟悉vi编辑器的各种操作模式和常用命令。 3、使用vi编辑器编写一段Shell程序,取名为mycal,实现与Linux中cal命令类 似的功能,当输入: $mycal [月份名] 年时,屏幕输出指定的年月的月历。例如: $mycal October 2009 屏幕输出2009年10月的月历。 注:参数可以是英文或者是数字。 实验2:观察Linux的行为 实验目的 了解Linux proc文件系统; 加深对Linux系统的理解; 增强Linux系统管理知识。 实验内容 在Linux中,proc文件系统提供了一套在用户态检查内核状态和系统特征的机制。proc文件系统将进程的地址空间、系统的硬件信息、系统相关机制(中断、I/O)等内容全部设置为虚拟的Linux文件,为访问系统内核数据的操作提供接口。 1、以root登录系统,并进入/proc目录,键入ls命令,查看/proc下的内容,同时 查看每个文件的读写权限。 2、根据/proc下的信息,回答:CPU的类型和型号、当前Linux版本、从启动到当 前时刻所经过的时间、当前内存状态。

操作系统课程设计任务指导书-Read

《操作系统课程设计任务指导书》 山东建筑大学 计算机科学与技术学院 二○○七年十二月

基本情况 课程名称:操作系统课程设计 相关课程:操作系统、数据结构 适合专业:信息与计算技术 设计周数:1周 学分: 2学分 开课学期:第 7 学期 开课单位:计算机科学与技术学院 一、课程设计的教学目的和任务 1、使学生进一步理解和掌握操作系统课程中所学到的各种基本算法。 2、使学生深入理解经典操作系统各组成部分的基本原理。 3、使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 4、使学生能用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备 的科学的工作方法和作风。 二、课程设计的主要内容 1.分析。根据设计题目的要求,充分地分析和理解问题。 2.设计。根据题目所涉及的操作系统内容,认真设计解题算法。参照平时课内所学知识,按照软件工程方法,确定设计方案。 3.编码。把设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚。 4.调试与测试。根据题目内容,设计测试用例,使之能够充分证明课程设计完成的正确性。 5.总结分析。总结设计中所遇到的问题以及所得到的经验,分析程序中是否存在可以完善、提高的部分,做出总结。 6.编写课程设计报告。 三、课程设计的基本教学要求 1、巩固和加深对操作系统课程基本知识的理解,提高对所涉及的算法的掌握。 2、通过实际课程设计,掌握简单软件的分析方法和设计方法。 四、课程设计报告的规范 课程设计报告要求规范书写。应当包括如下部分: 1、操作系统课程设计任务书 2、问题定义与分析 3、概要设计及流程图 4、问题实现及代码 5、测试

《计算机操作系统》课程设计指导书

《计算机操作系统》课程设计指导书 河海大学文天学院 2013年10月

《计算机操作系统》课程设计说明 计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统课程设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux 用户界面;掌握操作系统中进程管理概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想,了解设备管理的功能,了解文件系统的功能。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。 为了收到良好的实验效果,编写了这本课程设计指导书。在指导书中,每一个课程设计任务按照该课程设计大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式引导学生有目的、有方向地完成课程设计任务,得出实验结果。任课教师在课程设计前对课程设计的任务进行一定的分析和讲解,要求学生按照课程设计任务的具体要求提前做准备工作,如:查找资料等,做到有准备地上机。进行课程设计时,指导教师应检查学生的预习情况,并对设计过程给予积极指导。课程设计完毕后,学生应根据课程设计情况,实验数据及结果,完成课程设计报告,由班长统一收齐后交指导教师审阅评定。

操作系统课程设计

操作系统课程设计 Prepared on 22 November 2020

湖南科技大学计算机科学与工程学院 操作系统课程设计报告 学号: ******** 姓名:* * 班级: *** 指导老师: *** 完成时间: ****.**.** 目录 实验一 Windows进程管理 实验二 Linux进程管理 实验三互斥与同步 实验四银行家算法的模拟与实现 实验五内存管理 实验六磁盘调度 实验七进程间通信 实验一 Windows进程管理 一、实验目的 1)学会使用 VC 编写基本的 Win32 Consol Application(控制台应用程序)。 2)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解 Windows 进程的“一生”。

3)通过阅读和分析实验程序,学习创建进程、观察进程、终止进程以及父子进程同步的基本程序设计方法。 二、实验内容和步骤 (1)编写基本的 Win32 Consol Application 步骤1:登录进入 Windows 系统,启动 VC++ 。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择 “Win32 ConsolApplication”,然后在“Project name”处输入工程名,在“Location” 处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”,然后在“File” 处输入 C/C++源程序的文件名。 步骤4:将清单 1-1 所示的程序清单复制到新创建的 C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的 debug 子目录,执行编译好的可 (2)创建进程 本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程 ID和它在进程列表中的位置。 步骤1:创建一个“Win32 Consol Application”工程,然后拷贝清单 1-2 中的程序编译成可执行文件。 步骤2:在“命令提示符”窗口运行步骤 1 中生成的可执行文件,列出运行结果。按下ctrl+alt+del,调用 windows 的任务管理器,记录进程相关的行为属性。 步骤3:在“命令提示符”窗口加入参数重新运行生成的可执行文件,列出运行结果。按下ctrl+alt+del,调用 windows 的任务管理器,记录进程相关的行为属性。 (3)父子进程的简单通信及终止进程

Linux操作系统实验指导书

《Linux系统管理与维护》实验指导书 实验一初识Linux操作系统 一实验名称 初识Linux操作系统 二实验目的与要求 掌握Linux的启动、登录与注销。 三实验内容 1.以root用户和普通用户两种不同身份登录Linux,说出其登录后得差异。 2.图形模式下的注销、重启与关机。 3.学会在虚拟机上登录和注销Linux。 四操作步骤与结果分析 五问题与建议

实验二Linux的桌面应用 一实验名称 Linux的桌面应用 二实验目的与要求 熟悉Linux操作系统桌面环境 熟悉Linux文件系统及常用的操作 掌握Linux下使用外部存储设备、网络设备 掌握Linux下安装应用程序 三实验内容 1.查看GNOME提供的“应用程序”、“位置”或者“系统”菜单,运行其中的应用程 序和工具。 2.查看Linux文件目录结构,学会常用的文件目录操作,如复制、粘贴、移动、删 除、更名、创建文档、创建文件夹等。 3.练习在Linux下使用光盘和U盘。 4.学会网络配置,使计算机能够进行网络浏览等操作。 5.学会在Linux下安装新的应用软件。 四操作步骤与结果分析 五问题与建议

实验三Linux操作系统的安装 一实验名称 Linux操作系统的安装 二实验目的与要求 掌握安装Linux操作系统 三实验内容 1.通过学习《项目五Linux操作系统的安装及远程服务》的内容,学会如何安装Linux。 环境:windows 系统、vmware虚拟机、Redhat Linux镜像光盘。 通过安装向导将安装分为两步:1、基本安装,2、配置及具体安装。 在第一阶段重点如何分区,在第二阶段重点掌握如何设置密码及安装桌面环境。四操作步骤与结果分析 五问题与建议

43316341操作系统课程设计指导书113301-113302

设计题目1 进程调度算法 1.1 设计目的 进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程状态转换,它提供了在可运行的进程之间复用CPU的方法。在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不同调度算法的优缺点。 下面回顾一下进程管理的相关内容。 1.1.1 进程控制块 为了管理和控制进程,系统在创建每一个进程时,都为其开辟一个专用的存储区,用以随时记录它在系统中的动态特性。而当一个进程被撤消时,系统就收回分配给它的存储区。通常,把这一存储区称为该进程的“进程控制块”(Process Control Block)。 由于PCB是随着进程的创建而建立,随着进程的撤消而取消的,因此系统是通过PCB 来“感知”一个个进程的,PCB是进程存在的唯一标志。 随操作系统的不同,PCB的格式、大小以及内容也不尽相同。一般地,在PCB中大致应包括如下4方面的信息。 ·标识信息:进程名等。 ·说明信息:进程状态、程序存放位置、数据存放位置等。 ·现场信息:通用寄存器内容、控制寄存器内容、断点地址等。 ·管理信息:进程优先数、队列指针等。 1.1.2 进程控制块队列 在多道程序设计环境里,同时会创建多个进程。当计算机系统只有一个CPU时,每次只能让一个进程运行,其他的进程或处于就绪状态,或处于阻塞状态。为了对这些进程进行管理,操作系统要做三件事。 (1)把处于相同状态的进程的PCB,通过各自的队列指针链接在一起,形成一个个队列。通常有运行队列、就绪队列、阻塞队列。 (2)为每一个队列设立一个队列头指针,它总是指向排在队列之首的进程的PCB。 (3)排在队尾的进程的PCB,它的“队列指针”项内容应该为“NULL”,或一个特殊的符号,以表示这是该队的队尾PCB。 在单CPU系统中,任何时刻都只有一个进程处于运行状态,因此运行队列中只能有一个PCB;系统中所有处于就绪状态的进程的PCB排成一队,称其为“就绪队列”。一般地,就绪队列中会有多个进程的PCB排在里面,它们形成处理机分配的候选对象。如果就绪队列里没有PCB存在,则称该队列为空;所有处于阻塞状态进程的PCB,应该根据阻塞的原因进行排队,每一个都称为一个“阻塞队列”。比如等待磁盘输入/输出进程的PCB排成一个队列,等待打印机输出进程的PCB排成一个队列等。所以,系统中可以有多个阻塞队列,每个阻塞队列中可以有多个进程的PCB,也可以为空。

华科操作系统课设报告

华中科技大学操作系统课程设计实验报告 专业:计算机科学与技术 班级:1101 姓名:许阳 学号:U201014241

一、实验目的 掌握Linux操作系统的使用方法; 了解Linux系统内核代码结构; 掌握实例操作系统的实现方法。 二、实验要求 1、掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux 下的编程环境。 ●编一个C程序,其内容为实现文件拷贝的功能; ●编一个C程序,其内容为分窗口同时显示三个并发进程的运行结 果。要求用到Linux下的图形库。 2、掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用。 另编写一个应用程序,调用新增加的系统调用。 实现的功能是:文件拷贝; 3、掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动 程序,其功能可以简单。 实现字符设备的驱动; 4、了解和掌握/proc文件系统的特点和使用方法 ●了解/proc文件的特点和使用方法 ●监控系统状态,显示系统中若干部件使用情况 ●用图形界面实现系统监控状态。 5、设计并实现一个模拟的文件系统(选作) 三、实验一 1、编一个C程序,其内容为实现文件拷贝的功能 要实现文件拷贝功能,主要用到的函数是open、write、read。 以前在windows下写C语言打开文件常用的fopen,此时不能用,因为fopen是ANSIC标准中的C语言库函数,在不同的系统中应该调用不 同的内核api ;所以应该直接使用linux中的系统函数open。 主要用到的头文件: Unistd.h \\包含了许多Linux系统服务的函数原型,如:read、write Fcntl.h \\定义了很多宏和open,fcntl函数原型 Stdio.h \\标准输入输出头文件 sys/types.h \\此头文件包含适当时应使用的多个基本派生类型sys/stat.h \\包含了获取文件属性的一些函数 errno.h \\用于调试错误代码是所需要的一些errno变量 string.h \\包含了处理字符串的一些函数

《计算机操作系统》实验指导书

《计算机操作系统》 实验指导书 (适合于计算机科学与技术专业) 湖南工业大学计算机与通信学院 二O一四年十月

前言 计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。 为了收到良好的实验效果,编写了这本实验指导书。在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。 实验成绩考核: 实验成绩占计算机操作系统课程总评成绩的20%。指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。有以下情形之一者,实验成绩为不及格: 1.迟到、早退、无故缺勤总共3次及以上者; 2.未按时完成实验达3次及以上者; 3.缺交实验报告2次及以上者。

操作系统课程设计指导书

操作系统课程设计 指导书

操作系统课程设计指导书 李晓东编 电子与信息工程学院计算机系 -9

一、课程设计的目的和意义 本课程设计是学生在学完了《操作系统》课程后,培养学生程序设计能力的一个重要教学环节。课程设计为学生提供了一个动手、动脑并独立实践的机会,有助于学生将教材的理论知识和实践相结合,从而锻炼学生分析问题、解决问题的能力,提高学生实际编写程序的能力,为学生学习计算机专业的后续课程打下良好基础。 本课程设计要求对操作系统的分析以加深对计算机硬件结构和系统软件的认识,初步掌握操作系统组成模块和应用接口的使用方法,提高进行工程设计和系统分析的能力,为毕业设计和以后的工程实践打下良好的基础。 本课程设计的主要目的: 1.熟悉并巩固《操作系统》的基本概念和基本理论,加强对操作系统有关原理的理解; 2.培养学生自主学习、独立思考的能力,学会查找资料并善于分析资料的能力; 3.培养学生严谨的工作作风,提倡互相学习培养团队精神; 4.提高学生独立设计、独立调试程序的能力; 5.初步养成良好的系统软件分析和设计能力,形成良好的编程风格。 二、本课程设计有关要求

基本要求: 1、巩固和加深对操作系统原理的理解,提高综合运用本课程 所学知识的能力。 2、培养学生选用参考书,查阅手册及文献资料的能力。培养 独立思考、深入研究、分析问题、解决问题以及团队协作能力。 3、经过实际操作系统的分析设计、编程调试,掌握系统软件 的分析方法和工程设计方法。 4、能够按要求编写课程设计报告书,能正确阐述设计和实验 结果、正确绘制系统和程序框图。 5、经过课程设计,培养学生严谨的科学态度,严肃认真的工 作作风,和团队协作精神。 具体要求: 1.认真阅读本课程设计指导书,明确课程设计的目的、意义和要求; 2.根据要求完成课程设计的系统开发和调试任务,提供可运行的课程设计系统,参加上机面试答辩。 3.根据学校有关格式要求,完成本课程设计的课程设计说明书。(必须绘制系统工作原理图及算法流程图) 重点: 本设计的重点是要求根据任务要求,确定操作系统有关算法并加以实现,注重实际应用能力的培养。

操作系统课程设计报告

操作系统课程设计实验报告 实验名称:进程控制 姓名/学号: 一、实验目的 学习、理解和掌握Linux与windows的进行控制系统调用的功能,熟悉主要的几个系统调用命令的格式和如何利用系统调用命令进行编程。通过学习,理解如何创建一个进程、改变进程执行的程序、进程和线程终止以及父子进程的同步等,从而提高对进程和线程控制系统调用的编程能力。 二、实验内容 设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。 三、实验环境 CPU: Inter ×2 2.10GHz RAM: 3.00GB Windows 7 旗舰版 Linux Ubuntu 10.04 编译: VS2010 四、程序设计与实现 4.1进程控制系统的调用 4.1.1 windows进程控制调用程序中使用的数据结构及主要符号说明 SYSTEMTIME starttime,endtime; //进程开始时间和结束时间 PROCESS_INFORMATION pi //该结构返回有关新进程及 //其主线程的信息 STARTUPINFO si //该结构用于指定新进程的主窗口特性4.1.2 linux进程控制调用程序中使用的数据结构及主要符号说明 struct timeval starttime,endtime //进程开始时间和结束时间 pid_t pid //进程标志符

4.2 程序流程图 图1 windows进程控制调用图2 linux进程控制调用程序运行流程图程序运行流程图 五、实验结果和分析 5.1 windows实验结果和分析

Linux操作系统实验指导书-4磁盘

《Linux操作系统》实验指导书

实验四 实验题目:磁盘管理 实验目的:熟悉并掌握磁盘管理常用命令;掌握利用虚拟机增加新硬盘,使用fdisk对磁盘分区操作;熟悉和了解磁盘显示信息内容;掌握使用卷组进行磁盘管理操作。 实验类型:综合 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤: 1,使用GUI方式建立用户user01,具体属性如下: 登录shell为/bin/bash, 主目录/user01, 用户id: 520, 用户组grp01 2,使用修改配置文件方式建立用户user02,具体属性如下: 登录shell为/bin/bash, 主目录/user02, 用户id: 530, 用户组grp02 3,使用命令方式建立用户user03,具体属性如下: 登录shell为/bin/bash, 主目录/user03, 用户id: 530, 用户组grp03,附属组grp02 4,对user01,user02,user03,设置密码并登录。 一、磁盘和分区信息查看 1 fdisk查看当前系统硬盘及分区情况,在实验报告中说明当前的磁盘容量,分区数量、名称和大小,分区挂载点,分区使用方式(卷组名称、逻辑卷名称和大小)。 步骤:fdisk –l 2 显示当前文件系统使用情况,在实验报告中说明当前主要文件系统信息及使用情况(包括主要文件系统名称、挂载点、容量、使用量及百分比等)

步骤:df –h 二、添加新硬盘 内容:关闭虚拟机操作系统,添加2块硬盘,大小分别为5G和10G。开机后查看新硬盘是否成功添加。 步骤: 1 关机:init 0 2 添加新硬盘:右键单击虚拟机,选择setting(设置)。在Add中按照要求添加2块新硬盘(HardDisk) 3 开机后,打开终端。输入命令fdisk –l 或ls /dev/sd*查看新硬盘是否添加成功。 三、对新添加硬盘进行分区 内容: 1. 将第二块硬盘sdb分区(5G),要求分区1(sdb1)为主分区,类型为swap (82),大小为500M;分区2(sdb2)为主分区,类型为linux(83),大小为2G;分区3为扩展分区(sdb3),大小为sdb所有剩余容量;分区5为逻辑分区,类型为lvm(8e),大小为2G。分区后,查看sdb新添加所有分区,将截图添加到实验报告中。 2. 将第三块硬盘sdc分区(10G),要求分区1(sdc1)为扩展分区,大小为10G;

指导书-《操作系统课程设计》-09软件工程(1-5班)

附件5: 课程设计指导书 一、课程设计目的 《操作系统》是计算机专业的一门专业基础课,主要内容是介绍操作系统的原理和策略;《操作系统课程设计》是在学生学习完该课程以后(或学习过程中)进行的设计性实验课程,目的是使学生加深理解操作系统中的策略与思想,并能编程实现。 课程设计的项目中,包含了若干子项目,分别设计实现这些子项目和算法策略,并用程序模拟运行。这种训练把知识获取和项目实践二者有机结合,增强对课程内容的理解和掌握,并获得有关项目管理和团队合作等方面的训练和经验。 二、课程设计主要内容及要求 任务一:信号量控制线程同步 该任务含两个程序的设计与编写,程序1同步两个线程,其一输出奇数,另一线程输出偶数,且二者交叉数据输出;程序2实现男女共用浴室的情况下的同步与互斥,男女到达浴室的时间数据放在文本文件。对于给定的输入文件,观察测试输出结果的正确性。 课时4个学时。 任务二:程序模拟存储管理之“伙伴系统”算法 设计与编写程序实现动态内存管理之“伙伴系统”算法。初始内存的大小(必须是2的幂)、申请内存的进程大小及次序等数据放在文本文件中。对于给定的输入文件,输出进程申请与退出每步的内存分配状态。 课时4个学时。

任务三:老化算法模拟分页系统 设计与编写程序使用老化算法模拟一个分页系统。页面访问序列从文件(文本文件)中读取。对于一个给定的输入文件,列出每1000个内存访问中发生缺页中断的 数目。 课时4个学时。 任务四:使用工具分析Windows之NTFS文件系统 使用WinHex工具分析当前操作系统(通常是Windows XP)的NTFS或FAT32文件系统组织方式。(具体要求随后提供。) 课时2-4个课时。 三、课程设计基本步骤及进度安排 1.学生分组(建议2-4人一组)、了解课程要求及熟悉任务一。(第10周) 2.完成任务一的程序设计、编写与测试工作。(第11周) 3.开始任务二的程序设计工作。(第12周) 4.完成任务二的程序设计、编写与测试工作。(第13周) 5.开始任务三的程序设计工作。(第14周) 6.完成任务三的程序设计、编写与测试工作。(第15周) 7.熟悉任务四所使用的工具WinHex,并分析当前电脑的操作系统,以任一 文件为实例分析文件系统的管理组织机制。(第16周) 8.编写课程设计报告并进行答辩。(第17周) 详情见“实践教学日历” 四、考核方法: 按学院要求进行考核,打分: 1、平时成绩。包括课堂出勤情况、文档提交情况等内容。占总成绩的

相关文档