操作系统实验报告java.doc
《操作系统实验报告java.doc》由会员分享,可在线阅读,更多相关《操作系统实验报告java.doc(15页珍藏版)》请在咨信网上搜索。
操作系统实验报告 院系: 专业: 班级: 学号: 姓名: 指导老师: 进程调度得模拟与内存管理 一、 实验目得 在采用多道程序设计得系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器.实验模拟实现处理机调度,以加深了解处理机调度得工作,并体会优先级与时间片轮转调度算法得具体实施方法。帮助了解在不同得存储管理方式下,应怎样实现主存空间得分配与回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列与挂起状态。若内存中进程少于规定道数,可自动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。 7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置, PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验内容 选择一个调度算法,实现处理机调度. 1、设计一个按优先权调度算法实现处理机调度得程序; 2、设计按时间片轮转实现处理机调度得程序。 3、主存储器空间得分配与回收.在可变分区管理方式下,采用最先适应算法实现主存空间得分配与回收。 四、实验原理 该模拟系统采用java语言实现,要实现得功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数与时间片大小可以由用户自己调整,有两种调度策略:按优先权调度与按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态得进程,不同得调度策略采用不同得队列实现。当创建进程时,如果内存中得进程数还没达到规定道数,则将新建进程插入就绪队列,如果内存中进程数已经达到规定道数,则插到后备队列,后备队列中得进程得状态为new。CPU每次调度时都从就绪队列中取进程,在进程执行过程中如果下一个操作时IO操作,则将进程插入到waiting队列。在系统运行过程中可以执行进程挂起操作,但执行得挂起操作时系统自动暂停运行,在弹出窗口选择要挂起得进程后,将选中得进程从原来得队列中删除并插入到挂起队列。进行解挂操作时将选中得进程从挂起队列中删除并插入该进程原来所处得队列。 Ø 按优先级调度: 当选择按优先权调度时,所有队列都采用优先队列,优先队列采用一个有序链表实现,进程得优先权值越大代表优先级越高,优先队列中得进程按优先权从大到小排列,当新进程插入时根据该进程得优先权插入到队列中得合适位置,插入后保持队列按优先权从大到小排列,如果新进程与队列中某个进程优先权值相等,则该新进程插到那个进程后面,以遵循先来先服务得规则.当要从队列中取出进程时总就是取队列中第一个进程,因为该进程得优先级最高。 Ø 按时间片轮转调度: 当选择按时间片轮转调度时,所有队列都采用先进先出队列,先进先出队列采用一个普通单向链表实现,当新进程插入时插入到队列得末尾,当要取进程时取队首进程,这样就实现了先进先出。 Ø 内存管理 该实验基于实验一完成,核心就是内存得分配与回收,在实验一得基础上增加内存管理部分,在新建进程得时候增加一个输入内存大小得输入框,在进程进入内存时要分配内存,在进程销毁时要回收内存,如果进入内存时内存不足,则将进程插入到后备队列等待下次调度。系统维护一个内存表,每个表项代表一个空间,每个空间保存了该空间得起始地址与空间大小以及空间使用状态。初始时只有一个空间,当CPU启动时要分配内存,内存分配采用最先适应算法.回收内存时如果有相邻空闲空间,则要进行空闲空间合并。 五、部分源程序 public class data { private String name; //进程得名字 private int time; //要求得时间总与 private int priority; //进程得优先权,值越大优先级越高 private String state; //进程得状态 ﻩprivate int start; ﻩprivate int length; //进程所占得内存空间 private int isIn; //进程所需内存大小 Ø 进程各项变量得初始化 public void setName(String name) { ﻩthis、name = name; ﻩ} ﻩpublic void setPriority(int priority) { ﻩ this、priority = priority; ﻩ} public void setState(String state) { ﻩ this、state = state; ﻩ} ﻩpublic String getName() { return (this、name); } ﻩpublic int getPriority() { return (this、priority); } public String getState() { ﻩﻩreturn (this、state); ﻩ} ﻩpublic void setTime(int time) { ﻩthis、time = time; } public int getTime() { ﻩ return (this、time); } ﻩpublic void setLength(int length) { ﻩ this、length = length; } ﻩpublic int getLength() { ﻩreturn (this、length); } ﻩpublic void setStart(int start) { ﻩﻩthis、start = start; ﻩ} public int getStart() { ﻩreturn (this、start); ﻩ} public void setIsIn(int isIn) { ﻩ this、isIn = isIn; } ﻩpublic int getIsIn() { ﻩreturn (this、isIn); } Ø 删除列表中第几个数据 public void update(ArrayList<Data> list, int num) ﻩ{ ﻩsList、clear(); ﻩfor(int i = 0; i < list、size(); i++) ﻩ{ ﻩﻩif(i != num) ﻩ ﻩ{ ﻩﻩsList、add(list、get(i)); ﻩ } } ﻩ list、clear(); ﻩﻩfor(int i = 0; i < sList、size();i++) ﻩﻩ{ ﻩﻩﻩlist、add(sList、get(i)); ﻩ} } public void update1(ArrayList〈Data_Memory〉 list, int num) ﻩ{ ﻩ sList1、clear(); ﻩﻩfor(int i = 0; i < list、size(); i++) ﻩﻩ{ ﻩ ﻩif(i != num) ﻩﻩ{ ﻩﻩﻩ sList1、add(list、get(i)); } ﻩ } ﻩﻩlist、clear(); ﻩﻩfor(int i = 0; i < sList1、size();i++) ﻩﻩ{ list、add(sList1、get(i)); ﻩ} ﻩ} Ø 放入内存 public void putInMemory() ﻩ{ if(runningList、size()〉0) ﻩ{ ﻩ if(runningList、get(0)、getIsIn()==0) ﻩﻩﻩ{ ﻩ ﻩﻩfor(int i = 0; i 〈 unAssignList、size(); i++) ﻩﻩ { ﻩ ﻩif(unAssignList、get(i)、getLimit() >= runningList、get(0)、getLength()) ﻩ ﻩ ﻩ{ ﻩ ﻩ ﻩrunningList、get(0)、setStart(unAssignList、get(i)、getBase()); ﻩ runningList、get(0)、setIsIn(1); ﻩﻩif(unAssignList、get(i)、getLimit() == runningList、get(0)、getLength()) ﻩﻩﻩ { ﻩﻩ update1(unAssignList,i); ﻩ ﻩ } ﻩﻩﻩﻩ else ﻩ ﻩ{ ﻩ ﻩﻩﻩﻩunAssignList、get(i)、setBase(unAssignList、get(i)、getBase()+runningList、get(0)、getLength()); ﻩﻩﻩﻩ unAssignList、get(i)、setLimit(unAssignList、get(i)、getLimit()-runningList、get(0)、getLength()); ﻩﻩ ﻩ} ﻩ ﻩ break; ﻩ ﻩ } ﻩ ﻩ} ﻩ ﻩ} ﻩ} ﻩ if(readyList、size()>0) ﻩ { ﻩﻩfor(int j = 0; j < readyList、size(); j++) ﻩﻩﻩ{ ﻩ ﻩif(readyList、get(j)、getIsIn()==0) ﻩ{ ﻩ for(int i = 0; i < unAssignList、size(); i++) ﻩ ﻩ{ ﻩ ﻩﻩﻩ if(unAssignList、get(i)、getLimit() 〉= readyList、get(j)、getLength()) ﻩ { ﻩﻩ ﻩﻩ readyList、get(j)、setStart(unAssignList、get(i)、getBase()); ﻩ ﻩﻩ ﻩ readyList、get(j)、setIsIn(1); ﻩ ﻩﻩ if(unAssignList、get(i)、getLimit() == readyList、get(j)、getLength()) ﻩﻩ ﻩﻩ{ ﻩ ﻩ ﻩupdate1(unAssignList,i); ﻩﻩﻩﻩﻩ } ﻩ ﻩﻩﻩﻩﻩelse ﻩ ﻩ { ﻩ ﻩﻩ unAssignList、get(i)、setBase(unAssignList、get(i)、getBase()+readyList、get(j)、getLength()); ﻩ ﻩ ﻩﻩﻩunAssignList、get(i)、setLimit(unAssignList、get(i)、getLimit()-readyList、get(j)、getLength()); ﻩ ﻩﻩﻩ } ﻩﻩ ﻩbreak; ﻩ ﻩﻩ } ﻩﻩﻩ ﻩ} ﻩ } ﻩﻩﻩ} ﻩ } ﻩ} Ø 移除内存 public void putOutMemory(ArrayList〈Data> list, int num) { ﻩﻩlist、get(num)、setIsIn(0); boolean flag1 = false; ﻩ boolean flag2 = false; for(int i = 0; i 〈 unAssignList、size(); i++) ﻩﻩ{ ﻩ if(unAssignList、get(i)、getBase() == (list、get(num)、getLength()+list、get(num)、getStart())) ﻩﻩ { ﻩﻩ ﻩunAssignList、get(i)、setBase(list、get(num)、getStart()); ﻩ ﻩﻩunAssignList、get(i)、setLimit(list、get(num)、getLength()+unAssignList、get(i)、getLimit()); ﻩ ﻩ flag1 = true; ﻩ break; ﻩﻩﻩ} ﻩ} ﻩﻩfor(int i = 0; i 〈 unAssignList、size(); i++) ﻩ{ ﻩ if((unAssignList、get(i)、getBase()+unAssignList、get(i)、getLimit()) == list、get(num)、getStart()) ﻩ ﻩ{ ﻩﻩﻩﻩif(!flag1) ﻩ ﻩﻩ{ ﻩﻩ ﻩunAssignList、get(i)、setLimit(list、get(num)、getLength()+unAssignList、get(i)、getLimit()); ﻩ ﻩﻩflag2 = true; ﻩﻩﻩ break; ﻩﻩ } ﻩﻩ else ﻩﻩ { ﻩ ﻩﻩunAssignList、get(i)、setLimit(unAssignList、get(i)、getLimit()+unAssignList、get(i+1)、getLimit()); ﻩ ﻩﻩupdate1(unAssignList,i+1); ﻩﻩ } } ﻩ} ﻩ if(flag1 || flag2) ﻩ{} ﻩ else ﻩﻩ{ ﻩ ﻩint i = 0; while(unAssignList、get(i)、getBase()〈list、get(num)、getStart()) ﻩ{ ﻩﻩﻩi++; ﻩﻩ } Data_Memory data = new Data_Memory(); ﻩdata、setBase(list、get(num)、getStart()); ﻩ data、setLimit(list、get(num)、getLength()); ﻩﻩﻩsList1、clear(); ﻩ ﻩfor(int j = 0; j 〈 i; j++) { ﻩ sList1、add(unAssignList、get(j)); ﻩﻩ } ﻩﻩsList1、add(data); ﻩ for(int j = i; j < unAssignList、size(); j++) ﻩ { ﻩ ﻩﻩsList1、add(unAssignList、get(j)); } ﻩunAssignList、clear(); for(int j = 0; j 〈 sList1、size(); j++) ﻩﻩ{ ﻩ unAssignList、add(sList1、get(j)); ﻩ } ﻩ } } Ø 对内存管理调度得操作 private class MyRenderer extends DefaultListCellRenderer ﻩ{ ﻩ public ponent getListCellRendererponent(JList list, Object value,int index, boolean isSelected, boolean cellHasFocus) { ﻩﻩﻩsuper、getListCellRendererponent(list, value, index, isSelected,cellHasFocus); ﻩsetBackground(Color、gray); ﻩﻩﻩfor(int i = 0; i < unAssignList、size(); i++) ﻩ { ﻩ ﻩfor(int j = unAssignList、get(i)、getBase()+6 ; j < unAssignList、get(i)、getLimit()+unAssignList、get(i)、getBase()+6; j++) ﻩ ﻩ { ﻩﻩif(index == j) ﻩ ﻩ{ ﻩﻩ ﻩﻩﻩsetBackground(Color、white);//当没有内容变为白色 } ﻩﻩ } ﻩ } ﻩreturn this; } } public void timeManager() { ﻩﻩ//去掉time==0得,从waiting队列加入新得进程,排序,调整waitingList加入runningLIst ﻩﻩ//去掉time==0得 ﻩﻩif(runningList、size()>0) ﻩif(runningList、get(0)、getTime()==0) ﻩ ﻩﻩrunningList、clear(); ﻩﻩsList、clear(); ﻩ for(int i = 0; i < readyList、size(); i++) ﻩﻩ{ ﻩ if(readyList、get(i)、getTime()〉0) ﻩ { ﻩﻩ ﻩsList、add(readyList、get(i)); ﻩ} ﻩ} ﻩﻩreadyList、clear(); ﻩ for(int i =0; i < sList、size();i++) ﻩ{ ﻩ readyList、add(sList、get(i)); ﻩ readyList、get(i)、setState("ready”); } //从waiting队列加入新得进程 ﻩﻩint j = 0; int m = readyList、size(); ﻩfor(; m < 6 && j 〈 waitingList、size(); m++,j++) ﻩ { ﻩ readyList、add(waitingList、get(j)); ﻩ readyList、get(m)、setState(”ready"); ﻩ} ﻩﻩ // sort(readyList); ﻩ //调整waitingList ﻩ sList、clear(); ﻩﻩfor(int i = j; i < waitingList、size(); i++) { sList、add(waitingList、get(i));ﻩ ﻩ } ﻩﻩwaitingList、clear(); ﻩfor(int i =0; i < sList、size();i++) ﻩﻩ{ ﻩﻩwaitingList、add(sList、get(i)); ﻩ } ﻩ//加入runningLIst if(runningList、size()==0) ﻩﻩ{ ﻩﻩﻩif(readyList、size()>0) { ﻩﻩrunningList、add(readyList、get(0)); ﻩrunningList、get(0)、setState("running”); ﻩﻩ ﻩupdate(readyList,0); ﻩﻩﻩif(waitingList、size()>0) ﻩ ﻩ { ﻩﻩ ﻩ readyList、add(waitingList、get(0)); ﻩﻩﻩ ﻩreadyList、get(5)、setState(”ready"); ﻩ ﻩ } ﻩ ﻩﻩupdate(waitingList,0); ﻩ} } ﻩelse //if(runningList、size()>0) { ﻩ if(readyList、size()〉0) ﻩﻩ { ﻩﻩreadyList、add(runningList、get(0)); ﻩﻩ runningList、clear(); ﻩ readyList、get(0)、setState("running”); ﻩreadyList、get(readyList、size()-1)、setState(”ready"); ﻩ ﻩrunningList、add(readyList、get(0)); ﻩﻩ update(readyList,0); ﻩﻩ } ﻩﻩ} ﻩputInMemory(); ﻩsub(); ﻩ display(); jtf1、grabFocus(); } public void PManager() ﻩ { ﻩﻩ if(runningList、size()〉0) ﻩ ﻩﻩif(runningList、get(0)、getTime()==0) ﻩ ﻩrunningList、clear(); sList、clear(); ﻩ ﻩfor(int i = 0; i 〈 readyList、size(); i++) ﻩ { if(readyList、get(i)、getTime()〉0) ﻩﻩ ﻩ { ﻩﻩ ﻩﻩ sList、add(readyList、get(i)); ﻩ ﻩﻩ} ﻩ ﻩ} ﻩﻩ ﻩreadyList、clear(); ﻩfor(int i =0; i < sList、size();i++) ﻩ ﻩ{ ﻩﻩreadyList、add(sList、get(i)); ﻩﻩ readyList、get(i)、setState("ready”); ﻩ } ﻩ ﻩint j = 0; ﻩint m = readyList、size(); ﻩﻩ for(; m < 6 && j < waitingList、size(); m++,j++) ﻩﻩ ﻩ{ ﻩ readyList、add(waitingList、get(getFirstW(waitingList)-1)); ﻩreadyList、get(m)、setState(”ready”); ﻩ update(waitingList,getFirstW(waitingList)-1); ﻩ } ﻩﻩ ﻩ//调整waitingList ﻩ //加入runningLIst ﻩﻩ ﻩif(runningList、size()==0) ﻩﻩ ﻩ{ ﻩ if(readyList、size()〉0) ﻩ{ ﻩ ﻩ runningList、add(readyList、get(getFirstW(readyList)-1)); ﻩ ﻩﻩ runningList、get(0)、setState("running”); ﻩ ﻩ update(readyList,getFirstW(readyList)-1); ﻩ ﻩﻩﻩif(waitingList、size()〉0) ﻩ ﻩﻩﻩ{ ﻩ ﻩ readyList、add(waitingList、get(getFirstW(waitingList)-1)); ﻩ ﻩ ﻩreadyList、get(readyList、size()—1)、setState(”ready”); ﻩﻩ } ﻩﻩ ﻩ update(waitingList,getFirstW(waitingList)-1); ﻩﻩ ﻩﻩ} ﻩ ﻩ} ﻩﻩ ﻩelse ﻩﻩ ﻩ{ ﻩﻩ ﻩif(readyList、size()>0) ﻩﻩ ﻩ { ﻩ boolean flag = false; ﻩﻩ ﻩ int a = runningList、get(0)、getPriority(); ﻩint b = readyList、get(getFirstW(readyList)-1)、getPriority(); ﻩ ﻩﻩﻩif(a > b) ﻩ { ﻩﻩ ﻩﻩ ﻩsList、clear(); ﻩ sList、add(readyList、get(getFirstW(readyList)-1)); ﻩ ﻩ ﻩ ﻩflag = true; ﻩ } ﻩﻩ if(flag) ﻩ ﻩﻩ{ ﻩ ﻩﻩﻩﻩrunningList、get(0)、setState("ready”); ﻩ ﻩ readyList、add(runningList、get(0)); ﻩ ﻩﻩ ﻩﻩrunningList、clear(); ﻩ ﻩrunningList、add(sList、get(0)); ﻩ ﻩ runningList、get(0)、setState(”running"); ﻩ ﻩﻩupdate(readyList,getFirstW(readyList)-1); ﻩﻩ ﻩﻩ } ﻩ ﻩﻩ} ﻩﻩ ﻩ} putInMemory(); ﻩsub1(); ﻩﻩ display(); jtf1、grabFocus(); ﻩ } } 六、程序运行图 图1 进程界面 图2 新建进程 图3 进程得挂起与解挂 图4、 进程得删除 图5 进程运行中 七、实验总结 为了完成这个程序,我参考了课本,互联网以及相关资料.由于我对java语言比较陌生,因此虽然这个试验比较简单,并且不就是我一人独立完成,但也花费了我大量时间.通过这个实验,我更加形象得了解了进程得调度过程,加深了对于优先权调度与时间片轮转调度得理解,并不像从前一样仅仅停留在概念上。除此之外让我对java语言也有了进一步得了解。 由于实验要求就是将内存管理实验与以上实验结合起来,因此在做此试验时,将此实验得代码直接放在第一个实验得界面之上,因此此实验就大大减小了难度,做起来也会比较顺利。通过次实验,我对内存分配与内存回收有了更深刻得了解,我们平时用电脑时简单得一个动作对内存来说却要做出如此多得反应,找到一个空闲并且大小合适得空间进行内存分配。本次实验使我对内存分配得了解有了很大得帮助。在这次编程中我也出现了很多程序上得简单错误,都就是因为我动手写程序比较少造成得,这也让我了解到要多次锻炼才能顺手成章。以后我会努力加强锻炼,争取越来越好。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 报告 java
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文