电子科大计算机操作系统实验报告级

合集下载

电大操作系统(本科)实验报告1-5

电大操作系统(本科)实验报告1-5

中央广播电视大学计算机科学与技术专业操作系统(本科)实验报告院系:______ _________班级:___ _____学生:____ _________学号: _ _____指导教师:___ __ ___完成日期 2015 年月日2.弹出个对话框选择——下一步3.之后有两个对话框,咱们这里选——自定义,下一步4.设置完向导后双击CD-ROM1(IDE1:0)选项在连接选项卡中选择使用ISO映像并找到ubuntu映像位置5.确定之后单机命令标题下的——启动此虚拟机,选项,之后虚拟机出现在安装linux界面上(开始时英文,如果英语不太好的童鞋可按F2键选择中文,例如像me),之后就开始真正装linux了6.安装7.各种同意,下一步选择语言中文简体8.这里可以更改网络配置,下一步9.设置主机10.设置完整用户名和登录口令11.进行磁盘分区12.复制安装系统文件13.安装GRUB14.结束安装15.启动系统到登录界面16.进入系统17.由于关机需要root权限,需对root设置密码,并切换到root用户18.关闭系统七、实验结果分析:成功安装ubuntu,关机需要root权限,正确关机实训2一、实验题目:Linux 应用及shell编程二、实验目的和要求:目的1.掌握Linux一般命令格式和常用命令。

2.学会使用vi编辑器建立、编辑文本文件。

3.了解shell的作用和主要分类。

4.学会bash脚本的建立和执行方式。

5.理解bash的基本语法。

6.学会编写简单的shell脚本。

要求1.登录进入系统,修改个人密码。

2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。

3.进入vi。

建立一个文件,如file.c。

进入插入方式,输入一个C语言程序的各行容,故意制造几处错误。

最后,将该文件存盘。

回到shell状态下。

4.运行gcc file.c -o myfile,编译该文件,会发现错误提示。

《操作系统》实验报告

《操作系统》实验报告

《操作系统》实验报告一、实验目的操作系统是计算机系统中最为关键的组成部分之一,本次实验的主要目的是深入理解操作系统的基本原理和功能,通过实际操作和观察,熟悉操作系统的核心概念,包括进程管理、内存管理、文件系统和设备管理等,提高对操作系统的实际应用能力和问题解决能力。

二、实验环境本次实验在以下环境中进行:操作系统:Windows 10开发工具:Visual Studio 2019编程语言:C++三、实验内容1、进程管理实验进程是操作系统中最基本的执行单元。

在这个实验中,我们使用C++编写程序来创建和管理进程。

通过观察进程的创建、执行和结束过程,理解进程的状态转换和资源分配。

首先,我们编写了一个简单的程序,创建了多个子进程,并通过进程标识符(PID)来跟踪它们的运行状态。

然后,使用等待函数来等待子进程的结束,并获取其返回值。

在实验过程中,我们发现进程的创建和销毁需要消耗一定的系统资源,而且进程之间的同步和通信需要谨慎处理,以避免出现死锁和竞争条件等问题。

2、内存管理实验内存管理是操作系统的核心功能之一,它直接影响系统的性能和稳定性。

在这个实验中,我们研究了动态内存分配和释放的机制。

使用 C++中的 new 和 delete 操作符来分配和释放内存。

通过观察内存使用情况和内存泄漏检测工具,了解了内存分配的效率和可能出现的内存泄漏问题。

同时,我们还探讨了内存分页和分段的概念,以及虚拟内存的工作原理。

通过模拟内存访问过程,理解了页表的作用和地址转换的过程。

3、文件系统实验文件系统是操作系统用于管理文件和目录的机制。

在这个实验中,我们对文件的创建、读写和删除进行了操作。

使用 C++的文件流操作来实现对文件的读写。

通过创建不同类型的文件(文本文件和二进制文件),并对其进行读写操作,熟悉了文件的打开模式和读写方式。

此外,还研究了文件的权限设置和目录的管理,了解了如何保护文件的安全性和组织文件的结构。

4、设备管理实验设备管理是操作系统与外部设备进行交互的桥梁。

电大操作系统实验报告3_ 进程管理实验

电大操作系统实验报告3_ 进程管理实验

电大操作系统实验报告3_ 进程管理实验电大操作系统实验报告 3 进程管理实验一、实验目的进程管理是操作系统的核心功能之一,本次实验的目的是通过实际操作和观察,深入理解进程的概念、状态转换、进程调度以及进程间的通信机制,掌握操作系统中进程管理的基本原理和方法,提高对操作系统的整体认识和实践能力。

