计算机操作系统实验资料

合集下载

操作系统安全实验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操作系统实验报告

windows操作系统实验报告

windows操作系统实验报告Windows操作系统实验报告引言:在计算机科学领域,操作系统是一种控制和管理计算机硬件和软件资源的软件。

它是计算机系统中最基本的软件之一,负责协调和管理计算机的各种活动。

Windows操作系统是由微软公司开发的一种广泛使用的操作系统,它具有用户友好的界面和丰富的功能。

本实验报告将介绍Windows操作系统的基本特征、安装过程和常见问题解决方法。

一、Windows操作系统的基本特征1. 多任务处理:Windows操作系统能够同时运行多个程序,使得用户可以在同一时间内进行多个任务。

这种特征大大提高了计算机的效率和使用便捷性。

2. 图形用户界面:Windows操作系统采用了直观的图形用户界面,使得用户可以通过鼠标和键盘进行操作。

用户可以通过点击图标、拖拽文件等方式来执行各种任务,这种界面设计大大降低了用户的学习成本。

3. 文件管理系统:Windows操作系统提供了强大的文件管理系统,用户可以创建、复制、移动和删除文件和文件夹。

此外,用户还可以通过搜索功能快速找到需要的文件。

4. 网络功能:Windows操作系统支持网络连接,用户可以通过网络传输文件、共享资源和访问远程计算机。

这种功能使得用户可以方便地进行远程办公和文件共享。

二、Windows操作系统的安装过程Windows操作系统的安装过程相对简单,以下是一般的安装步骤:1. 准备安装介质:首先,需要准备Windows操作系统的安装光盘或USB安装盘。

确保安装介质是正版和可靠的。

2. BIOS设置:进入计算机的BIOS设置界面,将启动顺序设置为从光盘或USB 设备启动。

保存设置并重启计算机。

3. 安装过程:计算机重新启动后,按照屏幕上的提示选择语言、时区和键盘布局等选项。

然后,选择安装类型和磁盘分区方式。

最后,等待安装过程完成。

4. 配置系统:安装完成后,系统会要求设置用户名和密码等信息。

此外,还可以选择安装必要的驱动程序和常用软件。

计算机操作系统实验报告

计算机操作系统实验报告

计算机操作系统实验报告一、实验目的本次计算机操作系统实验的主要目的是深入了解操作系统的工作原理和功能,通过实际操作和观察,增强对操作系统概念的理解,提高解决实际问题的能力。

二、实验环境1、操作系统:Windows 10 专业版2、开发工具:Visual Studio 20193、编程语言:C++三、实验内容1、进程管理实验创建多个进程,并观察它们的执行顺序和资源占用情况。

使用进程控制块(PCB)来跟踪进程的状态变化,如就绪、运行、阻塞等。

2、内存管理实验模拟内存分配和回收算法,如首次适应算法、最佳适应算法和最坏适应算法。

观察不同算法在内存利用率和分配效率方面的表现。

3、文件系统实验创建、读取、写入和删除文件,了解文件的操作流程。

研究文件的存储结构和目录管理方式。

4、线程同步与互斥实验使用互斥锁和信号量来实现线程之间的同步和互斥操作。

观察在多线程环境下资源竞争和同步的效果。

四、实验步骤1、进程管理实验步骤编写 C++程序,使用系统调用创建多个进程。

在每个进程中输出进程的标识符和当前执行时间。

通过观察控制台输出,分析进程的执行顺序和资源占用情况。

2、内存管理实验步骤实现不同的内存分配算法,并在程序中模拟内存请求和释放的过程。

记录每次内存分配和回收的结果,计算内存利用率和分配时间。

3、文件系统实验步骤使用文件操作函数创建文件,并写入一些数据。

读取文件中的数据,并将其输出到控制台。

删除文件,观察文件系统的变化。

4、线程同步与互斥实验步骤创建多个线程,共享一些公共资源。

在访问公共资源的代码段前使用互斥锁或信号量进行同步控制。

观察线程的执行结果,确保资源的正确访问和修改。

五、实验结果与分析1、进程管理实验结果与分析实验结果显示,进程的执行顺序是不确定的,取决于操作系统的调度策略和进程的优先级。

资源占用情况也因进程的不同而有所差异,一些进程可能占用较多的 CPU 时间和内存,而另一些则相对较少。

2、内存管理实验结果与分析首次适应算法在分配速度上较快,但容易产生内存碎片。

计算机操作系统上机实验报告

计算机操作系统上机实验报告

计算机操作系统(cāo zuò xì tǒnɡ)上机实验报告
云南师范大学信息(xìnxī)学院
实验报告
学号:134100010姓名:姜兴玲班级:计科13A 课程名称:操作系统实验名称:存储管理
实验性质:①综合性实验②设计性实验③验证性实验试验时间:2015年5月5日试验地点:睿智4栋212
本试验所用的设备:计算机一台
实验目的
了解计算机的存储并学会管理。

实验内容及过程:
1.右键单击工具栏,打开任务管理器查看性能来了解CPU
使用和页面文件使用。

2、单击开始设置控制面板系统
单击高级然后选择性能的设置来设置系统、管理系统
3、性能和维护打开控制面板切换到分类视图,选择性能和维护来进行操作。

小结:
通过对控制面板的熟悉我们能更好的了解计算机并且能对存储管理更好的了解和学习!
任课教师评语
教师签字: 年月日
注:每学期至少一次设计性实验。

每学期结束请任课教师按时按量统一(tǒngyī)交到教学秘书处
内容总结
(1)计算机操作系统上机实验报告。

操作系统实验全(五个)

操作系统实验全(五个)

操作系统试验指导—. 课程的性质、目的和任务操作系统在整个计算机系统软件中占有中心地位。

其作用是对计算机系统进行统一的调度和管理,提供各种强有力的系统服务,为用户创造既灵活又方便的使用环境。

本课程是计算机及应用专业的一门专业主干课和必修课。

通过本课程的学习,使学生掌握操作系统的基本概念、设计原理及实施技术,具有分析操作系统和设计、实现、开发实际操作系统的能力。

