操作系统实验指导说明

合集下载

操作系统实验指导书

操作系统实验指导书

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

四.配套的实验教材或指导书:自编实验指导书五. 实验项目:实验1 SHELL命令的使用1、实验目的通过对LINUX的系统启动、注销、关闭和关机,帐号管理,文件系统的日常管理,文件系统的权限控制等常用基本命令的使用及与Windows下DOS SHELL的比较,了解现代操作系统SHELL的特点和功能。

了解编辑器vi的使用方法。

2、实验工具及环境LINUX系统网络环境或单机,Windows系统网络环境或单机。

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

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 Keyto Reboot”时可以关闭电源或按任一键重启系统。

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

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书实验⼀操作系统⽤户接⼝实验⼀、实验⽬的熟悉操作系统的命令接⼝、图形⽤户接⼝和程序接⼝。

⼆、实验内容:1、使⽤操作系统的命令接⼝。

使⽤Windows常⽤命令:dir 、md、copy、date、help,显⽰这些命令的结果,并解释这些命令的作⽤。

图1-1 命令控制台图1-2 windows常⽤命令图1-3 windows常⽤命令图1-4 windows常⽤命令使⽤图1-5 windows常⽤命令使⽤2、使⽤操作系统的程序接⼝。

VB环境下:编制⼀⼩程序,使其可通过某个系统调⽤来获得os 提供的某种服务,如打开控制⾯板:Shell "rundll32.exe Shell32.dll,Control_RunDLL", 1VC环境下:⽤C语⾔编制⼀个⼩程序,使其可通过Localtime( )系统调⽤来获得OS提供的时间和⽇期。

3、使⽤操作系统的图形⽤户接⼝(略)。

三、思考:OS向⽤户提供的命令接⼝、图形⽤户接⼝和程序接⼝分别适⽤于哪些场合?实验⼆进程创建与撤消⼀、实验⽬的1、加深对进程概念的理解和进程创建与撤消算法;2、进⼀步认识并发执⾏的实质。

⼆、实验内容本实验完成如下三个层次的任务:(1)系统级—以普通⽤户⾝份认识windows的进程管理。

通过windows的“任务管理器”观察进程的状态,进⾏进程的创建、切换和撤销。

(2)语⾔级—以普通程序员⾝份认识⾼级语⾔VC++/Java/VB的进程创建与撤销⼯具。

(3)模拟级—以OS设计师⾝份编程模拟实现进程创建与撤销功能,并在屏幕上观察进程活动的结果。

三、实验步骤1、windows的进程管理当前状态图2-1 windows任务管理器切换前图2-2 windows任务管理器切换后图2-3 windows任务管理器撤销图2-4 windows任务管理器2、VC++进程创建与撤销⼯具Windows所创建的每个进程都从调⽤CreateProcess() API函数开始,该函数的任务是在对象管理器⼦系统内初始化进程对象。

操作系统实验指导书

操作系统实验指导书

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

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

实验环境实验要求使用 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. 实验四:输入输出本部分实验要求学生了解操作系统的输入输出机制和设备驱动程序的原理和实现方法,掌握文件读写、设备驱动和错误处理等操作。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书一、实验说明1、实验目的实验是操作系统原理课程中不可缺少的重要教学环节,实验目的是使学生理论联系实际,使学生在实践探索中去发现问题、去解决问题,提高了学生获取知识和应用技术的能力,培养了学生分析和解决问题的能力。

《操作系统原理》要求理论与实践相结合,本门实验课程是对《操作系统原理》课堂教学的一个重要补充,与理论学习起着相辅相成的作用,是实施《操作系统原理》教学的一个重要组成部分。

通过本实验课的实践学习,可以增强本专业的学生对系统实现的认识。

对加深理解和掌握操作系统相关原理有重要帮助。

2、实验要求进一步了解和掌握操作系统原理,提高系统设计的能力。

对每一实验题目,应独立完成,并要求:·上机前,学生必须做好充分的实验准备工作,掌握与实验相关的背景知识,用任一种高级语言编写程序。

·上机时,认真调试,并观察、记录程序运行过程中出现的现象和问题。

·上机后,分析实验结果并写出实验报告。

3、实验报告要求每个实验(包括选做的)均应编写实验报告,学生实验后要写出严谨的、实事求是的、文字通顺的、字迹公整的实验报告。

实验报告应包括以下内容:(1)实验题目(2)实验目的(3)实验内容●程序中使用的数据结构及符号说明●流程图●源程序清单并附上注释(4)实验结果及分析●运行结果(必须是上面程序清单所对应输出的结果)●对运行情况所作的分析以及本次调试程序所取得的经验。

如果程序未能通过,应分析其原因。

二、实验内容实验一熟悉使用计算机系统一、实验名称:熟悉使用计算机系统二、实验目的与要求通过对Windows操作系统的使用,熟悉Windows操作系统中的基本概念,如单用户、多任务、进程和文件等,熟悉Windows中命令行方式下常用命令的使用方法;进一步熟悉TC语言与开发环境,为以后的实验打好基础。

三、实验内容1.开机后,熟悉Windows的界面(桌面、任务栏、开始按钮<点击后出现“开始”菜单>、我的电脑图标、回收站、我的文档)。

操作系统实验指导书及代码

操作系统实验指导书及代码

操作系统实验指导书及代码《操作系统》实验指导书目录实验环境 ................................................. 1 实验报告要求 ............................................. 1 实验一进程控制与处理机调度综合实验 ..................... 2 实验二存储管理与页面置换算法 (7)实验环境本课程实验硬件环境为PⅢ以上的处理器,带有显示器。

操作系统使用windows98以上操作系统,基本编程环境为Turbo C。

实验报告要求实验报告应包含以下内容:(1)实验题目(2)实验目的(3)实验环境(4)算法描述(5)程序源代码(6)出现的问题(7)对问题的解决方案(8)实验结果与结果分析(9)实验思考(学生对本次实验的收获的总结)实验一进程控制与处理机调度综合实验一、实验目的通过模拟进程控制方法及单处理机系统的进程调度,了解进程的结构,进程的创建与撤消,进程的组织及进程的状态及其转换,掌握进程调度策略。

二、实验学时4学时三、实验内容本实验为单机模拟进程调度算法,在程序设计时不需真正地建立线程或者进程。

实验模拟创建若干进程(人为输入或随机数产生),选择一种或几种单处理机的进程调度算法,如FCFS(先来先服务),SPF(短进程优先),RR(时间片轮转法),优先级算法等,模拟进行进程调度。

