计算机操作系统实验课实验报告
实训实验报告

实验名称:计算机操作系统原理实训实验日期: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. 进程管理通过实验,我们掌握了进程的概念、状态和生命周期,熟悉了进程调度算法。
实验结果表明,进程管理是操作系统中的重要组成部分,它能够有效地提高计算机系统的资源利用率。
计算机操作系统实验报告

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

操作系统实验实验报告一、实验目的操作系统是计算机系统中最为关键的核心软件,它管理着计算机的硬件资源和软件资源,为用户提供了一个方便、高效、稳定的工作环境。
本次操作系统实验的目的在于通过实际操作和实践,深入理解操作系统的基本原理和核心概念,掌握操作系统的基本功能和操作方法,提高对操作系统的认识和应用能力。
二、实验环境本次实验使用的操作系统为 Windows 10 专业版,开发工具为Visual Studio 2019,编程语言为 C 和 C++。
实验硬件环境为一台配备Intel Core i7 处理器、16GB 内存、512GB SSD 硬盘的个人计算机。
三、实验内容(一)进程管理实验1、进程创建与终止通过编程实现创建新的进程,并在完成任务后终止进程。
在实验中,我们使用了 Windows API 函数 CreateProcess 和 TerminateProcess 来完成进程的创建和终止操作。
通过观察进程的创建和终止过程,深入理解了进程的生命周期和状态转换。
2、进程同步与互斥为了实现进程之间的同步与互斥,我们使用了信号量、互斥量等同步对象。
通过编写多线程程序,模拟了多个进程对共享资源的访问,实现了对共享资源的互斥访问和同步操作。
在实验中,我们深刻体会到了进程同步与互斥的重要性,以及不正确的同步操作可能导致的死锁等问题。
(二)内存管理实验1、内存分配与释放使用 Windows API 函数 VirtualAlloc 和 VirtualFree 进行内存的分配和释放操作。
通过实验,了解了内存分配的不同方式(如堆分配、栈分配等)以及内存释放的时机和方法,掌握了内存管理的基本原理和操作技巧。
2、内存分页与分段通过编程模拟内存的分页和分段管理机制,了解了内存分页和分段的基本原理和实现方法。
在实验中,我们实现了简单的内存分页和分段算法,对内存的地址转换和页面置换等过程有了更深入的理解。
(三)文件系统实验1、文件操作使用 Windows API 函数 CreateFile、ReadFile、WriteFile 等进行文件的创建、读取和写入操作。
操作系统安全实验1实验报告

操作系统安全实验1实验报告一、实验目的本次操作系统安全实验的主要目的是让我们深入了解操作系统的安全机制,通过实际操作和观察,掌握一些常见的操作系统安全配置和防护方法,提高对操作系统安全的认识和应对能力。
二、实验环境本次实验使用的操作系统为Windows 10 和Linux(Ubuntu 2004),实验设备为个人计算机。
三、实验内容与步骤(一)Windows 10 操作系统安全配置1、账户管理创建新用户账户,并设置不同的权限级别,如管理员、标准用户等。
更改账户密码策略,包括密码长度、复杂性要求、密码有效期等。
启用账户锁定策略,设置锁定阈值和锁定时间,以防止暴力破解密码。
2、防火墙配置打开 Windows 防火墙,并设置入站和出站规则。
允许或阻止特定的应用程序通过防火墙进行网络通信。
3、系统更新与补丁管理检查系统更新,安装最新的 Windows 安全补丁和功能更新。
配置自动更新选项,确保系统能够及时获取并安装更新。
4、恶意软件防护安装并启用 Windows Defender 防病毒软件。
进行全盘扫描,检测和清除可能存在的恶意软件。
(二)Linux(Ubuntu 2004)操作系统安全配置1、用户和组管理创建新用户和组,并设置相应的权限和归属。
修改用户密码策略,如密码强度要求等。
2、文件系统权限管理了解文件和目录的权限设置,如读、写、执行权限。
设置特定文件和目录的权限,限制普通用户的访问。
3、 SSH 服务安全配置安装和配置 SSH 服务。
更改 SSH 服务的默认端口号,增强安全性。
禁止 root 用户通过 SSH 登录。
4、防火墙配置(UFW)启用 UFW 防火墙。
添加允许或拒绝的规则,控制网络访问。
四、实验结果与分析(一)Windows 10 操作系统1、账户管理成功创建了具有不同权限的用户账户,并能够根据需求灵活调整权限设置。
严格的密码策略有效地增加了密码的安全性,减少了被破解的风险。
账户锁定策略在一定程度上能够阻止暴力破解攻击。
操作系统实验报告6

