赞
踩
程序的生命周期都是从一个源程序开始的,源程序实际上是由0到1的位 (bit) 组成的,8个位组织成一组被称为一个字节 (byte), 每个字节表示程序中的一些文本字符
一个.c程序是以字节序列存储再文件中的,每个字节都有一个整数值,对应于某些字符(ASCII码)只由ASCII码构成的文件是一个文本文件,其他文件都称为二进制文件
.c程序作为一种高级的语言程序在机器上运行时需要被翻译成一些列低级的机器语言,按照可执行目标程序打包,并以二进制磁盘文件储存好。
flowchart LR
hello.c-->A["预处理器(cpp)"]
A--hello.i-->B["编译器(ccl)"]
B--hello.s-->C["编译器(as)"]
C--[hello.o]-->D["链接器(ld)"]
E["printf.o"]--->D
D --> V["可执行目标文件(二进制)"]
使用命令行解释器Shell加载并且运行可执行文件
诞生背景 : 一个典型的寄存器只存储几百字节的信息,而主存可能存储几十亿字节,意味着处理器从寄存器读取数据比从主存中读取数据要快100倍左右,针对这种处理器与主存之间的差异,系统设计者采用了更小更快的储存设备,成为高速缓存存储器(cache memory)作为暂时的集结区域,这本书的一个重要结论即使程序员可以利用高速缓存将程序的性能提升一个数量级
进程是操作系统对正在运行的程序的一种抽象,操作系统通过交错执行的方式管理这些进程(上下文管理 : 系统会保持进程所需要的所有状态信息就是上下文)
进程到另一个进程的转换是由操作系统内核完成的,内核是操作系统中常驻主存的部分,但不是一个独立的进程,它是管理系统中所有的代码的和数据结构的集合
现代操作系统中一个进程通常可以运行在多个线程上,他们共享上下文和数据,而且共享线程的数据操作比共享进程数据更加容易,也更高效
给每个进程提供了一种假象,即每个进程都在独占的使用主存,每个进程看到的内存都是一致的成为虚拟地址空间
按等级概述进程的虚拟地址空间
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。