TTc 's share

focus

理解驱动程序(个人理解)

理解驱动程序最重要的一句话是,寄存器是软件控制硬件的唯一途径。所以如何控制显卡,答案就是靠读写显卡提供的寄存器。   通过什么读写呢?据我所知的目前的显卡驱动,基本没有用低效的端口 IO 的方式读写。现在都是通过 MMIO 把寄存器映射的内核地址空间,然后用内存访问指令(也就是一般的 C 语言...

2018-08-30 18:31:47

阅读数:107

评论数:1

CPU 的核心数与线程数量是什么关系?(个人理解)

  1==>  简单点说,处理器核数(包括超线程数)是一种执行资源,资源数量就是核数个数。 2==>  应用程序的线程数就是服务请求数。 3==> 而操作系统的作用是如果用有限的资源来服务好应用程序的请求,这就是进程调度的功能...

2018-08-30 18:28:29

阅读数:1015

评论数:0

计算机字符编码原理 (个人理解)

  没有中介,只有翻译。 就像两个国家人民交流一样,只需要找一个懂两国语言的翻译就可以了。 而所有公认的编码,都是有标准的编码规则,所以在软件世界里,每个翻译都是全球通。 下面是“好”字在UTF-8编码下转换成GBK编码的过程,每个过程都有显示它的存储字节(详见od命令输出):   TT...

2018-08-30 18:27:19

阅读数:94

评论数:0

为什么不使用 cmake 反而使用 Makefile ?

1、使用 cmake 增加学习成本(小项目)2、makefile 这么简单都搞不清楚的脑子,还指望搞得清 cmake ?3、cmake 是解决多个编译器的兼容问题,我又不支持 gcc 之外的编译器。4、关键是解决什么问题?你要给白痴用,用 cmake 还要多敲键盘;你要理解构建过程,cmake 多...

2018-06-26 10:08:13

阅读数:1319

评论数:2

%rbp 寄存器不再有特殊的 帧指针的含义了?

1 ==>  64 位平台下, %ebp 扩展的寄存器 %rbp,只有在 -O0 不优化的编译条件下 ,还具有 帧指针的特殊含义。2 ==> 因为大部分的程序,都加了优化编译选项:-O2,这几乎是普遍的选择。在这种优化级别,甚至更低的优化级别-O1,都已...

2018-06-26 10:07:20

阅读数:409

评论数:0

锁有什么不同?本质是什么?(底层相同,上层逻辑不同)

锁就是锁而已,避免多个线程对同一个共享的数据并发修改带来的数据混乱。锁要解决的大概就只有这 4 个问题:“谁拿到了锁” 这个信息存在哪里(可以是当前 class,当前 instance 的 markword,还可以是某个具体的 Lock 的实例)谁能抢到锁的规则(只能有一个人抢到 - Mutex;...

2018-06-26 10:02:35

阅读数:86

评论数:0

TCP/IP 感悟

计算机网络的数据传输,是由N个离散的数据单元(IP包)组成的,再去回忆关于TCP连接的概念,TCP的面向连接,而数据单元IP包却是离散的,而TCP也是由IP包来承载的,那意味着TCP报文也是离散的,既然是离散的,又谈何连接呢? TCP连接是一种逻辑概念,通信双方通过离散的IP包交互,分享...

2018-01-15 18:34:13

阅读数:111

评论数:0

怎样理解阻塞非阻塞与同步异步的区别?(个人理解)

怎样理解阻塞非阻塞与同步异步的区别?首先这是不同层次的问题……一个网络包从应用程序A发到另一台电脑上的应用程序B,需要经历: 从A的业务代码到A的软件框架 从A的软件框架到计算机的操作系统内核 从A所在计算机的内核到网卡 从网卡经过网线发到交换机等设备,层层转发,到达B所在计算机的网卡 从B所在计...

2017-08-20 02:05:24

阅读数:281

评论数:0

Lua 5.3 源文件加载

Lua 5.3 load加载script 入口luaL_loadfile 宏 提供加载一个 lua 脚本文件的功能。#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) LUALIB_API int luaL_loadfilex (lua_S...

2017-08-20 02:02:39

阅读数:1070

评论数:0

Lua5.3 虚拟机指令分析(十)表相关指令

Lua5.3 虚拟机指令分析(十)表相关指令OP_NEWTABLEOP_NEWTABLE,/* A B C R(A) := {} (size = B,C) */ 创建一个新表,结果存放在A所在的栈位置,表的数组大小为B,表的Hash大小为C. TTcs-Mac-mi...

2017-08-20 01:58:37

阅读数:215

评论数:0

Lua5.3 虚拟机指令分析(八)循环

Lua5.3 虚拟机指令分析(八)循环whileLua 处了 for 循环之外的其它各种循环(while)都使用关系和逻辑指令,配合JMP 指令来完成。TTcs-Mac-mini:OpCode ttc$ cat tOP_WHILE.lua local a = 0; while(a < 1...

2017-08-20 01:57:54

阅读数:211

评论数:0

Lua5.3 虚拟机指令分析(六)不定参数

Lua5.3 虚拟机指令分析(六)不定参数OP_VARARGOP_VARARG,/* A B R(A), R(A+1), ..., R(A+B-2) = vararg */TTcs-Mac-mini:OpCode ttc$ cat tOP_VARARG.lua f1 = fun...

2017-08-20 01:57:12

阅读数:200

评论数:0

Lua5.3 虚拟机指令分析(五)函数调用

Lua5.3 虚拟机指令分析(五)函数调用OP_CLOSUREOP_CLOSURE,/* A Bx R(A) := closure(KPROTO[Bx]) */TTcs-Mac-mini:OpCode ttc$ cat tOP_CLOSURE.lua function f...

2017-08-20 01:56:30

阅读数:215

评论数:0

Lua5.3 虚拟机指令分析(四)分支与跳转

Lua5.3 虚拟机指令分析(四)分支与跳转EQ 、LT、LE、TEST、TESTEST 五个分支指令必须与后面的紧挨的 JMP 指令看做一体。当条件成立时,继续运行;条件不成立时,跳转到指定位置。OP_JMP,/* A sBx pc+=sBx; if (A) close all upva...

2017-08-19 09:10:25

阅读数:213

评论数:0

Lua5.3 虚拟机指令分析(三)表达式运算

Lua5.3 虚拟机指令分析(三)表达式运算二元运算TTcs-Mac-mini:OpCode ttc$ cat tOP_Arith.lua local t = 1 t = t + 1 t = t - 1 t = t * 1 t = t / 1 t = t % 1 t = t ^ 1 t = t ...

2017-08-19 09:08:03

阅读数:156

评论数:0

Lua5.3 虚拟机指令分析(二)赋值指令

Lua5.3 虚拟机指令分析(二)赋值指令Lua VM 是基于寄存器结构实现的,也就是说,每段 Lua  chunk 代码都被翻译为一组对256 个寄存器的操作指令。这有点类似于我们为Lua编写 C 扩展。 C 函数通常是从 lua_State 中取出参数逐个记录在 C 的局部变量中,然后利用C...

2017-08-19 09:06:25

阅读数:210

评论数:0

Lua5.3 虚拟机指令分析(一)概述

Lua5.3 虚拟机指令分析(一)概述概述Lua VM 使用的是 Register based VM。 指令都是在已经分配好的寄存器中存取操作数。 add a b c 将 寄存器 b 与 寄存器 c 中的值相加,结果存在 寄存器 a 中。 标准的三地址指令,每条指令的表达能力很强,...

2017-08-19 09:03:32

阅读数:424

评论数:0

Lua5.3 VM 分析(八)For 循环

Lua5.3 VM 分析(八)For 循环Lua 支持两种 for 循环,一种是 C 语言系 的 数字循环,另外一种支持 迭代器。 stat ::= for Name ‘=’ exp ‘,’ exp [‘,’ exp] do block end for v = e1, e2, e3 ...

2017-08-19 07:45:21

阅读数:420

评论数:0

Lua5.3 VM 分析(七)生成闭包

Lua5.3 VM 分析(七)生成闭包在Lua 中,函数是一等公民。一切代码都是函数,准确的说是闭包。当我们执行一段程序时,其实就是调用一个函数。加载一个库,也是调用一个函数。加载一个Lua 源文件,里面即使定义了很多 Lua 函数,但是 它整体依旧是单个函数。所以,每段完整的字节码都是一个Lua...

2017-08-19 07:44:24

阅读数:211

评论数:0

Lua5.3 VM 分析(四)分支和跳转

Lua5.3 VM 分析(四)分支和跳转Lua VM 定义了 OP_EQ、OP_LT、OP_LE、OP_TEST、OP_TESTSET 五种分支操作。这五个分支指令必须与 之后的 跳转指令 JMP 看做一个整体解释。也就是说:当条件成立时,继续运行;条件不成立时,跳转到指定位置。如果条件成立跳转到...

2017-08-19 07:43:09

阅读数:354

评论数:0

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