操作系统实验报告6一、实验目的本次操作系统实验的主要目的是深入了解和掌握操作系统中进程管理、内存管理、文件系统等核心概念和相关技术,通过实际操作和观察,增强对操作系统工作原理的理解,并提高解决实际问题的能力。
二、实验环境本次实验使用的操作系统为 Windows 10,实验工具包括 Visual Studio 2019 等。
三、实验内容(一)进程管理实验1、创建多个进程,并观察它们的运行状态和资源占用情况。
通过编写简单的C++程序,使用Windows API 函数创建多个进程。
在程序中,设置不同的进程优先级和执行时间,观察操作系统如何调度这些进程,以及它们对 CPU 使用率和内存的影响。
2、进程间通信实现了进程间的管道通信和消息传递。
通过创建管道,让两个进程能够相互交换数据。
同时,还使用了 Windows 的消息机制,使进程之间能够发送和接收特定的消息。
(二)内存管理实验1、内存分配与释放使用 C++的动态内存分配函数(如`malloc` 和`free`),在程序运行时动态申请和释放内存。
观察内存使用情况,了解内存碎片的产生和处理。
2、虚拟内存管理研究了 Windows 操作系统的虚拟内存机制,通过查看系统的性能监视器,观察虚拟内存的使用情况,包括页面文件的大小和读写次数。
(三)文件系统实验1、文件操作进行了文件的创建、读取、写入、删除等基本操作。
通过编写程序,对不同类型的文件(如文本文件、二进制文件)进行处理,了解文件系统的工作原理。
2、目录操作实现了目录的创建、删除、遍历等功能。
了解了目录结构在文件系统中的组织方式和管理方法。
四、实验步骤(一)进程管理实验步骤1、打开 Visual Studio 2019,创建一个新的 C++控制台项目。
2、在项目中编写代码,使用`CreateProcess` 函数创建多个进程,并设置它们的优先级和执行时间。
3、编译并运行程序,通过任务管理器观察进程的运行状态和资源占用情况。
计算机操作系统实验报告

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

《操作系统》课内实验报告一、实验目的本次《操作系统》课内实验的主要目的是通过实际操作和观察,深入理解操作系统的基本原理和功能,掌握常见操作系统命令的使用,提高对操作系统的实际应用能力和问题解决能力。
二、实验环境本次实验在计算机实验室进行,使用的操作系统为 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)通过“结束任务”按钮可以结束指定的进程,但要注意不要随意结束系统关键进程,以免导致系统不稳定。
计算机操作系统实训报告范文