每进行一次调度,都打印一次运行进程、就绪队列、以及各个进程的PCB,并能在进程完成后及时撤消该进程。

四、算法描述1 进程及进程的运行状态进程是现代计算机中的基本要素,是系统分配资源和调度的基本单位。

进程与程序不同,进程是系统中动态的实体,有它的创建、运行和撤销的过程。

PCB块是系统感知进程存在的唯一实体。

进程的创建必须首先创建进程的PCB块,而进程的运行也伴随着PCB块的变化,进城撤销也要同时撤销它的PCB块。

所以本实验的任务就是通过模拟调度进程的PCB块来调度进程。

《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或Windows。

其次,需要安装一些实验所需的软件和工具,例如编译器、调试器等。

此外,还需要准备一些实验材料,如实验手册、实验报告模板等。

二、实验目标每个操作系统实验都应该有明确的实验目标。

实验目标可以根据学生的实际情况和课程要求进行设定。

例如,可以通过实验来掌握进程管理、文件系统、内存管理等操作系统相关知识。

同时,实验目标应该具有可衡量性,可以通过实验结果来评估学生的实验成果。

三、实验内容1.进程管理实验:通过编写一个简单的多进程程序,来了解进程的创建、调度和终止等过程。

2.文件系统实验:通过创建、读写和删除文件,来了解文件系统的组织结构和基本操作。

3.内存管理实验:通过编写一个简单的分页存储管理程序,来了解分页存储管理的原理和实现方法。

4.设备管理实验:通过模拟设备的申请、释放和使用过程,来了解设备管理的原理和调度算法。

四、实验步骤每个操作系统实验都有具体的实验步骤,学生需要按照这些步骤进行实验。

以下是一些常见的实验步骤:1.实验环境准备:包括安装操作系统、配置软件和工具等。

2.实验预备:包括阅读实验手册、了解实验目标和要求等。

3.实验设计:根据实验目标和要求,设计实验方案和实验程序。

4.实验实施:按照实验方案和实验程序,进行实验操作并记录实验数据。

5.实验分析:根据实验数据,进行分析和总结,并得出实验结论。

6.实验报告:根据实验分析和总结,编写实验报告并提交。

五、实验评估实验结果的评估可以根据实验目标和要求来确定。

例如,如果实验目标是了解进程管理,可以通过观察进程的创建和调度情况来评估学生的实验结果。

实验报告的评估可以根据实验报告的内容和结构来确定。

操作系统实验指导书(新)

操作系统实验指导书(新)

目录实验一 WINDOWS进程初识 (3)1、实验目的 (3)2、实验内容和步骤 (3)3、实验结论 (5)4、程序清单 (5)实验二进程管理 (6)背景知识 (6)1、实验目的 (12)2、实验内容和步骤 (12)3、实验结论 (16)4、程序清单................... 错误!未定义书签。

实验三进程同步的经典算法 .. (17)背景知识 (17)1、实验目的 (19)2、实验内容和步骤 (19)3、实验结论 (22)4、程序清单................... 错误!未定义书签。

实验四存储管理 (23)背景知识 (23)1、实验目的 (31)2、实验内容和步骤 (31)3、实验结论 (48)4、程序清单................... 错误!未定义书签。

实验五文件和设备管理 (49)背景知识 (49)1、实验目的 (53)2、实验内容与步骤............. 错误!未定义书签。

3、实验结论................... 错误!未定义书签。

实验一WINDOWS进程初识1、实验目的(1)学会使用VC编写基本的Win32 Consol Application (控制台应用程序)。

(2)掌握WINDOWS API的使用方法。

(3)编写测试程序,理解用户态运行和核心态运行。

2、实验内容和步骤(1)编写基本的Win32 Consol Application步骤1:登录进入Windows,启动VC++ 6.0。

步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。

创建一个新的控制台应用程序工程。

步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。

操作系统实验指导1

操作系统实验指导1

操作系统实验指导书楚雄师范学院计算机科学系操作系统课程组2011-9-20第一部分操作系统上机指导Linux操作系统环境:RedHat Enterprise Linux ES release 3 (Taroon Update 1) (2.4.21-9.EL)Red Flag Linux release 4.0 (HOT) (2.4)登录到系统常用命令练习:用root账号(超级用户)注册,口令为jkxroot(注意大小写)。

注册成功出现#号(超级用户系统提示符,普通用户的系统提示符为$)。

注销(退出)系统:logout 或exit3.练习使用命令ls(注意Linux命令区分大小写。

)使用ls 查看当前目录内容;使用ls 查看指定目录内容,如/目录,/etc目录使用ls –all 查看当前目录内容;使用dir 查看当前目录内容4.使用cd改变当前目录cd .. 回到上层目录;cd / 回到根目录5.pwd 显示当前路径6.建立目录mkdirmkdir 目录名;mkdir /home/s2001/newdir7.删除目录:rmdir;8.复制文件cp:如cp 文件名1 文件名29.移动文件或目录: mv10.删除文件rm11. 显示文件内容:more (分页显示);12. 显示文件:cat 文件名建立文件:cat >文件名,ctrl+d结束输入使用编辑器vi 编辑文件进入linux的文本模式之后,在命令行键入vi filename.c 然后回车。

下面作一些简单的解释:首先vi命令是打开vi编辑器。

后面的filename.c是用户即将编辑的c文件名字,注意扩展名字是.c;当然,vi编辑器功能很强,可以用它来编辑其它格式的文件,比如汇编文件,其扩展名字是.s;也可以直接用vi打开一个新的未命名的文件,当保存的时候再给它命名,只是这样做不很方便。

最基本的命令I :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的I键(insert),插入的意思,就可以进入编辑模式了。

操作系统实验

操作系统实验

《操作系统》实验指导书德州学院计算机系实验一理解和认识操作系统的三种接口1.目的和要求MS-DOS和Windows是市场上普及率很高的操作系统,本实验的目的是让读者从操作系统理论的观点加深对现代操作操作系统的接口设计的理解。

