武汉理工操作系统实验报告(DOC)

合集下载

操作系统实验二实验报告

操作系统实验二实验报告

操作系统实验二实验报告一、实验目的本次操作系统实验二的主要目的是深入理解和掌握进程管理的相关概念和技术,包括进程的创建、执行、同步和通信。

通过实际编程和实验操作,提高对操作系统原理的认识,培养解决实际问题的能力。

二、实验环境本次实验使用的操作系统为 Windows 10,编程环境为 Visual Studio 2019。

三、实验内容及步骤(一)进程创建实验1、首先,创建一个新的 C++项目。

2、在项目中,使用 Windows API 函数`CreateProcess`来创建一个新的进程。

3、为新进程指定可执行文件的路径、命令行参数、进程属性等。

4、编写代码来等待新进程的结束,并获取其退出代码。

(二)进程同步实验1、设计一个生产者消费者问题的模型。

2、使用信号量来实现生产者和消费者进程之间的同步。

3、生产者进程不断生成数据并放入共享缓冲区,当缓冲区已满时等待。

4、消费者进程从共享缓冲区中取出数据进行处理,当缓冲区为空时等待。

(三)进程通信实验1、选择使用管道来实现进程之间的通信。

2、创建一个匿名管道,父进程和子进程分别读写管道的两端。

3、父进程向管道写入数据,子进程从管道读取数据并进行处理。

四、实验结果及分析(一)进程创建实验结果成功创建了新的进程,并能够获取到其退出代码。

通过观察进程的创建和执行过程,加深了对进程概念的理解。

(二)进程同步实验结果通过使用信号量,生产者和消费者进程能够正确地进行同步,避免了缓冲区的溢出和数据的丢失。

分析结果表明,信号量机制有效地解决了进程之间的资源竞争和协调问题。

(三)进程通信实验结果通过管道实现了父进程和子进程之间的数据通信。

数据能够准确地在进程之间传递,验证了管道通信的有效性。

五、遇到的问题及解决方法(一)在进程创建实验中,遇到了参数设置不正确导致进程创建失败的问题。

通过仔细查阅文档和调试,最终正确设置了参数,成功创建了进程。

(二)在进程同步实验中,出现了信号量使用不当导致死锁的情况。

《操作系统》实验报告

《操作系统》实验报告

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

二、实验环境本次实验在以下环境中进行:操作系统: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”。

② 打开文件,以读写模式。

武汉理工大学操作系统课内实践报告

武汉理工大学操作系统课内实践报告

学生学号实践课成绩课内实践实践内容请求页式内存管理的分配与回收开课学院计算机科学与技术学院指导老师姓名学生姓名学生专业班级— 学年第一学期目录1设计目的、功能与要求 (2)1.1设计目的、功能 (2)1.2要求 (2)2问题的详细描述、需求分析 (2)2.1问题的详细描述 (2)2.2 需求分析 (3)3数据结构、功能设计(功能与框图、功能模块说明) (3)3.1 算法分析 (3)3.2 数据结构 (3)3.3模块说明 (4)3.3.1 主函数 (4)3.3.2 功能函数 (5)4开发工具及源程序的主要部分(需对主要代码段附文字注释) (5)4.1开发平台 (5)4.2 源程序的主要部分 (5)5测试用例、运行结果与运行情况分析 (8)5.1测试方法 (8)5.2测试结果 (8)6自我评价与总结 (11)7参考文献 (11)请求页式内存管理的分配与回收1设计目的、功能与要求1.1设计目的、功能模拟实现内存管理的分配与回收功能,掌握内存管理的相关内容,对内存的分配与回收有深入的理解。

1.2要求(1)任选一种计算机高级语言编程实现(2)选择一种内存管理方案:动态分区式、请求页式、段式、段页式等(3)能够输入给定的内存大小,进程的个数,每个进程所需内存空间大小(4)能够选择分配 / 回收操作(5)能够显示进程在内存的存储地址、大小等(6)显示每次完成内存分配或回收后内存空间的使用情况2问题的详细描述、需求分析2.1问题的详细描述利用c++语言设计程序,模拟页式内存管理的过程。

