今天看见一个关于进程和程序区别的故事比较不错:
一位厨艺很好的计算机科学家正在为他的女儿烘制生日蛋糕。他做的生日蛋糕有食谱,厨房中有所需要的原料:面粉、糖、奶油等。在这个比喻中,做蛋糕的食谱就是程序了(即用适当的形式描述的算法),计算机科学家就是处理机(CPU),而做蛋糕的原料就是输入数据了。进程就是厨师阅读食谱、取得各种原料、烘制蛋糕的一系列动作的总和。
现在假设计算机科学家的儿子哭着跑了进来,说他被一只蜜蜂蛰了。计算机就记录他的蛋糕照着食谱做到什么地方了(保存进程的当前状态),然后拿出一本急救手册,按照急救手册中的指示处理蛰伤。这里我们看见了处理机(科学家)从低优先级的进程(做蛋糕)切换到一个高优先级的进程(处理蛰伤,实施医疗救治),每个进程都有各自的程序(菜谱和急救手册)。当蛰伤处理完毕,科学家又回来做蛋糕,从刚才离开时的哪一步继续做下去。
关键思想:
进程是某种类型的活动,它有程序、输入、输出、状态。单个处理机被若干进程共享,它使用某种调度算法决定何时停止一个进程的工作,并转为另一个进程提供服务。
分享到:
相关推荐
ProcExp 是一个强大的进程管理工具,由著名的系统优化软件公司Sysinternals(现已被微软收购)开发。它为用户提供了一种深入查看和控制计算机上运行的进程的方法,超越了Windows操作系统自带的任务管理器的功能。...
调度策略分为两个方面:一是调度策略,决定如何选择下一个要执行的进程;二是上下文切换,即在进程间切换时保存和恢复状态的过程。 Linux内核中,进程被分为实时进程和非实时进程两大类。非实时进程又分为交互式...
根据提供的源代码名称“BigKiller”,我们可以推测这是一个用于管理和控制Android系统中进程的工具。它可能包含了上述的三个功能:结束进程、卸载程序以及列出运行中的应用。源代码会涉及对Android系统的API调用,如...
当此程序运行时,在系统中有一个父进程和其余为子进程活动。 (2)进程的控制:在程序中使用系统调用lockf()来给每一个进程加锁,实现进程之间的互斥。 (3)进程通信:①软中断通信;②在程序中使用语句signal(SIGINT,...
2. **复杂性**:需要维护一个动态更新的优先级列表。 3. **饥饿问题**:低优先级进程可能长期得不到CPU,导致“饥饿”。 **类型**: - **非抢占式优先级调度**:一旦进程获得CPU,直到运行结束或阻塞状态才释放CPU...
在Windows系统中,进程是程序执行时的一个实例,每个打开的应用、服务或后台运行的任务都对应一个或多个进程。默认的任务管理器虽然能提供基础的进程查看和管理能力,但往往无法显示所有进程,特别是某些系统隐藏或...
这篇文章将深入探讨一个名为"机房封杀QQ进程的小程序"的源码,该程序用于在特定环境中阻止QQ即时通讯软件的运行。QQ是中国最受欢迎的即时通讯应用之一,但有时在机房或学校等公共网络环境中,为了防止学生或员工在...
调用`fork()`会创建一个与父进程几乎完全相同的子进程,但子进程和父进程是两个独立的进程。 - **返回值**: - 在子进程中,`fork()`返回0。 - 在父进程中,`fork()`返回子进程的PID。 - 如果调用失败,则`fork...
- `main` 是启动守护进程的主要入口,调用 `_daemonize` 创建守护进程,并在一个无限循环中调用 `_doTask` 执行实际任务。 - `_daemonize` 函数实现了将进程转换为守护进程的过程,包括关闭标准输入、输出和错误流...
1. **进程控制块(PCB)**:每个进程都有一个PCB,用于存储进程的相关信息,如进程状态、优先级、资源需求等。在该程序中,PCB的内容可以根据具体需求进行设定。 2. **互斥资源管理**:用户可以通过界面设定输入...
这份资源不仅能让您深入了解微信小程序的开发流程,还能直接复用其中的代码和设计,加速您的项目开发进程。无论是个人学习还是企业项目,这份资源都是您不可或缺的宝贵财富。赶快查看并利用起来吧!
这份资源不仅能让您深入了解微信小程序的开发流程,还能直接复用其中的代码和设计,加速您的项目开发进程。无论是个人学习还是企业项目,这份资源都是您不可或缺的宝贵财富。赶快查看并利用起来吧!
一旦进程执行完毕或者因为等待I/O操作而进入等待队列(`wait`),就会从就绪队列中再次取出下一个进程,如此循环,直到所有进程都执行完毕。在每次调度时,都需要更新并显示当前执行进程、就绪队列和等待队列的状态...
标题中的“跨进程发送消息数据”是指在计算机编程中,特别是在多进程环境下,如何实现一个进程向另一个进程传递信息的技术。这种技术在分布式系统、服务通信或者组件交互中非常重要。Delphi,作为一款强大的对象 ...
这份资源不仅能让您深入了解微信小程序的开发流程,还能直接复用其中的代码和设计,加速您的项目开发进程。无论是个人学习还是企业项目,这份资源都是您不可或缺的宝贵财富。赶快查看并利用起来吧!
这份资源不仅能让您深入了解微信小程序的开发流程,还能直接复用其中的代码和设计,加速您的项目开发进程。无论是个人学习还是企业项目,这份资源都是您不可或缺的宝贵财富。赶快查看并利用起来吧!
在操作系统中,进程是一个程序的实例,它拥有自己的内存空间、状态(如运行、就绪、等待)和资源。进程管理主要包括以下几个关键方面: 1. **进程创建**:当一个新程序启动时,操作系统会为其创建一个新的进程。在...
这份资源不仅能让您深入了解微信小程序的开发流程,还能直接复用其中的代码和设计,加速您的项目开发进程。无论是个人学习还是企业项目,这份资源都是您不可或缺的宝贵财富。赶快查看并利用起来吧!
这份资源不仅能让您深入了解微信小程序的开发流程,还能直接复用其中的代码和设计,加速您的项目开发进程。无论是个人学习还是企业项目,这份资源都是您不可或缺的宝贵财富。赶快查看并利用起来吧!