2.实验内容①熟悉DOS的基本命令,包括md,cd,copy,move,del,deltree,type 等的使用a、当前目录下建立子目录MYTEMP和MYTEMP2,将当前目录设定为MYTEMP;b、在当前目录下创建新文件B.BAT,其内容为:清除屏幕内容,显示当前DOS版本;c、使用type命令显示B.BAT的内容,检查正确后,执行它;d、拷贝B.BAT到路径MYTEMP中;e、删除MYTEMP2中的文件B.BAT,删除目录MYTEMP2;f、使用deltree命令删除MYTEMP②理解WINDOWS下的编程接口原理,了解WINAPI,利用WINAPI实现WINDOWS 下的打印。

a、登录进入Windowsb、在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”-“MicrosoftVisual C++ 6.0”命令,进入Visual C++ 窗口。

c、在File菜单单击New Workspace...命令,创建PrintApp.dsw项目文件。

d、在File菜单单击New C++ Soure file命令,创建新的原文件。

e、输入如实验运行结果中所示的源代码,调试、编译并运行。

f、观察执行结果,理解各个函数的功能。

3.实验环境Windows操作系统和Visual C++6.0专业版或企业版实验二复习用C语言编制程序一、实验内容选择一个计算机系统,熟悉该系统的操作命令,且掌握该计算机系统的使用方法。

二、实验目的配合操作系统课程的学习,模拟实现操作系统的功能,有助于对操作系统的理解。

操作系统功能的模拟实现可以在计算机系统的终端上进行,也可以在一台微型计算机上进行。

《操作系统》实验指导书

《操作系统》实验指导书

操作系统实验指导书专业:计算机科学与技术;软件工程课程名称:操作系统课程类别:专业必修课计算机与通信工程学院2009目录第1篇Linux操作系统使用 (1)实验1Linux系统的安装及基本操作 (1)实验2Linux 的常用命令与基本管理 (38)第2篇操作系统算法模拟 (53)实验1 银行家算法 (53)实验2 进程调度 (55)实验3 动态分区分配 (56)实验4 页式存储管理 (57)实验5 虚拟存储管理器的页面调度 (59)实验6 文件管理 (62)实验7 磁盘存储空间的分配与回收 (64)实验8 磁盘调度 (66)附录 (67)实验1报告写法 (67)实验2报告的写法 (67)算法模拟部分 (68)第1篇Linux操作系统使用实验1Linux系统的安装及基本操作一、实验目的1.掌握Red Hat Enterprise Linux 5的安装方法。

2.了解Linux操作系统的启动与登录方法。

3.掌握Red Hat Linux图形用户界面下的基本操作。

二、实验工具与设备1.实验工具:Red Hat Enterprise Linux 5光盘或镜像文件。

2.实验设备:计算机(带CD-ROM)一台。

三、实验预备知识虚拟机简介虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,而不用担心对自己的电脑造成损失。

虚拟机中有自己的CPU、主板、内存、BIOS、显卡、硬盘、光驱、软驱、网卡、声卡、串口、并口和US B等设备。

Vmware介绍Vmware是一个“虚拟PC”软件。

它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。

与“多启动”系统相比,VMWare采用了完全不同的概念。

多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。

VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Wi ndows应用程序那样切换。

计算机操作系统实验指导linux

计算机操作系统实验指导linux

计算机操作系统实验指导linuxLinux 操作系统实验指导一、快速安装Linux系统1. 搭建实验环境:下载Linux系统的安装CD或者U盘,由于安装CD可能比较老旧,建议使用U盘来加载Linux系统;2. Bios 及设置:根据启动项的设置,调整U盘或者CD-ROM的读取顺序;3. 分割机制:根据自身的实验需求,给每一块磁盘分配大小;4. 安装系统:根据linux系统的提示安装相应的组件,设置root分区,系统更新;二、Linux系统外观设置1. 登录系统:输入用户名和密码,登录系统,添加用户及其权限管理;2. 更改外观:安装特定的主题,进行界面的更改,开机启动动画,桌面背景设置;3. 调整桌面图标:添加快捷方式,右键菜单管理,图标的拖拽安排等;4. 桌面快捷键:设置快捷键,方便操作,减少重复点击。

三、Linux系统安全设置1. 系统安全:安装安全软件,设置防火墙,锁定系统认证;2. 用户安全:设置不同用户权限,登陆账号管理,安装安全软件;3. 应用安全:安装反病毒软件,进行网页浏览拦截,异常端口禁止;4. 系统备份:制定机器备份计划,在恰当的时间进行备份操作。

四、Linux系统维护1. 系统维护:检查内存资源,检查OS系统补丁,维护系统文件;2. 进程管理:搜索指定进程,加进行结束操作,网络监控,作业管理;3. 系统日志:解析系统日志,及时发现系统异常,安装定期重启系统;4. 资源管理:查看磁盘使用情况,清理无用磁盘空间,升级硬件驱动,调整硬件参数。

五、Linux环境编程1. 配置编译环境:管理编程工具,安装gcc编译环境,程序与调试;2. 写入程序语言:使用C或者C++等语言,编写程序,将程序源文件保存;3. 编译源程序:使用gcc编译程序,在程序的源码中添加头文件,编译检查程序;4. 运行程序:测试程序,调试程序,看看程序的运行效果,分析程序运行的错误。

六、Linux系统优化1. 优化硬件设备:升级GB、CPU、内存,新增硬盘等;2. 添加新软件:查找新的功能模块,优化系统性能;3. 系统定期检查:软硬件保护,程序性能优化,重新启动程序,更新软硬件驱动;4. 调整显示器的分辨率:根据分辨率的不同,调整显示器的屏幕大小,细化界面效果和位置;5. 系统内存设置:调整系统内存性能,调整内存大小,加快系统加载速度。

操作系统实验指导完整版

操作系统实验指导完整版

操作系统实验指导适用课程:操作系统适用专业:计算机科学与技术软件工程目录实验环境的使用 (3)操作系统的启动 (11)进程的创建 (16)进程的同步 (22)时间片轮转调度 (29)分页存储器管理 (33)设备驱动程序 (40)FAT12文件系统 (46)实验环境的使用实验性质:验证建议学时:2学时一、实验目的●熟悉操作系统集成实验环境OS Lab的基本使用方法。

●练习编译、调试EOS操作系统内核以及EOS应用程序。

二、预备知识阅读《EOS实验指南》第一章,对EOS操作系统和集成实验环境有一个初步的了解。

三、实验内容3.1 启动OS Lab1.在安装有OS Lab的主机上,可以使用两种不同的方法来启动OS Lab:●在桌面上双击“Tevation OS Lab”图标。

●点击“开始”菜单,在“程序”中的“Tevation OS Lab”中选择“TevationOS Lab”。

