麦门脆脆薯条🍟

CS:APP读书笔记-3-程序的机器级表示

第三章:程序的机器级表示 面对现在的可执行文件,我们千头万绪不知道该怎么去理解它。在Windows上,我们知道双击去运行它;Linux上,我们可以在命令行中通过./file的形式去执行。这一章,我们将会走进程序的机器级表示,来理解代码时如何被转变成CPU可以理解的模式的,我们又是如何来表示我们在源代码中的各种数据,而CPU又是如何访问它们。除此外,我们还将学习到我们常用的流程控制又是如何实...

CS:APP读书笔记-2-信息的表示与处理

第二章:信息的表示与处理 我们的操作系统能力那么大,它又是怎么来表示这些东西呢?每天打开电脑,我们要面对的文本,英文字母,数字,符号,中文和各种风马牛不相及的语言,他们各自的字符加起来成千上万,这些看起来完全不同的东西,如何在计算机内部进行统一的表达?在第一章,我们提到了ASCII这一种编码方式,但是它能表示的仅仅是很小一部分。整数,分数,实数我们又该怎么表示?在这一章,我们会主要学习三种...

CS:APP读书笔记-1-计算机系统漫游

第一章:计算机系统漫游 计算机是一个很庞大的东西,在初次面对的时候难免束手无策,不知从何下手。我们常见的操作系统是Windows,除了它其实还有Linux、Unix、MAC、RTOS这些分类。后续的讲解,将会以Linux1作为目标,但是请放心,虽然名字各不相同,但是它们的基本组成都还是保持着一致,不必担心知识迁移的问题。 文件的表示 我们常说的源代码,其实就是一个文本文件。比如,下面这...

椭圆曲线加密漫谈--如何使用openssl进行ECC加密

最近做一个分析,碰到了采用椭圆曲线的情况,顺路学习一下这种加密方式的用法和基本原理。这里作为记录学习的过程和想法。RSA见得多了,比较熟。ECC见得少,还没有符号,看起来是真的痛苦。 相对于传统的对称加密(DES/AES),非对称加密拥有一个更优的品质,那就是不用传输密钥本身来实现两端的加解密,同时还可以胜任身份认证的过程。本期漫谈,我们会简单的涉及到椭圆曲线的意义和如何使用openssl...

DPDK-初学(18)-ipsec-secgw

终于算忙到了头,可以继续看dpdk了。接着来看这个ipsec-gw,乍一看官网的Sample Guides,这一节基本不涉及怎么组织构建代码的,只给了几个配置文件语法,算了,凑合一样的看。 简介 开篇就提到了没实现Internet Key Exchange (IKE),只提供手动设置安全策略和安全关联,这样也好,我们可以直奔大纲,弯弯绕绕的复杂可以略过。注意这里提到了几个RFC,如果想要...

DPDK-初学(17)-vmdq-forward

VMDq进行L2转发时,将进入流量拆分成多个队列。简单来说,入口的包通过各自的属性,比如MAC地址,VLAN ID来进行分配,划拨到具体的rx队列中去,而这些队列组成一个pool。常见的pool数量有8,16,32,64。 基本流程 前面的差别都不大,基础操作。初始EAL环境,检查可用的lcore,检查可用的ports,建立mbuf_pool,随后开始初始化port。即下方这个port_...

DPDK-初学(13)-link-status-interrupt

mdns 完成了一个icmp ping request的示例,停一下。因为感觉后续的dns协议实际上是应用层的了,完整实现和dpdk的关系不大,还是先回头继续看dpdk。在mdns中用到的一些函数还不是很熟悉,还是得多用才行。不过mdns中用到的文件配置初始化的方法倒是挺有用的,后续可以持续的借鉴。 由于dpdk的各种示例排布比较紧凑,有些库的用法直接在一起,比如l2fwd-ev...