CSAPP
学习《深入理解计算机系统》时留下的笔记
爱写代码的小熊will
这个作者很懒,什么都没留下…
展开
-
CSAPP——系统级I/O的四种基本函数及什么叫输入输出
基本概念首先说明一下,在Linux中一切皆文件。一个应用程序通过要求内核打开相应的文件,来宣告它想访问一个I/O设备。内核返回一个小的非负整数,叫做描述符,它在后续所有对此文件的操作中标识此文件。Linux shell创建的每个进程开始时都有三个文件:标准输入(0)、标准输出(1)、标准错误(2)。因此用户所打开的第一个文件的描述符为3,并且以后的所有文件的描述符都是从3开始的从小到大的整...原创 2019-12-05 22:20:29 · 148 阅读 · 0 评论 -
CSAPP——关于fork()函数的个人总结
一、fork函数的定义与特点定义:在进程控制中,父进程通过调用fork函数来创建子进程。特点:新创建的子进程几乎但不完全与父进程相同。子进程得到与父进程用户级虚拟空间相同的(但是独立的)一本副本,包括代码和数据段、堆、共享库以及用户栈。子进程还获得与父进程任何人打开文件描述符相同的副本,这就意味着当父进程调用fork时,子进程可以读写父进程中打开的任何文件;调用一次fork函数后当前时间...原创 2019-12-05 20:40:51 · 204 阅读 · 0 评论 -
在Linux中将C的源文件转换为可执行文件的详细过程
1、首先在LInux中用文本编辑器编辑两个.c文件并保存,如下图所示其中main.c的源代码为/* main.c *//* $begin main */int sum(int *a, int n);int array[2] = {1, 2};int main() { int val = sum(array, 2); return val;}/* $end ma...原创 2019-12-04 17:34:51 · 1854 阅读 · 1 评论 -
show-bytes程序的运行感悟
/* show-bytes - prints byte representation of data *//* $begin show-bytes */#include <stdio.h>/* $end show-bytes */#include <stdlib.h>#include <string.h>/* $begin show-bytes */...原创 2019-05-31 20:44:02 · 199 阅读 · 0 评论