操作系统实验指导书(LINUX版)

合集下载

计算机操作系统实验指导linux版,操作系统实验指导书(linux版).doc

计算机操作系统实验指导linux版,操作系统实验指导书(linux版).doc

计算机操作系统实验指导linux版,操作系统实验指导书(linux版).doc操作系统实验指导书(linux版)《操作系统》实验指导书实验学时:16适⽤专业:计算机科学与技术实验⼀:进程和线程的创建1. 在linux下编写⼀个应⽤程序,命名为an_ch2_1b。

这个程序不断地输出如下⾏:Those output come from child,[系统时间]另外写⼀个应⽤程序,命名为an_ch2_1a。

这个程序创建⼀个⼦进程,执⾏an_ch2_1b。

这个程序不断地输出如下⾏:Those output come from child,[系统时间]观察程序运⾏的结果,并对你看到的现象进⾏解释。

2。

在linux环境下编写⼀个控制台应⽤程序,程序中有⼀个共享的整型变量shared_var,初始值为0;创建⼀个线程并使其⽴即与主线程并发执⾏。

新创建的线程与主线程均不断地循环,并输出shared_var 的值。

主线程在循环中不断地对shared_var 进⾏加1操作,即每次循环shared_var 被加1;⽽新创建的线程则不断地对shared_var 进⾏减1 操作,即每次循环shared_var 被减1。

观察程序运⾏的结果,并对你看到的现象进⾏解释。

3。

提交源代码以及实验报告。

实验⼆:进程和线程同步和互斥1。

⽣产者消费者问题(信号量)参考教材中的⽣产者消费者算法,创建5个进程,其中两个进程为⽣产者进程,3个进程为消费者进程。

⼀个⽣产者进程试图不断地在⼀个缓冲中写⼊⼤写字母,另⼀个⽣产者进程试图不断地在缓冲中写⼊⼩写字母。

3个消费者不断地从缓冲中读取⼀个字符并输出。

为了使得程序的输出易于看到结果,仿照阅读材料中的实例程序,分别在⽣产者和消费者进程的合适的位置加⼊⼀些随机睡眠时间。

可选的实验:在上⾯实验的基础上实现部分消费者有选择地消费某些产品。

例如⼀个消费者只消费⼩写字符,⼀个消费者只消费⼤写字母,⽽另⼀个消费者则⽆选择地消费任何产品。

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

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

《Linux实用操作系统》课程实验指导书实验一、Red Hat Linux系统安装一、实验目的:1.掌握虚拟机软件VMWare的使用。

2.掌握Linux安装过程中的分区方法。

3.掌握Linux操作系统的安装和配置过程。

二、实验内容:安装red hat linux操作系统。

三、实验要求:一台pc机,Redhat 9.0,VMWare虚拟机软件。

四、实验课时2课时五、实验指导安装步骤如下:1.通过虚拟机VMWare开始安装RedHat9。

2.语言选择。

3.键盘配置。

4.鼠标配置。

5.选择安装还是升级。

6.安装类型。

7.磁盘分区设置。

8.系统配置。

9.选择引导装载程序。

10.配置联网。

11.防火墙配置。

12.安装并支持多种语言。

13.时区选择。

14.设置根口令。

15.选择软件包。

16.选择单个软件包。

17.安装软件包。

18.创建引导盘。

19.安装完成。

20.引导系统。

21.第一次启动运行,输入登陆用户和密码,登录系统。

实验二、linux常用命令一、实验目的:了解liunx的基本命令,熟练掌握其基本操作。

二、实验内容:1.操作linux常用命令。

2.查看命令执行后的结果。

3.完成相应的实验报告。

三、实验要求:一台pc机,Redhat 9.0,VMWare虚拟机软件。

四、实验课时4课时五、实验指导1.进入linux终端。

实验三、X Window系统一、实验目的:1.了解并掌握GNOME使用方法。

2.了解并掌握KDE使用方法。

二、实验内容:1.使用GNOME和KDE。

2.操作两种桌面环境下的常用软件。

3.对比两种桌面环境的不同。

三、实验要求:一台pc机,Redhat 9.0,VMWare虚拟机软件四、实验课时2课时五、实验指导1.配置X Window。