二、实验环境本次实验使用的操作系统为 Windows 10,编程语言为 C 语言,开发工具为 Visual Studio 2019。

三、实验内容及步骤(一)进程的创建与终止1、编写一个 C 程序,使用系统调用创建一个子进程。

2、在父进程和子进程中分别输出各自的进程 ID 和父进程 ID。

3、子进程执行一段简单的计算任务,父进程等待子进程结束后输出结束信息。

以下是实现上述功能的 C 程序代码:```cinclude <stdioh>include <stdlibh>include <unistdh>int main(){pid_t pid;pid = fork();if (pid < 0) {printf("创建子进程失败\n");return 1;} else if (pid == 0) {printf("子进程:我的进程 ID 是%d,父进程 ID 是%d\n",getpid(), getppid());int result = 2 + 3;printf("子进程计算结果:2 + 3 =%d\n", result);exit(0);} else {printf("父进程:我的进程 ID 是%d,子进程 ID 是%d\n",getpid(), pid);wait(NULL);printf("子进程已结束\n");}return 0;}```编译并运行上述程序,可以观察到父进程和子进程的输出信息,验证了进程的创建和终止过程。

(二)进程的状态转换1、编写一个 C 程序,创建一个子进程,子进程进入睡眠状态一段时间,然后被唤醒并输出状态转换信息。

《操作系统》课内实验报告

《操作系统》课内实验报告

《操作系统》课内实验报告一、实验目的本次《操作系统》课内实验的主要目的是通过实际操作和观察,深入理解操作系统的基本原理和功能,掌握常见操作系统命令的使用,提高对操作系统的实际应用能力和问题解决能力。

二、实验环境本次实验在计算机实验室进行,使用的操作系统为 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.英文版计算机操作系统实训报告范文介绍在这份报告中,我将讨论我在计算机操作系统课程中接受的实训。

计算机操作系统

计算机操作系统

电子科技大学计算机科学与工程学院标准实验报告(实验)课程名称计算机操作系统电子科技大学教务处制表电子科技大学实验报告学生姓名:段骞学号:2923105006 指导教师:实验地点:实验时间:一、实验室名称:二、实验项目名称:进程管理三、实验学时:4四、实验原理:进程创建:由程序段、相关的数据段和PCB三部分构成,所谓创建进程,实质上是创建进程实体中的PCB;而撤消进程,实质上是撤消进程的PCB。

进程并发:指多个进程实体同存于内存中,且能在一段时间内同时运行,进程执行要由调度程序管理才能占用CPU执行。

在操作系统中,进程的实质是进程实体的一次执行过程。

在实验中,通过API可以调度执行一个程序(创建一个进程),在多个程序的执行的情况下,可以观察进程的并发(通过fork创建子进程)。

五、实验目的:(1)加深对进程概念的理解,明确进程和程序的区别;(2)进一步认识并发执行的实质;(3)分析进程竞争资源现象,学习解决进程互斥的方法;(4)了解统中进程通信的基本原理。

六、实验内容:(1)进程的创建编写一段源程序,使系统调用创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。

让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。

试观察纪录屏幕上的显示结果,并分析原因。

(2)进程的控制修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。

七、实验器材(设备、元器件):PC机及VC++软件八、实验步骤:1.用任何一种编辑器(最好是VC++自带的)编辑源文件;2.编译、链接、运行程序;3.调试程序,直到得到正确结果。

九、实验数据及结果分析:1.附参考程序如下:“Fork.cpp”#pragma once#define WIN32_LEAN_AND_MEAN#include<stdio.h>#include<tchar.h>#include"stdafx.h"#include<windows.h>#include<iostream>using namespace std;int fork(const char* pszApplication,HANDLE& hProcess) //声明创建进程的函数fork,该函数在父进程中返回子进程ID,在子进程中返回{ //失败返回-1STARTUPINFO si={sizeof(si)};PROCESS_INFORMATION pi;if(!CreateProcess(pszApplication,NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi)) return -1;else{hProcess=pi.hProcess;return pi.dwProcessId;}}void lockf(HANDLE hObj){WaitForSingleObject(hObj,INFINITE);}int main(int argc, char* argv[]){HANDLE hProcess1,hProcess2;int child1=fork("..\\printStr1.exe",hProcess1);if(-1==child1){cout << "错误~!\n";return -1;}//lockf(hProcess1);int child2=fork("..\\printStr2.exe",hProcess2);if(-1==child2){cout << "fork error!\n";return -1;}//lockf(hProcess2);cout<<"这是c进程\n";return 0;}printStr1.cpp#include<iostream>using namespace std;int main(){cout<<"这是a进程"<<endl;return 0;}printStr2.cpp#include<iostream>using namespace std;int main(){cout<<"这是b进程"<<endl;return 0;}2.结果分析当不对其加锁时,结果为当对其加锁时,结果为根据实际执行情况,对照程序进行分析。

