《操作系统》实验指导书

合集下载

操作系统实验指导书

操作系统实验指导书

《操作系统》课程实验指导书一.实验总学时(课外学时/课内学时):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只能由超级用户在单用户模式下使用。

操作系统实验指导书-final

操作系统实验指导书-final

中央民族大学操作系统实验指导书目录前言 (3)实验总体要求 (4)实验格式 (5)实验一:Linux的初步认识 (6)实验二: 系统调用实验 (9)实验三:进程同步实验 (16)实验四:进程通信实验 (21)实验五:页面调度算法模拟 (28)实验六:虚拟文件系统 (31)实验七:Linux Socket编程 (79)附加实验:linux的深入认识 (86)前言《操作系统》课程是计算机科学与技术专业的主干课。

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

《操作系统》课程是一门理论和实践相结合的课程。

通过《操作系统》实验教学,可以是使学生深入地掌握操作系统的基本概念、基本原理,同时也可以使学生能够运用《操作系统》提供的方法与技巧对实际问题进行算法设计和程序设计,即能更好地实现与课程同步练习,又进一步深化理解和灵活掌握教学内容;又能培养学生程序设计及上机调试的能力。

这将为其后继课程如《计算机体系结构》、《计算机网络》等打下必要的基础,同时也为今后在相关领域开展工作打下坚实的基础。

《操作系统》课程含有18学时的实验内容,要求学生完成linux的初步认识、进程同步、进程通信、页面调度算法模拟等实验,使学生了解和掌握操作系统的基本原理,掌握常用操作系统的使用和一般的管理方法等内容。

通过《操作系统》实践环节,培养学生认真分析问题、解决问题的能力,同时培养学生面对问题勤于思考及团队合作的意识,最终使学生达到理论与实践相结合的目的。

《操作系统》实验教学计划安排7个实验项目。

由于每个项目都是一个综合训练,仅仅依靠上机三个学时是远远不够的,尤其是实验6和实验7,具有很大的难度,教师可以根据学生的实际情况调整实验内容。

这里要求每个同学上实验课前必须做好充分的准备,如问题的分析、数据类型和系统的设计以及程序的编写、初步的调试等等,上机实验课主要是教师和同学们一起讨论和交流,共同解决系统设计和调试中的问题。

黄河科技学院操作系统实验指导书

黄河科技学院操作系统实验指导书

计算机操作系统实验指导书学院:信息工程学院适用专业:计算机各专业制定人:杨志武教研室:软件工程教研室信息工程学院2009 年9 月前言操作系统是计算机的核心和灵魂。

操作系统软件的设计对整个计算机的功能和性能起着至关重要的作用,所以此门课也是必不可少的,是面向计算机科学与技术、网络工程、软件工程等大多数计算机专业本科生和研究生开设的一门计算机专业课程。

操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课。

本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。

操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。

作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。

操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:理解操作系统的设计和实现思路,掌握典型算法。

基本要求是:理解进程的概念,理解死锁,掌握银行家算法;掌握请求页式存储管理的实现原理及页面置换算法。

学生应具有高级语言编程能力、具有数据结构等基础知识。

实验要求为了顺利完成操作系统课程实验,学生应做到:(1)实验前,认真学习教材以及实验指导书的相关内容,提前做好实验准备。

(2)实验结束一周后提交实验报告。

实验报告内容应包括:实验目的、实验内容、设计思路和流程框图,源程序(含注释)清单、测试结果以及实验总结。

(3)遵守机房纪律,服从辅导教师指挥,爱护实验设备。

(4)实验的验收将分为两个部分:第一部分是上机操作,随机抽查程序运行和即时提问;第二部分是提交书面的实验报告。

此外杜绝抄袭现象,一经发现雷同,双方成绩均以0分计算。

目录前言 (I)实验要求 (II)目录...................................................................................................................... I II 实验一 LINUX及其使用环境(一) (1)实验一 LINUX及其使用环境(二) (5)实验一 LINUX及其使用环境(三) (8)实验一 LINUX及其使用环境(四) (13)实验二LINUX环境的文本编辑 (17)实验三 Linux系统的shell编程 (22)实验四LINUX环境下C语言的编译及调试 (24)实验五 LINUX环境下进程管理 (27)实验六Linux存储管理 (32)实验七 LINUX中的设备加载与卸载 (35)实验八(LINUX环境下)OS经典算法模拟(一) (36)实验九使用Windows 2000/xp注册表屏蔽桌面上的“回收站” (41)实验十 Linux 文件管理 (42)实验十一(LINUX环境下)OS经典算法模拟(二) (45)实验一 LINUX及其使用环境(一)LINUX常用命令简介——目录操作、系统询问与权限口令实验目的1.了解Linux的命令及使用格式。