页式管理是一种内存空间存储管理的技术,页式管理分为静态页式管理和动态页式管理。

基本原理是将各进程的虚拟空间划分成若干个长度相等的页,页式管理把内存空间按页的大小划分成片或者页面,然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。

页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。

武汉理工大学操作系统处理机调度实验报告

武汉理工大学操作系统处理机调度实验报告

学生学号Xxx 实验课成绩学生实验报告书实验课程名称操作系统C开课学院计算机科学与技术学院指导教师姓名xxx学生姓名xxx学生专业班级xxxx2016-- 2017学年第 1 学期实验课程名称:操作系统C③用while进行循环控制选择不同的算法2.数据结构的设计记录不同作业信息的结构体数组。

struct node job[100];记录作业/进程详细信息的结构体typedef struct node {string name;double submit;//提交时间double start;//开始时间double run;//运行时间double end;//完成时间double Ti;//周转时间double Wi;//带权周转时间double H;//响应比int priority;//优先级}*work;3.核心算法设计(1)按提交时间进行排序的算法Input:work p //指向作业的指针int N //作业的个数Process:void sort (work p,int N){for(int i=0;i<N;i++){(2)三、主要仪器设备及耗材1.安装了Windows XP或Windows 7或其它版本的Windows操作系统的PC机1台2.P C机系统上安装了Microsoft Visual Studio 2010开发环境第二部分:实验过程和结果(可加页)一、实现说明在VS2010中创建一个算法调度项目,对于不同的调度算法分别进行算法设计,对于算法的设计要特别注意作业的提交情况,实验中存储作业信息的结构体是相同的,采用结构体数组保存全部的作业,每次通过对结构体数组进行遍历计算不同算法需要的信息,最后在主函数中用while循环和switch语句进行各个调度算法的选择,最后经过不断的调试和运行,实现四个调度算法分别是先来先服务、短进程优先、优先级和最高响应比优先。

二、调试说明(调试手段、过程及结果分析)调试过程出现的问题比较多,第一个问题是对于不同作业提交的先后顺序要加以考虑,对于作业提交时间进行排序选择,必须选择提交时间在上一个作业结束时间之前的作业进行短进程,优先级,最高响应比排序,经过排序选择后,出现的问题是在进行作业调度完,有的作业出现了负的结束时间,经过调试分析,发现不能直接用上一个作业的结束时间直接当做下一个作业的开始时间,每次进行作业调度前要进行提交时间与上一个作业结束时间的比较,如果在作业提交前,下一个作业还没有提交,那么在下一个作业的开始时间就是它的提交时间。

武汉理工大学操作系统实践报告

武汉理工大学操作系统实践报告

实践课设计报告课程名称计算机操作系统模拟设计存储管理的分配与题目回收学院计算机科学与技术学院专业计算机科学与技术班级xxxx姓名xxx指导教师xxx2016 年12 月29 日目录1需求分析 (2)1.1页式管理的基本原理 (2)1.2实验要求 (2)2功能设计 (2)2.1算法分析 (2)2.2数据结构 (4)2.3模块说明 (4)2.3.1主函数 (4)2.3.2各个功能函数 (4)2.3.3打印函数 (4)参考文献 (9)源代码: (10)1需求分析1.1页式管理的基本原理页式管理是一种内存空间存储管理的技术,页式管理分为静态页式管理和动态页式管理。

基本原理是将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。

页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。

图1 页的划分1.2实验要求⑴能够输入给定的内存页面数,页面大小,进程的个数及每个进程的页数。

⑵当某进程提出申请空间的大小后,显示能否满足申请,以及为该进程分配资源后内存空间的使用情况(被进程占用的页面,空闲的页面)。

⑶当某进程撤消时,显示内存回收后内存空间的使用情况。

2功能设计2.1算法分析模拟页式管理中置换算法中的先进先出算法(FIFO),FIFO算法总是选择在内存驻留时间最长的一页将其淘汰。

图2算法流程图2.2数据结构(1)定义整型变量length来保存进程的页面数,定义数组order[30]来存储进程页面的逻辑地址,数组ad[100]存放逻辑页的页内位移。

(2)定义变量num_page存储物理块的数目,定义变量wlsize存储物理块的大小,物理块的大小一般为2的n次方,定义数组a[10]存放物理块中的存储的逻辑页。

(3)定义数组result[20][30]存储记录结果,定义数组result1[30]记录是否缺页。

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

学生学号0121110680125 实验课成绩武汉理工大学学生实验报告书实验课程名称操作系统开课学院计算机科学与技术学院指导老师姓名刘军学生姓名李帅学生专业班级软件11012013 — 2014 学年第一学期实验课程名称:操作系统实验项目名称Linux键盘命令和vi实验成绩实验者李帅专业班级软件工1101 组别同组者实验日期第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)Linux键盘命令和vi1.要求:掌握Linux系统键盘命令的使用方法1. 使用mkdir命令建立一个子目录subdir2. 使用cat或more命令查看file1文件的内容。

