四川大学计算机操作系统第四实验报告
计算机操作系统实验报告

计算机操作系统实验报告一、实验目的本次实验的主要目的是深入了解计算机操作系统的工作原理和功能,通过实际操作和观察,掌握操作系统的基本概念和常用命令,提高对计算机系统的管理和控制能力。
二、实验环境1、操作系统:Windows 10 专业版2、硬件配置:Intel Core i5 处理器,8GB 内存,256GB 固态硬盘三、实验内容1、进程管理通过任务管理器观察系统中正在运行的进程,包括进程的名称、PID(进程标识符)、CPU 使用率、内存使用情况等。
尝试结束一些非关键进程,观察系统的反应。
2、内存管理使用系统自带的性能监视器查看内存的使用情况,包括物理内存、虚拟内存的总量、已使用量和可用量。
运行一些大型程序,观察内存的分配和释放过程。
3、文件管理创建、复制、移动、删除文件和文件夹,观察文件系统的操作效果。
查看文件和文件夹的属性,包括大小、创建时间、修改时间、访问权限等。
4、设备管理查看设备管理器中硬件设备的状态,包括是否正常工作、驱动程序的版本等。
尝试更新一些设备的驱动程序,观察设备性能的变化。
四、实验步骤及结果1、进程管理打开任务管理器,可以看到系统中正在运行的进程列表。
进程按照名称、PID、CPU 使用率、内存使用情况等进行排序。
例如,系统进程“System”和“svchostexe”通常占用一定的 CPU 和内存资源。
尝试结束一些非关键进程,如某些后台运行的软件进程。
在结束进程时,系统会提示可能会导致相关程序无法正常运行,确认后结束进程。
部分进程结束后,对应的程序会关闭,系统的资源占用也会相应减少。
2、内存管理打开性能监视器,在“内存”选项中可以直观地看到物理内存和虚拟内存的使用情况。
当运行大型程序时,如游戏或图形处理软件,内存的使用量会显著增加。
随着程序的关闭,已使用的内存会逐渐释放,可用内存量会回升。
3、文件管理在文件资源管理器中进行文件和文件夹的操作。
创建新文件和文件夹时,可以指定名称、类型和存储位置。
计算机操作系统实验报告

中南大学计算机操作系统实验报告................................................................................................................................................................................................................1、增强学生对计算机操作系统基本原理、基本理论、基本算法的理解;2、提高和培养学生的动手能力。
1、每人至少选作1 题,多做不限;2、每人单独完成,可以讨论,但每人的设计内容不得彻底相同,抄袭或者有2 人/多人设计彻底一样者,不能通过;3、设计完成后,应上交课程设计文档,文档格式应是学校课程设计的标准格式,所有学生的封面大小、格式也必须一样;4、同时上交设计的软盘(或者以班刻录光盘)。
调度算法的摹拟:摹拟各种调度算法,并进行调度性能分析。
摹拟了一个作业调度算法,其中用到了先来先服务算法(FCFS)、短作业优先算法(SJF)、最高响应比优先算法(HRN)三种算法。
如下,分别为三种算法的程序流程图。
图1 - 开始界面图 2 –输入作业的信息(名字、提交时间、运行时间) 图3 –选择算法(FCFS 、SJF、HRN)图4、5 –选择FCFS 算法后输出结果图6、7 –选择SJF 算法后输出结果图8、9 –选择HRN 算法后输出结果能体现公平性;一旦一个较长的作业进入系统后就会长期的占用系统的资源,这样如果有优先级较高的短作业需要执行的话需要等待很长期。
比前者改善了平均周转时间和平均带权周转时间,缩短作业的等待时间,提高系统的吞吐量;对长作业非常不利,可能长期得不到执行,未能一句作业的紧迫程度来划分执行的优先级,难以准确估计作业的执行时间,从而影响调度性能。
这种算法是对FCFS 方式和SJF 方式的一种综合平衡。
四川大学操作系统实验报告

