操作系统本科实验任务
实训实验报告

实验名称:计算机操作系统原理实训实验日期:2023年4月10日实验地点:计算机实验室一、实验目的1. 理解操作系统基本原理,掌握操作系统的基本功能和模块。
2. 熟悉操作系统的实验环境,能够进行基本的实验操作。
3. 通过实验加深对操作系统原理的理解,提高动手能力。
二、实验内容1. 操作系统概述2. 进程管理3. 内存管理4. 文件系统5. I/O系统三、实验步骤1. 操作系统概述(1)了解操作系统的定义、功能和模块。
(2)掌握操作系统的基本类型,如批处理系统、分时系统和实时系统。
2. 进程管理(1)理解进程的概念、状态和生命周期。
(2)掌握进程调度算法,如先来先服务(FCFS)、短作业优先(SJF)和轮转(RR)。
(3)编写一个简单的进程调度程序,实现不同调度算法。
3. 内存管理(1)了解内存管理的目的和方法,如分页、分段和段页式。
(2)掌握内存分配算法,如首次适配(First Fit)、最佳适配(Best Fit)和最坏适配(Worst Fit)。
(3)编写一个简单的内存分配程序,实现不同分配算法。
4. 文件系统(1)了解文件系统的概念、功能和层次结构。
(2)掌握文件系统的主要操作,如创建、删除、打开、关闭和读写。
(3)编写一个简单的文件系统程序,实现文件的基本操作。
5. I/O系统(1)了解I/O系统的概念、功能和层次结构。
(2)掌握I/O设备管理,如中断、DMA和通道。
(3)编写一个简单的I/O系统程序,实现设备的基本操作。
四、实验结果与分析1. 操作系统概述通过实验,我们了解了操作系统的定义、功能和模块,掌握了操作系统的基本类型。
实验结果表明,操作系统是计算机系统中不可或缺的部分,它负责管理和协调计算机硬件资源,为用户提供良好的使用环境。
2. 进程管理通过实验,我们掌握了进程的概念、状态和生命周期,熟悉了进程调度算法。
实验结果表明,进程管理是操作系统中的重要组成部分,它能够有效地提高计算机系统的资源利用率。
《操作系统》实验报告

《操作系统》实验报告一、实验目的操作系统是计算机系统中最为关键的组成部分之一,本次实验的主要目的是深入理解操作系统的基本原理和功能,通过实际操作和观察,熟悉操作系统的核心概念,包括进程管理、内存管理、文件系统和设备管理等,提高对操作系统的实际应用能力和问题解决能力。
二、实验环境本次实验在以下环境中进行:操作系统:Windows 10开发工具:Visual Studio 2019编程语言:C++三、实验内容1、进程管理实验进程是操作系统中最基本的执行单元。
在这个实验中,我们使用C++编写程序来创建和管理进程。
通过观察进程的创建、执行和结束过程,理解进程的状态转换和资源分配。
首先,我们编写了一个简单的程序,创建了多个子进程,并通过进程标识符(PID)来跟踪它们的运行状态。
然后,使用等待函数来等待子进程的结束,并获取其返回值。
在实验过程中,我们发现进程的创建和销毁需要消耗一定的系统资源,而且进程之间的同步和通信需要谨慎处理,以避免出现死锁和竞争条件等问题。
2、内存管理实验内存管理是操作系统的核心功能之一,它直接影响系统的性能和稳定性。
在这个实验中,我们研究了动态内存分配和释放的机制。
使用 C++中的 new 和 delete 操作符来分配和释放内存。
通过观察内存使用情况和内存泄漏检测工具,了解了内存分配的效率和可能出现的内存泄漏问题。
同时,我们还探讨了内存分页和分段的概念,以及虚拟内存的工作原理。
通过模拟内存访问过程,理解了页表的作用和地址转换的过程。
3、文件系统实验文件系统是操作系统用于管理文件和目录的机制。
在这个实验中,我们对文件的创建、读写和删除进行了操作。
使用 C++的文件流操作来实现对文件的读写。
通过创建不同类型的文件(文本文件和二进制文件),并对其进行读写操作,熟悉了文件的打开模式和读写方式。
此外,还研究了文件的权限设置和目录的管理,了解了如何保护文件的安全性和组织文件的结构。
4、设备管理实验设备管理是操作系统与外部设备进行交互的桥梁。
《操作系统》实验报告

