您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 中南大学操作系统实验报告
操作系统实验报告学生姓名王朝晖学号0906160216专业班级信息安全1602指导教师宋虹学院信息科学与工程学院完成时间2018年5月27日目录(格式二)目录一操作系统模拟实验概述.........................................................................................................................1(一)实验目的...................................................................................................1(二)实验内容及要求.......................................................................................11.实验要求....................................................................................................................................1(三)实验过程及分析.......................................................................................2初步设计........................................................................................................................................2详细设计........................................................................................................................................2结束语............................................................................................................................................................6(附件)程序代码........................................................................................................................................7Windows安全实验.......................................................................................................................................41使用Microsoft基准安全分析器MBSA2.3对系统进行安全评估...............41设置Windows的安全模式,配置本地安全策略,包括以下内容................41Linux安全实验............................................................................................................................................48扩展安全实验..............................................................................................................................................661.修改ssh默认连接22端口和添加防火墙firewalld通过端口...................................662.禁止root帐号直接登录.......................................................................................................673.安装DenyHosts【拦截获取攻击的IP,生成黑名单,防止再次攻击】.......................70第1页共40页一操作系统模拟实验概述(一)实验目的本项目完成一个小型的操作系统进程调度、内存动态分配的仿真程序。一,多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作;二,帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收;(二)实验内容及要求1.实验要求一,(a),PCB内容:进程名/PID;要求运行时间(单位时间);优先权;状态;PCB指针;1,可随机输入若干进程,并按优先权排序;2,从就绪队列首选进程运行:优先权-1/要求运行时间-1;要求运行时间=0时,撤销该进程;3,重新排序,进行下一轮调度;(b),最好采用图形界面;(c),可随时增加进程;(d),规定道数,设置后备队列和挂起状态。若内存中进程数少于规定道数,可自动从后备队列调度一作业进入。被挂起进程如=入挂起队列,设置解挂功能用于将指定挂起进程解挂入就绪队列;(e),每次调度后,显示各进程状态;二,(a),自行假设主存空间大小,预设操作系统所占大小并构造未分分区表;表目内容:起址、长度、状态(未分/空表目)(b),结合实验一,PCB增加为:{PID,要求运行时间,优先权,状态,所需内存大小,主存起始位置,PCB指针};(C)采用最先适应算法分配主存空间;(D),进程完成后,回收主存,并与相邻空闲分区合并;第2页共40页(三)实验过程及分析初步设计详细设计(a),操作系统知识回顾:(1)作业进入内存中,由CPU分配产生PCB属性,并通过PCB记录进程状态,实验即以PCB代表进程模拟调度过程;(2)在多道系统中,多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机,本实验采用优先级;(3),进程调度时,规定若就绪队列进程数少于6个,则自动从后备队列调入一个作业;(4),系统会将占有较多资源、预期结果不符合要求的进程自动挂起,并回收所占资源,而本实验设置为手动挂起;(5),在适宜条件下,系统会将挂起的进程自动解挂,而且只解挂到就绪队列;本实验为简化操作,设置为手动解挂,若解挂条件合适(即CPU各种资源可用),则解挂到就绪队列,并分配内存;若解挂条件不适宜,则解挂至后备队列,但不分配内存;(b),实验程序设计:第3页共40页(1),本实验采用java语言编程,并实现GUI界面显示;(2),为体现java语言面对对象程序设计的特点,实验设计为ProcessPCB、MemoryItem类封装PCB和所分配的内存各自的属性与方法;用ProcessRecords、MemoryRecords类封装数组方法;用SingleCPUScheduling实现GUI界面显示;(3),ProcessPCB类中,定义PCB的进程名、要求运行时间、优先级、状态、主存起始位置、所需内存大小这6个属性,并定义各属性的get和set方法,定义equals方法用于对比类的属性,定义toString方法得到类属性的字符串,定义run方法封装优先权-1/要求运行时间-1的过程;MemoryItem类中,定义可分分区表每一可分记录的主存起始位置、内存大小及其get和set方法,定义toString方法得到可在界面显示的字符串;(4),ProcessRecords封装PCB数组的添加元素addItem和删除元素removeItem方法,并构造函数getItem通过参数ProcessPCB和String查找数组元素,定义getNumberOfItems取数组大小,定义getItemsPriorities方法取所有数组元素的toString方法用于界面显示,定义iterator方法取得数组的迭代器;(5),MemoryRecords用同样的设计思想封装以MemoryItem为数组元素的各属性和方法;(6)SingleCPUScheduling类继承JFrame类,实现界面化显示;与上面相对应,实例化ProcessRecords(3次)和MemoryRecords(1次)作为私有变量,分别作为后备队列、就绪队列、挂起队列和内存可分分区表;在界面设计中,设计后备队列、挂起队列(附带解挂umount按钮)、就绪队列(附带挂起suspend按钮)可分分区表列表显示框,设置PCB添加框,附带添加至后备队列(addToBackup)、添加至就绪队列(addToReady)按钮,以及CPU当前执行状态显示框、系统日志显示框,和开始调度(systemStart)按钮,优先级和时间片单选按钮,以及时间片显示标签和文本编辑框;(7)界面设计详解;后备队列显示框用于显示已添加至后备队列的ProcessRecords属性信息,其中主存起始位置默认为-1,表示未分配;挂起队列显示框用于显示从就绪队列挂起的PCB,其中属性“主存起始位置”(MemoryBase)将由非负数变为-1,表示挂起后收回内存;就绪队列显示框中显示就绪队列属性,其中“主存起始位置”均为非负,表示一分配内存;PCB信息添加框分列PCB6个属性显示标签和可编辑文本框,和添加按钮,用于添加PCB;系统日志显示框附属时间片显示标签和可编辑文本编辑框,可由用户决定时间片大小;第4页共40页对于实验一,页面逻辑如下开始添加进程到后备运行内存满足调入就绪进程指向下一个后备进程否在就绪队列中找出优先级最高的调入运行队列运行时间为0否插入就绪队列插入完成队列是选中进程调入挂起队列运行时间减一优先级减一所有进程都运行结束结束是回收内存内存满足选中准备调入就绪队列的进程图2-2整体工作流程图第5页共40页图3工作界面第6页共40页结束语1,程序完成了实验所有的基本要求;2,本程序还存在一些技术上的问题,使得程序不能尽善尽美;如,PCB信息添加框没有“随机置入就绪队列”功能,添加PCB信息仍显得繁琐;就绪队列的挂起功能在程序自动运行时,存在反应异常(反应延迟或直接无反映);可分分区表只显示了当前可分的内存,没有显示已分的PCB及其对应内存使用情况,且没有利用图形和丰富的颜色来更好的展示;时间片设计还需要改进,使用效率不高;系统重置功能存在响应延迟的问题;另外,界面不够美观;还需要不断改进;实验感想通过这次实验,我对操作系统的进程调度和内存分配管理有了更加深入的了解,对操作系统内部的工作原理有了进一步的认识;通过编程,也巩固了我的程序设计和代码编写的能力,实验过程中遇到的各种问题以及解决问题的过程与方法,都是我获益匪浅;同时,程序的不完善,也将促使我在课程之后,继续学习、理解课程内容,并尽一切努力不断完善程序,做到尽善尽美;第7页共40页(附件)程序代码MemoryItem.java1.publicclassMemoryItem{2.privateintmemoryBase=0;3.privateintmemoryLimit=0;4.privateintavailableStatus=0;5.6.publicMemoryItem(intinitMemoryBase,intinitMemoryLimit){7.this.memoryBase=initMemo
本文标题:中南大学操作系统实验报告
链接地址:https://www.777doc.com/doc-7265342 .html