四川⼤学操作系统实验报告实验报告实验名称:Windows虚拟存储器管理实验时间:2014 年 5 ⽉28 ⽇实验⼈员:张熙(姓名)2012141461286 (学号)____2012____(年级)实验⽬的:1、了解Windows 2000/XP的内存管理机制,掌握页式虚拟存储技术。
2、理解内存分配原理,特别是以页⾯为单位的虚拟内存分配⽅法。
3、学会使⽤Windows 2000/XP下内存管理的基本API函数。
实验环境:VC6.0实验步骤:1、下载virtumem.cpp;2、建⽴⼯程,将virtumen.cpp加⼊;3、编译⼯程,观察结果,确信六种状态都出现⾄少⼀次,必要时可改程序,⽅便观察结果;4、看懂程序,按要求另写⼀段⼩程序;5、编译,执⾏,观察结果。
6,总结。
实验陈述:1、基础知识:pagefile.sys⽂件的位置在:____系统盘的根⽬录下,属性为系统隐藏⽂件此⽂件的作⽤:__以磁盘⽂件的形式来存储没有装⼊内存的程序和数据⽂件部分改变此⽂件⼤⼩的⽅法:⽅法是:右击“我的电脑”,依次选择“属性”->“⾼级”->“性能-选项”->“⾼级”->“虚拟内存-更改”虚拟地址空间中的页⾯分为:提交页⾯,___保留页⾯________,______空闲页⾯_______页⾯的操作可以分为:保留、提交、回收、释放、加锁、解锁2、编程准备.页⾯属性是在结构体______MEMORY_BASIC_INFORMA TION_______的字段AllocationProtect 和字段Protect 中体现出来的。
简述VirtualFree,VirtualPtotect,VirtualLock,VirtualUnlock,VirtualQuery的作⽤:VirtualFree:解除已被提交的虚存或者释放被保留或者提交虚拟地址空间。
VirtualFree还可以⽤来对已提交的虚拟地址页解除提交,使得该段地址空间变成保留状态。
计算机操作系统实验报告

计算机操作系统实验报告一、实验目的本次计算机操作系统实验的主要目的是深入了解操作系统的工作原理和功能,通过实际操作和观察,增强对操作系统概念的理解,提高解决实际问题的能力。
二、实验环境1、操作系统:Windows 10 专业版2、开发工具:Visual Studio 20193、编程语言:C++三、实验内容1、进程管理实验创建多个进程,并观察它们的执行顺序和资源占用情况。
使用进程控制块(PCB)来跟踪进程的状态变化,如就绪、运行、阻塞等。
2、内存管理实验模拟内存分配和回收算法,如首次适应算法、最佳适应算法和最坏适应算法。
观察不同算法在内存利用率和分配效率方面的表现。
3、文件系统实验创建、读取、写入和删除文件,了解文件的操作流程。
研究文件的存储结构和目录管理方式。
4、线程同步与互斥实验使用互斥锁和信号量来实现线程之间的同步和互斥操作。
观察在多线程环境下资源竞争和同步的效果。
四、实验步骤1、进程管理实验步骤编写 C++程序,使用系统调用创建多个进程。
在每个进程中输出进程的标识符和当前执行时间。
通过观察控制台输出,分析进程的执行顺序和资源占用情况。
2、内存管理实验步骤实现不同的内存分配算法,并在程序中模拟内存请求和释放的过程。
记录每次内存分配和回收的结果,计算内存利用率和分配时间。
3、文件系统实验步骤使用文件操作函数创建文件,并写入一些数据。
读取文件中的数据,并将其输出到控制台。
删除文件,观察文件系统的变化。
4、线程同步与互斥实验步骤创建多个线程,共享一些公共资源。
在访问公共资源的代码段前使用互斥锁或信号量进行同步控制。
观察线程的执行结果,确保资源的正确访问和修改。
五、实验结果与分析1、进程管理实验结果与分析实验结果显示,进程的执行顺序是不确定的,取决于操作系统的调度策略和进程的优先级。
资源占用情况也因进程的不同而有所差异,一些进程可能占用较多的 CPU 时间和内存,而另一些则相对较少。
2、内存管理实验结果与分析首次适应算法在分配速度上较快,但容易产生内存碎片。
四川大学操作系统课程设计第四次实验程序report (2)