计算机实验报告 操作系统

计算机实验报告 操作系统

计算机实验报告操作系统计算机实验报告:操作系统引言:操作系统是计算机系统中最重要的组成部分之一,它负责管理和控制计算机的硬件资源,并为应用程序提供运行环境。

在本次实验中,我们通过对操作系统的学习和实践,深入了解了操作系统的原理和功能,并通过实验验证了这些理论知识。

一、实验目的本次实验的目的是通过实际操作和实验验证,加深对操作系统的理解,掌握操作系统的基本原理和功能。

二、实验环境我们使用了一台配置良好的计算机,安装了Windows 10操作系统。

实验中使用的软件包括Visual Studio Code、VMware Workstation等。

三、实验过程1. 操作系统的安装与配置我们首先进行了操作系统的安装与配置。

通过引导光盘或USB启动计算机,按照提示进行操作系统的安装。

在安装过程中,我们选择了适合我们计算机硬件配置的操作系统版本,并进行了一些必要的设置,如选择语言、时区等。

2. 操作系统的启动与关机在操作系统安装完成后,我们进行了操作系统的启动与关机实验。

我们观察了计算机启动时的各个阶段,了解了操作系统的启动过程。

同时,我们学习了正确的关机操作,避免数据丢失和硬件损坏。

3. 进程管理在进程管理实验中,我们学习了操作系统中的进程概念和进程管理的相关原理。

我们使用Visual Studio Code编写了一个简单的多线程程序,并观察了程序在操作系统中的运行情况。

通过实验,我们深入理解了进程的创建、调度和终止等过程。

4. 内存管理内存管理是操作系统中非常重要的一部分,它负责管理计算机的内存资源。

在内存管理实验中,我们学习了虚拟内存的概念和作用,并通过实验验证了虚拟内存的使用。

我们使用了一些工具和技术,如内存映射文件、分页机制等,来模拟和管理计算机的内存。

5. 文件系统文件系统是操作系统中用于管理和组织文件的一种机制。

在文件系统实验中,我们学习了文件系统的组织结构和文件的操作方法。

我们使用了一些命令和工具,如mkdir、ls、cd等,来创建、查看和删除文件和文件夹。

电子科技大学计算机操作系统—操作系统实验

电子科技大学计算机操作系统—操作系统实验

附件1操作系统上机实验进程调度实验时间:16 机时实验验收时间:17~18周实验成绩:占总成绩的20%一、实验目的和要求1.目的进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。

本实习要求学生独立地用高级语言编写和调试一个进程调度程序,模拟各种调度算法。

调度算法可任意选择或自行设计,例如,简单轮转法和优先数法等。

本实验可加深对于进程调度和各种调度算法的理解。

2.要求(1)设计一个有n(n≥8)个进程并行的进程调度程序。

每个进程由一个进程控制块(PCB)表示。

进程控制块通常应包含下述信息:进程名(或序号)、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等(要求包括4种基本状态:运行、就绪、阻塞、完成),PCB块的内容应根据调度算法的不同特点而增删。

(2)调度程序应包含3种或3种以上不同的调度算法,运行时可任意选一种,以利于各种算法的分析比较。

其中至少有一种为综合调度算法,并要求是自己设计的算法。

(3)系统应能直观、准确地动态显示(用动态的表或图)各进程状态和参数的变化情况,便于观察诸进程调度的动态显示过程。

(4)要求完成一个完整的软件系统,用户界面友好,操作简便,可采用菜单选择或图形用户界面(GUI)实现。

说明:在windows 环境下开发,也可用其它工具或软件实现进程调度过程的模拟。

要求画出至少一个综合调度算法的实现流程图。

二、调度算法1.算法本程序可选用来先服务(FCFS)算法、最短CPU运行期优先(SCBF)算法、最高优先权(HPF)算法、时间片轮转(RR)算法及多级反馈队列算法等对多个进程进行调度。

同时注意对自己设计的综合调度算法要认真分析其特点。

每个进程处于运行、就绪、等待、完成四种状态,并假定起始状态都是就绪状态。

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

各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。

