计算机基础
文章平均质量分 87
萤火架构
程序员,AI探索者。+V: yinghuojun007
展开
-
HTTPS对于网站到底价值几何?
现在HTTPS基本上已经是网站的标配了,很少会遇到单纯使用HTTP的网站。但是十年前这还是另一番景象,当时只有几家大型互联网公司的网站会使用HTTPS,大部分使用的都还是简单的HTTP,这一切是怎么发生的呢?原创 2024-05-08 12:34:14 · 863 阅读 · 0 评论 -
GET和POST请求到底有什么区别?
在计算机网络世界中,HTTP是开发者们会频繁接触的一个应用层通信协议,其中的Get和Post方法更是像吃饭、喝水一样不可或缺,不过很多同学却对它俩有些误解,或者说没有真正理解HTTP。比如GET请求没有POST请求安全,因为Get请求的参数都暴露在URL上了,任何人都能看见;而POST请求的数据被封装了起来,看起来更安全。还有同学可能会认为GET只能用来获取数据,POST只能用来提交数据;但实际上这些都是误解。HTTP请求方法的设计初衷并不是围绕“安全性”来设计的,而是为了表达不同类型的动作和意图。原创 2024-04-19 12:24:38 · 914 阅读 · 0 评论 -
TCP和UDP可以使用同一个端口号吗?
TCP和UDP可以使用同一个端口号吗?首先说答案:可以。怎么理解呢?我想这个问题要从计算机网络通信谈起,学过计算机网络的同学,可能都还记得7层或者4层网络模型,TCP/UDP属于其中的传输层协议,在传输层之下是网络层,网络层主要通过IP协议来进行通信,这也是我们日常程序开发中能够接触到的最底层了,再往下的数据链路层和物理层就不是我们这些普通程序员需要关心的了。原创 2024-03-05 12:32:34 · 1425 阅读 · 0 评论 -
差分信号:一种提高信号传输质量的神奇方式
差分信号是一种非常有效的信号传输方式,它具有很强的抗干扰能力,能有效抑制电磁干扰,且时序定位准确。虽然它有一些布线上的限制,但这并不影响它在许多应用中的广泛使用。原创 2024-02-04 13:35:46 · 3070 阅读 · 0 评论 -
一文掌握磁盘分区全知识:为何分区、分区种类及分区表的选择
磁盘分区就像是我们整理衣柜或者设计户型图,通过合理的划分和管理,可以让我们更高效地使用计算机,同时也可以保护我们的数据安全。所以,理解和掌握磁盘分区的知识,对于我们来说是非常重要的。原创 2024-01-31 12:09:21 · 2656 阅读 · 0 评论 -
NUMA架构:CPU和内存性能瓶颈的终结者!
NUMA架构:CPU和内存性能瓶颈的终结者!原创 2024-01-30 19:18:01 · 2735 阅读 · 0 评论 -
系统调用:计算机中的“服务员”
想象一下,你在一家餐厅就餐,你需要通过服务员来点菜、支付等。系统调用就像是这个服务员,它在软件和操作系统之间起到了桥梁的作用。当软件需要操作系统提供的某项服务时,它就像顾客一样,通过点菜(调用API)来告诉服务员(系统调用)它的需求。本质上,系统调用就是用户程序与操作系统之间的接口程序。原创 2024-01-29 08:15:08 · 411 阅读 · 0 评论 -
程序执行原理揭秘:你的代码是如何“跑”起来的?
程序执行原理揭秘:你的代码是如何“跑”起来的?程序的执行就像是我们写书和阅读书的过程。我们首先需要准备好我们的手稿,然后通过编译、汇编和链接,把我们的手稿变成一本可以阅读的书。然后,我们就可以开始阅读这本书,从中获取知识和信息。原创 2024-01-26 08:00:29 · 519 阅读 · 0 评论 -
UEFI:为什么它能够替代BIOS成为新的标准?
由于缺乏标准,不同的BIOS可能会有不同的实现方式,这就使得硬件制造商需要为不同的BIOS提供不同的驱动程序,增加了开发的复杂性。但是,由于传统的BIOS仍然基于8086的1M实模式,这就意味着新的处理器在启动过程中,必须首先进入1M实模式,然后再切换到保护模式或者长模式,才能访问更大的内存空间。最后,UEFI还有许多其他的优点,比如没有1M情节,可以通过GPT分区格式使用超过2TB的磁盘分区,有图形界面,交互体验好,可以实现安全引导,可以在UEFI UI界面和用户操作系统中更改启动配置等。原创 2024-01-22 08:27:54 · 928 阅读 · 0 评论 -
进程间协同:从进程启动、同步与互斥到进程间通信
iOS更注重安全,每个应用都运行在自己的沙箱(sandbox)环境中,它们之间是相互隔离的,这样可以保证应用的安全性,防止恶意应用访问其他应用的数据。Semaphore的工作原理是,Semaphore内部维护一个计数器,当一个进程需要访问某个资源时,首先执行P操作,如果计数器的值大于0,则计数器的值减1,该进程可以访问资源;网络套接字是一种可以跨网络进行通信的方式,它可以让不同的机器上的进程进行通信,开发人员经常谈到的TCP、UDP,以及更上层的Http、FTP等,都是这种方式。原创 2024-01-21 22:24:07 · 881 阅读 · 0 评论 -
进程内协同:原子操作、互斥、同步和通信的原理
进程内协同,简单来说,就是在一个进程内部,多个执行体(如线程、协程)如何共享资源,如何协同工作以完成一项任务。这涉及到一系列的机制和技术,包括原子操作、互斥、同步和通信等。那么,为什么我们需要了解进程内协同呢?首先,了解进程内协同可以帮助我们更好地理解并发编程。在多核处理器和多线程技术广泛普及的今天,如何有效利用并发资源,提高程序的性能,已经成为了程序员必备的技能。而进程内协同,就是并发编程的核心。其次,了解进程内协同可以帮助我们编写出更稳定、更高效的程序。原创 2024-01-21 22:21:17 · 1071 阅读 · 0 评论 -
揭秘程序栈:你的代码在幕后是怎么运行的?
程序栈是程序运行的重要基础,它解决了函数调用和资源管理的问题。理解程序栈的工作原理,可以帮助我们更好地理解程序的运行过程,也有助于我们编写出更高效的代码。希望本文的内容,能帮助你对程序栈有更深入的理解。原创 2024-01-19 08:15:10 · 997 阅读 · 0 评论 -
什么是CPU异常和中断?
当你的电脑正在运行一个程序,突然你按下了键盘上的某个键,或者进行的加法运算结果溢出了,这时,CPU需要暂停正在做的事情,先去处理这个突然出现的事件。这些情况就是本文要谈的主题:CPU的异常和中断。异常和中断就好像你正在做一件事情,但突然有人叫住你,让你去做另一件事情。你不得不停下手头的工作,处理那个突然出现的事情。在这个过程中,你可能需要记住你正在做的事情到哪一步了,以便待会儿可以接着做。这就是CPU异常和中断的基本概念。什么是“加法运算溢出”?原创 2024-01-18 18:51:37 · 1088 阅读 · 0 评论 -
让代码运行得更快:深入理解进程、线程和协程
在深入探讨进程、线程和协程之前,我想先介绍下执行体这个概念。执行体这个词语是我从七牛云创始人许式伟大佬的专栏中学到的,它代表操作系统中程序执行的载体,涉及到计算资源的分配、访问权限的控制等方面。我们经常提到的进程、线程和协程就是三种不同的执行体。我们在谈论具体的某种执行体前,首先需要认识到各种执行体出现的根本原因,那就是提高CPU和内存的利用效率。如果我们不定义相应的执行体,CPU和内存就会被浪费掉,这对于计算机的性能是极大的浪费。原创 2024-01-18 18:49:34 · 881 阅读 · 0 评论 -
为什么线程sleep时的时间不准确?
在我们日常编程的过程中,经常会遇到一个问题:线程的sleep时间似乎并不像我们想象的那样准确,比如我们让线程sleep 100ms,实际sleep的时间经常是大于这个时间的。那么,为什么线程的sleep时间不准确呢?让我们来一探究竟。原创 2024-01-16 12:32:57 · 943 阅读 · 0 评论 -
一文搞懂操作系统的内存管理
本文让我们一起来了解下操作系统的内存管理。原创 2024-01-16 12:28:57 · 1009 阅读 · 0 评论 -
揭秘小米手机被疯狂吐槽的存储扩容技术
前段时间,在小米14的发布会上,雷布斯公布了名为“Xiaomi Ultra Space存储扩容”的技术,号称可以在512G的手机中再搞出来16G,256G的手机中再搞出8G。对于普通用户来说,能多得一些存储空间,无异是个很好的福利,不过也有网友说这是以损害存储使用寿命为代价的,那么真相到底如何呢?这篇文章我就从技术角度来给大家详细分析下。原创 2024-01-15 08:14:51 · 1531 阅读 · 0 评论 -
从CISC到RISC-V:揭开指令集的面纱
对于大多数同学来说,计算机或智能手机的运行似乎就像魔法一样神奇。你可能知道它们内部都是一些复杂的电子组件,比如CPU、内存等等,但这些组件是如何协同工作,让我们可以在电脑上打字,或者在手机上看视频呢?实际上,这一切都归功于一种名为“指令集”的神秘语言。今天,我们就一起揭开这种神秘语言的面纱,感受一下它的魅力所在。指令集是计算机硬件和软件之间交互的桥梁,它定义了计算机硬件可以执行的操作,比如各种逻辑判断、数学运算。常见的指令集包括CISC、RISC、RISC-V等,它们其实是计算机CPU的各种设计思路。原创 2024-01-15 08:11:26 · 1336 阅读 · 0 评论 -
x86是什么?
16位系统的地址总线和数据总线均为16位宽,因此其最大可寻址空间为2^16(即64KB),可进行的最大计算位数为16位。RISC(Reduced Instruction Set Computer)处理器的设计目标是提供高效的指令执行速度和较低的功耗,以应对移动设备的需求。这一技术被称为x86-64或x64,它在保持与原有x86指令集兼容性的基础上,引入了更大的内存寻址空间和更高的计算速度。从最初的16位系统到现在广泛使用的64位系统,计算机的性能和可扩展性得到了极大的提升。原创 2024-01-13 14:49:41 · 821 阅读 · 0 评论 -
超越GPU:TPU能成为接班人吗?
TPU全称为Tensor Processing Unit,是一种张量处理器,属于一种ASIC。张量在物理学和数学上有着广泛的应用,它经常被用来表达几何性质和物理规律。对于初次接触张量这个概念的同学,应该完全不知其所云,我这里简单介绍下。大多数同学应该都听说过或接触过向量或者矩阵,在编程中向量可以使用一维数组表达,矩阵可以使用二维数组来表达,那么张量呢?它是多维数组。张量处理器就是专门用来进行多维数组运算的专用处理器,当然用它来搞搞矩阵、向量和单个数字的运算也完全没有问题,因为向量、矩阵都是张量的子集。原创 2024-01-13 14:45:24 · 1266 阅读 · 0 评论 -
图灵机:计算机科学的奠基之作
图灵机,这个名字听起来很神秘,但它其实就是一种抽象的计算机模型。它可以解决任何可计算的问题,虽然没有严格的证明,但是这已经被广大科学家所接受。那么,什么是可计算的问题呢?简单来说,就是存在某个算法,使用任何输入参数都能得出答案。比如“1+1=?”,或者“1原创 2024-01-12 19:56:46 · 916 阅读 · 0 评论 -
微内核、宏内核、混合内核,三者到底有什么区别?
操作系统内核,你可以把它想象成一个繁忙城市的交通指挥系统。就如同交通指挥系统管理着城市的道路、桥梁和交通信号灯,以确保交通顺畅,内核同样管理着计算机的各种硬件资源,如处理器、内存、硬盘等,以保障操作系统的正常运行。而当我们谈到进程管理和文件系统管理时,这就像是交通指挥系统要确保各个方向的车辆能按照规定的路线行驶,防止交通混乱。总的来说,内核就像是交通指挥系统的角色,它在幕后默默工作,确保计算机的硬件资源能有序、高效、安全地服务于各种上层应用程序。内存管理:内存管理是操作系统内核的一项基本任务。原创 2024-01-11 19:13:59 · 2542 阅读 · 0 评论 -
localhost和127.0.0.1的区别是什么
今天在网上逛的时候看到一个问题,没想到大家讨论的很热烈,就是标题中这个:localhost和127.0.0.1的区别是什么?前端同学本地调试的时候,应该没少和localhost打交道吧,只需要执行 npm run 就能在浏览器中打开你的页面窗口,地址栏显示的就是这个 http://localhost:xxx/index.html可能大家只是用,也没有去想过这个问题。联想到我之前合作过的一些开发同学对它们俩的区别也没什么概念,所以我觉得有必要普及下。原创 2024-01-07 22:40:21 · 1006 阅读 · 0 评论