计算机操作系统实训报告范文英文版Computer Operating System Practical Training Report SampleIntroductionIn this report, I will discuss the practical training I underwent in the computer operating system course. The training involved hands-on experience with various operating systems, including Windows, Linux, and MacOS. I will provide an overview of the tasks I completed during the training, as well as the skills I acquired.Tasks CompletedDuring the practical training, I completed a series of tasks aimed at familiarizing myself with the different operating systems. These tasks included installing and configuring the operating systems, managing user accounts, setting up network connections, and troubleshooting common issues. I also learned how to use command line interfaces and perform system maintenance tasks.Skills AcquiredThrough the practical training, I acquired a range of skills that will be valuable in my future career as a computer scientist. I learned how to navigate and customize different operating systems, troubleshoot software and hardware issues, and optimize system performance. I also gained experience working with virtual machines and remote access tools, which will be useful in a variety of professional settings.ConclusionOverall, the practical training in the computer operating system course was a valuable learning experience. I gained a deeper understanding of how operating systems work and developed practical skills that will benefit me in my future career. I lookforward to applying what I have learned in future projects and continuing to expand my knowledge in this field.英文版计算机操作系统实训报告范文介绍在这份报告中,我将讨论我在计算机操作系统课程中接受的实训。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告实验课程: 计算机操作系统学生姓名: XXX 学号: XXXX专业班级:软件2014年12月25日目录实验一熟悉Windows XP中的进程和线程错误!未定义书签。
实验二进程调度 ..... 错误!未定义书签。
实验三死锁避免—银行家算法的实现错误!未定义书签。
实验四存储管理 ..... 错误!未定义书签。
实验一熟悉Windows XP中的进程和线程一、实验名称熟悉Windows XP中的进程和线程二、实验目的1、熟悉Windows中任务管理器的使用。
2、通过任务管理器识别操作系统中的进程和线程的相关信息。
3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。
三、实验结果分析1、启动操作系统自带的任务管理器:方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“”。
2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并完成下表:表一:统计进程的各项主要信息序号进程名称进程ID线程数量占用内存优先级占CPU时间虚拟内存173********k标准0:00:009200k 2722834124k高0:00:043372k 35144308588k标准0:00:1543652k 446681120700k标准0:00:0123572k 5590831716k标准0:00:002128k 658161730340k标准0:00:1121720k3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。
再从任务管理器中分别找到下列程序:、、、,试着结束它们,观察到的反应是任务管理器无法结束进程,原因是该系统是系统进程。
4、在任务管理器中找到进程“”,将之结束掉,并将桌面上你打开的所有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论是管理桌面图标的文件(说出进程的作用)。
5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进程“”的各项信息,并填写下表:进程:中的各个线程序号进程ID线程ID基本优先级当前优先级CPU时间上下文开关1000016B800000104 8100:00:064998336 2000016B8000003EC15150:00:008 3000016B8000009048100:00:0011 4000016B800000A0C8100:00:0013 5000016B800001280880:00:07817138 6000016B8000013D88100:00:002326 6、注意某些线程前有“+”,如图所示:,说明二者之间的差异前有“+”其器线程下有窗口。
四、心得体会通过本次实验,我了解到了windows系统中进程的管理与操作,我了解了如何切出任务管理器,任务管理器应用与其他与进程相关的知识,明白了有些系统程序不能够关闭,系统中的进程与线程虽然很多,但是其中有许多关联,只要弄清楚其中的关联那么就能够运用好进程与线程,达到我们的目的。
每个进程下都包含着许多线程,我们控制进程来达到控制线程的目的只有我们了解好掌握还进程,我们才能更好的运用线程,更好的控制运用计算机。
实验二进程调度一、实验名称进程调度二、实验目的1、使学生进一步理解进程的概念,并在此基础上掌握有关PCB、进程队列的概念。
2、掌握进程基本状态的转化;3、掌握进程调度的策略、具体实施方法以及系统性能的评价方法。
三、实验结果分析简化的实验代码如下:#include<iostream>#include<queue>ame;cin>>pcb[i].runtime;cin>>pcb[i].state;cin>>pcb[i].priority;cout<<endl;}typedef priority_queue<PCB,vector<PCB> ,PCBSortCriterion>pQueue;ame<<"!"<<endl;=1;=1;();if!=0)rint();cout<<endl;cout<<endl;}system("pause");return 0;}int main(){cout<<setw(40)<<"进程模拟调度设计"<<endl<<endl;cout<<"提示:输入1选择先来先服务算法,输入2选择优先级法,输入3选择轮转法,输入4退出程序"<<endl<<endl;cout<<" 1、先来先服务\n 2、优先级法\n 3、时间片轮转法\n 4.多级反馈轮转法\n 5.动态优先级法\n 6.退出"<<endl<<endl;int choice;int go=1;while(go){cout<<"请输入你的选择:";cin>>choice;switch(choice){动态优先级法:多级反馈轮转法:四、心得体会1、通过这次实验使得我对进程调度几种算法的思想以及实现原理有了进一步的认识和掌握。
在设计多级反馈轮转法的算法以及实现代码时,遇到了代码不会写,算法理解不够透彻的问题,而导致在这个问题上纠结了很久。
最后还是在查阅资料以及同组成员的讨论下解决了。
2、这次实验使用的编程语言是C。
由于在以前学习C的时候掌握的不是很好和很多知识点都忘记了以至于在实验的很多地方(如实验界面和代码的精简)做得不是很好,以后得注意对C的学习和巩固。
3、也使我更能体会到集体的力量永远要大于个人。
在实验中我们遇见的很多问题基本上都是一起讨论才解决的。
4.一开始以为涉及到操作系统的模拟编程的都是高不可攀的,然而在仔细阅读课本以及实验说明后,发现只要弄清楚了优先级数调度的实现原理后其实并不难,用优先队列就可以了。
通过这个实验一来加深了对优先级数调度的理解,二来也加强了自己的编程实践能力!实验三死锁避免—银行家算法的实现一、实验名称死锁避免—银行家算法的实现二、实验目的1、掌握死锁产生的原因和必要条件。
2、掌握银行家算法的实现三、实验结果分析#include <iostream>using namespace std;#define mp 50了解除死锁就要剥夺资源,实验四存储管理一、实验名称储存管理二、实验目的1、掌握物理内存和虚拟内存的基本概念,理解绝对地址和相对地址;2、了解Windows中内存管理机制,掌握页式虚拟存储;3、掌握虚拟存储管理中有关缺页处理方法等内容,巩固有关虚拟存储管理的教学内容;4、理解内存分配原理、特别是以页面为单位的虚拟内存分配原理;5、掌握常用的页面置换算法。
三、实验结果分析#define MAXSIZE 20#include <>void main(){int label=0; //标记此页是否已经装入内存int input=0; //用于输入作业号int worknum=0; //记录作业个数int storesize=0; //系统分配的存储块数int interrupt=0; //中断次数int quence[MAXSIZE]; //队列,FIFO算法的主要数据结构int workstep[MAXSIZE]; //用于记录作业走向/*初始化*/for(int i=0;i<MAXSIZE;i++){quence[i]=0;workstep[i]=0;}cout<<"请输入存储区块数:";cin>>storesize;cout<<"请输入作业走向(输入0结束):\n";for(int j=0;j<MAXSIZE;j++){cout<<"页面号:"<<j+1;cin>>input;workstep[j]=input;if(input==0){cout<<"输入结束!\n";break;}worknum++;}if(workstep[0]==0){cout<<"未输入任何作业,系统将退出!\n";return;}cout<<"置换情况如下:\n";for(int k=0;k<worknum;k++){label=0;/*看队列中是否有相等的页号或空位置*/for(int l=0;l<storesize;l++){/*是否有相等的页号*/if(quence[l]==workstep[k]){cout<<"内存中有"<<workstep[k]<<"号页面,无须中断!\n";label=1; //标记此页面已装入内存break;}/*是否有空位置*/if(quence[l]==0){quence[l]=workstep[k];cout<<"发生中断,但内存中有空闲区,"<<workstep[k]<<"号页面直接调入!\n";interrupt++;label=1;break;}}/*上述情况都不成立则调出对首,将调入页面插入对尾*/if(label==0){cout<<"发生中断,将"<<quence[0]<<"号页面调出,"<<workstep[k]<<"号装入!\n";interrupt++;for(int m=0;m<storesize;m++){quence[m]=quence[m+1];}quence[storesize-1]=workstep[k];}}cout<<"作业"<<worknum<<"个,"<<"中断"<<interrupt<<"次,"<<"缺页率:"<<float(interrupt)/float(worknum)*100<<"%\n";}四、心得体会通过上机,我了解了许多关于操作系统的专业知识。