操作系统实验

合集下载

操作系统第8章 操作系统实验

操作系统第8章 操作系统实验
理解Linux设备管理技术,学会Linux模块编程方法,掌握 基本的Linux设备驱动程序设计。
8.5.3 实验准备
1. Linux模块概述 2. 设备驱动程序的设计 3. 参考程序的分析
8.6 文件系统实验
8.6.1 实验内容
以root身份登录系统后,练习常用Linux文件操作命令以及 学习文件系统的装卸。
第8章 操作系统实验
内容提要
本教材以Linux操作系统为平台,通过它提供的键盘控制命令 了解操作系统的功能;通过它提供的系统调用命令实现进程 (线程)的同步与互斥、进程的通信、设备的管理等操作,从 而理解操作系统的工作原理。
本实验平台使用Red Hat Linux 9.0,并且使用文本操作界面。 实验内容包括Linux系统基本操作、进程通信、进程同步与互斥、 生产者与消费者、存储管理、设备管理、文件系统等实验。本 教材提供的实验同样适用于其他版本的Linux。
8.3 进程的同步与互斥实验
8.3.1 实验内容
1. 利用POSIX标准的pthread线程库创建五个线程,实现这 五个线程之间的互斥地访问数组N。这五个线程分别标识为0、 1、2、3、4,线程i的工作可描述如下: (1) 线程i休息一段时间,i可以是五个线程之一。 (2) 使N[i]加1,N[i]记录线程i进入临界区的次数。 (3) 使N[5]加1,记录这五个线程的进入临界区的总次数。 (4) 转(1)。 2. 利用POSIX标准的pthread线程库创建两个线程,实现这 两个线程之间的同步共享变量buffer(相当于一个缓冲区)。其 中一个线程产生一个随机数保存的变量buffer中,另一个线程将 该随机数打印出来。
第8章 操作系统实验
教学目标
通过本实验使学生理解操作系统的功能,掌握进程 (线程)的同步与互斥、进程的通信、设备的管理、文 件系统的实现原理,从而掌握操作系统的概念和原理。

操作系统实验实验报告

操作系统实验实验报告

操作系统实验实验报告一、实验目的操作系统是计算机系统中最为关键的核心软件,它管理着计算机的硬件资源和软件资源,为用户提供了一个方便、高效、稳定的工作环境。

本次操作系统实验的目的在于通过实际操作和实践,深入理解操作系统的基本原理和核心概念,掌握操作系统的基本功能和操作方法,提高对操作系统的认识和应用能力。

二、实验环境本次实验使用的操作系统为 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实验报告

操作系统安全实验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、账户管理成功创建了具有不同权限的用户账户,并能够根据需求灵活调整权限设置。

严格的密码策略有效地增加了密码的安全性,减少了被破解的风险。

账户锁定策略在一定程度上能够阻止暴力破解攻击。

操作系统实验报告

操作系统实验报告

篇一:操作系统实验报告完全版《计算机操作系统》实验报告班级:姓名:学号:实验一进程控制与描述一、实验目的通过对windows 2000编程,进一步熟悉操作系统的基本概念,较好地理解windows 2000的结构。

通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解windows 2000中进程的“一生”。

二、实验环境硬件环境:计算机一台,局域网环境;软件环境:windows 2000 professional、visual c++6.0企业版。

三、实验内容和步骤第一部分:程序1-1windows 2000 的gui 应用程序windows 2000 professional下的gui应用程序,使用visual c++编译器创建一个gui应用程序,代码中包括了winmain()方法,该方法gui类型的应用程序的标准入口点。

:: messagebox( null, “hello, windows 2000” , “greetings”,mb_ok) ;/* hinstance */ , /* hprevinstance */, /* lpcmdline */, /* ncmdshow */ )return(0) ; }在程序1-1的gui应用程序中,首先需要windows.h头文件,以便获得传送给winmain() 和messagebox() api函数的数据类型定义。

接着的pragma指令指示编译器/连接器找到user32.lib库文件并将其与产生的exe文件连接起来。

这样就可以运行简单的命令行命令cl msgbox.cpp来创建这一应用程序,如果没有pragma指令,则messagebox() api函数就成为未定义的了。

这一指令是visual studio c++ 编译器特有的。

接下来是winmain() 方法。

其中有四个由实际的低级入口点传递来的参数。

操作系统实验报告6

操作系统实验报告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. 实验环境搭建:操作系统实验通常在实验室中进行。

为了完成实验,学生需要搭建一个操作系统实验环境。

实验环境通常由一个或多个计算机节点组成,每个计算机节点需要安装操作系统实验所需要的软件和驱动程序。

