读书笔记:《深入理解计算机系统》 之 第十二章 并发编程

读书笔记-深入理解计算机系统(第一章) 此系列为读<深入理解计算机系统>的笔记,如有理解错误,望请指正.第一章 计算机系统漫游计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序.1.1信息就是位+上下文 源程序实际上就是由一个值0和1组成的位(bit)序列,8个位被组织成一组,称为字节.每个字节表示程序中某个文本字符. 大部分现代系统都是有ASCII标准表示文本字符,只由ASCII字符构成的文件称为文本文件,所有 阅读详情

在现代系统中,进程是切换执行的。举个例子,我们一边听音乐一边浏览网站,看起来我们是同时执行的,其实是切换执行的,那为什么浏览网站的时候音乐还在播放呢,简单的来说是因为系统中缓冲了一些资源。

以上的举例是建立在单处理器的基础上,随着科技的发展,现在我们的电脑一般都是多核处理器,也就是说可以真的做到并发执行。

再谈一下并行与并发这两个概念,并发与处理器的个数没有关系,只要两个逻辑控制流有重叠或者交错就都是并发.并行是并发的一个特例.并行是指多个处理器同时执行。

 

但是并发不仅仅局限于内核,它在应用程序中也可以扮演重要角色。使用应用级并发的应用程序成为并发程序,现代操作系统提供了三种基本的构造基本并发程序的方法,分别是基于进程的并发编程,基于I/O多路复用的并发编程,基于线程的并发编程。

 

基于进程的并发编程,一个比较常见的方法是在父进程中接受客户端的连接请求,然后创建一个新的子进程为每个客户端提供服务。

而基于I/O多路复用的并发编程,基本的思路是使用一个select函数,要求内核挂起进程,只有在一个或多个I/O事件发生后,才将控制返回给应用程序。是一种事件驱动设计。

而基于线程的并发编程,是上面两种方法的混合。基于线程的逻辑流结合了基于进程和基于I/O多路复用的流的特性。同进程一样,线程由内核自动调度,并且内核通过一个整数ID来识别线程。同基于I/O多路复用的流一样,多个线程运行在单一进程的上下文中,因此共享这个进程虚拟空间的所有内容,包括它的代码,数据,堆,共享库和打开的文件。

 

深入计算机系统:CS:APP 读书笔记与实践 本文将从《深入理解计算机系统》(CS:APP)一书的精选章节中提炼精华,探讨计算机系统的核心原理与实践应用。通过分析处理器架构、程序性能优化、内存层次结构、链接、异常控制流、虚拟内存、系统级I/O、网络编程和并发编程等多个关键主题,本文旨在为读者提供对现代计算机系统深入理解的视角和实用的编程技巧。 阅读详情

相关推荐

3D IC中Memory-on-Logic堆叠测试的DFT解决方案与工程实践

在半导体行业,随着摩尔定律逼近物理极限,3D IC技术通过芯片垂直堆叠实现性能提升和异构集成,已成为重要发展方向。其核心原理是利用硅通孔(TSV)或微凸块实现芯片间电气互连,将多个不同功能的芯片(如逻辑芯片与存储芯片)集成在一个封装内。这项技术的核心价值在于能大幅提升系统性能、降低功耗并实现更小的封装尺寸。然而,芯片堆叠后,传统的测试方法面临巨大挑战,尤其是测试访问存在物理屏障,无法直接探测被覆盖的芯片接口。为此,可测试性设计(DFT)成为确保3D IC可靠性与量产可行性的关键技术。它通过在设计阶段植入专用

weixin_42521058的博客 631

《深入理解计算机系统》读书笔记-015(第 12 章 并发编程)

《深入理解计算机系统》读书笔记-015(第 12 章 并发编程) 这章完全没有接触过,看起来有一点晕哈哈,尤其是 I/O 多路复用的部分。活动结束之后还得重新看看。不过话说回来,活动跳过了几章之后看起来就有点不适应了,强迫症看这本书总想从头看到尾才舒服。 现代操作系统提供了这么三种构造并发程序的方法: 进程; I/O 多路复用; 线程。 其中线程是融合了前两种方法的特点既像进程一样由内核进行调...

Learn 321

