IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 关于进程,线程基础知识的一些小小补充 -> 正文阅读

[系统运维]关于进程,线程基础知识的一些小小补充

1:进程有独立的地址空间
linux为每个进程创建task_struct(内核空间)任务结构体
关于进程的系统数据有PCB,进程控制块,各种寄存器的值和堆栈等
2:进程在切换时系统开销大。cache高速缓存,静态ram,cache分指令cache和数据cache,tlb页表,进程切换时都要刷新
同一进程中的线程共享相同的地址空间,linux不区分进程线程,都认为是一个任务
线程:大大提高了任务切换的效率,避免额外的TLB 和 cache的刷新

3:一个进程中的多个线程共享以下资源
? 可执行的指令
? 静态数据
? 进程中打开的文件描述符
? 当前工作的目录
? 用户ID,用户组ID
4:线程私有的资源
? 线程ID TID
? PC程序计数器和相关寄存器
? 堆栈
? 错误号errno
? 优先级
? 执行状态和属性

同步:多个任务按照约定的先后次序互相配合完成一件事
互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。
5:信号量
?P操作 申请资源
?if(信号量的值大于0){申请资源的任务继续运行;信号量减一}
?else {申请 ? ? ? ?资源的任务阻塞;}
?V操作 释放资源
?信号量的值加一;
?if(有任务在等待资源){唤醒等待的任务,让其继续运行}
?无名信号量(基于内存的信号量),进程内部线程之间
?有名信号量,都可

查看线程 PS aux -L |grep xxx
临界资源:一次只允许一个任务访问的共享资源
临界区:访问临界区的代码
剩下的就只剩各种函数了,关于函数的用法不在本章记录

6:进程和线程的区别
? 1)进程是资源分配最小单位,线程是程序执行的最小单位;
? 2)进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段,线程没有独立的地址空间,它使用相同的地址空间共享数据;
? 3)CPU切换一个线程比切换进程花费小;
? 4)创建一个线程比进程开销小;
? 5)线程占用的资源要?进程少很多。
? 6)线程之间通信更方便,同一个进程下,线程共享全局变量,静态变量等数据,进程之间的通信需要以通信的方式(IPC)进行;(但多线程程序处理好同步与互斥是个难点)
? 7)多进程程序更安全,生命力更强,一个进程死掉不会对另一个进程造成影响(源于有独立的地址空间),多线程程序更不易维护,一个线程死掉,整个进程就死掉了(因为共享地址空间);
? 8)程对资源保护要求高,开销大,效率相对较低,线程资源保护要求不高,但开销小,效率高,可频繁切换;
??
7:什么时候使用线程什么时候使用进程
? 1、需要频繁创建销毁的优先使用线程;因为对进程来说创建和销毁一个进程代价是很大的
? 2、线程的切换速度快,所以在需要大量计算,切换频繁时用线程,还有耗时的操作使用线程可提高应用程序的响应
? 3、因为对CPU系统的效率使用上线程更占优,所以可能要发展到多机分布的用进程,多核分布用线程;
? 4、并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求;
? 5、需要更稳定安全时,适合选择进程;需要速度时,选择线程更好。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-24 10:59:51  更:2021-09-24 11:01:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:59:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码