操作系统原理实验指导书课案

操作系统原理实验指导书课案

操作系统原理实验指导书广东东软学院计算机系网络工程教研室编目录第一部分基础知识篇第一章安装Ubutnu8.04 (1)第二章Linux常用命令手册 (13)第二部分基本实验篇实验一UNIX/Linux操作系统的实际使用 (17)实验二命令解释程序 (24)实验三进程管理 (34)实验四处理器调度 (42)实验五存储管理 (46)第三部分综合实验篇实验六简单的数据库管理系统设计 (53)实验七输入/输出管理 (78)实验八Linux文件系统设计 (83)附录: (93)第一章安装Ubutnu8.041、备份资料如果以前没有安装过Ubuntu的可以跳过这一步。

如果你没有把/home目录单独挂载出来,建议你把他备份到一个安全的地方,至于其他系统分区、软件分区、都可以不管,保留软件设置比软件重要。

2、准备分区这是问题最多的地方,如果你以前使用Windows,那么你需要单独给Ubuntu 划分一个空白分区,可以使用Windows 自带的分区工具,也可以使用PQ分区管理工具。

建立Linux 分区的操作建议在Ubuntu安装过程中进行。

如果还是对硬盘分区有疑问的可以参考这里关于最简单可行的分区方法1、先在windows 下,我的电脑上点右键-----管理------磁盘管理-----删除最后一个分区(先备份再做,也可以进行先删除分区后再调整下分区大小,保留一个分区未分就行)2、安装desktop 版ubuntu,安装的时候让它自动分区并钩选最大的连续空闲空间。

3、详细安装步骤做好了上面的准备,就可以插入光盘开始安装了,在这里强烈建议在安装前把先把网线拔了,这样后面安装出错的机会大幅降低。

做好了上面的3 个准备,现在就可以插入光盘开始安装了。

见到这个画面时候记得按F2 选择语言为中文:选择第一项“试用 Ubuntu 而不改变计算机中的任何内容”,进入 live 桌面后点击“安装”图标。

1)选择语言,可以根据你自己的喜好选择,当然是选择中文(简体)了。

操作系统实验指导书

操作系统实验指导书

操作系统实验指导书一、实验说明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 的“共享名”目录

操作系统实验

操作系统实验

武汉纺织大学数学与计算机学院操作系统实验指导书——Windows 2000/XP目录实验一 Windows中的进程初识 (1)实验二 Windows中进程的创建、运行和终止 (6)实验三 Windows线程间的通信 (18)实验四 Windows的内存结构 (24)实验总体安排实验环境操作系统:Windows2000 / XP / Vista编程工具:Visual C++6.0实验一 Windows中的进程初识(一)Windows中的进程对象_获取当前运行进程的优先级操作系统将当前运行的应用程序看作是进程对象。

利用系统提供的惟一的称为句柄(HANDLE) 的号码,就可与进程对象交互。

这一号码只对当前进程有效。

本实验表示了一个简单的进程句柄的应用。

在系统中运行的任何进程都可调用GetCurrentProcess() API函数,此函数可返回标识进程本身的句柄。

然后就可在Windows需要该进程的有关情况时,利用这一句柄来提供。

步骤1:登录进入Windows Professional。

步骤2:运行Visual C++ 6.0,在“文件”菜单中依次点击“新建”-“工程”-“Win32Console Application”命令,输入工程名,例如“1_1”,进入下一个对话框,选择“An empty project”,点击“完成”按钮,将建立一个使用控制台的工程。

步骤3:在“文件”菜单中依次点击“新建”-“文件”-“C++Source File”,输入文件名,例如“1_1”,点击“确定”按钮,将建立一个名为“1_1.cpp”的源文件并添加到上面建立的工程里面。

步骤4:将清单1_1中的程序键入1_1.cpp中。