二. 实验的意义和目的操作系统是计算机专业学生的一门重要的专业课程。

操作系统质量对整个计算机系统的性能和用户对计算机的使用有重大的影响。

一个优良的操作系统能极大地扩充计算机系统的功能,充分发挥系统中各种设备的使用效率,提高系统工作的可靠性。

由于操作系统涉及计算机系统中各种软硬件资源的管理,内容比较繁琐,具有很强的实践性。

要学好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。

培养计算机专业的学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。

通过操作系统上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。

使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。

三.实验运行环境及上机前的准备实验运行环境: C语言编程环境上机前的准备工作包括:●按实验指导书要求事先编好程序;●准备好需要输入的中间数据;●估计可能出现的问题;●预计可能得到的运行结果。

四. 实验内容及安排实验内容包括进程调度、银行家算法、页式地址重定位模拟,LRU算法模拟和先来先服务算法五个实验。

每个实验介绍了实习的目的要求、内容和方法。

实验一、进程调度试验[目的要求]用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解.[准备知识]一、基本概念1、进程的概念;2、进程的状态和进程控制块;3、进程调度算法;二、进程调度1、进程的状态2、进程的结构——PCB进程都是由一系列操作(动作)所组成,通过这些操作来完成其任务。

计算机操作系统实验四

计算机操作系统实验四

计算机操作系统实验四计算机操作系统实验四一、实验目的本实验旨在通过实践,让学生熟悉并理解操作系统中进程调度和死锁的相关概念、算法和解决方法。

二、实验要求1.学习理解进程调度的基本概念和相关算法,包括先来先服务(FCFS)、短作业优先(SJF)、高响应比优先(HRRN)以及时间片轮转等算法。

2.掌握进程调度算法的实现原理和代码实现方法。

3.学习理解死锁的概念、产生原因以及解决方法,包括资源分配图法、银行家算法等。

4.掌握死锁相关算法的实现原理和代码实现方法。

5.进行相关实验操作,并记录实验结果和分析。

三、实验步骤1.进程调度实验1.1 实验环境配置在操作系统中配置相关环境,创建进程调度实验所需的实验环境,包括进程控制块(PCB)、进程队列、进程状态等。

1.2 先来先服务(FCFS)算法实现阐述先来先服务算法的实现原理,包括就绪队列、完成队列的管理和进程状态的切换。

1.3 短作业优先(SJF)算法实现阐述短作业优先算法的实现原理,包括作业调度表、就绪队列、完成队列的管理和进程状态的切换。

1.4 高响应比优先(HRRN)算法实现阐述高响应比优先算法的实现原理,包括计算响应比、优先级比较和进程状态的切换。

1.5 时间片轮转算法实现阐述时间片轮转算法的实现原理,包括设置时间片长度、就绪队列的管理和进程状态的切换。

1.6 实验结果分析运行各种进程调度算法,并记录实验结果,分析每种算法的优缺点和适用场景。

2.死锁实验2.1 死锁概念和产生原因阐述死锁的概念、产生原因,包括资源竞争、进程互斥、不可抢占和循环等。

2.2 资源分配图法实现阐述资源分配图法解决死锁的实现原理,包括资源分配图的构建和死锁检测算法的应用。

2.3 银行家算法实现阐述银行家算法解决死锁的实现原理,包括安全序列的判断和资源分配的策略。

2.4 实验结果分析运行资源分配图法和银行家算法,记录实验结果,分析算法的效果和应用场景。

四、实验结果及分析经过实验,我们得到了以下结果和分析:1.进程调度实验结果分析在不同的进程调度算法下,记录了各个进程在不同时刻的执行情况、等待时间和周转时间等指标。

计算机操作系统实验指导linux版王红玲源码

计算机操作系统实验指导linux版王红玲源码

计算机操作系统实验指导linux版王红玲源码操作系统实验是计算机科学专业学生必修的一门课程,通过实验可以增加学生对操作系统原理的理解和运用能力。

本文以Linux版王红祥操作系统实验指导为例,介绍实验的内容和相关源码。

一、实验内容王红祥操作系统实验主要包括以下几个方面的内容:1.操作系统的引导过程:通过编写汇编代码,实现在x86计算机上加载操作系统,并将CPU从实模式切换到保护模式。

2. 中断处理:实现Timer和UART中断的处理函数,并学习如何编写中断处理程序。

3.多进程管理:实现进程的创建、调度和切换,并学习如何用进程间通信的方式实现进程间的数据交换。

4.内存管理:实现内存的分配和回收,通过设计页表实现虚拟地址转换到物理地址。

5.文件系统:基于FAT12文件系统,实现文件的读取和写入功能,包括创建、删除和修改文件。

二、源码分析以下是王红祥操作系统实验中的一个源码例子,用于实现中断处理:```cvoid irq_handler(int irq)if (irq == TIMER_IRQ)} else if (irq == UART_IRQ)uart_handle(;}/*处理定时器中断的逻辑*/void uart_handle/*处理串口中断的逻辑*/int main/*设置中断处理函数*/set_irq_handler(IRQ0, irq_handler); set_irq_handler(IRQ1, irq_handler); /*启用中断*/enable_irq(IRQ0);enable_irq(IRQ1);/*主循环*/while (1)/*在这里执行其他的操作*/}return 0;```在main函数中,首先通过set_irq_handler函数设置了中断处理函数。

然后,通过enable_irq函数启用了IRQ0和IRQ1中断。

最后,采用死循环结构确保操作系统对中断的及时处理。

以上源码是王红祥操作系统实验中的一部分,通过学习和实践这些源码,可以更好地理解和掌握操作系统的原理和实现。

操作系统实验报告1

操作系统实验报告1

《操作系统》实验报告实验序号:01 实验项目名称:操作系统环境学号1107xxx 姓名xxx 专业、班级软件工程1103 实验地点计—502 指导教师徐冬时间2013.9.23 实验目的1) 了解和学习Windows系统管理工具及其使用;2) 熟悉Windows系统工具的内容和应用;由此,进一步熟悉Windows操作系统的应用环境。

