今天看见一个关于进程和程序区别的故事比较不错:
一位厨艺很好的计算机科学家正在为他的女儿烘制生日蛋糕。他做的生日蛋糕有食谱,厨房中有所需要的原料:面粉、糖、奶油等。在这个比喻中,做蛋糕的食谱就是程序了(即用适当的形式描述的算法),计算机科学家就是处理机(CPU),而做蛋糕的原料就是输入数据了。进程就是厨师阅读食谱、取得各种原料、烘制蛋糕的一系列动作的总和。
现在假设计算机科学家的儿子哭着跑了进来,说他被一只蜜蜂蛰了。计算机就记录他的蛋糕照着食谱做到什么地方了(保存进程的当前状态),然后拿出一本急救手册,按照急救手册中的指示处理蛰伤。这里我们看见了处理机(科学家)从低优先级的进程(做蛋糕)切换到一个高优先级的进程(处理蛰伤,实施医疗救治),每个进程都有各自的程序(菜谱和急救手册)。当蛰伤处理完毕,科学家又回来做蛋糕,从刚才离开时的哪一步继续做下去。
关键思想:
进程是某种类型的活动,它有程序、输入、输出、状态。单个处理机被若干进程共享,它使用某种调度算法决定何时停止一个进程的工作,并转为另一个进程提供服务。
分享到:
相关推荐
一个进程池的服务器程序 下面做了非常简单的http服务器,该服务器只能接收Get请求。 流程大概如下: 1,父进程listen,创建pipe(下面所有父子进程之间的通信都用该pipe) 2,父进程预fork n个子进程 3,各个子...
当此程序运行时,在系统中有一个父进程和其余为子进程活动。 (2)进程的控制:在程序中使用系统调用lockf()来给每一个进程加锁,实现进程之间的互斥。 (3)进程通信:①软中断通信;②在程序中使用语句signal(SIGINT,...
1.杀掉正在运行进程 2.可以卸载程序 3.获取所有运行的程序列表
18、调用有些程序可能无法启动的情况,和本软件无关,可能是路径问题,有些程序不允许改变路径运行等,可自己在命令行下测试调用的软件是否运行,我遇到过类似的软件,加入环境变量也不行,只能在同一个目录下。...
1) 每一个进程有一个PCB,其内容可以根据具体情况设定。 2) 可以在界面设定的互斥资源(包括两种:输入设备与输出设备)的数目 3) 进程数、进入内存时间、要求服务时间可以在界面上进行设定 4) 进程之间存在一定的...
摄影竞赛小程序是一个基于微信小程序平台开发的应用程序,旨在为用户提供一个便捷的摄影比赛参与和管理的平台。本项目采用了多种前沿技术和设计理念,以满足用户的需求和提高用户体验。 技术选型: 前端:采用微信...
实现程序在驱动层面的保护;分享一份用于隐藏进程及其线程的rootkit驱动程序源代码.
程序里我们先建立一个主工程,作为主界面,然后再建立一个对 话框类,将其加入工程中,然后在程序中调用自己新建的对话框类来实现多窗口。 实现过程: 1.首先新建Qt4 Gui Application 工程,工程名为nGui,Base ...
获得程序正在远行的进程的源程序 使用过进行其他操作,分享一下
最近做一个项目,需要记录系统里每个进程访问的IP及Port,...这里面涉及到多进程访问同一个缓存文件的同步问题,于是封装了下面这个类,自我感觉良好,拿出来和大家分享 :) * 使用类似于环形链表的机制来保证运行效率
本议题会简单的介绍Docker和Apport并分享如何通过一个Apport漏洞来完成Docker的逃逸。 From a crash to docker escape •Basics of docker •An apport vulnerability •A way to leverage CVE-2018-6552•Demo
在这里,给大家一个Delphi的源码,使用HOOK进行拦截处理任务管理器来实现. 在附件的文档中包含了源码,共分为两个部分:exe测试部分,Dll部分(HookDll,unithook). 我已经亲自编译测试过,可以实现拦截任务管理器的消息. ...
用VC实现一个隐藏自身进程的程序,分享一下
主要介绍了C#实现关闭其他程序窗口或进程代码分享,本文给出了两种方法,并分别给出示例代码,需要的朋友可以参考下
基于微信小程序的短文写作竞赛管理系统是一个结合了当下流行技术栈的综合性项目。此系统主要采用了前后端分离的架构,后端使用SpringBoot进行搭建,前端则由微信小程序和Vue.js构成。下面将详细介绍所使用的技术和...
C# 判断并激活外部程序窗口 并实现外部程序窗口最大化,不错的代码与大家分享
服务器程序有时候不知道是什么原因导致CPU异常变高,每次变高都需要手工重启程序或服务,很麻烦,于是我就写了这个程序分享给网友朋友,希望能够帮到大家。使用说明,可自定义CPU负载多少,持续多少秒,执行相关bat...
4.进程和线程区别,进程和程序的区别 5.进程同步和互斥。(可能有大题) 6.若P、V操作的信号量S初值为6,当前值为-1,则表示? 7.某系统中有7个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少...
googleapps-message-recall 是一个托管在 Google AppEngine 上,用于召回 Google 应用程序域中消息的软件。它包含了处理 UI 请求的'frontend' 和 'backend' ,以便管理用户的任务。另外,该程序的进程状态存储在 App...
一步一步熟读者完成自己的操作系统:最简单的Boot Sector-由Boot Sector和Loader加载的内核-实现一个和多个进程-多控制台-进程间通信-轻巧的FS-简单的MM-自己的C运行时库-运行自己的应用程序-在真机进行...