实验报告实验名称:作业调度系统实验时间: 2013 年 5 月 20 日实验人员:_实验目的:理解操作系统中调度的概念和调度算法。
学习Linux下进程控制以及进程之间通信的知识。
理解在操作系统中作业是如何被调度的,如何协调和控制各个作业对CPU的使用。
实验环境: linux 实验步骤:1.拷贝源程序到Linux系统下(一个头文件job.h,五个源文件 scheduler.c、enq.c、deq.c、stat.c、signal.c).2.调用vi编辑器修改job.h文件,为命名管道FIFO设置正确的路径.找到宏定义语句#define FIFO “/home/student/SVRFIFO”修改引号内的路径为任意已存在的路径,SVRFIFO 是准备创建管道的文件名,可任意命名.3.用gcc分别编译连接作业调度程序scheduler.c 、三个命令程序enq.c、deq.c、stat.c 和作业signal.c.4.在一个终端中运行作业调度程序scheduler.c作为服务端.5.重新打开一个终端,用enq提交编译后的作业signal.c,并用stat查看状态、deq退出作业.enq和deq此处要用完全路径.6.修改scheduler.c文件,添加作业的打印信息,即修改函数do_stat,要求再输出作业的当前优先级、默认优先级两项内容找到语句printf(“JID\tPID\tOWNER\tRUNTIME\tWAITTIME\tCREATTIME\t\tSTATE\n”);在其中添加DEFPRI 、 CURPRI两项,并在接下来的两个printf输出语句根据前面的添加对应修改,注意printf语句的输出格式,输出参数名和类型参照jobinfo结构体.(可以参照修改后的scheduler.c)7. 重新编译连接scheduler.c并重复步骤4和5.实验陈述:1、基础知识:✧说明进程与程序的区别:进程是系统进行资源分配和调度的一个独立单位。
操作系统:实验4 存储管理(实验报告)

欢迎共阅班级: 姓名: 学号:5) 当前计算机的实际内存大小为:______________________________________ 分析程序4-1,请回答问题:1) 理论上每个Windows 应用程序可以独占的最大存储空间是:_____________2) 程序中,用于检查系统中虚拟内存特性的API 函数是:__________________ 4.2 Windows 虚拟内存本节实验的目的是:实验4存储管理1) 通过实验了解Windows内存的使用,学习如何在应用程序中管理内存,体会Windows应用程序内存的简单性和自我防护能力。
2) 学习检查虚拟内存空间或对其进行操作;3) 了解Windows的内存结构和虚拟内存的管理,进而了解进程堆和Windows为使用内存而提供的一些扩展功能。
1. 工具/准备工作在开始本节实验之前,请回顾教材的相关内容。
需要准备一台运行Windows系统的计算机,且安装了C/C++编译器。
2. 实验内容与步骤将系统当前的保留区(reserved)虚拟地址空间填入表4.3中。
表4.3 实验记录2) 根据运行结果,请简单描述程序运行的流程:_________________________________________________________________________________________________________________________________________的程序段,该段程序试图通过VirtualAlloc()函数,然后利用物理备用内存将整个块分配到虚拟内存空间的任何位置。
这种技术只对拥有1GB以上的RAM且都有换页文件的计算机可行。
从运行结果看,这种技术成功了吗?_________________。
3) 程序中说明为___________________________________________________的程序段,该段程序利用VirtualAlloc()函数,如果函数成功,则获得大块内存,但不将任何物理内存调配到此块中。
操作系统week04实验报告

