首页 > 系统相关 >Linux多进程01-进程概述

Linux多进程01-进程概述

时间:2023-05-17 18:33:49浏览次数:45  
标签:01 程序 内核 Linux 进程 执行 CPU 运行

程序与进程

程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程

  • 进程是正在运行的程序的实例。是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
  • 可以用一个程序来创建多个进程,进程是由内核定义的抽象实体,并为该实体分配用以执行程序的各项系统资源。从内核的角度看,进程由用户内存空间和一系列内核数据结构组成,其中用户内存空间包含了程序代码及代码所使用的变量,而内核数据结构则用于维护进程状态信息。记录在内核数据结构中的信息包括许多与进程相关的标识号(IDs)、虚拟内存表、打开文件的描述符表、信号传递及处理的有关信息、进程资源使用及限制、当前工作目录和大量的其他信息。

单道与多道程序

  • 单道程序,即在计算机内存中只允许一个的程序运行。
  • 多道程序设计技术是在计算机内存中同时存放几个相互独立的程序,使它们在管理程序控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态, 这些程序共享计算机系统资源。引入多道程序设计技术的根本目的是为了提高 CPU 的利用率。
  • 对于一个单 CPU 系统来说,程序同时处于运行状态只是一种宏观上的概念,他们虽然都已经开始运行,但就微观而言,任意时刻,CPU 上运行的程序只有一个。
  • 在多道程序设计模型中,多个进程轮流使用 CPU。而当下常见 CPU 为纳秒级,1秒可以执行大约 10 亿条指令。由于人眼的反应速度是毫秒级,所以看似同时在运行。

时间片

  • 时间片(timeslice)又称为“量子(quantum)”或“处理器片(processor slice)”是操作系统分配给每个正在运行的进程微观上的一段 CPU 时间。事实上,虽然一台计算机通常可能有多个 CPU,但是同一个 CPU 永远不可能真正地同时运行多个任务。在只考虑一个 CPU 的情况下,这些进程“看起来像”同时运行的,实则是轮番穿插地运行,由于时间片通常很短(在 Linux 上为 5ms-800ms),用户不会感觉到。

  • 时间片由操作系统内核的调度程序分配给每个进程。首先,内核会给每个进程分配相等的初始时间片,然后每个进程轮番地执行相应的时间,当所有进程都处于时间片耗尽的状态时,内核会重新为每个进程计算并分配时间片,如此往复。

并行和并发

  • 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。
  • 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。

image

标签:01,程序,内核,Linux,进程,执行,CPU,运行
From: https://www.cnblogs.com/anqwjoe/p/17409707.html

相关文章

  • linux-ubuntu安装 lrzsz
    ubuntu安装lrzsz方法1:二进制包自动安装sudoapt-getinstalllrzsz方法2:源码包手动安装2.1下载cd/server/toolswgethttps://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gztar-xzflrzsz-0.12.20.tar.gzcdlrzsz-0.12.20./configure--prefix=/usr/local/lrzszs......
  • Linux 内存管理 pt.3
    哈喽大家好,我是咸鱼在《Linux内存管理pt.2》中我们学习了多级页表和大页,我们知道了由于历史遗留的问题,Linux的页通常为4KB这样就会导致一个页表里面会有特别多页,为了解决这个问题,Linux提供了两种解决方案——多级页表和大页那么今天继续我们的Linux内存管理学习,我们今天......
  • linux-安装系统Ubuntu Server 14.04,16.04和17.10
    安装系统UbuntuServer14.04,16.04和17.10 本文以14.04位案例进行安装,其他版本相关问题会做注解1.选择要安装的系统语言本界面建议选择English,之后再选择中文安装对于14.x版本选择中文没有问题,但是对于16.04和17.10版本,该步骤选择中文后面会报错:2.选择安装过程中需要的语......
  • 在Linux/Windows/Mac上刷新DNS缓存的方法
    在Linux/Windows/Mac上刷新DNS缓存的方法刷新dns缓存让你可以得到新的域名解析。当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试。但是不同的系统,Windows、MacOS和Linux上的方法是不一样的。1.Windows系统刷新DNS缓存开始-->运行-->输入cmd并回车在打开的命......
  • Jmeter部署到Linux实现分发压测时,controller机器回收测试报告时卡死
    问题检查与定位:检查slave-A和slave-B两台执行机,执行机已经finished,无报错,说明执行机已完成测试任务采集到的日志批量分析后得出的结论:在完成并发测试后,vuser要进行释放,由于没有完全释放导致controller机器一直等待(像卡死),而实际上是等待,问题定位后,进行检查发现:问题1: reportge......
  • 神策杯 2018高校算法大师赛(个人、top2、top6)方案总结
    1竞赛背景神策数据推荐系统是基于神策分析平台的智能推荐系统。它针对客户需求和业务特点,并基于神策分析采集的用户行为数据使用机器学习算法来进行咨询、视频、商品等进行个性化推荐,为客户提供不同场景下的智能应用,如优化产品体验,提升点击率等核心的业务指标。神策推荐系统是一......
  • 【BZOJ2007】【NOI2010】海拔(对偶图,最短路)
    DescriptionYT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域。简单起见,可以将YT市看作一个正方形,每一个区域也可看作一个正方形。从而,YT城市中包括(n+1)×(n+1)个交叉路口和2n×(n+1)条双向道路(简称道路),每条双向道路连接主干道上两个相邻的交叉路口。下图为......
  • 【CF1012E】【LOJ2818】Cycle Sort(并查集)
    Description给定一个⻓为nn的数列,你可以多次进行如下操作:选定kk个不同的下标i1,i2…iki1,i2......
  • linux-cmd-zip-unzip
    linux-cmd-zip-unzip参考地址https://www.runoob.com/linux/linux-comm-zip.html1.zip压缩1.1.zip语法参数zip[-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b<工作目录>][-ll][-n<字尾字符串>][-t<日期时间>][-<压缩效率>][压缩文件][文件...][-i<范本样式>][-x<范本样式>]#......
  • linux标准输入输出
    linux标准输入输出STDIN是标准输入,默认从键盘读取信息;STDOUT是标准输出,默认将输出结果输出至终端;STDERR是标准错误,默认将输出结果输出至终端。由于STDOUT与STDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示STDOUT,2表示STDERR2>&1,准错误重新定向到......