清单1_1 获得和使用进程的句柄// prochandle项目#include<windows.h>#include<iostream>// 确定自己的优先权的简单应用程序void main(){// 从当前过程中提取句柄HANDLE hProcessThis=::GetCurrentProcess();// 请求内核提供该过程所属的优先权类DWORD dwPriority=::GetPriorityClass(hProcessThis);// 发出消息,为用户描述该类std::cout<<"current process priority:";switch(dwPriority){case HIGH_PRIORITY_CLASS:std::cout<<"High";break;case NORMAL_PRIORITY_CLASS:std::cout<<"Normal";break;case IDLE_PRIORITY_CLASS:std::cout<<"Idle";break;case REALTIME_PRIORITY_CLASS:std::cout<<"Realtime";break;default:std::cout<<"<unknow>";break;}std::cout<<std::endl;}清单1_1中列出的是一种获得进程句柄的方法。

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

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

目录实验一 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++源程序的文件名。

操作系统实验指导书---精品模板

操作系统实验指导书---精品模板

《操作系统原理》实验指导书羊四清编写适用专业:计算机科学与技术网络工程湖南人文科技学院计算机科学技术系2008年8 月前言操作系统是计算机的核心和灵魂.操作系统软件的设计对整个计算机的功能和性能起着至关重要的作用,所以此门课也是必不可少的,是面向计算机科学与技术、网络工程、软件工程等大多数计算机专业本科生开设的一门计算机专业课程。

操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课.本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。

操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。

作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。

操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:理解操作系统的设计和实现思路,掌握典型算法。

基本要求是:理解进程的概念,理解死锁,掌握银行家算法;掌握请求页式存储管理的实现原理及页面置换算法。

学生应具有高级语言编程能力、具有数据结构等基础知识。

说明:本实验指导书所提供的源程序均已在VC6.0下调试运行过.目录实验一进程创建模拟 (1)实验二进程撤销模拟 (9)实验三P、V 原语的模拟实现 (10)实验四带优先级的时间片轮换的进程调度算法的实现 (16)实验五银行家算法模拟 (26)实验六连续动态内存管理模拟实现 (29)实验七请求页式存储管理中常用页面置换算法模拟 (31)实验八SCAN 磁盘调度模拟实现 (36)实验九UNIX基本操作 (37)实验一进程创建模拟实验学时:2实验类型:验证实验要求:必修一、实验目的1)理解进程创建相关理论;2)掌握进程创建方法;3)掌握进程相关数据结构。

二、实验内容本实验针对操作系统中进程创建相关理论进行实验.要求实验者输入实验指导书提供的代码并进行测试。

代码简化了进程创建的多个步骤和内容。

操作系统实验指导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),插入的意思,就可以进入编辑模式了。

Linux操作系统实验指导书.doc

Linux操作系统实验指导书.doc

《Linux操作系统》实验指导书主编教师:王振目录实验一Linux操作系统的安装 (3)【实验目的】 (3)【实验环境】 (3)【实验重点及难点】 (3)【实验内容】 (3)实验二常用命令的使用(一) (5)【实验目的】 (5)【实验环境】 (5)【实验重点及难点】 (5)【实验内容】 (5)实验三常用命令的使用(二) (9)【实验目的】 (9)【实验环境】 (9)【实验重点及难点】 (9)【实验内容】 (9)实验四VI编辑器的使用 (14)【实验目的】 (14)【实验环境】 (14)【实验重点及难点】 (14)【实验内容】 (14)实验五Linux系统管理与配置 (15)【实验目的】 (15)【实验环境】 (16)【实验重点及难点】 (16)【实验内容】 (16)(一)命令行管理 (16)(二)图形界面管理 (17)实验六shell编程(一) (19)【实验目的】 (19)【实验环境】 (19)【实验重点及难点】 (19)【实验内容】 (19)实验七shell编程(二) (23)【实验目的】 (23)【实验环境】 (23)【实验重点及难点】 (23)【实验内容】 (23)实验八FTP服务器的配置 (25)【实验目的】 (25)【实验环境】 (25)【实验重点及难点】 (25)【实验内容】 (25)实验九NFS服务器 (26)【实验目的】 (26)【实验环境】 (26)【实验重点及难点】 (26)【实验内容】 (26)实验十配置Samba服务器 (28)【实验目的】 (28)【实验环境】 (28)【实验重点及难点】 (28)【实验内容】 (28)实验一Linux操作系统的安装【实验目的】1.掌握Linux操作系统的安装;2.通过安装,学习Linux操作系统与其他操作系统的区别。

【实验环境】1、Linux操作系统安装;2、虚拟机软件;3、计算机内存配置要求512M以上。

【实验重点及难点】Linux操作系统安装过程。

操作系统实验

操作系统实验

《操作系统》实验指导书德州学院计算机系实验一理解和认识操作系统的三种接口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语言编制程序一、实验内容选择一个计算机系统,熟悉该系统的操作命令,且掌握该计算机系统的使用方法。

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

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