在如图所示的“X配置”窗口上选择“配置X窗口系统”按钮配置X 的第一步是选择默认的色彩深度和分辨率。

从相应的下拉菜单中选择它们。

确定指定与视频卡和显示器兼容的色彩深度及分辨率。

linux-实验指导手册-常用命令

linux-实验指导手册-常用命令

实验一Linux常用命令(一)1、Shell环境和Shell命令格式如果实验用计算机上Linux以图形方式启动,登录系统后打开终端窗口。

方法:桌面:右键菜单-Terminal(终端);或:主菜单-系统工具-Terminal(终端)。

命令格式:command [-option(s)] [option argument(s)] [command argument(s)]步骤1:使用who命令步骤2:使用date命令步骤3:使用上下健提取历史命令who,执行。

2、文件系统操作命令(1)改变目录命令:cd 目标目录路径步骤1:使用绝对路径依次进入Linux根目录下的所有子目录。

例如:cd /usr/bin步骤2:使用绝对路径依次进入用户目录。

步骤3:使用相对路径进入子目录1)使用绝对路径进入/lib目录2)使用相对路径进入/lib/i868目录3)使用相对路径退回到/lib目录(2)列出并观察目录中的文件步骤1:进入任意目录,使用无参数ls命令列出并观察其中所有文件;步骤2:进入任意目录,使用通配符列出其中部分文件;例如:cd /binls c*步骤3:使用-l选项,列出目录中文件的各种属性,并观察识别这些属性。

步骤4:直接列出子目录中的文件。

例如:ls i868步骤5:仅列出子目录本身(-d)步骤6:使用-F选项,显示文件类型标志。

步骤7:使用-a或-A选项,观察结果有什么变化。

步骤8:综合使用以上选项。

(3)目录的创建与删除步骤1:在用户目录中,使用相对路径创建一个任意名称的目录,如“tmp”。

mkdir tmp步骤2:删除该目录rmdir tmp步骤3:在根目录中,使用绝对路径在用户命令中创建一个子目录。

mkdir ~/tmp步骤4:删除该目录rmdir ~/tmp步骤5:使用-p参数一次创建多级目录。

如:mkdir ~/tmp/dir1步骤6:使用-p参数删除多级目录。

如:cd ~rmdir tmp/dir1(4)文件和目录拷贝命令:cp步骤1:从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中mkdir ~/tmpcp /usr/include/signal.h ~/tmp步骤2:从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中,并改变其文件名。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书实验概述本次操作系统实验是为了让学生通过实践了解操作系统的基本概念,原理和使用。

通过完成实验,学生将了解操作系统内核,进程调度,文件系统和输入输出等关键组成部分。

实验环境实验要求使用 Linux 操作系统,可以选择任意一种 Linux 发行版。

可以在物理机上安装 Linux,也可以使用虚拟机软件(如 VirtualBox)来运行 Linux 虚拟机。

实验准备在进行实验之前,需要完成以下准备工作:1.安装 Linux 操作系统(如 Ubuntu、Fedora 等)或虚拟机软件(如VirtualBox)。

2.熟悉 Linux 基本命令和操作,包括文件操作、进程管理等。

实验内容本次操作系统实验分为以下几个部分:1. 实验一:进程管理本部分实验要求学生了解进程管理的基本概念和原理,掌握进程创建、终止和状态转换等操作。

学生需要完成以下任务:•编写一个简单的 C 程序,实现进程的创建、终止和状态转换功能。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析进程的状态转换过程。

2. 实验二:进程调度本部分实验要求学生了解进程调度算法的原理和实现方法,掌握优先级调度、轮转调度和最短作业优先调度等算法。

学生需要完成以下任务:•编写一个简单的 C 程序,模拟进程调度算法的执行过程。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析不同调度算法对进程执行顺序的影响。

3. 实验三:文件系统本部分实验要求学生了解文件系统的基本概念和实现原理,掌握文件的创建、读写和删除等操作。

学生需要完成以下任务:•编写一个简单的 C 程序,实现文件的创建、读写和删除功能。

•使用 Linux 命令行工具编译、运行和调试 C 程序。

•观察和分析文件系统的存储结构和操作过程。