工具/准备工作在开始本实验之前,请回顾教科书的相关内容。

需要准备一台运行Windows 操作系统的计算机。

实验内容与步骤1. 计算机管理2. 事件查看器3. 性能监视4. 服务5. 数据库 (ODBC)为了帮助用户管理和监视系统,Windows提供了多种系统管理工具,其中最主要的有计算机管理、事件查看器和性能监视等。

如图2所示。

图2 基于虚拟机的操作系统计算环境管理步骤1:登录进入Windows。

步骤2:在“开始”菜单中单击“设置”-“控制面板”命令,双击“管理工具”图标。

在本地计算机“管理工具”组中,有哪些系统管理工具,基本功能是什么:1) Internet 信息服务;管理IIS,Internet 和Intranet站点的WEB服务器。

2) Server Extensions 管理器;Server Extensions管理器。

3)计算机管理;管理磁盘以及使用其他系统工具来管理本地或远程的计算机。

4)性能;显示系统性能图表以及配置数据日志和警报。

5)本地安全策略;查看和修改本地安全策略,如用户权限和审核策略。

6)事件查看器;显示来自于Windows和其他程序的监视与排错消息。

7)组件服务;配置和管理COM+应用程序。

1. 计算机管理使用“计算机管理”可通过一个合并的桌面工具来管理本地或远程计算机,它将几个Windows管理实用程序合并到一个控制台目录树中,使管理员可以轻松地访问特定计算机的管理属性和工具。

步骤3:在“管理工具”窗口中,双击“计算机管理”图标。

“计算机管理”使用的窗口与“Windows资源管理器”相似。

计算机操作系统实验报告

计算机操作系统实验报告

实验名称:操作系统原理与实现实验日期:2021年10月15日实验班级:计算机科学与技术1班实验目的:1. 理解操作系统的基本概念和功能。

2. 掌握操作系统的基本原理和实现方法。

3. 通过实验加深对操作系统核心功能的理解。

实验内容:一、实验背景操作系统是计算机系统中最重要的系统软件之一,它负责管理和控制计算机硬件与软件资源,为用户提供一个良好的工作环境。

本次实验旨在通过实践操作系统的基本原理和实现方法,加深对操作系统核心功能的理解。

二、实验环境1. 操作系统:Windows 102. 开发环境:Visual Studio 20193. 实验工具:C++语言三、实验步骤1. 创建一个简单的进程管理器(1)定义进程结构体```cppstruct Process {int pid; // 进程IDint priority; // 进程优先级int status; // 进程状态(0:就绪,1:运行,2:阻塞,3:结束)// ... 其他进程信息};```(2)初始化进程表```cppconst int MAX_PROCESS = 10; // 最大进程数Process process[MAX_PROCESS]; // 进程表```(3)实现进程调度算法```cpp// 实现先来先服务(FCFS)调度算法void fcfsSchedule() {for (int i = 0; i < MAX_PROCESS; i++) {if (process[i].status == 0) { // 就绪状态 process[i].status = 1; // 运行状态// ... 执行进程process[i].status = 3; // 结束状态}}}```(4)实现进程创建、销毁和阻塞```cpp// 创建进程void createProcess(int pid, int priority) {for (int i = 0; i < MAX_PROCESS; i++) {if (process[i].pid == 0) { // 找到空闲进程 process[i].pid = pid;process[i].priority = priority;process[i].status = 0;break;}}}// 销毁进程void destroyProcess(int pid) {for (int i = 0; i < MAX_PROCESS; i++) {if (process[i].pid == pid) {process[i].pid = 0;process[i].priority = 0;process[i].status = 0;break;}}}// 阻塞进程void blockProcess(int pid) {for (int i = 0; i < MAX_PROCESS; i++) {if (process[i].pid == pid) {process[i].status = 2; // 阻塞状态 break;}}}```2. 创建一个简单的文件系统(1)定义文件结构体```cppstruct File {int fileID; // 文件IDchar fileName[50]; // 文件名int fileSize; // 文件大小// ... 其他文件信息};```(2)初始化文件表```cppconst int MAX_FILE = 10; // 最大文件数File file[MAX_FILE]; // 文件表(3)实现文件操作```cpp// 创建文件void createFile(int fileID, const char fileName, int fileSize) { for (int i = 0; i < MAX_FILE; i++) {if (file[i].fileID == 0) { // 找到空闲文件file[i].fileID = fileID;strcpy(file[i].fileName, fileName);file[i].fileSize = fileSize;break;}}}// 删除文件void deleteFile(int fileID) {for (int i = 0; i < MAX_FILE; i++) {if (file[i].fileID == fileID) {file[i].fileID = 0;file[i].fileSize = 0;break;}}// 打开文件void openFile(int fileID) {// ... 打开文件操作}// 关闭文件void closeFile(int fileID) {// ... 关闭文件操作}```四、实验结果与分析通过本次实验,我们成功实现了进程管理器和文件系统的基本功能。

计算机操作系统实训资料

计算机操作系统实训资料

计算机操作系统实验(训)指导书学院:电子信息工程学院班级:13计算机科学与技术本01班学号:姓名:指导教师:西安思源学院电子信息工程学院前言操作系统是计算机科学与技术专业的一门重要的专业课,是一门实践性很强的技术课程。

掌握操作系统原理、熟悉操作系统的使用是各层次计算机软硬件开发人员必不可少的基本技能。

操作系统课程讲授理论原理比较容易,而如何指导学生进行实践则相对较难,导致学生不能深刻地理解操作系统的本质,也不能在实际中应用所学的操作系统理论知识及操作系统所提供的功能来解决实际问题。

本实验课程在操作系统原理课程教学中占有重要地位,目的是让学生及时掌握和巩固所学的基本原理和基础理论,加深理解。

提高学生自适应能力,为将来使用和设计各类新的操作系统打下基础。

一般来说,学习操作系统分为以下几个层次:1.学习并掌握操作系统的基本概念及原理,了解操作系统的实现机制。

2.掌握常用操作系统的使用、操作和维护,成为合格的系统管理员。