《操作系统》实验教学大纲

《操作系统》实验教学大纲

《操作系统》实验教学大纲实验名称:操作系统实验实验课程:计算机科学与技术、软件工程、电子信息工程实验学时:24学时(12次课程实验)实验目的:1.通过操作系统实验,学生将深入了解操作系统的原理和设计。

2.学生将掌握操作系统的基本概念和常用技术。

3.提高学生的实践能力和创新能力,培养学生的团队合作精神。

实验内容:1.实验一:操作系统基本概念-实验介绍:了解操作系统的基本概念和基本功能。

-实验要求:学生通过阅读文献或参考书籍,掌握操作系统的基本概念。

-实验过程:学生通过讨论或小组讨论的方式,给出操作系统的定义和基本功能列表。

2.实验二:进程管理-实验介绍:通过实验来学习进程管理的基本概念和常用算法。

-实验要求:学生通过自己编写程序,实现进程的创建、销毁和调度。

-实验过程:学生根据给定的问题,设计进程模型并实现相应的程序。

3.实验三:内存管理-实验介绍:了解内存管理的基本概念和常用算法,学习虚拟内存技术的原理。

-实验要求:学生通过编写程序,实现内存分配和回收的算法。

-实验过程:学生通过模拟内存分配和回收的过程,理解内存管理的基本原理。

4.实验四:文件系统-实验介绍:了解文件系统的基本概念和常用算法,学习文件管理的基本原理。

-实验要求:学生通过编写程序,实现文件的创建、删除和查找。

-实验过程:学生通过模拟文件的创建、删除和查找的过程,理解文件管理的基本原理。

5.实验五:设备管理-实验介绍:通过实验学习设备管理的基本概念和常用算法,了解设备驱动程序的实现原理。

-实验要求:学生通过编写程序,模拟设备的控制和管理。

-实验过程:学生通过模拟设备的请求、分配和释放的过程,理解设备管理的基本原理。

6.实验六:作业调度-实验介绍:通过实验学习作业调度的基本概念和常用算法。

-实验要求:学生通过编写程序,实现作业的调度。

-实验过程:学生通过输入作业和作业调度算法,模拟作业调度的过程。

实验评定:-实验报告:60%-实验成果:20%-实验操作:20%实验环境:- 操作系统:Linux、Windows实验要求:-学生需认真完成实验任务,编写实验报告。

操作系统指导书

操作系统指导书

《计算机操作系统》实验指导书适用专业:计算机科学与技术信息与计算机江南大学物联网工程学院2015年4月前言计算机操作系统(Operating System简称OS)是计算机中最重要的系统软件,也是最活跃的学科之一,是计算机相关本科专业的核心课程。

通过本课程的学习使学生掌握操作系统的基本概念、技术、原理,具备一定的从不同层次分析与使用操作系统功能的能力。

了解计算机操作系统方面的新技术、新理论与新发展。

本实验指导书,是根据《操作系统》课程教学大纲的要求而编写的,目的是让学生能够进一步了解操作系统的基本概念、原理,通过综合性、验证性和设计性等实验,熟练掌握操作系统的运行机理和各种算法思想,尤其是操作系统的核心功能。

同时还希望通过实验进一步提高学生的动手能力和综合运用先修课程的能力。

由于编写仓促,难免有错误和不足之处,恳请读者不吝赐教。

目录前言 (1)实验一进程调度 (3)实验二作业调度实验 (6)实验三银行家算法 (9)实验四存储管理 (13)实验一进程调度实验学时:4学时实验类型:设计实验要求:必修一、实验目的多道程序设计中,经常是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理机。

因而引起进程调度。

本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。

二、实验内容1.优先权法、轮转法简化假设1)进程为计算型的(无I/O)2)进程状态:ready、running、finish3)进程需要的CPU时间以时间片为单位确定2.算法描述1)优先权法——动态优先权当前运行进程用完时间片后,其优先权减去一个常数。

2)轮转法三、流程图产生n 需的时间片数,已占用CPU 的时间片数置为0按进程产生的先后次序拉成就绪队列链=0? 撤销该进程就绪队列为空吗?=轮转时间片数?NYYY 结束N开始键盘输入进程数n ,和调度方法的选择优先权法? 轮转法产生n 个进程,对每个进程产生一个PCB ,并用随机数产生进程的优先权及进程所需的CPU 时间 按优先权大小,把n 个进程拉成一个就绪队列 撤销进程就绪队列为空?结束NYY四、实验要求1.产生的各种随机数的取值范围加以限制,如所需的CPU时间限制在1~20之间。