4. 实验四:输入输出本部分实验要求学生了解操作系统的输入输出机制和设备驱动程序的原理和实现方法,掌握文件读写、设备驱动和错误处理等操作。

LINUX系统实验指导书

LINUX系统实验指导书

《 LINUX系统级应用》课程实验指导书一.实验总学时(课外学时/课内学时):4/6 总学分:2.5(课程)必开实验个数: 4 选开实验个数:2二.适用专业:计算机网络技术(专科)三.三.考核方式及办法:在规定实验时间内完成实验要求,依据实验过程及实验结果在实验现场逐一检查考核。

四.配套的实验教材或指导书:自编实验指导书五. 实验项目:实验1 UNIX基本操作1、实验目的掌握UNIX(LINUX)系统的基本使用方法:系统启动、注销、关闭和关机;帐号管理;文件系统的日常管理;文件系统的权限控制。

2、实验工具及环境UNIX(LINUX)系统网络环境或单机。

3、实验计划学时4学时上机实际操作。

4、实验内容及操作步骤⑴系统启动和关闭①使用自己的账户登录UNIX系统,查看系统提示符确定自己使用的shell程序类型别。

◎开机后,系统自检启动后提示login:(输入:root↙)password:(输入:用户口令↙,root用户为redhat)◎查看/etc/passwd文件可以获得用户使用的shell#grep $LOGNAME /etc/passwd↙可能的显示为:user001:*:200:50::/usr/user001:/bin/sh请思考上述命令怎样得到了当前使用的shell类型的?使用下面的命令也可以查看当前shell:#echo $SHELL②注销和关机命令。

◎用户注销使用:$exit↙或$<ctrl>+<D>↙或$logout↙◎超级用户关机使用:#shutdown↙该命令将结束所有的进程,当执行此命令后系统提示“Safe to Power off or Press Any Key to Reboot”时可以关闭电源或按任一键重启系统。

◎haltsys(halt),reboot只能由超级用户在单用户模式下使用。

⑵帐号管理①添加用户,删除用户,修改个人口令后重新进行登录;◎添加用户的shell命令:#useradd user08↙(Linux系统中可以为adduser)上述命令采用默认属性,UNIX也可以使用选项来指定创建帐户的属性:-c comment用户说明-d directory 指定用户主目录-m 若用户的起始目录不存在则创建-g group指定用户所属组-s shell 指定用户使用的shell-u uid为用户分配标识◎修改口令对linux系统而言,用adduser增加的用户应该随即用passwd命令来修改口令。

Linux操作系统实习指导书

Linux操作系统实习指导书

Linux操作系统实习指导书一、实训目的重点强化shell编程的多种数值计算、条件测试与比较、if语句、case语句以及数组的应用。

重点强化while、for、until循环语句的运用。

二、实训内容【实训1.1】编写一个shell脚本,判断登录的用户是否是某个账号。

#!/bin/bash# 判断登录的用户是否是fz# cut 以某种方式按照文件的行进行分隔# -d自定义分隔符,默认为制表符# -f 与-d一起使用,指定显示哪个区域。

test=$(env | grep "USER" | cut -d "=" -f 2)if [ "$test" == fz ]thenecho "Current user is fz."elseecho "Current user is not fz."fi【实训1.2】编写一个shell脚本,判断分区使用率。

#!/bin/bash# 用来判断sda2这个盘的使用率# 注意awk命令及cut命令的用法及区别,务必熟练test=$(df -h | grep sda2 | awk '{print $5}' | cut -d "%" -f 1)if [ $test -ge 8 ];thenecho "/ is full"elseecho "/ is not full"fi【实训1.3】判断输⼊的是否是⼊个⼊录。

#!/bin/bashread -t 30 -p "Please input a directory: " dirif [ -d "$dir" ]thenecho "$dir is a directory"elseecho "$dir is a not directory"fi【实训1.4】编写一个shell脚本,判断用户输入的是什么文件。

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

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

