计算机系统
文章平均质量分 71
计算机系统
Quan略略略
君子爱色取之有道
展开
-
【计算机】可信平台模块Trusted Platform Module - TPM
引述:什么是Boot Guard?电脑启动中的信任链条解析 - 知乎“无事可干”的黑客们早已经把目光从操作系统转移到固件上了,毕竟一旦攻破了固件的大门,那么在其上的操作系统也会门户洞开。现在电脑或者x86服务器系统中固件众多: UEFI在其中居于中间地位,它的安全性也是重中…原创 2022-11-29 15:20:24 · 3311 阅读 · 0 评论 -
【计算机网络】以太网供电PoE - Power over Ethernet
PoE was firstly introduced by Cisco in 2000s for their IP phones, and it was called Cisco Inline Power at that time. (POE最初由思科在2000年代为自家的IP电话供电发明,期初叫做Cisco Inline Power)重要名词缩写:PD: Powered Device 指被供电设备,如IP电话、AP、照明灯等。原创 2022-11-25 15:27:32 · 2398 阅读 · 0 评论 -
【计算机】32位和64位系统代码兼容
代码为了兼容32位MCU和64位PC机(例如PC上运行UI模拟器,PC上的UI代码需要可以在MCU上无修改直接编译运行),需要注意在64位的PC上,指针的长度是8个字节,计算机的字长可以使用:sizeof(long)或者sizeof(void *)来计算。如果需要分配一个指针的内存空间,不能直接分配4字节,而是分配字长的字节数。另外,进行指针的强制类型转换获取指针的值的时候,需要注意不要用 uint32_t 这样的32位类型进行强制装换指针,可能会丢失数据。 realloc(sizeof(test)原创 2021-12-02 11:23:16 · 961 阅读 · 0 评论 -
【计算机】MBR GRUB
参考文章:主引导目录(MBR)结构及作用详解MBR 也就是主引导记录,位于硬盘的 0 磁道、0 柱面、1 扇区中,主要记录了启动引导程序和磁盘的分区表。我们通过图 1 来看看 MBR 的结构。 图 1 MBR的结构 MBR 共占用了一个扇区,也就是http://c.biancheng.net/view/1015.htmlgrub原理及使用详解_终身学习的程序猿-CSDN博客_grubgrub原理及使用详解转载请注明出处:http://blog.csdn.net/rosetta 实验环境V...原创 2021-10-16 12:54:14 · 407 阅读 · 0 评论 -
【计算机】ABI and EABI
参考维基百科文章:Application binary interfacehttps://en.wikipedia.org/wiki/Application_binary_interfaceABI全称Application binary interface,和API(Application programming interface)的概念很像,都是规定了不同软件模块之间的调用规范(接口)。不同的是API是规定在较高的源码层的调用规范,而ABI是定义在CPU硬件层的规范。API可以由应用开发程序员设原创 2021-10-13 14:42:27 · 409 阅读 · 0 评论 -
【OS】Microkernel and Monolithic kernel
参考文章,介绍微内核操作系统概念:操作系统微内核介绍https://zhuanlan.zhihu.com/p/364429755下面这篇文章是将微内核和宏内核的概念放在应用软件开发中去的,微内核架构的软件支持插件的形式扩展软件功能:什么是微内核架构_春哥大魔王的博客-CSDN博客什么是微内核架构相信大家都听说过微内核架构,也或多或少做过一些类似于微内核架构的设计,为了可以更好的设计出微内核的架构,我们了解下什么是微内核架构。说到微内核架构,大家首先会想到的是Ecl...https://blog.cs原创 2021-10-12 10:36:13 · 232 阅读 · 0 评论 -
【计算机网络】家用路由器的NAT模式和路由模式
参考视频:https://haokan.baidu.com/v?vid=17283785740956069571&pd=bjh&fr=bjhauthor&type=video参考文章:https://hsk.oray.com/news/5952.html家用上网一般都是使用的路由器NAT模式,NAT(Network Address Translation)就是把内部私有网络地址转换成合法外部网络地址。家庭用户发出的网络请求都会被NAT路由器将数据帧的源地址(内部地址)转换原创 2021-07-16 10:33:33 · 6569 阅读 · 0 评论 -
【计算机】ELF文件和BIN文件
原文:http://blog.chinaunix.net/uid-24148050-id-362928.html文件的内容:1. BIN文件是 raw binary 文件,这种文件只包含机器码。BIN文件中的所有数据都是机器可以执行的指令码、指令参数或者常量数据,不包含其它调试信息。单片机中烧写的都是bin文件。2. ELF文件除了机器码外,还包含其它额外的信息,如段的加载地址,运行地址,重定位表,符号表等。ELF文件相当于是对bin文件的一个包装和解释,不仅仅包含程序的机器码,还包含加载.转载 2021-03-26 15:49:56 · 3262 阅读 · 0 评论 -
【计算机】What is Rendering?
皮克斯动画的教程:https://www.khanacademy.org/computing/pixar/rendering/rendering1/a/start-here-renderingHave fun!(非专业解释)Rendering(渲染)是使用摄像机(眼镜)从某一特定角度和距离观察(拍照)一个3D或者2D场景(计算机中创建的模型),得到一幅映射到二维画面并展现在显示器上。其中包含了大量的数学运算,需要考虑物体的颜色、材质、光的反射、折射等很多因素。渲染可以是反向推算,从观察点出发进行光线的.原创 2020-09-07 11:32:58 · 407 阅读 · 0 评论 -
【计算机数学】神奇的傅里叶变换
两个手机,第一个安装“Frequency Sound Generator” APP,用于生成不同频率的声音,这里我生成了1000Hz、500Hz、200Hz:第二个手机安装“音频分析仪” APP,用第二个手机听第一个手机的声音:可以看到200Hz、499Hz、1000Hz处的值很高,其它位置的位环境杂波。...原创 2020-03-11 18:17:15 · 1180 阅读 · 0 评论 -
Notpad去除行尾空格
Linux内核代码风格中提到“选用一个好的编辑器,不要在行尾留空格”,可能是为了节省存储空间也为了加快编译器的编译速度,Notepad上有这个功能:宏 -> Trim Trailing and save这个宏就将每行的尾部空格都去掉并保存,可以在管理快捷键菜单中选择Macros选项卡将宏Trim Trailing and save改成其他快捷键,例如可以将其改成Ctrl+S,将main m原创 2017-08-24 10:13:41 · 6421 阅读 · 2 评论 -
Notepad默认使用Unix编码格式
由于Windows下的换行和Unix下的换行符不同,在Windows下编辑的程序在linux下查看的话会在每行的最后出现“^M”符号,这其实是“\r”,Windows下换行是“\r” + “\n”,而linux下是“\n”没有“\r” ,所以“\r” 会被单独处理显示出来。如果想要使用Notepad将Windows风格的文件转成Unix风格的可以:编辑 -> 档案格式转换 -> 转为XXX原创 2017-08-24 09:35:59 · 9318 阅读 · 0 评论 -
Websocket协议的学习、调研和实现
转自:http://www.cnblogs.com/lizhenghn/p/5155933.html1. websocket是什么Websocket是html5提出的一个协议规范,参考rfc6455。websocket约定了一个通信的规范,通过一个握手的机制,客户端(浏览器)和服务器(webserver)之间能建立一个类似tcp的连接,从而方便c-s之间的通信。在webso转载 2017-06-08 15:08:00 · 505 阅读 · 0 评论 -
了解WEBSOCKET是什么
作者:Ovear链接:https://www.zhihu.com/question/20215561/answer/40316953来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1转载 2017-06-08 13:49:47 · 346 阅读 · 0 评论 -
集线器、交换机和路由器
优秀文章推荐:https://www.youtube.com/watch?v=1z0ULvg_pW8, 引用文中的一段总结:“Hubs and Switches are used to create networks. Routers are used to connect networks.”集线器和交换机是用于构建网络的,而路由器是用于连接不同网络的(现在的路由器也拥有构建网络的功能)。1...原创 2019-04-29 17:53:56 · 7355 阅读 · 0 评论 -
UDP打洞过程
client-A client-B server-C目的:A想跟B通信1:A与C通信 C获取A的外网IP及端口2:B与C通信 C获取B的外网IP及端口3:A给C获取到B的IP端口发消息(被丢弃)4:B给C获取到A的IP端口发消息(被丢弃)5: 之后A跟B就能直接通信了原创 2017-06-02 15:47:12 · 521 阅读 · 0 评论 -
计算机中的「魔数」(magic number)
摘自wikipedia:https://en.wikipedia.org/wiki/Magic_number_%28programming%29#ExamplesIn computer programming, the term magic number has multiple meanings. It could refer to one or more of the follow原创 2017-09-06 15:19:19 · 3899 阅读 · 0 评论 -
MAC和PHY接口介绍
简介MII是英文Medium Independent Interface的缩写,翻译成中文是“介质独立接口”,该接口一般应用于以太网硬件平台的MAC层和PHY层之间,MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XLAUI等。下面对它们进行一一介绍。 MII接口转载 2017-08-30 09:45:23 · 15971 阅读 · 0 评论 -
TCP/IP协议族的体系结构、数据格式及传输过程
原文地址:http://blog.sina.com.cn/s/blog_4c0b7a1b0100gyux.html1. TCP/IP协议族的体系结构图1的右边是TCP/IP的体系结构,可以看出TCP/IP不是一个单独的协议,而是由多个协议组成的协议族,这些协议从高到低分四层,分别规定了满足网络用户需求的应用层协议、信息传输层协议、网络互联层协议以及面向物理链路的网络接口层协议。图1的左...转载 2019-02-27 15:57:48 · 2349 阅读 · 0 评论 -
USB协议简述
参考文章:https://blog.csdn.net/charliewangg12/article/details/77896762、https://www.jianshu.com/p/3afc1eb5bd32一、前言USB通用串行总线(Universal Serial Bus)在计算机系统中使用的很广泛,相比较RS232、RS485、CAN总线而言,USB的协议层比较复杂,但是物理层的原...原创 2019-05-13 14:31:28 · 1640 阅读 · 0 评论 -
ARP缓存表过期问题
两台 相同IP地址 的主机A、B和一台IP不同的嵌入式主机C通过局域网络进行通信,A和B不同时连接到交换机/路由器。发现其中任意一台主机先和嵌入式计算机C通讯,然后断开这台主机的物理连接,连上另一台主机到网络,这时候另一台主机和嵌入式主机C之间就会出现嵌入式主机C无法发送数据到后连主机的情况,但是该主机可以发送数据给嵌入式主机C。这是由于ARP缓存表的问题。由于两台主机A和B的IP相同,但是两...原创 2019-06-06 17:43:14 · 6064 阅读 · 1 评论 -
什么是回调(Callback)函数
回调函数参考:http://www.zhihu.com/question/198011311、“你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数原创 2016-11-22 18:34:07 · 891 阅读 · 0 评论 -
什么是原语?
原语通常由若干条指令组成,用来实现某个特定的操作。通过一段不可分割的或不可中断的程序实现其功能。原语是操作系统的核心,它不是由进程而是由一组程序模块所组成,是操作系统的一个组成部分,它必须在管态(一种机器状态,管态下执行的程序可以执行特权和非特权两类指令,通常把它定义为操作系统的状态)下执行,并且常驻内存,而个别系统有一部分不在管态下运行。原语和广义指令都可以被进程所调用,两者的差别在于原语有不可原创 2016-11-27 23:20:13 · 7312 阅读 · 1 评论 -
内存分配的几种方式Stack, Heap, Pool
内存分配的几种方式Stack, Heap, Pool引述1:http://www.tuicool.com/articles/BvQrUvzThree WaysThe figure below shows three ways of allocating memory from within a C++ application: stack, heap, custom written原创 2016-11-22 18:41:01 · 1602 阅读 · 0 评论 -
C语言编译过程
1. 预处理(Preproceessing)预处理的过程主要处理包括以下过程:将所有的#define删除,并且展开所有的宏定义处理所有的条件预编译指令,比如#if #ifdef #elif #else #endif等处理#include 预编译指令,将被包含的文件插入到该预编译指令的位置。删除所有注释 “//”和”/* */”.添加行号和文件标识,以便编原创 2016-11-22 18:38:48 · 569 阅读 · 0 评论 -
FAT32文件系统解析
文件系统(File System)是计算机系统必不可少的组成部分,可以说除了部分结构简单的单片机系统之外,文件系统是支撑每一个计算机系统运行的最重要的支撑,无论是操作系统、应用程序、文档还是音视频都是基于文件系统的。所以由此可见文件系统在计算机上的重要地位。 嵌入式系统上有很多场合也需要使用大容量存储设备,这时候可以直接使用存储设备的读写API来进行数据的保存和读取,但是这样做的原创 2016-12-02 17:48:38 · 8348 阅读 · 0 评论 -
ANSI简介
ANSI是一种字符代码,为使计算机支持更多语言,通常使用 0x00~0x7f 范围的1 个字节来表示 1 个英文字符。超出此范围的使用0x80~0xFFFF来编码,即扩展的ASCII编码。为使计算机支持更多语言,通常使用 0x80~0xFFFF 范围的 2 个字节来表示 1 个字符。比如:汉字 '中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。不同的国家和地区制定转载 2016-11-30 09:36:03 · 864 阅读 · 0 评论 -
硬盘基本知识
原文地址:http://bbs.mydigit.cn/read.php?tid=331754硬盘的DOS管理结构 1.磁道,扇区,柱面和磁头数 硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇形的区 域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节转载 2016-11-29 16:56:57 · 441 阅读 · 0 评论 -
Boot Device简介
Boot Device:A device which can be used by host system firmware to assist in system configuration prior to the loading of operating system software. A non-boot device does not need to be functional u原创 2016-11-28 15:15:08 · 10891 阅读 · 0 评论 -
USB接口
USB标准接口有四根线,分别是VBUS电源线、GND地线、USBDM(USB Data Minus)数据负信号、USBDP(USB Data Positive)数据正信号,各种USB接头的原理图如下:常用的电脑上的那种是左边的A型母头,鼠标键盘使用的是A型公头,智能手机上的是Micro-B型母头,手机充电器使用的是Micro-B型公头,关于公母头如何区分可以参考人类交配标准,呲呲。连接头的引脚原创 2016-12-14 16:13:30 · 8921 阅读 · 2 评论 -
PHY芯片简介
原文:https://en.wikipedia.org/wiki/PHY_(chip)PHY is an abbreviation for the physical layer of the OSI model and refers to the circuitry required to implement physical layer functions.A PHY con翻译 2017-05-24 14:55:40 · 5900 阅读 · 0 评论 -
YV12格式介绍
YV12所有 Y 样例都会作为不带正负号的 char 值组成的数组首先显示在内存中。此数组后面紧接着所有 V (Cr) 样例。V 平面的跨距为 Y 平面跨距的一半,V 平面包含的行为 Y 平面包含行的一半。V 平面后面紧接着所有 U (Cb) 样例,它的跨距和行数与 V 平面相同(图 12)。原创 2017-04-18 13:42:10 · 5517 阅读 · 0 评论 -
视频文件格式和视频编码方式的区别
原文地址:https://wenku.baidu.com/view/b2ebd7e44afe04a1b071deaa.html 目前网上的各种视频格式可以说是泛滥成灾,加上各个PMP(Portable Media Player,便携式媒体播放器)生产厂家的对自己产品在功能方面的炒作,使得很多人对视频格式的名称都是一头的雾水。 经常有些童鞋问我类似下面的问题。 A问我说:“我的转载 2017-03-22 15:55:28 · 2756 阅读 · 1 评论 -
一个最简单的加密解密算法(人人能懂)
原文:http://blog.csdn.net/stpeace/article/details/8294980 点击打开链接[cpp] view plain copy#include // KEY 非常重要,不能对公众泄露KEY值 // 发送端和接收端提前秘密约定好KEY值 #define KEY 1313113 //转载 2017-03-28 11:33:18 · 5641 阅读 · 0 评论 -
分不清ARM和X86架构,别跟我说你懂CPU!
转自:https://mp.weixin.qq.com/s/Ez72nzSikDkcRuIww-GQyg随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,但是如果你再问他知道ARM和X86架构么?这两者的区别又是什么?绝大多数的人肯定是一脸懵逼。今天小编就带你深入了解CPU的这两大架构:ARM和X86。以后出去装X就靠它了!转载 2017-01-13 09:19:39 · 5947 阅读 · 0 评论 -
驱动与固件的区别
参见知乎 链接:https://www.zhihu.com/question/22175660驱动和固件(firmware)都是代码,前者为软件服务,后者为硬件服务。在操作系统概念还不明确的时代,二者是没有明显区别的。但是随着计算机体系结构的发展,硬件的种类开始变多,操作系统的种类也变多了。这个时候,因为各种技术的、商业的原因,硬件厂商希望自己的硬件能被更多的软转载 2017-02-06 15:45:14 · 768 阅读 · 0 评论 -
IP头,TCP头,UDP头,MAC帧头定义
原文地址:http://www.cnblogs.com/li-hao/archive/2011/12/07/2279912.htmlIP头,TCP头,UDP头,MAC帧头定义 一、MAC帧头定义/*数据帧定义,头14个字节,尾4个字节*/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress转载 2016-11-29 13:52:50 · 1283 阅读 · 0 评论