操作系统实验指导书

操作系统实验指导书

《操作系统》课程实验指导书信电工程学院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);}}}。

Windows操作系统实训任务书指导书

Windows操作系统实训任务书指导书

《网络操作系统》实训任务书指导书适用专业:指导教师:实训时间:四川建筑职业技术学院_______系年月日《Windows操作系统》实训任务书一、课程的地位、作用和目的网络操作系统是计算机网络专业的学生必须掌握的一门课程。

它在计算机网络中起着核心和纽带的重要作用。

通过本次网络操作系统实习周实习,学生能够将课堂中学习到的知识在实验中得到验证、加深对相关知识点的理解。

二、实训内容实验一 Windows Server 2003的安装实验二 TCP/IP协议常用网络工具的的使用实验三对等网络配置及网络资源共享实验四安装与配置Active Directory实验五安装与设置DNS服务器实验六安装与设置DHCP服务器实验七网络Web服务器的建立、管理和使用实验八网络FTP服务器建立、管理和使用三、实训组织及要求硬件要求:装有windows server 2003操作系统的计算机;交换机或路由器等网络设备。

组织方式:本实训安排在网络实验室进行,将学生分成若干小组,每组4-5位同学,以小组为单位开展实训。

每组分配计算机3-4台,并利用实验室中现有的网络设备,由各小组自行完成系统的安装及角色服务器的安装,并完成相应的配置和管理。

纪律要求:学生必须按时到达实验室;不得做与实验无关的事情;除与实验有关的内容外,不得讨论其它话题;教师每天必须安排时间指导学生实训。

能力要求:学生能够熟练的对Windows server 2003系统进行管理与操作,学会对DNS 服务器、DHCP服务器、ftp服务器,web服务器等的架设与管理。

五、实训考核办法1、考核组织由任课教师和实训指导教师组成。

2、考核内容及评分办法1).实训结束学生应上交一份实训报告,要求有比较详细操作步骤,体会与心得。

2).评分方法:依据实训报告,重点在总结体会和心得;结合学生在实训中能力的表现综合评定。

3、考核要求首先要完成实训下达各项任务。

完成的实训报告重点写通过实训得到的体会和心得。

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

《操作系统》实验指导书(适用于计科、网络工程、软件工程、信计专业)
计算机科学与技术学院
2010-5
目录
前言 (3)
实验一、进程管理与进程同步 (4)
实验二、存储器管理 (6)
实验三、磁盘调度算法的设计 (7)
实验四、文件系统原理与模拟实现 (8)
前言
本课程将系统学习操作系统的基本概念和常用算法以及其发展情况和应用情况。

通过本课程的学习,学生应达到如下要求:1、加深理解操作系统原理。

2、熟悉操作系统的常用算法并完成算法的程序设计。

3、理解当前操作系统的应用前景和新的进展。

本课程主要讲解操作系统的实现原理,如进程管理、进程同步、存储器管理、设备管理和文件系统等。

要求学生理解操作系统的基本原理并完成其中多种典型的操作系统的算法的模拟序设计。

学生可以采用任何一种自己熟悉的编程语言完成算法的程序设计,如C/C++、Delphi、VB、VC、C#等。

实验一、进程管理与进程同步
实验目的:
了解进程管理的实现方法,理解和掌握处理进程同步问题的方法。

实验内容:
实现银行家算法、进程调度过程的模拟、读者-写者问题的写者优先算法。

实验步骤:
●理解安全性算法和银行家算法的核心机制:
针对3类资源、5个进程的情况,设计相应的数据结构,分别表示每个进程占用各类资源的情况;
编程实现安全性算法函数,编制主函数,动态输入资源的占用情况,进程的资源申请,调用安全性函数,实现银行家算法;
测试:输入可分配和不可分配的请求,测试系统的正确性。

●理解进程的三状态调度过程,及各状态间的转换关系;
模拟若干个进程的运行过程,将其存入进程文件中。

如:进程1:运行5秒后有3秒的I/O操作,之后有10秒的运行,结束。

可以写成:”p1:r5,io3,r3 e;”;
编程实现调度算法函数,定义时间片大小和并发进程个数,不断从进程文件中读出进程信息,模拟进程的运行及调度过程;
测试:针对进程文件里面的数据为正常、缺项、格式不正确等各种情况,检测程序的执行结果。