2.OS Lab每次启动后都会首先弹出一个用于注册用户信息的对话框(可以选择对话框标题栏上的“帮助”按钮获得关于此对话框的帮助信息)。

在此对话框中填入学号和姓名后,点击“确定”按钮完成本次注册。

3.观察OS Lab主窗口的布局。

OS Lab主要由下面的若干元素组成:菜单栏、工具栏以及停靠在左侧和底部的各种工具窗口,余下的区域用来放置编辑器窗口。

3.2 学习OS Lab的基本使用方法通过练习使用OS Lab编写一个Windows控制台应用程序,熟悉OS Lab的基本使用方法(包括新建项目、生成项目、调试项目等)。

3.2.1 新建Windows控制台应用程序项目新建一个Windows控制台应用程序项目的步骤如下:1.在“文件”菜单中选择“新建”,然后单击“项目”。

2.在“新建项目”对话框中,选择项目模板“控制台应用程序(c)”。

3.在“名称”中输入新项目使用的文件夹名称“oslab”。

4.在“位置”中输入新项目保存在磁盘上的位置“C:\Test”。

操作系统本科实验指导书

操作系统本科实验指导书

操作系统实验指导书实验1 操作系统环境通过调查研究活动和对Windows、Linux系统运行的观察分析,回顾计算环境的基本术语,加深理解有关操作系统的基础概念,掌握主流操作系统的命令和图形界面,学会在操作系统上的主要系统管理操作。

1.1 操作系统的计算环境1.2 Windows xp系统管理1.3 访问Linux系统§1.1 操作系统的计算环境背景知识本实验帮助回顾 Windows xp/XP、UNIX和Linux的计算环境术语,加深理解有关操作系统的基础概念。

调查在学校或其他机构中Windows、UNIX和Linux的使用情况,看哪些机构在使用Windows、UNIX或者Linux系统;研究Web站点,看哪些因特网网站 (尤其是简体中文网站) 分别支持着Windows、UNIX和Linux操作系统的应用。

实验目的通过实验,加深对以下内容的理解基本的计算机硬件组件;计算机操作系统;Windows的发展和版本UNIX和Linux的历史和版本;Windows xp、UNIX或Linux操作环境。

调查在机构、学校和学生中Windows、UNIX和Linux操作系统的使用情况,分别研究支持Windows和Linux的Web站点。

工具/准备工作在开始本实验之前,请回顾教科书的相关内容,联系指导老师或者熟识网络技术的人士,如学校或企业信息技术部门的职员,了解学校或者其他机构中使用了哪些服务器和网络操作系统,找出是否在用Windows NT/2000/XP、UNIX和Linux以及在哪里使用这些操作系统,需要准备一台带有浏览器,能够访问因特网的计算机。

实验内容与步骤2、复习3个概念:内核、shell、文件系统3、 Windows xp/XP操作系统的主要优点是什么?4、UNIX操作系统的主要优点是什么?5、Linux操作系统的主要优点是什么?6、列举Linux操作系统的主要组成部分7、Linux内核管理着哪几件事情?8、Linux系统的主要shell的名字和它们各自默认的提示符是什么?9、操作系统的文件系统由哪几部分组成的?10、在指导老师或者信息技术人员的帮助下,找出在学校或者其他机构中使用的几种操作系统。

计算机操作系统实验指导linux版王红玲源码

计算机操作系统实验指导linux版王红玲源码

计算机操作系统实验指导linux版王红玲源码计算机操作系统实验指导(Linux版)导言:计算机操作系统是计算机系统中最重要的软件之一,负责管理计算机系统的硬件和软件资源,并为用户提供良好的使用环境。

为了帮助学生更好地理解操作系统的原理和实现,我们开设计算机操作系统实验课程,并提供一份针对Linux操作系统的实验指导。

本实验指导旨在帮助学生通过实际编程来探索和理解操作系统的原理和实现方式。

通过完成本实验,学生将能够熟悉Linux操作系统的基本功能和原理,并学会使用Linux的命令行界面和Shell编程。

同时,本实验还将引导学生通过源代码的阅读和分析,深入理解操作系统内部的工作原理。

实验一:Linux环境搭建在开始实验之前,我们首先需要搭建一个适合的Linux开发环境。

学生可以选择在个人电脑上安装Linux发行版,如Ubuntu或Fedora,也可以使用虚拟机软件,如VirtualBox或VMware,在Windows或Mac OS上安装Linux虚拟机。

实验二:Linux基本操作和Shell编程在本实验中,学生将通过完成一系列实际任务来熟悉Linux的基本操作和Shell编程。

任务包括使用命令行界面进行文件和目录操作、执行Shell脚本、配置系统环境等。

学生需要按照指导完成每个任务,并理解每个任务的目的和原理。

实验三:Linux系统调用和进程管理在本实验中,学生将学习和实现Linux系统调用和进程管理的功能。

学生需要阅读和分析Linux内核源代码中与系统调用和进程管理相关的部分,并完成一系列与之相关的实验任务。

任务包括编写和调试系统调用、创建和管理进程、实现进程间通信等。

实验四:Linux内存管理和文件系统在本实验中,学生将学习和实现Linux内存管理和文件系统的功能。

学生需要阅读和分析Linux内核源代码中与内存管理和文件系统相关的部分,并完成一系列与之相关的实验任务。

任务包括实现内存分配算法、设计和实现文件系统、调试和优化内存和文件系统的性能等。

Linux操作系统实验指导书

Linux操作系统实验指导书

Linux操作系统实验指导书Linux操作系统实验指导书计算机科学与技术学院技术科学与技术系实验⼀Linux系统安装与简单配置⼀、实验⽬的1.掌握虚拟机的配置过程。

2.掌握Linux系统的安装过程和简单配置⽅法。

3.掌握Linux系统的启动、关闭步骤。

⼆、实验内容1.安装并使⽤虚拟机(如Sun Virtualbox ver 3.06)。

2.在虚拟机上安装Linux系统(如红旗Linux桌⾯版4.0)。

3.配置Linux系统运⾏环境。

4.正确地启动、关闭系统。

三、主要实验步骤1.安装虚拟机软件(例如Sun Virtualbox ver 3.06),下图为安装好Virtualbox且运⾏成功的界⾯。

