自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 收藏
  • 关注

原创 理解计算机系统_并发编程(8)_线程(五):生产者-消费者问题

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定本书P704~P706讲的生产者-消费者问题.站在程序的角度来分析.首先,生产者-消费者是一个程序模型.能满足对应的场景.P705第3段讲了几处场景.笔者认为一个能提出程序模型的思路,和写出实现模型的代码的人应该称为it界巨擎("大神".当然对于绝大多数的程序员来说,写不出来也没什么关系,能熟练使用也很不错.

2025-05-17 13:56:38 655

原创 理解计算机系统_并发编程(7)_线程(四):信号量和互斥锁

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-16 01:45:46 693

原创 理解计算机系统_并发编程(6)_线程(三):线程内存模型和同步问题

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-15 06:29:35 628

原创 理解计算机系统_并发编程(5)_基于线程的并发(二):线程api和基于线程的并发服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定Posix线程是在C程序中处理线程的一个标准接口.而且在所有Linux系统上都可用.Pthreads定义了大约60个函数,允许程序创建,杀死和回收线程,与对等线程安全地共享数据,还可以通知对等线程系统状态地变化---解读:有api可以用是让人兴奋的,代码要写起来.

2025-05-13 20:22:03 892

原创 理解计算机系统_并发编程(4)_基于线程的并发(一):线程基础

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-13 00:23:15 922

原创 理解计算机系统_并发编程(3)_基于I/O复用的并发(二):基于I/O多路复用的并发事件驱动服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-12 04:31:02 826

原创 理解计算机系统_并发编程(2)_基于I/O复用的并发(一):select浅解

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-10 10:09:54 1042

原创 理解计算机系统_并发编程_几个概念---网络IO模型&位向量

如前贴软件(模块)开发的理解-CSDN博客所述,学习框架(库),需要理解程序模型及概念,并会使用配套api.并发的有些概念有些容易混淆,对此做一些补充理解.

2025-05-09 07:02:09 901

原创 软件(模块)开发的理解

按照笔者对<深入理解计算机系统>(以下称"本书")的阅读和学习,应该进入基于I/O多路复用阶段的并发.但是在看了教材以及其他帖子对这部分内容的分析以后,产生了一点迷茫.这部分内容,要其他概念的支撑,此外有应用级代码,.在这个过程中,笔者想了一个软件开发的流程的示意图,写出来一起讨论(实际自己当笔记看)

2025-05-08 08:21:34 327

原创 理解计算机系统_并发编程(1)_并发基础和基于进程的并发

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-04 23:52:20 735

原创 理解计算机系统_网络编程(6)_web服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-05-01 23:08:44 1089

原创 理解计算机系统_网络编程(5)_echo客户端和服务器

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-30 01:59:11 1012

原创 理解计算机系统_网络编程(4)_套接字api

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-29 01:16:53 799

原创 理解计算机系统_网络编程(3)

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-26 15:59:02 1064

原创 理解计算机系统_网络编程(2)

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-24 14:20:22 900

原创 理解计算机系统_网络编程(1)

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定所有的网络应用都是基于相同的基本编程模型,有着相似的整体逻辑结构,并且依赖相同的编程接口---黑体字是原话----解读:这句话有两层含义:1>不管是web端还是移动端,或者桌面端的通信模块,使用的api都差不多。

2025-04-23 19:13:26 971

转载 (转载)Linux常见命令

对操作系统的学习,Linux是绕不开的,主要原因嘛,因为开源(Windows如果开源,笔者也有兴趣看一看).对于计算机底层的理解,像<深入理解计算机系统>这本书,也是基于Linux操作系统.所以常见命令需要有个了解.

2025-04-18 20:40:25 19

原创 理解计算机系统_文件管理_系统级I/O(一)

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2025-04-17 08:28:38 770

原创 程序构建---标准是什么

当感觉对编程有一点理解以后,会想写一个软件,然而此时发现之前那些内容还仅是个基础,需要补充对程序整体的理解.

2025-04-08 02:41:05 683

原创 “屏幕“的实现_程序中如何将数据映射到硬件_C++实战

程序里的数据,最后都需要将数据对象写入硬件.C/C++最大的优势体现也是在这里,他既是高级语言方便被程序员使用,又能和硬件沟通.

2025-03-30 21:32:22 629

原创 数据类设计_图片类设计总结(常更新)

对笔者个人而言,近段时间来对图片类设计的探讨有里程碑式的意义.对代码和代码中的思路,反复思考总结,希望能举一反三,得到能力的提高.推导:从已知到未知---正向推导;从结果到条件---逆向推导.总结:从已成功例子中抽取关键词,形成必然的逻辑(他的形式可能是一段话或一张图)升华:在总结基础上再发现更普遍的规律.

2025-03-27 20:17:00 508

原创 数据类设计_图片类设计_矩阵图类型和像素图类型设计的补充

以矩阵图类型和像素图类型作为图像类数据的基础,但在使用过程中有个问题:矩阵图形和像素图形的尺寸---长和高没有表现出来,本贴对此做出分析.

2025-03-25 23:39:02 1068

原创 数据类设计_图片类设计之9_图标类设计_C++实战_(前端架构)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容注意:第一步在外面把图形混合了,就是除了箭头和字符的那部分,不管用多少次build_in,他会得到一个Pixel_pic对象,将其传入resource里.//快捷方式图标类//像素图,结果---核心属性//构造函数/限制10字符的文本输入//声明辅助矩阵类对象,就是外边框//生成混合器对象,工具类//把外面图形混合进去,硬编码50,50//把箭头从矩阵图形类对象转成像素图。

2025-03-24 23:16:51 1118

原创 数据类设计_图片类设计之8_自由图形类设计_(前端架构)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容自由图形类和前面的不规则图形类是差不多的,只不过当时举了一个字符的例子,算一个特例,现在让自由图形回到他最初的样子---像素图//自由图形类(像素图)定义//像素点集合//像素点类型定义short red;short blue;

2025-03-23 04:26:05 594

原创 数据类设计_图片类设计之7_矩阵图形类设计更新_实战之页面简单设计(前端架构)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容。

2025-03-20 13:59:42 1141

原创 数据类型设计的一般方法及数据结构的概念的一些整理

数据是程序中最重要的部分.探寻数据类型设计的通用写法,以及对数据结构的概念做一些整理.

2025-03-18 19:28:25 284

原创 编程思想:从图片类设计看程序结构,以及对图片类对象的展望

不管是学习,还是创造,都得反复总结,得到解决某个或者某类问题的一般方法,那么下次遇到同样的问题就是信手拈来.

2025-03-16 21:44:28 998

原创 数据类设计_图片类设计之6_矩阵图形类设计(前端架构)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容。

2025-03-15 20:33:45 473

原创 数据类设计_图片类设计之5_不规则类图形混合算法(前端架构)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容。

2025-03-13 17:48:11 326

原创 数据类设计_图片类设计之4_规则类图形混合算法(前端架构)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容。

2025-03-12 21:41:46 897

原创 数据类设计_图片类设计之3_半规则图类设计(前端架构基础)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容什么是半规则图?笔者看见了一些似乎规则又不是太规则的图形,例如带圆角的矩阵,在页面上找一个圆角框为了看得清楚一点,自己画一个类似圆角矩阵的形状,win10搜索栏输入mspaint,打开自带画图软件,画一个下面的形状,并填充.在计算机中是如何表示的呢?尝试给出定义.`思考:类型定义也不是唯一的,找一种比较简洁的.圆角矩形和之前的矩阵类看起来也差不多,所以借鉴一下,用点的二维数组。

2025-03-11 17:31:53 519

原创 数据类设计_图片类设计之2_无规则图类设计(前端架构基础)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容前面的矩阵类,有明显的特征:长,宽,行和点等属性,再根据其属性定义点集合.无规则图就是图形中的点没有规律的,可以叫做散图或者点状图点的无序集合. 比如打开mspaint,随手涂鸦----上面是一些没有规则的线和点组成的图形首先,图形本身是点的无序集合,但计算机在描述这个点图时需要有顺序的,因为采用行扫描,每行应该有相应的点内容.前一篇帖子提到了基点。

2025-03-09 17:21:05 631

原创 数据类设计_图片类设计之1_矩阵类设计(前端架构基础)

学的东西多了,要想办法用出来.C和C++是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容。

2025-03-09 08:41:01 879

原创 面向对象中,编写类的一个解决思路

面向对象是一种编程思想,通过类和接口来实现.

2025-03-06 15:44:43 321

原创 数据在硬件和软件中的表示

每隔一段时间,都想小结一些心得.而对于数据的理解,是重点.

2025-02-19 07:15:51 671

原创 理解计算机系统_虚拟内存(二)缓存

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定缓存是本书第六章内容。他的大概意思是这样的:计算机所有数据都要由CPU寄存器处理,开始时寄存器直接向内存(主存)寻址,速度比较慢。后来计算机在设计时引入了多层次存储机制,在CPU寄存器往下设置了一,二,三级(也不一定就限定三级)缓存,再到主存。上层数据是下层的子集,上层容量小,速度快,下层容量大,速度慢。

2025-02-16 15:04:16 1209

原创 理解计算机系统_虚拟内存(一)概述

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定为了更加有效地管理内存并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存(VM).虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致和私有的地址空间(粗体字是原话)----

2025-01-21 09:10:13 608

原创 理解计算机系统_指令集浅析

指令集位于软件设计的最底层,对一个想写出好代码的程序员来说,也是应该有一定认识的.对于(以下称"本书")来说,理解CPU能做哪些事,是理解进程,虚拟内存,并发的基础.笔者认为稍有遗憾的是,如果本书穿插一些指令集方面的知识,后面的内容理解起来会更顺畅一些.当然人是活的,找寻相关内容,把他们之间的壁垒打通.

2024-11-16 07:58:00 1186

原创 理解计算机系统_异常控制流(一):异常

以(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定异常控制流概念的由来,先说说什么是"正常控制流" .代码经过编译后,程序计数器PC会按照指令序列一个个去依次执行.这种情形就叫做正常流在运作."流"可以看作一段编译后的代码或者程序.正常流是一个"平滑"的序列,没有跳转,调用和返回这样的指令.当然代码中的函数基本上都会有调用其他函数,所以正常流只能被看作是一个最基本的单元.

2024-10-28 19:44:25 862

原创 理解计算机系统_简述链接

以<深入理解计算机系统>(以下称“本书”)内容为基础,对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定。

2024-10-24 23:46:41 858

计算机体系结构中简单与复杂数据表示及指针操作解析

内容概要:本文深入探讨了计算机世界里的数据本质及其分类,特别是简单数据(如短整型)和复杂数据(集合),并详细介绍了数据在硬件和软件中的表示方式。首先阐述了简单数据的基本单位—地址和数值,并解释了32/64位机字长单元的意义以及简单数据操作的实际流程。接下来描述了如何利用集合与指针构建更为复杂的自定义数据结构,强调了指针的强大功能及其安全使用的注意事项。文中还提到了Java与C++语言间有关指针特性的一个有趣区别,并讨论了数据类型的重要性。最后,文章提及了一些编程细节,如正确进行数据命名的重要性,从而使得整个文章既涉及理论概念又紧密联系实际编程技巧。 适合人群:具有一定编程经验的学习者或开发者。 使用场景及目标:适用于正在探索计算机内部工作原理的人群;帮助初学者更好地理解和掌握关于低级别内存管理和高效编程方面的基础知识。 其他说明:虽然主要针对C/C++语言环境展开讨论,但很多思想也可以应用于其它现代编程语言。对于想要深入了解软硬件交互原理的人来说是非常有价值的参考资料。同时鼓励读者关注逻辑思维培养,在实践中体验规则所带来的美感。

2025-02-19

计算机系统:虚拟内存与缓存技术解析及其应用

内容概要:该篇文章深入探讨了虚拟内存与缓存技术的基础理论及其应用场景,首先详细解释了物理和虚拟寻址的不同及各自的优缺点。物理寻址采用真实的物理地址进行内存访问,主要应用于特定计算环境,而虚拟寻址则是借助内存管理单元(MMU)完成从虚拟地址到物理地址的转化。进一步地,文章重点介绍了缓存的作用机制和多层级缓存架构设计,强调为了优化性能,接近CPU的各级别缓存应存储经常使用的少量快速访问数据。另外,文章讲解了虚拟页面映射规则和虚拟内存管理的具体步骤和技术特点,并指出在计算机系统层面实施这些概念的好处——提升系统效率和服务质量。最后阐述了一些高级主题,如时间局部性和缓存替代算法。 适用人群:希望了解或者正在研究现代计算机系统内部工作机制的专业人士和学生,特别是关注虚拟内存和高性能计算的人群。 使用场景及目标:适用于想要深入了解计算机内存管理体系的学习者或开发者,帮助其掌握计算机组成原理中有关内存管理和高效利用的知识。同时,能够指导相关从业者进行合理的系统架构设计和技术选型决策。 其他说明:尽管内容涉及到一些较为复杂的技术细节,但总体表达力求简洁明了,并提供了许多实用的例子来辅助理解和应用这些关键概念。

2025-02-16

理解计算机系统-程序的机器级表示(三)算数和逻辑操作,leaq指令,栈帧分析

理解计算机系统-程序的机器级表示(三)算数和逻辑操作,leaq指令,栈帧分析

2024-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除