![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机系统基础
天涯人2123
这个作者很懒,什么都没留下…
展开
-
系统I/O
共享文件 内核使用三个相关的数据结构来表示打开的文件 1.描述符表:每个进程都有独立的描述符表。他的表项是由进程打开的文件描述符索引的,每个打开的文件描述符指向文件表当中的一项。 2.文件表:打开的文件集合是由一张文件表来表示的所有的进程共享这张表。每个文件表的表项的组成:当前文件的位置,引用计数,一个指向v-node表中对应表项的指针。关闭一个描述符会减少相应文件表表项当中的引用计数,直到这个引...原创 2019-12-08 16:39:27 · 88 阅读 · 0 评论 -
可重定位目标文件
从源代码到可执行目标文件要经过以下几个步骤: 源代码-->预处理-->编译-->优化-->汇编-->链接–>可执行文件 Source–(编译)–> Assembly–(汇编)–>Obj–(链接)–>PE/ELF 1.编译预处理 读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理 [析] 伪指令主要包括以下四个方面 (1)宏定义指令...原创 2019-12-08 16:32:47 · 1180 阅读 · 0 评论 -
Csapp之fork()函数
fork()定义: pid_t fork( void); (pid_t 是一个宏定义,其实质是int 被定义在#include<sys/types.h>中) 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1 一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次...原创 2019-12-08 16:13:02 · 174 阅读 · 0 评论 -
计算机系统基础作业
计算机系统基础 本学期我们主要学习了: 1.数据的表示和存储 2.运算电路基础 3.乘除运算及浮点数运算 4.IA32指令系统概述 5.IA32指令类型 6.C语言的语句的机器级表示 那么我们来回忆并总结一下本学期的主要内容,主要以代码运行的方式进行: 一、汇编代码的生成以及初步互译 /* Demonstration of buffer overflow */ #include <stdio...原创 2019-05-26 19:16:16 · 695 阅读 · 0 评论