3. 将date命令的用法附加到文件file1的后面:4. 利用ls -l file1命令列出文件file1的较详细的信息。

5. 利用rm fa命令将文件fa删除。

再利用ls -l命令查看工作目录内容。

6. 运行mv file1 file_a命令,然后用ls命令查看这两个文件是否都还在工作目录中2.vi操作1.了解vi编辑器的作用和功能2.熟悉vi的操作环境和切换方法3.掌握vi操作的方式(几个常用键)4.了解常用的快捷键二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)VI编辑器的常见命令:vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑键盘命令:1. cat,more,less命令2. Is命令3. cp命令4. rm命令5. mv命令VI命令:1.vi进入vi缓冲区2.vi file1:进入文件file13.退出vi三、主要仪器设备及耗材Ubuntu操作体统Vi编辑器第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)1 使用mkdir命令建立一个子目录subdir2 使用cat或more命令查看file1文件的内容。

3 将date命令的用法附加到文件file1的后面:4 利用ls -l file1命令列出文件file1的较详细的信息。

5 利用rm fa命令将文件fa删除。

再利用ls -l命令查看工作目录内容。

6 运行mv file1 file_a命令,然后用ls命令查看这两个文件是否都还在工作目录中?显然,只有file_a在工作目录中,而file1不在工作目录中二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)Free 显示系统中已用空闲内存数量Rm:删除文件或目录三、实验小结、建议及体会Linux对比Windows有些不同需要时间去适应。

通过这次实验对Linux操作系统有了进一步的了解。

初步掌握了一些Linux系统常用的命令。

通过这仅一个周时间的学习,我们只是了解了linux的一些最基本知识,我会在后的学习中不断完善和加以扩充linux知识的学习。

实验课程名称:操作系统实验项目名称Linux下C编程实验成绩实验者李帅专业班级软件1101 组别同组者实验日期第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)Linux下的C编程要求:掌握vi编辑器的使用方法;掌握Linux下C程序的源程序编辑方法;编译、连接和运行方法。

内容:设计、编辑、编译、连接以及运行一个C程序,其中包含键盘输入和屏幕输出语句。

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)#include<iostream>using namespace std;int main(){int begin, end;int temp = 0;cout<<"Please enter two number:"<<endl;cin>>begin>>end;if(begin>end){temp = begin;begin = end;end = temp;}for(int i=begin; i<=end; i++){cout<<i<<" ";}cout<<endl;return 0;}三、主要仪器设备及耗材Ubuntu操作体统Vi编辑器G++编译第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1).先用vi JamesJi.c 建立文件(2).在vi的插入界面输入#include <stdio.h>int main(void){printf("JamesJi.gcc!\r\n");return 0;}(3).编译生成JamesJi文件:gcc -o JamesJi JamesJi.c(4).运行JamesJi文件:./JamesJi二、实验小结、建议及体会通过这次实验vi编辑器有了进一步的应用,同时学会了在Linux进行简单的C语言编程,掌握Linux下C程序的源程序编辑方法;编译、连接和运行方法。