2. 操作系统整体结构分析:学生首先需要通过文献研究和课堂学习,了解操作系统的整体结构和基本原理。

在实验中,学生需要分析和理解操作系统的各个模块之间的功能和相互关系。

3. 进程管理实验:进程是操作系统中最基本的运行单位。

在这个实验中,学生可以通过编写程序并使用系统调用来实现进程的创建、销毁和调度。

学生需要熟悉进程状态转换和调度算法,理解进程间通信和同步机制。

4. 内存管理实验:内存管理是操作系统中非常重要的一个模块。

学生需要实现虚拟内存管理、页面置换算法以及内存分配和回收策略。

通过这个实验,学生可以深入了解虚拟内存管理的原理和实际应用。

5. 文件系统实验:文件系统是操作系统中负责管理文件和目录的模块。

在这个实验中,学生需要实现基本的文件系统功能,如文件的创建、读取和修改。

学生还可以实现进程间的文件共享和保护机制。

6. 设备管理实验:设备管理是操作系统中与硬件设备交互的一个重要模块。

在这个实验中,学生需要实现设备的初始化、打开和关闭功能。

学生还可以实现设备驱动程序,完成对硬件设备的控制。

二、实验室环境要求1. 计算机硬件:实验室需要配备一定数量的计算机节点。

每个计算机节点需要具备足够的计算能力和内存容量,以满足操作系统实验的要求。

2. 操作系统软件:实验室中的计算机节点需要安装操作系统软件,通常使用Linux或者Windows操作系统。

此外,还需要安装相关的开发工具和编程语言环境。

Windows操作系统实验

Windows操作系统实验

第2章Windows操作系统实验实验一Windows基本操作作业要求(1)将打开的窗口层叠,在各窗口中进行切换,并改变窗口的大小,这里要分清窗口右上角的三个按钮的作用。

注意:窗口在最小化时,程序仍在运行,单击“任务栏”窗口中的相关按钮,窗口即恢复。

(2)对菜单栏菜单、快捷菜单进行操作,注意菜单命令的各种不同形式。

(3)打开一个对话框,熟悉其中的各个操作元素。

实验二文件管理操作作业要求在Windows实验素材库建立了如图2-6所示的文件夹结构。

从相应网站下载该实验素材文件夹中的EXERCISE文件夹到D盘根目录下,完成以下操作:(1)在D盘根目录下建立如图2-7所示的文件夹结构。

(2)将EXERCISE文件夹下除TOOL以外的文件夹复制到STUDENT文件夹下。

(3)将STUDENT文件夹下的DOCUMENT文件夹下的文件移动到STUDENT1\WORD文件夹下。

(4)将ELSE文件夹重命名为WIN。

(5)删除VOICE和USER文件夹。

(6)恢复被删除的VOICE文件夹,彻底删除USER文件夹。

实验三运行程序和打开文档操作作业要求(1)选择“开始”菜单的“运行”命令运行计算器程序(Calc.exe)。

(2)选择“开始”菜单的“程序”命令运行画图程序。

(3)在“开始”菜单的“文档”中,找到一个近期使用过的文档,打开并编辑它。

(4)搜索“mspaint.exe”程序文件,并运行之。

实验四定制工作环境与计算机管理操作作业要求(1)在屏幕上找到“任务栏”窗口,将“任务栏”窗口隐藏或取消隐藏,并且改变“任务栏”窗口的大小。

(2)将自己喜爱的程序设置为屏幕保护程序。

(3)将自己喜爱的图片设置为桌面背景,并使图片平铺于桌面上。

(4)将桌面上的“我的电脑”图标拖动到任务栏的快速启动区。

(5)在桌面上创建“画图程序”的快捷方式。

实验五 Windows 2000综合练习作业要求从相应网站下载Windows实验素材文件夹中的EXERCISE文件夹到D盘根目录下,然后在EXERCISE文件夹下完成以下操作:(1)在USER文件夹下建立如下所示的文件夹结构。

安装操作系统的实验报告

安装操作系统的实验报告

一、实验目的1. 掌握操作系统安装的基本方法。

2. 熟悉操作系统安装过程中的注意事项。

3. 提高动手操作能力,为以后使用操作系统打下基础。

二、实验环境1. 硬件环境:- CPU:Intel Core i5- 内存:8GB- 硬盘:500GB- 显卡:NVIDIA GeForce GTX 1050- 主板:华硕PRIME H310M-E2. 软件环境:- 操作系统:Windows 10- 安装工具:Windows 10安装镜像三、实验步骤1. 准备安装镜像- 将Windows 10安装镜像烧录到U盘或光盘上。

2. 设置BIOS启动顺序- 进入主板BIOS设置界面,将U盘或光盘设置为第一启动设备。

3. 启动计算机- 重启计算机,从U盘或光盘启动。

4. 开始安装操作系统- 进入Windows 10安装界面,点击“现在安装”按钮。

5. 选择安装类型- 选择“自定义:仅安装Windows(高级)”选项。

6. 选择安装磁盘- 在“驱动器选项”下,选择要安装Windows的磁盘分区,点击“新建”按钮创建新的分区,然后将所有磁盘空间分配给新分区。

7. 格式化磁盘- 在弹出的窗口中,选择“将磁盘格式化为NTFS文件系统”,点击“下一步”按钮。

8. 安装操作系统- 等待操作系统安装完成,期间会自动重启计算机。

9. 设置账户信息- 在安装完成后,根据提示设置用户名、密码等信息。

10. 安装驱动程序- 根据需要安装显卡、网卡等驱动程序。

11. 安装常用软件- 安装Office、QQ、浏览器等常用软件。

四、实验结果与分析1. 实验结果- 成功安装Windows 10操作系统,并完成了基本配置。

2. 实验分析- 本次实验中,按照步骤顺利完成操作系统安装,但在安装过程中遇到了以下问题:(1)在设置BIOS启动顺序时,需要根据主板型号进行设置,否则无法从U 盘或光盘启动。

(2)在格式化磁盘时,需要注意选择合适的文件系统,以免影响系统性能。

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

操作系统实验报告实验一进程控制与描述一、实验目的通过对Windows 2000编程,进一步熟悉操作系统的基本概念,较好地理解Windows 2000的结构。

通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000中进程的“一生”。

二、实验环境硬件环境:计算机一台,局域网环境;软件环境:Windows 2000 Professional、Visual C++ 6.0企业版。

三、实验内容和步骤第一部分(共三个程序):Windows 2000 Professional下的GUI应用程序,使用Visual C++编译器创建一个GUI 应用程序,代码中包括了WinMain()方法,该方法GUI类型的应用程序的标准入口点。

程序1-1# include <windows.h># pragma comment(lib, “user32.lib” )int APIENTRY WinMain(HINSTANCE /* hInstance */ ,HINSTANCE /* hPrevInstance */,LPSTR /* lpCmdLine */,int /* nCmdShow */ ){:: MessageBox(NULL,“Hello, Windows 2000” ,“Greetings”,MB_OK) ;return(0) ; }实验结果然后改变参数,运行结果如下:1-2显示了当前进程的优先级:1-3进一步显示进程的具体情况:第二部分:进程的“一生”(共三个程序)1、创建进程本程序展示的是一个简单的使用CreateProcess() API函数的例子。

首先形成简单的命令行,提供当前的EXE文件的指定文件名和代表生成克隆进程的号码。

大多数参数都可取缺省值,但是创建标志参数使用了:BOOL bCreateOK标志,指示新进程分配它自己的控制台,这使得运行示例程序时,在任务栏上产生许多活动标记。

然后该克隆进程的创建方法关闭传递过来的句柄并返回main() 函数。

在关闭程序之前,每一进程的执行主线程暂停一下,以便让用户看到其中的至少一个窗口。

CreateProcess() 函数有____10___个核心参数?本实验程序中设置的各个参数的值是:CreateProcess(LPCWSTR lpszImageName, //指向可执行的模块的指针LPCWSTR lpszCmdLine, //指向可执行命令行字符串的指针LPSECURITY_ATTRIBUTES lpsaProcess, //CE 不支持LPSECURITY_ATTRIBUTES lpsaThread, //CE 不支持BOOL fInheritHandles, //CE 不支持DWORD fdwCreate, //创建标志LPVOID lpvEnvironment, //CE 不支持LPWSTR lpszCurDir, //CE 不支持LPSTARTUPINFOW lpsiStartInfo, //CE 不支持LPPROCESS_INFORMATION lppiProcInfo //指向进程信息结构体的指针);相应设置值:szFilename,szCmdLine,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi相关资料CreateProcess API函数来创建相应的进程,该函数的原型如下:CreateProcess(LPCWSTR lpszImageName, //指向可执行的模块的指针LPCWSTR lpszCmdLine, //指向可执行命令行字符串的指针LPSECURITY_ATTRIBUTES lpsaProcess, //CE 不支持LPSECURITY_ATTRIBUTES lpsaThread, //CE 不支持BOOL fInheritHandles, //CE 不支持DWORD fdwCreate, //创建标志LPVOID lpvEnvironment, //CE 不支持LPWSTR lpszCurDir, //CE 不支持LPSTARTUPINFOW lpsiStartInfo, //CE 不支持LPPROCESS_INFORMATION lppiProcInfo //指向进程信息结构体的指针);该函数最重要的两个参数是lpszImageName和lpszCmdLine,下面的几个应用也主要是通过设置这两个参数来达到目的。

(以下的程序在Pocket PC 2003 SE上通过测试)1、打开指定的URLTCHAR szAppName[_MAX_PATH] = TEXT("iexplore.exe");//IE浏览器程序TCHAR szCmdLine[_MAX_PATH] = TEXT(""); CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);2、打开指定的文件夹TCHAR szAppName[_MAX_PATH] = TEXT("fexplore.exe");//资源管理器程序TCHAR szCmdLine[_MAX_PATH] = TEXT(\\Windows\\);CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);3、打开帮助文件PROCESS_INFORMATION pi;TCHAR szAppName[_MAX_PATH] = TEXT("peghelp.exe");//系统帮助程序,PC上是在c:\WINDOWS目下的winhlp32.exeTCHAR szCmdLine[_MAX_PATH] = TEXT("myhelp.html");//自己制作的帮助文档,甚至是系//统原有的帮助文件,如wince.htm、bluetooth.htm等等。

myhelp.html应该放在\Windows 目录下CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, &pi);通过以上的方式,可以在自己的应用程序里打开相应的帮助文件。

从以上的3种应用可以看出,只要知道系统自带的应用程序名,就可以通过设定szAppName和szCmdLine相应的值,来调用相应的程序,来达到自己想要的目的。

只要认真挖掘,一定可以发现更多的应用。

2、正在运行的进程使用进程和操作系统的版本信息分析程序,写出运行结果:当前PID信息:3092当前操作系统版本:00系统提示信息:Task Manager should now indicate this process is high priority.程序向读者表明了如何获得当前的PID和所需的进程版本信息。

为了运行这一程序,系统处理了所有的版本不兼容问题。

接着,程序演示了如何使用GetVersionEx() API函数来提取OSVERSIONINFOEX结构。

这一数据块中包括了操作系统的版本信息。

其中,“OS : 5.1”表示当前运行的操作系统是:windowsXP最后一段程序利用了操作系统的版本信息,以确认运行的是windows XP。

代码接着将当前进程的优先级提高到比正常级别高。

单击Ctrl + Alt + Del键,进入“Windows任务管理器”,在“应用程序”选项卡中右键单击本任务,在快捷菜单中选择“转到进程”命令。

在“Windows任务管理器”的“进程”选项卡中,与本任务对应的进程映像名称是(为什么?) :______ vcspawn.exe右键单击该进程名,在快捷菜单中选择“设置优先级”命令,可以调整该进程的优先级,如设置为“高”后重新运行程序,屏幕显示有变化吗?为什么?设置为高后process ID变为3744,但是requires OS和Running OS 都没有改变,原因是只改变了该进程的优先级操作系统没有改变3终止进程指令其子进程来“杀掉”自己的父进程先分析程序功能,再写出运行结果:1) Creating the child process.表示:创建子进程2) Telling the child process to quit表示:删除子进程在熟悉源代码的基础上,利用本实验介绍的API函数来尝试改进本程序(例如使用GetProcessTimes() API函数) 并运行。

请描述你所做的工作:GetProcessTimes() API函数可向主调者显示进程的终止时间。

具体实现方法及说明API GetProcessTimesDeclare Function GetProcessTimes Lib "kernel32" Alias "GetProcessTimes" (ByValhProcess As Long, lpCreationTime As FILETIME, lpExitTime As FILETIME, lpKernelTime As FILETIME, lpUserTime As FILETIME) As Long说明获取与一个进程的经过时间有关的信息返回值Long,非零表示成功,零表示失败。

会设置GetLastError参数表参数类型及说明hProcess Long,一个进程句柄lpCreationTime FILETIME,指定一个FILETIME结构,在其中装载进程的创建时间lpExitTime FILETIME,指定一个FILETIME结构,在其中装载进程的中止时间lpKernelTime FILETIME,指定一个FILETIME结构,在其中装载进程花在内核模式上的总时间lpUserTime FILETIME,指定一个FILETIME结构,在其中装载进程花在用户模式上的总时间说明四、实验总结在实验中通过读程序和调试程序更深的了解了进程的意义。

熟悉了操作系统的进程概念,和Windows 2000中进程的“一生”。

也通过上网查了一些关于进程的资料。

进程定义:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。

进程的特征:动态性--具有动态的地址空间独立性--各进程的地址空间相互独立并发性--宏观上各进程同时运行结构化--进程的地址空间是结构化的进程与程序的区别:进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。

相关文档
最新文档