(详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估计要搞吐。然后就想能不能用python的爬虫来实现,虽然过程比较苦(后期改bug改的要吐了)。但是会后还是将需求实现了。这基本也算是入门了 urllib、requests、selenium这几个py...

man_tou_22 1万+

深入理解计算机系统——第12章——并发编程

未完待续

xuejianhui 1018

三相Vienna整流器过零点电流畸变?试试这个SVPWM调制波补偿技巧

本文针对三相Vienna整流器在电流过零点附近出现的电流畸变问题,提出了一种基于SVPWM调制波补偿的有效解决方案。该方法通过注入零序分量重构占空比,巧妙解决因拓扑约束导致的调制矛盾,在基本不增加计算复杂度的前提下,显著平滑电流波形,降低THD。

weixin_29212867的博客 114

2026华为OD机试(JAVA&Go)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,Java实现。

MISAYAONE的博客 34万+

《深入理解计算机系统》读书笔记-016(第 12 章 并发编程)

《深入理解计算机系统》读书笔记-016(第 12 章 并发编程) 太惨了,这章真心不大看得懂啊……等把前面的补上之后把读书笔记重新整理一下吧。这样看了跟没看也没啥区别了。 在线程中,不同于进程有层次结构,一个进程中的线程都是对等的,没有父子、高低的区别;所谓的“主线程”也仅仅代表“它是该进程中第一个运行的线程”。对等线程之间可以相互 kill。 线程终止的方式有两种: 顶层线程例程返回,线程隐式...

Learn 305

【STK】手把手教你利用STK进行光电红外仿真04-STK/EOIR模块的实战操作1航天器星载相机对LEO卫星成像

今天引入一个实际的场景,帮助大家完成对于这个模块的理解与运用。

weixin_44184852的博客 2417

【CSAPP】《深入理解计算机系统》读书笔记

这本书在CMU作为计算机系统的入门书籍,每章还对应有课后实验,花了1个多月看完这本书,并且挑选了4个感兴趣的实验完成,收获还是不错的。看完这本书最大的感受就是对整个计算机系统有了一个整体的认识,一个简单的helloworld的后面发生了什么?认真读完这本书,相信你心中一定会有一个答案了。 ======================================================

a2888409 9511

PCL点云八叉树体素中心下采样,体素包含点索引提取

基于PCL octree实现点云八叉树计算,支持提取体素中心点进行点云下采样;根据任一点坐标,可以得到其在八叉树中的位置,输出对应体素内其余点的坐标或者索引

qq_48694523的博客 462

cadence17.4和16.6同时安装无法使用的问题

经过对报错的问题分析,发现还是17.4的lic文件和16.6的不一样,16.6的版本总是无法找到自己对应的lic文件。卸载了,重新单独安装16.6,这里就是正确的。包括使用这些工具去修复这些问题,都无法接近。已经放弃了,使用哪个版本就安装 哪个版本。这个也无法解决问题。

D_Katter的博客 2322

《深入理解计算机系统》 第十三章 并发编程

并发程序(concurrent program) 构造并发程序的方法:进程、I/O多路复用、线程 进程:每个逻辑控制流都是一个进程,由内核来调度和维护。进程有独立的虚拟地址空间,想要和其他流通信,控制流必须使用某种显式的进程间通信机制。 I/O多路复用:应用程序在一个进程的上下文中显式地调用他们自己的逻辑流。 线程:运行在一个单一进程上下文中的逻辑流,由内核进行调度。是其他两种方式的混合体,像进程流一样由内核进行调度,而像I/O多路复用流一样共享同一个虚拟地址空间。 13.1基于进程的并发编程 在父进程中接

MOYI's road 213

【AI Guide】AI面试攻略只用看这一篇就够了!力争做全网最全的AI面试攻略——大模型(五)Adapter 微调

Adapter 微调(Adapter Fine-tuning)是一种高效的参数高效微调(PEFT)方法。相较于全参数微调(Full Fine-tuning),Adapter 在预训练模型的特定层插入轻量级的可训练模块,而冻结原始模型参数,从而减少计算和存储开销。是缩放因子,控制 Adapter 输出的影响程度。设 Transformer 层的隐藏状态为。为 Adapter 层的可训练参数,为非线性激活函数,如 ReLU。为冻结的预训练模型参数,

AI科研社 182

《深入理解计算机系统》读书笔记

《深入理解计算机系统》读书笔记注:《深入理解计算机系统》是我们《系统级编程》课程的参考书。这里主要记载的是在看《深入理解计算机系统》这本书的过程中,遇到的一些以前没有注意到的知识。但是,这本书的稿子是2001年的,有点旧了,而且据说卡内基梅隆大学的讲义每年要更新30%。我会在其中增加一些我们系统级编程课程中的一些新的知识点。第0章 绪论1,不能用x-y第1章 计算机系统漫游1,

天的世界 8635

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

读书笔记Pt.3——《深入理解计算机系统》

😎😎读书笔记又更新辣! 阿龙干货铺靓仔快来康康, 造他就完事儿了!

qq_61500888的博客 1750

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

读书笔记Pt.4——《深入理解计算机系统》

读书笔记第四周,欧泡时间到! 数据大小😎寻址与字节顺序😎整数表示🤔无符号数的编码🤔补码编译🤔

qq_61500888的博客 2408

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

无责任书评:《深入理解计算机系统》这本神书到底好在哪儿?

刘大,我想学Java ,你觉得《Java编程思想》适合入门吗?刘哥,《深入理解计算机系统》第三版豆瓣评分都快接近10分了, 我想买一本,你觉得怎么样?刘师傅,学习数据结构...

码农翻身 8988

《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游

本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习。一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止。我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念、专业术语和组成部分。

嵌入式与Linux那些事的博客 2万+

深入理解计算机系统读书笔记

深入理解计算机系统

qq_43430845的博客 1925

读书笔记Pt.6——《深入理解计算机系统》

截断数字🤔关于有符号数和无符号数的建议🤔无符号加法🤔补码加法🤔无符号乘法🤔 带你一命通关计算机系统底层原理!

qq_61500888的博客 1251

《深入理解计算机系统》读书笔记13: 并发编程

优点缺点☑️ 地址空间隔离,子进程不会意外覆盖父进程数据❌ 独立的地址空间使得共享状态困难——必须使用 IPC☑️ 易于理解和调试,消除了许多复杂错误❌ 进程控制和 IPC 开销高,速度较慢☑️ 信号机制提供了基本的 IPC 能力❌ 需要手动处理 SIGCHLD 信号回收僵尸进程。

1043

《CSAPP:深入理解计算机系统》读书笔记(总纲)

《CSAPP:深入理解计算机系统》读书笔记(总纲)

北观止的博客 777

《深入理解计算机系统》读书笔记1

读书笔记;     《深入理解计算机系统》是全世界最经典的计算机科学著作,它是美国卡内基。梅隆大学计算机科学导论教材。是学习计算机软件和硬件的超级好书,本书是由该大学计算机学院院长,IEEE院士布莱恩特所著,此书主要涵盖了多门计算机专业课程,包括计算机导论,计算机体系结构,计算机组成原理,汇编语言程序设计,微处理器设计等课程。为大家详细描述了计算机系统的实现细节,通过c程序是如何映射到计算机系统

lifestylegoingon的专栏 1090

读书笔记Pt.7——《深入理解计算机系统》

第七周读书笔记出炉辣,运算部分收个尾 补码乘法🤔整数乘法🤔整数除法🤔关于整数运算的最后思考🤔

qq_61500888的博客 3930

【《深入理解计算机系统》读书笔记(2)】 第2章 信息的表示与处理

【时间】2021.11.11 【题目】《深入理解计算机系统》读书笔记(2) 第2章 信息的表示与处理 目录 一、简介 二、一些重点图 1、C语言数据类型在32bit/64bit系统中的位数 2、多字节对象的小端法/大端法表示 3、二进制小数表示 4、IEEE浮点数表示 5、IEEE浮点数数值的分类 6、4种舍入方式 三、思维导图 一、简介 本章主要主要介绍了信息的表示与运算,如: 多字节对象的表示(地址+字节顺序) 整型(无符号/补码有符号...

小C的博客 1457
上一篇: 读书笔记:《深入理解计算机系统》 之 第十一章 网络编程
下一篇: Java解析CST时间出现ParseException的解决方法?
scanq
博客等级 码龄11年 15粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值