导航:首页 > 创造发明 > 进程创造的主要过程

进程创造的主要过程

发布时间:2021-07-10 05:55:04

1. 如何用C语言模拟实现进程创建、进程撤销、进程阻塞、进程挂起等进程运行过程

linux中有具体的函数,不用模拟,当然如果这只是一个课业,用来理解进程的一系列创建,撤销,等等的话,就另当别论了。那么切入正题,在这些操作中涉及一个控制权转移的问题,这时你要有一个system对象来管理和调度进程,system对象调度进程时,为进程实体添加一些方法,以便控制权返还给它,那么这时其它的问题都迎丸而解了,

2. 试述创建进程原语的主要功能。

所谓原语,是操作系统内核中,由若干条指令构成、用于完成一个特定的功能的一个过程,该过程在执行时是不可中断的。如:创建进程原语:create(n),撤销进程原语:destroy(n),阻塞进程原语:block(),唤醒进程原语:wakeup(n).

3. 什么是进程 为什么

进程是操作系统中最基本、重要的概念,是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。狭义上讲,进程是正在运行的程序的实例;广义上讲,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统进行资源分配和调度、动态执行的基本单元,是操作系统结构的基础,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。其概念主要有两点:(1)进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域、数据区域和堆栈。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。(2)进程是一个“执行中的程序”。只有在操作系统、处理器执行程序时,它才能成为一个活动的实体,我们称其为进程。从理论角度看,进程是对正在运行的程序过程的抽象;从实现角度看,它是一种数据结构,目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。
一、进程具有以下特点:
(1)动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生、动态消亡的。
(2)并发性:任何进程都可以与其他进程一起并发执行。
(3)独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。
(4)异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。
(5)结构特征:进程由程序、数据和进程控制块三部分组成。
二、进程、线程和程序的联系:
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。此外多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程,也就是说同一程序可以对应多个进程。
三、进程和程序的区别:
(1)程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念,而进程是程序在处理机上的一次执行过程,它是一个动态的概念。
(2)程序可以作为一种软件资料长期存在,而进程是有一定生命期的。
(3)程序是永久的,进程是暂时的。
(4)进程更能真实地描述并发,而程序不能。
(5)进程是由进程控制块、程序段、数据段三部分组成。
(6)进程具有创建其他进程的功能而程序没有。
(7)在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。
四、进程具有的三种基本状态
由于进程在执行过程中具有动态性和异步性,因此也就决定了进程可能具有多种状态。
(1)就绪状态(Ready):进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行。就绪进程可以按多个优先级来划分队列。例如,当一个进程由于时间片用完而进入就绪状态时,排入低优先级队列;当进程由I/O操作完成而进入就绪状态时,排入高优先级队列。
(2)运行状态(Running):进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目。在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程。
(3)阻塞状态(Blocked):由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。该事件发生前即使把处理器资源分配给该进程,也无法运行。
五、创建进程的事件
在多道程序环境中,只有作为进程时才能在系统中运行。因此,为了让程序能运行,就必须为它创建进程。一个进程去创建另一个进程的典型事件,可以有以下四类:
(1) 用户登录:在分时系统中,用户在终端键入登录命令后,如果是合法用户,系统将为该终端建立一个进程,并把它插入到就绪队列中。
(2)作业调度:在批处理系统中,当作业调度程序按照一定的算法调度到某作业时,便将该作业装入到内存,为它分配必要的资源,并立即为它创建进程,再插入到就绪队列中。
(3) 提供服务:当运行中的用户程序提出某种请求后,系统将专门创建一个进程来提供用户所需要的服务,例如,用户程序要求进行文件打印,操作系统将为它创建一个打印进程,这样,不仅可以使打印进程与该用户进程并发执行,而且还便于计算出为完成打印任务所花费的时间。
(4) 应用请求:在上述三种情况中,都是由系统内核为它创建一个新进程,而这一类事件则是基于应用进程的需求,由它创建一个新的进程,以便使新进程以并发的运行方式完成特定任务。
六、进程的创建过程
一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语create()按下述步骤创建一个新进程。
(1) 申请空白PCB。为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。
(2) 为新进程分配资源。为新进程的程序和数据以及用户栈分配必要的内存空间。显然,此时操作系统必须知道新进程所需要的内存大小。
(3) 初始化进程控制块。PCB的初始化主要包括:初始化标识信息,将系统分配的标识符和父进程标识符,填入新的PCB中;初始化处理机状态信息,使程序计数器指向程序的入口地址,使栈指针指向栈顶;初始化处理机控制信息,将进程的状态设置为就绪状态或静止就绪状态,对于优先级,通常是将它设置为最低优先级,除非用户以显式的方式提出高优先级要求。
(4) 将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入到就绪队列中。
七、引起进程终止的事件
(1)正常结束:在任何计算机系统中,都应该有一个表示进程已经运行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条Hold指令或终止的系统调用。当程序运行到Hold指令时,将产生一个中断,去通知OS本进程已经完成。
(2)异常结束:在进程运行期间,由于出现某些错误和故障而迫使进程终止。这类异常事件很多,常见的有:越界错误,保护错,非法指令,特权指令错,运行超时,等待超时,算术运算错,I/O故障。
(3)外界干预:外界干预并非指在本进程运行中出现了异常事件,而是指进程应外界的请求而终止运行。这些干预有:操作员或操作系统干预、父进程请求、父进程终止。
八、进程的终止过程
如果系统发生了上述要求终止进程的某事件后,OS便调用进程终止原语,按如下过程去终止指定的进程。
(1)根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程状态。
(2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真。用于指示该进程被终止后应重新进行调度。
(3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。
(4)将被终止的进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。
(5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息。
九、阻塞唤醒
1、引起进程阻塞和唤醒的事件
(1)请求系统服务:当正在执行的进程请求操作系统提供服务时,由于某种原因,操作系统并不立即满足该进程的要求时,该进程只能转变为阻塞状态来等待,一旦要求得到满足后,进程被唤醒。
(2)启动某种操作:当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,则必须先使该进程阻塞,以等待该操作完成,该操作完成后,将该进程唤醒。
(3)新数据尚未到达:对于相互合作的进程,如果其中一个进程需要先获得另一(合作)进程提供的数据才能运行以对数据进行处理,则是要其所需数据尚未到达,该进程只有(等待)阻塞,等到数据到达后,该进程被唤醒。
(4)无新工作可做:系统往往设置一些具有某特定功能的系统进程,每当这种进程完成任务后,便把自己阻塞起来以等待新任务到来,新任务到达后,该进程被唤醒。
2.进程阻塞过程
正在执行的进程,当发现上述某事件后,由于无法继续执行,于是进程便通过调用阻塞原语block()把自己阻塞。可见,进程的阻塞是进程自身的一种主动行为。进入block过程后,由于此时该进程还处于执行状态,所以应先立即停止执行,把进程控制块中的现行状态由执行改为阻塞,并将PCB插入阻塞队列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞(等待)队列。最后,转调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,亦即,保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU环境。
3. 进程唤醒过程
当被阻塞的进程所期待的事件出现时,如I/O完成或者其所期待的数据已经到达,则由有关进程(比如,用完并释放了该I/O设备的进程)调用唤醒原语wakeup(),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。

4. 一个程序从创建到执行结束,要经过哪些步骤从操作系统的角度(进程管理,存储管理,设备管理,文件管理

你这个问法很难让人回答,程序创建通常是程序开发方面的,你又提到进程管理和存储管理之类的,那一般是程序开始执行到结束的过程,程序执行过程至于经过那些步骤这要看程序本身要调用那些功能,可以说各有不同,但最基本最简单的小程序要先向操作系统执行命令解释请救,操作系统进行验证该程序是否符合执行条件(像64位程序不能在32位平台使用差不多个意思),符合条件了操作系统会划分一块物理内存和虚拟内存给该程序作为缓存数据交换使用,这一点你可以到进程管理器上看到,然后关掉本程序,任何程序都无法自己关闭退出,都是向操作系统请求关闭该程序。操作系统接受关闭请求后就先将需要存储的数据进行存储到物理位置,然后翻放被区分的物理内存和虚拟内存区,翻放了该程序占用的内存区等于真正意思上的该程序结束执行

5. 进程和它创建的线程之间的关系

进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其他各种系统资
源组成的。进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时
被释放或关闭。
线程是进程内部的一个执行单元(如一个函数或一个活跃的类对象等)。系统创建好进程后,实
际上就启动执行了该进程的主执行线程。主执行线程终止了,进程也就随之终止。每一个进程至少有
一个线程(即主执行线程,它无需由用户去主动创建,是由系统在应用程序启动后创建的),用户根
据需要在应用程序中创建其他线程,使多个线程并发地运行在同一个进程中。一个进程中的所有线程
都在该进程的虚拟地址空间中,并使用这些虚拟地址空间、全局变量和系统资源,所以线程之间的通
讯要比进程之间的通讯容易得多。多线程设计在实际中的使用较为广泛。

6. linux中C语言关于进程的创建

/*请解释一下*/
while(((child=wait(&status))==-1)&(errno==EINTR));

这种的目的是父亲进程等待子进程结束,并回收子进程的资源,将子进程的退出状态存储在status中,同时,返回该子进程的pid。
如果wait函数返回-1表示wait函数被其它情况打断返回,并没有等待到子进程结束,而同时判断errno的值是不是EINTR(意思是让你try again),那么,让进程继续等待。因为这个错误并不是真正wait错误,而是被timeout时间等造成的,因此重新等待。而如果是其它情况,显然是wait函数调用错误,即下面的if(child==-1),需要打印错误信息。‘

//但你这句应该写错了。应该是逻辑与而不是位与操作。即
while(((child=wait(&status))==-1)&&(errno==EINTR));
/*请解释一下*/
if(child==-1)

你对信号处理部分还需要努力。
另外介绍一本书《Linux高级程序设计 第3版》 上面讲得很清楚。
有问题我们继续交流,一起学习。

更多技术文章可以关注我的微博,名字:成都睿尔科技 。

7. 创造的思维过程模式包括哪些阶段

1、准备,即解决问题者由情境的刺激引起多方面的联想观念。

经过筛选,抛弃一些对解决问题无用的观念,较仔细检查另一些观念。逐渐明辨问题的特点,发现解决的头绪。

2、孕育,介于准备与最后阶段之间的阶段。

其性质和持续时间变化很大。可能只需几分钟,也可能要几天、几个月,甚至几年。其特征是,问题被搁置一旁,没有做有意识的工作,但以后重新注意,却迅速解决了问题,或至少在以前的基础上跃进了一步。

3、明朗,指突然意识到问题如何解决的阶段。

可用“顿悟”一词描述。这种意识经验可能是正确的,也可能是错误的。

4、验证,解决问题的最后阶段。

此时将前一阶段提出的一般解决进一步具体化,并加以应用和检验。

(7)进程创造的主要过程扩展阅读:

思维的过程

思维的过程包括分析与综合、比较与分类、抽象与概括、系统化与具体化,其中分析与综合是思维的基本过程,其他过程都是由此派生出来的。

(一)分析与综合

分析与综合是思维过程的基本环节。

分析是在头脑中把事物的整体分解成各个部分、方面或个别特征的思维过程。

例如,我们把植物分解为根、茎、叶、花、果实、种子;把动物分解为头、尾、足、躯体;把几何图形分解成点、线、面、角、体;分析一个句子由哪些语言成分构成等,都属于分析过程。

综合是在头脑里把事物的各个部分、方面、各种特征结合起来进行考虑的思维过程。

例如,把单词组成句子;把文学作品的各个情节联成完整的场面;把一个学生的思想品德、智力水平、学业成绩、健康状况等方面联系起来,加以评价,作出结论等都属于综合过程。

(二)比较与分类

比较是在头脑中把各种事物或现象加以对比,确定它们之间的异同点的思维过程。人们认识事物,把握事物的属性、特征和相互关系,都是通过比较来进行的。只有经过比较,区分事物间的异同点,才能更好地识别事物。

分类是在头脑中根据事物或现象的共同点和差异点,把它们区分为不同种类的思维过程。例如,学生掌握数的概念时,把数分为实数和虚数;又把实数分为有理数和无理数;有理数又可分为整数、小数和分数等。

(三)抽象与概括

抽象是在头脑中把同类事物或现象的共同的、本质的特征抽取出来,并舍弃个别的、非本质特征的思维过程。

例如,我们对人的认识,人可以分为男性、女性;大人、小孩;工人、农民、军人、学生、教师、商人;高个、矮个;白种人、黄种人、黑种人;人能吃饭,能睡觉,能喝水,能活动,能知觉,能记忆,能说话,能思维,能制造工具,会使用工具等。

通过分析、比较,抽出人类具有的共同的、本质的属性,即能说话、能思维、能制造工具等,舍弃能吃饭、能睡觉、能喝水、能活动等其他动物也有的非本质属性,这就是抽象过程。

概括是在头脑中把抽象出来的事物的共同的、本质的特征综合起来并推广到同类事物中去,使之普遍化的思维过程。

例如,我们把“人”的本质属性——能言语、能思维、能制造工具综合起来,推广到古今中外一切人身上,指出:“凡是能言语、能思维、能制造和使用工具的动物都是人。”这就是概括。

(四)具体化与系统化

具体化是指在头脑里把抽象、概括出来的一般概念、原理与理论同具体事物联系起来的思维过程,也就是用一般原理去解决实际问题,用理论指导实际活动的过程。

系统化是指在头脑里把学到的知识分门别类地按一定程序组成层次分明的整体系统的过程。例如,生物学家按界、门、纲、目、科、属、种的顺序,把世界上所有的生物分了类,并揭示了各类生吻间的关系和联系,这就是人脑中对生物系统化的过程。

又如,学生掌握数的概念,在掌握整数、分数、小数知识之后,可以概括归纳为有理数;当数的概念扩大,学习了无理数之后,又可把有理数和无理数概括为实数;掌握了虚数之后,又可把实数和虚数概括为数,从而掌握了系统的数的知识。


8. 创造发明的程序是怎么样的

任何发明创造都有其相应的程序和步骤,同学们要创作的发明虽小,过程也是很艰难的。哪怕是一件极其简单的小发明作品,它的创作都不是一想而就,一作而成的。没有细心观察,善于联想,绝不会有闪光的发现;没有绘图制作,反复实验改进,绝不会有成功的作品。“观察→联想→设计→绘图→制作→实验”,整个创作过程的各个环节,都不可忽视。只有把握住交叉反复的各个环节,才能搞出高水平的小发明。这里简单给你简述一下小发明的创作程序。

第一步:观察

观察是小发明入门的向导。世界闻名的生物学家达尔文说过,我既没有突出的理解力,也没有过人的机智,只是在觉察那些稍纵即逝的事物并对它进行精细观察的能力上,我可能在众人之上。要想搞小发明作品,首先要注重观察,善于观察周围的事物,提高自己的观察能力。

例如,获得全国第一届青少年科技创造发明比赛一等奖的“方便香皂盒”,发明者就是通过观察一般香皂的结构和特征,发现了它的不足:由于盒里潮湿,常常使香皂和盒子粘住,不易取出来。然后巧妙地运用了杠杆原理进行构思、设计、制作。当人们打开香皂盒时,杠杆使盒里的香皂立起来,使用起来很方便。可见观察是创造发明的基础,任何创造发明都来自对事物的认真观察。

事实上,每一个人每一天都在观察,但是有些人能从观察中发现发明课题,而有些却不会。为什么呢?法国细菌学家巴斯德说得好:“在观察的领域中,机遇只偏爱那种有准备的头脑。”

第二步:联想

什么叫联想?联想是从一事物想到另一事物的心理过程。从当前的事物回忆起有关的另一事物,或从想起的一件事物又想到另一事物,都是联想。联想能力就是旧观念同现实结合,进而产生新观念的能力。联想能力强的人容易捕捉发明课题,容易形成新的构思。

联想可以使大家接收到更多信息的启示,激发灵感,加速小发明的进程。要想做到善于联想,就要有广博的知识、丰富的阅历,并勇于突破传统思想和习惯势力的束缚。

第三步:设计

同学们针对某一事物的优缺点,提出了大量的问题和产生了众多的联想,由于受知识的限制,其中有的是可能达到的想象,有的是创造性的积极幻想,但也有的是毫无把握的空想。要获得“小发明”的课题,还必须从联想中进行筛选,淘汰那些不切合实际或暂时达不到的想法。

通过筛选,有了基本上可行的课题,就可以进行初步的设计。在对某一课题的各种设计中,又会出现简单问题复杂化和复杂问题简单化的情况,既有具备创造性、先进性的,也有无创造性、过时的;既有具备使用价值的,也有无使用价值的。这时就需要辅导老师帮助你们再次进行筛选,寻找确属小发明的可行的设计方案。

第四步:绘图

对于中小学生来说,可行性设计方案往往只是一个想象的粗浅轮廓。无论想象物多么简单,都必须绘出加工图纸(根据不同年龄、年级,提出不同的要求)。这是制作小发明前的必要步骤。同时,这也有利于训练绘图能力,培养同学们科学的严谨细致的工作作风。

第五步:制作

有了加工图纸,准备好原材料和各种制作工具,然后按图纸进行制作。制作中,如果发现图纸有问题,可以修改图纸或者重绘。当然,在制作中还可能会遇到各种意想不到的困难,这需要请辅导老师和家长协助排除。

第六步:实验

小发明作品制作后,要进行实验。在实验中证实或修订自己设计的方案。小发明作品是要不断改进的,需要多次的观察、联想,反复的设计、绘图,进行再制作,再实验。

第七步:说明

发明作品完成后,公开时,要写出说明书,以便推广使用。说明书的内容,一般包含功能、结构、器材、制作、操作、原理等几个方面。有些发明作品,一看示意图就明白的,就可写得简单一些,不要面面俱到。

9. 操作系统创建一个新进程的主要步骤是什么

b
创建进程步骤包括
1,申请空白pcb(进程控制块)
2,系统为新进程分派资源;
3,初始化pcb;
4,将新进程插入就绪队列

10. 创建新进程

当系统中有下述事件发生时,会导致新进程的创建:1、用户登录;2、作业调度;3、提供服务;4、应用请求。
一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语,按下述步骤创建一新进程:
(1)申请空白PCB;
(2)为新进程分配资源,为新进程的程序和数据以及用户栈分配必要的内存空间。
(3)初始化进程控制块
(4)将新进程插入就绪队列。

阅读全文

与进程创造的主要过程相关的资料

热点内容
公共服务平台建设领导小组 浏览:165
人类创造了那些机器人 浏览:933
公共文化服务保障法何时实施 浏览:169
辽宁育婴师证书领取 浏览:735
划拨土地使用权转让能转让吗 浏览:97
2019年公需科目知识产权考试答案 浏览:256
关于知识产权管理办法 浏览:331
公共卫生服务培训笔记 浏览:532
基层公共卫生服务技术题库 浏览:497
中国城市老年体育公共服务体系的反思与重构 浏览:932
网络著作权的法定许可 浏览:640
工商局党风廉政建设工作总结 浏览:325
公共服务平台建设可行性研究报告 浏览:428
投诉华尔街英语 浏览:202
榆次区公共卫生服务中心 浏览:990
申发明5G 浏览:815
矛盾纠纷排查调处工作协调会议记录 浏览:94
版权贸易十一讲 浏览:370
综治办矛盾纠纷排查调处工作总结 浏览:903
知识产权局专业面试 浏览:75