目前最常用的操作系统主要有UNIX、Linux、Windows等等。

3.通过分析操作系统源代码,掌握修改、编写操作系统的能力。

开放源代码的操作系统Linux的出现为我们提供了机遇。

操作系统本身的构造十分复杂,如何在有效的时间内,使学生既能了解其实现原理又能对原理部分进行有效的实践,是操作系统教学一直在探索的内容。

本实验课程以Windows和Linux操作系统为主要平台,从基本原理出发,通过几个实验,使学生能对操作系统的基本原理有更深入的了解,为将来从事操作系统方面的研究工作打下一定的基础。

目录实验一Windows的用户界面 (4)实验二Windows2003的任务与进程管理器 (6)实验三Linux使用环境 (10)实验四Linux进程管理、内存管理、设备管理 (13)实验五Windows2003内存管理 (16)实验六目录和文件管理 (19)实验七用户与组群管理 (21)实验一Windows的用户界面一、实验目的(1)熟悉Windows的GUI界面和命令控制界面(2)学习并熟悉Windows的命令行解释器及常用命令(3)理解批处理文件及批处理文件的使用二、实验理论基础及教材对应关系1、实验理论基础:(1)W indows的命令解释器及字符用户界面。

电脑实践课实验报告(3篇)

电脑实践课实验报告(3篇)

第1篇实验名称:计算机基本操作与常用软件应用实验日期:2023年3月15日实验地点:计算机实验室实验目的:1. 掌握计算机的基本操作,包括开关机、文件管理、系统设置等。

2. 熟悉常用软件的使用,如文字处理软件、电子表格软件、演示文稿软件等。

3. 提高计算机应用能力,为后续课程学习打下基础。

实验内容:一、计算机基本操作1. 开关机操作(1)打开计算机,等待系统启动完成。

(2)使用鼠标点击屏幕左下角的“开始”按钮,选择“关机”选项。

(3)系统提示是否保存更改,根据实际情况选择保存或取消保存。

(4)点击“确定”按钮,等待计算机完全关闭。

2. 文件管理(1)打开文件资源管理器,了解文件结构。

(2)创建文件夹:点击“文件”菜单,选择“新建”->“文件夹”,输入文件夹名称,按“确定”按钮。

(3)重命名文件或文件夹:选中文件或文件夹,右击鼠标,选择“重命名”,输入新名称,按“Enter”键。

(4)删除文件或文件夹:选中文件或文件夹,右击鼠标,选择“删除”,在弹出的对话框中选择“是”。

3. 系统设置(1)打开“控制面板”,了解系统设置。

(2)调整屏幕分辨率:在“控制面板”中找到“显示”选项,调整分辨率。

(3)设置网络连接:在“控制面板”中找到“网络和共享中心”,设置网络连接。

二、常用软件应用1. 文字处理软件(Microsoft Word)(1)创建新文档:点击“开始”按钮,选择“所有程序”->“MicrosoftOffice”->“Microsoft Word”,打开Word软件。

(2)输入文字:在文档中输入文字,可以使用“格式”工具栏进行文字格式设置。

(3)保存文档:点击“文件”菜单,选择“保存”或“另存为”,设置保存路径和文件名,点击“保存”按钮。

2. 电子表格软件(Microsoft Excel)(1)创建新工作簿:点击“开始”按钮,选择“所有程序”->“Microsoft Office”->“Microsoft Excel”,打开Excel软件。

计算机操作系统实验---进程调度

计算机操作系统实验---进程调度

操作系统实验报告--进程调度计科02-8 王长青05年4月17日计算机操作系统实验——进程调度一.实验目的进程调度是处理机管理的核心内容。

通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数调度算法的具体实施办法。

二.程序功能本程序使用VC++编译调试,用于实现进程优先数调度的模拟。

主要包含三个模块:1、主界面:用于显示进程调度的过程。

2、数据录入模块:用于获取进程的初始值,其中有三种获取方式,手动输入方式、随即生成方式和从文件中读去数据的方式。

当用户在主窗口中点击“开始”菜单项时即可打开数据录入对话框,用户通过这三种方式之一均可完成数据的录入。

3、进程控制模块:主要实现创建新的进程,就绪队列的管理,完成队列的管理,进程的调度。

三.实验原理(1)本程序采用优先数调度算法对进程进行调度,每个进程可有三个状态,即:就绪状态,运行状态,完成状态。

并假设初始状态为就绪状态。

这三种状态的转换情况如右图:(2)为了便于处理,程序中的某进程运行时间以时间片为单位计算。

各进程的优先数以及进程需运行的时间片数的初始值均由用户给定(通过数据录入模块完成)。

(3)程序通过设置一个定时器来实现时间片的轮转,时间片的大小是1秒,在定时器消息的响应函数中从用户录入的数据中读取一个创建进程,将其加入到就绪队列中,然后进行调度和执行。

在调度函数中,对于遇到优先数一致的情况,采用FIFO策略解决。

(4)在优先数算法中,进程每执行一次,优先数减3,进程还需要运行的时间数减1。

