1 操作系统实验
实验内容
实验项目一 熟悉 Linux 常用命令
该实验主要让学生练习 Linux 操作系统的安装,并练习常用的 Linux 命令,能熟练通
过命令的方式操作该系统。
实验项目二 Linux 下进程应用
该实验主要让学生练习 Linux 下进程的产生及终止,巩固所学理论知识。练习 fork()系
统调用。要求:
(1)编写一段程序,使用系统调用 fork 创建两个进程。各进程显示不同的信息,如:
父进程显示“A”,子进程分别显示字符“B”、“C”。多次运行,观察显示结果,并分析原因。
(2)写一个程序,输出自己的姓名和学号,并编译生成可执行文件 test。在(1)的基础上,
让子进程执行 test 程序。
(3)设计一个程序,使子进程变为僵尸进程,并利用 ps -awx 命令查看进程状态。
(4)写一个程序,父进程利用 wait 函数等待撤销子进程。查看结果,分析 wait 处理过程。
实验项目三 进程间管道通信
该实验让学生利用有名管道、无名管道完成进程间的通信。(1)编写程序实现进程间的
管道通信,由父进程建立管道,并使用 fork()创建一个子进程,父进程向管道中写入信息
(自己的姓名,学号),子进程从管道中读出内容,并在终端显示。
(2)编写程序实现进程间有名管道通信,编写两个程序:fread.c、fwrite.c,fread.c 负责
建立有名管道,并从键盘输入信息,将信息写入有名管道;fwrite.c 负责从有名管道读取信
息,并在终端显示。
实验项目四 进程间共享内存通信
该实验让学生利用共享内存完成进程间的通信,要求结合信号量,实现对共享内存的
互斥访问。要求:编写程序实现进程间共享内存通信。建立一个生产者进程,一个消费者
进程,生产者进程程序 shm1.c,消费者进程程序 shm2.c。生产者进程将会创建一个共享内
存,并向其写入数据,消费者进程负责显示共享内存中的数据。
实验项目五 存储管理实验
该实验主要让学生通过对请求页式管理中页面置换算法的模拟设计,了解虚拟存储技
术的特点。
实验项目六 磁盘调度实验
该实验让学生了解磁盘调度算法。要求:从键盘输入等待服务队列的先后顺序(磁道
号),输入磁头的移动方向和磁头当前所在的磁道。分别利用 FCFS、SCAN、CSCAN 磁
盘调度算法:
(1)计算磁头的移动序列
(2)计算磁头移动的总距离