计算机系统
大作业
题 目 程序人生-Hello’s P2P
专 业 信息安全
学 号 2021112956
班 级 2103202
学 生 张天乐
指 导 教 师 刘宏伟
计算机科学与技能学院
2022年5月
摘 要
本文主要介绍hello程序从创建到消亡的一生,将会描述hello程序如何从原始的hello.c经过预处置处罚、编译、汇编、链接天生可实行文件的全过程,以及计算机系统是如何对hello程序进行进程管理、存储管理和I/O管理的。本文将结互助者本人对计算机系统的理解,书上的知识以及课外的知识等来对hello程序进行分析。通过对hello程序的生命周期的探讨,有助于我们更进一步地了解计算机系统的广博的知识。
关键词:计算机系统;生命周期;hello程序;
(摘要0分,缺失-1分,根据内容精彩称都酌情加分0-1分)
目 录
第1章 概述
1.1 Hello简介
1.2 环境与工具
1.3 中心结果
1.4 本章小结
第2章 预处置处罚
2.1 预处置处罚的概念与作用
2.2在Ubuntu下预处置处罚的命令
2.3 Hello的预处置处罚结果解析
2.4 本章小结
第3章 编译
3.1 编译的概念与作用
3.2 在Ubuntu下编译的命令
3.3 Hello的编译结果解析
3.4 本章小结
第4章 汇编
4.1 汇编的概念与作用
4.2 在Ubuntu下汇编的命令
4.3 可重定位目标elf格式
4.4 Hello.o的结果解析
4.5 本章小结
第5章 链接
5.1 链接的概念与作用
5.2 在Ubuntu下链接的命令
5.3 可实行目标文件hello的格式
5.4 hello的虚拟地点空间
5.5 链接的重定位过程分析
5.6 hello的实行流程
5.7 Hello的动态链接分析
5.8 本章小结
第6章 hello进程管理
6.1 进程的概念与作用
6.2 简述壳Shell-bash的作用与处置处罚流程
6.3 Hello的fork进程创建过程
6.4 Hello的execve过程
6.5 Hello的进程实行
6.6 hello的异常与信号处置处罚
6.7本章小结
第7章 hello的存储管理
7.1 hello的存储器地点空间
7.2 Intel逻辑地点到线性地点的变换-段式管理
7.3 Hello的线性地点到物理地点的变换-页式管理
7.4 TLB与四级页表支持下的VA到PA的变换
7.5 三级Cache支持下的物理内存访问
7.6 hello进程fork时的内存映射
7.7 hello进程execve时的内存映射
7.8 缺页故障与缺页中断处置处罚
7.9动态存储分配管理
7.10本章小结
第8章 hello的IO管理
8.1 Linux的IO设备管理方法
8.2 简述Unix IO接口及其函数
8.3 printf的实现分析
8.4 getchar的实现分析
8.5本章小结
结论
附件
参考文献
第1章 概述
1.1 Hello简介
根据Hello的自白,使用计算机系统的术语,简述Hello的P2P,020的整个过程。
P2P(From Program to Process):
预处置处罚阶段:程序的生命周期从一个高级C语言程序开始。在预处置处罚阶段,预处置处罚器cpp根据以字符#开头的命令,对原始的C程序进行处置处罚。这些命令可以包括宏定义、条件编译指令等。预处置处罚器将根据这些命令修改原始的C程序,并天生一个新的中心文件,通常被称为hello.i。
编译阶段:在编译阶段,编译器cc1将文本文件hello.i作为输入,将其翻译成另一个文本文件hello.s。这个过程中,编译器将C语言代码转换成汇编语言代码。汇编语言是与具体计算机体系结构相干的低级语言。
汇编阶段:在汇编阶段,汇编器as将hello.s作为输入,将其翻译成呆板语言指令。汇编器将汇编语言代码转换为呆板可实行的指令序列。这些指令是计算机可以直接实行的低级指令。
链接阶段:链接阶段是将多个目标文件组合在一起以创建终极的可实行程序的过程。链接器将汇编阶段天生的目标文件hello.o与预编译好的库函数目标文件合并。链接器办理了差别目标文件之间的符号引用和重定位等问题,天生终极的可实行目标文件,通常被命名为hello。
运行阶段:在运行时,shell(命令行解释器)会创建一个子进程,并加载可实行目标文件hello。子进程由操作系统实行,并开始实行hello程序的指令。
020(From Zero-0 to Zero):
在hello程序实行之前,它是一个存储在硬盘上的可实行目标程序。当用户选择运行该程序时,shell会创建一个子进程,并使用fork函数复制父进程的私有地点空间。接着,execve函数会扫除子进程继承的私有地点空间内容,并建立虚拟地点空间与硬盘上可实行文件的映射。同时,设置子进程的指令指针(RIP)为程序入口处的地点。操作系统在调度该进程时,若出现缺页故障,会将硬盘上相应的页面加载到物理内存中,从而开始实行程序的指令。在程序实行过程中,还会进行信号处置处罚、上下文切换等操作。操作系统会分配CPU时间片来实行hello程序的逻辑控制流。实行结束后,父进程会接纳子进程,删除内核中子进程的所有内容,释放相干资源。
1.2 环境与工具
硬件环境:X64 CPU;2GHz;2G RAM;256GHD Disk 以上
软件环境:Windows7/10 64 位以上;VirtualBox/Vmware 11 以上;Ubuntu 16.04
LTS 64 位/优麒麟 64 位 以上。
开发与调试⼯具 :Visual Studio 2010 64 位 以 上 ;CodeBlocks 64 位 ;vi/vim/gedit+gcc。
1.3 中心结果
1.4 本章小结
本章介绍了 Hello 的 P2P,020 的过程,作者本⼈编写报告时的环境和开发⼯具, 分析了 hello ⽣命周期时产⽣的各个中心⽂件。
(第1章0.5分)
第2章 预处置处罚
2.1 预处置处罚的概念与作用
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |