操作系统实验报告
- 格式:docx
- 大小:642.10 KB
- 文档页数:18
操作系统教程实验指导书实验一WINDOWS进程初识1、实验目的(1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。
(2)掌握WINDOWS API的使用方法。
(3)编写测试程序,理解用户态运行和核心态运行。
2、实验内容和步骤(1)编写基本的Win32 Consol Application步骤1:登录进入Windows,启动VC++ 6.0。
步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。
创建一个新的控制台应用程序工程。
步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。
步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。
编译成可执行文件。
步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows “命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:E:\课程\os课\os实验\程序\os11\debug>hello.exe运行结果 (如果运行不成功,则可能的原因是什么?) :答:运行成功,结果:(2)计算进程在核心态运行和用户态运行的时间步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。
步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。
步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。
操作系统课程设计报告基于DOS的多任务系统的实现专业:信息工程学院(软件工程)班级:姓名:学号:指导老师:20101223一、课程设计的目的1. 加深多线程和进程概念的理解,明确进程和程序的区别。
2. 加深对CPU调度过程(现场保护、CPU的分派和现场恢复)的理解。
3. 进一步认识并发执行的概念,明确顺序执行和并发执行的区别。
4. 加深对临界资源,临界区,信号量以及同步机制的理解。
5. 加深对消息缓冲通信的理解。
二、课程设计要求1. 用C语言完成线程的创建和撤消,并按优先权加时间片轮转算法对多个线程进行调度;2. 改变时间片的大小,观察结果的变化。
思考:为什么时间片不能太小或太大;3. 假设两个线程共用同一软件资源(如某一变量,或某一数据结构),请用记录型信号量来实现对它的互斥访问;4. 假设有两个线程共享一个可存放5个整数的缓冲,一线程不停的计算1到50的平方,并将结果放入缓冲中,另一个线程不断的从缓冲中取出结果,并将他们打印出来,请用记录型信号量实现这一生产者和消费者的同步问题;5. 实现消息缓冲通信,并于3,4中的简单通信进行比较;6. 思考:在线程间进行消息缓冲通信时,若对消息队列的访问没有满足互斥要求,情况会怎么样?三、程序的设计细想和框图[根据自己的代码写]1.调度算法:用TCB数组下标音隐含把所有线程排成一个循环队列,当时间片到时,有线程正在执行,则停止它,将其变为就绪,把现场信息压入私有栈堆。
2.调度原因:时间片到时,线程执行完毕,正在执行的线程等待某种事件而不能继续执行。
3.时钟中断的截取4. 线程的阻塞及唤醒引起进程阻塞的典型事件为等待操作的完成:相对高速的而言,设备的速度显得较慢,这里引起线程阻塞的典型事件有两个:一是并发执行的线程间临界资源的竞争;二是相互合作的线程间的同步。
一个正在只在执行的线程因某种原因而阻塞时,必须给出因该原因而阻塞的阻塞队列的对手信息,阻塞原语所做的主要工作有:将线程的状态改为阻塞态,将线程插入指定的阻塞队列末尾,并重新进行CPU调度。
实验报告实验课程: 计算机操作系统学生姓名:XXX学号:XXXX专业班级:软件2014年12月25日目录实验一熟悉Windows XP中的进程和线程 (3)实验二进程调度 (7)实验三死锁避免—银行家算法的实现 (16)实验四存储管理 (22)实验一熟悉Windows XP中的进程和线程一、实验名称熟悉Windows XP中的进程和线程二、实验目的1、熟悉Windows中任务管理器的使用。
2、通过任务管理器识别操作系统中的进程和线程的相关信息。
3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。
三、实验结果分析1、启动操作系统自带的任务管理器:方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。
2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并完成下表:表一:统计进程的各项主要信息3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。
再从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程,原因是该系统是系统进程。
4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论 explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。
5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进程“explorer.exe”的各项信息,并填写下表:进程:explorer.exe 中的各个线程6、注意某些线程前有“+”,如图所示:,说明二者之间的差异前有“+”其器线程下有窗口。
四、心得体会通过本次实验,我了解到了windows系统中进程的管理与操作,我了解了如何切出任务管理器,任务管理器应用与其他与进程相关的知识,明白了有些系统程序不能够关闭,系统中的进程与线程虽然很多,但是其中有许多关联,只要弄清楚其中的关联那么就能够运用好进程与线程,达到我们的目的。
计算机操作系统课程实验报告专业信息管理与信息系统班级 1203601学号 120360117姓名乐云指导教师周学权计算机操作系统课程实验报告专业信息管理与信息系统班级 1203601学号 120360114姓名郭鑫指导教师周学权操作系统实验实验1 使用虚拟机安装系统 4学时【实验目的】1.了解虚拟机软件的使用。
2.了解使用虚拟机安装Windows及Ubuntu操作系统。
【实验内容】1. 安装虚拟机软件VirtualBox。
2. 配置VirtualBox环境安装WindowsXP,并在虚拟机中启动windowsXP。
3. 配置VirtualBox环境安装Ubuntu 10.10,并在虚拟机中启动Ubuntu。
【实验环境】VirtualBox4.0Windows XPUbuntu 8.04【实验过程】一、创建虚拟机首先运行VirtualBox,单击左上角的“新建”。
单击下一步。
出现如下图的界面,在名称后输入自己起的名字,如test选择自己想要安装的系统类型和版本,本次试验是安装windows xp系统设置完成后,单击下一步。
接下来是设置虚拟机的内存大小,本次实验操作的计算机内存为4GB,所以我选择分配给我的虚拟机的内存为512MB,然后单击下一步。
接着创建虚拟硬盘,选择创建新的虚拟硬盘,单击下一步。
选择虚拟硬盘的类型,默认选择了VDI类型,单击下一步。
接下来选择为动态扩展类型,因为计算机的存储空间不大。
单击下一步。
动态扩展:如果你为你的虚拟磁盘分配的是10G空间,虚拟磁盘占用真实磁盘空间的范围就为0~10G。
固定大小:如果你为你的虚拟磁盘分配的是10G空间,虚拟磁盘占用真实磁盘空间永远不是10G,不管虚拟磁盘空间是否被全部使用。
选择虚拟机在本地磁盘中的位置和大小,单击下一步。
确认虚拟机的详细情况,点击下一步。
这时我们已经成功的创建了一个虚拟机了,接下来我们要开始配置这个虚拟机安装操作系统选择刚才创建的虚拟机,然后单击上方的“开始”弹出了首次运行向导,单击下一步。
华北电力大学实验报告||实验名称操作系统实验课程名称操作系统综合实验||专业班级:学生姓名:学号:成绩:指导教师:实验日期:华北电力大学实验报告工具包集合。
EOS SDK文件夹主要包括INC头文件、LIB文件夹导入库文件和BIN文件夹动态链接库,可执行程序,二进制文件。
EOS SDK包含的头文件有:eos.h负责导出API函数声明;eosdef.h负责导出函数类型的定义;error.h 负责导出错误码。
四.实验过程1.新建Windows控制台应用程序生成项目:执行项目:调试项目:2.使用断点终端执行:查看EOS SDK(Software Development Kit)文件夹:修改EOS应用程序项目名称:五.实验心得这次是验证性试验,具体步骤和操作方法都是与实验教程参考书上一致,实验很顺利,实验过程没有遇到困难。
通过这次实验,我掌握了OS Lab启动和退出操作;练习使用OS Lab编写一个Windows控制台应用程序,熟悉OS Lab 的基本使用方法新建项目、生成项目、调试项目等。
第页共页华北电力大学实验报告第页共页华北电力大学实验报告第页共页2. 当loop线程在控制台1中执行,并且在控制台2中执行suspend命令时,为什么控制台1中的loop线程处于就绪状态而不是运行状态?3. 在本实验3.2节中只调试了图5-3中显示的最主要的四种转换过程,对于线程由新建进入就绪状态,或者由任意状态进入结束状态的转换过程还没有调试,请读者找到这两个转换过程执行的源代码,自己练习调试。
4. 总结一下在图5-3中显示的转换过程,哪些需要使用线程控制块中的上下文(将线程控制块中的上下文恢复到处理器中,或者将处理器的状态复制到线程控制块的上下文中),哪些不需要使用,并说明原因。
5. 在本实验3.2节中总结的所有转换过程都是分步骤进行的,为了确保完整性,显然这些转换过程是不应该被打断的,也就是说这些转换过程都是原语操作(参见本书第2.6节)。
操作系统实验报告实验项⽬⼆进程管理⼀、实验⽬的1.理解进程的概念,掌握⽗、⼦进程创建的⽅法。
2.认识和了解并发执⾏的实质,掌握进程的并发及同步操作。
⼆、实验内容1.编写⼀C语⾔程序,实现在程序运⾏时通过系统调⽤fork( )创建两个⼦进程,使⽗、⼦三进程并发执⾏,⽗亲进程执⾏时屏幕显⽰“I am father”,⼉⼦进程执⾏时屏幕显⽰“I am son”,⼥⼉进程执⾏时屏幕显⽰“I am daughter”。
2.多次连续反复运⾏这个程序,观察屏幕显⽰结果的顺序,直⾄出现不⼀样的情况为⽌。
记下这种情况,试简单分析其原因。
3.修改程序,在⽗、⼦进程中分别使⽤wait()、exit()等系统调⽤“实现”其同步推进,并获取⼦进程的ID号及结束状态值。
多次反复运⾏改进后的程序,观察并记录运⾏结果。
三、源程序及运⾏结果源程序1:#include#include#includeint main(int argc, char ** argv ){int pid=fork();if(pid < 0)printf("error!");else if( pid == 0 ){printf("I am son!\n");}else{int pid=fork();if (pid < 0)printf("error!");else if( pid == 0 ){printf(“I am daughter! \n");}elseprintf("I am father!\n");}sleep(1);return 0;}运⾏结果:源程序2:#include#include#includeint main(int argc, char ** argv ) {char *message;int n;int pid=fork();if(pid < 0)printf("error!");else if( pid == 0 ){message="I am daughter!"; pid=getpid();n=3;}else{int pid=fork();if (pid < 0)printf("error!");else if( pid == 0 ){message="I am son!";pid=getpid();n=3;}elsemessage="I am father!";n=3;}for(;n>0;n--){puts(message);sleep(1);}return 0;}运⾏结果:四、实验分析与总结1.实验内容1运⾏结果为什么⽆固定顺序,fork()函数创建进程是如何并发执⾏的。
哈尔滨工业大学(威海)操作系统实验报告说明:本实验报告实验答案,是本人在上实验时的测试数据,由于操作系统实验中后面实验与当时所做实验的计算机的配置有关,因此本实验报的数据仅供参考。
实验1进程的描述与控制Windows 2000编程(实验估计时间:100分钟)1.1 背景知识Windows 2000 可以识别的应用程序包括控制台应用程序、GUI应用程序和服务应用程序。
控制台应用程序可以创建GUI,GUI应用程序可以作为服务来运行,服务也可以向标准的输出流写入数据。
不同类型应用程序间的惟一重要区别是其启动方法。
Windows 2000是以NT技术构建的,它提供了创建控制台应用程序的能力,使用户可以利用标准的C++工具,如iostream库中的cout和cin对象,来创建小型应用程序。
当系统运行时,Windows 2000的服务通常要向系统用户提供所需功能。
服务应用程序类型需要ServiceMail()函数,由服务控制管理器(SCM)加以调用。
SCM是操作系统的集成部分,负责响应系统启动以开始服务、指导用户控制或从另一个服务中来的请求。
其本身负责使应用程序的行为像一个服务,通常,服务登录到特殊的LocalSystem账号下,此账号具有与开发人员创建的服务不同的权限。
当C++编译器创建可执行程序时,编译器将源代码编译成OBJ文件,然后将其与标准库相链接。
产生的EXE文件是装载器指令、机器指令和应用程序的数据的集合。
装载器指令告诉系统从哪里装载机器代码。
另一个装载器指令告诉系统从哪里开始执行进程的主线程。
在进行某些设置后,进入开发者提供的main()、Servicemain()或WinMain()函数的低级入口点。
机器代码中包括控制逻辑,它所做的事包括跳转到Windows API函数,进行计算或向磁盘写入数据等。
Windows允许开发人员将大型应用程序分为较小的、互相有关系的服务模块,即动态链接库(DLL)代码块,在其中包含应用程序所使用的机器代码和应用程序的数据。
windows操作实验报告一、实验目标通过本实验掌握是用硬件厂商提供的驱动程序,或从网络上下载驱动程序压缩包各类硬件设备的驱动程序。
二、实验内容练习使用硬件厂商提供的驱动程序或从网络上下载在驱动程序压缩包。
三、知识准备1、驱动程序概述驱动程序是对基本系统功能不能支持的各种硬件设备进行解释,是计算机能识别这些硬件设备,从而保证它们的正常运行。
2、什么情况下需要安装设备驱动程序在安装微机系统时,硬件设备虽然已经安装连接好了,但却无法正常使用,这时就需要安装厂商提供的驱动程序了。
3、安装驱动程序的原则4、常见驱动程序安装方式四、操作步骤1、利用驱动盘安装程序(1)找到硬件安装向导,选择安装方式(2)、如果操作系统没有支持这个硬件的驱动的话,那么如图4,就无法完成驱动程序的安装。
如果操作系统包含了支持这个硬件的驱动程序的话,如图5,那么系统将自动为这个硬件安装驱动。
2、安装intel芯片组主板的驱动程序(1)将购买的主板时附带的驱动光盘放入光驱中,程序自动运行,出现安装向导,在主菜单界面单击“intelchipsetsoftwareinstallationutility”选项,进入安装向导。
(2)单击“下一步”按钮,出现许可协议,单击“是”。
(3)浏览自述文件,单击“下一步”,程序开始复制文件。
(4)复制文件完成后,单击“完成”按钮,程序重启计算机,完成安装工作。
五、实验结论通过实验我学会了硬件厂商提供的驱动程序或从网络上下载在驱动程序压缩包。
一、实验任务:通过学习本次实验了解系统备份的重要性,掌握使用ghost 软件实现系统数据备份和还原的方法。
二、实验内容:练习使用ghost软件实现系统备份和还原以及硬盘的复制。
三、实验要点:通过学习了解系统数据的重要性,熟练掌握利用软件对系统进行备份、还原及备份。
四、知识准备:1、系统的备份和还原2、了解ghost软件的概述3、了解什么情况下应该备份和还原系统。
4、掌握ghost的各种界面。
武汉理工大学 学
生 实 验 报 告 书
实验课程名称 开 课 学 院 指导老师姓名 学 生 姓 名 学生专业班级 操作系统 计算机科学与技术学院 刘军 李安福 软件 sy1201
2014 — 2015 学年 第 一 学期
学生学号 0121210680225 实验课成绩 《操作系统》实验教学大纲 课程编号: 课程名称:操作系统/Operating System 实验总学时数:12 学时 适应专业:计算机科学与技术、软件工程 承担实验室:计算机科学与技术学院实验中心
一、实验教学的目的和任务 通过实验掌握 Linux 系统下常用键盘命令、系统调用、SHELL 编程、后台 批处理和 C 程序开发调试手段等基本用法。 二、实验项目及学时分配 序号 实验项目名称 实验学时 实验类型 开出要求 01 Linux 键盘命令和 vi 2 设计 必开 02 Linux 下 C 编程 2 设计 必开 03 SHELL 编程和后台批处理 2 设计 必开 04 Linux 系统调用(time) 2 设计 必开 05 Linux 进程控制(fork) 4 设计 必开 1每项实验的内容和要求: 1、 Linux 键盘命令和 vi 要求:掌握 Linux 系统键盘命令的使用方法。 内容:见教材 p4, p9, p40, p49-53, p89, p100 2、 Linux 下的 C 编程 要求:掌握 vi 编辑器的使用方法;掌握 Linux 下 C 程序的源程序编辑方法;编译、 连接和运行方法。 内容:设计、编辑、编译、连接以及运行一个 C 程序,其中包含键盘输入和屏幕 输出语句。 3、 SHELL 编程和后台批处理 要求:掌握 Linux 系统的 SHELL 编程方法和后台批处理方法。 内容: (1) 将编译、连接以及运行上述 C 程序各步骤用 SHELL 程序批处理完成, 前台运行。 (2) 将上面 SHELLL 程序后台运行。观察原 C 程序运行时输入输出情况。 (3) 修改调试上面 SHELL 程序和 C 程序,使得在后台批处理方式下,原 键盘输入内容可以键盘命令行位置参数方式交互式输入替代原键盘输入内容, 然后输出到屏幕。 4、Linux 系统调用使用方法。 要求:掌握 Linux 系统调用使用方法。 内容:学习使用 time, ctime, sleep, exit 等 Linux 系统调用使用方法。 5、Linux 系统进程控制 要求:掌握 Linux 系统中进程控制原语 fork 的使用方法。 内容:设计 C 程序,其中主进程创建一个子进程,以特定次序各自执行规定操作 后退出。 以上每项实验均要求每人一个 Linux 联机终端独立完成。
四、实验改革与特色 完成多用户分时系统 Linux 下的基本使用级观察级实验。 五、教材及实验指导书 教材:孟静,《操作系统教程题解与实验指导》, 高等教育出版社 2002.6
执笔:杨铭熙 审阅:陈天煌 审定:徐东平 日期 2014 年 12 月 6 日期 2014 年 12 月 6 实验课程名称: 操作系统 实验项目名称 Linux 键盘命令和 vi 实验成绩 实验者 李安福 专业班级 软件 sy1201 组别 同组者 实验日期 第一部分:实验分析与设计(可加页)
一、实验内容描述(问题域描述)
Linux 键盘命令和 vi 要求:掌握 Linux 系统键盘命令的使用方法。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑 或者算法描述)
进入 vi 的命令: vi filename : 打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第 n 行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与 pattern 匹配 的串处 vi -r filename :在上次正用 vi 编辑时发生系统崩溃,恢复 filename vi filename....filename :打开多个文件,依次进行编辑 键盘命令: 1. cat 命令、more 命令、less 命令:cat 命令是将单个或多个文件的内 容显示到屏幕上;more 命令和 less 命令与 cat 命令相似,以分页形式显示文件 内容。 2. ls 命令:将某一个目录或文件的内容显示出来 3. cp 命令:文件或目录的复制 4. rm 命令:删除文件或目录 5. mv 命令:将文件从一个位置移动到另一个位置 6. mkdir 命令:创建目录 7. rmdir:删除空目录
三、主要仪器设备及耗材 安装 Linux 系统的计算机一台。
第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等) 1 使用 mkdir 命令建立一个子目录 subdir 2 使用 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 不在工作目录中
vi 共分为三种模式 (1)命令模式:命令模式为 vi 的初始模式,可以使用“上下左右”按键来移动光标, 您可以使用“删除字符”或“删除整行”来处理文档。在编辑模式或指令列模式中按【ESC】 键可换回命令模式。
(2)编辑模式:在命令模式中按下【i, I, o, O, a, A, r, R】等字母之后才会进入 编辑模式。按下上述的字母时,在画面的左下方会出现【 --INSERT-- 或 --插入-- 】的字 样,才可以做文字数据输入。 (3)指令列模式:在命令模式当中,输入 【:】或【 / 】就可以将光标移动到最底下 那一行,进入指令列模式。在这个模式当中,可以存盘、结束 vi 、显示行号等操作。
二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等) Free 显示系统中已用空闲内存数量
top:查看系统进程情况 三、实验小结、建议及体会 vi 编辑器是 Linux 系统下标准的编辑器,它的强大不逊色于任何文本编辑器。 初次实验对 Linux 常用命令及编辑器的使用操作都不熟悉,但对 Linux 很好奇。 通过实验,学会了如何在现有操作系统的基础上再打开一个操作系统,并对新的 窗口进行操作。开始进入的界面有点像 DOS 环境下的界面,接着可以输入一些语 句命令来创建和查看文件、查看根目录及根目录下的内容,以及如何进入文件夹、 如何编译并推出编译等。学会 vi 有助于我们学习 Linux。 实验课程名称: 操作系统 实验项目名称 Linux 下 C 编程 实验成绩 实验者 李安福 专业班级 软件 sy1201 组别 同组者 实验日期 第一部分:实验分析与设计(可加页)
一、实验内容描述(问题域描述) Linux 下的 C 编程 要求:掌握 vi 编辑器的使用方法;掌握 Linux 下 C 程序的源程序编辑方法;编译、 连接和运行方法。 内容:设计、编辑、编译、连接以及运行一个 C 程序,其中包含键盘输入和屏幕输 出语句。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑 或者算法描述)
#include int main() { int a, b; printf("shu ru liang ge shu:\n");
scanf("%d,%d",&a,&b); if(a>b) { b = a; } printf("max = %d\n",b); return 0; }
三、主要仪器设备及耗材 Linux 操作系统 Vi 编辑器 gcc 编译 第二部分:实验调试与结果分析(可加页)
一、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等)
二、实验小结、建议及体会 通过这次实验 vi 编辑器有了进一步的应用,同时学会了在 Linux 进行简单的 C 语言编程,掌握 Linux 下 C 程序的源程序编辑方法;编译、连接和运行方法。 加深了对 linux 的印象,linux 的兼容性很强。C/C++仍旧可以在上面编译成功。在 以后的学习中会加大努力加强自己的编程能力。 实验课程名称: 操作系统 实验项目名称 SHELL 编程和后台批处理 实验成绩 实验者 李安福 专业班级 软件 sy1201 组别 同组者 实验日期 第一部分:实验分析与设计(可加页)
三、实验内容描述(问题域描述) SHELL 编程和后台批处理 要求:掌握 Linux 系统的 SHELL 编程方法和后台批处理方法。 内容: (1) 将编译、连接以及运行上述 C 程序各步骤用 SHELL 程序批处理完成,前 台运行。 (2) 将上面 SHELLL 程序后台运行。观察原 C 程序运行时输入输出情况。 (3) 修改调试上面 SHELL 程序和 C 程序,使得在后台批处理方式下,原键 盘输入内容可以键盘命令行位置参数方式交互式输入替代原键盘输入内容,然 后输出到屏幕。
四、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑 或者算法描述)
C 程序文件如下 #include int main() { int a, b; printf("shu ru liang ge shu:\n");
scanf("%d,%d",&a,&b); if(a>b) { b = a; } printf("max = %d\n",b); return 0; }
test.sh 文件如下
#!/bin/bash gcc -o t chmod u+x test.out ./test.out
三、主要仪器设备及耗材 linux 操作系统 Vi 编辑器