首页 > 系统相关 >我们为什么需要进程?

我们为什么需要进程?

时间:2024-04-16 23:57:56浏览次数:21  
标签:为什么 需要 多个 Process 程序 blog 进程 OS

我们为什么需要进程(Process)?

首先,什么是进程?

进程,在非正式定义上是指运行中的程序 或 进行中的程序,是操作系统对程序的抽象。进程不只是程序,它是外存程序在内存的副本,一个程序可以有多个进程。

好,所以我们为什么需要进程(Process)来作为程序的抽象?

       因为在实际使用中,人们普遍希望在有限的计算资源上运行多个程序,即并发执行。故而现代操作系统普遍采用time-sharing的方式来cpu在时间尺度上分割为多个片段,每个程序运行一段时间,然后切换到下一个程序,这样多个程序就能共享CPU资源了。

       然而上述过程有个小缺点,程序本身不支持交替执行啊!冯诺依曼机器规定了程序是顺序执行的,最多跳转到其他指令,很难切换到其他程序啊。OS为了对多个“运行中的程序”进行管理与调度,因此引入了进程(Process)。进程中不仅包含程序的代码与数据, 还具有一个重要的数据结构 —— PCB(Process Control Block),使得OS能够便捷地控制“程序”的运行。

  具体可以看这篇blog : https://blog.csdn.net/Dejan520/article/details/123477779

标签:为什么,需要,多个,Process,程序,blog,进程,OS
From: https://www.cnblogs.com/hk416hasu/p/18139599

相关文章

  • 为什么钱难赚? 因为你想的到和想不到的方向, 都有人在做了
    赚钱的种类大家都知道,赚钱无非三种钱滚钱资源、背景换钱体力、脑力换钱对于前两种,没啥好说的,投胎是门技术活.绝大部分人,包括我在内都是第三种.而对于这一类人来说,赚钱是非常难的.这里说的赚钱不是一个月赚个吃饭钱,而是通过行动达到远超打工的收益.大家都......
  • 为什么说降维是超越聚类的无监督学习
    降维通常被视为超越聚类的无监督学习技术,因为它不仅仅是将数据分组。降维的目标是发现数据中的底层结构,通过减少数据的维数来简化数据,同时尽可能保留重要的信息。这使得降维成为一种更为基础和广泛的数据探索方法。以下是降维超越聚类的几个方面:数据压缩:降维可以减少数据集的大......
  • 为什么python的数据库语句要用参数化构造的方式
    以下是一个python的数据库插入语句self.cur.execute('''INSERTINTObooks(url,title,product_type,price_excl_tax,price_incl_tax,availability,num_reviews,rating,category,describe)VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)&......
  • (二)ET8多线程多进程框架设计课程介绍
    ET7已经满足90%的项目需求,没必要追新,除非客户端逻辑非常耗cpu,需要网络0GC,需要多线程支持(比如帧同步需要逻辑层单独放一个线程),服务端内部消息量过大或者需要减少总内存占用,才考虑使用ET8。ET8的课程明天开始录,主要讲解ET8多线程设计的各种思考,开发过程中的各种设计的权衡,et8相比ET7......
  • 我们为什么需要操作系统(Operating System)?
    我们为什么需要操作系统(OperatingSystem)?a)从计算机体系的角度,OS向下统筹了所有硬件资源(1),向上为所有软件提供API调用(2),使得软件程序员不必知晓硬件的具体细节,实现了计算机体系的分层;      b)从资源管理的角度,OS对有限的计算资源进行分配(3),是软件按照“某种理想的状......
  • 进程以及其有关命令
    程序什么是程序?是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具用于描述进程要完成的功能,是控制进程执行的指令集进程什么是进程运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位,进程ID(ProcessID,PID)号码被用来标记各......
  • 在Windows操作系统中,runonce.exe是一个系统进程,用于执行在用户登录时只需执行一次的任
    在Windows操作系统中,runonce.exe是一个系统进程,用于执行在用户登录时只需执行一次的任务或命令。它主要通过注册表中的RunOnce键来实现这些任务的执行。为什么会存在runonce.exe?初始化任务:在用户登录时,有时需要执行一些初始化任务,例如设置默认值、创建用户配置等。这些......
  • 面试官:为什么忘记密码要重置而不是告诉你原密码?
    这是一个挺有意思的面试题,挺简单的,不知道大家平时在重置密码的时候有没有想过这个问题。回答这个问题其实就一句话:因为服务端也不知道你的原密码是什么。如果知道的话,那就是严重的安全风险问题了。我们这里来简单分析一下。做过开发的应该都知道,服务端在保存密码到数据库的时候......
  • 如何转行产品经理?只需要这二步
    说到转行产品经理,网上一大堆的产品经理课程和文章,大多都是在讲产品经理需要掌握的技能和知识,但是会发现看完了之后,还是不知道具体怎么做,怎么才能找到产品经理工作。那今天以自身为例子,给想转产品经理的小伙伴一些具体的执行步骤。转行产品经理的一般分为互联网从业人员和非互联......
  • linux 结束进程
    一、查看进程id命令1、pgrep进程名 2、pidof进程名 3、ps-ef|grep进程名或进程id  或者  netstat-apn|grep8080  二、停止进程命令1、pkill进程名称  pkill node 2、kill进程id    kill6798还可以接多个进程ID进行停止使用空格......