在以后的学习中会加大努力加强自己的编程能力。

加深了对linux的印象,linux的兼容性很强。

C/C++仍旧可以在上面编译成功。

实验课程名称:操作系统实验项目名称SHELL编程和后台批处理实验成绩实验者李帅专业班级软件1101 组别同组者实验日期第一部分:实验分析与设计(可加页)三、实验内容描述(问题域描述)SHELL编程和后台批处理要求:掌握Linux系统的SHELL编程方法和后台批处理方法。

内容:(1) 将编译、连接以及运行上述C程序各步骤用SHELL程序批处理完成,前台运行。

(2) 将上面SHELLL程序后台运行。

观察原C程序运行时输入输出情况。

(3) 修改调试上面SHELL程序和C程序,使得在后台批处理方式下,原键盘输入内容可以键盘命令行位置参数方式交互式输入替代原键盘输入内容,然后输出到屏幕。

四、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)test.cpp文件如下:#include<iostream>using namespace std;int main(){int i, j;int a[10][10] = {0};a[0][0] = 1;for(i=1; i<=9; i++){for(j=0; j<=i; j++){if((j==0) || (i==j))a[i][j] = 1;elsea[i][j] = a[i-1][j-1] + a[i-1][j];}}for(i=0; i<=9; i++){for(j=0; j<=i; j++)cout<<" "<<a[i][j];cout<<endl;}return 0;}test.sh文件如下#!/bin/bash#Program:# This program is used to compile and run a file of cpp#History#2011/06/01g++ -o test.out test.cppchmod u+x test.out./test.out三、主要仪器设备及耗材Ubuntu操作系统Vi编辑器第二部分:实验调试与结果分析(可加页)四、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)调试过程中未发现任何问题五、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)六、实验小结、建议及体会通过这次实验熟悉了shell编程,对Linux下的编程有了进一步的了解。

也对Linux系统终端方式使用的编辑器vi有进一步的认识,如何使用命令来打开文件以及在编辑器vi里面编写内容等,。

总之,通过这次实验,对课本上的知识有了进一步的理解以及巩固。

实验课程名称:操作系统实验项目名称Linux系统调用(time)实验成绩实验者李帅专业班级软件1101 组别同组者实验日期第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)学习Linux内核的系统调用,理解、掌握Linux系统调用的实现框架、用户界面、参数传递、进入/返回过程。

阅读Linux内核源代码,通过添加一个简单的系统调用实验,进一步理解Linux操作系统处理系统调用的统一流程。

Linux系统调用使用方法。

要求:掌握Linux系统调用使用方法。

内容:学习使用time, ctime, sleep, exit等Linux系统调用使用方法。

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)#include<stdio.h>#include<unistd.h>#include<time.h>#include<iostream>using namespace std;int main(){while(1){char timebuf[100];time_t t;time(&t);strftime(timebuf, sizeof(timebuf),"%Y 年%m 月%d 日%H: %M: %S",localtime(&t));cout<<timebuf<<endl;fflush(stdout);sleep(1);}return 0;}现遍历进程。

实验主要内容:添加系统调用的名字利用标准C库进行包装添加系统调用号在系统调用表中添加相应表项sys_mysyscall的实现三、主要仪器设备及耗材Ubuntu操作系统Vi编辑器G++编译器第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)#include <linux/unistd.h># include <sys/syscall.h>#define __NR_ mysyscall 223int main(){syscall(__NR_mysyscall); /*或syscall(223) *///在此加入在屏幕输出每个进程相关信息的代码;}用gcc编译源程序# gcc –o test test.c运行程序# ./test用shell命令查看遍历进程输出的信息#dmesg二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)三、实验小结、建议及体会这次实验有点难度,但是通过查找资料和与老师的交流之后还是顺利完成了实验,希望以后相关能力能够得到加强。

相关文档
最新文档