摘要:
深入浅出CPU眼中的函数调用过程,最后提供了栈溢出攻击的一种思路。 阅读全文
摘要:
VS code Code Runner 插件配置,更方便地运行C++代码 阅读全文
摘要:
从汇编语言的角度介绍了C++原子操作原理 阅读全文
摘要:
本篇博文讨论了处理器体系结构中的指令集和流水线相关的知识,书中还结合着硬件电路去介绍了指令各个执行阶段的细节,由于时间原因,电路这部分我是略读的;最后的实验在软件层面帮助我巩固了汇编,指令集,以及优化程序的相关知识。 阅读全文
摘要:
本篇博文介绍了现代操作系统中异常的一些概念,我们常见的系统调用其实也是异常的一种,内核会先保存调用者的上下文,进入内核模式,执行系统调用,当执行完毕之后,再去恢复调用者的上下文,继续执行,另外还有中断,陷阱等,这些是操作系统和硬件层面的异常;而对于进程层面的异常,则主要围绕信号这一抽象概念,包括接受信号和处理信号,最后介绍了有关信号安全的知识,还引出了一个如何有效释放进程资源的例子。 阅读全文
摘要:
基于信号的定义介绍如何关闭命令行程序 阅读全文
摘要:
本篇博文介绍了并发编程的相关知识,基于进程的并发,它的缺点主要是进程之间通信的成本过高;基于I/O多路复用的并发,主要缺点是编写困难;而基于线程的并发是最常用的,先是用其扩展了echo服务器,使其能够同时处理多个连接请求,然后再结合生产者消费者模型进行了进一步的拓展。最后介绍了有关线程安全的一些概念。 阅读全文
摘要:
本篇博文介绍了《深入理解计算机系统中》Unix I/O,以及网络编程章节的一些概念,之所以合在一起介绍是因为Unix I/O在网络编程中会用到。同时我们观察到此时的echo服务器统一时刻只能处理一个客户端的连接。下一章的并行编程我们会对echo服务器进行拓展,基于并发的理论使其能够同时处理多个连接。 阅读全文
摘要:
这一章主要介绍了现代操作系统中虚拟内存的概念,先是介绍了虚拟内存的一般概念,这一部分我将在本文第一小节进行一个串联;第二部分介绍了内存映射,并以Linux为例,介绍了fork函数,execve函数的实现细节;第三部分则是介绍了动态内存分配,程序员通过如`malloc`, `new`, `free`, `delete`等语言特定的函数和操作符来控制,重点介绍了动态内存分配器如何维护进程的堆区域。 阅读全文
摘要:
介绍了一款比较好用的Windows下解压软件 阅读全文