# 根据实际情况修改(红色处改为自己的学号后两位)。
eth1 的配置如下:(/etc/sysconfig/network-scripts/ifcfg-eth1) DEVICE=eth1 BOOTPROTO=dhcp ONBOOT=yes
(2)配置 DHCP 服务器(/etc/dhcpd.conf) ddns-update-style interim;
# service network restart (2)安装 samba 文件
(A)检测系统内部是否已经安装好 samba 文件 # rpm -qa | grep samba
(B)如果显示类似如下的版本信息,则证明系统内已经安装好 samba 服务 samba-common-3.0.33-3.14.el5
4、实验步骤 (1)配置两块网卡 eth0 和 eth1(均使用 bridge 方式连接)
eth0 的配置如下:(/etc/sysconfig/network-scripts/ifcfg-eth0)
DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.16.1 NETMASK=255.255.255.0 ONBOOT=yes
# getenforce 如果输出“Enforcing”,则输入下面的命令
# setenforce 0 (B)通过 Windows 访问 Linux
右击“我的电脑”,左键单击映射网络驱动器,在文件夹方框内按如下格式填写
\\192.168.0.253\share 如果下次需要映射其它用户的文件,可以先断开原来的映射,然后通过修改“其它
# smbclient -L //192.168.0.1 -U 用户 1 # 列出用户 1 的所有共享信息 # smbclient //192.168.0.1/共享名 - U 用户 1 # 访问用户 1 的“共享名”目录

Linux操作系统-实验1-环境搭建-指导书-PPT版本-V1

Linux操作系统-实验1-环境搭建-指导书-PPT版本-V1

Linux操作系统第一章:Linux简介与系统安装实验一:实验环境搭建一台宿主机(Windows系统)加两台虚拟机(Desktop+Server)要求:(1)掌握VMware虚拟机的安装(2)利用VMware虚拟机安装Ubuntu Linux18.04桌面版操作系统(3)利用VMware虚拟机安装Ubuntu Linux18.04服务器版操作系统(4)从宿主机登录桌面环境和服务器环境(SSH登录)(5)练习涉及到的基本命令,如apt-get、ifconfig、ssh等(6)练习vim编辑文件基本操作等Tips:(1)绘制网络拓扑图(2)把遇到的问题和如何解决记录下来。

实验环境设置☐宿主机(Windows)•网络配置VMware Network Adapter(VMnet8)☐客户机•Ubuntu-Server(ubuntu-18.04.6-live-server-amd64)•Ubuntu-Desktop(ubuntu-18.04.6-desktop-amd64)虚拟机安装安装时网络类型选择NAT方式安装完成后的两台Ubuntu虚拟机宿主机:Windows记录宿主机IP地址客户机1:Ubuntu-Server命令行模式记录IP:192.168.126.130客户机2:Ubuntu-Desktop图形化操作方法记录IP:192.168.126.131NAT模式宿主机:Windows192.168.126.1192.168.126.130192.168.126.131客户机1:Ubuntu-Server客户机2:Ubuntu-DesktopSSH服务1.安装SSH服务2.启动SSH服务3.配置SSH服务(可选)4.验证SSH服务Desktop版客户机安装SSH服务Desktop版客户机安装SSH服务:sudo apt-get install openssh-serverDesktop版客户机启动SSH服务: sudo systemctl start sshDesktop版客户机启动SSH服务: sudo systemctl start sshDesktop版客户机端修改SSH配置文件:端口22修改为1022 vi /etc/ssh/sshd_configSSH验证-从宿主机连接Desktop客户机2: ********************.126.131SSH验证-从宿主机连接Server版客户机1: ***********************.126.130Desktop版客户机查看SSH状态:记录监听端口和连接情况Server版客户端1查看SSH状态Desktop版客户机安装 net-tools:sudo apt-get install net-toolsDesktop版客户机查看IP地址: ifconfigDesktop版客户机查看网络连接情况:Netstat -aServer版客户机查看网络连接情况:Netstat -a。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《操作系统》实验指导书
实验学时:16
适用专业:计算机科学与技术
实验一:进程和线程的创建
1.在linux下编写一个应用程序,命名为an_ch2_1b。

这个程序不断地输出如下行:Those output come from child,[系统时间]
另外写一个应用程序,命名为an_ch2_1a。

这个程序创建一个子进程,执行an_ch2_1b。

这个程序不断地输出如下行:
Those output come from child,[系统时间]
观察程序运行的结果,并对你看到的现象进行解释。

2。