四川大学计算机学院、软件学院
实验报告
学号: 2013141463026 姓名:马健专业:软件工程班级: 5班第四周
实验报告说明
专业实验中心
实验名称要用最简练的语言反映实验的内容。
如验证某程序、定律、算法,可写成“验证×××”;分析×××。
实验目的目的要明确,要抓住重点,可以从理论和实践两个方面考虑。
在理论上,验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序的调试方法。
一般需说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。
实验环境实验用的软硬件环境(配置)。
实验内容(算法、程序、步骤和方法)这是实验报告极其重要的内容。
这部分要写明依据何种原理、定律算法、或操作方法进行实验,要写明经过哪几个步骤。
还应该画出流程图(实验装置的结构示意图),再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。
数据记录和计算指从实验中测出的数据以及计算结果。
结论(结果)即根据实验过程中所见到的现象和测得的数据,作出结论。
小结对本次实验的体会、思考和建议。
备注或说明可写上实验成功或失败的原因,实验后的心得体会、建议等。
注意:
∙实验报告将记入实验成绩;
∙按时提交实验报告。
计算机操作系统实验四

计算机操作系统实验四计算机操作系统实验四一、实验目的本实验旨在通过实践,让学生熟悉并理解操作系统中进程调度和死锁的相关概念、算法和解决方法。
二、实验要求1.学习理解进程调度的基本概念和相关算法,包括先来先服务(FCFS)、短作业优先(SJF)、高响应比优先(HRRN)以及时间片轮转等算法。
2.掌握进程调度算法的实现原理和代码实现方法。
3.学习理解死锁的概念、产生原因以及解决方法,包括资源分配图法、银行家算法等。
4.掌握死锁相关算法的实现原理和代码实现方法。
5.进行相关实验操作,并记录实验结果和分析。
三、实验步骤1.进程调度实验1.1 实验环境配置在操作系统中配置相关环境,创建进程调度实验所需的实验环境,包括进程控制块(PCB)、进程队列、进程状态等。
1.2 先来先服务(FCFS)算法实现阐述先来先服务算法的实现原理,包括就绪队列、完成队列的管理和进程状态的切换。
1.3 短作业优先(SJF)算法实现阐述短作业优先算法的实现原理,包括作业调度表、就绪队列、完成队列的管理和进程状态的切换。
1.4 高响应比优先(HRRN)算法实现阐述高响应比优先算法的实现原理,包括计算响应比、优先级比较和进程状态的切换。
1.5 时间片轮转算法实现阐述时间片轮转算法的实现原理,包括设置时间片长度、就绪队列的管理和进程状态的切换。
1.6 实验结果分析运行各种进程调度算法,并记录实验结果,分析每种算法的优缺点和适用场景。
2.死锁实验2.1 死锁概念和产生原因阐述死锁的概念、产生原因,包括资源竞争、进程互斥、不可抢占和循环等。
2.2 资源分配图法实现阐述资源分配图法解决死锁的实现原理,包括资源分配图的构建和死锁检测算法的应用。
2.3 银行家算法实现阐述银行家算法解决死锁的实现原理,包括安全序列的判断和资源分配的策略。
2.4 实验结果分析运行资源分配图法和银行家算法,记录实验结果,分析算法的效果和应用场景。
四、实验结果及分析经过实验,我们得到了以下结果和分析:1.进程调度实验结果分析在不同的进程调度算法下,记录了各个进程在不同时刻的执行情况、等待时间和周转时间等指标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
(学生打印后提交)
实验名称:作业调度系统
实验时间: 2015 年 6 月 4 日
实验人员:________(姓名)_____(学号)______(年级)
实验目的:
•理解操作系统中调度的概念和调度算法。
•学习Linux下进程控制以及进程之间通信的知识。
•理解在操作系统中作业是如何被调度的,如何协调和控制各个作业对CPU的使用
实验环境: linux
实验步骤:
1. 1、调用vi编辑器修改job.h文件,为命名管道FIFO设置正确的路径,修改语句:#define
FIFO "/home/student/SVRFIFO"
2. 修改scheduler.c文件,添加作业的打印信息,即修改函数do_stat,要求再输出作业名称、当
前优先级、默认优先级。
3. 在printf( “JID\tPID\tOWNER\tRUNTIME\tWAITTIME\tCREATTIME\t\tSTATE\n”);语句
中添加JOBNAME、CURPRI、DEFPRI。
4. 接下来的两个输出语句根据表头修改,注意printf语句的输出格式,输出的信息内容参照
jobinfo结构体。
5、用gcc分别编译连接作业调度程序、三个命令程序。
6、在一个控制台窗口中运行作业调度程序作为服务端。
7、提交一个运行时间超过100毫秒的作业(要求提供源程序),并编译连接。
8.再打开一个窗口登录服务器作为客户端,在其中运行作业控制命令(提交作业、删除作业、查看信息),
在服务端观察调度情况,分析所提交作业的执行情况。
实验陈述:
1、基础知识:
✧说明进程与程序的区别:程序是静态的指令集合,不占用系统的运行资源,可以长久保存在
磁盘。
进程是进程实体(程序、数据和进程控制块构成)的运行过程,是系统进行资源分配和
调度的一个独立单位。
进程执行程序,但进程与程序之间不是一一对应的。
通过多次运行,同一
程序可以对应多个进程;通过调用关系,一个进程可以包含多个程序。
✧说明进程与作业的区别:作业是用户一个事务处理过程中要求计算机系统所做工作
的集合,作业可以包含几个进程。
✧说明作业调度与进程调度的区别:作业调度是按照一定的原则从外存的作业后备队
列中选择作业调入内存,并为其分配资源,创建相应的进程,然后进入就绪队列。
进
程调度是按照某种策略或方法从就绪队列中选择进程,将处理机分配给它。
2、实验知识
✧本实验作业有几种状态READY:作业准备就绪可以运行。
RUNNING:作业正在运行DONE:
作业已经运行结束,可以退出。
有这三种状态,但只用到前两种。
✧
✧本实验作业控制命令处理程序包括:有三个作业控制命令处理程序:作业入队命
令enq,作业出队命令deq,作业状态查看命令stat.
分别实现什么功能:作业入队命令enq:给scheduler调度程序发出入队请求,将作
业提交给系统运行.作业出队命令deq:给scheduler调度程序发出一个出队请求.作
业状态查看命令stat:在标准输出上打印出当前运行作业及就绪队列中各作业的信息,
包括:进程的pid;作业提交者的user name;作业执行的时间;在就绪队列中总的
等待时间;作业创建的时刻;此时作业的状态
✧本实验采用什么进行进程之间的通信 FIFO
它相当于什么作用 1、调度程序负责创建一个FIFO文件;2、命令程序负责把命令按照
struct jobcmd格式写进FIFO中;3、调度程序从FIFO中读取用户提交的命令。
3、完成下列程序问题
✧根据自己创建的目录更改fifo文件存在的路径,请写出更改的路径名
#define FIFO "/home/student/SVRFIFO"
✧在打印出作业名称的时候应该注意什么问题
在
printf( “JID\tPID\tOWNER\tRUNTIME\tWAITTIME\tCREATTIME\t\tSTATE\n”);
语句中添加JOBNAME、CURPRI、DEFPRI,在接下来的两个输出语句根据表头修改,注
意printf语句的输出格式,输出的信息内容参照jobinfo结构体进行修改。
✧提交一个运行时间超过100毫秒的作业
运行作业调度程序,分析提交作业的执行情况
运行作业调度程序,系统将作业调入内存,并为其分配资源,从上面的图中可以看出为作业创建了作业id和进程id。
实验总结:
通过本次实验我更加深刻地理解了命名管道(FIFO)可实现调度进程与命令程序间的通信,deq、enq、stat等命令的使用方法。
更加巩固了一些常用命令的学习。