四.详细设计(1)设计进程控制块PCB结构:struct PCB{ int pid; //进程号int pri; //进程优先数int time; //进程所需运行时间int status; // 进程状态 0就绪,1 执行,-1完成};(2)将进程的各种操作封装在类CProMoni中,该类的定义如下:class CProMoni{public:CProMoni();virtual ~CProMoni();void InsertRQ(PCB* p); //将p所指的进程插入到就绪队列中void InsertFQ(PCB* p); //将p所指的进程插入到完成队列中void ProSchedule(); //进程调度函数void ProRun(); //运行函数void Display(CDC* pDC); //以表格形式输出运行过程bool GetFinishFlag();bool OpenLogFile(); //打开日志文件void CloseLogFile(); //关闭日志文件bool WriteLogToFile(); //向日志文件中写入数据private:PCB *m_pRunning; //指向当前运行的进程CPtrList m_readyList; //就绪队列CPtrList m_finishList; //完成队列bool m_finish; //完成标志CString m_LogFileName; //日志文件名CStdioFile m_LogFile; //日志文件public:int m_clock; //时钟序列};(3)主要成员函数的实现:void CProMoni::InsertRQ(PCB* p){ //将p插入到就绪队列中POSITION pre,pos=m_readyList.GetHeadPosition();PCB *q;while(pos!=NULL){pre=pos;q=(PCB*)m_readyList.GetNext(pos);if(q->pri < p->pri){m_readyList.InsertBefore(pre,p);return;}}if(pos==NULL){m_readyList.AddTail(p);}}void CProMoni::ProSchedule(){//进程调度PCB *p;if(m_pRunning==NULL){if(m_readyList.IsEmpty()){m_finish=true;return;}else{p=(PCB*)m_readyList.RemoveHead();m_pRunning=p;}}else{if(!m_readyList.IsEmpty()){p=(PCB*)m_readyList.GetHead();//m_readyList将头节点与当前PCB的权值比较if(p->pri > m_pRunning->pri ){PCB *q=m_pRunning;m_pRunning=(PCB*)m_readyList.RemoveHead();m_pRunning->status=1;q->status=0;InsertRQ(q);}}}}void CProMoni::ProRun(){//运行进程if(!m_finish){if(m_pRunning==NULL){ AfxMessageBox("当前运行的进程不存在!");return;}m_pRunning->pri-=3;m_pRunning->time-=1;{ m_pRunning->time=0;PCB*p=m_pRunning;p->status=-1;InsertFQ(p);m_pRunning=NULL;}}}(4)试图类的主要成员函数:PCB* CProcessView::CreatePCB(){//创建PCBPCB* p=new PCB;p->pid=n+1;p->pri=m_pris[n];p->time=m_times[n];p->status=0;n++;return p;}#include"pritimedlg.h"void CProcessView::OnStart(){ CPriTimeDlg dlg; //定义数据录入对话框dlg.DoModal();if(dlg.m_ok){ m_proTotal=dlg.m_proNum;for(int i=0;i<m_proTotal;i++){ m_pris[i]=dlg.m_pris[i];m_times[i]=dlg.m_times[i];}m_proMoni.OpenLogFile(); //打开日志文件PCB* p=CreatePCB(); //创建新进程m_proMoni.InsertRQ(p); //将新进程插入到就绪队列中m_proMoni.WriteLogToFile(); //写日志文件m_proMoni.ProSchedule(); //进程调度m_start=true; //设置开始标志Invalidate(); //刷新视图m_killTimer=false;SetTimer(1,1000,NULL);//设置定时器}}void CProcessView::OnTimer(UINT nIDEvent){ m_proMoni.m_clock++;m_proMoni.WriteLogToFile();//写日志m_proMoni.ProRun(); //运行进程if(n<m_proTotal){ PCB *p=CreatePCB();//创建新进程m_proMoni.InsertRQ(p);}m_proMoni.ProSchedule();Invalidate();if(m_proMoni.GetFinishFlag()){//若已完成则删除定时器KillTimer(1);m_killTimer=true;AfxMessageBox("演示完毕");}CScrollView::OnTimer(nIDEvent);}五.运行结果(1)数据录入界面:(2)进程调度过程的结果:六、实验总结通过本实验使我对进程的相关概念及进程的优先数调度算法有了更深的理解,使自己在程序设计及编制方面也有了一定的提高。

计算机操作系统实验报告

计算机操作系统实验报告

实验1:安装操作系‎统--安装Win‎d ows 2000 Profe‎s sion‎a l1、实验目的:1) 通过对Wi‎n dows‎2000 Profe‎s sion‎a l的安装‎操作,了解操作系‎统应用环境‎建立的初步‎过程。

2) 掌握对Wi‎n dows‎操作系统的‎基本系统设‎置。

3) 了解Win‎d o ws多‎操作系统安‎装的方法。

2、工具/准备工作在开始本实‎验之前,请回顾教科‎书的相关内‎容。

需要一台准‎备安装Wi‎ndows‎2000 Profe‎s sion‎a l操作系‎统的计算机‎。

Windo‎w s 2000是‎一款功能强‎大的系统软‎件,它对系统的‎要求也比较‎高。

系统安装时‎,对计算机硬‎件设备的最‎低要求如表‎1-2所示。

表1-2 安装Win‎dows 2000的‎硬件需求基本硬件设‎备基本需求建议需求实际情况CPU Penti‎u m 166MH‎z Penti‎u m II以上内存32MB 64MB以‎上磁盘空间(可用空间/总空间) 650MB‎/2GB 1.5GB/4GBCD-ROM或D‎V D-ROM光驱‎24倍速以‎上网卡和调制‎解调器VGA显卡‎及显示器、键盘、鼠标3、实验内容与‎步骤本实验以光‎盘启动、全新安装为‎例。

可以利用W‎indow‎s2000 Profe‎s sion‎a l光盘来‎直接开机启‎动,开机后自动‎执行安装程‎序。

(因此,在执行安装‎操作之前,请检查你的‎计算机是否‎允许从光盘‎驱动器引导‎启动,否则应对机‎器的BIO‎S进行相应‎的设置。

)安装Win‎dows 2000 Profe‎s sion‎a l首先需‎要建立分区‎,然后才开始‎运行安装程‎序。

所以,整个安装过‎程可分为两‎个阶段:·文字模式阶‎段:主要是选择‎用来安装W‎indow‎s2000的‎硬盘。

安装程序提‎供了建立分‎区、删除分区以‎及格式化等‎功能。

操作系统设备管理实验报告

操作系统设备管理实验报告

操作系统设备管理实验报告1.计算机操作系统计算机操作系统(operating system缩写作OS)是管理计算机硬件与软件资源的计算机的系统程序, 同时也是计算机系统的内核与基石。

操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。

操作系统也提供一个让用户与系统交互的操作界面。

操作系统在计算机系统中的位置1)操作系统位于底层硬件与用户之间, 是两者沟通的桥梁。

用户可以通过操作系统的用户界面, 输入命令。

操作系统则对命令进行解释, 驱动硬件设备, 实现用户要求。