在linux环境下编写一个控制台应用程序,程序中有一个共享的整型变量shared_var,初始值为0;创建一个线程并使其立即与主线程并发执行。

新创建的线程与主线程均不断地循环,并输出shared_var的值。

主线程在循环中不断地对shared_var进行加1操作,即每次循环shared_var被加1;而新创建的线程则不断地对shared_var进行减1操作,即每次循环shared_var被减1。

观察程序运行的结果,并对你看到的现象进行解释。

3。

提交源代码以及实验报告。

实验二:进程和线程同步和互斥
1。

生产者消费者问题(信号量)
参考教材中的生产者消费者算法,创建5个进程,其中两个进程为生产者进程,3个进程为消费者进程。

一个生产者进程试图不断地在一个缓冲中写入大写字母,另一个生产者进程试图不断地在缓冲中写入小写字母。

3个消费者不断地从缓冲中读取一个字符并输出。

为了使得程序的输出易于看到结果,仿照的实例程序,分别在生产者和消费者进程的合适的位置加入一些随机睡眠时间。

可选的实验:在上面实验的基础上实现部分消费者有选择地消费某些产品。

例如一个消费者只消费小写字符,一个消费者只消费大写字母,而另一个消费者则无选择地消费任何产品。

消费者要消费的产品没有时,消费者进程被阻塞。

注意缓冲的管理。

2。

用线程实现睡觉的理发师问题,(同步互斥方式采用信号量或mutex方式均可)
理发师问题的描述:一个理发店接待室有n张椅子,工作室有1张椅子;没有顾客时,理发师睡觉;第一个顾客来到时,必须将理发师唤醒;顾客来时如果还有空座的话,他就坐在一个座位上等待;如果顾客来时没有空座位了,他就离开,不理发了;当理发师处理完所有顾客,而又没有新顾客来时,他又开始睡觉。

3。

读者写者问题
教材中对读者写者问题算法均有描述,但这个算法在不断地有读者流的情况下,写者会被阻塞。

编写一个写者优先解决读者写者问题的程序,其中读者和写者均是多个进程,用信号量作为同步互斥机制。

4。

提交源代码以及实验报告。

实验三:实现一个文件查找程序
仿照unix操作系统中的find命令,在实现一个myfind命令。

myfind命令从指定的目录下开始,递归地查找指定文件。

其命令格式如下:
myfind PATH-option参数[-print][-exec命令{}\;]
PATH:查找的起始目录。

-option参数:用来控制搜索方式,具体如下(以下只给我常用的):
-name"文件":指定要查找的文件名,可以有通配符?*等。

-prune目录:指出搜索时不搜索该目录。

-mtime+n或-n:按时间搜索,+n:表示n天之前修改过的文件;-n:表示今天到n天前之间修改过的文件。

-ctime+n或-n:也是按时间查找,+n:表示n天之前创建的文件;-n:表示今天到n天前之间创建的文件。

-print:将搜索结果输出到标准输出。

可选的实验1:实现-exe选项。

-exec:对查找到的每一个结果实行指定的程序。

格式如下:
-exec程序名
提示:执行指定的程序可以创建一个进程执行
可选的实验2:
将你实现的myfind命令改为用多线程的方式实现。

比较多线程实现的myfind与单线程实现的myfind的执行结果、效率等,并在实验报告中给出你的解释。

3、提交源代码以及实验报告。

实验四:实现一个unix命令解释程序
1.在linux中实现一个命令执行程序doit,它执行命令行参数中的命令,之后统计1)命令执行占用的CPU时间(包括用户态和系统态时间,以毫秒为单位),
2)命令执行的时间,
3)进程被抢占的次数,
4)进程主动放弃CPU的次数,
5)进程执行过程中发生缺页的次数
2.在linux中实现一个简单的命令解释程序,功能要求:
1)同时支持内部命令和外部命令,内部命令支持两个(cd、exit)
2)支持后台命令
提示:实验中可能用到的系统调用如下:
•fork()—创建一个新进程
•getrusage()—取得进程的资源使用情况
•gettimeofday()—取当前的时间
•execve()—装入一个程序并执行
•wait()—等待子进程结束
•chdir()—改变进程的工作目录
•strtok()—字符串解析
3、提交源代码以及实验报告。

相关文档
最新文档