哈工大计算机系统大作业

 

 

 

计算机系统

 

大作业

 

 

题 目 程序人生-Hello's P2P    

 

 

 

 

 

 

计算机科学与技术学院

2021年5月

摘 要

本文通过一个简单hello程序的运行,分析了在Linux 下x86-64系统的环境下,一个程序的完整运行过程。着重研究了程序的预处理,编译,汇编,链接过程,分析了系统在程序运行时的进程管理,存储管理,IO管理。

 

关键词:计算机系统,gcc,编译,汇编,链接,进程,异常,信号,虚拟内存,Linux X86

 

 

 

 

 

 

 

 

 

 

目 录

 

第1章概述    - 1 -

1.1 Hello简介    - 1 -

1.1.1 P2P    - 1 -

1.1.2 O2O    - 1 -

1.2 环境与工具    - 1 -

1.3 中间结果    - 1 -

1.4 本章小结    - 1 -

第2章预处理    - 1 -

2.1 预处理的概念与作用    - 1 -

2.2在Ubuntu下预处理的命令    - 1 -

2.3 Hello的预处理结果解析    - 1 -

2.4 本章小结    - 1 -

第3章编译    - 1 -

3.1 编译的概念与作用    - 1 -

3.2 在Ubuntu下编译的命令    - 1 -

3.3 Hello的编译结果解析    - 1 -

3.3.1 伪指令    - 1 -

3.3.2 rodata节数据    - 1 -

3.3.3 局部变量    - 1 -

3.3.4 赋值操作    - 1 -

3.3.5 算术运算    - 1 -

3.3.6 关系运算    - 1 -

3.3.7 数组运算    - 1 -

3.3.8 控制转移    - 1 -

3.3.9 函数操作    - 1 -

3.4 本章小结    - 1 -

第4章汇编    - 1 -

4.1 汇编的概念与作用    - 1 -

4.2 在Ubuntu下汇编的命令    - 1 -

4.3 可重定位目标elf格式    - 1 -

4.4 Hello.o的结果解析    - 1 -

4.5 本章小结    - 1 -

第5章链接    - 1 -

5.1 链接的概念与作用    - 1 -

5.2 在Ubuntu下链接的命令    - 1 -

5.3 可执行目标文件hello的格式    - 1 -

5.4 hello的虚拟地址空间    - 1 -

5.5 链接的重定位过程分析    - 1 -

5.6 hello的执行流程    - 1 -

5.7 Hello的动态链接分析    - 1 -

5.8 本章小结    - 1 -

第6章 hello进程管理    - 1 -

6.1 进程的概念与作用    - 1 -

6.2 简述壳Shell-bash的作用与处理流程    - 1 -

6.3 Hello的fork进程创建过程    - 1 -

6.4 Hello的execve过程    - 1 -

6.5 Hello的进程执行    - 1 -

6.6 hello的异常与信号处理    - 1 -

6.6.1 异常    - 1 -

hello 运行过程中的异常与信号处理    - 1 -

6.7本章小结    - 1 -

第7章 hello的存储管理    - 1 -

7.1 hello的存储器地址空间    - 1 -

7.2 Intel逻辑地址到线性地址的变换-段式管理    - 1 -

7.3 Hello的线性地址到物理地址的变换-页式管理    - 1 -

7.4 TLB与四级页表支持下的VA到PA的变换    - 1 -

7.5 三级Cache支持下的物理内存访问    - 1 -

7.6 hello进程fork时的内存映射    - 1 -

7.7 hello进程execve时的内存映射    - 1 -

7.8 缺页故障与缺页中断处理    - 1 -

7.9动态存储分配管理    - 1 -

7.9.1 隐式空闲链表    - 1 -

7.9.2 带边界标记的合并    - 1 -

7.9.3 显式空闲链表    - 1 -

7.9.4 分离的空闲链表    - 1 -

7.10本章小结    - 1 -

第8章 hello的IO管理    - 1 -

8.1 Linux的IO设备管理方法    - 1 -

8.2 简述Unix IO接口及其函数    - 1 -

8.2.1 接口    - 1 -

8.2.2 函数    - 1 -

8.3 printf的实现分析    - 1 -

8.4 getchar的实现分析    - 1 -

8.5本章小结    - 1 -

结论    - 1 -

附件    - 1 -

参考文献    - 1 -

 

 

第1章 概述

1.1 Hello简介

1.1.1 P2P

hello.c经

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值