进程控制块结构如下图所示:2.算法举例以两种典型算法为例说明实现的算法:⑴优先数法(动态优先数)系统中各进程的初始优先级与进程类型(前台或后台,交互或批处理,计算或I/O)有关。

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

电子科技大学
实验报告
学生姓名:郫县LBJ 学号:指导教师:温柔可爱的刘杰彦
实验地点:主楼A2-413 实验时间:2017年4月22日上午
一、实验室名称:计算机学院主楼机房
二、实验项目名称:进程与资源管理
实验分工:郫县LBJ 进程管理设计
郫县小胖子资源管理设计
郫县威斯布鲁克进程调度与时钟中断设计
三、实验学时:2
四、实验原理:
此处的实验原理在指导书上非常丰富,因此不照搬过来,主要写出所要使用到知识点,具体实现过程中的原理分析见报告第八部分“实验步骤”处。

(一)总体设计
系统总体架构如图1所示,最右边部分为进程与资源管理器,属于操作系统内核的功能。

要求能够设计与实现一个简单的进程与资源管理器,具有如下功能:完成进程创建、撤销和进程调度;完成多单元 (multi_unit)资源的管理;完成资源的申请和释放;完成错误检测和定时器中断功能。

图1 系统总体结构
(二) Test shell设计
应具有的功能:
1、从终端或者测试文件读取命令;
2、将用户需求转换成调度内核函数(即调度进程和资源管理器);
3、在终端或输出文件中显示结果:如当前运行的进程、错误信息等。

(三)进程管理设计
1、进程状态与操作
2、进程控制块结构PCB
3、主要函数:创建进程、撤销进程
(四)资源管理设计
1、主要数据结构RCB
2、请求资源
3、释放资源
(五)进程调度与时钟中断设计
关键:使用基于优先级的抢占式调度策略,在同一优先级内使用时间片轮转算法。

参考课上ppt:
五、实验目的:
设计和实现进程与资源管理,并完成Test shell的编写,以建立系统的进程管理、调度、资源管理和分配的知识体系,从而加深对操作系统进程调度和资源管理功能的宏观理解和微观实现技术的掌握。

六、实验内容:
设计与实现一个简单的进程与资源管理器,要求具有如下功能:完成进程创建、撤销和进程调度;完成多单元 (multi_unit)资源的管理;完成资源的申请和释放;完成错误检测和定时器中断功能。

通过编写测试脚本(test shell)来完成对进程与资源管理器的测试。

七、实验环境(设备、元器件):
Windows 7、Visual Studio 2015
八、实验步骤:
(一)系统功能需求分析:
(二)总体框架设计:
1、具体原理和总体工作流程分析:
首先,通过test shell从测试文件中读入各种命令。

然后,对命令进行分析,将用户的需求转换成调度内核函数,也就是说,通过调度进程和资源管理器,实现创建进程、撤销进程、进程调度、对资源进行管理、申请和释放资源、检测错误和定时器中断等功能,从而模拟一个操作系统对进程进行调度和对资源进行管理的过程。

最后,在终端或者输出文件中,把一系列操作后的结果显示出来,包括当前运行的进程、错误信息等。

2、相关方法和算法:
(1) C语言中的结构struct,用来实现PCB、RCB等
(2) C语言中的指针、链表操作,用来实现将PCB和RCB加入队列尾部、从队列中删除、转移至阻塞队列等操作,以及进程的调度执行等。

本实验中我们采
用的带头结点的链表来实现各种操作。

(3)基于优先级的调度算法、时间片轮转调度算法、抢占式调度算法的综合应用。

3、模块调用关系:
本实验中,我们组共编写了三个头文件(、、)和四个源文件、、、,因此可以分为主函数设计模块、进程管理设计模块、资源管理设计模块和test shell设计模块。

在主函数模块中,需要调用其他三个模块,如创建进程、展示父子子进程等操作,需要调用进程管理设计模块;调度算法的执行、展示各种队列等,需要调用test shell 设计模块;
在进程管理设计模块中,像销毁PCB等操作,需要执行对RCB的释放,则需调用test shell设计模块;
在资源管理设计模块中,提供一些最小的操作,不调用其他模块;
在test shell设计模块中,设计到对资源和进程的各种操作,需要调用资源管理设计模块和进程管理设计模块。

