linux中进程和线程简单介绍
进程和线程的简单知识
进程是用来申请内核资源的,只有资源到位,进程才会进行,进程包含线程,线程是进程内部的调度单位,所以在业内有这样一句话,进程是资源分配最基本单位,线程是系统调度的最基本的单位,进程获取资源后,线程在被调度运行时,就会共享进程内部的资源,我们可以把进程和线程看成一个人,比如说,你吃东西,这是一个进程,我们在计算机上运行一个程序就相当于人在吃东西,是一个程序。你吃东西就需要具备几个条件,比如,食物,嘴巴,肠胃,消化系统等等,这些都是你吃东西必须具备的,对吧,这就像资源,进程在运行时,必须调度操作系统的内存,或者包括一些数据。你吃下去,你的嘴巴在动,你的肠胃也在动,你嘴巴动,肠胃动,这些就叫做线程,他是进程内部的一个调度单位,因为它是你吃东西所必须经历的阶段,成为为一个进程内部的多个线程。
所有的进程有三种状态:1)运行态:就是进程具备好了所有资源,正在占用cpu运行的状态;2)就绪态:也就是进程所有资源准备完毕,就等着cpu空闲时,占用cpu运行;3)阻塞态:进程在运行时,cpu的时间片到期了,进程被阻塞,暂时无法运行,等着cpu分配时间继续运行。
系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
应用软件(application software)是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能
简单来说,系统软件时是你安装操作系统自带的一些系统上的软件,windows就是一个系统软件,那什么是应用软件呢,就是你后期方便使用安装的一些软件,比如微信,QQ,不难理解,我们手机上的一些APP,全称是什么?appliction,不就是应用的意思吗?
说到这里,我们扩展一个知识点,你们知道为什么我们手机的 安卓系统也是一个linux系统呢,这就关系到linux的应用,因为手机上那么多软件,总要放在一个服务器上吧,不可能一个手机的对应一个服务器,如果没有服务器 ,我们的手机又如何运行呢?这就涉及到我们之前说的,linux是一个多用户多进程的操作系统,我们每个人的手机都有一个账号,我们通过在登录账号就能登录到自己的手机,同时操控手机,我们在操控手机时就是在操作linux系统。我们在操作linux系统时,别人也在操作这个系统,这就是多用户的概念。我们理解再深入一些,电脑就不是一个linux系统,因为电脑内核十分强大,但是手机内核不行。这就是,为什么我们的手机是linux系统。同理,很多嵌入式软件也是linux系统,这就是linux为什么会普及的原因。
linux中进程和线程简单介绍的更多相关文章
- Linux中进程与线程的概念以及区别
linux进程与线程的区别,早已成为IT界经常讨论但热度不减的话题.无论你是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了.对于一般的程序员,搞清楚二者的概念并在工作中学会运用是 ...
- Linux中进程与线程及CPU使用率查询
一.进程查询: ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 说明:PCPU是Cpu使用率,8核最多是800. 或者 ps -aux 二.线 ...
- 第二十一篇 Linux中的环境变量简单介绍
环境变量之 PATH 定义解释器搜索用户执行命令的路径 获取PATH变量的值: echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/us ...
- 理解Linux的进程,线程,PID,LWP,TID,TGID
在Linux的top和ps命令中,默认看到最多的是pid (process ID),也许你也能看到lwp (thread ID)和tgid (thread group ID for the threa ...
- 深入理解 Linux的进程,线程,PID,LWP,TID,TGID
转载:https://www.linuxidc.com/Linux/2019-03/157819.htm 在Linux的top和ps命令中,默认看到最多的是pid (process ID),也许你也能 ...
- [转载]了解Linux的进程与线程
本文转自Tim Yang的博客http://timyang.net/linux/linux-process/ .对于理解Linux的进程与线程非常有帮助.支持原创.尊重原创,分享知识! 上周碰到部署在 ...
- linux查看进程的线程数
top -H -p $PID #查看对应进程的那个线程占用CPU过高 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行 ...
- 了解Linux的进程与线程
了解Linux的进程与线程 http://timyang.net/linux/linux-process/ 上周碰到部署在真实服务器上某个应用CPU占用过高的问题,虽然经过tuning, 问题貌似已经 ...
- linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客
linux中读写锁的rwlock介绍-nk_ysg-ChinaUnix博客 linux中读写锁的rwlock介绍 2013-02-26 13:59:35 分类: C/C++ http://yaro ...
- Linux 中 Vi 编辑器的简单操作
Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi filename //打开或新 ...
随机推荐
- [seaborn] seaborn学习笔记11-绘图实例(3) Drawing example(3)
11 绘图实例(3) Drawing example(3)(代码下载) 本文主要讲述seaborn官网相关函数绘图实例.具体内容有: Plotting a diagonal correlation m ...
- [OpenCV实战]13 OpenCV中使用Mask R-CNN进行对象检测和实例分割
目录 1 背景介绍 1.1 什么是图像分割和实例分割 1.2 Mask-RCNN原理 2 Mask-RCNN在OpenCV中的使用 2.1 模型下载 2.2 模型初始化 2.3 模型加载 2.4 输出 ...
- 消息队列(Message Query)的初学习
消息队列(Message Query)的初学习 摘要:本篇笔记主要记录了对于消息队列概念的初次学习.消息队列的基础知识. 目录 消息队列(Message Query)的初学习 1.何为消息? 2. ...
- iOS 使用xcode11新建项目
1. 首先打开Xcode11,然后使用command + shift + n 快捷键创建一个新的工程 选择 Single View App 完成之后点击next 2. 会弹出 Choose opt ...
- BatteryStatsHelper.java源码分析
在分析PowerUsageSummary的时候,其实可以发现主要获取应用和服务电量使用情况的实现是在BatteryStatsHelper.java中 还是在线网站http://androidxref. ...
- DateFormat类&SimpleDateFrormat类介绍-Dateformat类的format方法parse方法
DateFormat类&SimpleDateFrormat类介绍 java.text.DateFormat是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就 ...
- 【学习笔记】开源库之 - sigslot (在解决浅拷贝问题的基础上增加信号拦截功能)
前言说明 在文中<[学习笔记]开源库之 - sigslot (提供该库存在对象拷贝崩溃问题的解决方案)>已经介绍过 sigslot ,此文主要应用在实际的工作项目中时,发现会有拦截信号的需 ...
- OpenStack命令行参考
OpenStack命令行参考 hello,大家好,这里是费冰.在使用OpenStack的过程中,固然我们可以通过 web 页面完成绝大多数的操作,但作为管理人员,不能不知晓 OpenStack 命令行 ...
- MQ 消息队列 比较
为什么需要消息队列 削峰 业务系统在超高并发场景中,由于后端服务来不及同步处理过多.过快的请求,可能导致请求堵塞,严重时可能由于高负荷拖垮Web服务器. 为了能支持最高峰流量,我们通常采取短平快的方式 ...
- 2022.2.1最新版本的IDEA
一.下载破解工具.激活码 激活工具下载链接:https://note.youdao.com/s/1ANz2F3o 6G5NXCPJZB-eyJsaWNlbnNlSWQiOiI2RzVO ...