2.在Virtualbox虚拟机中新建虚拟电脑1)点击“新建”图标,就会弹出“欢迎使⽤新建虚拟电脑向导”,点击“下⼀步”图标,在下图中的对话框中填写虚拟电脑的名称,例如“myredf”,并选择操作系统类型,点击“下⼀步”图标2)接着设置内存⼤⼩,例如下图所⽰,点击“下⼀步”图标3)接着设置虚拟硬盘⼤⼩,点击“下⼀步”图标拟硬盘类型”,如下图所⽰,且点击“下⼀步”图标5)在“虚拟硬盘所在位置和空间⼤⼩”对话框中,点击“下⼀步”图标,然后出现“摘要”对话框,点击“完成”图标,6)再次点击“完成”图标,出现下图所⽰的虚拟机界⾯:7)接着为虚拟机myredf配置虚拟光驱,点击设置图标,出现下⾯的界⾯:8)在光驱栏⽬中,选择分配光驱,再选择虚拟光盘,接着点击右边的⽂件夹图标,在弹出的虚拟介质管理器对话框中,注册红旗Linux的安装光盘映象⽂件(例如redflag.iso),然后点击确定,就会出现如下的界⾯:9)在虚拟机主界⾯中,点击“开始”图标,启动虚拟机myredf的运⾏,就会出现如下的界⾯:10)接着,就按照课本中的关于红旗Linux的安装步骤,⼀步⼀步地进⾏配置和安装Linux。

3.安装成功Linux之后,再按照课本中的步骤进⾏登录和退出系统以及进⾏⼀些简单的配置⼯作。

操作系统实验指导书

操作系统实验指导书

《操作系统》课程实验指导书信电工程学院2011年9月目录前言 (1)实验要求 (2)实验准备 (3)实验一处理机管理 (4)实验二存储管理 (7)实验三设备管理 (10)实验四文件管理 (14)前言“操作系统”是计算机及相关专业的必修课程,在学习计算机操作系统理论的同时,通过实验可以加强对操作系统基本原理的理解。

让学生通过上机实验验证计算机操作系统的难点,增加学生对计算机操作系统的领悟和掌握。

使学生对计算机操作系统的工作原理和工作过程有深刻的体会和理解,同时又锻炼了程序编制能力和学生创造能力。

本课程共设8个学时,实验主要由进程管理、存储管理、设备管理、文件管理等4个主要几个部分所组成。

其中验证类实验占25%、设计类实验占75%,每个实验2学时。

考虑由于学生C语言基础较并且不平衡,本课程实验安排了实验准备(由学生课下完成),主要了解掌握TurboC2.0编程环境、掌握C语言编程的基本编制方法和技巧,为后继的实验做准备。

这些实验能很好地解决配合操作系统课程教学来指导学生进行实践的问题。

实验要求1.学生按照实验要求,上机前写好上机实验预习报告,内容包括:实验的目的、内容、实验步骤(程序)。

2.上机实验时按实验要求完成每一个实验的内容。

3.课后认真书写实验报告。

实验报告采用统一的实验报告纸,实验封面包括:课程名称、实验名称、实验序号、班级、姓名、学号、实验时间。

实验报告书写规范,应包括:实验目的和要求、实验内容、实验步骤、实验记录(程序)。

4.遵守机房纪律,服从辅导员教师指挥,爱护实验设备。

5.实验课程不迟到。

如有事不能出席,所缺实验一般不补。

