![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机基础
文章平均质量分 90
YoungYangD
喜欢读书、旅行的小男生,梦想是贩卖二手阳光。
展开
-
进程内存中堆和栈的区别
1、概述在整理数据结构时,整理过栈、队列和堆,但是在学习进程分布的时候又碰到了 栈和堆,初学时很容易把这几个概念给弄混,今天有空就给整理一下。2、程序在内存中的分布程序在内存中的分布如下图所示:1、栈(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈,先进后出的原则。2、堆(heap):由程序员手动分配释放,若不释放,在程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式类似于链表(内存池)。3、未初始化数据:未初始化的全局变量和原创 2021-04-14 20:27:17 · 1988 阅读 · 0 评论 -
netstat 的详解
1、概述最近在调试一个网络方面的程序,用到了netstat感谢大家,我是假装很努力的YoungYangD(小羊)。参考资料:https://baike.baidu.com/item/Netstat/527020?fr=aladdin原创 2020-08-07 15:09:00 · 5888 阅读 · 0 评论 -
浮点数在内存中的存储
1、IEEE浮点标准根据IEEE的标准,任意一个浮点数V可以用下面的公式来表示:V = (-1)s * 2e * Ms – 符号,决定是正数还是负数E – 阶码,对浮点数的加权,权重是2的E次幂(可能是负数)M – 尾数,一个二进制小数,它的范围是0至1,或者1到2(后面进行说明)将浮点数的位划分为三个段,分别对应上述公式中的3个变量。s位一个单独的符号位k位的阶码字段 exp,用来编码En位小数字段 frac,用来编码M,但编码出来的值也依赖阶码字段是否等于0从上图可知:单原创 2020-05-15 15:59:33 · 254 阅读 · 0 评论 -
存储器层级结构
1、概述存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。每一层于下一层相比都拥有较高的速度和较低延迟性,以及较小的容量。存储器层次结构,对应用程序的性能有着巨大的影响。理解系统是如何将数据在存储器层次结构中上下移动,可写出更符合系统运行的应用程序,运行更快。2、存储器的层次结构存储器的层次结构图如下所示:从顶层往底层走,存储设备变得更慢、更便宜和更大。在最高层L0,是少量快速的CPU寄存器,CPU可在一个时钟周期内访问它们。接下来是一个或多个基于SRAM的高速缓存,可在几个时钟原创 2020-05-13 18:36:56 · 4510 阅读 · 0 评论 -
虚拟内存
1、概述转眼到了 6 月底,最近学习出现了懈怠,书看的少了,有的书只翻了开头又放下了,博客中对知识的梳理也慢慢的减少了。一来是因为最近感觉压力比较大,二来确实是思想出现了松动,最近意识到了这个问题,需要把该读的书继续捡起来读,知识还是继续进行梳理,坚持努力的前行。好了咱们言归正传,最近几篇文章对虚拟内存进行一个整理。为了更加有效的管理内存并且减少出错的可能,现代系统提供了一种对主存的抽象概念,...原创 2020-05-13 18:30:56 · 611 阅读 · 0 评论 -
半导体存储器
1、概述用半导体集成电路工艺制程的存储数据信息的固态电子器件,简称半 导体存储器。它由大量相同的存储单元和输入、输出电路构成。每个存储单元有两个不同的表征态“0”和 “1”,用以存储不同的信息。同磁性存储器相比,半导体存储器具有存取速度快、存储容量大、体积小等优点。2、分类半导体存储器通常按功能分为 只读存储器 ROM(Read Only Memory)和 随机存储器RAM(Random Access Memory)。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据原创 2020-05-12 18:52:27 · 1649 阅读 · 0 评论 -
忘记虚拟机中 ubuntu登录密码的解决办法
最近工作又使用到了虚拟机,但是我的虚拟机因为长时间的不登录,已经忘记了密码,尝试了好多密码但是不成功。因为虚拟机中环境都已经布置好了,不想在重新布置一遍,所以就想到进入 root,修改密码。这里对整个流程进行整理,以后忘记密码,直接按照这个教程来搞定~1、重新启动 Ubuntu 系统,同时长时间按住(或连续点击) Esc 键,进入 GRUB 菜单,如下所示:2、选择 “Advanced O...原创 2019-06-04 21:11:10 · 13556 阅读 · 19 评论 -
深入理解计算机系统:链接(第三章:动态链接、运行时加载共享库、库打桩)
1、概述前面整理了,静态连接库、可重定位目标文件、可执行文件等,还有动态库的部分没有整理。今天就把欠的账给补上。静态库前面整理了很多,但是它有明显的缺点:其一是如果静态库更新,则使用它的用户也需要跟着更新;其二如果多个程序都使用这个静态库,那么需要把静态库的内容复制到程序中,造成了系统资源的浪费。为了解决这个问题,而产生了共享库。2、共享库(动态连接库)共享库是为了解决静态库缺陷的一个现代...原创 2019-03-31 22:40:30 · 1111 阅读 · 0 评论 -
深入理解计算机系统:链接(第二章:符号解析、重定位和可执行目标文件)
1、符号解析链接器解析符号引用的方法是将每个引用与它输入的可重定位目标文件的符号表中的一个确定的符号定义关联起来,即使用的符号一定要找到相应的定义。可分为局部符号解析和全局符号解析。局部符号解析:引用定义在相同模块中的局部符号的引用,符号解析非常的简单明了,就不用介绍了。全局符号解析:当编译器遇到一个不是当前模块中定义的符号时,会假设该符号时在其他某个模块中定义的,生成一个连接器符号表条目,...原创 2019-02-17 21:52:10 · 1853 阅读 · 0 评论 -
深入理解计算机系统:链接(第一章:综述)
1、概述链接 是将 各种代码和数据片段收集并组合 成一个 单一文件 的过程,这个而文件 可被加载(复制)到内存并执行。链接可以执行于编译时,也就是在源代码被翻译成机器代码时;也可以执行于加载时,也就是在程序被加载器加载到内存并执行时;甚至可以执行于运行时,也就是由应用程序来执行。早期的计算机中,链接是手动执行的。在现代系统中,链接是由叫做链接器的程序自动执行的。链接器在软件开发中扮演着一个关键...原创 2019-01-22 22:44:43 · 385 阅读 · 0 评论 -
计算机系统漫游第二篇
昨天对系统漫游进行了部分整理,还有一些剩余部分,今天就对它进行整理。1、操作系统管理硬件当shell加载和运行程序时,shell 和 程序 都没有直接访问键盘、显示器、磁盘或者主存。取而代之的是,它们依靠 操作系统 提供的服务。操作系统 可以看成是应用程序和硬件之间插入的一层软件。所有的应用程序对硬件的操作都必须通过操作系统。如下图所示:操作系统有两个功能:防止硬件被失控的应用程序滥用...原创 2019-01-13 14:30:41 · 204 阅读 · 0 评论 -
计算机系统漫游第一篇
1、概述对于电脑中的程序我们都会简单的使用,但是对于程序是怎样在电脑中运行的,我们知道的很少。当然,如果没有从事程序员的工作,不知道也无妨,但是如果你是一个程序员,知道程序运行的底层逻辑是由必要的。主要有以下几个方面的原因:优化程序性能通常编译器可以生成很好的代码,但那是基于程序员书写的代码的。如果你了解switch和if-else那个更高效,函数调用的开销,while循环与for循环的...原创 2019-01-12 23:27:33 · 190 阅读 · 0 评论 -
位运算技巧第一篇
1、概述在计算机中,所有的数据都是以二进制方式存储的。位运算就是对内存中的二进制数据进行操作,因此处理数据的速度非常快。如果在实际的编程过程中,能够巧用位运算,能够达到四两拨千斤的效果。下面就对位操作进行一下总结,示例代码为C++。2、位操作基础基本的位操作有与、或、异或、取反、左移、右移这六种,他们的运算规则如下:注意以下几点:1、只有~(取反)操作是单目运算符,其它5种都是双目运算...原创 2019-01-06 12:53:07 · 1206 阅读 · 0 评论 -
IT界的经典定律
概述IT有很多的定律,不仅在揭示IT行业的发展规律,而且还说明了一些人生道理。我们要了解这些规律,利用这些规律,懂的顺势而为。下面就整理一下,我所知道的一些IT经典定律。1、摩尔定律摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)经过长期观察发现并提出的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍...原创 2018-12-14 20:02:33 · 840 阅读 · 0 评论 -
大端和小端的含义及判断代码
1、概述在计算机系统中,数据都是以字节进行存储的,每个地址单元对应一个字节,每个字节都是8位(bit)。但是C++除了char和bool之外,还有其它多字节类型。怎样存储多字节的数据就分为了大端和小端。字节序只和使用的处理器架构有关,和编程语言无关,常见的Intel系列是小端序。2、大端和小端大端模式(Big-endian):数据的高位字节保存在内存的低地址中,而数据的地位字节保存到内存的高...原创 2018-11-27 21:08:11 · 3925 阅读 · 0 评论 -
Unicode编码和多字节编码的区别,及转换代码
概述在平时写代码的处理字符串的过程中,老是碰见乱码的问题,具体原因呢前面的文章我已经解释了,但是还有一部分小的问题没有解决。比如下面的几个问题:VS项目属性里面的字符集选择Unicode和多字节字符集的不同写代码时宽字节wchar_t、_T、TCHAR等是啥意思使用不同字符集的字符串之间转换1、VS项目属性不同字符集的区别首先介绍一下单字节字符集:顾名思义,单字节字符集就是用一个字...原创 2018-11-19 21:21:39 · 2792 阅读 · 0 评论 -
字符集与字符编码详解
概述首先来说几个概念:字符:是各种文字和符号的总称,包括国家文字、标点符号、图形符号、数字等。字符集:是多个字符的集合。常见字符集有:ASCII、GBK、BIG5、Unicode等。我们知道在计算机的世界里,所有的东西最终都表示为二进制的比特流。一个二进制叫做位,8位成为“字节”,根据计算一个字节一共可组合出256(2的8次方)种不同的状态。在计算机存储字符时,就需要对字符进行编码,字符...原创 2018-11-14 21:32:08 · 1419 阅读 · 0 评论