![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CSAPP
文章平均质量分 91
王行知
越努力越幸运
展开
-
CSAPP学习笔记——Chapter10,11 系统级I/O与网络编程
本篇博文介绍了《深入理解计算机系统中》Unix I/O,以及网络编程章节的一些概念,之所以合在一起介绍是因为Unix I/O在网络编程中会用到。同时我们观察到此时的echo服务器统一时刻只能处理一个客户端的连接。下一章的并行编程我们会对echo服务器进行拓展,基于并发的理论使其能够同时处理多个连接。原创 2024-01-30 17:06:36 · 736 阅读 · 1 评论 -
Linux如何从命令行卡死的进程中退出?
基于信号的定义介绍如何关闭命令行程序原创 2024-01-29 16:07:46 · 834 阅读 · 0 评论 -
CSAPP学习笔记——chapter8 异常控制流
本篇博文介绍了现代操作系统中异常的一些概念,我们常见的系统调用其实也是异常的一种,内核会先保存调用者的上下文,进入内核模式,执行系统调用,当执行完毕之后,再去恢复调用者的上下文,继续执行,另外还有中断,陷阱等,这些是操作系统和硬件层面的异常;而对于进程层面的异常,则主要围绕信号这一抽象概念,包括接受信号和处理信号,最后介绍了有关信号安全的知识,还引出了一个如何有效释放进程资源的例子。原创 2024-01-29 16:20:54 · 797 阅读 · 0 评论 -
CSAPP学习笔记——Chapter12 并行编程
本篇博文介绍了并发编程的相关知识,基于进程的并发,它的缺点主要是进程之间通信的成本过高;基于I/O多路复用的并发,主要缺点是编写困难;而基于线程的并发是最常用的,先是用其扩展了echo服务器,使其能够同时处理多个连接请求,然后再结合生产者消费者模型进行了进一步的拓展。最后介绍了有关线程安全的一些概念。原创 2024-01-28 10:56:26 · 966 阅读 · 0 评论 -
CSAPP学习笔记——chapter9 虚拟内存
这一章主要介绍了现代操作系统中虚拟内存的概念,先是介绍了虚拟内存的一般概念,这一部分我将在本文第一小节进行一个串联;第二部分介绍了内存映射,并以Linux为例,介绍了fork函数,execve函数的实现细节;第三部分则是介绍了动态内存分配,程序员通过如`malloc`, `new`, `free`, `delete`等语言特定的函数和操作符来控制,重点介绍了动态内存分配器如何维护进程的堆区域。原创 2024-01-27 22:41:22 · 894 阅读 · 1 评论