进程程序的调度原则

进程程序的调度原则,第1张

#include#include#include#includeusingnamespacestd;typedefstructProcess{stringid;intarrive_time;intsever_time;intfinish_time;intturnover_time;Processnext;}Process,Linkp;classFCFS_schedule{public:FCFS_schedule(){Creat_queue();}~FCFS_schedule();voidCreat_queue();voidInsert_queue();voidorderInsert_queue();voidOut_queue();voidPrintall();voidSort_queue();ProcessGethead();private:Linkphead,tail;intnum;ProcessCreat_process();};///////////////////////////////////////////////////////方法的具体实现voidFCFS_schedule::Creat_queue(){head=newProcess;head->next=0;tail=head;num=0;}ostream&operatoraid;cout>aarrive_time;cout>asever_time;afinish_time=0;aturnover_time=0;anext=0;return(a);}voidFCFS_schedule::Insert_queue(){Linkpp;p=newProcess;p=Creat_process();if(num==0){p->finish_time=p->arrive_time+p->sever_time;p->turnover_time=p->finish_time-p->arrive_time;}else{p->finish_time=tail->finish_time+p->sever_time;p->turnover_time=p->finish_time-p->arrive_time;}tail->next=p;tail=p;num++;}voidFCFS_schedule::Out_queue()//进程调度出队{Linkpp;p=head->next;if(!p)coutnext=p->next;if(p->next==NULL)tail=head;coutnext;if(p)return(p);elsethrow1;//当队空无法返回Process类型返回值时抛出异常错误整形值1}voidFCFS_schedule::Printall()//打印进程队列所有进程信息{Linkpp;floatsum_wghtime=0;p=head->next;coutturnover_time)/float(p->sever_time)turnover_time/p->sever_time;p=p->next;}coutnext;location=track->next;while(location&&location->next){record=search=location;while(search){if(search->sever_timesever_time)record=search;search=search->next;}if(record!=location){temp=record;record->arrive_time=location->arrive_time;record->id=location->id;record->sever_time=location->sever_time;location->id=tempid;location->sever_time=tempsever_time;location->arrive_time=temparrive_time;location->finish_time=track->finish_time+location->sever_time;location->turnover_time=location->finish_time-location->arrive_time;}track=location;location=location->next;}if(tail==location){tail->finish_time=track->finish_time+tail->sever_time;tail->turnover_time=tail->finish_time-tail->arrive_time;}}FCFS_schedule::~FCFS_schedule(){Linkpp;while(p=head){head=head->next;deletep;}coutnext=p;tail=p;p->finish_time=p->arrive_time+p->sever_time;p->turnover_time=p->finish_time-p->arrive_time;}else{pr=head->next;while(pr->next&&p->sever_time>=pr->next->sever_time)pr=pr->next;if(pr->next==0){p->finish_time=tail->finish_time+p->sever_time;p->turnover_time=p->finish_time-p->arrive_time;tail->next=p;tail=p;}else{p->next=pr->next;pr->next=p;while(p){p->finish_time=pr->finish_time+p->sever_time;p->turnover_time=p->finish_time-p->arrive_time;pr=p;p=p->next;}}}num++;}voidmain(){//DWORDstart=GetTickCount();FCFS_scheduleos;osorderInsert_queue();osorderInsert_queue();osorderInsert_queue();osorderInsert_queue();osorderInsert_queue();//osorderInsert_queue();//osorderInsert_queue();osPrintall();//osSort_queue();osSort_queue();osPrintall();osOut_queue();osOut_queue();osOut_queue();osOut_queue();/try{cout<

@echo off

set p=程序A 程序B 程序C 程序D

set t=10

:begin

for %%i in (%p%) do (

tasklist|findstr /i %%iexe||start d:\%%iexe

ping -n %t% 1271>nul)

goto begin

首先这位朋友可以绝对放心,从你的进程列表来看应该没有任何木马。

关于你的问题,我总结几点:

1、任务管理器中进程的用户名分为4种:本地管理员用户名(比如你的是Admin)、system(系统)、NETWORK SERVICE(远程服务)、LOCAL SERVICE(本地服务)。另外,“用户名”不能作为判断是否是木马进程的标准!!

2、SVCHOSTEXE进程上是一个服务宿主,它本身并不能给用户提供任何服务。说的简单一点,电脑执行程序的时候需要运行不同的服务,而这些服务必须依赖SVCHOSTEXE才能执行。SVCHOSTEXE可以同时启动多个服务,所以同时会有几个SVCHOSTEXE进程。一般说来,XP系统至少同时有4~5个SVCHOSTEXE进程。