•2)以现代标准而言, 一个标准PC的操作系统应该提供以下的功能: •进程管理: 计算机中的应用程序都是以进程单位运行的, 操作系统调度多个进程到CPU执行的过程称为进程管理。

•内存管理: 操作系统管理计算机内存, 控制着内存的分配和回收, 管理者内存与外存的信息交换, 以及配合硬件做地址转换。

•文件系统: 管理硬盘的数据, 可将数据已目录或者文件的形式存储。

•网络通信:管理与计算机外部的网络通信, 例如通过浏览器浏览网页, 打印文件等。

安全机制: 控制一些安全机制, 包含计算机非法入侵和一些合法校验。

用户界面: 图形界面。

驱动程序:与硬件交互的计算机软件, 操作系统通过驱动程序与硬件交互, 例如:USB驱动。

2.常见的操作系统1)Windowswindows10微软创始人比尔.盖茨Windows操作系统是美国微软公司推出的一款操作系统。

该系统从1985年诞生到现在, 经过多年的发展完善, 相对比较成熟稳定, 是当前个人计算机的主流操作系统。

Windows系统的特点:a、Windows操作系统界面友好, 窗口制作优美, 操作动作易学, 多代系统之间有良好的传承, 计算机资源管理效率较高, 效果较好。

b、Windows操作系统作为优秀的操作系统, 由开发操作系统的微软公司控制接口和设计, 公开标准, 因此, 有大量商业公司在该操作系统上开发商业软件。

计算机操作系统实验报告答案

计算机操作系统实验报告答案

《操作系统》实验报告专业年级:姓名:学号:提交日期:实验一:操作系统环境1.1 Windows 2000 系统管理(实验估计时间:60分钟)实验内容与步骤1、计算机管理2、事件查看器3、性能监视4、服务5、数据库(ODBC)为了帮助用户管理和监视系统,Windows 2000提供了多种系统管理工具,其中最主要的有计算机管理、事件查看器和性能监视等。

步骤1:登录进入Windows 2000 Professional。

步骤2:在“开始”菜单中单击“设置”-“控制面板”命令,双击“管理工具”图标。

在本地计算机“管理工具”组中,有哪些系统管理工具,基本功能是什么:1) 本地安全策略:查看和修改本地安全策略,如用户权限和审核策略。

2) 服务:启动和停止服务。

3) 计算机管理器:管理磁盘以及使用其他系统工具来管理本地或远程的计算机。

4) 事件查看器:显示来自于 Windows 和其他程序的监视与排错消息。

5) 数据源:添加、删除、以及配置 ODBC 数据源和驱动程序。

6) 性能:显示系统性能图表以及配置数据日志和警报。

7) 组件服务:配置和管理 COM+ 应用程序。

1. 计算机管理使用“计算机管理”可通过一个合并的桌面工具来管理本地或远程计算机,它将几个Windows 2000管理实用程序合并到一个控制台目录树中,使管理员可以轻松地访问特定计算机的管理属性和工具。

步骤3:在“管理工具”窗口中,双击“计算机管理”图标。

“计算机管理”使用的窗口与“Windows资源管理器”相似。

在用于导航和工具选择的控制台目录树中有“系统工具”、“存储”及“服务和应用程序”等节点,窗口右侧“名称”窗格中显示了工具的名称、类型或可用的子工具等。

它们是:1)系统工具,填入表2-3中。

表2-3 实验记录2) 存储,填入表2-4中。

3) 服务和应用程序,填入表2-5中。

2. 事件查看器事件查看器不但可以记录各种应用程序错误、损坏的文件、丢失的数据以及其他问题,而且还可以把系统和网络的问题作为事件记录下来。

计算机操作系统实验报告

计算机操作系统实验报告

实验一 Windows XP 系统管理一、实验目的1) 了解和学习Windows系统管理工具及其使用;2) 熟悉Windows系统工具的内容和应用;3)熟悉Windows操作系统的应用环境。

二、实验环境需要准备一台运行Windows XP操作系统的计算机。

三、背景知识Windows XP的“管理工具”中集成了许多系统管理工具,利用这些工具,管理员可以方便地实现各种系统维护和管理功能。

这些工具都集中在“控制面板”的“管理工具”选项下,用户和管理员可以很容易地对它们操作和使用。

在默认情况下,只有一些常用工具——如服务、计算机管理、事件查看器、数据源 (ODBC) 、性能和组件服务等——随Windows XP 系统的安装而安装。

四、实验内容与步骤为了帮助用户管理和监视系统,Windows XP提供了多种系统管理工具,其中最主要的有计算机管理、事件查看器和性能监视等。

步骤1:登录进入Windows XP。

步骤2:在“开始”菜单中单击“设置”-“控制面板”命令,双击“管理工具”图标。

在本地计算机“管理工具”组中,有哪些系统管理工具,基本功能是什么:1) 本地安全策略:用于配置本地计算机的安全设置。

这些设置包括密码策略、帐户锁定策略、审核策略、IP 安全策略、用户权利指派、加密数据的恢复代理以及其他安全选项。

“本地安全策略”只有在非域控制器的计算机上才可用。

如果计算机是域的成员,这些设置将被从域接收到的策略覆盖。

2) 服务:用于管理计算机上的服务,设置要发生的恢复操作(如果服务失败)以及为服务创建自定义名字和描述从而能够方便地识别它们。

3)计算机管理:用于从单个的统一桌面实用程序管理本地或远程计算机。

“计算机管理”将几个 Windows XP 管理工具合并为一个单独的控制台树,从而更容易访问特定的计算机管理属性。

1. 计算机管理使用“计算机管理”可通过一个合并的桌面工具来管理本地或远程计算机,它将几个Windows XP管理实用程序合并到一个控制台目录树中,使管理员可以轻松地访问特定计算机的管理属性和工具。

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

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

计算机操作系统实验课实验报告一、实验目的本次计算机操作系统实验课的主要目的是通过实际操作和观察,深入理解计算机操作系统的基本原理和功能,提高对操作系统的实际运用能力和问题解决能力。