实验准备一.实验目的熟悉TurboC2.0基本编程环境掌握C语言的基本编程方法二.实验内容与要求(一)TurboC2.0的基本操作1、TurboC2.0的基本操作2、运行一个C语言程序的一般过程3、编辑并保存存一个C语言程序4、编译、链接源程序文件5、运行与查看程序结果(二)C语言程序的基本编程方法1、数据类型、运算符、表达式2、数据的输入、输出3、C语言程序的基本控制结构4、数组5、函数与程序结构6、指针7、结构与联合8、文件操作(可通过网络查找TurboC2.0用户说明书,并在其指导进行操作,并要求人手一本C语言程序设计教材并上机练习)实验一处理机管理一、掌握进程及进程调度的概念、三种基本状态及转换二、实验内容1、复习进程的概念、进程调度的含义、进程的三种基本状态及转换2、编制一个模拟进程调度的程序三、参考程序#include"stdio.h"#define running 1/*用running表示进程处于运行状态*/#define aready 2/*用aready表示进程处于就绪状态*/#define blocking 3/*用blocking表示进程处于等待状态*/#define sometimes 5/*用sometime表示时间片大小*/#define n 10/*假定系统允许进程个数为10*/struct{int name;/*进程标识符*/int status;/*进程状态*/int ax,bx,cx,dx;/*进程现场信息,通用寄存器内容*/int pc;/*进程现场信息,程序计数器内容*/int psw;/*进程现场信息,程序状态寄存器内容*/int next;/*下一个进程控制块的位置*/}pcbarea[n];/*定义模拟进程控制块区域的数组*/int PSW,AX,BX,CX,DX,PC,TIME;/*模拟寄存器*/int run;/*定义指向正在运行进程的进程控制块的指针*/struct{int head;int tail;}ready;/*定义指向正在运行进程的进程控制块的指针*/int block;/*定义指向等待队列的指针*/int pfree;/*定义指向空闲进程控制块队列的指针*/sheduling()/*进程调度函数*/{int i;if(ready.head==-1)/*空闲进程控制块队列的指针*/{printf("无就绪进程\n");return 0;}i=ready.head;/*就绪队列头指针赋给i*/ready.head=pcbarea[ready.head].next;/*就绪队列头指针后移*/if(ready.head==-1) ready.tail=-1;/*就绪队列为空,修正尾指针 ready.tail*/pcbarea[i].status=running;/**/TIME=sometimes;/*设置相对时钟寄存器*//*恢复该进程现场信息*/AX=pcbarea[run].ax;BX=pcbarea[run].bx;CX=pcbarea[run].cx;DX=pcbarea[run].dx;PC=pcbarea[run].pc;PSW=pcbarea[run].psw;/*修改指向运行进程的指针*/run=i;return 0;}/*进程调度函数结束*/create(int x)/*创建进程*/{int i;if(pfree==-1)/*空闲进程控制块队列为空*/{printf("无空闲进程控制块,进程创建失败\n");return 0;}i=pfree;/*取空闲进程控制块队列的第一个*/pfree=pcbarea[pfree].next;/*pfree后移*//*填写该进程控制内容:*/pcbarea[i].name=x;pcbarea[i].status=aready;pcbarea[i].ax=x;pcbarea[i].bx=x;pcbarea[i].cx=x;pcbarea[i].dx=x;pcbarea[i].pc=x;pcbarea[i].psw=x;if(ready.head!=-1){/*就绪队列不空时,挂入就绪队列方式*/pcbarea[ready.tail].next=i;ready.tail=i;pcbarea[ready.tail].next=-1;}else{/*就绪队列为空时,挂入就绪队列方式*/ready.head=i;ready.tail=i;pcbarea[ready.tail].next=-1;}return 0;}/*进程创建函数结束*/main(){/*系统初始化*/int num,j;run=ready.head=ready.tail=block=-1;pfree=0;for(j=0;j<n-1;j++)pcbarea[j].next=j+1;pcbarea[n-1].next=-1;printf("输入进程编号(避免编号的冲突,以负数输入结束,最多可以创建10个进程):\n");scanf("%d",&num);while(num>0){create(num);scanf("%d",&num);}sheduling();if(num!=-1){printf("进程名进程状态寄存器内容:ax bx cx dx pc psw:\n");printf("%4d%10d%3d%3d%3d%3d%3d%3d\n",pcbarea[run].name,pcbarea[run].status,pcbarea[ run].ax,pcbarea[run].bx,pcbarea[run].cx,pcbarea[run].dx,pcbarea[run].pc,pcbarea[run ].psw);}}/*main结束*/实验二存储管理一、实验目的掌握分页存储管理的基本原理及分页存储管理中的地址变换过程二、实验内容1、复习分页想念管理的基本概念、基本原理、及地址变换过程2、编制一个模拟地址变换过程的程序三、参考程序/*页式虚拟存储管理中地址转换和缺页中断的模拟*/#include"stdio.h"#define n 64/*模拟实验中假定的页表长度*/#define length 10struct{int lnumber;/*页号*/int flag;/*表示该页是否在主存,"1"表示在主存,"0"表示不在*/int pnumber;/*该页所在主存块的块号*/int write;/*该页号是否被修改,"1"表示修改过,"0"表示末修改过*/ int dnumber;/*该页存放在磁盘上的位置,即磁盘块号*/}page[n];/*页表定义*/int m;/*m为该作业在主存中的主存块块数*/int page_length;/*页表实际长度*/int p[length];/*存放在主存中页的页号*/int head;/*主存中页号队列*/page_interrupt(lnumber)int lnumber;{int j;printf("发生缺页中断*%d\n",lnumber);/*淘汰页*/j=p[head];p[head]=lnumber;head=(head+1)%m;if(page[j].write==1)printf("将页%d写回磁盘第%d块\n",j,page[j].dnumber);page[j].flag=0;/*第j页存在标志改为"0"*/page[lnumber].pnumber=page[j].pnumber;page[lnumber].flag=1;/*第lnumber页存在标志改为"0"*/page[lnumber].write=0;/*第lnumber页修改标志改为"1"*/printf("淘汰主存块%2d中的页%2d从磁盘第%d块中调入页%2d\n",page[j].pnumber,j,page[lnumber].dnumber,lnumber);}/*缺页中断处理函数结束*/void command(laddress,write)unsigned laddress;int write;{int paddress,ad,pnumber,lnumber;kk:/*取出逻辑地址laddress的页号lnumber(高6位)和页内地址ad*/ lnumber=laddress>>10;ad=laddress&0x3ff;if(lnumber>=page_length){printf("不存在该页\n");}if(page[lnumber].flag==1)/*页在主存*/{pnumber=page[lnumber].pnumber;/*从页表中取得块号*/paddress=pnumber<<10|ad;/*合并块号和块内地址形成物理地址padress*/printf("逻辑地址是:%x 对应的物理地址是%x\n:",laddress,paddress);}if(write==1)/*如果需要写,修改页的修改标志位*/page[lnumber].write=1;else{page_interrupt(lnumber);/*缺页中断*/goto kk;}}/*命令处理函数结束*/void main(){int lnumber,pnumber,write,dnumber;unsigned laddress;int i;/*输入页表信息,页号从0开始,依次编号,创建页表page*/printf("输入页表信息,创建页表(若页号为-1,则结束输入\n");printf("输入页号和辅存地址");scanf("%d%d",&lnumber,&dnumber);i=0;while(lnumber!=-1){page[i].lnumber=lnumber;page[i].flag=0;page[i].write=0;page[i].dnumber=dnumber;i++;printf("输入页号和辅存地址");scanf("%d%d",&lnumber,&dnumber);}page_length=i;printf("输入主存号,主存块数要小于%d,(以-1结束):",i);scanf("%d",&pnumber);m=0;head=0;while(pnumber!=-1){if(m<=i){page[m].pnumber=pnumber;page[m].flag=1;p[m]=m;m++;}scanf("%d",&pnumber);}printf("输入指令性质(1-修改,0-不需要,其他--结束程序运行)和逻辑地址:");scanf("%d%x",&write,&laddress);while(write==0||write==1){command(laddress,write);/**/printf("输入指令性质(1-修改,0-不需要,其他--结束程序运行)和逻辑地址:");scanf("%d%x",&write,&laddress);}}/*函数结束*/实验三设备管理一、实验目的了解设备管理的基本原理、设备的分配与回收过程二、实验内容1、复习设备管理的基本概念、基本原理、常用的数据结构、分配策略及算法2、编制一个独占设备的分配和回收模拟程序三、参考程序/*独占设备的分配和回收模拟*/#include"stdio.h"#include"string.h"#define false 0#define true 1#define n 4#define m 10struct{char type[10];/*设备类名*/int count ;/*拥有设备台数*/int remain;/*现存的可用设备台数*/int address;/*该类设备在设备表中的起始地址*/}equiptype[n];/*设备类表定义,假定系统有N个设备类型*/struct{int number;/*设备绝对号*/int status;/*设备好坏状态*/int remain;/*设备是否已分配*/char jobname[4];/*占有设备的作业名*/int lnumber;/*设备相对号*/}equipment[m];/*设备表定义,假定系统有M个设备*/allocate(char J[],char type[],int mm){int i,t;/*查询该类设备*/i=0;while(i<n&&strcmp(equiptype[i].type,type)!=0)i++;if(i>=n)/*没有找到该类设备*/{printf("无该类设备,设备分配失败");return(false);}if(equiptype[i].remain<1)/*所需设备现存可用台数不足*/{printf("该类设备不足,分配失败");return(false);}t=equiptype[i].address;/*取出该类设备在设备表中的起始地址*/while(!(equipment[t].status==1&&equipment[t].remain==0))t++;/*填写作业名、相对号,状态改为已分配*/equiptype[i].remain--;equipment[t].remain=1;strcpy(equipment[t].jobname,J);equipment[t].lnumber=mm;}/*设备分配函数结束*/reclain(char J[],char type[]){int i,t,j,k,nn;i=0;while(i<n&&strcmp(equiptype[i].type,type)!=0)i++;if(i>=n)/*没有找天该类设备*/{printf("无该类设备,设备回收失败");return(false);}t=equiptype[i].address;/*取出该类设备在设备表中的起始地址*/ j=equiptype[i].count;/*取出该类设备的数量*/k=0;nn=t+j;for(;t<nn;t++)if(strcmp(equipment[t].jobname,J)==0&&equipment[t].remain==1) {equipment[t].remain=0;k++;}equiptype[i].remain=equiptype[i].remain+k;if(k==0)printf("该作业没有使用该类设备\n");}/*设备收回函数结束*/main(){char J[4];int i,mm,a;char type[10];/*设备类表初始化:*/strcpy(equiptype[0].type,"input");/*输入机*/equiptype[0].count=2;equiptype[0].remain=2;equiptype[0].address=0;strcpy(equiptype[1].type,"printer");/*打印机*/equiptype[1].count=3;equiptype[1].remain=3;equiptype[1].address=2;strcpy(equiptype[2].type,"disk");/*磁盘机*/equiptype[2].count=4;equiptype[2].remain=4;equiptype[2].address=5;strcpy(equiptype[3].type,"tape");/*磁带机*/equiptype[3].count=1;equiptype[3].remain=1;equiptype[3].address=9;/*设备表初始化:*/for(i=0;i<10;i++){equipment[i].number=i;equipment[i].status=1; //343434equipment[i].remain=0;}while(1){printf("\n0-退出,1-分配,2-回收,3-显示");printf("\n选择功能项(0-3):");scanf("%d",&a);switch(a){case 0:/*程序结束*/return(false) ;case 1:/*a=1分配设备*/printf("输入作业名、作业所需设备类和设备相对号");scanf("%s%s%d",J,type,&mm);allocate(J,type,mm);/*分配设备*/break;case 2:/*a=2回收设备*/printf("输入作业名和作业归还的设备类");scanf("%s%s",J,type);reclain(J,type);/*回收设备*/break;case 3:/*a=3输出设备类表和设备表的内容*/printf("\n输出设备类表\n");printf(" 设备类型设备总量空闲好设备\n");for(i=0;i<n;i++)printf("%9s%8d%9d\n",equiptype[i].type,equiptype[i].count,equiptype[i].remain); printf("输出设备表:\n");printf("绝对号好/坏已/未分配占用作业名相对号\n");for(i=9;i<m;i++)printf("%3d%8d%9d%12s%8d\n",equipment[i].number,equipment[i].status,equipment[i].remain,equipment[i].jobname,equipment[i].lnumber);}}}。

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