3、关于更改XP的用户名。你这里的用户名应该是指任务管理器中显示的“Admin”吧?修改方法很简单,步骤如下:在“我的电脑”图标点鼠标右键-选择“管理”-在左侧选择“本地用户和组”-在右侧双击“用户”-在“Admin”上点鼠标右键-选择“重命名”修改成你喜欢的名称再重启系统即可。

希望我的解答对你有帮助,谢谢^^

是的,一个进程对应一个程序,但是一个程序可以同时对应多个进程,通过多个进程来实现一个进程。

计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。

它以某些程序设计语言编写,运行于某种目标结构体系上。打个比方,程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。

一般的,以英语文本为基础的计算机程序要经过编译、链接而成为人难以解读,但可轻易被计算机所解读的数字格式,然后放入运行。

扩展资料:

程序的运行

为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据。从计算机的底层来说,这是由高级语言(例如Java,C/C++,C#等)代码转译成机器语言而被CPU所理解,进行加载。

如果您在一个符合大多数的计算机上, *** 作系统例如Windows、Linux等,加载并执行很多的程序,在这种情况下,每一个程序是一个单独的映射,并不是计算机上的所有可执行程序。

它是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。

参考资料来源:百度百科-程序

结束进程将无法保存这个程序当时的记录以及数据,其他的影响没有,特别在结束IE时,很可能结束一个窗口的进程而将所有IE窗口关闭,

结束进程时要小心。如果您结束与打开的程序关联的进程(如字处理程序),则该程序也将关闭并且您将丢失所有未保存的数据。如果结束与系统服务关联的进程,则系统的某些部分可能无法正常工作这是原文。

(1)进程更能真实地描述并发,而程序不能。

(2)进程由程序和数据两部分组成,进程是竞争计算机系统有限资源的基本单位,也是进程处理机调度的基本单位。

(3)程序是静态的概念;进程是程序在处理机上一次执行的过程,是动态的概念。

(4)进程有生存周期,有诞生有消亡。是短暂的;而程序是相对长久的。

(5)一个程序可以作为多个进程的运行程序;一个进程也可以运行多个程序。

(6)进程具有创建其他进程的功能;而程序没有。

    一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用户需要计算机完成的某项任务,是要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。而进程是对已提交完毕的程序所执行过程的描述,是资源分配的基本单位。其主要区别如下。

   (1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业后,系统将它放入外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。

   (2)一个作业可由多个进程组成,且必须至少由一个进程组成,反过来则不成立。

   (3)作业的概念主要用在批处理系统中,像UNIX这样的分时系统中就没有作业的概念。而进程的概念则用在几乎所有的多道程序系统中。

    一个作业通常包括程序、数据和 *** 作说明书3部分。每一个进程由PCB进程控制块、程序和数据集合组成。这说明程序是进程的一部分,是进程的实体。因此,一个作业可划分为若干个进程来完成,而每一个进程有其实体————程序和数据集合。

进程控制块 的内容包括: 进程描述信息: 进程名或进程标识号:每个进程都有唯一的进程名或进程标识号。进程的状态反映进程执行进程的变化。如果找到了所要撤消的进程的PCB结构,则撤消原语释放该进程所占有的资源之后,把对应的PCB结构从进程链或进程家族中摘下并返回给PCB空队列。如果被撤消的进程有自己的子进程,则撤消原语先撤消其子进程的PCB结构并释放子进程所占用的资源之后,再撤消当前进程的PCB结构和释放其资源。

程序 是指专处理某一问题的计算机工具。

进程 是指此程序运行中的进度 。

线程 指计算机在处理文件时是一个个顺序处理,在第一个文件处理时第二个文件也开始运行,这样在计算机内在一段时间内就有两个文件在运行,这种两文件同时运行的叫线程。

作业 指用户在一次解决或是一个事务处理过程中要求计算机系统所做的工作的集合。

现在来说明 进程的定义 :进程是进程实体的一次执行过程,是系统进行资源分配和调度的一个独立单位。它是一个动态概念。

线程:

随着多处理机系统的发展,提高程序的并发执行程度的要求越来越高。为提高系统的并发执行度,进而引入了线程的概念。

线程是比进程更小的能独立运行的基本单位(故又称“轻型进程”),更好的提高了程序的并发执行程度充分发挥了多处理机的优势。

以上就是关于进程程序的调度原则全部的内容,包括:进程程序的调度原则、请教通过批处理来启动程序的问题,如果进程中没有程序则启动程序、进程问题!!!!!!!!(任务管理器)高分等解决!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10208183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存