二、实验环境本次实验使用的计算机配置为:处理器_____,内存_____,操作系统为_____。

实验所使用的软件工具包括_____。

三、实验内容及步骤(一)进程管理实验1、编写程序创建多个进程,并观察进程的执行顺序和资源分配情况。

首先,使用编程语言(如 C 或 Java)编写代码,创建多个进程。

然后,通过操作系统提供的工具(如任务管理器)观察进程的创建、执行和结束过程。

记录不同进程的执行时间、CPU 使用率和内存占用情况。

2、实现进程间的通信机制,如管道、消息队列等。

分别编写使用管道和消息队列进行进程间通信的程序。

在程序中发送和接收数据,并观察通信的效果和数据的完整性。

(二)内存管理实验1、模拟内存分配算法,如首次适应算法、最佳适应算法和最坏适应算法。

编写程序实现上述三种内存分配算法。

输入不同的内存请求序列,观察每种算法下内存的分配情况和碎片产生情况。

2、研究虚拟内存的工作原理,并进行相关实验。

通过操作系统的设置,调整虚拟内存的大小。

运行大型程序,观察虚拟内存的使用情况和系统性能的变化。

(三)文件系统实验1、实现文件的创建、读写和删除操作。

使用编程语言创建文件,并向文件中写入数据。

读取文件中的内容,并进行验证。

删除文件,观察文件系统的变化。

2、研究文件系统的目录结构和文件权限管理。

观察文件系统的目录层次结构,了解目录的组织方式。

设置文件的权限,如只读、读写、执行等,观察不同权限对文件操作的影响。

四、实验结果与分析(一)进程管理实验结果与分析1、在创建多个进程的实验中,发现进程的执行顺序并非完全按照创建的顺序,而是由操作系统的调度算法决定。

某些进程可能会因为等待资源而暂时被挂起,而其他进程则会得到执行机会。

2、通过进程间通信实验,发现管道通信方式简单直接,但只能用于具有亲缘关系的进程之间;消息队列则更加灵活,可以在不同的进程之间传递消息,但需要更多的编程和管理工作。

系统安装实验报告总结(3篇)

系统安装实验报告总结(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,使学生掌握操作系统安装的基本方法,熟悉不同操作系统的安装流程,提高学生的实际动手能力和系统维护能力。

二、实验环境1. 实验机:一台具备安装操作系统能力的计算机,硬件配置满足实验要求。

2. 操作系统:Windows 10、Linux Ubuntu等。

3. 实验工具:安装光盘、U盘启动工具、系统镜像文件等。

三、实验内容1. Windows 10操作系统安装2. Linux Ubuntu操作系统安装3. 操作系统安装过程中的注意事项及解决方法四、实验步骤1. Windows 10操作系统安装(1)准备安装光盘或U盘启动工具,将Windows 10系统镜像文件复制到U盘中。

(2)开机进入BIOS设置,将启动顺序设置为U盘启动。

(3)从U盘启动,进入Windows 10安装界面。

(4)选择安装语言、时间和键盘布局,点击“下一步”。

(5)点击“我接受许可条款”,点击“下一步”。

(6)选择安装类型,这里选择“自定义:仅安装Windows(高级)”。

(7)选择磁盘分区,将所有磁盘空间分给新分区。

(8)格式化分区,点击“下一步”。

(9)等待系统安装完成,重启计算机。

2. Linux Ubuntu操作系统安装(1)准备安装光盘或U盘启动工具,将Ubuntu系统镜像文件复制到U盘中。

(2)开机进入BIOS设置,将启动顺序设置为U盘启动。

(3)从U盘启动,进入Ubuntu安装界面。

(4)选择安装语言、时间和键盘布局,点击“继续”。

(5)选择安装类型,这里选择“桌面安装”。

(6)选择磁盘分区,将所有磁盘空间分给新分区。

(7)格式化分区,点击“继续”。

(8)选择安装位置,点击“继续”。

(9)设置用户名、密码等信息,点击“继续”。

(10)等待系统安装完成,重启计算机。

五、实验结果1. 成功安装Windows 10操作系统。

2. 成功安装Linux Ubuntu操作系统。

六、实验总结1. 在安装操作系统过程中,要确保计算机硬件配置满足系统要求,以免出现安装失败的情况。

实验报告计算机操作系统-Windows10

实验报告计算机操作系统-Windows10

实验报告计算机操作系统-Windows101. 引言Windows10是微软公司推出的最新一代操作系统,广泛应用于个人计算机和企业环境中。

本报告旨在介绍Windows10操作系统的基本概念、架构和功能特性,并分析其在实际应用中的优势和不足之处。

2. Windows10操作系统概述Windows10操作系统是基于Windows内核的全新操作系统,于2015年7月29日正式发布。

与前几个版本相比,Windows10在用户界面、安全性、性能和稳定性等方面有了显著的改进和优化。

2.1 用户界面Windows10采用了新的开始菜单设计,同时提供了传统的桌面模式和全屏Metro应用模式两种用户界面选择。

新的开始菜单在继承了Windows7的传统菜单功能的基础上,加入了在Windows8中引入的动态磁贴功能,使得用户可以更加自由地定制和管理应用程序。

2.2 安全性Windows10引入了许多新的安全功能,包括Windows Hello生物识别、Windows Defender防病毒软件和BitLocker 磁盘加密等。

这些功能提高了系统的安全性,保护了用户的个人信息和数据安全。

2.3 性能和稳定性Windows10通过优化内核和硬件驱动程序,提升了系统的性能和响应速度。

此外,Windows10还引入了新的内存管理技术和进程调度算法,改善了系统的稳定性和资源利用率。

3. Windows10操作系统架构Windows10操作系统采用了微内核架构,将操作系统的核心功能和驱动程序与其他功能模块分开。

它由以下几个主要组件组成:3.1 内核Windows10内核是操作系统的核心部分,负责管理系统资源和提供各种系统服务。

它包含了处理器管理、内存管理、文件系统、网络协议栈等核心功能。

3.2 设备驱动程序Windows10支持各种硬件设备,每个设备都需要相应的驱动程序来进行控制和管理。

Windows10通过设备驱动程序接口(DDI)来统一管理和调度各种硬件设备。

计算机操作系统实验一

计算机操作系统实验一

1.vi编辑器的基本使用1)进入退出vi三种模式:①由Shell进入vi编辑器时,首先进入普通模式。