(三)进程管理设计模块详细设计(本部分我负责实现)
我们的计划是在在进程管理设计模块中,实现关于进程的各种最基础的结构和操作,具体包括:
实现PCB结构体、PCB链表、PCB子节点链表;
实现对PCB链表的初始化、对子节点链表的初始化、新建PCB、对PCB链表中进行删除、插入、移除(不free)、从等待和阻塞队列中获取PCB得知、打印当前PCB父
节点、打印当前PCB父节点、打印当前PCB子节点链表、插入子队列的尾部、从子队列尾部删除。

1、进程状态与操作
(1)进程状态
共ready/running/blocked三种状态,通过结构struct实现,代码如下:
struct{
int running;
int blocked;
int ready;
1、}PCB_STATUS;mytest2”可执行文件,结果如下:
由此可以看出,在“while(j)”处进入死循环,程序的第二条输出语句不会被执行。

2、先关闭bochs和虚拟机,再右键,选择debugger,点击start,在console界面输
入c后回车,在display界面中再次输入./mytest2,运行之前写好分程序,再回到console界面进行Ctrl+c操作:
3、在控制窗口中输入sreg命令,查看段的具体信息。

根据ds段的信息是可以确定索
引号为标蓝的13位,即索引号为02H,TI为标红的1位,对应TI=1,因此可知段描述符放在LDT中,并且为LDT表的第三项。

0x0017=0000 0000 0001 0111B
4、查看LDTR寄存器,其中存放了LDT在GDT的位置,可知索引号为标蓝的13位,即
索引为0DH,表示LDT起始地址存放在GDT的第14项。

0x0068=0000 0000 0110 1000B
5、查看GDTR寄存器,其中存放了GDT在内存中的起始地址5CB8H:
6、由上图可知,GDT在内存中的起始地址为5CB8H,因为每一个段描述符由8个字节
组成,则LDT的首地址为:
(GDTR)+0x0D*8 = 0x5CB8 + 0x0D*8 = 0x5D20
执行xp /2w 0x5cb8+0x0d*8,查看GDT中对应的表项,得到LDT段描述符:
根据原理中的数据结构,由上图可知LDT的基址为:0x00fd92d0。

7、因为段描述符在LDT表中的偏移量为2,,所以执行xp /2w 0x00fd92d0+2*8,查看
LDT中第3项段描述符,即ds段的描述符信息,应与ds寄存器(dl、dh)中的数值完全相同,比较见下图:
与此同时,根据原理中的数据结构和表项,由上图计算出DS段基址为0x1000 0000,与用sreg得到信息一致:
8、程序运行显示j的偏移地址为0x3004:
,换算为二进制,并按照10-10-12比特进行划分:
0001 0000 0000 0000 00110000 0000 0100 B
可知页目录索引为1000000B,即64;页表索引为11b,即3;页内偏移为100B,即4。

9、使用creg查看寄存器CR3 值为0,即页目录表的起始地址为0。

使用xp /w 64*4,查看PDE为0x00fa6027,
0x00fa6027 = 0000 0000 1111 1010 0110 0000 0010 0111 B
将标红的为20位下一级索引,左移12位,得到下一级索引为0x00fa6000:
10、执行xp /w 0x00fa6000+3*4,查看PTE为0x00fa3067:
同理,下一级索引为0x00fa3000,得到物理地址为0x00fa3000+4。

11、使用xp /w 0x00fa3000+4,内容为0x00123456,与C语言源程序中为J设置的
值相同:
12、执行setpmem 0x00fa3004 4 0,设置0x00fa5004开始的四个字节均为0,并检
查是否成功:
由上图可知,设置成功。

13、在Console输入c继续运行程序,在Display显示程序正常结束,实验成功:
一、实验数据及结果分析:
修改j的值为0后,再运行程序,程序可以正常结束,显示“program terminated normally!”,实验成功(每一步的具体分析及原理见报告第八部分,图文并茂,非常漂亮)。

二、实验结论:
通过本次实验,结合计算机寻址过程、页式地址转换过程、计算机各种寄存器的用法等知识,成功寻找到变量的存储位置,并对变量的值进行修改,从而使程序可以正常结束,成功地完成了实验要求。

三、总结及心得体会:
(一)通过这次实验接触到了使用bochs这一虚拟机来运行linux内核,开拓了眼界;(二)加深了对计算机的寻址过程、页式地址转换过程、计算机各寄存器的用法等知识的理解和掌握;
(三)在紧张的期末复习阶段用自习的电脑再做一遍实验,写一下实验报告,截一截图,复习知识的同时放松了身心。

四、对本实验过程及方法、手段的改进建议:
可以跟汇编语言结合起来,加强学科的交叉性,还能同时巩固汇编语言。

报告评分:
指导教师签字:。

相关文档
最新文档