一、实验目的1. 理解进程的概念及其在操作系统中的作用。
2. 掌握进程的创建、调度、同步和通信机制。
3. 学习使用进程管理工具进行进程操作。
4. 提高对操作系统进程管理的理解和应用能力。
二、实验环境1. 操作系统:Windows 102. 软件环境:Visual Studio 20193. 实验工具:C++语言、进程管理工具(如Task Manager)三、实验内容1. 进程的创建与销毁2. 进程的调度策略3. 进程的同步与互斥4. 进程的通信机制四、实验步骤1. 进程的创建与销毁(1)创建进程使用C++语言编写一个简单的程序,创建一个新的进程。
程序如下:```cpp#include <iostream>#include <windows.h>int main() {// 创建进程STARTUPINFO si;PROCESS_INFORMATION pi;ZeroMemory(&si, sizeof(si));si.cb = sizeof(si);ZeroMemory(&pi, sizeof(pi));// 创建进程if (!CreateProcess(NULL, "notepad.exe", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {std::cout << "创建进程失败" << std::endl;return 1;}std::cout << "进程创建成功" << std::endl;// 等待进程结束WaitForSingleObject(pi.hProcess, INFINITE);// 销毁进程CloseHandle(pi.hProcess);CloseHandle(pi.hThread);return 0;}```(2)销毁进程在上面的程序中,通过调用`WaitForSingleObject(pi.hProcess, INFINITE)`函数等待进程结束,然后使用`CloseHandle(pi.hProcess)`和`CloseHandle(pi.hThread)`函数销毁进程。
《操作系统》课内实验报告

《操作系统》课内实验报告一、实验目的本次《操作系统》课内实验的主要目的是通过实际操作和观察,深入理解操作系统的基本原理和功能,掌握常见操作系统命令的使用,提高对操作系统的实际应用能力和问题解决能力。
二、实验环境本次实验在计算机实验室进行,使用的操作系统为 Windows 10 和Linux(Ubuntu 发行版)。
实验所使用的计算机配置为:Intel Core i5 处理器,8GB 内存,500GB 硬盘。
三、实验内容1、进程管理在 Windows 系统中,通过任务管理器观察进程的状态、优先级、CPU 使用率等信息,并进行进程的结束和优先级调整操作。
在 Linux 系统中,使用命令行工具(如 ps、kill 等)实现相同的功能。
2、内存管理使用 Windows 系统的性能监视器和资源监视器,查看内存的使用情况,包括物理内存、虚拟内存的占用和分配情况。
在 Linux 系统中,通过命令(如 free、vmstat 等)获取类似的内存信息,并分析内存的使用效率。
3、文件系统管理在 Windows 系统中,对文件和文件夹进行创建、复制、移动、删除等操作,了解文件的属性设置和权限管理。
在 Linux 系统中,使用命令(如 mkdir、cp、mv、rm 等)完成相同的任务,并熟悉文件的所有者、所属组和权限设置。
4、设备管理在 Windows 系统中,查看设备管理器中的硬件设备信息,安装和卸载设备驱动程序。
在 Linux 系统中,使用命令(如 lspci、lsusb 等)查看硬件设备,并通过安装内核模块来支持特定设备。
四、实验步骤1、进程管理实验(1)打开 Windows 系统的任务管理器,切换到“进程”选项卡,可以看到当前系统中正在运行的进程列表。
(2)选择一个进程,右键点击可以查看其属性,包括进程 ID、CPU 使用率、内存使用情况等。
(3)通过“结束任务”按钮可以结束指定的进程,但要注意不要随意结束系统关键进程,以免导致系统不稳定。
操作系统课程实验报告