●设计读者--写者问题的写者优先算法;
学习Windows平台下信号量的API函数的使用;
编制读写进程的模拟信息文件,里面包含多个读写进程的运行描述:如0秒到达读进程1,读5秒结束;1秒到达写进程2,写3秒结束;2秒到达读进程3,读4秒结束。

可以写为:
0:1,r,5;
1:2,w,3;
2:3,r,4;
编制读者--写者问题的写者优先算法,从进程模拟信息文件中取出进程信息,按要求启动对应的进程模拟程序,决定出读者/写者进程的运行次序。

测试:针对进程模拟信息文件里面的数据为正常、缺项、格式不正确等各种情况,检测程序的执行结果。

实验结果:
银行家算法程序提供一个用户界面,可以在上边发出资源申请命令,系统应能给出是否可以接受申请,并且有结论输出;
进程调度模拟程序根据一个进程调度文件,模拟进程的各种调度过程,用适合的表达方式表示出来。

写者优先同步控制程序根据一个读写进程模拟信息文件,按照写者优先同步控制过程,用适合的表达方式表示出各读写进程的执行次序。

实验二、存储器管理
实验目的:
理解各类置换算法的原理和虚拟存储器管理的方法。

实验内容:
编程实现LRU算法或CLOCK/改进算法等置换算法(二选一),模拟实现虚拟存储器的地址变换过程。

实验步骤:
●理解LRU或CLOCK改进算法等置换算法;
设计与算法相关的数据结构,如:LRU的堆栈或CLOCK改进算法中的循环结构;
按照最多5块的内存分配情况,编程实现所选算法,动态输入访问内存的块号序列,输出置换结果;
测试:输入合法、非法的访问序列数据,检查程序的正确性和健壮性。

●理解虚拟存储器的地址变换过程;
设计用于模拟快表、页表、地址变换所用的寄存器的数据结构;
编制页表的初始信息文件,举例说明文件中具有的信息:共有5块,每块的状态、在内存和外存的起始地址等。

编程实现虚拟存储器地址变换算法程序,动态输入所要访问的逻辑地址,变换过程文字描述以及变换后的物理地址;
测试:输入有效、无效地址,测试程序的正确性和错误处理能力。

实验结果:
置换算法程序提供内存访问序列的输入界面,输出正确的置换过程描述和置换结果;
虚拟地址变换程序提供逻辑地址输入界面,形象地表示出变换成物理地址的过程与最后变换成的物理地址。

实验三、磁盘调度算法的设计
实验目的:
通过对磁盘调度算法的设计,深入理解提高磁盘访问速度的原理。

实验内容:
模拟实现磁盘调度算法:最短寻道时间优先(SSTF)和扫描(SCAN)算法。

要求:
可以对给出的任意的磁盘请求序列、计算平均寻道长度;要求可定制磁盘请求序列长度、磁头起始位置、磁头移动方向。

测试:假设磁盘访问序列:98,183,37,122,14,124,65,67;读写头起始位置:53,方向:磁道增加的方向。

98 183 37 122 14 124 65 67
实验四、文件系统原理与模拟实现
实验目的:
了解操作系统中文件系统的结构和管理过程,掌握经典的算法:混合索引与成组链接法等方法。

实验内容:
编程模拟实现混合索引和成组链接法算法;
实验步骤:
●模拟混合索引的原理;
假设每个盘块16字节大小,每个盘块号占2字节:
设计支持混合索引算法的索引节点的数据结构;编程模拟实现混合索引算法。

测试:输入一个文件的长度,给出模拟分配占用的磁盘块的情况;
输入一个需要访问的地址,计算该地址所在的盘块号。

●模拟成组链接法的原理;
设系统具有7个可用磁盘块,每组3块。

编程模拟实现成组链接法。

输入请求的磁盘块数,模拟成组链接分配;输入回收的磁盘块号,模拟成组链接回收。

测试:输入请求的磁盘块数,给出分配后的链接情况。

输入回收的磁盘块号,给出回收后的链接情况。

将每3个盘块作为一组,最末一组盘块号为5~6,次末组为2~4,第一组为0~1,注意,最后一组的盘块数应为2,不应为3,其盘块号分别记入其前一组的S.free(1)~S.free(2),而在S.free(0)中则存放“0”,作为空闲盘块链的结束标志。

因为这是指可供使用的空闲盘块。

其编号应为1—2,0号放空闲盘块链的结尾标志。

相关文档
最新文档