如果不确定当前处于哪种模式,按两次 Esc 键将回到普通模式。

( vi filename:如果filename存在,则打开;否则会创建一个新文件再打开;进入普通模式。

)②在普通模式下输入 i(插入)、c(修改)、o(另起一行) 等命令时进入编辑模式;按 esc 键退回到普通模式。

下面的方式也可在修改后入编辑模式:③在普通模式下输入冒号(:)可以进入命令模式。

输入完命令按回车,命令执行完后会自动退回普通模式。

2)建立文件vi filename:如果filename存在,则打开;否则会创建一个新文件再打开。

3)在新建文件上移动光标位置(注:上下左右键也有相同功能)4)对文件执行删除、复原、修改、替换等操作①删除:可以在命令前面添加一个数字前缀,表示重复操作的次数,例如,2x 表示连续两次删除光标下的字符,2dd 表示连续两次删除光标所在的行。

②修改③替换切换到命令模式,再输入 s/ 命令即可对文本进行替换。

语法为::s/search/replace/gsearch 为检索的文本,replace 为要替换的文本,g 表示全局替换。

(注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;):%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;④复原'u' : 撤销上一个编辑操作'ctrl + r' : 恢复,即回退前一个命令'U' : 行撤销,撤销所有在前一个编辑行上的操作2.使用shell命令实现切换目录、查找并查看文件、查看用户信息。

1)在/home目录中创建3个目录,目录名称依次为a1、a2、a3。

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

操作系统实验报告
1.实验目的及要求
①了解什么是信号。

②熟悉LINUX系统中进程之间软中断通信的基本原理。

2.实验环境
VMware Workstation 12 Player
3.实验内容
①编写一段程序,使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按ctrl+c 键),当捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后,分别输出下列信息后终止:Child process 1 is killed by parent!
Child process 2 is killed by parent!
父进程等待两个子进程终止后,输出以下信息后终止:
Parent process is killed!
②程序实例
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
int wait_mark;
void waiting();
void stop();
void main()
{
int p1,p2;
signal(SIGINT,stop); //signal()初始位置while((p1=fork())==-1);
if(p1>0)
{ signal(SIGINT,stop);
while((p2=fork())==-1);
if(p2>0)
{
signal(SIGINT,stop);
wait_mark=1;
waiting();
kill(p1,10);
kill(p2,12);
wait();
wait();
printf("parent process is killed!\n");
exit(0);
}
else
{
wait_mark=1;
signal(12,stop);
waiting();
lockf(1,1,0);
printf("child process 1 is killed by parent!\n");
lockf(1,0,0);
exit(0);
}
}
else
{
wait_mark=1;
signal(10,stop);
waiting();
lockf(1,1,0);
printf("child process 2 is killed by parent!\n");
lockf(1,0,0);
exit(0);
}
}
void waiting()
{
while(wait_mark!=0);
}
void stop()
{
wait_mark=0;
}
③程序结果以及分析
分析:程序执行时,首先会先在父程序中创建一个子程序,然后父程序向子程序发送一个信号(kill方法),子进程在接收到父程序发送的信号后,会在控制台打印一句话,这时因为有两个子进程接收到信号,他们都要对控制台操作,这时会发生互斥操作。

lockf(1,1,0);
printf("child process 2 is killed by parent!\n");
lockf(1,0,0);
lockf(1,1,0)和lockf(1,0,0)是分别加锁和解锁操作,再打印后子程
序会退出。

在程序中加入wait()是等待两个程序都结束了父程序在控制台打印输出。

exit(0)的作用是退出子程序。

④修改上面的程序,增加语句signal(SIGINT,SIG_IGN)和语句signal(SIGQUIT,SIG_IGN),再观察程序执行时屏幕上出现的现象,并分析其原因。

⑤示例程序
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
void IntDelete();
void Int1();
void Int2();
int pid1,pid2;
int EndFlag=0;
void main()
{
int exitcode;
signal(SIGINT,SIG_IGN);
signal(SIGQUIT,SIG_IGN);
while((pid1=fork())==-1);
if(pid1==0)
{
signal(SIGUSR1,Int1);
signal(SIGINT,SIG_IGN);
pause();
}else{
while((pid2=fork())==-1);
if(pid2==0)
{
signal(SIGUSR2,Int2);
signal(SIGINT,SIG_IGN);
pause();
}else
{
signal(SIGINT,IntDelete);
waitpid(-1,&exitcode,0);
printf("parent process is killed \n");
}
}
}
void IntDelete()
{
kill(pid1,10);
kill(pid2,12);
EndFlag=1;
}
void Int1()
{
printf("child process 1 is killed by parent !\n");
exit(0);
}
void Int2()
{
printf("child process 2 is killed by parent !\n");
exit(0);
}
⑥程序分析
1.首先在主进程中创建一个子进程1,并将自定义中断信号SIGUSR1注册到函数Int1()上去,子进程1挂起并监听中断信
号,当接收到中断信号子进程1会打印一句话并退出;
2.父进程还会创建一个子进程2,并将自定义中断信号SIGUSR2注册到函数Int2()上去,子进程2挂起并监听中断信号,当接收到中断信号子进程2会打印一句话并退出;
3.父进程将中断信号SIGINT上注册到了IntDelete函数上,当父进程接收到中断后,会向两个子进程发送软中断信号,子进程接收到软中断信号后会执行响应的响应;
以下是截图:
4.实验问题
从执行结果上来看,按照程序执行的顺序是父进程先接收到中断信号那么为什么父进程反而最后打印输出?
这是因为pid_t waitpid(pid_t pid,int * status,int options);
pid=-1 等待任何子进程,相当于wait()。

5.实验总结
通过本次试验学习了解到进程如何接受中断信号,以及发出软中断信号,以及进程间的等待问题。

相关文档
最新文档