一、实验概述实验名称:操作系统课程实验实验目的:1. 理解操作系统基本概念、原理及功能;2. 掌握操作系统的基本操作和应用;3. 提高实际操作能力和分析问题、解决问题的能力。
实验内容:1. 操作系统基本概念及原理的学习;2. 操作系统基本操作的应用;3. 实验项目:文件读写、多进程、多线程。
二、实验环境操作系统:Windows 10编译器:Visual Studio语言:C/C++实验平台:Windows 10系统下的虚拟机三、实验过程1. 操作系统基本概念及原理的学习操作系统是计算机系统中最基本的系统软件,负责管理计算机硬件资源、提供用户接口以及执行各种应用程序。
在实验过程中,我们学习了以下基本概念及原理:(1)进程管理:进程是操作系统能够进行运算处理的独立单位,具有动态性、并发性、异步性和独立性等特点。
进程管理主要包括进程的创建、调度、同步、通信和终止等。
(2)内存管理:内存管理是操作系统核心功能之一,主要负责分配、回收、保护和管理内存资源。
内存管理方式有分页、分段、段页式等。
(3)文件系统:文件系统是操作系统用于存储、检索和管理文件的机制。
文件系统主要包括目录结构、文件属性、文件操作等。
(4)设备管理:设备管理负责管理计算机系统中的各种外部设备,包括输入、输出和存储设备。
设备管理主要包括设备分配、设备驱动程序、缓冲区管理等。
2. 操作系统基本操作的应用在实验过程中,我们应用以下基本操作:(1)进程管理:创建、调度、同步、通信和终止进程。
(2)内存管理:分配、回收、保护和管理内存资源。
(3)文件系统:创建、删除、读写文件,实现目录结构的管理。
(4)设备管理:分配、回收、控制和管理设备。
3. 实验项目:文件读写、多进程、多线程(1)文件读写实验实验目的:掌握文件的基本操作,实现文件的创建、打开、读取、写入和关闭。
实验步骤:① 创建一个文件,命名为“test.txt”。
② 打开文件,以读写模式。
操作系统原理实验教学大纲(本科)-2013