天津大学仁爱学院计算机系《操作系统原理》实验报告题目:XXXXXXXXXXXX指导老师:戴维迪姓名:学号:班级:完成日期:年月日《操作系统》课程实验要求:1.以下五个题目,按要求开展实验并完成相应的实验报告。

2.实验上机时间为:待定,在上机时间检查每个同学的程序运行情况。

3.提交实验报告:实验报告提交格式:1.实验内容2.正文格式(1)问题概述(2)整体功能及设计(3)编程实现(4)使用说明(5)结果分析(6)设计体会3.实验报告的提交(1)要求使用统一专用实验报告纸;(2)要求有封面,封面格式如前页;(3)报告以打印稿或手写稿提供,统一左边装订;(4)同时提交源程序和实验报告的电子版,以压缩包的形式发送到:156840130@信件及附件名称:(例)07软件1班60072011王宇-进程调度算法模拟(没有空格)(名称不符合要求的请重新发送)07级*****《操作系统》课程实验(一)—生产者--消费者同步问题的算法实现一、实验目的:全面理解生产者与消费者问题模型,掌握解决该问题的算法思想,正确使用同步机制。

二、实验内容:问题描述:一组生产者向一组消费者提供消息,它们共享一个有界缓冲池,生产者向其中投放消息,消费者从中取得消息。

假定这些生产者和消费者互相等效,只要缓冲池未满,生产者可将消息送入缓冲池;只要缓冲池未空,消费者可从缓冲池取走一个消息。

功能要求:根据进程同步机制,编写一个解决上述问题的演示程序,可显示缓冲池状态、放数据、取数据等过程。

放消息取消息n个缓冲区(B u f f e r)三、编程工具:C、Java、VC或其它可视化语言平台任选四、具体设计要求及有关说明1.有3个生产者进程,分别为P1、P2和P3;2.有4个消费者进程,分别是C1、C2、C3和C4;3.缓冲区单元个数N=15;4.不同的生产进程可生产不同的产品(比如字母、数字、符号);不同的消费进程可有不同的消费方式(比如“显示”、“打印”、“拼接成字符串”、“改变大小写”等)。

自己可任意定义。

07级******《操作系统》课程实验(二)—进程管理和调度的算法实现一、实验目的进程调度是处理机管理的核心内容。

本设计要求用高级语言编写和调试一个简单的进程调度程序。

通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先权调度算法和时间片轮转调度算法的具体实施办法。

二、实验内容1.设计进程控制块PCB表结构,分别适用于优先权调度算法和时间片轮转调度算法。

2.PCB结构包括以下信息:进程名、进程优先数(或轮转时间片),进程所占用的CPU时间,进程的状态,当前队列指针等。

根据调度算法的不同,PCB结构的内容可以作适当的增删。

3.建立进程就绪队列。

对两种不同算法编制入链子程序。

4.编制两种进程调度算法:a)优先数调度;b)时间片轮转调度。

允许用户在程序运行时选择使用某一种调度算法。

三、编程工具:C、Java、VC或其它可视化语言平台任选四、具体设计要求及有关说明选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。

并假定初始状态为就绪状态。

1.设计进程控制块PCB结构如下:NAME //进程标识符;PRIO/ROUND // PRIO表示进程优先数,ROUND表示进程轮转时间片大小;CPUTIME //进程占用CPU时间;COUNT //计数器;NEEDTIME /进程到完成还要的CPU时间;STATE //进程的状态;NEXT //链指针2.进程控制块链结构如图所示。

其中:RUN——当前运行进程指针;READY——就绪队列头指针;TAIL——就绪队列尾指针;FINISH——完成队列头指针。

为了便于处理,程序中进程的运行时间以时间片为单位计算。

各进程的优先数或轮转时间片数以及进程需运行的时间片数的初值均由用户给定。

3.程序说明:a)在优先数算法中,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。

在轮转法中,采用固定时间片,时间片数为2,进程每执行一次,CPU时间片数加2,进程还需要的时间片数减2,并排到就绪队列的尾上。

b)程序结构说明如下:整个程序由CREA TE,FIRSTIN,INSERT1,INSERT2,PRINT,PRISCH和ROUNDSCH过程组成。

其中:CREATE的功能是创建新的进程,即创立进程的PCB,并将此PCB链入到就绪队列中去。

FIRSTIN的功能是将就绪队列中的第一个进程投入运行。

INSERT1的功能是把还未完成且优先数小于别的进程PCB按进程优先数的顺序插入到就绪队列中。

INSERT2是轮转法使用的过程,将执行了一个单位时间片数(为2)且还未完成的进程的PCB插入到就绪队列的队尾。

PRINT打印每执行一次后的所有进程的状态,这里,就绪(等待)用“W”代表。

PRISCH按优先数算法调度进程。

ROUNDSCH按时间片轮转法调度进程。

c)主程序中定义了PCB的结构和其它变量NUMBER——进程数,ALGO为10个字符长的字符串,存放要求输入的算法的名,输入“PRIORITY”表示调用优先数算法,输入“ROUNDROBIN”表示调用循环轮转法,要求用户在程序运行时输入其中的一个。

07级******《操作系统》课程实验(三)—内存管理和分配算法模拟一、实验目的页面置换算法的好坏直接关系到系统运行的效率。

本设计要求用高级语言编写和调试一个简单的内存页面调度程序。

通过本实验可以加深理解有关最佳置换算法、先进先出置换算法和最近最久未使用置换算法的概念,并体会和了解这三种页面置换算法的具体实施办法。

二、实验内容1 页面流如下:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1 2 首先利用最佳置换算法求出理想状态下的缺页率。

再将先进先出算法和最近最久未使用算法与最佳置换算法做比较,说明哪个缺页率较低。

3 假设所用的物理块个数分别为3和4。

三、实验要求1 物理块用数组S[]表示,每次经过一个页面,须显示此时物理块中的页面。

2 设置计数变量count,记录缺页次数。

统计缺页率可用:置换次数/页面总数求得。

四、编程工具:C、Java、VC或其它可视化语言平台任选07级******《操作系统》课程实验(四)—磁盘调度算法模拟一、实验目的磁盘是可供多个进程共享的设备,当有多个进程都要求访问磁盘是,应采用一种最佳调度算法,以使各进程对磁盘的平均访问时间最小。

目前最成用的磁盘调度算法有先来先服务(FCFS),最短寻道时间优先(SSTF),以及扫描算法(SCAN)。

通过本实验可以加深理解有关磁盘调度的目标,并体会和了解最短寻道时间优先算法和扫描算法的具体实施办法。

二、实验内容1 从100#磁道开始,被访问的磁道号分别为:55,58,39,18,90,160,150,38,184。

2 要求用最短寻道时间优先算法的和扫描算法实现磁盘调度。

3 记录下每访问一个磁道磁头移动的磁道数,并计算平均寻道长度(平均移动磁道数)。

,,三、实验要求分别用两种算法实现磁盘调度。

在实验结果分析中,将比较结果以列表的形式表现出来。

用数组(或链表)TR[ ]存储待访问磁道号,将每次磁头移动磁道数用数组AR[ ] 存储。

输出结果应如下例:(注意空格)四、编程工具:C、Java、VC或其它可视化语言平台任选07级******《操作系统》课程实验(五)—Linux文件操作一、实验目的Linux是一个Unix操作系统的克隆,可以免费使用,最初是由Linus Torvalds和经由Internet组织起来的开发小组编写的,其目标是与POSIX兼容。

通过本实验,掌握一些基本的显示文件的命令。

二、实验内容用户需要查看一个文件的内容时,可以根据显示要求的不同选用以下的命令。

1 cat命令功能1:在标准输出上显示文件。

语法:cat [- 选项]文件说明:该命令功能之一是用来显示文件。

它依次读取其后所指文件的内容并将其输出到标准输出。

例1:$ cat example.txt则在屏幕上显示出example.txt 文件的内容。

例2:$ cat - A exam2.txt则在屏幕上显示出exam2.txt 文件的内容,而且如果文件中含有特殊字符的话,一并显示。

功能2:连接两个或多个文件说明:该命令功能之二是用来将两个或多个文件连接起来。

例3:$ cat file1 file2 > file3把文件filel和文件file2的内容合并起来,放入文件file3中。

2 more命令功能:在终端屏幕按屏显示文本文件。

语法:more [- 选项]文件说明:该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出- - More- - ,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。

例1:用分页的方式显示一个文件的内容。

$ more example1.c/*-------------------------------------------*//* example1.c *//*-------------------------------------------*//* author f opus.BBS@.tw *//* target f BBS main/login/top-menu routines *//* create f 99/10/23 *//* update f 99/12/15 *//*-------------------------------------------*/#define _MAIN_C_#inc1ude < BBS. h >jmp_buf byebye;int talkrequest=NA;static uschar Enter_uflag i#ifdef SHOW_IDLE_TIME--More- (3%)例2:显示一个文件的内容,但显示之前先清屏,并且在显示器的最下方显示完整的百分比。

$ more - dc example1.c执行该命令后,先清屏,然后显示文件example.c的内容。

/*-------------------------------------------*//* example1.c *//*-------------------------------------------*//* author f opus.BBS@.tw *//* target f BBS main/login/top-menu routines *//* create f 99/10/23 *//* update f 99/12/15 *//*-------------------------------------------*/#define _MAIN_C_#inc1ude < BBS. h >jmp_buf byebye;int talkrequest=NA;static uschar Enter_uflag i#ifdef SHOW_IDLE_TIMEchar fromhost();--More- (3%)[Press space to continue , ‘q’to quit .]例3:显示一个文件的内容,要求每十行显示一次,且显示之前先清屏。

相关文档
最新文档