《操作系统原理》实验教学大纲一、实验教学内容与基本要求实验一 批处理系统的作业调度1 目的要求1.加深对作业概念的理解;2.深入了解批处理系统如何组织作业、管理作业和调度作业。
2 实验内容编写程序完成批处理系统中的作业调度,要求采用响应比高者优先的作业调度算法。
实验具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所做工作进行测试。
3 所需实验设施设备PC、windows操作系统4 教学形式及过程演示、学生独立完成实验二 进程管理1 目的要求1.加深对进程概念的理解,明确进程和程序的区别。
2.深入了解系统如何组织进程、创建进程。
3.进一步认识如何实现处理器调度。
2 实验内容编写程序完成单处理机系统中的进程调度,要求采用时间片轮转调度算法。
实验具体包括:首先确定进程控制块的内容,进程控制块的组成方式;然后完成进程创建原语和进程调度原语;最后编写主函数对所做工作进行测试。
3 所需实验设施设备PC、windows操作系统4 教学形式及过程演示、学生独立完成实验三 动态分区存储管理方式的主存分配回收1 目的要求深入了解动态分区存储管理方式主存分配回收的实现。
2 实验内容编写程序完成动态分区存储管理方式的主存分配回收的实现。
实验具体包括:首先确定主存空间分配表;然后采用最优适应算法完成主存空间的分配和回收;最后编写主函数对所做工作进行测试。
3 所需实验设施设备PC、windows操作系统4 教学形式及过程演示、学生独立完成实验四 页式虚拟存储管理中地址转换和缺页中断1 目的要求1.深入了解页式存储管理如何实现地址转换;2.进一步认识页式虚拟存储管理中如何处理缺页中断。
2 实验内容编写程序完成页式存储管理中地址转换过程和模拟缺页中断的处理。
实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所做工作进行测试。
操作系统课程实验报告
操作系统课程实验报告一、实验目的操作系统是计算机系统中最核心的软件之一,它负责管理计算机的硬件资源和软件资源,为用户提供一个方便、高效、安全的工作环境。
本实验的目的是通过实际操作和观察,深入理解操作系统的基本原理和功能,掌握操作系统的常用命令和操作方法,提高解决实际问题的能力。
二、实验环境操作系统:Windows 10开发工具:Visual Studio Code三、实验内容1、进程管理观察进程的创建、终止和状态转换。
使用任务管理器查看系统中的进程信息,包括进程 ID、CPU 使用率、内存占用等。
通过编程实现创建和终止进程的功能。
2、内存管理了解内存的分配和回收机制。
使用 Windows 系统提供的性能监视器查看内存的使用情况。
编程实现简单的内存分配和释放算法。
3、文件系统管理熟悉文件和目录的操作,如创建、删除、复制、移动等。
研究文件的属性,如文件名、文件大小、创建时间等。
通过编程实现文件的读写操作。
4、设备管理认识设备的驱动程序和设备管理策略。
查看系统中的设备信息,如磁盘驱动器、打印机等。
模拟设备的中断处理过程。
四、实验步骤1、进程管理实验打开任务管理器,观察当前系统中正在运行的进程。
可以看到进程的名称、进程 ID、CPU 使用率、内存占用等信息。
使用 C++语言编写一个简单的程序,创建一个新的进程。
在程序中,使用`CreateProcess`函数来创建新进程,并设置进程的属性和参数。
编写另一个程序,用于终止指定的进程。
通过获取进程 ID,然后使用`TerminateProcess`函数来终止进程。
2、内存管理实验打开 Windows 性能监视器,选择“内存”选项卡,可以查看内存的使用情况,包括物理内存、虚拟内存、页面文件等的使用量和使用率。
编写一个 C 程序,使用动态内存分配函数(如`malloc`和`free`)来分配和释放内存。
在程序中,不断分配和释放一定大小的内存块,观察内存的使用情况和性能变化。
操作系统实验报告(本科)
操作系统实验报告一.实验目的:1.了解系统的使用环境、特点和基本使用方法。
2.熟悉并掌握Linux系统的常用命令。
3.了解并熟悉Linux系统中C语言程序的基本开发方法。
4.了解并熟悉Linux系统中shell编程的基本方法。
二.实验内容:1.Linux常用命令1)更改帐号密码语法: passwdOld password: <输入旧密码>New password: <输入新密码(最好为6~8字,英文字母与数字混合) > Retype new password: <再输入一次密码>2)联机帮助语法: man 命令例如:man ls3)远程登录语法:telnet 主机名或telnet IP地址例如:telnet doctelnet 140.109.20.2514)文件或目录处理列出文件或目录下的文件名。
语法: ls [-atFlgR] [name]name :文件名或目录名。
例如:ls 列出目前目录下的文件名。
ls -a 列出包括以.开始的隐藏文件的所有文件名。
ls -t 依照文件最后修改时间的顺序列出文件名。
ls -F 列出当前目录下的文件名及其类型。
以/结尾表示为目录名,以* 结尾表示为可执行文件,以@结尾表示为符号连接。
ls -l 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称。
ls -lg 同上,并显示出文件的所有者工作组名。
ls -R 显示出目录下以及其所有子目录的文件名。
5)改变工作目录语法:cd [name]name:目录名、路径或目录缩写。
例如:cd 改变目录位置至用户登录时的工作目录。
cd dir1 改变目录位置至dir1目录下。
cd ~user 改变目录位置至用户的工作目录。
cd .. 改变目录位置至当前目录的父目录。
cd ../user 改变目录位置至相对路径user 的目录下。
cd /../.. 改变目录位置至绝对路径的目录位置下。
《操作系统》课内实验报告
《操作系统》课内实验报告一、实验目的操作系统是计算机系统的核心组成部分,本次《操作系统》课内实验旨在通过实际操作和观察,深入理解操作系统的基本原理、功能和运行机制。
具体目的包括:1、熟悉操作系统的常用命令和操作,如文件管理、进程管理、内存管理等。
2、掌握操作系统的资源分配和调度策略,观察其对系统性能的影响。
3、培养解决操作系统相关问题的能力,提高动手实践和分析问题的能力。
二、实验环境本次实验在以下环境中进行:1、操作系统:Windows 10 专业版2、开发工具:Visual Studio Code三、实验内容及步骤(一)文件管理实验1、创建、删除和重命名文件及文件夹打开文件资源管理器,在指定目录下创建新的文件夹和文本文件。
对创建的文件和文件夹进行重命名操作,观察文件名的变化。
选择部分文件和文件夹进行删除操作,验证是否成功删除。
2、文件复制、移动和属性设置选取一些文件,将其复制到其他目录,并观察复制过程和结果。
把特定文件移动到不同的位置,检查文件是否正确迁移。
设置文件的属性,如只读、隐藏等,查看属性设置后的效果。
(二)进程管理实验1、查看系统进程打开任务管理器,观察当前正在运行的进程列表。
了解进程的名称、PID(进程标识符)、CPU 使用率、内存占用等信息。
2、进程的终止和优先级设置选择一个非关键进程,尝试终止其运行,观察系统的反应。
调整某些进程的优先级,观察其对系统资源分配和运行效率的影响。
(三)内存管理实验1、查看内存使用情况通过系统性能监视器,查看物理内存和虚拟内存的使用情况。
观察内存使用量随时间的变化趋势。
2、内存优化操作关闭一些不必要的后台程序,释放占用的内存资源。
调整虚拟内存的大小,观察对系统性能的改善效果。
四、实验结果与分析(一)文件管理实验结果1、成功创建、删除和重命名文件及文件夹,系统能够准确响应操作,文件名和文件夹名的修改即时生效。
2、文件的复制和移动操作顺利完成,数据无丢失和损坏。
《操作系统》课程实验报告
《操作系统》课程实验报告一、实验目的本次《操作系统》课程实验的主要目的是通过实际操作和观察,深入理解操作系统的工作原理、进程管理、内存管理、文件系统等核心概念,并掌握相关的操作技能和分析方法。
二、实验环境1、操作系统:Windows 10 专业版2、开发工具:Visual Studio Code3、编程语言:C/C++三、实验内容(一)进程管理实验1、进程创建与终止通过编程实现创建新进程,并观察进程的创建过程和资源分配情况。
同时,实现进程的正常终止和异常终止,并分析其对系统的影响。
2、进程同步与互斥使用信号量、互斥锁等机制实现进程之间的同步与互斥。
通过模拟多个进程对共享资源的访问,观察并解决可能出现的竞争条件和死锁问题。
(二)内存管理实验1、内存分配与回收实现不同的内存分配算法,如首次适应算法、最佳适应算法和最坏适应算法。
观察在不同的内存请求序列下,内存的分配和回收情况,并分析算法的性能和优缺点。
2、虚拟内存管理研究虚拟内存的工作原理,通过设置页面大小、页表结构等参数,观察页面的换入换出过程,以及对系统性能的影响。
(三)文件系统实验1、文件操作实现文件的创建、打开、读取、写入、关闭等基本操作。
观察文件在磁盘上的存储方式和文件系统的目录结构。
2、文件系统性能优化研究文件系统的缓存机制、磁盘调度算法等,通过对大量文件的读写操作,评估不同优化策略对文件系统性能的提升效果。
四、实验步骤(一)进程管理实验步骤1、进程创建与终止(1)使用 C/C++语言编写程序,调用系统函数创建新进程。
(2)在子进程中执行特定的任务,父进程等待子进程结束,并获取子进程的返回值。
(3)通过设置异常情况,模拟子进程的异常终止,观察父进程的处理方式。
2、进程同步与互斥(1)定义共享资源和相关的信号量或互斥锁。
(2)创建多个进程,模拟对共享资源的并发访问。
(3)在访问共享资源的关键代码段使用同步机制,确保进程之间的正确协作。
(4)观察并分析在不同的并发情况下,系统的运行结果和资源竞争情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一
一、实验名称
进程调度的设计与实现
二、实验目的
1、综合应用下列知识点设计并实现操作系统的进程调度:邻接表,布尔
数组,非阻塞输入,图形用户界面GUI,进程控制块,进程状态转换,多级反馈队列进程调度算法。
2、加深理解操作系统进程调度的过程。
3、加深理解多级反馈队列进程调度算法。
三、实验内容与主要设计思想
1、采用一种熟悉的语言,如C、PASCAL或C++等,编制程序。
2、采用多级反馈队列调度算法进行进程调度。
3、每个进程对应一个PCB。
在PCB中包括进程标识符pid、进程的状态
标识status、进程优先级priority、进程的队列指针next和表示进程生
命周期的数据项life(在实际系统中不包括该项)。
4、创建进程时即创建一个PCB,各个进程的pid都是唯一的,pid是在1
到100范围内的一个整数。
可以创建一个下标为1到100的布尔数组,“真”表示下标对应的进程标识号是空闲的,“假”表示下标对应的进
程标识号已分配给某个进程。
5、进程状态status的取值为“就绪ready”或“运行run”,刚创建时,
状态为“ready”。
被进程调度程序选中后变为“run”。
6、进程优先级priority是0到49范围内的一个随机整数。
7、进程生命周期life是1到5范围内的一个随机整数。
8、初始化时,创建一个邻接表,包含50个就绪队列,各就绪队列的进
程优先级priority分别是0到49。
9、为了模拟用户动态提交任务的过程,要求动态创建进程。
进入进程调
度循环后,每次按ctrl+f即动态创建一个进程,然后将该PCB插入就
绪队列中。
按ctrl+q退出进程调度循环。
10、在进程调度循环中,每次选择优先级最大的就绪进程来执行。
将
其状态从就绪变为运行,通过延时一段时间来模拟该进程执行一个时
间片的过程,然后优先级减半,生命周期减一。
设计图形用户界面GUI,在窗口中显示该进程和其他所有进程的PCB内容。
如果将该运行进程
的生命周期不为0,则重新把它变为就绪状态,插入就绪队列中;否
则该进程执行完成,撤消其PCB。
以上为一次进程调度循环。
11、在上机实现该程序之后,要求写出实验报告,其中包括实验名称、
实验目的、实验内容、程序的主要流程图、实验心得和主要源程序清
单等。
四、操作系统综合性、设计性实验课程介绍
(1)课程简介与要求
《操作系统》是计算机专业学生的必修课程,该课程要求以计算机
组成原理、数据结构、PASCAL语言程序设计(或C语言程序设计)
作为先行课程。
课程的教学目标是:使学生学习和掌握操作系统
的主要功能、基本原理、主要算法和实施技术,懂得操作系统在现
代计算机系统中的重要作用,具有分析实际操作系统的基本能力。
(2)实验目的及要求
巩固和加深对操作系统相关知识的理解;掌握模拟的实验方法;提
高编程能力。
(3)实验方式与要求
根据在操作系统课程所学的理论,采用模拟的方法编程实现操作系
统的某些功能,上机调试通过,并提交实验报告。
(4)考试方法及评分
上机检查与批改实验报告相结合,占总评成绩的20%到30%。
(5)主要仪器设备
台式电脑。
(6)教材及参考书
教材:
《计算机操作系统教程》张尧学等,清华大学出版社,2006年10月第3版
主要参考书:
《UNIX操作系统教程》尤晋元,西北电讯工程学院出版社,1985
年
●《操作系统》冯耀霖等,西安电子科技大学出版社,1994年
●《操作系统原理》尤晋元,上海交大出版社,1984年
●《计算机操作系统》汤子瀛等,西安电子科技大学出版社,1996年
12月第一版
[附录一] 实验报告的格式
实验课程:操作系统
实验名称:进程调度的设计与实现(综合实验)
第一部分实验内容
1.实验目标
1、综合应用下列知识点设计并实现操作系统的进程调度:邻接表,布尔
数组,非阻塞输入,图形用户界面GUI,进程控制块,进程状态转换,多级反馈队列进程调度算法。
2、加深理解操作系统进程调度的过程。
3、加深理解多级反馈队列进程调度算法。
2. 实验任务
1、用一种熟悉的语言,如C、PASCAL或C++等,编制程序。
2、采用多级反馈队列调度算法进行进程调度。
3. 实验设备及环境
PC;C/C++等编程语言。
4. 实验主要步骤
(1)根据实验目标,明确实验的具体任务;
(2)编写程序实现进程调度算法;
(3)设计实验数据并运行程序、记录运行的结果;
(4)分析实验结果;
(5)实验后的心得体会。
第二部分问题及算法
1.问题描述(学生填)
2. 多级反馈队列进程调度算法的一般思路(学生填)
3. 算法实现的关键点(学生填)
第三部分实验结果与分析
1.实验数据及结果(学生填)
2.实验分析及结论(学生填)
第四部分心得与展望
1.自我评价及心得体会(学生填)
2. 展望(学生填)
第五部分附录
1. 主要界面(学生填)
2. 源程序(学生填)
参考文献(学生填)
实验二
一、实验名称
模拟操作系统的页面置换
二、实验目的
1、掌握操作系统的页面置换过程,加深理解页式虚拟存储器的实现原理。
2、掌握用随机数生成满足一定条件的指令地址流的方法。
3、掌握页面置换的模拟方法。
三、实验要求与提示
1、采用一种熟悉的语言,如C、PASCAL、C++或Java等,编制程序。
2、模拟操作系统采用OPT、FIFO和LRU算法进行页面置换的过程。
3、设程序中地址范围为0到32767,采用随机数生成256个指令地址,满足
50%的地址是顺序执行,25%向前跳,25%向后跳。
为满足上述条件,可
采取下列方法:设d0=10000,第n个指令地址为d n,第n+1个指令地址
为d n+1,n的取值范围为0到255。
每次生成一个1到1024范围内的随机
数a,如果a落在1到512范围内,则d n+1=d n+1。
如果a落在513到768
范围内,则设置d n+1为1到d n范围内一个随机数。
如果a落在769到1024
范围内,则设置d n+1为d n到32767范围内一个随机数。
4、页面大小的取值范围为1K,2K,4K,8K,16K。
按照页面大小将指令
地址转化为页号。
对于相邻相同的页号,合并为一个。
5、分配给程序的内存块数取值范围为1块,2块,直到程序的页面数。
6、分别采用OPT、FIFO和LRU算法对页号序列进行调度,计算出对应的
缺页中断率。
7、打印出页面大小、分配给程序的内存块数、算法名、对应的缺页中断率。
8、分析页面大小和分配给程序的内存块数对缺页中断率的影响。
分析不同
的页面置换算法的调度性能。
9、在上机实现该程序之后,要求写出实验报告,其中包括实验名称、实验
目的、实验内容、程序的主要流程图、实验心得和主要源程序清单等。